var erformsFrmlEngine={};(function(){function Rule(name,symbols,postprocess){this.id=++Rule.highestId;this.name=name;this.symbols=symbols;this.postprocess=postprocess;return this;} Rule.highestId=0;Rule.prototype.toString=function(withCursorAt){function symbolToString(e){return e.literal?JSON.stringify(e.literal):e.type?'%'+e.type:e.toString();} var symbolSequence=typeof withCursorAt==='undefined'?this.symbols.map(symbolToString).join(' '):this.symbols.slice(0,withCursorAt).map(symbolToString).join(' ')+' ● '+ this.symbols.slice(withCursorAt).map(symbolToString).join(' ');return this.name+' → '+symbolSequence;};function State(rule,dot,reference,wantedBy){this.rule=rule;this.dot=dot;this.reference=reference;this.data=[];this.wantedBy=wantedBy;this.isComplete=this.dot===rule.symbols.length;} State.prototype.toString=function(){return'{'+this.rule.toString(this.dot)+'}, from: '+(this.reference||0);};State.prototype.nextState=function(child){var state=new State(this.rule,this.dot+1,this.reference,this.wantedBy);state.left=this;state.right=child;if(state.isComplete){state.data=state.build();} return state;};State.prototype.build=function(){var children=[];var node=this;do{children.push(node.right.data);node=node.left;}while(node.left);children.reverse();return children;};State.prototype.finish=function(){if(this.rule.postprocess){this.data=this.rule.postprocess(this.data,this.reference,Parser.fail);}};function Column(grammar,index){this.grammar=grammar;this.index=index;this.states=[];this.wants={};this.scannable=[];this.completed={};} Column.prototype.process=function(nextColumn){var states=this.states;var wants=this.wants;var completed=this.completed;for(var w=0;w"},"_","ExpSum"],"postprocess":function(d){return function(ele){return EXPRESSIONS.COMPARE('>',ele,d[2]);}}},{"name":"DeferedExpComparison$string$1","symbols":[{"literal":"<"},{"literal":"="}],"postprocess":function joiner(d){return d.join('');}},{"name":"DeferedExpComparison","symbols":["DeferedExpComparison$string$1","_","ExpSum"],"postprocess":function(d){return function(ele){return EXPRESSIONS.COMPARE('<=',ele,d[2]);}}},{"name":"DeferedExpComparison$string$2","symbols":[{"literal":">"},{"literal":"="}],"postprocess":function joiner(d){return d.join('');}},{"name":"DeferedExpComparison","symbols":["DeferedExpComparison$string$2","_","ExpSum"],"postprocess":function(d){return function(ele){return EXPRESSIONS.COMPARE('>=',ele,d[2]);}}},{"name":"DeferedExpComparison$string$3","symbols":[{"literal":"="},{"literal":"="}],"postprocess":function joiner(d){return d.join('');}},{"name":"DeferedExpComparison","symbols":["DeferedExpComparison$string$3","_","ExpSum"],"postprocess":function(d){return function(ele){return EXPRESSIONS.EQUALS(ele,d[2]);}}},{"name":"DeferedExpComparison$string$4","symbols":[{"literal":"!"},{"literal":"="}],"postprocess":function joiner(d){return d.join('');}},{"name":"DeferedExpComparison","symbols":["DeferedExpComparison$string$4","_","ExpSum"],"postprocess":function(d){return function(ele){return EXPRESSIONS.NOTEQUALS(ele,d[2]);}}},{"name":"DeferedExpComparison$string$5","symbols":[{"literal":"<"},{"literal":">"}],"postprocess":function joiner(d){return d.join('');}},{"name":"DeferedExpComparison","symbols":["DeferedExpComparison$string$5","_","ExpSum"],"postprocess":function(d){return function(ele){return EXPRESSIONS.NOTEQUALS(ele,d[2]);}}},{"name":"DeferedExpComparison","symbols":[{"literal":"="},"_","ExpSum"],"postprocess":function(d){return function(ele){return EXPRESSIONS.EQUALS(ele,d[2]);}}},{"name":"ExpComparison","symbols":["ExpComparison","_",{"literal":"<"},"_","ExpSum"],"postprocess":function(d){return EXPRESSIONS.COMPARE('<',d[0],d[4]);}},{"name":"ExpComparison","symbols":["ExpComparison","_",{"literal":">"},"_","ExpSum"],"postprocess":function(d){return EXPRESSIONS.COMPARE('>',d[0],d[4]);}},{"name":"ExpComparison$string$1","symbols":[{"literal":"<"},{"literal":"="}],"postprocess":function joiner(d){return d.join('');}},{"name":"ExpComparison","symbols":["ExpComparison","_","ExpComparison$string$1","_","ExpSum"],"postprocess":function(d){return EXPRESSIONS.COMPARE('<=',d[0],d[4]);}},{"name":"ExpComparison$string$2","symbols":[{"literal":">"},{"literal":"="}],"postprocess":function joiner(d){return d.join('');}},{"name":"ExpComparison","symbols":["ExpComparison","_","ExpComparison$string$2","_","ExpSum"],"postprocess":function(d){return EXPRESSIONS.COMPARE('>=',d[0],d[4]);}},{"name":"ExpComparison$string$3","symbols":[{"literal":"="},{"literal":"="}],"postprocess":function joiner(d){return d.join('');}},{"name":"ExpComparison","symbols":["ExpComparison","_","ExpComparison$string$3","_","ExpSum"],"postprocess":function(d){return EXPRESSIONS.EQUALS(d[0],d[4]);}},{"name":"ExpComparison$string$4","symbols":[{"literal":"!"},{"literal":"="}],"postprocess":function joiner(d){return d.join('');}},{"name":"ExpComparison","symbols":["ExpComparison","_","ExpComparison$string$4","_","ExpSum"],"postprocess":function(d){return EXPRESSIONS.NOTEQUALS(d[0],d[4]);}},{"name":"ExpComparison$string$5","symbols":[{"literal":"<"},{"literal":">"}],"postprocess":function joiner(d){return d.join('');}},{"name":"ExpComparison","symbols":["ExpComparison","_","ExpComparison$string$5","_","ExpSum"],"postprocess":function(d){return EXPRESSIONS.NOTEQUALS(d[0],d[4]);}},{"name":"ExpComparison","symbols":["ExpComparison","_",{"literal":"="},"_","ExpSum"],"postprocess":function(d){return EXPRESSIONS.EQUALS(d[0],d[4]);}},{"name":"ExpComparison","symbols":["ExpSum"],"postprocess":id},{"name":"ExpSum","symbols":["ExpSum","_",{"literal":"+"},"_","ExpProduct"],"postprocess":function(d){return d[0]+d[4];}},{"name":"ExpSum","symbols":["ExpSum","_",{"literal":"-"},"_","ExpProduct"],"postprocess":function(d){return d[0]-d[4];}},{"name":"ExpSum","symbols":["ExpProduct"],"postprocess":id},{"name":"ExpProduct","symbols":["ExpProduct","_",{"literal":"*"},"_","ExpUnary"],"postprocess":function(d){return d[0]*d[4];}},{"name":"ExpProduct","symbols":["ExpProduct","_",{"literal":"/"},"_","ExpUnary"],"postprocess":function(d){return d[0]/d[4];}},{"name":"ExpProduct","symbols":["ExpProduct","_",{"literal":"%"},"_","ExpUnary"],"postprocess":function(d){return d[0]%d[4];}},{"name":"ExpProduct","symbols":["ExpUnary"],"postprocess":id},{"name":"ExpUnary","symbols":[{"literal":"!"},"_","ExpPow"],"postprocess":function(d){return!d[2];}},{"name":"ExpUnary","symbols":["ExpPow"],"postprocess":id},{"name":"ExpPow","symbols":["Atom"],"postprocess":id},{"name":"ExpPow","symbols":["Atom","_",{"literal":"^"},"_","ExpPow"],"postprocess":function(d){return EXPRESSIONS.POW(d[0],d[4]);}},{"name":"Atom","symbols":["NULL"],"postprocess":id},{"name":"Atom","symbols":["B"],"postprocess":id},{"name":"Atom","symbols":["Number"],"postprocess":id},{"name":"Atom","symbols":["Token"],"postprocess":id},{"name":"Atom","symbols":["String"],"postprocess":id},{"name":"Atom","symbols":["Parenthesized"],"postprocess":id},{"name":"Atom","symbols":["Array"],"postprocess":id},{"name":"Atom","symbols":["JSFnCall"],"postprocess":id},{"name":"NULL$string$1","symbols":[{"literal":"N"},{"literal":"U"},{"literal":"L"},{"literal":"L"}],"postprocess":function joiner(d){return d.join('');}},{"name":"NULL","symbols":["NULL$string$1"],"postprocess":function(d){return null;}},{"name":"NULL$string$2","symbols":[{"literal":"n"},{"literal":"u"},{"literal":"l"},{"literal":"l"}],"postprocess":function joiner(d){return d.join('');}},{"name":"NULL","symbols":["NULL$string$2"],"postprocess":function(d){return null;}},{"name":"NULL$string$3","symbols":[{"literal":"u"},{"literal":"n"},{"literal":"d"},{"literal":"e"},{"literal":"f"},{"literal":"i"},{"literal":"n"},{"literal":"e"},{"literal":"d"}],"postprocess":function joiner(d){return d.join('');}},{"name":"NULL","symbols":["NULL$string$3"],"postprocess":function(d){return undefined;}},{"name":"B$string$1","symbols":[{"literal":"t"},{"literal":"r"},{"literal":"u"},{"literal":"e"}],"postprocess":function joiner(d){return d.join('');}},{"name":"B","symbols":["B$string$1"],"postprocess":function(d){return true;}},{"name":"B$string$2","symbols":[{"literal":"f"},{"literal":"a"},{"literal":"l"},{"literal":"s"},{"literal":"e"}],"postprocess":function joiner(d){return d.join('');}},{"name":"B","symbols":["B$string$2"],"postprocess":function(d){return false;}},{"name":"B$subexpression$1","symbols":[/[uU]/,/[pP]/,/[pP]/,/[eE]/,/[rR]/],"postprocess":function(d){return d.join("");}},{"name":"B","symbols":["B$subexpression$1"],"postprocess":function(d){return EXPRESSIONS.UPPER;}},{"name":"B$subexpression$2","symbols":[/[lL]/,/[oO]/,/[wW]/,/[eE]/,/[rR]/],"postprocess":function(d){return d.join("");}},{"name":"B","symbols":["B$subexpression$2"],"postprocess":function(d){return EXPRESSIONS.LOWER;}},{"name":"B$subexpression$3","symbols":[/[sS]/,/[eE]/,/[nN]/,/[tT]/,/[eE]/,/[nN]/,/[cC]/,/[eE]/],"postprocess":function(d){return d.join("");}},{"name":"B","symbols":["B$subexpression$3"],"postprocess":function(d){return EXPRESSIONS.SENTENCE;}},{"name":"B$subexpression$4","symbols":[/[tT]/,/[iI]/,/[tT]/,/[lL]/,/[eE]/],"postprocess":function(d){return d.join("");}},{"name":"B","symbols":["B$subexpression$4"],"postprocess":function(d){return EXPRESSIONS.TITLE;}},{"name":"unsigned_int$ebnf$1","symbols":[/[0-9]/]},{"name":"unsigned_int$ebnf$1","symbols":["unsigned_int$ebnf$1",/[0-9]/],"postprocess":function arrpush(d){return d[0].concat([d[1]]);}},{"name":"unsigned_int","symbols":["unsigned_int$ebnf$1"],"postprocess":function(d){return parseInt(d[0].join(""));}},{"name":"int$ebnf$1$subexpression$1","symbols":[{"literal":"-"}]},{"name":"int$ebnf$1$subexpression$1","symbols":[{"literal":"+"}]},{"name":"int$ebnf$1","symbols":["int$ebnf$1$subexpression$1"],"postprocess":id},{"name":"int$ebnf$1","symbols":[],"postprocess":function(d){return null;}},{"name":"int$ebnf$2","symbols":[/[0-9]/]},{"name":"int$ebnf$2","symbols":["int$ebnf$2",/[0-9]/],"postprocess":function arrpush(d){return d[0].concat([d[1]]);}},{"name":"int","symbols":["int$ebnf$1","int$ebnf$2"],"postprocess":function(d){if(d[0]){return parseInt(d[0][0]+d[1].join(""));}else{return parseInt(d[1].join(""));}}},{"name":"unsigned_decimal$ebnf$1","symbols":[/[0-9]/]},{"name":"unsigned_decimal$ebnf$1","symbols":["unsigned_decimal$ebnf$1",/[0-9]/],"postprocess":function arrpush(d){return d[0].concat([d[1]]);}},{"name":"unsigned_decimal$ebnf$2$subexpression$1$ebnf$1","symbols":[/[0-9]/]},{"name":"unsigned_decimal$ebnf$2$subexpression$1$ebnf$1","symbols":["unsigned_decimal$ebnf$2$subexpression$1$ebnf$1",/[0-9]/],"postprocess":function arrpush(d){return d[0].concat([d[1]]);}},{"name":"unsigned_decimal$ebnf$2$subexpression$1","symbols":[{"literal":"."},"unsigned_decimal$ebnf$2$subexpression$1$ebnf$1"]},{"name":"unsigned_decimal$ebnf$2","symbols":["unsigned_decimal$ebnf$2$subexpression$1"],"postprocess":id},{"name":"unsigned_decimal$ebnf$2","symbols":[],"postprocess":function(d){return null;}},{"name":"unsigned_decimal","symbols":["unsigned_decimal$ebnf$1","unsigned_decimal$ebnf$2"],"postprocess":function(d){return parseFloat(d[0].join("")+ (d[1]?"."+d[1][1].join(""):""));}},{"name":"decimal$ebnf$1","symbols":[{"literal":"-"}],"postprocess":id},{"name":"decimal$ebnf$1","symbols":[],"postprocess":function(d){return null;}},{"name":"decimal$ebnf$2","symbols":[/[0-9]/]},{"name":"decimal$ebnf$2","symbols":["decimal$ebnf$2",/[0-9]/],"postprocess":function arrpush(d){return d[0].concat([d[1]]);}},{"name":"decimal$ebnf$3$subexpression$1$ebnf$1","symbols":[/[0-9]/]},{"name":"decimal$ebnf$3$subexpression$1$ebnf$1","symbols":["decimal$ebnf$3$subexpression$1$ebnf$1",/[0-9]/],"postprocess":function arrpush(d){return d[0].concat([d[1]]);}},{"name":"decimal$ebnf$3$subexpression$1","symbols":[{"literal":"."},"decimal$ebnf$3$subexpression$1$ebnf$1"]},{"name":"decimal$ebnf$3","symbols":["decimal$ebnf$3$subexpression$1"],"postprocess":id},{"name":"decimal$ebnf$3","symbols":[],"postprocess":function(d){return null;}},{"name":"decimal","symbols":["decimal$ebnf$1","decimal$ebnf$2","decimal$ebnf$3"],"postprocess":function(d){return parseFloat((d[0]||"")+ d[1].join("")+ (d[2]?"."+d[2][1].join(""):""));}},{"name":"percentage","symbols":["decimal",{"literal":"%"}],"postprocess":function(d){return d[0]/100;}},{"name":"jsonfloat$ebnf$1","symbols":[{"literal":"-"}],"postprocess":id},{"name":"jsonfloat$ebnf$1","symbols":[],"postprocess":function(d){return null;}},{"name":"jsonfloat$ebnf$2","symbols":[/[0-9]/]},{"name":"jsonfloat$ebnf$2","symbols":["jsonfloat$ebnf$2",/[0-9]/],"postprocess":function arrpush(d){return d[0].concat([d[1]]);}},{"name":"jsonfloat$ebnf$3$subexpression$1$ebnf$1","symbols":[/[0-9]/]},{"name":"jsonfloat$ebnf$3$subexpression$1$ebnf$1","symbols":["jsonfloat$ebnf$3$subexpression$1$ebnf$1",/[0-9]/],"postprocess":function arrpush(d){return d[0].concat([d[1]]);}},{"name":"jsonfloat$ebnf$3$subexpression$1","symbols":[{"literal":"."},"jsonfloat$ebnf$3$subexpression$1$ebnf$1"]},{"name":"jsonfloat$ebnf$3","symbols":["jsonfloat$ebnf$3$subexpression$1"],"postprocess":id},{"name":"jsonfloat$ebnf$3","symbols":[],"postprocess":function(d){return null;}},{"name":"jsonfloat$ebnf$4$subexpression$1$ebnf$1","symbols":[/[+-]/],"postprocess":id},{"name":"jsonfloat$ebnf$4$subexpression$1$ebnf$1","symbols":[],"postprocess":function(d){return null;}},{"name":"jsonfloat$ebnf$4$subexpression$1$ebnf$2","symbols":[/[0-9]/]},{"name":"jsonfloat$ebnf$4$subexpression$1$ebnf$2","symbols":["jsonfloat$ebnf$4$subexpression$1$ebnf$2",/[0-9]/],"postprocess":function arrpush(d){return d[0].concat([d[1]]);}},{"name":"jsonfloat$ebnf$4$subexpression$1","symbols":[/[eE]/,"jsonfloat$ebnf$4$subexpression$1$ebnf$1","jsonfloat$ebnf$4$subexpression$1$ebnf$2"]},{"name":"jsonfloat$ebnf$4","symbols":["jsonfloat$ebnf$4$subexpression$1"],"postprocess":id},{"name":"jsonfloat$ebnf$4","symbols":[],"postprocess":function(d){return null;}},{"name":"jsonfloat","symbols":["jsonfloat$ebnf$1","jsonfloat$ebnf$2","jsonfloat$ebnf$3","jsonfloat$ebnf$4"],"postprocess":function(d){return parseFloat((d[0]||"")+ d[1].join("")+ (d[2]?"."+d[2][1].join(""):"")+ (d[3]?"e"+(d[3][1]||"+")+d[3][2].join(""):""));}},{"name":"Number$ebnf$1","symbols":[]},{"name":"Number$ebnf$1","symbols":["Number$ebnf$1",/[0-9]/],"postprocess":function arrpush(d){return d[0].concat([d[1]]);}},{"name":"Number","symbols":[{"literal":"."},"Number$ebnf$1"],"postprocess":function(d){return parseFloat('0.'+d[1].join(""),10);}},{"name":"Number","symbols":["jsonfloat"],"postprocess":id},{"name":"dqstring$ebnf$1","symbols":[]},{"name":"dqstring$ebnf$1","symbols":["dqstring$ebnf$1","dstrchar"],"postprocess":function arrpush(d){return d[0].concat([d[1]]);}},{"name":"dqstring","symbols":[{"literal":"\""},"dqstring$ebnf$1",{"literal":"\""}],"postprocess":function(d){return d[1].join("");}},{"name":"sqstring$ebnf$1","symbols":[]},{"name":"sqstring$ebnf$1","symbols":["sqstring$ebnf$1","sstrchar"],"postprocess":function arrpush(d){return d[0].concat([d[1]]);}},{"name":"sqstring","symbols":[{"literal":"'"},"sqstring$ebnf$1",{"literal":"'"}],"postprocess":function(d){return d[1].join("");}},{"name":"btstring$ebnf$1","symbols":[]},{"name":"btstring$ebnf$1","symbols":["btstring$ebnf$1",/[^`]/],"postprocess":function arrpush(d){return d[0].concat([d[1]]);}},{"name":"btstring","symbols":[{"literal":"`"},"btstring$ebnf$1",{"literal":"`"}],"postprocess":function(d){return d[1].join("");}},{"name":"dstrchar","symbols":[/[^\\"\n]/],"postprocess":id},{"name":"dstrchar","symbols":[{"literal":"\\"},"strescape"],"postprocess":function(d){return JSON.parse("\""+d.join("")+"\"");}},{"name":"sstrchar","symbols":[/[^\\'\n]/],"postprocess":id},{"name":"sstrchar","symbols":[{"literal":"\\"},"strescape"],"postprocess":function(d){return JSON.parse("\""+d.join("")+"\"");}},{"name":"sstrchar$string$1","symbols":[{"literal":"\\"},{"literal":"'"}],"postprocess":function joiner(d){return d.join('');}},{"name":"sstrchar","symbols":["sstrchar$string$1"],"postprocess":function(d){return"'";}},{"name":"strescape","symbols":[/["\\\/bfnrt]/],"postprocess":id},{"name":"strescape","symbols":[{"literal":"u"},/[a-fA-F0-9]/,/[a-fA-F0-9]/,/[a-fA-F0-9]/,/[a-fA-F0-9]/],"postprocess":function(d){return d.join("");}},{"name":"String$ebnf$1","symbols":[]},{"name":"String$ebnf$1","symbols":["String$ebnf$1","dstrchar"],"postprocess":function arrpush(d){return d[0].concat([d[1]]);}},{"name":"String","symbols":[{"literal":"\""},"String$ebnf$1",{"literal":"\""}],"postprocess":function(d){return parseTokensInString(d[1].join(""));}},{"name":"String$ebnf$2","symbols":[]},{"name":"String$ebnf$2","symbols":["String$ebnf$2","sstrchar"],"postprocess":function arrpush(d){return d[0].concat([d[1]]);}},{"name":"String","symbols":[{"literal":"'"},"String$ebnf$2",{"literal":"'"}],"postprocess":function(d){return parseTokensInString(d[1].join(""));}},{"name":"Token$ebnf$1","symbols":[]},{"name":"Token$ebnf$1","symbols":["Token$ebnf$1",/[a-zA-Z0-9|:\/\(\)\-\?_\. ]/],"postprocess":function arrpush(d){return d[0].concat([d[1]]);}},{"name":"Token","symbols":[{"literal":"%"},"Token$ebnf$1",{"literal":"%"}],"postprocess":function(d){return resolveToken(d[1].join(""));}},{"name":"_$ebnf$1","symbols":[]},{"name":"_$ebnf$1","symbols":["_$ebnf$1","wschar"],"postprocess":function arrpush(d){return d[0].concat([d[1]]);}},{"name":"_","symbols":["_$ebnf$1"],"postprocess":function(d){return null;}},{"name":"__$ebnf$1","symbols":["wschar"]},{"name":"__$ebnf$1","symbols":["__$ebnf$1","wschar"],"postprocess":function arrpush(d){return d[0].concat([d[1]]);}},{"name":"__","symbols":["__$ebnf$1"],"postprocess":function(d){return null;}},{"name":"wschar","symbols":[/[ \t\n\v\f]/],"postprocess":id}];let ParserStart="main";var SECONDS_A_MINUTE=60;var SECONDS_A_HOUR=SECONDS_A_MINUTE*60;var SECONDS_A_DAY=SECONDS_A_HOUR*24;var SECONDS_A_WEEK=SECONDS_A_DAY*7;var MILLISECONDS_A_SECOND=1e3;var MILLISECONDS_A_MINUTE=SECONDS_A_MINUTE*MILLISECONDS_A_SECOND;var MILLISECONDS_A_HOUR=SECONDS_A_HOUR*MILLISECONDS_A_SECOND;var MILLISECONDS_A_DAY=SECONDS_A_DAY*MILLISECONDS_A_SECOND;var MILLISECONDS_A_WEEK=SECONDS_A_WEEK*MILLISECONDS_A_SECOND;var MS='millisecond';var S='second';var MIN='minute';var H='hour';var D='day';var W='week';var M='month';var Q='quarter';var Y='year';var DATE='date';var FORMAT_DEFAULT='YYYY-MM-DDTHH:mm:ssZ';var INVALID_DATE_STRING='Invalid Date';var REGEX_PARSE=/^(\d{4})-?(\d{1,2})-?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?.?(\d{1,3})?$/;var REGEX_FORMAT=/\[([^\]]+)]|Y{2,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g;var padStart=function padStart(string,length,pad){var s=String(string);if(!s||s.length>=length)return string;return""+Array(length+1-s.length).join(pad)+string;};var padZoneStr=function padZoneStr(instance){var negMinuts=-instance.utcOffset();var minutes=Math.abs(negMinuts);var hourOffset=Math.floor(minutes/60);var minuteOffset=minutes%60;return""+(negMinuts<=0?'+':'-')+padStart(hourOffset,2,'0')+":"+padStart(minuteOffset,2,'0');};var monthDiff=function monthDiff(a,b){var wholeMonthDiff=(b.year()-a.year())*12+(b.month()-a.month());var anchor=a.clone().add(wholeMonthDiff,M);var c=b-anchor<0;var anchor2=a.clone().add(wholeMonthDiff+(c?-1:1),M);return Number(-(wholeMonthDiff+(b-anchor)/(c?anchor-anchor2:anchor2-anchor))||0);};var absFloor=function absFloor(n){return n<0?Math.ceil(n)||0:Math.floor(n);};var prettyUnit=function prettyUnit(u){var special={M:M,y:Y,w:W,d:D,h:H,m:MIN,s:S,ms:MS,Q:Q};return special[u]||String(u||'').toLowerCase().replace(/s$/,'');};var isUndefined=function isUndefined(s){return s===undefined;};var U={s:padStart,z:padZoneStr,m:monthDiff,a:absFloor,p:prettyUnit,u:isUndefined};var en={name:'en',weekdays:'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),months:'January_February_March_April_May_June_July_August_September_October_November_December'.split('_')};var L='en';var Ls={};Ls[L]=en;var isDayjs=function isDayjs(d){return d instanceof Dayjs;};var parseLocale=function parseLocale(preset,object,isLocal){var l;if(!preset)return L;if(typeof preset==='string'){if(Ls[preset]){l=preset;} if(object){Ls[preset]=object;l=preset;}}else{var name=preset.name;Ls[name]=preset;l=name;} if(!isLocal)L=l;return l;};var dayjs=function dayjs(date,c,pl){if(isDayjs(date)){return date.clone();} var cfg=c?typeof c==='string'?{format:c,pl:pl}:c:{};cfg.date=date;return new Dayjs(cfg);};var wrapper=function wrapper(date,instance){return dayjs(date,{locale:instance.$L,utc:instance.$u});};var Utils=U;Utils.l=parseLocale;Utils.i=isDayjs;Utils.w=wrapper;var parseDate=function parseDate(cfg){var date=cfg.date,utc=cfg.utc;if(date===null)return new Date(NaN);if(Utils.u(date))return new Date();if(date instanceof Date)return new Date(date);if(typeof date==='string'&&!/Z$/i.test(date)){var d=date.match(REGEX_PARSE);if(d){if(utc){return new Date(Date.UTC(d[1],d[2]-1,d[3]||1,d[4]||0,d[5]||0,d[6]||0,d[7]||0));} return new Date(d[1],d[2]-1,d[3]||1,d[4]||0,d[5]||0,d[6]||0,d[7]||0);}} return new Date(date);};var Dayjs=function(){function Dayjs(cfg){this.$L=this.$L||parseLocale(cfg.locale,null,true);this.parse(cfg);} var _proto=Dayjs.prototype;_proto.parse=function parse(cfg){this.$d=parseDate(cfg);this.init();};_proto.init=function init(){var $d=this.$d;this.$y=$d.getFullYear();this.$M=$d.getMonth();this.$D=$d.getDate();this.$W=$d.getDay();this.$H=$d.getHours();this.$m=$d.getMinutes();this.$s=$d.getSeconds();this.$ms=$d.getMilliseconds();};_proto.$utils=function $utils(){return Utils;};_proto.isValid=function isValid(){return!(this.$d.toString()===INVALID_DATE_STRING);};_proto.isSame=function isSame(that,units){var other=dayjs(that);return this.startOf(units)<=other&&other<=this.endOf(units);};_proto.isAfter=function isAfter(that,units){return dayjs(that)68?1900:2000);}],YYYY:[match4,addInput('year')],Z:zoneExpressions,ZZ:zoneExpressions};function correctHours(time){var afternoon=time.afternoon;if(afternoon!==undefined){var hours=time.hours;if(afternoon){if(hours<12){time.hours+=12;}}else if(hours===12){time.hours=0;} delete time.afternoon;}} function makeParser(format){var array=format.match(formattingTokens);var length=array.length;for(var i=0;i0?month-1:now.getMonth();var d=day||now.getDate();var h=hours||0;var m=minutes||0;var s=seconds||0;var ms=milliseconds||0;if(utc){return new Date(Date.UTC(y,M,d,h,m,s,ms));} return new Date(y,M,d,h,m,s,ms);}catch(e){return new Date('');}};var customParseFormat=(function(o,C,d){var proto=C.prototype;var oldParse=proto.parse;proto.parse=function(cfg){var date=cfg.date,format=cfg.format,pl=cfg.pl,utc=cfg.utc;this.$u=utc;if(format){locale=pl?d.Ls[pl]:this.$locale();this.$d=parseFormattedInput(date,format,utc);this.init(cfg);}else{oldParse.call(this,cfg);}};});var dayOfYear=(function(o,c){var proto=c.prototype;proto.dayOfYear=function(input){var dayOfYear=Math.round((this.startOf('day')-this.startOf('year'))/864e5)+1;return input==null?dayOfYear:this.add(input-dayOfYear,'day');};});var isBetween=(function(o,c,d){c.prototype.isBetween=function(a,b,u,i){var dA=d(a);var dB=d(b);i=i||'()';var dAi=i[0]==='(';var dBi=i[1]===')';return(dAi?this.isAfter(dA,u):!this.isBefore(dA,u))&&(dBi?this.isBefore(dB,u):!this.isAfter(dB,u))||(dAi?this.isBefore(dA,u):!this.isAfter(dA,u))&&(dBi?this.isAfter(dB,u):!this.isBefore(dB,u));};});var isLeapYear=(function(o,c){var proto=c.prototype;proto.isLeapYear=function(){return this.$y%4===0&&this.$y%100!==0||this.$y%400===0;};});var isMoment=(function(o,c,f){f.isMoment=function(input){return f.isDayjs(input);};});var isSameOrAfter=(function(o,c){c.prototype.isSameOrAfter=function(that,units){return this.isSame(that,units)||this.isAfter(that,units);};});var isSameOrBefore=(function(o,c){c.prototype.isSameOrBefore=function(that,units){return this.isSame(that,units)||this.isBefore(that,units);};});var localeData=(function(o,c,dayjs){var proto=c.prototype;var getShort=function getShort(ins,target,full,num){var locale=ins.$locale();if(!locale[target]){return locale[full].map(function(f){return f.substr(0,num);});} return locale[target];};var localeData=function localeData(){var _this=this;return{months:function months(instance){return instance?instance.format('MMMM'):getShort(_this,'months');},monthsShort:function monthsShort(instance){return instance?instance.format('MMM'):getShort(_this,'monthsShort','months',3);},firstDayOfWeek:function firstDayOfWeek(){return _this.$locale().weekStart||0;},weekdaysMin:function weekdaysMin(instance){return instance?instance.format('dd'):getShort(_this,'weekdaysMin','weekdays',2);},weekdaysShort:function weekdaysShort(instance){return instance?instance.format('ddd'):getShort(_this,'weekdaysShort','weekdays',3);}};};proto.localeData=function(){return localeData.bind(this)();};dayjs.localeData=function(){var localeObject=dayjs.Ls[dayjs.locale()];return{firstDayOfWeek:function firstDayOfWeek(){return localeObject.weekStart||0;}};};});var localizedFormat=(function(o,c,d){var proto=c.prototype;var oldFormat=proto.format;var englishFormats={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'};d.en.formats=englishFormats;var t=function t(format){return format.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(_,a,b){return a||b.slice(1);});};proto.format=function(formatStr){if(formatStr===void 0){formatStr=FORMAT_DEFAULT;} var _this$$locale=this.$locale(),_this$$locale$formats=_this$$locale.formats,formats=_this$$locale$formats===void 0?{}:_this$$locale$formats;var result=formatStr.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(_,a,b){var B=b&&b.toUpperCase();return a||formats[b]||englishFormats[b]||t(formats[B]);});return oldFormat.call(this,result);};});var minMax=(function(o,c,d){var sortBy=function sortBy(method,dates){if(!dates.length){return d();} if(dates.length===1&&dates[0].length>0){var _dates=dates;dates=_dates[0];} var result;var _dates2=dates;result=_dates2[0];for(var i=1;i':return left>right;case'>=':return left>=right;default:return false;}},AND:function(){if(arguments.length==0){return false;} for(var i=0;i1){var array=EXPRESSIONS.ARRAY(arguments);if(array[0]==null||array[1]==null||array[2]==null){return null;} array[1]=array[1]-1;return new(Function.prototype.bind.apply(Date,[null].concat(array)))();}else if(typeof value==='string'||value instanceof String){return new Date(value);} return NaN;},ARRAY:function(values){if(values===undefined){return[];}else if(values===null){return[null];} if(Object.prototype.toString.call(values)==='[object Arguments]'){if(values.length===1){return EXPRESSIONS.ARRAY(values[0]);}else{return[].slice.call(values,0);}} if(Object.prototype.toString.call(values)!=='[object Array]'){return[values];} return values;},MOMENT:dayjs,CONCATENATE:function(values){var array=arguments;if(arguments.length===1){array=EXPRESSIONS.ARRAY(arguments[0]);} return[].reduce.call(array,function(currentValue,next){return currentValue+EXPRESSIONS.STRING(next);},'',);},CASE:function(text,case_type){text=EXPRESSIONS.STRING(text);switch(case_type){case EXPRESSIONS.UPPER:return text.toUpperCase();case EXPRESSIONS.LOWER:return text.toLowerCase();case EXPRESSIONS.SENTENCE:return text.charAt(0).toUpperCase()+text.toLowerCase().slice(1);case EXPRESSIONS.TITLE:return text.replace(/\w\S*/g,function(txt){return txt.charAt(0).toUpperCase()+txt.substr(1).toLowerCase();});default:throw new Error('Invalid argument to CASE: '+case_type);}},SUBSTRING:function(text,startIndex,endIndex){text=EXPRESSIONS.STRING(text);return text.substring(startIndex,endIndex);},SPLIT:function(text,splitToken,limit){text=EXPRESSIONS.STRING(text);if(limit!=null){return text.split(splitToken,limit);} return text.split(splitToken);},UPPER:'UPPER',LOWER:'LOWER',SENTENCE:'SENTENCE',TITLE:'TITLE',upper:'UPPER',lower:'LOWER',sentence:'SENTENCE',title:'TITLE',SUM:function(values){return EXPRESSIONS.ARRAY(arguments).reduce(function(currentVal,next){if(next==null){next=0;} return EXPRESSIONS.NUMBER(currentVal,true)+EXPRESSIONS.NUMBER(next,true);},0);},SUMIF:function(values,expression_or_value){if(typeof expression_or_value!=='function'){var isEqualTo=expression_or_value;expr=function(element){return element==isEqualTo;};} return EXPRESSIONS.SUM(EXPRESSIONS.ARRAY(values).filter(expression_or_value));},COUNT:function(values){if(values==null){return 0;} return EXPRESSIONS.ARRAY(arguments).length;},COUNTIF:function(values,expression_or_value){if(typeof expression_or_value!=='function'){var isEqualTo=expression_or_value;expression_or_value=function(element){return element==isEqualTo;};} return EXPRESSIONS.COUNT(EXPRESSIONS.ARRAY(values).filter(expression_or_value));},AVERAGE:function(values){if(EXPRESSIONS.COUNT(arguments)===0||(arguments.length===1&&arguments[0]===null)){return 0;} return EXPRESSIONS.SUM(arguments)/EXPRESSIONS.COUNT(arguments);},MAX:function(values){var array=EXPRESSIONS.ARRAY(arguments);if(array.length===0||(arguments.length===1&&arguments[0]===null))return 0;var currentMax=EXPRESSIONS.NUMBER(array[0],true);array.forEach(function(val){if(val==null)return;currentMax=currentMaxEXPRESSIONS.NUMBER(val,true)?EXPRESSIONS.NUMBER(val,true):currentMin;});return currentMin;},EXISTS:function(values,expression_or_value){if(typeof expression_or_value==='function'){return EXPRESSIONS.ARRAY(values).some(expression_or_value);} return EXPRESSIONS.ARRAY(values).includes(expression_or_value);},CONTAINS:function(input_string,value){return EXPRESSIONS.STRING(input_string).indexOf(value)>-1;},ROUND:function(number,num_digits){if(typeof num_digits==='undefined')return EXPRESSIONS.ROUND(number,0);number=EXPRESSIONS.NUMBER(number);num_digits=EXPRESSIONS.NUMBER(num_digits);if(isNaN(number)||!(typeof num_digits==='number'&&num_digits%1===0))return NaN;number=number.toString().split('e');number=Math.round(+(number[0]+'e'+(number[1]?+number[1]+num_digits:num_digits)));number=number.toString().split('e');return+(number[0]+'e'+(number[1]?+number[1]-num_digits:-num_digits));},ABS:function(number){if(number==null){number=0;} return Math.abs(EXPRESSIONS.NUMBER(number));},POW:function(base,exponent){if(base==null){base=0;} if(exponent==null){exponent=0;} return Math.pow(EXPRESSIONS.NUMBER(base),EXPRESSIONS.NUMBER(exponent));},NOW:function(){var now=new Date();now.setMilliseconds(0);return now;},TODAY:function(){var now=EXPRESSIONS.NOW();return new Date(now.getFullYear(),now.getMonth(),now.getDate(),0,0,0,0);},AGE:function(birth_date){return EXPRESSIONS.AGEON(birth_date,EXPRESSIONS.NOW());},AGEON:function(birth_date,on_date){birth_date=EXPRESSIONS.DATE(birth_date);on_date=EXPRESSIONS.DATE(on_date);if(isNaN(birth_date)||isNaN(on_date)){return EXPRESSIONS.NULL;} if(birth_date>=on_date){return 0;} var age=on_date.getFullYear()-birth_date.getFullYear();var m=on_date.getMonth()-birth_date.getMonth();if(m<0||(m===0&&on_date.getDate()