UNPKG

mathjslab

Version:

MathJSLab - An interpreter with language syntax like MATLAB®/Octave, ISBN 978-65-00-82338-7.

2 lines 1.06 MB
/*! For license information please see mathjslab.web.esm2022.js.LICENSE.txt */ var __webpack_modules__={207(__unused_webpack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{A:()=>MathJSLabLexer});var antlr4__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(168);class MathJSLabLexer extends antlr4__WEBPACK_IMPORTED_MODULE_0__.JG{static GLOBAL=1;static PERSISTENT=2;static IMPORT=3;static IF=4;static ENDIF=5;static END=6;static ENDRANGE=7;static ELSEIF=8;static ELSE=9;static SWITCH=10;static ENDSWITCH=11;static CASE=12;static OTHERWISE=13;static WHILE=14;static ENDWHILE=15;static DO=16;static UNTIL=17;static FOR=18;static ENDFOR=19;static PARFOR=20;static ENDPARFOR=21;static SPMD=22;static ENDSPMD=23;static BREAK=24;static CONTINUE=25;static RETURN=26;static FUNCTION=27;static ENDFUNCTION=28;static TRY=29;static CATCH=30;static END_TRY_CATCH=31;static UNWIND_PROTECT=32;static UNWIND_PROTECT_CLEANUP=33;static END_UNWIND_PROTECT=34;static CLASSDEF=35;static ENDCLASSDEF=36;static ENUMERATION=37;static ENDENUMERATION=38;static PROPERTIES=39;static ENDPROPERTIES=40;static EVENTS=41;static ENDEVENTS=42;static METHODS=43;static ENDMETHODS=44;static WSPACE=45;static STRING=46;static ARGUMENTS=47;static ENDARGUMENTS=48;static PLUS=49;static MINUS=50;static MUL=51;static DIV=52;static EQ=53;static COLON=54;static SEMICOLON=55;static COMMA=56;static DOT=57;static TILDE=58;static EXCLAMATION=59;static COMMAT=60;static QUESTION=61;static LPAREN=62;static RPAREN=63;static LBRACKET=64;static RBRACKET=65;static LCURLYBR=66;static RCURLYBR=67;static LEFTDIV=68;static ADD_EQ=69;static SUB_EQ=70;static MUL_EQ=71;static DIV_EQ=72;static LEFTDIV_EQ=73;static POW_EQ=74;static EMUL_EQ=75;static EDIV_EQ=76;static ELEFTDIV_EQ=77;static EPOW_EQ=78;static AND_EQ=79;static OR_EQ=80;static EXPR_AND_AND=81;static EXPR_OR_OR=82;static EXPR_AND=83;static EXPR_OR=84;static EXPR_LT=85;static EXPR_LE=86;static EXPR_EQ=87;static EXPR_NE=88;static EXPR_GE=89;static EXPR_GT=90;static EMUL=91;static EDIV=92;static ELEFTDIV=93;static PLUS_PLUS=94;static MINUS_MINUS=95;static POW=96;static EPOW=97;static TRANSPOSE=98;static HERMITIAN=99;static DQSTRING=100;static IDENTIFIER=101;static FLOAT_NUMBER=102;static NUMBER_DOT_OP=103;static LINE_CONTINUATION=104;static SPACE_OR_CONTINUATION=105;static NEWLINE=106;static BLOCK_COMMENT_START=107;static COMMENT_LINE=108;static INVALID=109;static SINGLEQ_STRING=110;static SINGLEQ_NL=111;static SINGLEQ_SINGLEQ=112;static SINGLEQ_END=113;static DOUBLEQ_STRING=114;static DOUBLEQ_NL=115;static DOUBLEQ_DOUBLEQ=116;static DOUBLEQ_ESCAPE=117;static DOUBLEQ_ESCAPE_OTHER=118;static DOUBLEQ_ESCAPE_OCT=119;static DOUBLEQ_ESCAPE_HEX=120;static DOUBLEQ_ESCAPE_UNICODE=121;static DOUBLEQ_END=122;static BLOCK_COMMENT_START_AGAIN=123;static BLOCK_COMMENT_END=124;static BLOCK_COMMENT_LINE=125;static BLOCK_COMMENT_EOF=126;static COMMAND_LINE_CONTINUATION=127;static COMMAND_CONTINUED_BLOCK_COMMENT_START=128;static COMMAND_CONTINUED_COMMENT_LINE=129;static COMMAND_CONTINUED_NEWLINE=130;static SKIP_SPACE=131;static COMMAND_LONE_DQUOTE=132;static COMMAND_LONE_SQUOTE=133;static COMMAND_UNCLOSED_DQUOTE=134;static COMMAND_UNCLOSED_SQUOTE=135;static COMMAND_DQSTRING=136;static COMMAND_SQSTRING=137;static SKIP_COMMENT_LINE=138;static COMMAND_SEPARATOR=139;static EXIT_AT_NEWLINE=140;static EXIT_AT_EOF=141;static UNQUOTED_STRING=142;static EOF=antlr4__WEBPACK_IMPORTED_MODULE_0__.ou.EOF;static SQ_STRING=1;static DQ_STRING=2;static BLOCK_COMMENT=3;static ANY_AS_STRING_UNTIL_END_OF_LINE=4;static channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"];static literalNames=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"'+'","'-'","'*'","'/'","'='","':'","';'","','","'.'","'~'","'!'","'@'","'?'","'('","')'","'['","']'","'{'","'}'","'\\'","'+='","'-='","'*='","'/='","'\\='",null,"'.*='","'./='","'.\\='",null,"'&='","'|='","'&&'","'||'","'&'","'|'","'<'","'<='","'=='",null,"'>='","'>'","'.*'","'./'","'.\\'","'++'","'--'",null,null,"'.''",null,null,null,null,null,null,null,null,null,null,null,null,null,"''''",null,null,null,"'\"\"'"];static symbolicNames=[null,"GLOBAL","PERSISTENT","IMPORT","IF","ENDIF","END","ENDRANGE","ELSEIF","ELSE","SWITCH","ENDSWITCH","CASE","OTHERWISE","WHILE","ENDWHILE","DO","UNTIL","FOR","ENDFOR","PARFOR","ENDPARFOR","SPMD","ENDSPMD","BREAK","CONTINUE","RETURN","FUNCTION","ENDFUNCTION","TRY","CATCH","END_TRY_CATCH","UNWIND_PROTECT","UNWIND_PROTECT_CLEANUP","END_UNWIND_PROTECT","CLASSDEF","ENDCLASSDEF","ENUMERATION","ENDENUMERATION","PROPERTIES","ENDPROPERTIES","EVENTS","ENDEVENTS","METHODS","ENDMETHODS","WSPACE","STRING","ARGUMENTS","ENDARGUMENTS","PLUS","MINUS","MUL","DIV","EQ","COLON","SEMICOLON","COMMA","DOT","TILDE","EXCLAMATION","COMMAT","QUESTION","LPAREN","RPAREN","LBRACKET","RBRACKET","LCURLYBR","RCURLYBR","LEFTDIV","ADD_EQ","SUB_EQ","MUL_EQ","DIV_EQ","LEFTDIV_EQ","POW_EQ","EMUL_EQ","EDIV_EQ","ELEFTDIV_EQ","EPOW_EQ","AND_EQ","OR_EQ","EXPR_AND_AND","EXPR_OR_OR","EXPR_AND","EXPR_OR","EXPR_LT","EXPR_LE","EXPR_EQ","EXPR_NE","EXPR_GE","EXPR_GT","EMUL","EDIV","ELEFTDIV","PLUS_PLUS","MINUS_MINUS","POW","EPOW","TRANSPOSE","HERMITIAN","DQSTRING","IDENTIFIER","FLOAT_NUMBER","NUMBER_DOT_OP","LINE_CONTINUATION","SPACE_OR_CONTINUATION","NEWLINE","BLOCK_COMMENT_START","COMMENT_LINE","INVALID","SINGLEQ_STRING","SINGLEQ_NL","SINGLEQ_SINGLEQ","SINGLEQ_END","DOUBLEQ_STRING","DOUBLEQ_NL","DOUBLEQ_DOUBLEQ","DOUBLEQ_ESCAPE","DOUBLEQ_ESCAPE_OTHER","DOUBLEQ_ESCAPE_OCT","DOUBLEQ_ESCAPE_HEX","DOUBLEQ_ESCAPE_UNICODE","DOUBLEQ_END","BLOCK_COMMENT_START_AGAIN","BLOCK_COMMENT_END","BLOCK_COMMENT_LINE","BLOCK_COMMENT_EOF","COMMAND_LINE_CONTINUATION","COMMAND_CONTINUED_BLOCK_COMMENT_START","COMMAND_CONTINUED_COMMENT_LINE","COMMAND_CONTINUED_NEWLINE","SKIP_SPACE","COMMAND_LONE_DQUOTE","COMMAND_LONE_SQUOTE","COMMAND_UNCLOSED_DQUOTE","COMMAND_UNCLOSED_SQUOTE","COMMAND_DQSTRING","COMMAND_SQSTRING","SKIP_COMMENT_LINE","COMMAND_SEPARATOR","EXIT_AT_NEWLINE","EXIT_AT_EOF","UNQUOTED_STRING"];static modeNames=["DEFAULT_MODE","SQ_STRING","DQ_STRING","BLOCK_COMMENT","ANY_AS_STRING_UNTIL_END_OF_LINE"];static ruleNames=["PLUS","MINUS","MUL","DIV","EQ","COLON","SEMICOLON","COMMA","DOT","TILDE","EXCLAMATION","COMMAT","QUESTION","LPAREN","RPAREN","LBRACKET","RBRACKET","LCURLYBR","RCURLYBR","LEFTDIV","ADD_EQ","SUB_EQ","MUL_EQ","DIV_EQ","LEFTDIV_EQ","POW_EQ","EMUL_EQ","EDIV_EQ","ELEFTDIV_EQ","EPOW_EQ","AND_EQ","OR_EQ","EXPR_AND_AND","EXPR_OR_OR","EXPR_AND","EXPR_OR","EXPR_LT","EXPR_LE","EXPR_EQ","EXPR_NE","EXPR_GE","EXPR_GT","EMUL","EDIV","ELEFTDIV","PLUS_PLUS","MINUS_MINUS","POW","EPOW","TRANSPOSE","HERMITIAN","DQSTRING","IDENTIFIER","FLOAT_NUMBER","NUMBER_DOT_OP","LINE_CONTINUATION","SPACE_OR_CONTINUATION","NEWLINE","BLOCK_COMMENT_START","COMMENT_LINE","INVALID","SINGLEQ_STRING","SINGLEQ_NL","SINGLEQ_SINGLEQ","SINGLEQ_END","DOUBLEQ_STRING","DOUBLEQ_NL","DOUBLEQ_DOUBLEQ","DOUBLEQ_ESCAPE","DOUBLEQ_ESCAPE_OTHER","DOUBLEQ_ESCAPE_OCT","DOUBLEQ_ESCAPE_HEX","DOUBLEQ_ESCAPE_UNICODE","DOUBLEQ_END","BLOCK_COMMENT_START_AGAIN","BLOCK_COMMENT_END","BLOCK_COMMENT_LINE","BLOCK_COMMENT_EOF","COMMAND_LINE_CONTINUATION","COMMAND_CONTINUED_BLOCK_COMMENT_START","COMMAND_CONTINUED_COMMENT_LINE","COMMAND_CONTINUED_NEWLINE","SKIP_SPACE","COMMAND_LONE_DQUOTE","COMMAND_LONE_SQUOTE","COMMAND_UNCLOSED_DQUOTE","COMMAND_UNCLOSED_SQUOTE","COMMAND_DQSTRING","COMMAND_SQSTRING","SKIP_COMMENT_LINE","COMMAND_SEPARATOR","EXIT_AT_NEWLINE","EXIT_AT_EOF","UNQUOTED_STRING","CCHAR","NL","SPACE","IDENT","FQIDENT","REAL_NUMBER","INTEGER_NUMBER","INTEGER_DIGITS","DECIMAL_DIGITS","BINARY_DIGITS","OCTAL_DIGITS","HEXADECIMAL_DIGITS","EXPONENT"];static keywordNames=[null,"global","persistent","import","if","endif","end","elseif","else","switch","endswitch","case","otherwise","while","endwhile","do","until","for","endfor","parfor","endparfor","spmd","endspmd","break","continue","return","function","endfunction","try","catch","end_try_catch","unwind_protect","unwind_protect_cleanup","end_unwind_protect","classdef","endclassdef","enumeration","endenumeration","properties","endproperties","events","endevents","methods","endmethods","arguments","endarguments"];static keywordTypes=[NaN,MathJSLabLexer.GLOBAL,MathJSLabLexer.PERSISTENT,MathJSLabLexer.IMPORT,MathJSLabLexer.IF,MathJSLabLexer.ENDIF,MathJSLabLexer.END,MathJSLabLexer.ELSEIF,MathJSLabLexer.ELSE,MathJSLabLexer.SWITCH,MathJSLabLexer.ENDSWITCH,MathJSLabLexer.CASE,MathJSLabLexer.OTHERWISE,MathJSLabLexer.WHILE,MathJSLabLexer.ENDWHILE,MathJSLabLexer.DO,MathJSLabLexer.UNTIL,MathJSLabLexer.FOR,MathJSLabLexer.ENDFOR,MathJSLabLexer.PARFOR,MathJSLabLexer.ENDPARFOR,MathJSLabLexer.SPMD,MathJSLabLexer.ENDSPMD,MathJSLabLexer.BREAK,MathJSLabLexer.CONTINUE,MathJSLabLexer.RETURN,MathJSLabLexer.FUNCTION,MathJSLabLexer.ENDFUNCTION,MathJSLabLexer.TRY,MathJSLabLexer.CATCH,MathJSLabLexer.END_TRY_CATCH,MathJSLabLexer.UNWIND_PROTECT,MathJSLabLexer.UNWIND_PROTECT_CLEANUP,MathJSLabLexer.END_UNWIND_PROTECT,MathJSLabLexer.CLASSDEF,MathJSLabLexer.ENDCLASSDEF,MathJSLabLexer.ENUMERATION,MathJSLabLexer.ENDENUMERATION,MathJSLabLexer.PROPERTIES,MathJSLabLexer.ENDPROPERTIES,MathJSLabLexer.EVENTS,MathJSLabLexer.ENDEVENTS,MathJSLabLexer.METHODS,MathJSLabLexer.ENDMETHODS,MathJSLabLexer.ARGUMENTS,MathJSLabLexer.ENDARGUMENTS];static keywordTypeByName=new Map(MathJSLabLexer.keywordNames.map((t,e)=>t?[t,MathJSLabLexer.keywordTypes[e]]:void 0).filter(t=>void 0!==t));commandNames=new Set;assignmentSensitiveCommandNames=new Set;static nonTerminalSign=new Set([MathJSLabLexer.PLUS,MathJSLabLexer.MINUS,MathJSLabLexer.MUL,MathJSLabLexer.DIV,MathJSLabLexer.EQ,MathJSLabLexer.COLON,MathJSLabLexer.DOT,MathJSLabLexer.TILDE,MathJSLabLexer.EXCLAMATION,MathJSLabLexer.COMMAT,MathJSLabLexer.QUESTION,MathJSLabLexer.LPAREN,MathJSLabLexer.LBRACKET,MathJSLabLexer.LCURLYBR,MathJSLabLexer.LEFTDIV,MathJSLabLexer.ADD_EQ,MathJSLabLexer.SUB_EQ,MathJSLabLexer.MUL_EQ,MathJSLabLexer.DIV_EQ,MathJSLabLexer.LEFTDIV_EQ,MathJSLabLexer.POW_EQ,MathJSLabLexer.EMUL_EQ,MathJSLabLexer.EDIV_EQ,MathJSLabLexer.ELEFTDIV_EQ,MathJSLabLexer.EPOW_EQ,MathJSLabLexer.AND_EQ,MathJSLabLexer.OR_EQ,MathJSLabLexer.EXPR_AND_AND,MathJSLabLexer.EXPR_OR_OR,MathJSLabLexer.EXPR_AND,MathJSLabLexer.EXPR_OR,MathJSLabLexer.EXPR_LT,MathJSLabLexer.EXPR_LE,MathJSLabLexer.EXPR_EQ,MathJSLabLexer.EXPR_NE,MathJSLabLexer.EXPR_GE,MathJSLabLexer.EXPR_GT,MathJSLabLexer.EMUL,MathJSLabLexer.EDIV,MathJSLabLexer.ELEFTDIV,MathJSLabLexer.PLUS_PLUS,MathJSLabLexer.MINUS_MINUS,MathJSLabLexer.POW,MathJSLabLexer.EPOW]);previousTokenType=antlr4__WEBPACK_IMPORTED_MODULE_0__.ou.EOF;parenthesisCount=0;continuedTokenType=null;commandContinued=!1;matrixContext=[];curlyBraceIsMatrixContext=[];indexingBraceCount=0;quotedString="";commandQuoteIsClosed(t){let e=1,r=this._input.LA(e);for(;r!==antlr4__WEBPACK_IMPORTED_MODULE_0__.ou.EOF&&10!==r&&13!==r;){if(r===t){if(this._input.LA(e+1)===t){e+=2,r=this._input.LA(e);continue}return!0}e++,r=this._input.LA(e)}return!1}commandIsFollowedByAssignment(t){const e=this._input.LA(t);if(61===e)return!0;const r=this._input.LA(t+1);return!(![43,45,42,47,92,94,38,124].includes(e)||61!==r)||46===e&&[42,47,92,94].includes(r)&&61===this._input.LA(t+2)}matrixWhitespaceIsSeparator(t=!1){let e=1;if(t)for(;9===this._input.LA(e)||32===this._input.LA(e);)e++;const r=this._input.LA(e);if(43!==r&&45!==r)return!this.matrixWhitespaceBeforeBinaryOperator(e);const s=this._input.LA(e+1);return 9!==s&&32!==s}matrixWhitespaceBeforeBinaryOperator(t){const e=this._input.LA(t),r=this._input.LA(t+1);return!![38,42,47,58,60,62,92,94,124].includes(e)||(46===e?[42,47,92,94].includes(r):61===e&&61===r||126===e&&61===r)}emit(){const t=super.emit();return null!==this.continuedTokenType&&t.type!==antlr4__WEBPACK_IMPORTED_MODULE_0__.ou.EOF&&t.type!==MathJSLabLexer.NEWLINE&&t.type!==MathJSLabLexer.WSPACE&&(this.continuedTokenType=null),t}constructor(t){super(t),this._interp=new antlr4__WEBPACK_IMPORTED_MODULE_0__.ay(this,MathJSLabLexer._ATN,MathJSLabLexer.DecisionsToDFA,new antlr4__WEBPACK_IMPORTED_MODULE_0__.tD)}get grammarFileName(){return"MathJSLabLexer.g4"}get literalNames(){return MathJSLabLexer.literalNames}get symbolicNames(){return MathJSLabLexer.symbolicNames}get ruleNames(){return MathJSLabLexer.ruleNames}get serializedATN(){return MathJSLabLexer._serializedATN}get channelNames(){return MathJSLabLexer.channelNames}get modeNames(){return MathJSLabLexer.modeNames}action(t,e,r){switch(e){case 0:this.PLUS_action(t,r);break;case 1:this.MINUS_action(t,r);break;case 2:this.MUL_action(t,r);break;case 3:this.DIV_action(t,r);break;case 4:this.EQ_action(t,r);break;case 5:this.COLON_action(t,r);break;case 6:this.SEMICOLON_action(t,r);break;case 7:this.COMMA_action(t,r);break;case 8:this.DOT_action(t,r);break;case 9:this.TILDE_action(t,r);break;case 10:this.EXCLAMATION_action(t,r);break;case 11:this.COMMAT_action(t,r);break;case 12:this.QUESTION_action(t,r);break;case 13:this.LPAREN_action(t,r);break;case 14:this.RPAREN_action(t,r);break;case 15:this.LBRACKET_action(t,r);break;case 16:this.RBRACKET_action(t,r);break;case 17:this.LCURLYBR_action(t,r);break;case 18:this.RCURLYBR_action(t,r);break;case 19:this.LEFTDIV_action(t,r);break;case 20:this.ADD_EQ_action(t,r);break;case 21:this.SUB_EQ_action(t,r);break;case 22:this.MUL_EQ_action(t,r);break;case 23:this.DIV_EQ_action(t,r);break;case 24:this.LEFTDIV_EQ_action(t,r);break;case 25:this.POW_EQ_action(t,r);break;case 26:this.EMUL_EQ_action(t,r);break;case 27:this.EDIV_EQ_action(t,r);break;case 28:this.ELEFTDIV_EQ_action(t,r);break;case 29:this.EPOW_EQ_action(t,r);break;case 30:this.AND_EQ_action(t,r);break;case 31:this.OR_EQ_action(t,r);break;case 32:this.EXPR_AND_AND_action(t,r);break;case 33:this.EXPR_OR_OR_action(t,r);break;case 34:this.EXPR_AND_action(t,r);break;case 35:this.EXPR_OR_action(t,r);break;case 36:this.EXPR_LT_action(t,r);break;case 37:this.EXPR_LE_action(t,r);break;case 38:this.EXPR_EQ_action(t,r);break;case 39:this.EXPR_NE_action(t,r);break;case 40:this.EXPR_GE_action(t,r);break;case 41:this.EXPR_GT_action(t,r);break;case 42:this.EMUL_action(t,r);break;case 43:this.EDIV_action(t,r);break;case 44:this.ELEFTDIV_action(t,r);break;case 45:this.PLUS_PLUS_action(t,r);break;case 46:this.MINUS_MINUS_action(t,r);break;case 47:this.POW_action(t,r);break;case 48:this.EPOW_action(t,r);break;case 49:this.TRANSPOSE_action(t,r);break;case 50:this.HERMITIAN_action(t,r);break;case 51:this.DQSTRING_action(t,r);break;case 52:this.IDENTIFIER_action(t,r);break;case 53:this.FLOAT_NUMBER_action(t,r);break;case 54:this.NUMBER_DOT_OP_action(t,r);break;case 55:this.LINE_CONTINUATION_action(t,r);break;case 56:this.SPACE_OR_CONTINUATION_action(t,r);break;case 57:this.NEWLINE_action(t,r);break;case 58:this.BLOCK_COMMENT_START_action(t,r);break;case 59:this.COMMENT_LINE_action(t,r);break;case 61:this.SINGLEQ_STRING_action(t,r);break;case 62:this.SINGLEQ_NL_action(t,r);break;case 63:this.SINGLEQ_SINGLEQ_action(t,r);break;case 64:this.SINGLEQ_END_action(t,r);break;case 65:this.DOUBLEQ_STRING_action(t,r);break;case 66:this.DOUBLEQ_NL_action(t,r);break;case 67:this.DOUBLEQ_DOUBLEQ_action(t,r);break;case 68:this.DOUBLEQ_ESCAPE_action(t,r);break;case 69:this.DOUBLEQ_ESCAPE_OTHER_action(t,r);break;case 70:this.DOUBLEQ_ESCAPE_OCT_action(t,r);break;case 71:this.DOUBLEQ_ESCAPE_HEX_action(t,r);break;case 72:this.DOUBLEQ_ESCAPE_UNICODE_action(t,r);break;case 73:this.DOUBLEQ_END_action(t,r);break;case 74:this.BLOCK_COMMENT_START_AGAIN_action(t,r);break;case 75:this.BLOCK_COMMENT_END_action(t,r);break;case 77:this.BLOCK_COMMENT_EOF_action(t,r);break;case 78:this.COMMAND_LINE_CONTINUATION_action(t,r);break;case 79:this.COMMAND_CONTINUED_BLOCK_COMMENT_START_action(t,r);break;case 83:this.COMMAND_LONE_DQUOTE_action(t,r);break;case 84:this.COMMAND_LONE_SQUOTE_action(t,r);break;case 85:this.COMMAND_UNCLOSED_DQUOTE_action(t,r);break;case 86:this.COMMAND_UNCLOSED_SQUOTE_action(t,r);break;case 87:this.COMMAND_DQSTRING_action(t,r);break;case 88:this.COMMAND_SQSTRING_action(t,r);break;case 90:this.COMMAND_SEPARATOR_action(t,r);break;case 91:this.EXIT_AT_NEWLINE_action(t,r);break;case 92:this.EXIT_AT_EOF_action(t,r);break;case 93:this.UNQUOTED_STRING_action(t,r)}}PLUS_action(t,e){0===e&&(this.previousTokenType=MathJSLabLexer.PLUS)}MINUS_action(t,e){1===e&&(this.previousTokenType=MathJSLabLexer.MINUS)}MUL_action(t,e){2===e&&(this.previousTokenType=MathJSLabLexer.MUL)}DIV_action(t,e){3===e&&(this.previousTokenType=MathJSLabLexer.DIV)}EQ_action(t,e){4===e&&(this.previousTokenType=MathJSLabLexer.EQ)}COLON_action(t,e){5===e&&(this.previousTokenType=MathJSLabLexer.COLON)}SEMICOLON_action(t,e){6===e&&(this.previousTokenType=MathJSLabLexer.SEMICOLON)}COMMA_action(t,e){7===e&&(this.previousTokenType=MathJSLabLexer.COMMA)}DOT_action(t,e){8===e&&(this.previousTokenType=MathJSLabLexer.DOT)}TILDE_action(t,e){9===e&&(this.previousTokenType=MathJSLabLexer.TILDE)}EXCLAMATION_action(t,e){10===e&&(this.previousTokenType=MathJSLabLexer.EXCLAMATION)}COMMAT_action(t,e){11===e&&(this.previousTokenType=MathJSLabLexer.COMMAT)}QUESTION_action(t,e){12===e&&(this.previousTokenType=MathJSLabLexer.QUESTION)}LPAREN_action(t,e){13===e&&(this.matrixContext.length>0&&this.matrixContext.push(MathJSLabLexer.LPAREN),this.parenthesisCount++,this.previousTokenType=MathJSLabLexer.LPAREN)}RPAREN_action(t,e){14===e&&(this.matrixContext.length>0&&this.matrixContext.pop(),this.parenthesisCount=Math.max(0,this.parenthesisCount-1),this.previousTokenType=MathJSLabLexer.RPAREN)}LBRACKET_action(t,e){15===e&&(this.matrixContext.push(MathJSLabLexer.LBRACKET),this.previousTokenType=MathJSLabLexer.LBRACKET)}RBRACKET_action(t,e){16===e&&(this.matrixContext.pop(),this.previousTokenType=MathJSLabLexer.RBRACKET)}LCURLYBR_action(t,e){if(17===e){const t=this.previousTokenType===MathJSLabLexer.RPAREN||this.previousTokenType===MathJSLabLexer.RBRACKET||this.previousTokenType===MathJSLabLexer.RCURLYBR||this.previousTokenType===MathJSLabLexer.IDENTIFIER||this.previousTokenType===MathJSLabLexer.FLOAT_NUMBER||this.previousTokenType===MathJSLabLexer.STRING||this.previousTokenType===MathJSLabLexer.ENDRANGE;this.curlyBraceIsMatrixContext.push(!t),t?this.indexingBraceCount++:this.matrixContext.push(MathJSLabLexer.LCURLYBR),this.previousTokenType=MathJSLabLexer.LCURLYBR}}RCURLYBR_action(t,e){18===e&&(this.curlyBraceIsMatrixContext.pop()??1?this.matrixContext.pop():this.indexingBraceCount=Math.max(0,this.indexingBraceCount-1),this.previousTokenType=MathJSLabLexer.RCURLYBR)}LEFTDIV_action(t,e){19===e&&(this.previousTokenType=MathJSLabLexer.LEFTDIV)}ADD_EQ_action(t,e){20===e&&(this.previousTokenType=MathJSLabLexer.ADD_EQ)}SUB_EQ_action(t,e){21===e&&(this.previousTokenType=MathJSLabLexer.SUB_EQ)}MUL_EQ_action(t,e){22===e&&(this.previousTokenType=MathJSLabLexer.MUL_EQ)}DIV_EQ_action(t,e){23===e&&(this.previousTokenType=MathJSLabLexer.DIV_EQ)}LEFTDIV_EQ_action(t,e){24===e&&(this.previousTokenType=MathJSLabLexer.LEFTDIV_EQ)}POW_EQ_action(t,e){25===e&&(this.previousTokenType=MathJSLabLexer.POW_EQ)}EMUL_EQ_action(t,e){26===e&&(this.previousTokenType=MathJSLabLexer.EMUL_EQ)}EDIV_EQ_action(t,e){27===e&&(this.previousTokenType=MathJSLabLexer.EDIV_EQ)}ELEFTDIV_EQ_action(t,e){28===e&&(this.previousTokenType=MathJSLabLexer.ELEFTDIV_EQ)}EPOW_EQ_action(t,e){29===e&&(this.previousTokenType=MathJSLabLexer.EPOW_EQ)}AND_EQ_action(t,e){30===e&&(this.previousTokenType=MathJSLabLexer.AND_EQ)}OR_EQ_action(t,e){31===e&&(this.previousTokenType=MathJSLabLexer.OR_EQ)}EXPR_AND_AND_action(t,e){32===e&&(this.previousTokenType=MathJSLabLexer.EXPR_AND_AND)}EXPR_OR_OR_action(t,e){33===e&&(this.previousTokenType=MathJSLabLexer.EXPR_OR_OR)}EXPR_AND_action(t,e){34===e&&(this.previousTokenType=MathJSLabLexer.EXPR_AND)}EXPR_OR_action(t,e){35===e&&(this.previousTokenType=MathJSLabLexer.EXPR_OR)}EXPR_LT_action(t,e){36===e&&(this.previousTokenType=MathJSLabLexer.EXPR_LT)}EXPR_LE_action(t,e){37===e&&(this.previousTokenType=MathJSLabLexer.EXPR_LE)}EXPR_EQ_action(t,e){38===e&&(this.previousTokenType=MathJSLabLexer.EXPR_EQ)}EXPR_NE_action(t,e){39===e&&(this.previousTokenType=MathJSLabLexer.EXPR_NE)}EXPR_GE_action(t,e){40===e&&(this.previousTokenType=MathJSLabLexer.EXPR_GE)}EXPR_GT_action(t,e){41===e&&(this.previousTokenType=MathJSLabLexer.EXPR_GT)}EMUL_action(t,e){42===e&&(this.previousTokenType=MathJSLabLexer.EMUL)}EDIV_action(t,e){43===e&&(this.previousTokenType=MathJSLabLexer.EDIV)}ELEFTDIV_action(t,e){44===e&&(this.previousTokenType=MathJSLabLexer.ELEFTDIV)}PLUS_PLUS_action(t,e){45===e&&(this.previousTokenType=MathJSLabLexer.PLUS_PLUS)}MINUS_MINUS_action(t,e){46===e&&(this.previousTokenType=MathJSLabLexer.MINUS_MINUS)}POW_action(t,e){47===e&&(this.previousTokenType=MathJSLabLexer.POW)}EPOW_action(t,e){48===e&&(this.previousTokenType=MathJSLabLexer.EPOW)}TRANSPOSE_action(t,e){49===e&&(this.previousTokenType=MathJSLabLexer.TRANSPOSE)}HERMITIAN_action(t,e){50===e&&(this.previousTokenType===MathJSLabLexer.RPAREN||this.previousTokenType===MathJSLabLexer.RBRACKET||this.previousTokenType===MathJSLabLexer.RCURLYBR||this.previousTokenType===MathJSLabLexer.IDENTIFIER||this.previousTokenType===MathJSLabLexer.FLOAT_NUMBER||this.previousTokenType===MathJSLabLexer.STRING||this.previousTokenType===MathJSLabLexer.ENDRANGE?this.previousTokenType=MathJSLabLexer.HERMITIAN:(this.pushMode(MathJSLabLexer.SQ_STRING),this.quotedString="",this.skip()))}DQSTRING_action(t,e){51===e&&(this.pushMode(MathJSLabLexer.DQ_STRING),this.quotedString="",this.skip())}IDENTIFIER_action(t,e){if(52===e)if(this.previousTokenType===MathJSLabLexer.DOT)this.previousTokenType=MathJSLabLexer.IDENTIFIER;else{const t=MathJSLabLexer.keywordTypeByName.get(this.text);if(void 0!==t)t===MathJSLabLexer.END?this._type=this.previousTokenType=this.parenthesisCount>0||this.matrixContext.length>0||this.indexingBraceCount>0?MathJSLabLexer.ENDRANGE:MathJSLabLexer.END:this._type=this.previousTokenType=t;else{const t=this.commandNames.has(this.text),e=this.previousTokenType===antlr4__WEBPACK_IMPORTED_MODULE_0__.ou.EOF||this.previousTokenType===MathJSLabLexer.NEWLINE||this.previousTokenType===MathJSLabLexer.SEMICOLON||this.previousTokenType===MathJSLabLexer.COMMA&&0===this.parenthesisCount&&0===this.matrixContext.length;let r=1,s=this._input.LA(r);for(;9===s||32===s;)s=this._input.LA(++r);const i=this.assignmentSensitiveCommandNames.has(this.text)&&this.commandIsFollowedByAssignment(r);t&&e&&(40!==s||r>1)&&!i&&this.pushMode(MathJSLabLexer.ANY_AS_STRING_UNTIL_END_OF_LINE),this.previousTokenType=MathJSLabLexer.IDENTIFIER}}}FLOAT_NUMBER_action(t,e){53===e&&(this.previousTokenType=MathJSLabLexer.FLOAT_NUMBER)}NUMBER_DOT_OP_action(t,e){54===e&&(this._input.seek(this._input.index-2),this._type=this.previousTokenType=MathJSLabLexer.FLOAT_NUMBER)}LINE_CONTINUATION_action(t,e){55===e&&(this.continuedTokenType=this.previousTokenType,this.skip())}SPACE_OR_CONTINUATION_action(t,e){56===e&&(this.text.includes("...")&&(this.continuedTokenType=this.previousTokenType),this.matrixContext.length>0&&this.previousTokenType!==MathJSLabLexer.LBRACKET&&this.previousTokenType!==MathJSLabLexer.COMMA&&this.previousTokenType!==MathJSLabLexer.SEMICOLON&&this.matrixContext[this.matrixContext.length-1]!==MathJSLabLexer.LPAREN&&!MathJSLabLexer.nonTerminalSign.has(this.previousTokenType)&&this.matrixWhitespaceIsSeparator(this.text.includes("..."))?this._type=this.previousTokenType=MathJSLabLexer.WSPACE:this.skip())}NEWLINE_action(t,e){57===e&&(this.continuedTokenType===this.previousTokenType||this.parenthesisCount>0||this.indexingBraceCount>0||this.matrixContext.length>0&&(this.previousTokenType===MathJSLabLexer.LBRACKET||this.previousTokenType===MathJSLabLexer.COMMA||this.previousTokenType===MathJSLabLexer.SEMICOLON)?this.skip():this.previousTokenType=MathJSLabLexer.NEWLINE)}BLOCK_COMMENT_START_action(t,e){58===e&&(this.pushMode(MathJSLabLexer.BLOCK_COMMENT),this.continuedTokenType===this.previousTokenType||this.parenthesisCount>0||this.matrixContext.length>0&&(this.previousTokenType===MathJSLabLexer.LBRACKET||this.previousTokenType===MathJSLabLexer.COMMA||this.previousTokenType===MathJSLabLexer.SEMICOLON)?this.skip():this._type=this.previousTokenType=MathJSLabLexer.NEWLINE)}COMMENT_LINE_action(t,e){switch(e){case 59:this.continuedTokenType===this.previousTokenType||this.parenthesisCount>0?this.skip():this._type=this.previousTokenType=MathJSLabLexer.NEWLINE;break;case 60:this._type=this.previousTokenType=MathJSLabLexer.EOF}}SINGLEQ_STRING_action(t,e){61===e&&(this.quotedString+=this.text,this.skip())}SINGLEQ_NL_action(t,e){62===e&&(this._type=this.previousTokenType=MathJSLabLexer.INVALID)}SINGLEQ_SINGLEQ_action(t,e){63===e&&(this.quotedString+="'",this.skip())}SINGLEQ_END_action(t,e){64===e&&(this.text=`'${this.quotedString}'`,this.popMode(),this._type=this.previousTokenType=MathJSLabLexer.STRING)}DOUBLEQ_STRING_action(t,e){65===e&&(this.quotedString+=this.text,this.skip())}DOUBLEQ_NL_action(t,e){66===e&&(this._type=this.previousTokenType=MathJSLabLexer.INVALID)}DOUBLEQ_DOUBLEQ_action(t,e){67===e&&(this.quotedString+='"',this.skip())}DOUBLEQ_ESCAPE_action(t,e){68===e&&(this.quotedString+=JSON.parse(`"${this.text}"`),this.skip())}DOUBLEQ_ESCAPE_OTHER_action(t,e){69===e&&(this.quotedString+=this.text.substring(1),this.skip())}DOUBLEQ_ESCAPE_OCT_action(t,e){70===e&&(this.quotedString+=JSON.parse(`"\\u${parseInt(this.text.substring(1),8).toString(16).padStart(4,"0")}"`),this.skip())}DOUBLEQ_ESCAPE_HEX_action(localctx,actionIndex){71===actionIndex&&(this.quotedString+=eval(`"\\x${this.text.substring(2)}"`),this.skip())}DOUBLEQ_ESCAPE_UNICODE_action(t,e){72===e&&(this.quotedString+=JSON.parse(`"\\u${this.text.substring(2).padStart(4,"0")}"`),this.skip())}DOUBLEQ_END_action(t,e){73===e&&(this.text=`"${this.quotedString}"`,this.popMode(),this._type=this.previousTokenType=MathJSLabLexer.STRING)}BLOCK_COMMENT_START_AGAIN_action(t,e){74===e&&(this.pushMode(MathJSLabLexer.BLOCK_COMMENT),this.skip())}BLOCK_COMMENT_END_action(t,e){75===e&&(this.popMode(),this.skip())}BLOCK_COMMENT_EOF_action(t,e){if(76===e)throw new SyntaxError("Block comment open at end of input.")}COMMAND_LINE_CONTINUATION_action(t,e){77===e&&(this.commandContinued=!0,this.skip())}COMMAND_CONTINUED_BLOCK_COMMENT_START_action(t,e){78===e&&(this.pushMode(MathJSLabLexer.BLOCK_COMMENT),this.skip())}COMMAND_LONE_DQUOTE_action(t,e){79===e&&(this.commandContinued=!1,this.text='"',this.previousTokenType=MathJSLabLexer.UNQUOTED_STRING,this._type=MathJSLabLexer.UNQUOTED_STRING)}COMMAND_LONE_SQUOTE_action(t,e){80===e&&(this.commandContinued=!1,this.text="'",this.previousTokenType=MathJSLabLexer.UNQUOTED_STRING,this._type=MathJSLabLexer.UNQUOTED_STRING)}COMMAND_UNCLOSED_DQUOTE_action(t,e){81===e&&(this.commandContinued=!1,this.previousTokenType=MathJSLabLexer.UNQUOTED_STRING,this._type=MathJSLabLexer.UNQUOTED_STRING)}COMMAND_UNCLOSED_SQUOTE_action(t,e){82===e&&(this.commandContinued=!1,this.previousTokenType=MathJSLabLexer.UNQUOTED_STRING,this._type=MathJSLabLexer.UNQUOTED_STRING)}COMMAND_DQSTRING_action(t,e){83===e&&(this.commandContinued=!1,this.pushMode(MathJSLabLexer.DQ_STRING),this.quotedString="",this.skip())}COMMAND_SQSTRING_action(t,e){84===e&&(this.commandContinued=!1,this.pushMode(MathJSLabLexer.SQ_STRING),this.quotedString="",this.skip())}COMMAND_SEPARATOR_action(t,e){85===e&&(this.commandContinued=!1,this.popMode(),this._type=this.previousTokenType=","===this.text?MathJSLabLexer.COMMA:MathJSLabLexer.SEMICOLON)}EXIT_AT_NEWLINE_action(t,e){86===e&&(this.commandContinued=!1,this.popMode(),this._type=this.previousTokenType=MathJSLabLexer.NEWLINE)}EXIT_AT_EOF_action(t,e){87===e&&(this.commandContinued=!1,this.popMode(),this._type=this.previousTokenType=MathJSLabLexer.EOF)}UNQUOTED_STRING_action(t,e){88===e&&(this.commandContinued=!1,this.previousTokenType=MathJSLabLexer.UNQUOTED_STRING)}sempred(t,e,r){switch(e){case 58:return this.BLOCK_COMMENT_START_sempred(t,r);case 74:return this.BLOCK_COMMENT_START_AGAIN_sempred(t,r);case 75:return this.BLOCK_COMMENT_END_sempred(t,r);case 79:return this.COMMAND_CONTINUED_BLOCK_COMMENT_START_sempred(t,r);case 80:return this.COMMAND_CONTINUED_COMMENT_LINE_sempred(t,r);case 81:return this.COMMAND_CONTINUED_NEWLINE_sempred(t,r);case 83:return this.COMMAND_LONE_DQUOTE_sempred(t,r);case 84:return this.COMMAND_LONE_SQUOTE_sempred(t,r);case 85:return this.COMMAND_UNCLOSED_DQUOTE_sempred(t,r);case 86:return this.COMMAND_UNCLOSED_SQUOTE_sempred(t,r);case 87:return this.COMMAND_DQSTRING_sempred(t,r);case 88:return this.COMMAND_SQSTRING_sempred(t,r)}return!0}BLOCK_COMMENT_START_sempred(t,e){return 0!==e||0===this.column}BLOCK_COMMENT_START_AGAIN_sempred(t,e){return 1!==e||0===this.column}BLOCK_COMMENT_END_sempred(t,e){return 2!==e||0===this.column}COMMAND_CONTINUED_BLOCK_COMMENT_START_sempred(t,e){return 3!==e||this.commandContinued}COMMAND_CONTINUED_COMMENT_LINE_sempred(t,e){return 4!==e||this.commandContinued}COMMAND_CONTINUED_NEWLINE_sempred(t,e){return 5!==e||this.commandContinued}COMMAND_LONE_DQUOTE_sempred(t,e){return 6!==e||[antlr4__WEBPACK_IMPORTED_MODULE_0__.ou.EOF,9,10,13,32].includes(this._input.LA(1))}COMMAND_LONE_SQUOTE_sempred(t,e){return 7!==e||[antlr4__WEBPACK_IMPORTED_MODULE_0__.ou.EOF,9,10,13,32].includes(this._input.LA(1))}COMMAND_UNCLOSED_DQUOTE_sempred(t,e){return 8!==e||!this.commandQuoteIsClosed(34)}COMMAND_UNCLOSED_SQUOTE_sempred(t,e){return 9!==e||!this.commandQuoteIsClosed(39)}COMMAND_DQSTRING_sempred(t,e){return 10!==e||this.commandQuoteIsClosed(34)}COMMAND_SQSTRING_sempred(t,e){return 11!==e||this.commandQuoteIsClosed(39)}static _serializedATN=[4,0,142,927,6,-1,6,-1,6,-1,6,-1,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,1,0,1,0,1,0,1,1,1,1,1,1,1,2,1,2,1,2,1,3,1,3,1,3,1,4,1,4,1,4,1,5,1,5,1,5,1,6,1,6,1,6,1,7,1,7,1,7,1,8,1,8,1,8,1,9,1,9,1,9,1,10,1,10,1,10,1,11,1,11,1,11,1,12,1,12,1,12,1,13,1,13,1,13,1,14,1,14,1,14,1,15,1,15,1,15,1,16,1,16,1,16,1,17,1,17,1,17,1,18,1,18,1,18,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,25,3,25,310,8,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,3,29,339,8,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,35,1,35,1,35,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,3,39,386,8,39,1,39,1,39,1,40,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,47,1,47,1,47,3,47,426,8,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,3,48,435,8,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,51,1,51,1,51,1,52,1,52,1,52,1,53,1,53,3,53,455,8,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,5,55,469,8,55,10,55,12,55,472,9,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,56,5,56,483,8,56,10,56,12,56,486,9,56,1,56,1,56,3,56,490,8,56,3,56,492,8,56,1,56,1,56,1,57,1,57,1,57,1,58,1,58,3,58,501,8,58,1,58,1,58,1,58,3,58,506,8,58,1,58,1,58,1,58,1,59,1,59,5,59,513,8,59,10,59,12,59,516,9,59,1,59,1,59,1,59,1,59,1,59,3,59,523,8,59,1,60,1,60,1,61,4,61,528,8,61,11,61,12,61,529,1,61,1,61,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,1,65,4,65,546,8,65,11,65,12,65,547,1,65,1,65,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,70,1,70,1,70,3,70,571,8,70,1,70,3,70,574,8,70,1,70,1,70,1,71,1,71,1,71,1,71,3,71,582,8,71,1,71,1,71,1,72,1,72,1,72,1,72,3,72,590,8,72,1,72,3,72,593,8,72,1,72,3,72,596,8,72,1,72,1,72,1,73,1,73,1,73,1,74,1,74,3,74,605,8,74,1,74,1,74,1,74,3,74,610,8,74,1,74,1,74,1,74,1,75,1,75,3,75,617,8,75,1,75,1,75,1,75,3,75,622,8,75,1,75,3,75,625,8,75,1,75,1,75,1,76,5,76,630,8,76,10,76,12,76,633,9,76,1,76,1,76,1,76,1,76,1,77,5,77,640,8,77,10,77,12,77,643,9,77,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,5,78,653,8,78,10,78,12,78,656,9,78,1,78,1,78,1,78,1,79,1,79,3,79,663,8,79,1,79,1,79,1,79,3,79,668,8,79,1,79,1,79,1,79,1,80,1,80,1,80,5,80,676,8,80,10,80,12,80,679,9,80,1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,85,1,85,1,85,5,85,705,8,85,10,85,12,85,708,9,85,1,85,1,85,1,86,1,86,1,86,5,86,715,8,86,10,86,12,86,718,9,86,1,86,1,86,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,89,1,89,5,89,732,8,89,10,89,12,89,735,9,89,1,89,1,89,1,90,1,90,1,90,1,91,1,91,1,91,1,92,1,92,1,92,1,93,1,93,5,93,750,8,93,10,93,12,93,753,9,93,1,93,1,93,1,94,1,94,1,95,1,95,3,95,761,8,95,1,95,3,95,764,8,95,1,96,4,96,767,8,96,11,96,12,96,768,1,97,1,97,5,97,773,8,97,10,97,12,97,776,9,97,1,98,1,98,3,98,780,8,98,1,98,1,98,3,98,784,8,98,1,98,5,98,787,8,98,10,98,12,98,790,9,98,1,99,1,99,3,99,794,8,99,1,99,3,99,797,8,99,1,99,1,99,3,99,801,8,99,1,99,1,99,3,99,805,8,99,1,99,1,99,1,99,1,99,3,99,811,8,99,1,99,3,99,814,8,99,1,99,1,99,3,99,818,8,99,1,99,1,99,3,99,822,8,99,1,99,1,99,1,99,1,99,3,99,828,8,99,1,99,3,99,831,8,99,1,99,1,99,3,99,835,8,99,1,99,1,99,3,99,839,8,99,1,99,1,99,1,99,1,99,3,99,845,8,99,1,99,3,99,848,8,99,1,99,1,99,3,99,852,8,99,1,99,1,99,3,99,856,8,99,3,99,858,8,99,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,3,100,869,8,100,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,3,101,879,8,101,3,101,881,8,101,1,102,1,102,3,102,885,8,102,1,102,5,102,888,8,102,10,102,12,102,891,9,102,1,103,1,103,3,103,895,8,103,1,103,5,103,898,8,103,10,103,12,103,901,9,103,1,104,1,104,3,104,905,8,104,1,104,5,104,908,8,104,10,104,12,104,911,9,104,1,105,1,105,3,105,915,8,105,1,105,5,105,918,8,105,10,105,12,105,921,9,105,1,106,3,106,924,8,106,1,106,1,106,1,631,0,107,5,49,7,50,9,51,11,52,13,53,15,54,17,55,19,56,21,57,23,58,25,59,27,60,29,61,31,62,33,63,35,64,37,65,39,66,41,67,43,68,45,69,47,70,49,71,51,72,53,73,55,74,57,75,59,76,61,77,63,78,65,79,67,80,69,81,71,82,73,83,75,84,77,85,79,86,81,87,83,88,85,89,87,90,89,91,91,92,93,93,95,94,97,95,99,96,101,97,103,98,105,99,107,100,109,101,111,102,113,103,115,104,117,105,119,106,121,107,123,108,125,109,127,110,129,111,131,112,133,113,135,114,137,115,139,116,141,117,143,118,145,119,147,120,149,121,151,122,153,123,155,124,157,125,159,126,161,127,163,128,165,129,167,130,169,131,171,132,173,133,175,134,177,135,179,136,181,137,183,138,185,139,187,140,189,141,191,142,193,0,195,0,197,0,199,0,201,0,203,0,205,0,207,0,209,0,211,0,213,0,215,0,217,0,5,0,1,2,3,4,25,2,0,73,74,105,106,5,0,39,39,42,42,47,47,92,92,94,94,2,0,10,10,13,13,3,0,10,10,13,13,39,39,4,0,10,10,13,13,34,34,92,92,8,0,34,34,39,39,92,92,98,98,102,102,110,110,114,114,116,116,1,0,48,55,3,0,48,57,65,70,97,102,3,0,9,10,13,13,32,32,2,0,44,44,59,59,7,0,9,10,13,13,32,32,34,34,39,39,44,44,59,59,5,0,9,10,13,13,32,32,44,44,59,59,2,0,35,35,37,37,2,0,9,9,32,32,3,0,65,90,95,95,97,122,4,0,48,57,65,90,95,95,97,122,2,0,68,69,100,101,2,0,66,66,98,98,2,0,80,80,112,112,2,0,79,79,111,111,2,0,88,88,120,120,2,0,115,115,117,117,1,0,48,57,1,0,48,49,2,0,43,43,45,45,987,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,1,127,1,0,0,0,1,129,1,0,0,0,1,131,1,0,0,0,1,133,1,0,0,0,2,135,1,0,0,0,2,137,1,0,0,0,2,139,1,0,0,0,2,141,1,0,0,0,2,143,1,0,0,0,2,145,1,0,0,0,2,147,1,0,0,0,2,149,1,0,0,0,2,151,1,0,0,0,3,153,1,0,0,0,3,155,1,0,0,0,3,157,1,0,0,0,3,159,1,0,0,0,4,161,1,0,0,0,4,163,1,0,0,0,4,165,1,0,0,0,4,167,1,0,0,0,4,169,1,0,0,0,4,171,1,0,0,0,4,173,1,0,0,0,4,175,1,0,0,0,4,177,1,0,0,0,4,179,1,0,0,0,4,181,1,0,0,0,4,183,1,0,0,0,4,185,1,0,0,0,4,187,1,0,0,0,4,189,1,0,0,0,4,191,1,0,0,0,5,219,1,0,0,0,7,222,1,0,0,0,9,225,1,0,0,0,11,228,1,0,0,0,13,231,1,0,0,0,15,234,1,0,0,0,17,237,1,0,0,0,19,240,1,0,0,0,21,243,1,0,0,0,23,246,1,0,0,0,25,249,1,0,0,0,27,252,1,0,0,0,29,255,1,0,0,0,31,258,1,0,0,0,33,261,1,0,0,0,35,264,1,0,0,0,37,267,1,0,0,0,39,270,1,0,0,0,41,273,1,0,0,0,43,276,1,0,0,0,45,279,1,0,0,0,47,284,1,0,0,0,49,289,1,0,0,0,51,294,1,0,0,0,53,299,1,0,0,0,55,309,1,0,0,0,57,313,1,0,0,0,59,319,1,0,0,0,61,325,1,0,0,0,63,338,1,0,0,0,65,342,1,0,0,0,67,347,1,0,0,0,69,352,1,0,0,0,71,357,1,0,0,0,73,362,1,0,0,0,75,365,1,0,0,0,77,368,1,0,0,0,79,371,1,0,0,0,81,376,1,0,0,0,83,385,1,0,0,0,85,389,1,0,0,0,87,394,1,0,0,0,89,397,1,0,0,0,91,402,1,0,0,0,93,407,1,0,0,0,95,412,1,0,0,0,97,417,1,0,0,0,99,425,1,0,0,0,101,434,1,0,0,0,103,438,1,0,0,0,105,443,1,0,0,0,107,446,1,0,0,0,109,449,1,0,0,0,111,452,1,0,0,0,113,458,1,0,0,0,115,463,1,0,0,0,117,476,1,0,0,0,119,495,1,0,0,0,121,498,1,0,0,0,123,510,1,0,0,0,125,524,1,0,0,0,127,527,1,0,0,0,129,533,1,0,0,0,131,536,1,0,0,0,133,541,1,0,0,0,135,545,1,0,0,0,137,551,1,0,0,0,139,554,1,0,0,0,141,559,1,0,0,0,143,563,1,0,0,0,145,567,1,0,0,0,147,577,1,0,0,0,149,585,1,0,0,0,151,599,1,0,0,0,153,602,1,0,0,0,155,614,1,0,0,0,157,631,1,0,0,0,159,641,1,0,0,0,161,647,1,0,0,0,163,660,1,0,0,0,165,672,1,0,0,0,167,684,1,0,0,0,169,689,1,0,0,0,171,693,1,0,0,0,173,697,1,0,0,0,175,701,1,0,0,0,177,711,1,0,0,0,179,721,1,0,0,0,181,725,1,0,0,0,183,729,1,0,0,0,185,738,1,0,0,0,187,741,1,0,0,0,189,744,1,0,0,0,191,747,1,0,0,0,193,756,1,0,0,0,195,763,1,0,0,0,197,766,1,0,0,0,199,770,1,0,0,0,201,777,1,0,0,0,203,857,1,0,0,0,205,859,1,0,0,0,207,880,1,0,0,0,209,882,1,0,0,0,211,892,1,0,0,0,213,902,1,0,0,0,215,912,1,0,0,0,217,923,1,0,0,0,219,220,5,43,0,0,220,221,6,0,0,0,221,6,1,0,0,0,222,223,5,45,0,0,223,224,6,1,1,0,224,8,1,0,0,0,225,226,5,42,0,0,226,227,6,2,2,0,227,10,1,0,0,0,228,229,5,47,0,0,229,230,6,3,3,0,230,12,1,0,0,0,231,232,5,61,0,0,232,233,6,4,4,0,233,14,1,0,0,0,234,235,5,58,0,0,235,236,6,5,5,0,236,16,1,0,0,0,237,238,5,59,0,0,238,239,6,6,6,0,239,18,1,0,0,0,240,241,5,44,0,0,241,242,6,7,7,0,242,20,1,0,0,0,243,244,5,46,0,0,244,245,6,8,8,0,245,22,1,0,0,0,246,247,5,126,0,0,247,248,6,9,9,0,248,24,1,0,0,0,249,250,5,33,0,0,250,251,6,10,10,0,251,26,1,0,0,0,252,253,5,64,0,0,253,254,6,11,11,0,254,28,1,0,0,0,255,256,5,63,0,0,256,257,6,12,12,0,257,30,1,0,0,0,258,259,5,40,0,0,259,260,6,13,13,0,260,32,1,0,0,0,261,262,5,41,0,0,262,263,6,14,14,0,263,34,1,0,0,0,264,265,5,91,0,0,265,266,6,15,15,0,266,36,1,0,0,0,267,268,5,93,0,0,268,269,6,16,16,0,269,38,1,0,0,0,270,271,5,123,0,0,271,272,6,17,17,0,272,40,1,0,0,0,273,274,5,125,0,0,274,275,6,18,18,0,275,42,1,0,0,0,276,277,5,92,0,0,277,278,6,19,19,0,278,44,1,0,0,0,279,280,5,43,0,0,280,281,5,61,0,0,281,282,1,0,0,0,282,283,6,20,20,0,283,46,1,0,0,0,284,285,5,45,0,0,285,286,5,61,0,0,286,287,1,0,0,0,287,288,6,21,21,0,288,48,1,0,0,0,289,290,5,42,0,0,290,291,5,61,0,0,291,292,1,0,0,0,292,293,6,22,22,0,293,50,1,0,0,0,294,295,5,47,0,0,295,296,5,61,0,0,296,297,1,0,0,0,297,298,6,23,23,0,298,52,1,0,0,0,299,300,5,92,0,0,300,301,5,61,0,0,301,302,1,0,0,0,302,303,6,24,24,0,303,54,1,0,0,0,304,305,5,94,0,0,305,310,5,61,0,0,306,307,5,42,0,0,307,308,5,42,0,0,308,310,5,61,0,0,309,304,1,0,0,0,309,306,1,0,0,0,310,311,1,0,0,0,311,312,6,25,25,0,312,56,1,0,0,0,313,314,5,46,0,0,314,315,5,42,0,0,315,316,5,61,0,0,316,317,1,0,0,0,317,318,6,26,26,0,318,58,1,0,0,0,319,320,5,46,0,0,320,321,5,47,0,0,321,322,5,61,0,0,322,323,1,0,0,0,323,324,6,27,27,0,324,60,1,0,0,0,325,326,5,46,0,0,326,327,5,92,0,0,327,328,5,61,0,0,328,329,1,0,0,0,329,330,6,28,28,0,330,62,1,0,0,0,331,332,5,46,0,0,332,333,5,94,0,0,333,339,5,61,0,0,334,335,5,46,0,0,335,336,5,42,0,0,336,337,5,42,0,0,337,339,5,61,0,0,338,331,1,0,0,0,338,334,1,0,0,0,339,340,1,0,0,0,340,341,6,29,29,0,341,64,1,0,0,0,342,343,5,38,0,0,343,344,5,61,0,0,344,345,1,0,0,0,345,346,6,30,30,0,346,66,1,0,0,0,347,348,5,124,0,0,348,349,5,61,0,0,349,350,1,0,0,0,350,351,6,31,31,0,351,68,1,0,0,0,352,353,5,38,0,0,353,354,5,38,0,0,354,355,1,0,0,0,355,356,6,32,32,0,356,70,1,0,0,0,357,358,5,124,0,0,358,359,5,124,0,0,359,360,1,0,0,0,360,361,6,33,33,0,361,72,1,0,0,0,362,363,5,38,0,0,363,364,6,34,34,0,364,74,1,0,0,0,365,366,5,124,0,0,366,367,6,35,35,0,367,76,1,0,0,0,368,369,5,60,0,0,369,370,6,36,36,0,370,78,1,0,0,0,371,372,5,60,0,0,372,373,5,61,0,0,373,374,1,0,0,0,374,375,6,37,37,0,375,80,1,0,0,0,376,377,5,61,0,0,377,378,5,61,0,0,378,379,1,0,0,0,379,380,6,38,38,0,380,82,1,0,0,0,381,382,5,33,0,0,382,386,5,61,0,0,383,384,5,126,0,0,384,386,5,61,0,0,385,381,1,0,0,0,385,383,1,0,0,0,386,387,1,0,0,0,387,388,6,39,39,0,388,84,1,0,0,0,389,390,5,62,0,0,390,391,5,61,0,0,391,392,1,0,0,0,392,393,6,40,40,0,393,86,1,0,0,0,394,395,5,62,0,0,395,396,6,41,41,0,396,88,1,0,0,0,397,398,5,46,0,0,398,399,5,42,0,0,399,400,1,0,0,0,400,401,6,42,42,0,401,90,1,0,0,0,402,403,5,46,0,0,403,404,5,47,0,0,404,405,1,0,0,0,405,406,6,43,43,0,406,92,1,0,0,0,407,408,5,46,0,0,408,409,5,92,0,0,409,410,1,0,0,0,410,411,6,44,44,0,411,94,1,0,0,0,412,413,5,43,0,0,413,414,5,43,0,0,414,415,1,0,0,0,415,416,6,45,45,0,416,96,1,0,0,0,417,418,5,45,0,0,418,419,5,45,0,0,419,420,1,0,0,0,420,421,6,46,46,0,421,98,1,0,0,0,422,426,5,94,0,0,423,424,5,42,0,0,424,426,5,42,0,0,425,422,1,0,0,0,425,423,1,0,0,0,426,427,1,0,0,0,427,428,6,47,47,0,428,100,1,0,0,0,429,430,5,46,0,0,430,435,5,94,0,0,431,432,5,46,0,0,432,433,5,42,0,0,433,435,5,42,0,0,434,429,1,0,0,0,434,431,1,0,0,0,435,436,1,0,0,0,436,437,6,48,48,0,437,102,1,0,0,0,438,439,5,46,0,0,439,440,5,39,0,0,440,441,1,0,0,0,441,442,6,49,49,0,442,104,1,0,0,0,443,444,5,39,0,0,444,445,6,50,50,0,445,106,1,0,0,0,446,447,5,34,0,0,447,448,6,51,51,0,448,108,1,0,0,0,449,450,3,199,97,0,450,451,6,52,52,0,451,110,1,0,0,0,452,454,3,203,99,0,453,455,7,0,0,0,454,453,1,0,0,0,454,455,1,0,0,0,455,456,1,0,0,0,456,457,6,53,53,0,457,112,1,0,0,0,458,459,3,207,101,0,459,460,5,46,0,0,460,461,7,1,0,0,461,462,6,54,54,0,462,114,1,0,0,0,463,464,5,46,0,0,464,465,5,46,0,0,465,466,5,46,0,0,466,470,1,0,0,0,467,469,8,2,0,0,468,467,1,0,0,0,469,472,1,0,0,0,470,468,1,0,0,0,470,471,1,0,0,0,471,473,1,0,0,0,472,470,1,0,0,0,473,474,3,195,95,0,474,475,6,55,55,0,475,116,1,0,0,0,476,491,3,197,96,0,477,478,5,46,0,0,478,479,5,46,0,0,479,480,5,46,0,0,480,484,1,0,0,0,481,483,8,2,0,0,482,481,1,0,0,0,483,486,1,0,0,0,484,482,1,0,0,0,484,485,1,0,0,0,485,487,1,0,0,0,486,484,1,0,0,0,487,489,3,195,95,0,488,490,3,197,96,0,489,488,1,0,0,0,489,490,1,0,0,0,490,492,1,0,0,0,491,477,1,0,0,0,491,492,1,0,0,0,492,493,1,0,0,0,493,494,6,56,56,0,494,118,1,0,0,0,495,496,3,195,95,0,496,497,6,57,57,0,497,120,1,0,0,0,498,500,4,58,0,0,499,501,3,197,96,0,500,499,1,0,0,0,500,501,1,0,0,0,501,502,1,0,0,0,502,503,3,193,94,0,503,505,5,123,0,0,504,506,3,197,96,0,505,504,1,0,0,0,505,506,1,0,0,0,506,507,1,0,0,0,507,508,3,195,95,0,508,509,6,58,58,0,509,122,1,0,0,0,510,514,3,193,94,0,511,513,8,2,0,0,512,511,1,0,0,0,513,516,1,0,0,0,514,512,1,0,0,0,514,515,1,0,0,0,515,522,1,0,0,0,516,514,1,0,0,0,517,518,3,195,95,0,518,519,6,59,59,0,519,523,1,0,0,0,520,521,5,0,0,1,521,523,6,59,60,0,522,517,1,0,0,0,522,520,1,0,0,0,523,124,1,0,0,0,524,525,9,0,0,0,525,126,1,0,0,0,526,528,8,3,0,0,527,526,1,0,0,0,528,529,1,0,0,0,529,527,1,0,0,0,529,530,1,0,0,0,530,531,1,0,0,0,531,532,6,61,61,0,532,128,1,0,0,0,533,534,3,195,95,0,534,535,6,62,62,0,535,130,1,0,0,0,536,537,5,39,0,0,537,538,5,39,0,0,538,539,1,0,0,0,539,540,6,63,63,0,540,132,1,0,0,0,541,542,5,39,0,0,542,543,6,64,64,0,543,134,1,0,0,0,544,546,8,4,0,0,545,544,1,0,0,0,546,547,1,0,0,0,547,545,1,0,0,0,547,548,1,0,0,0,548,549,1,0,0,0,549,550,6,65,65,0,550,136,1,0,0,0,551,552,3,195,95,0,552,553,6,66,66,0,553,138,1,0,0,0,554,555,5,34,0,0,555,556,5,34,0,0,556,557,1,0,0,0,557,558,6,67,67,0,558,140,1,0,0,0,559,560,5,92,0,0,560,561,7,5,0,0,561,562,6,68,68,0,562,142,1,0,0,0,563,564,5,92,0,0,564,565,9,0,0,0,565,566,6,69,69,0,566,144,1,0,0,0,567,568,5,92,0,0,568,570,7,6,0,0,569,571,7,6,0,0,570,569,1,0,0,0,570,571,1,0,0,0,571,573,1,0,0,0,572,574,7,6,0,0,573,572,1,0,0,0,573,574,1,0,0,0,574,575,1,0,0,0,575,576,6,70,70,0,576,146,1,0,0,0,577,578,5,92,0,0,578,579,5,120,0,0,579,581,7,7,0,0,580,582,7,7,0,0,581,580,1,0,0,0,581,582,1,0,0,0,582,583,1,0,0,0,583,584,6,71,71,0,584,148,1,0,0,0,585,586,5,92,0,0,586,587,5,117,0,0,587,589,7,7,0,0,588,590,7,7,0,0,589,588,1,0,0,0,589,590,1,0,0,0,590,592,1,0,0,0,591,593,7,7,0,0,592,591,1,0,0,0,592,593,1,0,0,0,593,595,1,0,0,0,594,596,7,7,0,0,595,594,1,0,0,0,595,596,1,0,0,0,596,597,1,0,0,0,597,598,6,72,72,0,598,150,1,0,0,0,599,600,5,34,0,0,600,601,6,73,73,0,601,152,1,0,0,0,602,604,4,74,1,0,603,605,3,197,96,0,604,603,1,0,0,0,604,605,1,0,0,0,605,606,1,0,0,0,606,607,3,193,94,0,607,609,5,123,0,0,608,610,3,197,96,0,609,608,1,0,0,0,609,610,1,0,0,0,610,611,1,0,0,0,611,612,3,195,95,0,612,613,6,74,74,0,613,154,1,0,0,0,614,616,4,75,2,0,615,617,3,197,96,0,616,615,1,0,0,0,616,617,1,0,0,0,617,618,1,0,0,0,618,619,3,193,94,0,619,621,5,125,0,0,620,622,3,197,96,0,621,620,1,0,0,0,621,622,1,0,0,0,622,624,1,0,0,0,623,625,3,195,95,0,624,623,1,0,0,0,624,625,1,0,0,0,625,626,1,0,0,0,626,627,6,75,75,0,627,156,1,0,0,0,628,630,9,0,0,0,629,628,1,0,0,0,630,633,1,0,0,0,631,632,1,0,0,0,631,629,1,0,0,0,632,634,1,0,0,0,633,631,1,0,0,0,634,635,3,195,95,0,635,636,1,0,0,0,636,637,6,76,76,0,637,158,1,0,0,0,638,640,8,2,0,0,639,638,1,0,0,0,640,643,1,0,0,0,641,639,1,0,0,0,641,642,1,0,0,0,642,644,1,0,0,0,643,641,1,0,0,0,644,645,5,0,0,1,645,646,6,77,77,0,646,160,1,0,0,0,647,648,5,46,0,0,648,649,5,46,0,0,649,650,5,46,0,0,650,654,1,0,0,0,651,653,8,2,0,0,652,651,1,0,0,0,653,656,1,0,0,0,654,652,1,0,0,0,654,655,1,0,0,0,655,657,1,0,0,0,656,654,1,0,0,0,657,658,3,195,95,0,658,659,6,78,78,0,659,162,1,0,0,0,660,662,4,79,3,0,661,663,3,197,96,0,662,661,1,0,0,0,662,663,1,0,0,0,663,664,1,0,0,0,664,665,3,193,94,0,665,667,5,123,0,0,666,668,3,197,96,0,667,666,1,0,0,0,667,668,1,0,0,0,668,669,1,0,0,0,669,670,3,195,95,0,670,671,6,79,79,0,671,164,1,0,0,0,672,673,4,80,4,0,673,677,3,193,94,0,674,676,8,2,0,0,675,674,1,0,0,0,676,679,1,0,0,0,677,675,1,0,0,0,677,678,1,0,0,0,678,680,1,0,0,0,679,677,1,0,0,0,680,681,3,195,95,0,681,682,1,0,0,0,682,683,6,80,76,0,683,166,1,0,0,0,684,685,4,81,5,0,685,686,3,195,95,0,686,687,1,0,0,0,687,688,6,81,76,0,688,168,1,0,0,0,689,690,3,197,96,0,690,691,1,0,0,0,691,692,6,82,76,0,692,170,1,0,0,0,693,694,5,34,0,0,694,695,4,83,6,0,695,696,6,83,80,0,696,172,1,0,0,0,697,698,5,39,0,0,698,699,4,84,7,0,699,700,6,84,81,0,700,174,1,0,0,0,701,702,5,34,0,0,702,706,4,85,8,0,703,705,8,8,0,0,704,703,1,0,0,0,705,708,1,0,0,0,706,704,1,0,0,0,706,707,1,0,0,0,707,709,1,0,0,0,708,706,1,0,0,0,709,710,6,85,82,0,710,176,1,0,0,0,711,712,5,39,0,0,712,716,4,86,9,0,713,715,8,8,0,0,714,713,1,0,0,0,715,718,1,0,0,0,716,714,1,0,0,0,716,717,1,0,0,0,717,719,1,0,0,0,718,716,1,0,0,0,719,720,6,86,83,0,720,178,1,0,0,0,721,722,5,34,0,0,722,723,4,87,10,0,723,724,6,87,84,0,724,180,1,0,0,0,725,726,5,39,0,0,726,727,4,88,11,0,727,728,6,88,85,0,728,182,1,0,0,0,729,733,3,193,94,0,730,732,8,2,0,0,731,730,1,0,0,0,732,735,1,0,0,0,733,731,1,0,0,0,733,734,1,0,0,0,734,736,1,0,0,0,735,733,1,0,0,0,736,737,6,89,76,0,737,184,1,0,0,0,738,739,7,9,0,0,739,740,6,90,86,0,740,186,1,0,0,0,741,742,3,195,95,0,742,743,6,91,87,0,743,188,1,0,0,0,744,745,5,0,0,1,745,746,6,92,88,0,746,190,1,0,0,0,747,751,8,10,0,0,748,750,8,11,0,0,749,748,1,0,0,0,750,753,1,0,0,0,751,749,1,0,0,0,751,752,1,0,0,0,752,754,1,0,0,0,753,751,1,0,0,0,754,755,6,93,89,0,755,192,1,0,0,0,756,757,7,12,0,0,757,194,1,0,0,0,758,764,5,13,0,0,759,761,5,13,0,0,760,759,1,0,0,0,760,761,1,0,0,0,761,762,1,0,0,0,762,764,5,10,0,0,763,758,1,0,0,0,763,760,1,0,0,0,764,196,1,0,0,0,765,767,7,13,0,0,766,765,1,0,0,0,767,768,1,0,0,0,768,766,1,0,0,0,768,769,1,0,0,0,769,198,1,0,0,0,770,774,7,14,0,0,771,773,7,15,0,0,772,771,1,0,0,0,773,776,1,0,0,0,774,772,1,0,0,0,774,775,1,0,0,0,775,200,1,0,0,0,776,774,1,0,0,0,777,788,3,199,97,0,778,780,3,197,96,0,779,778,1,0,0,0,779,780,1,0,0,0,780,781,1,0,0,0,781,783,5,46,0,0,782,784,3,197,96,0,783,782,1,0,0,0,783,784,1,0,0,0,784,785,1,0,0,0,785,787,3,199,97,0,786,779,1,0,0,0,787,790,1,0,0,0,788,786,1,0,0,0,788,789,1,0,0,0,789,202,1,0,0,0,790,788,1,0,0,0,791,793,3,209,102,0,792,794,5,46,0,0,793,792,1,0,0,0,793,794,1,0,0,0,794,801,1,0,0,0,795,797,3,209,102,0,796,795,1,0,0,0,796,797,1,0,0,0,797,798,1,0,0,0,798,799,5,46,0,0,799,801,3,209,102,0,800,791,1,0,0,0,800,796,1,0,0,0,801,804,1,0,0,0,802,803,7,16,0,0,803,805,3,217,106,0,804,802,1,0,0,0,804,805,1,0,0,0,805,858,1,0,0,0,806,807,5,48,0,0,807,817,7,17,0,0,808,810,3,211,103,0,809,811,5,46,0,0,810,809,1,0,0,0,810,811,1,0,0,0,811,818,1,0,0,0,812,814,3,211,103,0,813,812,1,0,0,0,813,814,1,0,0,0,814,815,1,0,0,0,815,816,5,46,0,0,816,818,3,211,103,0,817,808,1,0,0,0,817,813,1,0,0,0,818,821,1,0,0,0,819,820,7,18,0,0,820,822,3,217,106,0,821,819,1,0,0,0,821,822,1,0,0,0,822,858,1,0,0,0,823,824,5,48,0,0,824,834,7,19,0,0,825,827,3,213,104,0,826,828