UNPKG

roy

Version:

Small functional language that compiles to JavaScript

516 lines (492 loc) 51 kB
/* Jison generated parser */ var parser = (function(){ var parser = {trace: function trace() { }, yy: {}, symbols_: {"error":2,"program":3,"EOF":4,"SHEBANG":5,"TERMINATOR":6,"body":7,"line":8,"statement":9,"expression":10,"COMMENT":11,"block":12,"INDENT":13,"outdentOrEof":14,"doBody":15,"doLine":16,"IDENTIFIER":17,"LEFTARROW":18,"RETURN":19,"doBlock":20,"LET":21,"function":22,"binding":23,"dataDecl":24,"typeDecl":25,"typeClassDecl":26,"instanceDecl":27,"innerExpression":28,"LAMBDA":29,"paramList":30,"optType":31,"RIGHTARROW":32,"MATCH":33,"caseList":34,"DO":35,"ifThenElse":36,"callArgument":37,"(":38,")":39,"!":40,"accessor":41,"@":42,"MATH":43,"CONCAT":44,"+":45,"-":46,"BOOLOP":47,"COMPARE":48,"WITH":49,"literal":50,"call":51,"CASE":52,"pattern":53,"=":54,"innerPattern":55,"identifier":56,"patternIdentifiers":57,"IF":58,"THEN":59,"ELSE":60,"DATA":61,"optDataParamList":62,"dataList":63,"optTypeParamList":64,"|":65,"TYPE":66,"type":67,"FUNCTION":68,"optTypeFunctionArgList":69,"GENERIC":70,"[":71,"]":72,"typeList":73,"{":74,"optTypePairs":75,"}":76,",":77,"typeParamList":78,"typeFunctionArgList":79,"keywordOrIdentifier":80,":":81,"dataParamList":82,"TYPECLASS":83,"typeClassLines":84,"INSTANCE":85,"object":86,"optWhere":87,"param":88,"WHERE":89,"whereDecls":90,"whereDecl":91,"argList":92,"tuple":93,"tupleList":94,"NUMBER":95,"STRING":96,"BOOLEAN":97,"optValues":98,"optPairs":99,"arrayValues":100,"OUTDENT":101,"keyPairs":102,"optTerm":103,".":104,"$accept":0,"$end":1}, terminals_: {2:"error",4:"EOF",5:"SHEBANG",6:"TERMINATOR",11:"COMMENT",13:"INDENT",17:"IDENTIFIER",18:"LEFTARROW",19:"RETURN",21:"LET",29:"LAMBDA",32:"RIGHTARROW",33:"MATCH",35:"DO",38:"(",39:")",40:"!",42:"@",43:"MATH",44:"CONCAT",45:"+",46:"-",47:"BOOLOP",48:"COMPARE",49:"WITH",52:"CASE",54:"=",58:"IF",59:"THEN",60:"ELSE",61:"DATA",65:"|",66:"TYPE",68:"FUNCTION",70:"GENERIC",71:"[",72:"]",74:"{",76:"}",77:",",81:":",83:"TYPECLASS",85:"INSTANCE",89:"WHERE",95:"NUMBER",96:"STRING",97:"BOOLEAN",101:"OUTDENT",104:"."}, productions_: [0,[3,1],[3,4],[3,3],[3,2],[7,1],[7,3],[7,2],[8,1],[8,1],[8,1],[12,3],[15,1],[15,3],[15,2],[16,1],[16,3],[16,2],[20,3],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[10,1],[10,5],[10,5],[10,5],[10,3],[10,1],[37,3],[37,4],[37,1],[37,3],[37,3],[37,3],[37,3],[37,3],[37,3],[37,3],[37,3],[37,1],[28,1],[28,1],[34,4],[34,6],[53,1],[53,1],[55,4],[57,1],[57,1],[57,2],[57,2],[36,7],[36,6],[24,5],[24,7],[63,2],[63,4],[25,4],[67,2],[67,4],[67,1],[67,3],[67,3],[67,3],[73,1],[73,3],[64,0],[64,1],[78,1],[78,1],[78,3],[78,2],[78,2],[78,4],[69,0],[69,1],[79,1],[79,3],[75,0],[75,3],[75,5],[82,1],[82,2],[62,0],[62,1],[26,9],[84,3],[84,5],[27,6],[22,6],[22,5],[23,4],[23,6],[30,2],[30,1],[30,3],[30,2],[88,1],[88,5],[31,0],[31,2],[87,0],[87,4],[90,1],[90,3],[91,1],[91,6],[91,5],[51,2],[51,4],[92,2],[92,1],[92,3],[92,2],[93,5],[94,1],[94,3],[50,1],[50,1],[50,1],[50,1],[50,3],[50,1],[86,3],[98,0],[98,4],[98,1],[100,1],[100,3],[100,4],[99,0],[99,4],[99,1],[102,3],[102,5],[102,6],[102,3],[102,5],[102,6],[102,3],[102,5],[102,6],[103,0],[103,1],[41,1],[41,3],[41,5],[14,1],[14,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[56,1]], performAction: function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$) { var $0 = $$.length - 1; switch (yystate) { case 1:return new yy.Module([]); break; case 2:return new yy.Module($$[$0-1]); break; case 3:return new yy.Module([]); break; case 4:return new yy.Module($$[$0-1]); break; case 5:this.$ = [$$[$0]]; break; case 6:this.$ = $$[$0-2]; $$[$0-2].push($$[$0]); break; case 7:this.$ = $$[$0-1]; break; case 8:this.$ = $$[$0]; break; case 9:this.$ = $$[$0]; break; case 10:this.$ = new yy.Comment($$[$0]);this.$.lineno = yylineno; break; case 11:this.$ = $$[$0-1]; break; case 12:this.$ = [$$[$0]]; break; case 13:this.$ = $$[$0-2]; $$[$0-2].push($$[$0]); break; case 14:this.$ = $$[$0-1]; break; case 15:this.$ = $$[$0]; break; case 16:this.$ = new yy.Bind($$[$0-2], $$[$0]);this.$.lineno = yylineno; break; case 17:this.$ = new yy.Return($$[$0]);this.$.lineno = yylineno; break; case 18:this.$ = $$[$0-1]; break; case 19:this.$ = $$[$0]; break; case 20:this.$ = $$[$0]; break; case 21:this.$ = $$[$0]; break; case 22:this.$ = $$[$0]; break; case 23:this.$ = $$[$0]; break; case 24:this.$ = $$[$0]; break; case 25:this.$ = $$[$0]; break; case 26:this.$ = new yy.Function(undefined, $$[$0-3], [$$[$0]], $$[$0-2]);this.$.lineno = yylineno; break; case 27:this.$ = new yy.Function(undefined, $$[$0-3], $$[$0], $$[$0-2]);this.$.lineno = yylineno; break; case 28:this.$ = new yy.Match($$[$0-3], $$[$0-1]);this.$.lineno = yylineno; break; case 29:this.$ = new yy.Do($$[$0-1], $$[$0]);this.$.lineno = yylineno; break; case 30:this.$ = $$[$0]; break; case 31:this.$ = $$[$0-1];this.$.lineno = yylineno; break; case 32:this.$ = new yy.UnaryBooleanOperator($$[$0-3], $$[$0-1]);this.$.lineno = yylineno; break; case 33:this.$ = $$[$0]; break; case 34:this.$ = new yy.Access($$[$0-2], $$[$0]);this.$.lineno = yylineno; break; case 35:this.$ = new yy.BinaryNumberOperator($$[$0-1], $$[$0-2], $$[$0]);this.$.lineno = yylineno; break; case 36:this.$ = new yy.BinaryStringOperator($$[$0-1], $$[$0-2], $$[$0]);this.$.lineno = yylineno; break; case 37:this.$ = new yy.BinaryNumberOperator($$[$0-1], $$[$0-2], $$[$0]);this.$.lineno = yylineno; break; case 38:this.$ = new yy.BinaryNumberOperator($$[$0-1], $$[$0-2], $$[$0]);this.$.lineno = yylineno; break; case 39:this.$ = new yy.BinaryBooleanOperator($$[$0-1], $$[$0-2], $$[$0]);this.$.lineno = yylineno; break; case 40:this.$ = new yy.BinaryGenericOperator($$[$0-1], $$[$0-2], $$[$0]);this.$.lineno = yylineno; break; case 41:this.$ = new yy.With($$[$0-2], $$[$0]);this.$.lineno = yylineno; break; case 42:this.$ = $$[$0]; break; case 43:this.$ = $$[$0]; break; case 44:this.$ = $$[$0]; break; case 45:this.$ = [new yy.Case($$[$0-2], $$[$0])]; break; case 46:this.$ = $$[$0-5]; $$[$0-5].push(new yy.Case($$[$0-2], $$[$0])); break; case 47:this.$ = $$[$0]; break; case 48:this.$ = new yy.Pattern($$[$0], []);this.$.lineno = yylineno; break; case 49:this.$ = new yy.Pattern($$[$0-2], $$[$0-1]);this.$.lineno = yylineno; break; case 50:this.$ = [$$[$0]]; break; case 51:this.$ = [$$[$0]]; break; case 52:this.$ = $$[$0-1]; $$[$0-1].push($$[$0]); break; case 53:this.$ = $$[$0-1]; $$[$0-1].push($$[$0]); break; case 54:this.$ = new yy.IfThenElse($$[$0-5], $$[$0-3], $$[$0]);this.$.lineno = yylineno; break; case 55:this.$ = new yy.IfThenElse($$[$0-4], [$$[$0-2]], [$$[$0]]);this.$.lineno = yylineno; break; case 56:this.$ = new yy.Data($$[$0-3], $$[$0-2], $$[$0]);this.$.lineno = yylineno; break; case 57:this.$ = new yy.Data($$[$0-5], $$[$0-4], $$[$0-1]);this.$.lineno = yylineno; break; case 58:this.$ = [new yy.Tag($$[$0-1], $$[$0])]; break; case 59:this.$ = $$[$0-3]; $$[$0-3].push(new yy.Tag($$[$0-1], $$[$0])); break; case 60:this.$ = new yy.Type($$[$0-2], $$[$0]);this.$.lineno = yylineno; break; case 61:this.$ = new yy.TypeName($$[$0-1], $$[$0]); break; case 62:this.$ = new yy.TypeFunction($$[$0-1]); break; case 63:this.$ = new yy.Generic($$[$0]); break; case 64:this.$ = new yy.TypeArray($$[$0-1]); break; case 65:this.$ = new yy.TypeObject($$[$0-1]); break; case 66:this.$ = new yy.TypeObject($$[$0-1]); break; case 67:this.$ = [$$[$0]]; break; case 68:this.$ = $$[$0-2]; $$[$0-2].push($$[$0]); break; case 69:this.$ = []; break; case 70:this.$ = $$[$0]; break; case 71:this.$ = [new yy.TypeName($$[$0], [])]; break; case 72:this.$ = [new yy.Generic($$[$0], [])]; break; case 73:this.$ = [$$[$0-1]]; break; case 74:this.$ = $$[$0-1]; $$[$0-1].push(new yy.TypeName($$[$0], [])); break; case 75:this.$ = $$[$0-1]; $$[$0-1].push(new yy.Generic($$[$0], [])); break; case 76:this.$ = $$[$0-3]; $$[$0-3].push($$[$0-1]); break; case 77:this.$ = []; break; case 78:this.$ = $$[$0]; break; case 79:this.$ = [$$[$0]]; break; case 80:this.$ = $$[$0-2]; $$[$0-2].push($$[$0]); break; case 81:this.$ = {}; break; case 82:this.$ = {}; this.$[$$[$0-2]] = $$[$0]; break; case 83:this.$ = $$[$0-4]; $$[$0-4][$$[$0-2]] = $$[$0]; break; case 84:this.$ = [new yy.Arg($$[$0])]; break; case 85:this.$ = $$[$0-1]; $$[$0-1].push(new yy.Arg($$[$0])); break; case 86:this.$ = []; break; case 87:this.$ = $$[$0]; break; case 88:this.$ = new yy.TypeClass($$[$0-7], new yy.Generic($$[$0-6]), $$[$0-3]); break; case 89:this.$ = {}; this.$[$$[$0-2]] = $$[$0]; break; case 90:this.$ = $$[$0-4]; $$[$0-4][$$[$0-2]] = $$[$0]; break; case 91:this.$ = new yy.Instance($$[$0-4], $$[$0-2], $$[$0-1], $$[$0]); break; case 92:this.$ = new yy.Function($$[$0-5], $$[$0-4], $$[$0-1], $$[$0-3], $$[$0]);this.$.lineno = yylineno; break; case 93:this.$ = new yy.Function($$[$0-4], $$[$0-3], [$$[$0]], $$[$0-2], []);this.$.lineno = yylineno; break; case 94:this.$ = new yy.Let($$[$0-3], $$[$0], $$[$0-2]);this.$.lineno = yylineno; break; case 95:this.$ = new yy.Let($$[$0-5], $$[$0-1], $$[$0-4]);this.$.lineno = yylineno; break; case 96:this.$ = []; break; case 97:this.$ = [$$[$0]]; break; case 98:this.$ = $$[$0-2]; break; case 99:this.$ = $$[$0-1]; $$[$0-1].push($$[$0]); break; case 100:this.$ = new yy.Arg($$[$0]);this.$.lineno = yylineno; break; case 101:this.$ = new yy.Arg($$[$0-3], $$[$0-1]);this.$.lineno = yylineno; break; case 102: break; case 103:this.$ = $$[$0] break; case 104:this.$ = []; break; case 105:this.$ = $$[$0-1]; break; case 106:this.$ = [$$[$0]]; break; case 107:this.$ = $$[$0-2]; $$[$0-2].push($$[$0]); break; case 108:this.$ = $$[$0]; break; case 109:this.$ = new yy.Function($$[$0-5], $$[$0-4], $$[$0-1], $$[$0-3], $$[$0]);this.$.lineno = yylineno; break; case 110:this.$ = new yy.Function($$[$0-4], $$[$0-3], [$$[$0]], $$[$0-2], []);this.$.lineno = yylineno; break; case 111:this.$ = new yy.Call($$[$0-1], $$[$0]);this.$.lineno = yylineno; break; case 112:this.$ = new yy.Call($$[$0-2], $$[$0]);this.$.lineno = yylineno; break; case 113:this.$ = []; break; case 114:this.$ = [$$[$0]]; break; case 115:this.$ = $$[$0-2]; break; case 116:this.$ = $$[$0-1]; $$[$0-1].push($$[$0]); break; case 117:$$[$0-1].unshift($$[$0-3]); this.$ = new yy.Tuple($$[$0-1]);this.$.lineno = yylineno; break; case 118:this.$ = [$$[$0]]; break; case 119:this.$ = $$[$0-2]; $$[$0-2].push($$[$0]); break; case 120:this.$ = new yy.Number($$[$0]);this.$.lineno = yylineno; break; case 121:this.$ = new yy.String($$[$0]);this.$.lineno = yylineno; break; case 122:this.$ = new yy.Boolean($$[$0]);this.$.lineno = yylineno; break; case 123:this.$ = $$[$0]; break; case 124:this.$ = new yy.Array($$[$0-1]);this.$.lineno = yylineno; break; case 125:this.$ = $$[$0]; break; case 126:this.$ = new yy.Object($$[$0-1]);this.$.lineno = yylineno; break; case 127:this.$ = []; break; case 128:this.$ = $$[$0-2]; break; case 129:this.$ = $$[$0]; break; case 130:this.$ = [$$[$0]]; break; case 131:this.$ = $$[$0-2]; $$[$0-2].push($$[$0]); break; case 132:this.$ = $$[$0-3]; $$[$0-3].push($$[$0]); break; case 133:this.$ = {}; break; case 134:this.$ = $$[$0-2]; break; case 135:this.$ = $$[$0]; break; case 136:this.$ = {}; this.$[$$[$0-2]] = $$[$0]; break; case 137:this.$ = $$[$0-4]; $$[$0-4][$$[$0-2]] = $$[$0]; break; case 138:this.$ = $$[$0-5]; $$[$0-5][$$[$0-2]] = $$[$0]; break; case 139:this.$ = {}; this.$[$$[$0-2]] = $$[$0]; break; case 140:this.$ = $$[$0-4]; $$[$0-4][$$[$0-2]] = $$[$0]; break; case 141:this.$ = $$[$0-5]; $$[$0-5][$$[$0-2]] = $$[$0]; break; case 142:this.$ = {}; this.$[$$[$0-2]] = $$[$0]; break; case 143:this.$ = $$[$0-4]; $$[$0-4][$$[$0-2]] = $$[$0]; break; case 144:this.$ = $$[$0-5]; $$[$0-5][$$[$0-2]] = $$[$0]; break; case 145: break; case 146: break; case 147:this.$ = new yy.Identifier($$[$0]);this.$.lineno = yylineno; break; case 148:this.$ = new yy.PropertyAccess($$[$0-2], $$[$0]);this.$.lineno = yylineno; break; case 149:this.$ = new yy.PropertyAccess($$[$0-3], $$[$0]);this.$.lineno = yylineno; break; case 150: break; case 151: break; case 152:this.$ = $$[$0]; break; case 153:this.$ = $$[$0]; break; case 154:this.$ = $$[$0]; break; case 155:this.$ = $$[$0]; break; case 156:this.$ = $$[$0]; break; case 157:this.$ = $$[$0]; break; case 158:this.$ = $$[$0]; break; case 159:this.$ = $$[$0]; break; case 160:this.$ = $$[$0]; break; case 161:this.$ = $$[$0]; break; case 162:this.$ = $$[$0]; break; case 163:this.$ = new yy.Identifier($$[$0]);this.$.lineno = yylineno; break; } }, table: [{3:1,4:[1,2],5:[1,3],7:4,8:5,9:6,10:7,11:[1,8],17:[1,30],21:[1,9],24:10,25:11,26:12,27:13,28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],61:[1,19],66:[1,20],71:[1,35],74:[1,37],83:[1,21],85:[1,22],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{1:[3]},{1:[2,1]},{6:[1,38]},{4:[1,39],6:[1,40]},{4:[2,5],6:[2,5],101:[2,5]},{4:[2,8],6:[2,8],101:[2,8]},{4:[2,9],6:[2,9],101:[2,9]},{4:[2,10],6:[2,10],101:[2,10]},{17:[1,43],22:41,23:42},{4:[2,21],6:[2,21],101:[2,21]},{4:[2,22],6:[2,22],101:[2,22]},{4:[2,23],6:[2,23],101:[2,23]},{4:[2,24],6:[2,24],101:[2,24]},{4:[2,25],6:[2,25],39:[2,25],72:[2,25],76:[2,25],77:[2,25],101:[2,25]},{17:[1,47],30:44,38:[1,45],88:46},{17:[1,30],28:48,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{17:[1,30],28:49,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{4:[2,30],6:[2,30],39:[2,30],72:[2,30],76:[2,30],77:[2,30],101:[2,30]},{17:[1,50]},{17:[1,51]},{17:[1,52]},{17:[1,53]},{4:[2,43],6:[2,43],13:[2,43],39:[2,43],59:[2,43],60:[2,43],72:[2,43],76:[2,43],77:[2,43],101:[2,43]},{4:[2,44],6:[2,44],13:[2,44],39:[2,44],42:[1,54],43:[1,55],44:[1,56],45:[1,57],46:[1,58],47:[1,59],48:[1,60],49:[1,61],59:[2,44],60:[2,44],72:[2,44],76:[2,44],77:[2,44],101:[2,44]},{17:[1,30],28:62,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{4:[2,33],6:[2,33],13:[2,33],17:[1,30],37:66,38:[1,65],39:[2,33],40:[1,28],41:67,42:[2,33],43:[2,33],44:[2,33],45:[2,33],46:[2,33],47:[2,33],48:[2,33],49:[2,33],50:29,59:[2,33],60:[2,33],71:[1,35],72:[2,33],74:[1,37],76:[2,33],77:[2,33],86:36,92:63,93:34,95:[1,31],96:[1,32],97:[1,33],101:[2,33],104:[1,64]},{10:68,17:[1,30],28:69,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{38:[1,70]},{4:[2,42],6:[2,42],13:[2,42],17:[2,42],38:[2,42],39:[2,42],40:[2,42],42:[2,42],43:[2,42],44:[2,42],45:[2,42],46:[2,42],47:[2,42],48:[2,42],49:[2,42],59:[2,42],60:[2,42],71:[2,42],72:[2,42],74:[2,42],76:[2,42],77:[2,42],95:[2,42],96:[2,42],97:[2,42],101:[2,42]},{4:[2,147],6:[2,147],13:[2,147],17:[2,147],38:[2,147],39:[2,147],40:[2,147],42:[2,147],43:[2,147],44:[2,147],45:[2,147],46:[2,147],47:[2,147],48:[2,147],49:[2,147],59:[2,147],60:[2,147],71:[2,147],72:[2,147],74:[2,147],76:[2,147],77:[2,147],95:[2,147],96:[2,147],97:[2,147],101:[2,147],104:[2,147]},{4:[2,120],6:[2,120],13:[2,120],17:[2,120],38:[2,120],39:[2,120],40:[2,120],42:[2,120],43:[2,120],44:[2,120],45:[2,120],46:[2,120],47:[2,120],48:[2,120],49:[2,120],59:[2,120],60:[2,120],71:[2,120],72:[2,120],74:[2,120],76:[2,120],77:[2,120],95:[2,120],96:[2,120],97:[2,120],101:[2,120]},{4:[2,121],6:[2,121],13:[2,121],17:[2,121],38:[2,121],39:[2,121],40:[2,121],42:[2,121],43:[2,121],44:[2,121],45:[2,121],46:[2,121],47:[2,121],48:[2,121],49:[2,121],59:[2,121],60:[2,121],71:[2,121],72:[2,121],74:[2,121],76:[2,121],77:[2,121],95:[2,121],96:[2,121],97:[2,121],101:[2,121]},{4:[2,122],6:[2,122],13:[2,122],17:[2,122],38:[2,122],39:[2,122],40:[2,122],42:[2,122],43:[2,122],44:[2,122],45:[2,122],46:[2,122],47:[2,122],48:[2,122],49:[2,122],59:[2,122],60:[2,122],71:[2,122],72:[2,122],74:[2,122],76:[2,122],77:[2,122],95:[2,122],96:[2,122],97:[2,122],101:[2,122]},{4:[2,123],6:[2,123],13:[2,123],17:[2,123],38:[2,123],39:[2,123],40:[2,123],42:[2,123],43:[2,123],44:[2,123],45:[2,123],46:[2,123],47:[2,123],48:[2,123],49:[2,123],59:[2,123],60:[2,123],71:[2,123],72:[2,123],74:[2,123],76:[2,123],77:[2,123],95:[2,123],96:[2,123],97:[2,123],101:[2,123]},{10:74,13:[1,72],17:[1,30],28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],72:[2,127],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33],98:71,100:73},{4:[2,125],6:[2,125],13:[2,125],17:[2,125],38:[2,125],39:[2,125],40:[2,125],42:[2,125],43:[2,125],44:[2,125],45:[2,125],46:[2,125],47:[2,125],48:[2,125],49:[2,125],59:[2,125],60:[2,125],71:[2,125],72:[2,125],74:[2,125],76:[2,125],77:[2,125],95:[2,125],96:[2,125],97:[2,125],101:[2,125]},{13:[1,76],17:[1,91],19:[1,88],33:[1,85],35:[1,87],49:[1,89],52:[1,86],59:[1,81],60:[1,82],61:[1,83],66:[1,84],76:[2,133],80:78,89:[1,90],95:[1,80],96:[1,79],99:75,102:77},{4:[1,93],7:92,8:5,9:6,10:7,11:[1,8],17:[1,30],21:[1,9],24:10,25:11,26:12,27:13,28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],61:[1,19],66:[1,20],71:[1,35],74:[1,37],83:[1,21],85:[1,22],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{1:[2,4]},{4:[2,7],6:[2,7],8:94,9:6,10:7,11:[1,8],17:[1,30],21:[1,9],24:10,25:11,26:12,27:13,28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],61:[1,19],66:[1,20],71:[1,35],74:[1,37],83:[1,21],85:[1,22],86:36,93:34,95:[1,31],96:[1,32],97:[1,33],101:[2,7]},{4:[2,19],6:[2,19],101:[2,19]},{4:[2,20],6:[2,20],101:[2,20]},{17:[1,47],30:95,31:96,38:[1,45],54:[2,102],81:[1,97],88:46},{17:[1,47],31:98,32:[2,102],38:[1,99],81:[1,97],88:100},{17:[1,102],39:[1,101]},{17:[2,97],32:[2,97],38:[2,97],54:[2,97],81:[2,97]},{17:[2,100],32:[2,100],38:[2,100],54:[2,100],81:[2,100]},{13:[1,103]},{13:[1,105],20:104},{17:[1,108],54:[2,86],62:106,82:107},{54:[1,109]},{70:[1,110]},{54:[1,111]},{17:[1,30],37:112,38:[1,113],40:[1,28],41:67,50:29,71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{17:[1,30],37:114,38:[1,113],40:[1,28],41:67,50:29,71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{17:[1,30],37:115,38:[1,113],40:[1,28],41:67,50:29,71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{17:[1,30],37:116,38:[1,113],40:[1,28],41:67,50:29,71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{17:[1,30],37:117,38:[1,113],40:[1,28],41:67,50:29,71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{17:[1,30],37:118,38:[1,113],40:[1,28],41:67,50:29,71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{17:[1,30],37:119,38:[1,113],40:[1,28],41:67,50:29,71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{17:[1,30],37:120,38:[1,113],40:[1,28],41:67,50:29,71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{59:[1,121]},{4:[2,111],6:[2,111],13:[2,111],17:[1,30],37:123,38:[1,122],39:[2,111],40:[1,28],41:67,50:29,59:[2,111],60:[2,111],71:[1,35],72:[2,111],74:[1,37],76:[2,111],77:[2,111],86:36,93:34,95:[1,31],96:[1,32],97:[1,33],101:[2,111]},{17:[1,91],19:[1,88],33:[1,85],35:[1,87],49:[1,89],52:[1,86],59:[1,81],60:[1,82],61:[1,83],66:[1,84],80:124,89:[1,90]},{10:126,17:[1,30],28:69,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],39:[1,125],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{4:[2,114],6:[2,114],13:[2,114],17:[2,114],38:[2,114],39:[2,114],40:[2,114],42:[1,54],43:[1,55],44:[1,56],45:[1,57],46:[1,58],47:[1,59],48:[1,60],49:[1,61],59:[2,114],60:[2,114],71:[2,114],72:[2,114],74:[2,114],76:[2,114],77:[2,114],95:[2,114],96:[2,114],97:[2,114],101:[2,114]},{4:[2,33],6:[2,33],13:[2,33],17:[2,33],38:[2,33],39:[2,33],40:[2,33],42:[2,33],43:[2,33],44:[2,33],45:[2,33],46:[2,33],47:[2,33],48:[2,33],49:[2,33],59:[2,33],60:[2,33],71:[2,33],72:[2,33],74:[2,33],76:[2,33],77:[2,33],95:[2,33],96:[2,33],97:[2,33],101:[2,33],104:[1,64]},{39:[1,127]},{39:[2,25],77:[1,128]},{10:129,17:[1,30],28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{72:[1,130]},{10:74,17:[1,30],28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33],100:131},{72:[2,129],77:[1,132]},{72:[2,130],77:[2,130],101:[2,130]},{76:[1,133]},{17:[1,91],19:[1,88],33:[1,85],35:[1,87],49:[1,89],52:[1,86],59:[1,81],60:[1,82],61:[1,83],66:[1,84],80:78,89:[1,90],95:[1,80],96:[1,79],102:134},{6:[1,136],76:[2,135],77:[1,135]},{81:[1,137]},{81:[1,138]},{81:[1,139]},{4:[2,152],6:[2,152],13:[2,152],17:[2,152],38:[2,152],39:[2,152],40:[2,152],42:[2,152],43:[2,152],44:[2,152],45:[2,152],46:[2,152],47:[2,152],48:[2,152],49:[2,152],59:[2,152],60:[2,152],71:[2,152],72:[2,152],74:[2,152],76:[2,152],77:[2,152],81:[2,152],95:[2,152],96:[2,152],97:[2,152],101:[2,152],104:[2,152]},{4:[2,153],6:[2,153],13:[2,153],17:[2,153],38:[2,153],39:[2,153],40:[2,153],42:[2,153],43:[2,153],44:[2,153],45:[2,153],46:[2,153],47:[2,153],48:[2,153],49:[2,153],59:[2,153],60:[2,153],71:[2,153],72:[2,153],74:[2,153],76:[2,153],77:[2,153],81:[2,153],95:[2,153],96:[2,153],97:[2,153],101:[2,153],104:[2,153]},{4:[2,154],6:[2,154],13:[2,154],17:[2,154],38:[2,154],39:[2,154],40:[2,154],42:[2,154],43:[2,154],44:[2,154],45:[2,154],46:[2,154],47:[2,154],48:[2,154],49:[2,154],59:[2,154],60:[2,154],71:[2,154],72:[2,154],74:[2,154],76:[2,154],77:[2,154],81:[2,154],95:[2,154],96:[2,154],97:[2,154],101:[2,154],104:[2,154]},{4:[2,155],6:[2,155],13:[2,155],17:[2,155],38:[2,155],39:[2,155],40:[2,155],42:[2,155],43:[2,155],44:[2,155],45:[2,155],46:[2,155],47:[2,155],48:[2,155],49:[2,155],59:[2,155],60:[2,155],71:[2,155],72:[2,155],74:[2,155],76:[2,155],77:[2,155],81:[2,155],95:[2,155],96:[2,155],97:[2,155],101:[2,155],104:[2,155]},{4:[2,156],6:[2,156],13:[2,156],17:[2,156],38:[2,156],39:[2,156],40:[2,156],42:[2,156],43:[2,156],44:[2,156],45:[2,156],46:[2,156],47:[2,156],48:[2,156],49:[2,156],59:[2,156],60:[2,156],71:[2,156],72:[2,156],74:[2,156],76:[2,156],77:[2,156],81:[2,156],95:[2,156],96:[2,156],97:[2,156],101:[2,156],104:[2,156]},{4:[2,157],6:[2,157],13:[2,157],17:[2,157],38:[2,157],39:[2,157],40:[2,157],42:[2,157],43:[2,157],44:[2,157],45:[2,157],46:[2,157],47:[2,157],48:[2,157],49:[2,157],59:[2,157],60:[2,157],71:[2,157],72:[2,157],74:[2,157],76:[2,157],77:[2,157],81:[2,157],95:[2,157],96:[2,157],97:[2,157],101:[2,157],104:[2,157]},{4:[2,158],6:[2,158],13:[2,158],17:[2,158],38:[2,158],39:[2,158],40:[2,158],42:[2,158],43:[2,158],44:[2,158],45:[2,158],46:[2,158],47:[2,158],48:[2,158],49:[2,158],59:[2,158],60:[2,158],71:[2,158],72:[2,158],74:[2,158],76:[2,158],77:[2,158],81:[2,158],95:[2,158],96:[2,158],97:[2,158],101:[2,158],104:[2,158]},{4:[2,159],6:[2,159],13:[2,159],17:[2,159],38:[2,159],39:[2,159],40:[2,159],42:[2,159],43:[2,159],44:[2,159],45:[2,159],46:[2,159],47:[2,159],48:[2,159],49:[2,159],59:[2,159],60:[2,159],71:[2,159],72:[2,159],74:[2,159],76:[2,159],77:[2,159],81:[2,159],95:[2,159],96:[2,159],97:[2,159],101:[2,159],104:[2,159]},{4:[2,160],6:[2,160],13:[2,160],17:[2,160],38:[2,160],39:[2,160],40:[2,160],42:[2,160],43:[2,160],44:[2,160],45:[2,160],46:[2,160],47:[2,160],48:[2,160],49:[2,160],59:[2,160],60:[2,160],71:[2,160],72:[2,160],74:[2,160],76:[2,160],77:[2,160],81:[2,160],95:[2,160],96:[2,160],97:[2,160],101:[2,160],104:[2,160]},{4:[2,161],6:[2,161],13:[2,161],17:[2,161],38:[2,161],39:[2,161],40:[2,161],42:[2,161],43:[2,161],44:[2,161],45:[2,161],46:[2,161],47:[2,161],48:[2,161],49:[2,161],59:[2,161],60:[2,161],71:[2,161],72:[2,161],74:[2,161],76:[2,161],77:[2,161],81:[2,161],95:[2,161],96:[2,161],97:[2,161],101:[2,161],104:[2,161]},{4:[2,162],6:[2,162],13:[2,162],17:[2,162],38:[2,162],39:[2,162],40:[2,162],42:[2,162],43:[2,162],44:[2,162],45:[2,162],46:[2,162],47:[2,162],48:[2,162],49:[2,162],59:[2,162],60:[2,162],71:[2,162],72:[2,162],74:[2,162],76:[2,162],77:[2,162],81:[2,162],95:[2,162],96:[2,162],97:[2,162],101:[2,162],104:[2,162]},{4:[1,140],6:[1,40]},{1:[2,3]},{4:[2,6],6:[2,6],101:[2,6]},{17:[1,47],31:141,38:[1,99],54:[2,102],81:[1,97],88:100},{54:[1,142]},{17:[1,144],38:[1,148],67:143,68:[1,145],70:[1,146],71:[1,147],74:[1,149]},{32:[1,150]},{17:[1,102],39:[1,151]},{17:[2,99],32:[2,99],38:[2,99],54:[2,99],81:[2,99]},{17:[2,96],32:[2,96],38:[2,96],54:[2,96],81:[2,96]},{81:[1,152]},{34:153,52:[1,154]},{4:[2,29],6:[2,29],39:[2,29],72:[2,29],76:[2,29],77:[2,29],101:[2,29]},{8:157,9:6,10:7,11:[1,8],15:155,16:156,17:[1,158],19:[1,159],21:[1,9],24:10,25:11,26:12,27:13,28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],61:[1,19],66:[1,20],71:[1,35],74:[1,37],83:[1,21],85:[1,22],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{54:[1,160]},{17:[1,161],54:[2,87]},{17:[2,84],54:[2,84]},{17:[1,144],38:[1,148],67:162,68:[1,145],70:[1,146],71:[1,147],74:[1,149]},{74:[1,163]},{17:[1,164]},{4:[2,34],6:[2,34],13:[2,34],17:[2,34],38:[2,34],39:[2,34],40:[2,34],42:[2,34],43:[1,55],44:[1,56],45:[2,34],46:[2,34],47:[2,34],48:[2,34],49:[2,34],59:[2,34],60:[2,34],71:[2,34],72:[2,34],74:[2,34],76:[2,34],77:[2,34],95:[2,34],96:[2,34],97:[2,34],101:[2,34]},{10:126,17:[1,30],28:69,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{4:[2,35],6:[2,35],13:[2,35],17:[2,35],38:[2,35],39:[2,35],40:[2,35],42:[2,35],43:[2,35],44:[2,35],45:[2,35],46:[2,35],47:[2,35],48:[2,35],49:[2,35],59:[2,35],60:[2,35],71:[2,35],72:[2,35],74:[2,35],76:[2,35],77:[2,35],95:[2,35],96:[2,35],97:[2,35],101:[2,35]},{4:[2,36],6:[2,36],13:[2,36],17:[2,36],38:[2,36],39:[2,36],40:[2,36],42:[2,36],43:[2,36],44:[2,36],45:[2,36],46:[2,36],47:[2,36],48:[2,36],49:[2,36],59:[2,36],60:[2,36],71:[2,36],72:[2,36],74:[2,36],76:[2,36],77:[2,36],95:[2,36],96:[2,36],97:[2,36],101:[2,36]},{4:[2,37],6:[2,37],13:[2,37],17:[2,37],38:[2,37],39:[2,37],40:[2,37],42:[2,37],43:[1,55],44:[1,56],45:[2,37],46:[2,37],47:[2,37],48:[2,37],49:[2,37],59:[2,37],60:[2,37],71:[2,37],72:[2,37],74:[2,37],76:[2,37],77:[2,37],95:[2,37],96:[2,37],97:[2,37],101:[2,37]},{4:[2,38],6:[2,38],13:[2,38],17:[2,38],38:[2,38],39:[2,38],40:[2,38],42:[2,38],43:[1,55],44:[1,56],45:[2,38],46:[2,38],47:[2,38],48:[2,38],49:[2,38],59:[2,38],60:[2,38],71:[2,38],72:[2,38],74:[2,38],76:[2,38],77:[2,38],95:[2,38],96:[2,38],97:[2,38],101:[2,38]},{4:[2,39],6:[2,39],13:[2,39],17:[2,39],38:[2,39],39:[2,39],40:[2,39],42:[1,54],43:[1,55],44:[1,56],45:[1,57],46:[1,58],47:[2,39],48:[1,60],49:[1,61],59:[2,39],60:[2,39],71:[2,39],72:[2,39],74:[2,39],76:[2,39],77:[2,39],95:[2,39],96:[2,39],97:[2,39],101:[2,39]},{4:[2,40],6:[2,40],13:[2,40],17:[2,40],38:[2,40],39:[2,40],40:[2,40],42:[1,54],43:[1,55],44:[1,56],45:[1,57],46:[1,58],47:[2,40],48:[2,40],49:[2,40],59:[2,40],60:[2,40],71:[2,40],72:[2,40],74:[2,40],76:[2,40],77:[2,40],95:[2,40],96:[2,40],97:[2,40],101:[2,40]},{4:[2,41],6:[2,41],13:[2,41],17:[2,41],38:[2,41],39:[2,41],40:[2,41],42:[1,54],43:[1,55],44:[1,56],45:[1,57],46:[1,58],47:[2,41],48:[2,41],49:[2,41],59:[2,41],60:[2,41],71:[2,41],72:[2,41],74:[2,41],76:[2,41],77:[2,41],95:[2,41],96:[2,41],97:[2,41],101:[2,41]},{12:165,13:[1,167],17:[1,30],28:166,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{10:126,17:[1,30],28:69,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],39:[1,168],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{4:[2,116],6:[2,116],13:[2,116],17:[2,116],38:[2,116],39:[2,116],40:[2,116],42:[1,54],43:[1,55],44:[1,56],45:[1,57],46:[1,58],47:[1,59],48:[1,60],49:[1,61],59:[2,116],60:[2,116],71:[2,116],72:[2,116],74:[2,116],76:[2,116],77:[2,116],95:[2,116],96:[2,116],97:[2,116],101:[2,116]},{4:[2,148],6:[2,148],13:[2,148],17:[2,148],38:[2,148],39:[2,148],40:[2,148],42:[2,148],43:[2,148],44:[2,148],45:[2,148],46:[2,148],47:[2,148],48:[2,148],49:[2,148],59:[2,148],60:[2,148],71:[2,148],72:[2,148],74:[2,148],76:[2,148],77:[2,148],95:[2,148],96:[2,148],97:[2,148],101:[2,148],104:[2,148]},{4:[2,113],6:[2,113],13:[2,113],17:[2,113],38:[2,113],39:[2,113],40:[2,113],59:[2,113],60:[2,113],71:[2,113],72:[2,113],74:[2,113],76:[2,113],77:[2,113],95:[2,113],96:[2,113],97:[2,113],101:[2,113]},{39:[1,169]},{4:[2,31],6:[2,31],13:[2,31],17:[1,30],37:66,38:[1,65],39:[2,31],40:[1,28],41:67,42:[2,31],43:[2,31],44:[2,31],45:[2,31],46:[2,31],47:[2,31],48:[2,31],49:[2,31],50:29,59:[2,31],60:[2,31],71:[1,35],72:[2,31],74:[1,37],76:[2,31],77:[2,31],86:36,92:170,93:34,95:[1,31],96:[1,32],97:[1,33],101:[2,31],104:[1,171]},{17:[1,30],28:173,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,71:[1,35],74:[1,37],86:36,93:34,94:172,95:[1,31],96:[1,32],97:[1,33]},{39:[1,174]},{4:[2,124],6:[2,124],13:[2,124],17:[2,124],38:[2,124],39:[2,124],40:[2,124],42:[2,124],43:[2,124],44:[2,124],45:[2,124],46:[2,124],47:[2,124],48:[2,124],49:[2,124],59:[2,124],60:[2,124],71:[2,124],72:[2,124],74:[2,124],76:[2,124],77:[2,124],95:[2,124],96:[2,124],97:[2,124],101:[2,124]},{77:[1,132],101:[1,175]},{6:[1,177],10:176,17:[1,30],28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{4:[2,126],6:[2,126],13:[2,126],17:[2,126],38:[2,126],39:[2,126],40:[2,126],42:[2,126],43:[2,126],44:[2,126],45:[2,126],46:[2,126],47:[2,126],48:[2,126],49:[2,126],59:[2,126],60:[2,126],71:[2,126],72:[2,126],74:[2,126],76:[2,126],77:[2,126],95:[2,126],96:[2,126],97:[2,126],101:[2,126]},{6:[1,136],77:[1,135],101:[1,178]},{17:[1,91],19:[1,88],33:[1,85],35:[1,87],49:[1,89],52:[1,86],59:[1,81],60:[1,82],61:[1,83],66:[1,84],80:179,89:[1,90],95:[1,181],96:[1,180]},{6:[1,183],17:[2,145],19:[2,145],33:[2,145],35:[2,145],49:[2,145],52:[2,145],59:[2,145],60:[2,145],61:[2,145],66:[2,145],89:[2,145],95:[2,145],96:[2,145],103:182},{10:184,17:[1,30],28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{10:185,17:[1,30],28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{10:186,17:[1,30],28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{1:[2,2]},{54:[1,187]},{10:188,13:[1,189],17:[1,30],28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{32:[2,103],54:[2,103]},{4:[2,69],6:[2,69],17:[1,192],32:[2,69],38:[1,194],39:[2,69],54:[2,69],64:190,70:[1,193],72:[2,69],74:[2,69],76:[2,69],77:[2,69],78:191,101:[2,69]},{38:[1,195]},{4:[2,63],6:[2,63],32:[2,63],39:[2,63],54:[2,63],72:[2,63],74:[2,63],76:[2,63],77:[2,63],101:[2,63]},{17:[1,144],38:[1,148],67:196,68:[1,145],70:[1,146],71:[1,147],74:[1,149]},{17:[1,144],38:[1,148],67:198,68:[1,145],70:[1,146],71:[1,147],73:197,74:[1,149]},{17:[1,91],19:[1,88],33:[1,85],35:[1,87],49:[1,89],52:[1,86],59:[1,81],60:[1,82],61:[1,83],66:[1,84],75:199,76:[2,81],77:[2,81],80:200,89:[1,90]},{10:201,12:202,13:[1,167],17:[1,30],28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{17:[2,98],32:[2,98],38:[2,98],54:[2,98],81:[2,98]},{17:[1,144],38:[1,148],67:203,68:[1,145],70:[1,146],71:[1,147],74:[1,149]},{4:[1,207],6:[1,205],14:204,101:[1,206]},{17:[1,212],38:[1,211],53:208,55:209,56:210},{4:[1,207],6:[1,214],14:213,101:[1,206]},{4:[2,12],6:[2,12],101:[2,12]},{4:[2,15],6:[2,15],101:[2,15]},{4:[2,147],6:[2,147],17:[2,147],18:[1,215],38:[2,147],40:[2,147],42:[2,147],43:[2,147],44:[2,147],45:[2,147],46:[2,147],47:[2,147],48:[2,147],49:[2,147],71:[2,147],74:[2,147],95:[2,147],96:[2,147],97:[2,147],101:[2,147],104:[2,147]},{10:216,17:[1,30],28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{13:[1,218],17:[1,219],63:217},{17:[2,85],54:[2,85]},{4:[2,60],6:[2,60],101:[2,60]},{13:[1,220]},{17:[1,144],38:[1,148],67:221,68:[1,145],70:[1,146],71:[1,147],74:[1,149]},{6:[1,222]},{60:[1,223]},{7:224,8:5,9:6,10:7,11:[1,8],17:[1,30],21:[1,9],24:10,25:11,26:12,27:13,28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],61:[1,19],66:[1,20],71:[1,35],74:[1,37],83:[1,21],85:[1,22],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{4:[2,115],6:[2,115],13:[2,115],17:[2,115],38:[2,115],39:[2,115],40:[2,115],59:[2,115],60:[2,115],71:[2,115],72:[2,115],74:[2,115],76:[2,115],77:[2,115],95:[2,115],96:[2,115],97:[2,115],101:[2,115]},{4:[2,31],6:[2,31],13:[2,31],17:[2,31],38:[2,31],39:[2,31],40:[2,31],42:[2,31],43:[2,31],44:[2,31],45:[2,31],46:[2,31],47:[2,31],48:[2,31],49:[2,31],59:[2,31],60:[2,31],71:[2,31],72:[2,31],74:[2,31],76:[2,31],77:[2,31],95:[2,31],96:[2,31],97:[2,31],101:[2,31],104:[1,171]},{4:[2,112],6:[2,112],13:[2,112],17:[1,30],37:123,38:[1,122],39:[2,112],40:[1,28],41:67,50:29,59:[2,112],60:[2,112],71:[1,35],72:[2,112],74:[1,37],76:[2,112],77:[2,112],86:36,93:34,95:[1,31],96:[1,32],97:[1,33],101:[2,112]},{17:[1,91],19:[1,88],33:[1,85],35:[1,87],49:[1,89],52:[1,86],59:[1,81],60:[1,82],61:[1,83],66:[1,84],80:225,89:[1,90]},{39:[1,226],77:[1,227]},{39:[2,118],77:[2,118]},{4:[2,32],6:[2,32],13:[2,32],17:[2,32],38:[2,32],39:[2,32],40:[2,32],42:[2,32],43:[2,32],44:[2,32],45:[2,32],46:[2,32],47:[2,32],48:[2,32],49:[2,32],59:[2,32],60:[2,32],71:[2,32],72:[2,32],74:[2,32],76:[2,32],77:[2,32],95:[2,32],96:[2,32],97:[2,32],101:[2,32]},{6:[1,228]},{72:[2,131],77:[2,131],101:[2,131]},{10:229,17:[1,30],28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{6:[1,230]},{81:[1,231]},{81:[1,232]},{81:[1,233]},{17:[1,91],19:[1,88],33:[1,85],35:[1,87],49:[1,89],52:[1,86],59:[1,81],60:[1,82],61:[1,83],66:[1,84],80:234,89:[1,90],95:[1,236],96:[1,235]},{17:[2,146],19:[2,146],33:[2,146],35:[2,146],49:[2,146],52:[2,146],59:[2,146],60:[2,146],61:[2,146],66:[2,146],89:[2,146],95:[2,146],96:[2,146]},{6:[2,136],76:[2,136],77:[2,136],101:[2,136]},{6:[2,139],76:[2,139],77:[2,139],101:[2,139]},{6:[2,142],76:[2,142],77:[2,142],101:[2,142]},{10:238,12:237,13:[1,167],17:[1,30],28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{4:[2,94],6:[2,94],101:[2,94]},{10:239,17:[1,30],28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{4:[2,61],6:[2,61],32:[2,61],39:[2,61],54:[2,61],72:[2,61],74:[2,61],76:[2,61],77:[2,61],101:[2,61]},{4:[2,70],6:[2,70],17:[1,240],32:[2,70],38:[1,242],39:[2,70],54:[2,70],65:[2,70],70:[1,241],72:[2,70],74:[2,70],76:[2,70],77:[2,70],101:[2,70]},{4:[2,71],6:[2,71],17:[2,71],32:[2,71],38:[2,71],39:[2,71],54:[2,71],65:[2,71],70:[2,71],72:[2,71],74:[2,71],76:[2,71],77:[2,71],101:[2,71]},{4:[2,72],6:[2,72],17:[2,72],32:[2,72],38:[2,72],39:[2,72],54:[2,72],65:[2,72],70:[2,72],72:[2,72],74:[2,72],76:[2,72],77:[2,72],101:[2,72]},{17:[1,144],38:[1,148],67:243,68:[1,145],70:[1,146],71:[1,147],74:[1,149]},{17:[1,144],38:[1,148],39:[2,77],67:246,68:[1,145],69:244,70:[1,146],71:[1,147],74:[1,149],79:245},{72:[1,247]},{39:[1,248],77:[1,249]},{39:[2,67],77:[2,67]},{76:[1,250],77:[1,251]},{81:[1,252]},{4:[2,26],6:[2,26],39:[2,26],72:[2,26],76:[2,26],77:[2,26],101:[2,26]},{4:[2,27],6:[2,27],39:[2,27],72:[2,27],76:[2,27],77:[2,27],101:[2,27]},{39:[1,253]},{4:[2,28],6:[2,28],39:[2,28],72:[2,28],76:[2,28],77:[2,28],101:[2,28]},{52:[1,254]},{4:[2,150],6:[2,150],39:[2,150],72:[2,150],76:[2,150],77:[2,150],89:[2,150],101:[2,150]},{4:[2,151],6:[2,151],39:[2,151],72:[2,151],76:[2,151],77:[2,151],89:[2,151],101:[2,151]},{54:[1,255]},{54:[2,47]},{54:[2,48]},{17:[1,212],56:256},{17:[2,163],38:[2,163],39:[2,163],54:[2,163]},{4:[2,18],6:[2,18],39:[2,18],72:[2,18],76:[2,18],77:[2,18],101:[2,18]},{4:[2,14],6:[2,14],8:157,9:6,10:7,11:[1,8],16:257,17:[1,158],19:[1,159],21:[1,9],24:10,25:11,26:12,27:13,28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],61:[1,19],66:[1,20],71:[1,35],74:[1,37],83:[1,21],85:[1,22],86:36,93:34,95:[1,31],96:[1,32],97:[1,33],101:[2,14]},{10:258,17:[1,30],28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{4:[2,17],6:[2,17],101:[2,17]},{4:[2,56],6:[2,56],65:[1,259],101:[2,56]},{17:[1,219],63:260},{4:[2,69],6:[2,69],17:[1,192],38:[1,194],64:261,65:[2,69],70:[1,193],78:191,101:[2,69]},{17:[1,263],84:262},{74:[1,37],86:264},{60:[1,265]},{17:[1,30],28:266,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{4:[1,207],6:[1,40],14:267,101:[1,206]},{4:[2,149],6:[2,149],13:[2,149],17:[2,149],38:[2,149],39:[2,149],40:[2,149],42:[2,149],43:[2,149],44:[2,149],45:[2,149],46:[2,149],47:[2,149],48:[2,149],49:[2,149],59:[2,149],60:[2,149],71:[2,149],72:[2,149],74:[2,149],76:[2,149],77:[2,149],95:[2,149],96:[2,149],97:[2,149],101:[2,149],104:[2,149]},{4:[2,117],6:[2,117],13:[2,117],17:[2,117],38:[2,117],39:[2,117],40:[2,117],42:[2,117],43:[2,117],44:[2,117],45:[2,117],46:[2,117],47:[2,117],48:[2,117],49:[2,117],59:[2,117],60:[2,117],71:[2,117],72:[2,117],74:[2,117],76:[2,117],77:[2,117],95:[2,117],96:[2,117],97:[2,117],101:[2,117]},{17:[1,30],28:268,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{72:[2,128]},{72:[2,132],77:[2,132],101:[2,132]},{76:[2,134]},{10:269,17:[1,30],28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{10:270,17:[1,30],28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{10:271,17:[1,30],28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{81:[1,272]},{81:[1,273]},{81:[1,274]},{4:[2,104],6:[2,104],87:275,89:[1,276],101:[2,104]},{4:[2,93],6:[2,93],101:[2,93]},{4:[1,207],14:277,101:[1,206]},{4:[2,74],6:[2,74],17:[2,74],32:[2,74],38:[2,74],39:[2,74],54:[2,74],65:[2,74],70:[2,74],72:[2,74],74:[2,74],76:[2,74],77:[2,74],101:[2,74]},{4:[2,75],6:[2,75],17:[2,75],32:[2,75],38:[2,75],39:[2,75],54:[2,75],65:[2,75],70:[2,75],72:[2,75],74:[2,75],76:[2,75],77:[2,75],101:[2,75]},{17:[1,144],38:[1,148],67:278,68:[1,145],70:[1,146],71:[1,147],74:[1,149]},{39:[1,279]},{39:[1,280]},{39:[2,78],77:[1,281]},{39:[2,79],77:[2,79]},{4:[2,64],6:[2,64],32:[2,64],39:[2,64],54:[2,64],72:[2,64],74:[2,64],76:[2,64],77:[2,64],101:[2,64]},{4:[2,65],6:[2,65],32:[2,65],39:[2,65],54:[2,65],72:[2,65],74:[2,65],76:[2,65],77:[2,65],101:[2,65]},{17:[1,144],38:[1,148],67:282,68:[1,145],70:[1,146],71:[1,147],74:[1,149]},{4:[2,66],6:[2,66],32:[2,66],39:[2,66],54:[2,66],72:[2,66],74:[2,66],76:[2,66],77:[2,66],101:[2,66]},{17:[1,91],19:[1,88],33:[1,85],35:[1,87],49:[1,89],52:[1,86],59:[1,81],60:[1,82],61:[1,83],66:[1,84],80:283,89:[1,90]},{17:[1,144],38:[1,148],67:284,68:[1,145],70:[1,146],71:[1,147],74:[1,149]},{17:[2,101],32:[2,101],38:[2,101],54:[2,101],81:[2,101]},{17:[1,212],38:[1,211],53:285,55:209,56:210},{10:286,17:[1,30],28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{17:[1,212],38:[1,211],55:289,56:288,57:287},{4:[2,13],6:[2,13],101:[2,13]},{4:[2,16],6:[2,16],101:[2,16]},{17:[1,290]},{4:[1,207],14:291,65:[1,259],101:[1,206]},{4:[2,58],6:[2,58],65:[2,58],101:[2,58]},{4:[1,207],6:[1,293],14:292,101:[1,206]},{81:[1,294]},{4:[2,91],6:[2,91],101:[2,91]},{12:295,13:[1,167]},{4:[2,55],6:[2,55],39:[2,55],72:[2,55],76:[2,55],77:[2,55],101:[2,55]},{4:[2,11],6:[2,11],39:[2,11],72:[2,11],76:[2,11],77:[2,11],89:[2,11],101:[2,11]},{39:[2,119],77:[2,119]},{6:[2,137],76:[2,137],77:[2,137],101:[2,137]},{6:[2,140],76:[2,140],77:[2,140],101:[2,140]},{6:[2,143],76:[2,143],77:[2,143],101:[2,143]},{10:296,17:[1,30],28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{10:297,17:[1,30],28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{10:298,17:[1,30],28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{4:[2,92],6:[2,92],101:[2,92]},{13:[1,299]},{4:[2,95],6:[2,95],101:[2,95]},{39:[1,300]},{4:[2,73],6:[2,73],17:[2,73],32:[2,73],38:[2,73],39:[2,73],54:[2,73],65:[2,73],70:[2,73],72:[2,73],74:[2,73],76:[2,73],77:[2,73],101:[2,73]},{4:[2,62],6:[2,62],32:[2,62],39:[2,62],54:[2,62],72:[2,62],74:[2,62],76:[2,62],77:[2,62],101:[2,62]},{17:[1,144],38:[1,148],67:301,68:[1,145],70:[1,146],71:[1,147],74:[1,149]},{39:[2,68],77:[2,68]},{81:[1,302]},{76:[2,82],77:[2,82]},{54:[1,303]},{4:[2,45],6:[2,45],101:[2,45]},{17:[1,212],38:[1,211],39:[1,304],55:305,56:306},{17:[2,50],38:[2,50],39:[2,50]},{17:[2,51],38:[2,51],39:[2,51]},{4:[2,69],6:[2,69],17:[1,192],38:[1,194],64:307,65:[2,69],70:[1,193],78:191,101:[2,69]},{4:[2,57],6:[2,57],101:[2,57]},{6:[1,308]},{17:[1,309]},{17:[1,144],38:[1,148],67:310,68:[1,145],70:[1,146],71:[1,147],74:[1,149]},{4:[2,54],6:[2,54],39:[2,54],72:[2,54],76:[2,54],77:[2,54],101:[2,54]},{6:[2,138],76:[2,138],77:[2,138],101:[2,138]},{6:[2,141],76:[2,141],77:[2,141],101:[2,141]},{6:[2,144],76:[2,144],77:[2,144],101:[2,144]},{17:[1,314],24:313,61:[1,19],90:311,91:312},{4:[2,76],6:[2,76],17:[2,76],32:[2,76],38:[2,76],39:[2,76],54:[2,76],65:[2,76],70:[2,76],72:[2,76],74:[2,76],76:[2,76],77:[2,76],101:[2,76]},{39:[2,80],77:[2,80]},{17:[1,144],38:[1,148],67:315,68:[1,145],70:[1,146],71:[1,147],74:[1,149]},{10:316,17:[1,30],28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{17:[2,49],38:[2,49],39:[2,49],54:[2,49]},{17:[2,52],38:[2,52],39:[2,52]},{17:[2,53],38:[2,53],39:[2,53]},{4:[2,59],6:[2,59],65:[2,59],101:[2,59]},{76:[1,317]},{81:[1,318]},{4:[2,89],6:[2,89],101:[2,89]},{4:[1,207],6:[1,320],14:319,101:[1,206]},{4:[2,106],6:[2,106],101:[2,106]},{4:[2,108],6:[2,108],101:[2,108]},{17:[1,47],30:321,38:[1,45],88:46},{76:[2,83],77:[2,83]},{4:[2,46],6:[2,46],101:[2,46]},{4:[2,88],6:[2,88],101:[2,88]},{17:[1,144],38:[1,148],67:322,68:[1,145],70:[1,146],71:[1,147],74:[1,149]},{4:[2,105],6:[2,105],101:[2,105]},{17:[1,314],24:313,61:[1,19],91:323},{17:[1,47],31:324,38:[1,99],54:[2,102],81:[1,97],88:100},{4:[2,90],6:[2,90],101:[2,90]},{4:[2,107],6:[2,107],101:[2,107]},{54:[1,325]},{10:327,12:326,13:[1,167],17:[1,30],28:14,29:[1,15],33:[1,16],35:[1,17],36:18,37:24,38:[1,27],40:[1,28],41:26,50:29,51:23,58:[1,25],71:[1,35],74:[1,37],86:36,93:34,95:[1,31],96:[1,32],97:[1,33]},{4:[2,104],6:[2,104],87:328,89:[1,276],101:[2,104]},{4:[2,110],6:[2,110],101:[2,110]},{4:[2,109],6:[2,109],101:[2,109]}], defaultActions: {2:[2,1],39:[2,4],93:[2,3],140:[2,2],209:[2,47],210:[2,48],228:[2,128],230:[2,134]}, parseError: function parseError(str, hash) { throw new Error(str); }, parse: function parse(input) { var self = this, stack = [0], vstack = [null], // semantic value stack lstack = [], // location stack table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; //this.reductionCount = this.shiftCount = 0; this.lexer.setInput(input); this.lexer.yy = this.yy; this.yy.lexer = this.lexer; if (typeof this.lexer.yylloc == 'undefined') this.lexer.yylloc = {}; var yyloc = this.lexer.yylloc; lstack.push(yyloc); if (typeof this.yy.parseError === 'function') this.parseError = this.yy.parseError; function popStack (n) { stack.length = stack.length - 2*n; vstack.length = vstack.length - n; lstack.length = lstack.length - n; } function lex() { var token; token = self.lexer.lex() || 1; // $end = 1 // if token isn't its numeric value, convert if (typeof token !== 'number') { token = self.symbols_[token] || token; } return token; }; var symbol, preErrorSymbol, state, action, a, r, yyval={},p,len,newState, expected; while (true) { // retreive state number from top of stack state = stack[stack.length-1]; // use default actions if available if (this.defaultActions[state]) { action = this.defaultActions[state]; } else { if (symbol == null) symbol = lex(); // read action for current state and first input action = table[state] && table[state][symbol]; } // handle parse error if (typeof action === 'undefined' || !action.length || !action[0]) { if (!recovering) { // Report error expected = []; for (p in table[state]) if (this.terminals_[p] && p > 2) { expected.push("'"+this.terminals_[p]+"'"); } var errStr = ''; if (this.lexer.showPosition) { errStr = 'Parse error on line '+(yylineno+1)+":\n"+this.lexer.showPosition()+'\nExpecting '+expected.join(', '); } else { errStr = 'Parse error on line '+(yylineno+1)+": Unexpected " + (symbol == 1 /*EOF*/ ? "end of input" : ("'"+(this.terminals_[symbol] || symbol)+"'")); } this.parseError(errStr, {text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected}); } // just recovered from another error if (recovering == 3) { if (symbol == EOF) { throw new Error(errStr || 'Parsing halted.'); } // discard current lookahead and grab another yyleng = this.lexer.yyleng; yytext = this.lexer.yytext; yylineno = this.lexer.yylineno; yyloc = this.lexer.yylloc; symbol = lex(); } // try to recover from error while (1) { // check for error recovery rule in this state if ((TERROR.toString()) in table[state]) { break; } if (state == 0) { throw new Error(errStr || 'Parsing halted.'); } popStack(1); state = stack[stack.length-1]; } preErrorSymbol = symbol; // save the lookahead token symbol = TERROR; // insert generic error symbol as new lookahead state = stack[stack.length-1]; action = table[state] && table[state][TERROR]; recovering = 3; // allow 3 real symbols to be shifted before reporting a new error } // this shouldn't happen, unless resolve defaults are off if (action[0] instanceof Array && action.length > 1) { throw new Error('Parse Error: multiple actions possible at state: '+state+', token: '+symbol); } switch (action[0]) { case 1: // shift //this.shiftCount++; stack.push(symbol); vstack.push(this.lexer.yytext); lstack.push(this.lexer.yylloc); stack.push(action[1]); // push state symbol = null; if (!preErrorSymbol) { // normal execution/no error yyleng = this.lexer.yyleng; yytext = this.lexer.yytext; yylineno = this.lexer.yylineno; yyloc = this.lexer.yylloc; if (recovering > 0) recovering--; } else { // error just occurred, resume old lookahead f/ before error symbol = preErrorSymbol; preErrorSymbol = null; } break; case 2: // reduce //this.reductionCount++; len = this.productions_[action[1]][1]; // perform semantic action yyval.$ = vstack[vstack.length-len]; // default to $$ = $1 // default location, uses first token for firsts, last for lasts yyval._$ = { first_line: lstack[lstack.length-(len||1)].first_line, last_line: lstack[lstack.length-1].last_line, first_column: lstack[lstack.length-(len||1)].first_column, last_column: lstack[lstack.length-1].last_column }; r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack); if (typeof r !== 'undefined') { return r; } // pop off stack if (len) { stack = stack.slice(0,-1*len*2); vstack = vstack.slice(0, -1*len); lstack = lstack.slice(0, -1*len); } stack.push(this.productions_[action[1]][0]); // push nonterminal (reduce) vstack.push(yyval.$); lstack.push(yyval._$); // goto new state = table[STATE][NONTERMINAL] newState =