Bug:Fix file validation issue
[vnfsdk/refrepo.git] / vnfmarket / src / main / webapp / vnfmarket / node_modules / handlebars / lib / handlebars / compiler / parser.js
1 /* istanbul ignore next */
2 /* Jison generated parser */
3 var handlebars = (function(){
4 var parser = {trace: function trace() { },
5 yy: {},
6 symbols_: {"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_repetition_plus0":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},
7 terminals_: {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"},
8 productions_: [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,1],[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]],
9 performAction: function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$
10 /**/) {
11
12 var $0 = $$.length - 1;
13 switch (yystate) {
14 case 1: return $$[$0-1]; 
15 break;
16 case 2:this.$ = yy.prepareProgram($$[$0]);
17 break;
18 case 3:this.$ = $$[$0];
19 break;
20 case 4:this.$ = $$[$0];
21 break;
22 case 5:this.$ = $$[$0];
23 break;
24 case 6:this.$ = $$[$0];
25 break;
26 case 7:this.$ = $$[$0];
27 break;
28 case 8:this.$ = $$[$0];
29 break;
30 case 9:
31     this.$ = {
32       type: 'CommentStatement',
33       value: yy.stripComment($$[$0]),
34       strip: yy.stripFlags($$[$0], $$[$0]),
35       loc: yy.locInfo(this._$)
36     };
37   
38 break;
39 case 10:
40     this.$ = {
41       type: 'ContentStatement',
42       original: $$[$0],
43       value: $$[$0],
44       loc: yy.locInfo(this._$)
45     };
46   
47 break;
48 case 11:this.$ = yy.prepareRawBlock($$[$0-2], $$[$0-1], $$[$0], this._$);
49 break;
50 case 12:this.$ = { path: $$[$0-3], params: $$[$0-2], hash: $$[$0-1] };
51 break;
52 case 13:this.$ = yy.prepareBlock($$[$0-3], $$[$0-2], $$[$0-1], $$[$0], false, this._$);
53 break;
54 case 14:this.$ = yy.prepareBlock($$[$0-3], $$[$0-2], $$[$0-1], $$[$0], true, this._$);
55 break;
56 case 15:this.$ = { open: $$[$0-5], path: $$[$0-4], params: $$[$0-3], hash: $$[$0-2], blockParams: $$[$0-1], strip: yy.stripFlags($$[$0-5], $$[$0]) };
57 break;
58 case 16:this.$ = { path: $$[$0-4], params: $$[$0-3], hash: $$[$0-2], blockParams: $$[$0-1], strip: yy.stripFlags($$[$0-5], $$[$0]) };
59 break;
60 case 17:this.$ = { path: $$[$0-4], params: $$[$0-3], hash: $$[$0-2], blockParams: $$[$0-1], strip: yy.stripFlags($$[$0-5], $$[$0]) };
61 break;
62 case 18:this.$ = { strip: yy.stripFlags($$[$0-1], $$[$0-1]), program: $$[$0] };
63 break;
64 case 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   
71 break;
72 case 20:this.$ = $$[$0];
73 break;
74 case 21:this.$ = {path: $$[$0-1], strip: yy.stripFlags($$[$0-2], $$[$0])};
75 break;
76 case 22:this.$ = yy.prepareMustache($$[$0-3], $$[$0-2], $$[$0-1], $$[$0-4], yy.stripFlags($$[$0-4], $$[$0]), this._$);
77 break;
78 case 23:this.$ = yy.prepareMustache($$[$0-3], $$[$0-2], $$[$0-1], $$[$0-4], yy.stripFlags($$[$0-4], $$[$0]), this._$);
79 break;
80 case 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   
91 break;
92 case 25:this.$ = yy.preparePartialBlock($$[$0-2], $$[$0-1], $$[$0], this._$);
93 break;
94 case 26:this.$ = { path: $$[$0-3], params: $$[$0-2], hash: $$[$0-1], strip: yy.stripFlags($$[$0-4], $$[$0]) };
95 break;
96 case 27:this.$ = $$[$0];
97 break;
98 case 28:this.$ = $$[$0];
99 break;
100 case 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   
109 break;
110 case 30:this.$ = {type: 'Hash', pairs: $$[$0], loc: yy.locInfo(this._$)};
111 break;
112 case 31:this.$ = {type: 'HashPair', key: yy.id($$[$0-2]), value: $$[$0], loc: yy.locInfo(this._$)};
113 break;
114 case 32:this.$ = yy.id($$[$0-1]);
115 break;
116 case 33:this.$ = $$[$0];
117 break;
118 case 34:this.$ = $$[$0];
119 break;
120 case 35:this.$ = {type: 'StringLiteral', value: $$[$0], original: $$[$0], loc: yy.locInfo(this._$)};
121 break;
122 case 36:this.$ = {type: 'NumberLiteral', value: Number($$[$0]), original: Number($$[$0]), loc: yy.locInfo(this._$)};
123 break;
124 case 37:this.$ = {type: 'BooleanLiteral', value: $$[$0] === 'true', original: $$[$0] === 'true', loc: yy.locInfo(this._$)};
125 break;
126 case 38:this.$ = {type: 'UndefinedLiteral', original: undefined, value: undefined, loc: yy.locInfo(this._$)};
127 break;
128 case 39:this.$ = {type: 'NullLiteral', original: null, value: null, loc: yy.locInfo(this._$)};
129 break;
130 case 40:this.$ = $$[$0];
131 break;
132 case 41:this.$ = $$[$0];
133 break;
134 case 42:this.$ = yy.preparePath(true, $$[$0], this._$);
135 break;
136 case 43:this.$ = yy.preparePath(false, $$[$0], this._$);
137 break;
138 case 44: $$[$0-2].push({part: yy.id($$[$0]), original: $$[$0], separator: $$[$0-1]}); this.$ = $$[$0-2]; 
139 break;
140 case 45:this.$ = [{part: yy.id($$[$0]), original: $$[$0]}];
141 break;
142 case 46:this.$ = [];
143 break;
144 case 47:$$[$0-1].push($$[$0]);
145 break;
146 case 48:this.$ = [$$[$0]];
147 break;
148 case 49:$$[$0-1].push($$[$0]);
149 break;
150 case 50:this.$ = [];
151 break;
152 case 51:$$[$0-1].push($$[$0]);
153 break;
154 case 58:this.$ = [];
155 break;
156 case 59:$$[$0-1].push($$[$0]);
157 break;
158 case 64:this.$ = [];
159 break;
160 case 65:$$[$0-1].push($$[$0]);
161 break;
162 case 70:this.$ = [];
163 break;
164 case 71:$$[$0-1].push($$[$0]);
165 break;
166 case 78:this.$ = [];
167 break;
168 case 79:$$[$0-1].push($$[$0]);
169 break;
170 case 82:this.$ = [];
171 break;
172 case 83:$$[$0-1].push($$[$0]);
173 break;
174 case 86:this.$ = [];
175 break;
176 case 87:$$[$0-1].push($$[$0]);
177 break;
178 case 90:this.$ = [];
179 break;
180 case 91:$$[$0-1].push($$[$0]);
181 break;
182 case 94:this.$ = [];
183 break;
184 case 95:$$[$0-1].push($$[$0]);
185 break;
186 case 98:this.$ = [$$[$0]];
187 break;
188 case 99:$$[$0-1].push($$[$0]);
189 break;
190 case 100:this.$ = [$$[$0]];
191 break;
192 case 101:$$[$0-1].push($$[$0]);
193 break;
194 }
195 },
196 table: [{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]},{13:40,15:[1,20],17:39},{20:42,56:41,64:43,65:[1,44],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:45,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: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:48,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:42,56:49,64:43,65:[1,44],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:50,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,51]},{72:[1,35],86:52},{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:53,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:54,38:56,39:[1,58],43:57,44:[1,59],45:55,47:[2,54]},{28:60,43:61,44:[1,59],47:[2,56]},{13:63,15:[1,20],18:[1,62]},{15:[2,48],18:[2,48]},{33:[2,86],57:64,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:65,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:66,47:[1,67]},{30:68,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:69,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:70,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:71,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:75,33:[2,80],50:72,63:73,64:76,65:[1,44],69:74,70:77,71:78,72:[1,79],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,80]},{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,51]},{20:75,53:81,54:[2,84],63:82,64:76,65:[1,44],69:83,70:77,71:78,72:[1,79],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:84,47:[1,67]},{47:[2,55]},{4:85,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:86,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:87,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:88,47:[1,67]},{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:75,33:[2,88],58:89,63:90,64:76,65:[1,44],69:91,70:77,71:78,72:[1,79],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:92,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:93,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:75,31:94,33:[2,60],63:95,64:76,65:[1,44],69:96,70:77,71:78,72:[1,79],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:75,33:[2,66],36:97,63:98,64:76,65:[1,44],69:99,70:77,71:78,72:[1,79],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:75,22:100,23:[2,52],63:101,64:76,65:[1,44],69:102,70:77,71:78,72:[1,79],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:75,33:[2,92],62:103,63:104,64:76,65:[1,44],69:105,70:77,71:78,72:[1,79],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,106]},{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:107,72:[1,108],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,109],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,110]},{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:56,39:[1,58],43:57,44:[1,59],45:112,46:111,47:[2,76]},{33:[2,70],40:113,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,114]},{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:75,63:116,64:76,65:[1,44],67:115,68:[2,96],69:117,70:77,71:78,72:[1,79],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,118]},{32:119,33:[2,62],74:120,75:[1,121]},{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:122,74:123,75:[1,121]},{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,124]},{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,125]},{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,109]},{20:75,63:126,64:76,65:[1,44],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:75,33:[2,72],41:127,63:128,64:76,65:[1,44],69:129,70:77,71:78,72:[1,79],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,130]},{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,131]},{33:[2,63]},{72:[1,133],76:132},{33:[1,134]},{33:[2,69]},{15:[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:135,74:136,75:[1,121]},{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,138],77:[1,137]},{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,139]},{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]}],
197 defaultActions: {4:[2,1],55:[2,55],57:[2,20],61:[2,57],74:[2,81],83:[2,85],87:[2,18],91:[2,89],102:[2,53],105:[2,93],111:[2,19],112:[2,77],117:[2,97],120:[2,63],123:[2,69],124:[2,12],136:[2,75],137:[2,32]},
198 parseError: function parseError(str, hash) {
199     throw new Error(str);
200 },
201 parse: 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 */
306 var lexer = (function(){
307 var lexer = ({EOF:1,
308 parseError: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     },
315 setInput: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     },
326 input: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     },
345 unput: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     },
373 more:function () {
374         this._more = true;
375         return this;
376     },
377 less:function (n) {
378         this.unput(this.match.slice(n));
379     },
380 pastInput: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     },
384 upcomingInput: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     },
391 showPosition:function () {
392         var pre = this.pastInput();
393         var c = new Array(pre.length + 1).join("-");
394         return pre + this.upcomingInput() + "\n" + c+"^";
395     },
396 next: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     },
450 lex:function lex() {
451         var r = this.next();
452         if (typeof r !== 'undefined') {
453             return r;
454         } else {
455             return this.lex();
456         }
457     },
458 begin:function begin(condition) {
459         this.conditionStack.push(condition);
460     },
461 popState:function popState() {
462         return this.conditionStack.pop();
463     },
464 _currentRules:function _currentRules() {
465         return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;
466     },
467 topState:function () {
468         return this.conditionStack[this.conditionStack.length-2];
469     },
470 pushState:function begin(condition) {
471         this.begin(condition);
472     }});
473 lexer.options = {};
474 lexer.performAction = function anonymous(yy,yy_,$avoiding_name_collisions,YY_START
475 /**/) {
476
477
478 function strip(start, end) {
479   return yy_.yytext = yy_.yytext.substr(start, yy_.yyleng-end);
480 }
481
482
483 var YYSTATE=YY_START
484 switch($avoiding_name_collisions) {
485 case 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                                  
497 break;
498 case 1:return 15;
499 break;
500 case 2:
501                                    this.popState();
502                                    return 15;
503                                  
504 break;
505 case 3:this.begin('raw'); return 15;
506 break;
507 case 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                                     yy_.yytext = yy_.yytext.substr(5, yy_.yyleng-9);
516                                     return 'END_RAW_BLOCK';
517                                   }
518                                  
519 break;
520 case 5: return 15; 
521 break;
522 case 6:
523   this.popState();
524   return 14;
525
526 break;
527 case 7:return 65;
528 break;
529 case 8:return 68;
530 break;
531 case 9: return 19; 
532 break;
533 case 10:
534                                   this.popState();
535                                   this.begin('raw');
536                                   return 23;
537                                  
538 break;
539 case 11:return 55;
540 break;
541 case 12:return 60;
542 break;
543 case 13:return 29;
544 break;
545 case 14:return 47;
546 break;
547 case 15:this.popState(); return 44;
548 break;
549 case 16:this.popState(); return 44;
550 break;
551 case 17:return 34;
552 break;
553 case 18:return 39;
554 break;
555 case 19:return 51;
556 break;
557 case 20:return 48;
558 break;
559 case 21:
560   this.unput(yy_.yytext);
561   this.popState();
562   this.begin('com');
563
564 break;
565 case 22:
566   this.popState();
567   return 14;
568
569 break;
570 case 23:return 48;
571 break;
572 case 24:return 73;
573 break;
574 case 25:return 72;
575 break;
576 case 26:return 72;
577 break;
578 case 27:return 87;
579 break;
580 case 28:// ignore whitespace
581 break;
582 case 29:this.popState(); return 54;
583 break;
584 case 30:this.popState(); return 33;
585 break;
586 case 31:yy_.yytext = strip(1,2).replace(/\\"/g,'"'); return 80;
587 break;
588 case 32:yy_.yytext = strip(1,2).replace(/\\'/g,"'"); return 80;
589 break;
590 case 33:return 85;
591 break;
592 case 34:return 82;
593 break;
594 case 35:return 82;
595 break;
596 case 36:return 83;
597 break;
598 case 37:return 84;
599 break;
600 case 38:return 81;
601 break;
602 case 39:return 75;
603 break;
604 case 40:return 77;
605 break;
606 case 41:return 72;
607 break;
608 case 42:yy_.yytext = yy_.yytext.replace(/\\([\\\]])/g,'$1'); return 72;
609 break;
610 case 43:return 'INVALID';
611 break;
612 case 44:return 5;
613 break;
614 }
615 };
616 lexer.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\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/];
617 lexer.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}};
618 return lexer;})()
619 parser.lexer = lexer;
620 function Parser () { this.yy = {}; }Parser.prototype = parser;parser.Parser = Parser;
621 return new Parser;
622 })();exports.__esModule = true;
623 exports['default'] = handlebars;