handlebars-source 4.2.0 → 4.2.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of handlebars-source might be problematic. Click here for more details.

Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/handlebars.js +599 -386
  3. data/handlebars.runtime.js +3 -3
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 92e4750353512619eac4505c3d3c28c3a768a5d85734fb262f95df0b0f3b2e27
4
- data.tar.gz: 837adb80971756de00359c41eb043f34c66f5ad785c5d2dff54ee248144cfa51
3
+ metadata.gz: a83d9220ee3ac85861bf3a93b610d1b0ff54151e0d0ca97df911643b4cf70fd9
4
+ data.tar.gz: 1d8d48de91c03bb62ba8e85999ed4c40d01eb4f649d6e8f774ceee6e5d2dde94
5
5
  SHA512:
6
- metadata.gz: e8c6b58728bf2677c050e25fdfe01fde2f54972f5f493d86c35be62bf0283df32eeab91cabdff9bdca15fe2e971e5d9f84254a6c7a4ef23a56ff66842fc41622
7
- data.tar.gz: 14a06f5400ab57988e149a1dc9110b76ba11a91604fac9a8eed05366b5f01b107edb2bcb9da728493ef9264b77305b021e09e75ccc063bad9e3f7252abdb1dca
6
+ metadata.gz: 905b1533d7d811ac142e75811b6b9499218e727e400d475e3d0c53ad04f0fc17bb172f26f0bdda727724ea51b2ba048bad05db262bcc8f67b9f84a524ec55ee5
7
+ data.tar.gz: e7b6444ef7dcdbf24e65c97253de41ac5d42f1554588134e790283ca0519f5863f1761705bd42d32ab2de142092d13025fb2aa52816f8fe50593feb771d6f585
@@ -1,7 +1,7 @@
1
1
  /**!
2
2
 
3
3
  @license
4
- handlebars v4.2.0
4
+ handlebars v4.2.1
5
5
 
6
6
  Copyright (C) 2011-2017 by Yehuda Katz
7
7
 
@@ -98,13 +98,13 @@ return /******/ (function(modules) { // webpackBootstrap
98
98
 
99
99
  var _handlebarsCompilerBase = __webpack_require__(36);
100
100
 
101
- var _handlebarsCompilerCompiler = __webpack_require__(41);
101
+ var _handlebarsCompilerCompiler = __webpack_require__(43);
102
102
 
103
- var _handlebarsCompilerJavascriptCompiler = __webpack_require__(42);
103
+ var _handlebarsCompilerJavascriptCompiler = __webpack_require__(44);
104
104
 
105
105
  var _handlebarsCompilerJavascriptCompiler2 = _interopRequireDefault(_handlebarsCompilerJavascriptCompiler);
106
106
 
107
- var _handlebarsCompilerVisitor = __webpack_require__(39);
107
+ var _handlebarsCompilerVisitor = __webpack_require__(41);
108
108
 
109
109
  var _handlebarsCompilerVisitor2 = _interopRequireDefault(_handlebarsCompilerVisitor);
110
110
 
@@ -275,7 +275,7 @@ return /******/ (function(modules) { // webpackBootstrap
275
275
 
276
276
  var _logger2 = _interopRequireDefault(_logger);
277
277
 
278
- var VERSION = '4.2.0';
278
+ var VERSION = '4.2.1';
279
279
  exports.VERSION = VERSION;
280
280
  var COMPILER_REVISION = 7;
281
281
 
@@ -1097,7 +1097,7 @@ return /******/ (function(modules) { // webpackBootstrap
1097
1097
  templateSpec.main.decorator = templateSpec.main_d;
1098
1098
 
1099
1099
  // Note: Using env.VM references rather than local var references throughout this section to allow
1100
- // for external users to override these as psuedo-supported APIs.
1100
+ // for external users to override these as pseudo-supported APIs.
1101
1101
  env.VM.checkRevision(templateSpec.compiler);
1102
1102
 
1103
1103
  function invokePartialWrapper(partial, context, options) {
@@ -1592,11 +1592,11 @@ return /******/ (function(modules) { // webpackBootstrap
1592
1592
 
1593
1593
  var _parser2 = _interopRequireDefault(_parser);
1594
1594
 
1595
- var _whitespaceControl = __webpack_require__(38);
1595
+ var _whitespaceControl = __webpack_require__(40);
1596
1596
 
1597
1597
  var _whitespaceControl2 = _interopRequireDefault(_whitespaceControl);
1598
1598
 
1599
- var _helpers = __webpack_require__(40);
1599
+ var _helpers = __webpack_require__(42);
1600
1600
 
1601
1601
  var Helpers = _interopRequireWildcard(_helpers);
1602
1602
 
@@ -1626,20 +1626,131 @@ return /******/ (function(modules) { // webpackBootstrap
1626
1626
 
1627
1627
  /***/ }),
1628
1628
  /* 37 */
1629
- /***/ (function(module, exports) {
1629
+ /***/ (function(module, exports, __webpack_require__) {
1630
1630
 
1631
1631
  // File ignored in coverage tests via setting in .istanbul.yml
1632
- /* Jison generated parser */
1632
+ /* parser generated by jison 0.4.16 */
1633
+ /*
1634
+ Returns a Parser object of the following structure:
1635
+
1636
+ Parser: {
1637
+ yy: {}
1638
+ }
1639
+
1640
+ Parser.prototype: {
1641
+ yy: {},
1642
+ trace: function(),
1643
+ symbols_: {associative list: name ==> number},
1644
+ terminals_: {associative list: number ==> name},
1645
+ productions_: [...],
1646
+ performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$),
1647
+ table: [...],
1648
+ defaultActions: {...},
1649
+ parseError: function(str, hash),
1650
+ parse: function(input),
1651
+
1652
+ lexer: {
1653
+ EOF: 1,
1654
+ parseError: function(str, hash),
1655
+ setInput: function(input),
1656
+ input: function(),
1657
+ unput: function(str),
1658
+ more: function(),
1659
+ less: function(n),
1660
+ pastInput: function(),
1661
+ upcomingInput: function(),
1662
+ showPosition: function(),
1663
+ test_match: function(regex_match_array, rule_index),
1664
+ next: function(),
1665
+ lex: function(),
1666
+ begin: function(condition),
1667
+ popState: function(),
1668
+ _currentRules: function(),
1669
+ topState: function(),
1670
+ pushState: function(condition),
1671
+
1672
+ options: {
1673
+ ranges: boolean (optional: true ==> token location info will include a .range[] member)
1674
+ flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match)
1675
+ backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code)
1676
+ },
1677
+
1678
+ performAction: function(yy, yy_, $avoiding_name_collisions, YY_START),
1679
+ rules: [...],
1680
+ conditions: {associative list: name ==> set},
1681
+ }
1682
+ }
1683
+
1684
+
1685
+ token location info (@$, _$, etc.): {
1686
+ first_line: n,
1687
+ last_line: n,
1688
+ first_column: n,
1689
+ last_column: n,
1690
+ range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based)
1691
+ }
1692
+
1693
+
1694
+ the parseError function receives a 'hash' object with these members for lexer and parser errors: {
1695
+ text: (matched text)
1696
+ token: (the produced terminal token, if any)
1697
+ line: (yylineno)
1698
+ }
1699
+ while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: {
1700
+ loc: (yylloc)
1701
+ expected: (string describing the set of expected tokens)
1702
+ recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error)
1703
+ }
1704
+ */
1633
1705
  "use strict";
1634
1706
 
1707
+ var _Object$create = __webpack_require__(38)["default"];
1708
+
1635
1709
  exports.__esModule = true;
1636
1710
  var handlebars = (function () {
1711
+ var o = function o(k, v, _o, l) {
1712
+ for (_o = _o || {}, l = k.length; l--; _o[k[l]] = v);return _o;
1713
+ },
1714
+ $V0 = [2, 46],
1715
+ $V1 = [1, 20],
1716
+ $V2 = [5, 14, 15, 19, 29, 34, 39, 44, 47, 48, 51, 55, 60],
1717
+ $V3 = [1, 35],
1718
+ $V4 = [1, 28],
1719
+ $V5 = [1, 29],
1720
+ $V6 = [1, 30],
1721
+ $V7 = [1, 31],
1722
+ $V8 = [1, 32],
1723
+ $V9 = [1, 34],
1724
+ $Va = [14, 15, 19, 29, 34, 39, 44, 47, 48, 51, 55, 60],
1725
+ $Vb = [14, 15, 19, 29, 34, 44, 47, 48, 51, 55, 60],
1726
+ $Vc = [1, 44],
1727
+ $Vd = [14, 15, 19, 29, 34, 47, 48, 51, 55, 60],
1728
+ $Ve = [33, 65, 72, 80, 81, 82, 83, 84, 85],
1729
+ $Vf = [23, 33, 54, 65, 68, 72, 75, 80, 81, 82, 83, 84, 85],
1730
+ $Vg = [1, 51],
1731
+ $Vh = [23, 33, 54, 65, 68, 72, 75, 80, 81, 82, 83, 84, 85, 87],
1732
+ $Vi = [2, 45],
1733
+ $Vj = [54, 65, 72, 80, 81, 82, 83, 84, 85],
1734
+ $Vk = [1, 58],
1735
+ $Vl = [1, 59],
1736
+ $Vm = [15, 18],
1737
+ $Vn = [1, 67],
1738
+ $Vo = [33, 65, 72, 75, 80, 81, 82, 83, 84, 85],
1739
+ $Vp = [23, 65, 72, 80, 81, 82, 83, 84, 85],
1740
+ $Vq = [1, 79],
1741
+ $Vr = [65, 68, 72, 80, 81, 82, 83, 84, 85],
1742
+ $Vs = [33, 75],
1743
+ $Vt = [23, 33, 54, 68, 72, 75],
1744
+ $Vu = [1, 109],
1745
+ $Vv = [1, 121],
1746
+ $Vw = [72, 77];
1637
1747
  var parser = { trace: function trace() {},
1638
1748
  yy: {},
1639
1749
  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 },
1640
1750
  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" },
1641
1751
  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]],
1642
- performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {
1752
+ performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, /* action[1] */$$, /* vstack */_$ /* lstack */) {
1753
+ /* this == yyval */
1643
1754
 
1644
1755
  var $0 = $$.length - 1;
1645
1756
  switch (yystate) {
@@ -1649,25 +1760,11 @@ return /******/ (function(modules) { // webpackBootstrap
1649
1760
  case 2:
1650
1761
  this.$ = yy.prepareProgram($$[$0]);
1651
1762
  break;
1652
- case 3:
1653
- this.$ = $$[$0];
1654
- break;
1655
- case 4:
1656
- this.$ = $$[$0];
1657
- break;
1658
- case 5:
1659
- this.$ = $$[$0];
1660
- break;
1661
- case 6:
1662
- this.$ = $$[$0];
1663
- break;
1664
- case 7:
1665
- this.$ = $$[$0];
1666
- break;
1667
- case 8:
1763
+ case 3:case 4:case 5:case 6:case 7:case 8:case 20:case 27:case 28:case 33:case 34:case 40:case 41:
1668
1764
  this.$ = $$[$0];
1669
1765
  break;
1670
1766
  case 9:
1767
+
1671
1768
  this.$ = {
1672
1769
  type: 'CommentStatement',
1673
1770
  value: yy.stripComment($$[$0]),
@@ -1677,6 +1774,7 @@ return /******/ (function(modules) { // webpackBootstrap
1677
1774
 
1678
1775
  break;
1679
1776
  case 10:
1777
+
1680
1778
  this.$ = {
1681
1779
  type: 'ContentStatement',
1682
1780
  original: $$[$0],
@@ -1700,36 +1798,29 @@ return /******/ (function(modules) { // webpackBootstrap
1700
1798
  case 15:
1701
1799
  this.$ = { open: $$[$0 - 5], path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) };
1702
1800
  break;
1703
- case 16:
1704
- this.$ = { path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) };
1705
- break;
1706
- case 17:
1801
+ case 16:case 17:
1707
1802
  this.$ = { path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) };
1708
1803
  break;
1709
1804
  case 18:
1710
1805
  this.$ = { strip: yy.stripFlags($$[$0 - 1], $$[$0 - 1]), program: $$[$0] };
1711
1806
  break;
1712
1807
  case 19:
1808
+
1713
1809
  var inverse = yy.prepareBlock($$[$0 - 2], $$[$0 - 1], $$[$0], $$[$0], false, this._$),
1714
1810
  program = yy.prepareProgram([inverse], $$[$0 - 1].loc);
1715
1811
  program.chained = true;
1716
1812
 
1717
1813
  this.$ = { strip: $$[$0 - 2].strip, program: program, chain: true };
1718
1814
 
1719
- break;
1720
- case 20:
1721
- this.$ = $$[$0];
1722
1815
  break;
1723
1816
  case 21:
1724
1817
  this.$ = { path: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 2], $$[$0]) };
1725
1818
  break;
1726
- case 22:
1727
- this.$ = yy.prepareMustache($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0 - 4], yy.stripFlags($$[$0 - 4], $$[$0]), this._$);
1728
- break;
1729
- case 23:
1819
+ case 22:case 23:
1730
1820
  this.$ = yy.prepareMustache($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0 - 4], yy.stripFlags($$[$0 - 4], $$[$0]), this._$);
1731
1821
  break;
1732
1822
  case 24:
1823
+
1733
1824
  this.$ = {
1734
1825
  type: 'PartialStatement',
1735
1826
  name: $$[$0 - 3],
@@ -1747,13 +1838,8 @@ return /******/ (function(modules) { // webpackBootstrap
1747
1838
  case 26:
1748
1839
  this.$ = { path: $$[$0 - 3], params: $$[$0 - 2], hash: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 4], $$[$0]) };
1749
1840
  break;
1750
- case 27:
1751
- this.$ = $$[$0];
1752
- break;
1753
- case 28:
1754
- this.$ = $$[$0];
1755
- break;
1756
1841
  case 29:
1842
+
1757
1843
  this.$ = {
1758
1844
  type: 'SubExpression',
1759
1845
  path: $$[$0 - 3],
@@ -1772,12 +1858,6 @@ return /******/ (function(modules) { // webpackBootstrap
1772
1858
  case 32:
1773
1859
  this.$ = yy.id($$[$0 - 1]);
1774
1860
  break;
1775
- case 33:
1776
- this.$ = $$[$0];
1777
- break;
1778
- case 34:
1779
- this.$ = $$[$0];
1780
- break;
1781
1861
  case 35:
1782
1862
  this.$ = { type: 'StringLiteral', value: $$[$0], original: $$[$0], loc: yy.locInfo(this._$) };
1783
1863
  break;
@@ -1793,12 +1873,6 @@ return /******/ (function(modules) { // webpackBootstrap
1793
1873
  case 39:
1794
1874
  this.$ = { type: 'NullLiteral', original: null, value: null, loc: yy.locInfo(this._$) };
1795
1875
  break;
1796
- case 40:
1797
- this.$ = $$[$0];
1798
- break;
1799
- case 41:
1800
- this.$ = $$[$0];
1801
- break;
1802
1876
  case 42:
1803
1877
  this.$ = yy.preparePath(true, $$[$0], this._$);
1804
1878
  break;
@@ -1811,125 +1885,81 @@ return /******/ (function(modules) { // webpackBootstrap
1811
1885
  case 45:
1812
1886
  this.$ = [{ part: yy.id($$[$0]), original: $$[$0] }];
1813
1887
  break;
1814
- case 46:
1815
- this.$ = [];
1816
- break;
1817
- case 47:
1818
- $$[$0 - 1].push($$[$0]);
1819
- break;
1820
- case 48:
1821
- this.$ = [$$[$0]];
1822
- break;
1823
- case 49:
1824
- $$[$0 - 1].push($$[$0]);
1825
- break;
1826
- case 50:
1827
- this.$ = [];
1828
- break;
1829
- case 51:
1830
- $$[$0 - 1].push($$[$0]);
1831
- break;
1832
- case 58:
1833
- this.$ = [];
1834
- break;
1835
- case 59:
1836
- $$[$0 - 1].push($$[$0]);
1837
- break;
1838
- case 64:
1839
- this.$ = [];
1840
- break;
1841
- case 65:
1842
- $$[$0 - 1].push($$[$0]);
1843
- break;
1844
- case 70:
1845
- this.$ = [];
1846
- break;
1847
- case 71:
1848
- $$[$0 - 1].push($$[$0]);
1849
- break;
1850
- case 78:
1851
- this.$ = [];
1852
- break;
1853
- case 79:
1854
- $$[$0 - 1].push($$[$0]);
1855
- break;
1856
- case 82:
1857
- this.$ = [];
1858
- break;
1859
- case 83:
1860
- $$[$0 - 1].push($$[$0]);
1861
- break;
1862
- case 86:
1863
- this.$ = [];
1864
- break;
1865
- case 87:
1866
- $$[$0 - 1].push($$[$0]);
1867
- break;
1868
- case 90:
1888
+ case 46:case 50:case 58:case 64:case 70:case 78:case 82:case 86:case 90:case 94:
1869
1889
  this.$ = [];
1870
1890
  break;
1871
- case 91:
1891
+ case 47:case 49:case 51:case 59:case 65:case 71:case 79:case 83:case 87:case 91:case 95:case 99:case 101:
1872
1892
  $$[$0 - 1].push($$[$0]);
1873
1893
  break;
1874
- case 94:
1875
- this.$ = [];
1876
- break;
1877
- case 95:
1878
- $$[$0 - 1].push($$[$0]);
1879
- break;
1880
- case 98:
1894
+ case 48:case 98:case 100:
1881
1895
  this.$ = [$$[$0]];
1882
1896
  break;
1883
- case 99:
1884
- $$[$0 - 1].push($$[$0]);
1885
- break;
1886
- case 100:
1887
- this.$ = [$$[$0]];
1888
- break;
1889
- case 101:
1890
- $$[$0 - 1].push($$[$0]);
1891
- break;
1892
1897
  }
1893
1898
  },
1894
- 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] }],
1899
+ table: [o([5, 14, 15, 19, 29, 34, 48, 51, 55, 60], $V0, { 3: 1, 4: 2, 6: 3 }), { 1: [3] }, { 5: [1, 4] }, o([5, 39, 44, 47], [2, 2], { 7: 5, 8: 6, 9: 7, 10: 8, 11: 9, 12: 10, 13: 11, 24: 15, 27: 16, 16: 17, 59: 19, 14: [1, 12], 15: $V1, 19: [1, 23], 29: [1, 21], 34: [1, 22], 48: [1, 13], 51: [1, 14], 55: [1, 18], 60: [1, 24] }), { 1: [2, 1] }, o($V2, [2, 47]), o($V2, [2, 3]), o($V2, [2, 4]), o($V2, [2, 5]), o($V2, [2, 6]), o($V2, [2, 7]), o($V2, [2, 8]), o($V2, [2, 9]), { 20: 25, 72: $V3, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, { 20: 36, 72: $V3, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, o($Va, $V0, { 6: 3, 4: 37 }), o($Vb, $V0, { 6: 3, 4: 38 }), { 13: 40, 15: $V1, 17: 39 }, { 20: 42, 56: 41, 64: 43, 65: $Vc, 72: $V3, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, o($Vd, $V0, { 6: 3, 4: 45 }), o([5, 14, 15, 18, 19, 29, 34, 39, 44, 47, 48, 51, 55, 60], [2, 10]), { 20: 46, 72: $V3, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, { 20: 47, 72: $V3, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, { 20: 48, 72: $V3, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, { 20: 42, 56: 49, 64: 43, 65: $Vc, 72: $V3, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, o($Ve, [2, 78], { 49: 50 }), o($Vf, [2, 33]), o($Vf, [2, 34]), o($Vf, [2, 35]), o($Vf, [2, 36]), o($Vf, [2, 37]), o($Vf, [2, 38]), o($Vf, [2, 39]), o($Vf, [2, 43], { 87: $Vg }), { 72: $V3, 86: 52 }, o($Vh, $Vi), o($Vj, [2, 82], { 52: 53 }), { 25: 54, 38: 56, 39: $Vk, 43: 57, 44: $Vl, 45: 55, 47: [2, 54] }, { 28: 60, 43: 61, 44: $Vl, 47: [2, 56] }, { 13: 63, 15: $V1, 18: [1, 62] }, o($Vm, [2, 48]), o($Ve, [2, 86], { 57: 64 }), o($Ve, [2, 40]), o($Ve, [2, 41]), { 20: 65, 72: $V3, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, { 26: 66, 47: $Vn }, o($Vo, [2, 58], { 30: 68 }), o($Vo, [2, 64], { 35: 69 }), o($Vp, [2, 50], { 21: 70 }), o($Ve, [2, 90], { 61: 71 }), { 20: 75, 33: [2, 80], 50: 72, 63: 73, 64: 76, 65: $Vc, 69: 74, 70: 77, 71: 78, 72: $Vq, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, { 72: [1, 80] }, o($Vf, [2, 42], { 87: $Vg }), { 20: 75, 53: 81, 54: [2, 84], 63: 82, 64: 76, 65: $Vc, 69: 83, 70: 77, 71: 78, 72: $Vq, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, { 26: 84, 47: $Vn }, { 47: [2, 55] }, o($Va, $V0, { 6: 3, 4: 85 }), { 47: [2, 20] }, { 20: 86, 72: $V3, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, o($Vd, $V0, { 6: 3, 4: 87 }), { 26: 88, 47: $Vn }, { 47: [2, 57] }, o($V2, [2, 11]), o($Vm, [2, 49]), { 20: 75, 33: [2, 88], 58: 89, 63: 90, 64: 76, 65: $Vc, 69: 91, 70: 77, 71: 78, 72: $Vq, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, o($Vr, [2, 94], { 66: 92 }), o($V2, [2, 25]), { 20: 93, 72: $V3, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, o($Vs, [2, 60], { 78: 26, 79: 27, 86: 33, 20: 75, 64: 76, 70: 77, 71: 78, 31: 94, 63: 95, 69: 96, 65: $Vc, 72: $Vq, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9 }), o($Vs, [2, 66], { 78: 26, 79: 27, 86: 33, 20: 75, 64: 76, 70: 77, 71: 78, 36: 97, 63: 98, 69: 99, 65: $Vc, 72: $Vq, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9 }), { 20: 75, 22: 100, 23: [2, 52], 63: 101, 64: 76, 65: $Vc, 69: 102, 70: 77, 71: 78, 72: $Vq, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, { 20: 75, 33: [2, 92], 62: 103, 63: 104, 64: 76, 65: $Vc, 69: 105, 70: 77, 71: 78, 72: $Vq, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, { 33: [1, 106] }, o($Ve, [2, 79]), { 33: [2, 81] }, o($Vf, [2, 27]), o($Vf, [2, 28]), o([23, 33, 54, 68, 75], [2, 30], { 71: 107, 72: [1, 108] }), o($Vt, [2, 98]), o($Vh, $Vi, { 73: $Vu }), o($Vh, [2, 44]), { 54: [1, 110] }, o($Vj, [2, 83]), { 54: [2, 85] }, o($V2, [2, 13]), { 38: 56, 39: $Vk, 43: 57, 44: $Vl, 45: 112, 46: 111, 47: [2, 76] }, o($Vo, [2, 70], { 40: 113 }), { 47: [2, 18] }, o($V2, [2, 14]), { 33: [1, 114] }, o($Ve, [2, 87]), { 33: [2, 89] }, { 20: 75, 63: 116, 64: 76, 65: $Vc, 67: 115, 68: [2, 96], 69: 117, 70: 77, 71: 78, 72: $Vq, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, { 33: [1, 118] }, { 32: 119, 33: [2, 62], 74: 120, 75: $Vv }, o($Vo, [2, 59]), o($Vs, [2, 61]), { 33: [2, 68], 37: 122, 74: 123, 75: $Vv }, o($Vo, [2, 65]), o($Vs, [2, 67]), { 23: [1, 124] }, o($Vp, [2, 51]), { 23: [2, 53] }, { 33: [1, 125] }, o($Ve, [2, 91]), { 33: [2, 93] }, o($V2, [2, 22]), o($Vt, [2, 99]), { 73: $Vu }, { 20: 75, 63: 126, 64: 76, 65: $Vc, 72: $V3, 78: 26, 79: 27, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9, 86: 33 }, o($V2, [2, 23]), { 47: [2, 19] }, { 47: [2, 77] }, o($Vs, [2, 72], { 78: 26, 79: 27, 86: 33, 20: 75, 64: 76, 70: 77, 71: 78, 41: 127, 63: 128, 69: 129, 65: $Vc, 72: $Vq, 80: $V4, 81: $V5, 82: $V6, 83: $V7, 84: $V8, 85: $V9 }), o($V2, [2, 24]), { 68: [1, 130] }, o($Vr, [2, 95]), { 68: [2, 97] }, o($V2, [2, 21]), { 33: [1, 131] }, { 33: [2, 63] }, { 72: [1, 133], 76: 132 }, { 33: [1, 134] }, { 33: [2, 69] }, { 15: [2, 12] }, o($Vd, [2, 26]), o($Vt, [2, 31]), { 33: [2, 74], 42: 135, 74: 136, 75: $Vv }, o($Vo, [2, 71]), o($Vs, [2, 73]), o($Vf, [2, 29]), o($Va, [2, 15]), { 72: [1, 138], 77: [1, 137] }, o($Vw, [2, 100]), o($Vb, [2, 16]), { 33: [1, 139] }, { 33: [2, 75] }, { 33: [2, 32] }, o($Vw, [2, 101]), o($Va, [2, 17])],
1895
1900
  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] },
1896
1901
  parseError: function parseError(str, hash) {
1897
- throw new Error(str);
1902
+ if (hash.recoverable) {
1903
+ this.trace(str);
1904
+ } else {
1905
+ var _parseError = function _parseError(msg, hash) {
1906
+ this.message = msg;
1907
+ this.hash = hash;
1908
+ };
1909
+
1910
+ _parseError.prototype = new Error();
1911
+
1912
+ throw new _parseError(str, hash);
1913
+ }
1898
1914
  },
1899
1915
  parse: function parse(input) {
1900
1916
  var self = this,
1901
1917
  stack = [0],
1918
+ tstack = [],
1902
1919
  vstack = [null],
1903
1920
  lstack = [],
1904
1921
  table = this.table,
1905
- yytext = "",
1922
+ yytext = '',
1906
1923
  yylineno = 0,
1907
1924
  yyleng = 0,
1908
1925
  recovering = 0,
1909
1926
  TERROR = 2,
1910
1927
  EOF = 1;
1911
- this.lexer.setInput(input);
1912
- this.lexer.yy = this.yy;
1913
- this.yy.lexer = this.lexer;
1914
- this.yy.parser = this;
1915
- if (typeof this.lexer.yylloc == "undefined") this.lexer.yylloc = {};
1916
- var yyloc = this.lexer.yylloc;
1928
+ var args = lstack.slice.call(arguments, 1);
1929
+ var lexer = _Object$create(this.lexer);
1930
+ var sharedState = { yy: {} };
1931
+ for (var k in this.yy) {
1932
+ if (Object.prototype.hasOwnProperty.call(this.yy, k)) {
1933
+ sharedState.yy[k] = this.yy[k];
1934
+ }
1935
+ }
1936
+ lexer.setInput(input, sharedState.yy);
1937
+ sharedState.yy.lexer = lexer;
1938
+ sharedState.yy.parser = this;
1939
+ if (typeof lexer.yylloc == 'undefined') {
1940
+ lexer.yylloc = {};
1941
+ }
1942
+ var yyloc = lexer.yylloc;
1917
1943
  lstack.push(yyloc);
1918
- var ranges = this.lexer.options && this.lexer.options.ranges;
1919
- if (typeof this.yy.parseError === "function") this.parseError = this.yy.parseError;
1944
+ var ranges = lexer.options && lexer.options.ranges;
1945
+ if (typeof sharedState.yy.parseError === 'function') {
1946
+ this.parseError = sharedState.yy.parseError;
1947
+ } else {
1948
+ this.parseError = Object.getPrototypeOf(this).parseError;
1949
+ }
1920
1950
  function popStack(n) {
1921
1951
  stack.length = stack.length - 2 * n;
1922
1952
  vstack.length = vstack.length - n;
1923
1953
  lstack.length = lstack.length - n;
1924
1954
  }
1925
- function lex() {
1955
+ _token_stack: var lex = function lex() {
1926
1956
  var token;
1927
- token = self.lexer.lex() || 1;
1928
- if (typeof token !== "number") {
1957
+ token = lexer.lex() || EOF;
1958
+ if (typeof token !== 'number') {
1929
1959
  token = self.symbols_[token] || token;
1930
1960
  }
1931
1961
  return token;
1932
- }
1962
+ };
1933
1963
  var symbol,
1934
1964
  preErrorSymbol,
1935
1965
  state,
@@ -1946,42 +1976,50 @@ return /******/ (function(modules) { // webpackBootstrap
1946
1976
  if (this.defaultActions[state]) {
1947
1977
  action = this.defaultActions[state];
1948
1978
  } else {
1949
- if (symbol === null || typeof symbol == "undefined") {
1979
+ if (symbol === null || typeof symbol == 'undefined') {
1950
1980
  symbol = lex();
1951
1981
  }
1952
1982
  action = table[state] && table[state][symbol];
1953
1983
  }
1954
- if (typeof action === "undefined" || !action.length || !action[0]) {
1955
- var errStr = "";
1956
- if (!recovering) {
1957
- expected = [];
1958
- for (p in table[state]) if (this.terminals_[p] && p > 2) {
1959
- expected.push("'" + this.terminals_[p] + "'");
1960
- }
1961
- if (this.lexer.showPosition) {
1962
- errStr = "Parse error on line " + (yylineno + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'";
1963
- } else {
1964
- errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == 1 ? "end of input" : "'" + (this.terminals_[symbol] || symbol) + "'");
1984
+ if (typeof action === 'undefined' || !action.length || !action[0]) {
1985
+ var errStr = '';
1986
+ expected = [];
1987
+ for (p in table[state]) {
1988
+ if (this.terminals_[p] && p > TERROR) {
1989
+ expected.push('\'' + this.terminals_[p] + '\'');
1965
1990
  }
1966
- this.parseError(errStr, { text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected });
1967
1991
  }
1992
+ if (lexer.showPosition) {
1993
+ errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\'';
1994
+ } else {
1995
+ errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\'');
1996
+ }
1997
+ this.parseError(errStr, {
1998
+ text: lexer.match,
1999
+ token: this.terminals_[symbol] || symbol,
2000
+ line: lexer.yylineno,
2001
+ loc: yyloc,
2002
+ expected: expected
2003
+ });
1968
2004
  }
1969
2005
  if (action[0] instanceof Array && action.length > 1) {
1970
- throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol);
2006
+ throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol);
1971
2007
  }
1972
2008
  switch (action[0]) {
1973
2009
  case 1:
1974
2010
  stack.push(symbol);
1975
- vstack.push(this.lexer.yytext);
1976
- lstack.push(this.lexer.yylloc);
2011
+ vstack.push(lexer.yytext);
2012
+ lstack.push(lexer.yylloc);
1977
2013
  stack.push(action[1]);
1978
2014
  symbol = null;
1979
2015
  if (!preErrorSymbol) {
1980
- yyleng = this.lexer.yyleng;
1981
- yytext = this.lexer.yytext;
1982
- yylineno = this.lexer.yylineno;
1983
- yyloc = this.lexer.yylloc;
1984
- if (recovering > 0) recovering--;
2016
+ yyleng = lexer.yyleng;
2017
+ yytext = lexer.yytext;
2018
+ yylineno = lexer.yylineno;
2019
+ yyloc = lexer.yylloc;
2020
+ if (recovering > 0) {
2021
+ recovering--;
2022
+ }
1985
2023
  } else {
1986
2024
  symbol = preErrorSymbol;
1987
2025
  preErrorSymbol = null;
@@ -1990,12 +2028,17 @@ return /******/ (function(modules) { // webpackBootstrap
1990
2028
  case 2:
1991
2029
  len = this.productions_[action[1]][1];
1992
2030
  yyval.$ = vstack[vstack.length - len];
1993
- 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 };
2031
+ yyval._$ = {
2032
+ first_line: lstack[lstack.length - (len || 1)].first_line,
2033
+ last_line: lstack[lstack.length - 1].last_line,
2034
+ first_column: lstack[lstack.length - (len || 1)].first_column,
2035
+ last_column: lstack[lstack.length - 1].last_column
2036
+ };
1994
2037
  if (ranges) {
1995
2038
  yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];
1996
2039
  }
1997
- r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack);
1998
- if (typeof r !== "undefined") {
2040
+ r = this.performAction.apply(yyval, [yytext, yyleng, yylineno, sharedState.yy, action[1], vstack, lstack].concat(args));
2041
+ if (typeof r !== 'undefined') {
1999
2042
  return r;
2000
2043
  }
2001
2044
  if (len) {
@@ -2014,11 +2057,13 @@ return /******/ (function(modules) { // webpackBootstrap
2014
2057
  }
2015
2058
  }
2016
2059
  return true;
2017
- }
2018
- };
2019
- /* Jison generated lexer */
2060
+ } };
2061
+ /* generated by jison-lex 0.3.4 */
2020
2062
  var lexer = (function () {
2021
- var lexer = { EOF: 1,
2063
+ var lexer = {
2064
+
2065
+ EOF: 1,
2066
+
2022
2067
  parseError: function parseError(str, hash) {
2023
2068
  if (this.yy.parser) {
2024
2069
  this.yy.parser.parseError(str, hash);
@@ -2026,17 +2071,29 @@ return /******/ (function(modules) { // webpackBootstrap
2026
2071
  throw new Error(str);
2027
2072
  }
2028
2073
  },
2029
- setInput: function setInput(input) {
2074
+
2075
+ // resets the lexer, sets new input
2076
+ setInput: function setInput(input, yy) {
2077
+ this.yy = yy || this.yy || {};
2030
2078
  this._input = input;
2031
- this._more = this._less = this.done = false;
2079
+ this._more = this._backtrack = this.done = false;
2032
2080
  this.yylineno = this.yyleng = 0;
2033
2081
  this.yytext = this.matched = this.match = '';
2034
2082
  this.conditionStack = ['INITIAL'];
2035
- this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 };
2036
- if (this.options.ranges) this.yylloc.range = [0, 0];
2083
+ this.yylloc = {
2084
+ first_line: 1,
2085
+ first_column: 0,
2086
+ last_line: 1,
2087
+ last_column: 0
2088
+ };
2089
+ if (this.options.ranges) {
2090
+ this.yylloc.range = [0, 0];
2091
+ }
2037
2092
  this.offset = 0;
2038
2093
  return this;
2039
2094
  },
2095
+
2096
+ // consumes and returns one char from the input
2040
2097
  input: function input() {
2041
2098
  var ch = this._input[0];
2042
2099
  this.yytext += ch;
@@ -2051,27 +2108,34 @@ return /******/ (function(modules) { // webpackBootstrap
2051
2108
  } else {
2052
2109
  this.yylloc.last_column++;
2053
2110
  }
2054
- if (this.options.ranges) this.yylloc.range[1]++;
2111
+ if (this.options.ranges) {
2112
+ this.yylloc.range[1]++;
2113
+ }
2055
2114
 
2056
2115
  this._input = this._input.slice(1);
2057
2116
  return ch;
2058
2117
  },
2118
+
2119
+ // unshifts one char (or a string) into the input
2059
2120
  unput: function unput(ch) {
2060
2121
  var len = ch.length;
2061
2122
  var lines = ch.split(/(?:\r\n?|\n)/g);
2062
2123
 
2063
2124
  this._input = ch + this._input;
2064
- this.yytext = this.yytext.substr(0, this.yytext.length - len - 1);
2125
+ this.yytext = this.yytext.substr(0, this.yytext.length - len);
2065
2126
  //this.yyleng -= len;
2066
2127
  this.offset -= len;
2067
2128
  var oldLines = this.match.split(/(?:\r\n?|\n)/g);
2068
2129
  this.match = this.match.substr(0, this.match.length - 1);
2069
2130
  this.matched = this.matched.substr(0, this.matched.length - 1);
2070
2131
 
2071
- if (lines.length - 1) this.yylineno -= lines.length - 1;
2132
+ if (lines.length - 1) {
2133
+ this.yylineno -= lines.length - 1;
2134
+ }
2072
2135
  var r = this.yylloc.range;
2073
2136
 
2074
- this.yylloc = { first_line: this.yylloc.first_line,
2137
+ this.yylloc = {
2138
+ first_line: this.yylloc.first_line,
2075
2139
  last_line: this.yylineno + 1,
2076
2140
  first_column: this.yylloc.first_column,
2077
2141
  last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len
@@ -2080,19 +2144,42 @@ return /******/ (function(modules) { // webpackBootstrap
2080
2144
  if (this.options.ranges) {
2081
2145
  this.yylloc.range = [r[0], r[0] + this.yyleng - len];
2082
2146
  }
2147
+ this.yyleng = this.yytext.length;
2083
2148
  return this;
2084
2149
  },
2150
+
2151
+ // When called from action, caches matched text and appends it on next action
2085
2152
  more: function more() {
2086
2153
  this._more = true;
2087
2154
  return this;
2088
2155
  },
2156
+
2157
+ // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.
2158
+ reject: function reject() {
2159
+ if (this.options.backtrack_lexer) {
2160
+ this._backtrack = true;
2161
+ } else {
2162
+ return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), {
2163
+ text: "",
2164
+ token: null,
2165
+ line: this.yylineno
2166
+ });
2167
+ }
2168
+ return this;
2169
+ },
2170
+
2171
+ // retain first n characters of the match
2089
2172
  less: function less(n) {
2090
2173
  this.unput(this.match.slice(n));
2091
2174
  },
2175
+
2176
+ // displays already matched input, i.e. for error messages
2092
2177
  pastInput: function pastInput() {
2093
2178
  var past = this.matched.substr(0, this.matched.length - this.match.length);
2094
2179
  return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\n/g, "");
2095
2180
  },
2181
+
2182
+ // displays upcoming input, i.e. for error messages
2096
2183
  upcomingInput: function upcomingInput() {
2097
2184
  var next = this.match;
2098
2185
  if (next.length < 20) {
@@ -2100,18 +2187,92 @@ return /******/ (function(modules) { // webpackBootstrap
2100
2187
  }
2101
2188
  return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\n/g, "");
2102
2189
  },
2190
+
2191
+ // displays the character position where the lexing error occurred, i.e. for error messages
2103
2192
  showPosition: function showPosition() {
2104
2193
  var pre = this.pastInput();
2105
2194
  var c = new Array(pre.length + 1).join("-");
2106
2195
  return pre + this.upcomingInput() + "\n" + c + "^";
2107
2196
  },
2197
+
2198
+ // test the lexed token: return FALSE when not a match, otherwise return token
2199
+ test_match: function test_match(match, indexed_rule) {
2200
+ var token, lines, backup;
2201
+
2202
+ if (this.options.backtrack_lexer) {
2203
+ // save context
2204
+ backup = {
2205
+ yylineno: this.yylineno,
2206
+ yylloc: {
2207
+ first_line: this.yylloc.first_line,
2208
+ last_line: this.last_line,
2209
+ first_column: this.yylloc.first_column,
2210
+ last_column: this.yylloc.last_column
2211
+ },
2212
+ yytext: this.yytext,
2213
+ match: this.match,
2214
+ matches: this.matches,
2215
+ matched: this.matched,
2216
+ yyleng: this.yyleng,
2217
+ offset: this.offset,
2218
+ _more: this._more,
2219
+ _input: this._input,
2220
+ yy: this.yy,
2221
+ conditionStack: this.conditionStack.slice(0),
2222
+ done: this.done
2223
+ };
2224
+ if (this.options.ranges) {
2225
+ backup.yylloc.range = this.yylloc.range.slice(0);
2226
+ }
2227
+ }
2228
+
2229
+ lines = match[0].match(/(?:\r\n?|\n).*/g);
2230
+ if (lines) {
2231
+ this.yylineno += lines.length;
2232
+ }
2233
+ this.yylloc = {
2234
+ first_line: this.yylloc.last_line,
2235
+ last_line: this.yylineno + 1,
2236
+ first_column: this.yylloc.last_column,
2237
+ last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length
2238
+ };
2239
+ this.yytext += match[0];
2240
+ this.match += match[0];
2241
+ this.matches = match;
2242
+ this.yyleng = this.yytext.length;
2243
+ if (this.options.ranges) {
2244
+ this.yylloc.range = [this.offset, this.offset += this.yyleng];
2245
+ }
2246
+ this._more = false;
2247
+ this._backtrack = false;
2248
+ this._input = this._input.slice(match[0].length);
2249
+ this.matched += match[0];
2250
+ token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);
2251
+ if (this.done && this._input) {
2252
+ this.done = false;
2253
+ }
2254
+ if (token) {
2255
+ return token;
2256
+ } else if (this._backtrack) {
2257
+ // recover context
2258
+ for (var k in backup) {
2259
+ this[k] = backup[k];
2260
+ }
2261
+ return false; // rule action called reject() implying the next rule should be tested instead.
2262
+ }
2263
+ return false;
2264
+ },
2265
+
2266
+ // return next match in input
2108
2267
  next: function next() {
2109
2268
  if (this.done) {
2110
2269
  return this.EOF;
2111
2270
  }
2112
- if (!this._input) this.done = true;
2271
+ if (!this._input) {
2272
+ this.done = true;
2273
+ }
2113
2274
 
2114
- var token, match, tempMatch, index, col, lines;
2275
+ var token, match, tempMatch, index;
2115
2276
  if (!this._more) {
2116
2277
  this.yytext = '';
2117
2278
  this.match = '';
@@ -2122,251 +2283,303 @@ return /******/ (function(modules) { // webpackBootstrap
2122
2283
  if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
2123
2284
  match = tempMatch;
2124
2285
  index = i;
2125
- if (!this.options.flex) break;
2286
+ if (this.options.backtrack_lexer) {
2287
+ token = this.test_match(tempMatch, rules[i]);
2288
+ if (token !== false) {
2289
+ return token;
2290
+ } else if (this._backtrack) {
2291
+ match = false;
2292
+ continue; // rule action called reject() implying a rule MISmatch.
2293
+ } else {
2294
+ // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)
2295
+ return false;
2296
+ }
2297
+ } else if (!this.options.flex) {
2298
+ break;
2299
+ }
2126
2300
  }
2127
2301
  }
2128
2302
  if (match) {
2129
- lines = match[0].match(/(?:\r\n?|\n).*/g);
2130
- if (lines) this.yylineno += lines.length;
2131
- this.yylloc = { first_line: this.yylloc.last_line,
2132
- last_line: this.yylineno + 1,
2133
- first_column: this.yylloc.last_column,
2134
- last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length };
2135
- this.yytext += match[0];
2136
- this.match += match[0];
2137
- this.matches = match;
2138
- this.yyleng = this.yytext.length;
2139
- if (this.options.ranges) {
2140
- this.yylloc.range = [this.offset, this.offset += this.yyleng];
2303
+ token = this.test_match(match, rules[index]);
2304
+ if (token !== false) {
2305
+ return token;
2141
2306
  }
2142
- this._more = false;
2143
- this._input = this._input.slice(match[0].length);
2144
- this.matched += match[0];
2145
- token = this.performAction.call(this, this.yy, this, rules[index], this.conditionStack[this.conditionStack.length - 1]);
2146
- if (this.done && this._input) this.done = false;
2147
- if (token) return token;else return;
2307
+ // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)
2308
+ return false;
2148
2309
  }
2149
2310
  if (this._input === "") {
2150
2311
  return this.EOF;
2151
2312
  } else {
2152
- return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { text: "", token: null, line: this.yylineno });
2313
+ return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), {
2314
+ text: "",
2315
+ token: null,
2316
+ line: this.yylineno
2317
+ });
2153
2318
  }
2154
2319
  },
2320
+
2321
+ // return next match that has a token
2155
2322
  lex: function lex() {
2156
2323
  var r = this.next();
2157
- if (typeof r !== 'undefined') {
2324
+ if (r) {
2158
2325
  return r;
2159
2326
  } else {
2160
2327
  return this.lex();
2161
2328
  }
2162
2329
  },
2330
+
2331
+ // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
2163
2332
  begin: function begin(condition) {
2164
2333
  this.conditionStack.push(condition);
2165
2334
  },
2335
+
2336
+ // pop the previously active lexer condition state off the condition stack
2166
2337
  popState: function popState() {
2167
- return this.conditionStack.pop();
2338
+ var n = this.conditionStack.length - 1;
2339
+ if (n > 0) {
2340
+ return this.conditionStack.pop();
2341
+ } else {
2342
+ return this.conditionStack[0];
2343
+ }
2168
2344
  },
2345
+
2346
+ // produce the lexer rule set which is active for the currently active lexer condition state
2169
2347
  _currentRules: function _currentRules() {
2170
- return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
2348
+ if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {
2349
+ return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
2350
+ } else {
2351
+ return this.conditions["INITIAL"].rules;
2352
+ }
2171
2353
  },
2172
- topState: function topState() {
2173
- return this.conditionStack[this.conditionStack.length - 2];
2354
+
2355
+ // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
2356
+ topState: function topState(n) {
2357
+ n = this.conditionStack.length - 1 - Math.abs(n || 0);
2358
+ if (n >= 0) {
2359
+ return this.conditionStack[n];
2360
+ } else {
2361
+ return "INITIAL";
2362
+ }
2174
2363
  },
2175
- pushState: function begin(condition) {
2364
+
2365
+ // alias for begin(condition)
2366
+ pushState: function pushState(condition) {
2176
2367
  this.begin(condition);
2177
- } };
2178
- lexer.options = {};
2179
- lexer.performAction = function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {
2368
+ },
2180
2369
 
2181
- function strip(start, end) {
2182
- return yy_.yytext = yy_.yytext.substring(start, yy_.yyleng - end + start);
2183
- }
2370
+ // return the number of states currently on the stack
2371
+ stateStackSize: function stateStackSize() {
2372
+ return this.conditionStack.length;
2373
+ },
2374
+ options: {},
2375
+ performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {
2184
2376
 
2185
- var YYSTATE = YY_START;
2186
- switch ($avoiding_name_collisions) {
2187
- case 0:
2188
- if (yy_.yytext.slice(-2) === "\\\\") {
2189
- strip(0, 1);
2190
- this.begin("mu");
2191
- } else if (yy_.yytext.slice(-1) === "\\") {
2192
- strip(0, 1);
2193
- this.begin("emu");
2194
- } else {
2195
- this.begin("mu");
2196
- }
2197
- if (yy_.yytext) return 15;
2377
+ function strip(start, end) {
2378
+ return yy_.yytext = yy_.yytext.substring(start, yy_.yyleng - end + start);
2379
+ }
2198
2380
 
2199
- break;
2200
- case 1:
2201
- return 15;
2202
- break;
2203
- case 2:
2204
- this.popState();
2205
- return 15;
2381
+ var YYSTATE = YY_START;
2382
+ switch ($avoiding_name_collisions) {
2383
+ case 0:
2384
+ if (yy_.yytext.slice(-2) === "\\\\") {
2385
+ strip(0, 1);
2386
+ this.begin("mu");
2387
+ } else if (yy_.yytext.slice(-1) === "\\") {
2388
+ strip(0, 1);
2389
+ this.begin("emu");
2390
+ } else {
2391
+ this.begin("mu");
2392
+ }
2393
+ if (yy_.yytext) return 15;
2206
2394
 
2207
- break;
2208
- case 3:
2209
- this.begin('raw');return 15;
2210
- break;
2211
- case 4:
2212
- this.popState();
2213
- // Should be using `this.topState()` below, but it currently
2214
- // returns the second top instead of the first top. Opened an
2215
- // issue about it at https://github.com/zaach/jison/issues/291
2216
- if (this.conditionStack[this.conditionStack.length - 1] === 'raw') {
2395
+ break;
2396
+ case 1:
2397
+ return 15;
2398
+ break;
2399
+ case 2:
2400
+ this.popState();
2217
2401
  return 15;
2218
- } else {
2219
- strip(5, 9);
2220
- return 'END_RAW_BLOCK';
2221
- }
2222
2402
 
2223
- break;
2224
- case 5:
2225
- return 15;
2226
- break;
2227
- case 6:
2228
- this.popState();
2229
- return 14;
2403
+ break;
2404
+ case 3:
2405
+ this.begin('raw');return 15;
2406
+ break;
2407
+ case 4:
2408
+ this.popState();
2409
+ // Should be using `this.topState()` below, but it currently
2410
+ // returns the second top instead of the first top. Opened an
2411
+ // issue about it at https://github.com/zaach/jison/issues/291
2412
+ if (this.conditionStack[this.conditionStack.length - 1] === 'raw') {
2413
+ return 15;
2414
+ } else {
2415
+ strip(5, 9);
2416
+ return 18;
2417
+ }
2230
2418
 
2231
- break;
2232
- case 7:
2233
- return 65;
2234
- break;
2235
- case 8:
2236
- return 68;
2237
- break;
2238
- case 9:
2239
- return 19;
2240
- break;
2241
- case 10:
2242
- this.popState();
2243
- this.begin('raw');
2244
- return 23;
2419
+ break;
2420
+ case 5:
2421
+ return 15;
2422
+ break;
2423
+ case 6:
2424
+ this.popState();
2425
+ return 14;
2245
2426
 
2246
- break;
2247
- case 11:
2248
- return 55;
2249
- break;
2250
- case 12:
2251
- return 60;
2252
- break;
2253
- case 13:
2254
- return 29;
2255
- break;
2256
- case 14:
2257
- return 47;
2258
- break;
2259
- case 15:
2260
- this.popState();return 44;
2261
- break;
2262
- case 16:
2263
- this.popState();return 44;
2264
- break;
2265
- case 17:
2266
- return 34;
2267
- break;
2268
- case 18:
2269
- return 39;
2270
- break;
2271
- case 19:
2272
- return 51;
2273
- break;
2274
- case 20:
2275
- return 48;
2276
- break;
2277
- case 21:
2278
- this.unput(yy_.yytext);
2279
- this.popState();
2280
- this.begin('com');
2427
+ break;
2428
+ case 7:
2429
+ return 65;
2430
+ break;
2431
+ case 8:
2432
+ return 68;
2433
+ break;
2434
+ case 9:
2435
+ return 19;
2436
+ break;
2437
+ case 10:
2438
+ this.popState();
2439
+ this.begin('raw');
2440
+ return 23;
2281
2441
 
2282
- break;
2283
- case 22:
2284
- this.popState();
2285
- return 14;
2442
+ break;
2443
+ case 11:
2444
+ return 55;
2445
+ break;
2446
+ case 12:
2447
+ return 60;
2448
+ break;
2449
+ case 13:
2450
+ return 29;
2451
+ break;
2452
+ case 14:
2453
+ return 47;
2454
+ break;
2455
+ case 15:
2456
+ this.popState();return 44;
2457
+ break;
2458
+ case 16:
2459
+ this.popState();return 44;
2460
+ break;
2461
+ case 17:
2462
+ return 34;
2463
+ break;
2464
+ case 18:
2465
+ return 39;
2466
+ break;
2467
+ case 19:
2468
+ return 51;
2469
+ break;
2470
+ case 20:
2471
+ return 48;
2472
+ break;
2473
+ case 21:
2474
+ this.unput(yy_.yytext);
2475
+ this.popState();
2476
+ this.begin('com');
2286
2477
 
2287
- break;
2288
- case 23:
2289
- return 48;
2290
- break;
2291
- case 24:
2292
- return 73;
2293
- break;
2294
- case 25:
2295
- return 72;
2296
- break;
2297
- case 26:
2298
- return 72;
2299
- break;
2300
- case 27:
2301
- return 87;
2302
- break;
2303
- case 28:
2304
- // ignore whitespace
2305
- break;
2306
- case 29:
2307
- this.popState();return 54;
2308
- break;
2309
- case 30:
2310
- this.popState();return 33;
2311
- break;
2312
- case 31:
2313
- yy_.yytext = strip(1, 2).replace(/\\"/g, '"');return 80;
2314
- break;
2315
- case 32:
2316
- yy_.yytext = strip(1, 2).replace(/\\'/g, "'");return 80;
2317
- break;
2318
- case 33:
2319
- return 85;
2320
- break;
2321
- case 34:
2322
- return 82;
2323
- break;
2324
- case 35:
2325
- return 82;
2326
- break;
2327
- case 36:
2328
- return 83;
2329
- break;
2330
- case 37:
2331
- return 84;
2332
- break;
2333
- case 38:
2334
- return 81;
2335
- break;
2336
- case 39:
2337
- return 75;
2338
- break;
2339
- case 40:
2340
- return 77;
2341
- break;
2342
- case 41:
2343
- return 72;
2344
- break;
2345
- case 42:
2346
- yy_.yytext = yy_.yytext.replace(/\\([\\\]])/g, '$1');return 72;
2347
- break;
2348
- case 43:
2349
- return 'INVALID';
2350
- break;
2351
- case 44:
2352
- return 5;
2353
- break;
2354
- }
2478
+ break;
2479
+ case 22:
2480
+ this.popState();
2481
+ return 14;
2482
+
2483
+ break;
2484
+ case 23:
2485
+ return 48;
2486
+ break;
2487
+ case 24:
2488
+ return 73;
2489
+ break;
2490
+ case 25:
2491
+ return 72;
2492
+ break;
2493
+ case 26:
2494
+ return 72;
2495
+ break;
2496
+ case 27:
2497
+ return 87;
2498
+ break;
2499
+ case 28:
2500
+ // ignore whitespace
2501
+ break;
2502
+ case 29:
2503
+ this.popState();return 54;
2504
+ break;
2505
+ case 30:
2506
+ this.popState();return 33;
2507
+ break;
2508
+ case 31:
2509
+ yy_.yytext = strip(1, 2).replace(/\\"/g, '"');return 80;
2510
+ break;
2511
+ case 32:
2512
+ yy_.yytext = strip(1, 2).replace(/\\'/g, "'");return 80;
2513
+ break;
2514
+ case 33:
2515
+ return 85;
2516
+ break;
2517
+ case 34:
2518
+ return 82;
2519
+ break;
2520
+ case 35:
2521
+ return 82;
2522
+ break;
2523
+ case 36:
2524
+ return 83;
2525
+ break;
2526
+ case 37:
2527
+ return 84;
2528
+ break;
2529
+ case 38:
2530
+ return 81;
2531
+ break;
2532
+ case 39:
2533
+ return 75;
2534
+ break;
2535
+ case 40:
2536
+ return 77;
2537
+ break;
2538
+ case 41:
2539
+ return 72;
2540
+ break;
2541
+ case 42:
2542
+ yy_.yytext = yy_.yytext.replace(/\\([\\\]])/g, '$1');return 72;
2543
+ break;
2544
+ case 43:
2545
+ return 'INVALID';
2546
+ break;
2547
+ case 44:
2548
+ return 5;
2549
+ break;
2550
+ }
2551
+ },
2552
+ 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\/.)|]))))/, /^(?:\[(\\\]|[^\]])*\])/, /^(?:.)/, /^(?:$)/],
2553
+ 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 } }
2355
2554
  };
2356
- 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\/.)|]))))/, /^(?:\[(\\\]|[^\]])*\])/, /^(?:.)/, /^(?:$)/];
2357
- 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 } };
2358
2555
  return lexer;
2359
2556
  })();
2360
2557
  parser.lexer = lexer;
2361
2558
  function Parser() {
2362
2559
  this.yy = {};
2363
- }Parser.prototype = parser;parser.Parser = Parser;
2560
+ }
2561
+ Parser.prototype = parser;parser.Parser = Parser;
2364
2562
  return new Parser();
2365
2563
  })();exports["default"] = handlebars;
2366
2564
  module.exports = exports["default"];
2367
2565
 
2368
2566
  /***/ }),
2369
2567
  /* 38 */
2568
+ /***/ (function(module, exports, __webpack_require__) {
2569
+
2570
+ module.exports = { "default": __webpack_require__(39), __esModule: true };
2571
+
2572
+ /***/ }),
2573
+ /* 39 */
2574
+ /***/ (function(module, exports, __webpack_require__) {
2575
+
2576
+ var $ = __webpack_require__(9);
2577
+ module.exports = function create(P, D){
2578
+ return $.create(P, D);
2579
+ };
2580
+
2581
+ /***/ }),
2582
+ /* 40 */
2370
2583
  /***/ (function(module, exports, __webpack_require__) {
2371
2584
 
2372
2585
  'use strict';
@@ -2375,7 +2588,7 @@ return /******/ (function(modules) { // webpackBootstrap
2375
2588
 
2376
2589
  exports.__esModule = true;
2377
2590
 
2378
- var _visitor = __webpack_require__(39);
2591
+ var _visitor = __webpack_require__(41);
2379
2592
 
2380
2593
  var _visitor2 = _interopRequireDefault(_visitor);
2381
2594
 
@@ -2579,7 +2792,7 @@ return /******/ (function(modules) { // webpackBootstrap
2579
2792
  return;
2580
2793
  }
2581
2794
 
2582
- // We omit the last node if it's whitespace only and not preceeded by a non-content node.
2795
+ // We omit the last node if it's whitespace only and not preceded by a non-content node.
2583
2796
  var original = current.value;
2584
2797
  current.value = current.value.replace(multiple ? /\s+$/ : /[ \t]+$/, '');
2585
2798
  current.leftStripped = current.value !== original;
@@ -2590,7 +2803,7 @@ return /******/ (function(modules) { // webpackBootstrap
2590
2803
  module.exports = exports['default'];
2591
2804
 
2592
2805
  /***/ }),
2593
- /* 39 */
2806
+ /* 41 */
2594
2807
  /***/ (function(module, exports, __webpack_require__) {
2595
2808
 
2596
2809
  'use strict';
@@ -2733,7 +2946,7 @@ return /******/ (function(modules) { // webpackBootstrap
2733
2946
  module.exports = exports['default'];
2734
2947
 
2735
2948
  /***/ }),
2736
- /* 40 */
2949
+ /* 42 */
2737
2950
  /***/ (function(module, exports, __webpack_require__) {
2738
2951
 
2739
2952
  'use strict';
@@ -2964,7 +3177,7 @@ return /******/ (function(modules) { // webpackBootstrap
2964
3177
  }
2965
3178
 
2966
3179
  /***/ }),
2967
- /* 41 */
3180
+ /* 43 */
2968
3181
  /***/ (function(module, exports, __webpack_require__) {
2969
3182
 
2970
3183
  /* eslint-disable new-cap */
@@ -3540,7 +3753,7 @@ return /******/ (function(modules) { // webpackBootstrap
3540
3753
  }
3541
3754
 
3542
3755
  /***/ }),
3543
- /* 42 */
3756
+ /* 44 */
3544
3757
  /***/ (function(module, exports, __webpack_require__) {
3545
3758
 
3546
3759
  'use strict';
@@ -3557,7 +3770,7 @@ return /******/ (function(modules) { // webpackBootstrap
3557
3770
 
3558
3771
  var _utils = __webpack_require__(5);
3559
3772
 
3560
- var _codeGen = __webpack_require__(43);
3773
+ var _codeGen = __webpack_require__(45);
3561
3774
 
3562
3775
  var _codeGen2 = _interopRequireDefault(_codeGen);
3563
3776
 
@@ -4674,7 +4887,7 @@ return /******/ (function(modules) { // webpackBootstrap
4674
4887
  module.exports = exports['default'];
4675
4888
 
4676
4889
  /***/ }),
4677
- /* 43 */
4890
+ /* 45 */
4678
4891
  /***/ (function(module, exports, __webpack_require__) {
4679
4892
 
4680
4893
  /* global define */