1// File ignored in coverage tests via setting in .istanbul.yml 2/* Jison generated parser */ 3var handlebars = (function(){ 4var parser = {trace: function trace () { }, 5yy: {}, 6symbols_: {"error":2,"root":3,"program":4,"EOF":5,"program_repetition0":6,"statement":7,"mustache":8,"block":9,"rawBlock":10,"partial":11,"partialBlock":12,"content":13,"COMMENT":14,"CONTENT":15,"openRawBlock":16,"rawBlock_repetition0":17,"END_RAW_BLOCK":18,"OPEN_RAW_BLOCK":19,"helperName":20,"openRawBlock_repetition0":21,"openRawBlock_option0":22,"CLOSE_RAW_BLOCK":23,"openBlock":24,"block_option0":25,"closeBlock":26,"openInverse":27,"block_option1":28,"OPEN_BLOCK":29,"openBlock_repetition0":30,"openBlock_option0":31,"openBlock_option1":32,"CLOSE":33,"OPEN_INVERSE":34,"openInverse_repetition0":35,"openInverse_option0":36,"openInverse_option1":37,"openInverseChain":38,"OPEN_INVERSE_CHAIN":39,"openInverseChain_repetition0":40,"openInverseChain_option0":41,"openInverseChain_option1":42,"inverseAndProgram":43,"INVERSE":44,"inverseChain":45,"inverseChain_option0":46,"OPEN_ENDBLOCK":47,"OPEN":48,"mustache_repetition0":49,"mustache_option0":50,"OPEN_UNESCAPED":51,"mustache_repetition1":52,"mustache_option1":53,"CLOSE_UNESCAPED":54,"OPEN_PARTIAL":55,"partialName":56,"partial_repetition0":57,"partial_option0":58,"openPartialBlock":59,"OPEN_PARTIAL_BLOCK":60,"openPartialBlock_repetition0":61,"openPartialBlock_option0":62,"param":63,"sexpr":64,"OPEN_SEXPR":65,"sexpr_repetition0":66,"sexpr_option0":67,"CLOSE_SEXPR":68,"hash":69,"hash_repetition_plus0":70,"hashSegment":71,"ID":72,"EQUALS":73,"blockParams":74,"OPEN_BLOCK_PARAMS":75,"blockParams_repetition_plus0":76,"CLOSE_BLOCK_PARAMS":77,"path":78,"dataName":79,"STRING":80,"NUMBER":81,"BOOLEAN":82,"UNDEFINED":83,"NULL":84,"DATA":85,"pathSegments":86,"SEP":87,"$accept":0,"$end":1}, 7terminals_: {2:"error",5:"EOF",14:"COMMENT",15:"CONTENT",18:"END_RAW_BLOCK",19:"OPEN_RAW_BLOCK",23:"CLOSE_RAW_BLOCK",29:"OPEN_BLOCK",33:"CLOSE",34:"OPEN_INVERSE",39:"OPEN_INVERSE_CHAIN",44:"INVERSE",47:"OPEN_ENDBLOCK",48:"OPEN",51:"OPEN_UNESCAPED",54:"CLOSE_UNESCAPED",55:"OPEN_PARTIAL",60:"OPEN_PARTIAL_BLOCK",65:"OPEN_SEXPR",68:"CLOSE_SEXPR",72:"ID",73:"EQUALS",75:"OPEN_BLOCK_PARAMS",77:"CLOSE_BLOCK_PARAMS",80:"STRING",81:"NUMBER",82:"BOOLEAN",83:"UNDEFINED",84:"NULL",85:"DATA",87:"SEP"}, 8productions_: [0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[13,1],[10,3],[16,5],[9,4],[9,4],[24,6],[27,6],[38,6],[43,2],[45,3],[45,1],[26,3],[8,5],[8,5],[11,5],[12,3],[59,5],[63,1],[63,1],[64,5],[69,1],[71,3],[74,3],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[56,1],[56,1],[79,2],[78,1],[86,3],[86,1],[6,0],[6,2],[17,0],[17,2],[21,0],[21,2],[22,0],[22,1],[25,0],[25,1],[28,0],[28,1],[30,0],[30,2],[31,0],[31,1],[32,0],[32,1],[35,0],[35,2],[36,0],[36,1],[37,0],[37,1],[40,0],[40,2],[41,0],[41,1],[42,0],[42,1],[46,0],[46,1],[49,0],[49,2],[50,0],[50,1],[52,0],[52,2],[53,0],[53,1],[57,0],[57,2],[58,0],[58,1],[61,0],[61,2],[62,0],[62,1],[66,0],[66,2],[67,0],[67,1],[70,1],[70,2],[76,1],[76,2]], 9performAction: function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$ 10) { 11 12var $0 = $$.length - 1; 13switch (yystate) { 14case 1: return $$[$0-1]; 15break; 16case 2:this.$ = yy.prepareProgram($$[$0]); 17break; 18case 3:this.$ = $$[$0]; 19break; 20case 4:this.$ = $$[$0]; 21break; 22case 5:this.$ = $$[$0]; 23break; 24case 6:this.$ = $$[$0]; 25break; 26case 7:this.$ = $$[$0]; 27break; 28case 8:this.$ = $$[$0]; 29break; 30case 9: 31 this.$ = { 32 type: 'CommentStatement', 33 value: yy.stripComment($$[$0]), 34 strip: yy.stripFlags($$[$0], $$[$0]), 35 loc: yy.locInfo(this._$) 36 }; 37 38break; 39case 10: 40 this.$ = { 41 type: 'ContentStatement', 42 original: $$[$0], 43 value: $$[$0], 44 loc: yy.locInfo(this._$) 45 }; 46 47break; 48case 11:this.$ = yy.prepareRawBlock($$[$0-2], $$[$0-1], $$[$0], this._$); 49break; 50case 12:this.$ = { path: $$[$0-3], params: $$[$0-2], hash: $$[$0-1] }; 51break; 52case 13:this.$ = yy.prepareBlock($$[$0-3], $$[$0-2], $$[$0-1], $$[$0], false, this._$); 53break; 54case 14:this.$ = yy.prepareBlock($$[$0-3], $$[$0-2], $$[$0-1], $$[$0], true, this._$); 55break; 56case 15:this.$ = { open: $$[$0-5], path: $$[$0-4], params: $$[$0-3], hash: $$[$0-2], blockParams: $$[$0-1], strip: yy.stripFlags($$[$0-5], $$[$0]) }; 57break; 58case 16:this.$ = { path: $$[$0-4], params: $$[$0-3], hash: $$[$0-2], blockParams: $$[$0-1], strip: yy.stripFlags($$[$0-5], $$[$0]) }; 59break; 60case 17:this.$ = { path: $$[$0-4], params: $$[$0-3], hash: $$[$0-2], blockParams: $$[$0-1], strip: yy.stripFlags($$[$0-5], $$[$0]) }; 61break; 62case 18:this.$ = { strip: yy.stripFlags($$[$0-1], $$[$0-1]), program: $$[$0] }; 63break; 64case 19: 65 var inverse = yy.prepareBlock($$[$0-2], $$[$0-1], $$[$0], $$[$0], false, this._$), 66 program = yy.prepareProgram([inverse], $$[$0-1].loc); 67 program.chained = true; 68 69 this.$ = { strip: $$[$0-2].strip, program: program, chain: true }; 70 71break; 72case 20:this.$ = $$[$0]; 73break; 74case 21:this.$ = {path: $$[$0-1], strip: yy.stripFlags($$[$0-2], $$[$0])}; 75break; 76case 22:this.$ = yy.prepareMustache($$[$0-3], $$[$0-2], $$[$0-1], $$[$0-4], yy.stripFlags($$[$0-4], $$[$0]), this._$); 77break; 78case 23:this.$ = yy.prepareMustache($$[$0-3], $$[$0-2], $$[$0-1], $$[$0-4], yy.stripFlags($$[$0-4], $$[$0]), this._$); 79break; 80case 24: 81 this.$ = { 82 type: 'PartialStatement', 83 name: $$[$0-3], 84 params: $$[$0-2], 85 hash: $$[$0-1], 86 indent: '', 87 strip: yy.stripFlags($$[$0-4], $$[$0]), 88 loc: yy.locInfo(this._$) 89 }; 90 91break; 92case 25:this.$ = yy.preparePartialBlock($$[$0-2], $$[$0-1], $$[$0], this._$); 93break; 94case 26:this.$ = { path: $$[$0-3], params: $$[$0-2], hash: $$[$0-1], strip: yy.stripFlags($$[$0-4], $$[$0]) }; 95break; 96case 27:this.$ = $$[$0]; 97break; 98case 28:this.$ = $$[$0]; 99break; 100case 29: 101 this.$ = { 102 type: 'SubExpression', 103 path: $$[$0-3], 104 params: $$[$0-2], 105 hash: $$[$0-1], 106 loc: yy.locInfo(this._$) 107 }; 108 109break; 110case 30:this.$ = {type: 'Hash', pairs: $$[$0], loc: yy.locInfo(this._$)}; 111break; 112case 31:this.$ = {type: 'HashPair', key: yy.id($$[$0-2]), value: $$[$0], loc: yy.locInfo(this._$)}; 113break; 114case 32:this.$ = yy.id($$[$0-1]); 115break; 116case 33:this.$ = $$[$0]; 117break; 118case 34:this.$ = $$[$0]; 119break; 120case 35:this.$ = {type: 'StringLiteral', value: $$[$0], original: $$[$0], loc: yy.locInfo(this._$)}; 121break; 122case 36:this.$ = {type: 'NumberLiteral', value: Number($$[$0]), original: Number($$[$0]), loc: yy.locInfo(this._$)}; 123break; 124case 37:this.$ = {type: 'BooleanLiteral', value: $$[$0] === 'true', original: $$[$0] === 'true', loc: yy.locInfo(this._$)}; 125break; 126case 38:this.$ = {type: 'UndefinedLiteral', original: undefined, value: undefined, loc: yy.locInfo(this._$)}; 127break; 128case 39:this.$ = {type: 'NullLiteral', original: null, value: null, loc: yy.locInfo(this._$)}; 129break; 130case 40:this.$ = $$[$0]; 131break; 132case 41:this.$ = $$[$0]; 133break; 134case 42:this.$ = yy.preparePath(true, $$[$0], this._$); 135break; 136case 43:this.$ = yy.preparePath(false, $$[$0], this._$); 137break; 138case 44: $$[$0-2].push({part: yy.id($$[$0]), original: $$[$0], separator: $$[$0-1]}); this.$ = $$[$0-2]; 139break; 140case 45:this.$ = [{part: yy.id($$[$0]), original: $$[$0]}]; 141break; 142case 46:this.$ = []; 143break; 144case 47:$$[$0-1].push($$[$0]); 145break; 146case 48:this.$ = []; 147break; 148case 49:$$[$0-1].push($$[$0]); 149break; 150case 50:this.$ = []; 151break; 152case 51:$$[$0-1].push($$[$0]); 153break; 154case 58:this.$ = []; 155break; 156case 59:$$[$0-1].push($$[$0]); 157break; 158case 64:this.$ = []; 159break; 160case 65:$$[$0-1].push($$[$0]); 161break; 162case 70:this.$ = []; 163break; 164case 71:$$[$0-1].push($$[$0]); 165break; 166case 78:this.$ = []; 167break; 168case 79:$$[$0-1].push($$[$0]); 169break; 170case 82:this.$ = []; 171break; 172case 83:$$[$0-1].push($$[$0]); 173break; 174case 86:this.$ = []; 175break; 176case 87:$$[$0-1].push($$[$0]); 177break; 178case 90:this.$ = []; 179break; 180case 91:$$[$0-1].push($$[$0]); 181break; 182case 94:this.$ = []; 183break; 184case 95:$$[$0-1].push($$[$0]); 185break; 186case 98:this.$ = [$$[$0]]; 187break; 188case 99:$$[$0-1].push($$[$0]); 189break; 190case 100:this.$ = [$$[$0]]; 191break; 192case 101:$$[$0-1].push($$[$0]); 193break; 194} 195}, 196table: [{3:1,4:2,5:[2,46],6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{1:[3]},{5:[1,4]},{5:[2,2],7:5,8:6,9:7,10:8,11:9,12:10,13:11,14:[1,12],15:[1,20],16:17,19:[1,23],24:15,27:16,29:[1,21],34:[1,22],39:[2,2],44:[2,2],47:[2,2],48:[1,13],51:[1,14],55:[1,18],59:19,60:[1,24]},{1:[2,1]},{5:[2,47],14:[2,47],15:[2,47],19:[2,47],29:[2,47],34:[2,47],39:[2,47],44:[2,47],47:[2,47],48:[2,47],51:[2,47],55:[2,47],60:[2,47]},{5:[2,3],14:[2,3],15:[2,3],19:[2,3],29:[2,3],34:[2,3],39:[2,3],44:[2,3],47:[2,3],48:[2,3],51:[2,3],55:[2,3],60:[2,3]},{5:[2,4],14:[2,4],15:[2,4],19:[2,4],29:[2,4],34:[2,4],39:[2,4],44:[2,4],47:[2,4],48:[2,4],51:[2,4],55:[2,4],60:[2,4]},{5:[2,5],14:[2,5],15:[2,5],19:[2,5],29:[2,5],34:[2,5],39:[2,5],44:[2,5],47:[2,5],48:[2,5],51:[2,5],55:[2,5],60:[2,5]},{5:[2,6],14:[2,6],15:[2,6],19:[2,6],29:[2,6],34:[2,6],39:[2,6],44:[2,6],47:[2,6],48:[2,6],51:[2,6],55:[2,6],60:[2,6]},{5:[2,7],14:[2,7],15:[2,7],19:[2,7],29:[2,7],34:[2,7],39:[2,7],44:[2,7],47:[2,7],48:[2,7],51:[2,7],55:[2,7],60:[2,7]},{5:[2,8],14:[2,8],15:[2,8],19:[2,8],29:[2,8],34:[2,8],39:[2,8],44:[2,8],47:[2,8],48:[2,8],51:[2,8],55:[2,8],60:[2,8]},{5:[2,9],14:[2,9],15:[2,9],19:[2,9],29:[2,9],34:[2,9],39:[2,9],44:[2,9],47:[2,9],48:[2,9],51:[2,9],55:[2,9],60:[2,9]},{20:25,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:36,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:37,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{4:38,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{15:[2,48],17:39,18:[2,48]},{20:41,56:40,64:42,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:44,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{5:[2,10],14:[2,10],15:[2,10],18:[2,10],19:[2,10],29:[2,10],34:[2,10],39:[2,10],44:[2,10],47:[2,10],48:[2,10],51:[2,10],55:[2,10],60:[2,10]},{20:45,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:46,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:47,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:41,56:48,64:42,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[2,78],49:49,65:[2,78],72:[2,78],80:[2,78],81:[2,78],82:[2,78],83:[2,78],84:[2,78],85:[2,78]},{23:[2,33],33:[2,33],54:[2,33],65:[2,33],68:[2,33],72:[2,33],75:[2,33],80:[2,33],81:[2,33],82:[2,33],83:[2,33],84:[2,33],85:[2,33]},{23:[2,34],33:[2,34],54:[2,34],65:[2,34],68:[2,34],72:[2,34],75:[2,34],80:[2,34],81:[2,34],82:[2,34],83:[2,34],84:[2,34],85:[2,34]},{23:[2,35],33:[2,35],54:[2,35],65:[2,35],68:[2,35],72:[2,35],75:[2,35],80:[2,35],81:[2,35],82:[2,35],83:[2,35],84:[2,35],85:[2,35]},{23:[2,36],33:[2,36],54:[2,36],65:[2,36],68:[2,36],72:[2,36],75:[2,36],80:[2,36],81:[2,36],82:[2,36],83:[2,36],84:[2,36],85:[2,36]},{23:[2,37],33:[2,37],54:[2,37],65:[2,37],68:[2,37],72:[2,37],75:[2,37],80:[2,37],81:[2,37],82:[2,37],83:[2,37],84:[2,37],85:[2,37]},{23:[2,38],33:[2,38],54:[2,38],65:[2,38],68:[2,38],72:[2,38],75:[2,38],80:[2,38],81:[2,38],82:[2,38],83:[2,38],84:[2,38],85:[2,38]},{23:[2,39],33:[2,39],54:[2,39],65:[2,39],68:[2,39],72:[2,39],75:[2,39],80:[2,39],81:[2,39],82:[2,39],83:[2,39],84:[2,39],85:[2,39]},{23:[2,43],33:[2,43],54:[2,43],65:[2,43],68:[2,43],72:[2,43],75:[2,43],80:[2,43],81:[2,43],82:[2,43],83:[2,43],84:[2,43],85:[2,43],87:[1,50]},{72:[1,35],86:51},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{52:52,54:[2,82],65:[2,82],72:[2,82],80:[2,82],81:[2,82],82:[2,82],83:[2,82],84:[2,82],85:[2,82]},{25:53,38:55,39:[1,57],43:56,44:[1,58],45:54,47:[2,54]},{28:59,43:60,44:[1,58],47:[2,56]},{13:62,15:[1,20],18:[1,61]},{33:[2,86],57:63,65:[2,86],72:[2,86],80:[2,86],81:[2,86],82:[2,86],83:[2,86],84:[2,86],85:[2,86]},{33:[2,40],65:[2,40],72:[2,40],80:[2,40],81:[2,40],82:[2,40],83:[2,40],84:[2,40],85:[2,40]},{33:[2,41],65:[2,41],72:[2,41],80:[2,41],81:[2,41],82:[2,41],83:[2,41],84:[2,41],85:[2,41]},{20:64,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:65,47:[1,66]},{30:67,33:[2,58],65:[2,58],72:[2,58],75:[2,58],80:[2,58],81:[2,58],82:[2,58],83:[2,58],84:[2,58],85:[2,58]},{33:[2,64],35:68,65:[2,64],72:[2,64],75:[2,64],80:[2,64],81:[2,64],82:[2,64],83:[2,64],84:[2,64],85:[2,64]},{21:69,23:[2,50],65:[2,50],72:[2,50],80:[2,50],81:[2,50],82:[2,50],83:[2,50],84:[2,50],85:[2,50]},{33:[2,90],61:70,65:[2,90],72:[2,90],80:[2,90],81:[2,90],82:[2,90],83:[2,90],84:[2,90],85:[2,90]},{20:74,33:[2,80],50:71,63:72,64:75,65:[1,43],69:73,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{72:[1,79]},{23:[2,42],33:[2,42],54:[2,42],65:[2,42],68:[2,42],72:[2,42],75:[2,42],80:[2,42],81:[2,42],82:[2,42],83:[2,42],84:[2,42],85:[2,42],87:[1,50]},{20:74,53:80,54:[2,84],63:81,64:75,65:[1,43],69:82,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:83,47:[1,66]},{47:[2,55]},{4:84,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{47:[2,20]},{20:85,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:86,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{26:87,47:[1,66]},{47:[2,57]},{5:[2,11],14:[2,11],15:[2,11],19:[2,11],29:[2,11],34:[2,11],39:[2,11],44:[2,11],47:[2,11],48:[2,11],51:[2,11],55:[2,11],60:[2,11]},{15:[2,49],18:[2,49]},{20:74,33:[2,88],58:88,63:89,64:75,65:[1,43],69:90,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{65:[2,94],66:91,68:[2,94],72:[2,94],80:[2,94],81:[2,94],82:[2,94],83:[2,94],84:[2,94],85:[2,94]},{5:[2,25],14:[2,25],15:[2,25],19:[2,25],29:[2,25],34:[2,25],39:[2,25],44:[2,25],47:[2,25],48:[2,25],51:[2,25],55:[2,25],60:[2,25]},{20:92,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,31:93,33:[2,60],63:94,64:75,65:[1,43],69:95,70:76,71:77,72:[1,78],75:[2,60],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,33:[2,66],36:96,63:97,64:75,65:[1,43],69:98,70:76,71:77,72:[1,78],75:[2,66],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,22:99,23:[2,52],63:100,64:75,65:[1,43],69:101,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,33:[2,92],62:102,63:103,64:75,65:[1,43],69:104,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,105]},{33:[2,79],65:[2,79],72:[2,79],80:[2,79],81:[2,79],82:[2,79],83:[2,79],84:[2,79],85:[2,79]},{33:[2,81]},{23:[2,27],33:[2,27],54:[2,27],65:[2,27],68:[2,27],72:[2,27],75:[2,27],80:[2,27],81:[2,27],82:[2,27],83:[2,27],84:[2,27],85:[2,27]},{23:[2,28],33:[2,28],54:[2,28],65:[2,28],68:[2,28],72:[2,28],75:[2,28],80:[2,28],81:[2,28],82:[2,28],83:[2,28],84:[2,28],85:[2,28]},{23:[2,30],33:[2,30],54:[2,30],68:[2,30],71:106,72:[1,107],75:[2,30]},{23:[2,98],33:[2,98],54:[2,98],68:[2,98],72:[2,98],75:[2,98]},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],73:[1,108],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{23:[2,44],33:[2,44],54:[2,44],65:[2,44],68:[2,44],72:[2,44],75:[2,44],80:[2,44],81:[2,44],82:[2,44],83:[2,44],84:[2,44],85:[2,44],87:[2,44]},{54:[1,109]},{54:[2,83],65:[2,83],72:[2,83],80:[2,83],81:[2,83],82:[2,83],83:[2,83],84:[2,83],85:[2,83]},{54:[2,85]},{5:[2,13],14:[2,13],15:[2,13],19:[2,13],29:[2,13],34:[2,13],39:[2,13],44:[2,13],47:[2,13],48:[2,13],51:[2,13],55:[2,13],60:[2,13]},{38:55,39:[1,57],43:56,44:[1,58],45:111,46:110,47:[2,76]},{33:[2,70],40:112,65:[2,70],72:[2,70],75:[2,70],80:[2,70],81:[2,70],82:[2,70],83:[2,70],84:[2,70],85:[2,70]},{47:[2,18]},{5:[2,14],14:[2,14],15:[2,14],19:[2,14],29:[2,14],34:[2,14],39:[2,14],44:[2,14],47:[2,14],48:[2,14],51:[2,14],55:[2,14],60:[2,14]},{33:[1,113]},{33:[2,87],65:[2,87],72:[2,87],80:[2,87],81:[2,87],82:[2,87],83:[2,87],84:[2,87],85:[2,87]},{33:[2,89]},{20:74,63:115,64:75,65:[1,43],67:114,68:[2,96],69:116,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,117]},{32:118,33:[2,62],74:119,75:[1,120]},{33:[2,59],65:[2,59],72:[2,59],75:[2,59],80:[2,59],81:[2,59],82:[2,59],83:[2,59],84:[2,59],85:[2,59]},{33:[2,61],75:[2,61]},{33:[2,68],37:121,74:122,75:[1,120]},{33:[2,65],65:[2,65],72:[2,65],75:[2,65],80:[2,65],81:[2,65],82:[2,65],83:[2,65],84:[2,65],85:[2,65]},{33:[2,67],75:[2,67]},{23:[1,123]},{23:[2,51],65:[2,51],72:[2,51],80:[2,51],81:[2,51],82:[2,51],83:[2,51],84:[2,51],85:[2,51]},{23:[2,53]},{33:[1,124]},{33:[2,91],65:[2,91],72:[2,91],80:[2,91],81:[2,91],82:[2,91],83:[2,91],84:[2,91],85:[2,91]},{33:[2,93]},{5:[2,22],14:[2,22],15:[2,22],19:[2,22],29:[2,22],34:[2,22],39:[2,22],44:[2,22],47:[2,22],48:[2,22],51:[2,22],55:[2,22],60:[2,22]},{23:[2,99],33:[2,99],54:[2,99],68:[2,99],72:[2,99],75:[2,99]},{73:[1,108]},{20:74,63:125,64:75,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,23],14:[2,23],15:[2,23],19:[2,23],29:[2,23],34:[2,23],39:[2,23],44:[2,23],47:[2,23],48:[2,23],51:[2,23],55:[2,23],60:[2,23]},{47:[2,19]},{47:[2,77]},{20:74,33:[2,72],41:126,63:127,64:75,65:[1,43],69:128,70:76,71:77,72:[1,78],75:[2,72],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,24],14:[2,24],15:[2,24],19:[2,24],29:[2,24],34:[2,24],39:[2,24],44:[2,24],47:[2,24],48:[2,24],51:[2,24],55:[2,24],60:[2,24]},{68:[1,129]},{65:[2,95],68:[2,95],72:[2,95],80:[2,95],81:[2,95],82:[2,95],83:[2,95],84:[2,95],85:[2,95]},{68:[2,97]},{5:[2,21],14:[2,21],15:[2,21],19:[2,21],29:[2,21],34:[2,21],39:[2,21],44:[2,21],47:[2,21],48:[2,21],51:[2,21],55:[2,21],60:[2,21]},{33:[1,130]},{33:[2,63]},{72:[1,132],76:131},{33:[1,133]},{33:[2,69]},{15:[2,12],18:[2,12]},{14:[2,26],15:[2,26],19:[2,26],29:[2,26],34:[2,26],47:[2,26],48:[2,26],51:[2,26],55:[2,26],60:[2,26]},{23:[2,31],33:[2,31],54:[2,31],68:[2,31],72:[2,31],75:[2,31]},{33:[2,74],42:134,74:135,75:[1,120]},{33:[2,71],65:[2,71],72:[2,71],75:[2,71],80:[2,71],81:[2,71],82:[2,71],83:[2,71],84:[2,71],85:[2,71]},{33:[2,73],75:[2,73]},{23:[2,29],33:[2,29],54:[2,29],65:[2,29],68:[2,29],72:[2,29],75:[2,29],80:[2,29],81:[2,29],82:[2,29],83:[2,29],84:[2,29],85:[2,29]},{14:[2,15],15:[2,15],19:[2,15],29:[2,15],34:[2,15],39:[2,15],44:[2,15],47:[2,15],48:[2,15],51:[2,15],55:[2,15],60:[2,15]},{72:[1,137],77:[1,136]},{72:[2,100],77:[2,100]},{14:[2,16],15:[2,16],19:[2,16],29:[2,16],34:[2,16],44:[2,16],47:[2,16],48:[2,16],51:[2,16],55:[2,16],60:[2,16]},{33:[1,138]},{33:[2,75]},{33:[2,32]},{72:[2,101],77:[2,101]},{14:[2,17],15:[2,17],19:[2,17],29:[2,17],34:[2,17],39:[2,17],44:[2,17],47:[2,17],48:[2,17],51:[2,17],55:[2,17],60:[2,17]}], 197defaultActions: {4:[2,1],54:[2,55],56:[2,20],60:[2,57],73:[2,81],82:[2,85],86:[2,18],90:[2,89],101:[2,53],104:[2,93],110:[2,19],111:[2,77],116:[2,97],119:[2,63],122:[2,69],135:[2,75],136:[2,32]}, 198parseError: function parseError (str, hash) { 199 throw new Error(str); 200}, 201parse: function parse(input) { 202 var self = this, stack = [0], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; 203 this.lexer.setInput(input); 204 this.lexer.yy = this.yy; 205 this.yy.lexer = this.lexer; 206 this.yy.parser = this; 207 if (typeof this.lexer.yylloc == "undefined") 208 this.lexer.yylloc = {}; 209 var yyloc = this.lexer.yylloc; 210 lstack.push(yyloc); 211 var ranges = this.lexer.options && this.lexer.options.ranges; 212 if (typeof this.yy.parseError === "function") 213 this.parseError = this.yy.parseError; 214 function popStack(n) { 215 stack.length = stack.length - 2 * n; 216 vstack.length = vstack.length - n; 217 lstack.length = lstack.length - n; 218 } 219 function lex() { 220 var token; 221 token = self.lexer.lex() || 1; 222 if (typeof token !== "number") { 223 token = self.symbols_[token] || token; 224 } 225 return token; 226 } 227 var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; 228 while (true) { 229 state = stack[stack.length - 1]; 230 if (this.defaultActions[state]) { 231 action = this.defaultActions[state]; 232 } else { 233 if (symbol === null || typeof symbol == "undefined") { 234 symbol = lex(); 235 } 236 action = table[state] && table[state][symbol]; 237 } 238 if (typeof action === "undefined" || !action.length || !action[0]) { 239 var errStr = ""; 240 if (!recovering) { 241 expected = []; 242 for (p in table[state]) 243 if (this.terminals_[p] && p > 2) { 244 expected.push("'" + this.terminals_[p] + "'"); 245 } 246 if (this.lexer.showPosition) { 247 errStr = "Parse error on line " + (yylineno + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'"; 248 } else { 249 errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == 1?"end of input":"'" + (this.terminals_[symbol] || symbol) + "'"); 250 } 251 this.parseError(errStr, {text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected}); 252 } 253 } 254 if (action[0] instanceof Array && action.length > 1) { 255 throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol); 256 } 257 switch (action[0]) { 258 case 1: 259 stack.push(symbol); 260 vstack.push(this.lexer.yytext); 261 lstack.push(this.lexer.yylloc); 262 stack.push(action[1]); 263 symbol = null; 264 if (!preErrorSymbol) { 265 yyleng = this.lexer.yyleng; 266 yytext = this.lexer.yytext; 267 yylineno = this.lexer.yylineno; 268 yyloc = this.lexer.yylloc; 269 if (recovering > 0) 270 recovering--; 271 } else { 272 symbol = preErrorSymbol; 273 preErrorSymbol = null; 274 } 275 break; 276 case 2: 277 len = this.productions_[action[1]][1]; 278 yyval.$ = vstack[vstack.length - len]; 279 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}; 280 if (ranges) { 281 yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]]; 282 } 283 r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack); 284 if (typeof r !== "undefined") { 285 return r; 286 } 287 if (len) { 288 stack = stack.slice(0, -1 * len * 2); 289 vstack = vstack.slice(0, -1 * len); 290 lstack = lstack.slice(0, -1 * len); 291 } 292 stack.push(this.productions_[action[1]][0]); 293 vstack.push(yyval.$); 294 lstack.push(yyval._$); 295 newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; 296 stack.push(newState); 297 break; 298 case 3: 299 return true; 300 } 301 } 302 return true; 303} 304}; 305/* Jison generated lexer */ 306var lexer = (function(){ 307var lexer = ({EOF:1, 308parseError:function parseError(str, hash) { 309 if (this.yy.parser) { 310 this.yy.parser.parseError(str, hash); 311 } else { 312 throw new Error(str); 313 } 314 }, 315setInput:function (input) { 316 this._input = input; 317 this._more = this._less = this.done = false; 318 this.yylineno = this.yyleng = 0; 319 this.yytext = this.matched = this.match = ''; 320 this.conditionStack = ['INITIAL']; 321 this.yylloc = {first_line:1,first_column:0,last_line:1,last_column:0}; 322 if (this.options.ranges) this.yylloc.range = [0,0]; 323 this.offset = 0; 324 return this; 325 }, 326input:function () { 327 var ch = this._input[0]; 328 this.yytext += ch; 329 this.yyleng++; 330 this.offset++; 331 this.match += ch; 332 this.matched += ch; 333 var lines = ch.match(/(?:\r\n?|\n).*/g); 334 if (lines) { 335 this.yylineno++; 336 this.yylloc.last_line++; 337 } else { 338 this.yylloc.last_column++; 339 } 340 if (this.options.ranges) this.yylloc.range[1]++; 341 342 this._input = this._input.slice(1); 343 return ch; 344 }, 345unput:function (ch) { 346 var len = ch.length; 347 var lines = ch.split(/(?:\r\n?|\n)/g); 348 349 this._input = ch + this._input; 350 this.yytext = this.yytext.substr(0, this.yytext.length-len-1); 351 //this.yyleng -= len; 352 this.offset -= len; 353 var oldLines = this.match.split(/(?:\r\n?|\n)/g); 354 this.match = this.match.substr(0, this.match.length-1); 355 this.matched = this.matched.substr(0, this.matched.length-1); 356 357 if (lines.length-1) this.yylineno -= lines.length-1; 358 var r = this.yylloc.range; 359 360 this.yylloc = {first_line: this.yylloc.first_line, 361 last_line: this.yylineno+1, 362 first_column: this.yylloc.first_column, 363 last_column: lines ? 364 (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length: 365 this.yylloc.first_column - len 366 }; 367 368 if (this.options.ranges) { 369 this.yylloc.range = [r[0], r[0] + this.yyleng - len]; 370 } 371 return this; 372 }, 373more:function () { 374 this._more = true; 375 return this; 376 }, 377less:function (n) { 378 this.unput(this.match.slice(n)); 379 }, 380pastInput:function () { 381 var past = this.matched.substr(0, this.matched.length - this.match.length); 382 return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); 383 }, 384upcomingInput:function () { 385 var next = this.match; 386 if (next.length < 20) { 387 next += this._input.substr(0, 20-next.length); 388 } 389 return (next.substr(0,20)+(next.length > 20 ? '...':'')).replace(/\n/g, ""); 390 }, 391showPosition:function () { 392 var pre = this.pastInput(); 393 var c = new Array(pre.length + 1).join("-"); 394 return pre + this.upcomingInput() + "\n" + c+"^"; 395 }, 396next:function () { 397 if (this.done) { 398 return this.EOF; 399 } 400 if (!this._input) this.done = true; 401 402 var token, 403 match, 404 tempMatch, 405 index, 406 col, 407 lines; 408 if (!this._more) { 409 this.yytext = ''; 410 this.match = ''; 411 } 412 var rules = this._currentRules(); 413 for (var i=0;i < rules.length; i++) { 414 tempMatch = this._input.match(this.rules[rules[i]]); 415 if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { 416 match = tempMatch; 417 index = i; 418 if (!this.options.flex) break; 419 } 420 } 421 if (match) { 422 lines = match[0].match(/(?:\r\n?|\n).*/g); 423 if (lines) this.yylineno += lines.length; 424 this.yylloc = {first_line: this.yylloc.last_line, 425 last_line: this.yylineno+1, 426 first_column: this.yylloc.last_column, 427 last_column: lines ? lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length}; 428 this.yytext += match[0]; 429 this.match += match[0]; 430 this.matches = match; 431 this.yyleng = this.yytext.length; 432 if (this.options.ranges) { 433 this.yylloc.range = [this.offset, this.offset += this.yyleng]; 434 } 435 this._more = false; 436 this._input = this._input.slice(match[0].length); 437 this.matched += match[0]; 438 token = this.performAction.call(this, this.yy, this, rules[index],this.conditionStack[this.conditionStack.length-1]); 439 if (this.done && this._input) this.done = false; 440 if (token) return token; 441 else return; 442 } 443 if (this._input === "") { 444 return this.EOF; 445 } else { 446 return this.parseError('Lexical error on line '+(this.yylineno+1)+'. Unrecognized text.\n'+this.showPosition(), 447 {text: "", token: null, line: this.yylineno}); 448 } 449 }, 450lex:function lex () { 451 var r = this.next(); 452 if (typeof r !== 'undefined') { 453 return r; 454 } else { 455 return this.lex(); 456 } 457 }, 458begin:function begin (condition) { 459 this.conditionStack.push(condition); 460 }, 461popState:function popState () { 462 return this.conditionStack.pop(); 463 }, 464_currentRules:function _currentRules () { 465 return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules; 466 }, 467topState:function () { 468 return this.conditionStack[this.conditionStack.length-2]; 469 }, 470pushState:function begin (condition) { 471 this.begin(condition); 472 }}); 473lexer.options = {}; 474lexer.performAction = function anonymous(yy,yy_,$avoiding_name_collisions,YY_START 475) { 476 477 478function strip(start, end) { 479 return yy_.yytext = yy_.yytext.substring(start, yy_.yyleng - end + start); 480} 481 482 483var YYSTATE=YY_START 484switch($avoiding_name_collisions) { 485case 0: 486 if(yy_.yytext.slice(-2) === "\\\\") { 487 strip(0,1); 488 this.begin("mu"); 489 } else if(yy_.yytext.slice(-1) === "\\") { 490 strip(0,1); 491 this.begin("emu"); 492 } else { 493 this.begin("mu"); 494 } 495 if(yy_.yytext) return 15; 496 497break; 498case 1:return 15; 499break; 500case 2: 501 this.popState(); 502 return 15; 503 504break; 505case 3:this.begin('raw'); return 15; 506break; 507case 4: 508 this.popState(); 509 // Should be using `this.topState()` below, but it currently 510 // returns the second top instead of the first top. Opened an 511 // issue about it at https://github.com/zaach/jison/issues/291 512 if (this.conditionStack[this.conditionStack.length-1] === 'raw') { 513 return 15; 514 } else { 515 strip(5, 9); 516 return 'END_RAW_BLOCK'; 517 } 518 519break; 520case 5: return 15; 521break; 522case 6: 523 this.popState(); 524 return 14; 525 526break; 527case 7:return 65; 528break; 529case 8:return 68; 530break; 531case 9: return 19; 532break; 533case 10: 534 this.popState(); 535 this.begin('raw'); 536 return 23; 537 538break; 539case 11:return 55; 540break; 541case 12:return 60; 542break; 543case 13:return 29; 544break; 545case 14:return 47; 546break; 547case 15:this.popState(); return 44; 548break; 549case 16:this.popState(); return 44; 550break; 551case 17:return 34; 552break; 553case 18:return 39; 554break; 555case 19:return 51; 556break; 557case 20:return 48; 558break; 559case 21: 560 this.unput(yy_.yytext); 561 this.popState(); 562 this.begin('com'); 563 564break; 565case 22: 566 this.popState(); 567 return 14; 568 569break; 570case 23:return 48; 571break; 572case 24:return 73; 573break; 574case 25:return 72; 575break; 576case 26:return 72; 577break; 578case 27:return 87; 579break; 580case 28:// ignore whitespace 581break; 582case 29:this.popState(); return 54; 583break; 584case 30:this.popState(); return 33; 585break; 586case 31:yy_.yytext = strip(1,2).replace(/\\"/g,'"'); return 80; 587break; 588case 32:yy_.yytext = strip(1,2).replace(/\\'/g,"'"); return 80; 589break; 590case 33:return 85; 591break; 592case 34:return 82; 593break; 594case 35:return 82; 595break; 596case 36:return 83; 597break; 598case 37:return 84; 599break; 600case 38:return 81; 601break; 602case 39:return 75; 603break; 604case 40:return 77; 605break; 606case 41:return 72; 607break; 608case 42:yy_.yytext = yy_.yytext.replace(/\\([\\\]])/g,'$1'); return 72; 609break; 610case 43:return 'INVALID'; 611break; 612case 44:return 5; 613break; 614} 615}; 616lexer.rules = [/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/]; 617lexer.conditions = {"mu":{"rules":[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"inclusive":false},"emu":{"rules":[2],"inclusive":false},"com":{"rules":[6],"inclusive":false},"raw":{"rules":[3,4,5],"inclusive":false},"INITIAL":{"rules":[0,1,44],"inclusive":true}}; 618return lexer;})() 619parser.lexer = lexer; 620function Parser () { this.yy = {}; }Parser.prototype = parser;parser.Parser = Parser; 621return new Parser; 622})();export default handlebars; 623