@env-spec/parser 0.1.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,12 +1,12 @@
1
- import { __name, ParsedEnvSpecCommentBlock, ParsedEnvSpecDivider, ParsedEnvSpecComment, ParsedEnvSpecBlankLine, ParsedEnvSpecDecoratorComment, ParsedEnvSpecConfigItem, ParsedEnvSpecFile, ParsedEnvSpecDecorator, ParsedEnvSpecFunctionCall, ParsedEnvSpecKeyValuePair, ParsedEnvSpecFunctionArgs, ParsedEnvSpecStaticValue } from './chunk-CO7WMO6T.mjs';
2
- export { ParsedEnvSpecBlankLine, ParsedEnvSpecComment, ParsedEnvSpecCommentBlock, ParsedEnvSpecConfigItem, ParsedEnvSpecDecorator, ParsedEnvSpecDecoratorComment, ParsedEnvSpecDivider, ParsedEnvSpecFile, ParsedEnvSpecFunctionArgs, ParsedEnvSpecFunctionCall, ParsedEnvSpecKeyValuePair, ParsedEnvSpecStaticValue, expand } from './chunk-CO7WMO6T.mjs';
1
+ import { __name, ParsedEnvSpecCommentBlock, ParsedEnvSpecDivider, ParsedEnvSpecComment, ParsedEnvSpecBlankLine, ParsedEnvSpecDecoratorComment, ParsedEnvSpecConfigItem, ParsedEnvSpecFile, ParsedEnvSpecDecorator, ParsedEnvSpecFunctionCall, ParsedEnvSpecKeyValuePair, ParsedEnvSpecFunctionArgs, ParsedEnvSpecStaticValue, ParsedEnvSpecRegexLiteral } from './chunk-RRVAHNIY.mjs';
2
+ export { ParsedEnvSpecBlankLine, ParsedEnvSpecComment, ParsedEnvSpecCommentBlock, ParsedEnvSpecConfigItem, ParsedEnvSpecDecorator, ParsedEnvSpecDecoratorComment, ParsedEnvSpecDivider, ParsedEnvSpecFile, ParsedEnvSpecFunctionArgs, ParsedEnvSpecFunctionCall, ParsedEnvSpecKeyValuePair, ParsedEnvSpecRegexLiteral, ParsedEnvSpecStaticValue, expand } from './chunk-RRVAHNIY.mjs';
3
3
 
4
4
  // src/updater.ts
5
5
  function ensureHeader(file, newHeaderContents) {
6
6
  if (!file.header) {
7
7
  newHeaderContents ||= "This env file uses @env-spec - see https://varlock.dev/env-spec for more info\n";
8
8
  file.contents.unshift(
9
- // header is a comment block at the beginning of the file and must end with a divider
9
+ // header is any comment block(s) before the first config item; we add a divider for clarity
10
10
  new ParsedEnvSpecCommentBlock({
11
11
  // we'll break up the passed in content and add a comment line for each
12
12
  comments: newHeaderContents.split("\n").map((line) => new ParsedEnvSpecComment({ contents: line, leadingSpace: " " })),
@@ -250,13 +250,15 @@ function peg$parse(input, options) {
250
250
  const peg$c6 = "(";
251
251
  const peg$c7 = ",";
252
252
  const peg$c8 = ")";
253
- const peg$c9 = '\\"';
254
- const peg$c10 = "\\'";
255
- const peg$c11 = "\\`";
256
- const peg$c12 = '"""';
257
- const peg$c13 = '\\"""';
258
- const peg$c14 = "```";
259
- const peg$c15 = "\\```";
253
+ const peg$c9 = "/";
254
+ const peg$c10 = "\\/";
255
+ const peg$c11 = '\\"';
256
+ const peg$c12 = "\\'";
257
+ const peg$c13 = "\\`";
258
+ const peg$c14 = '"""';
259
+ const peg$c15 = '\\"""';
260
+ const peg$c16 = "```";
261
+ const peg$c17 = "\\```";
260
262
  const peg$r0 = /^[a-zA-Z_]/;
261
263
  const peg$r1 = /^[a-zA-Z0-9_.\-]/;
262
264
  const peg$r2 = /^[^\n]/;
@@ -267,15 +269,17 @@ function peg$parse(input, options) {
267
269
  const peg$r7 = /^[ \t]/;
268
270
  const peg$r8 = /^[ \t\n]/;
269
271
  const peg$r9 = /^[\-=*#]/;
270
- const peg$r10 = /^['"`]/;
271
- const peg$r11 = /^[^#\n]/;
272
- const peg$r12 = /^[^# \n]/;
273
- const peg$r13 = /^["]/;
274
- const peg$r14 = /^[^"\n]/;
275
- const peg$r15 = /^[']/;
276
- const peg$r16 = /^[^'\n]/;
277
- const peg$r17 = /^[`]/;
278
- const peg$r18 = /^[^`\n]/;
272
+ const peg$r10 = /^[^\/\n]/;
273
+ const peg$r11 = /^[gimsuy]/;
274
+ const peg$r12 = /^['"`]/;
275
+ const peg$r13 = /^[^#\n]/;
276
+ const peg$r14 = /^[^# \n]/;
277
+ const peg$r15 = /^["]/;
278
+ const peg$r16 = /^[^"\n]/;
279
+ const peg$r17 = /^[']/;
280
+ const peg$r18 = /^[^'\n]/;
281
+ const peg$r19 = /^[`]/;
282
+ const peg$r20 = /^[^`\n]/;
279
283
  const peg$e0 = peg$literalExpectation("\n", false);
280
284
  const peg$e1 = peg$literalExpectation("export ", false);
281
285
  const peg$e2 = peg$literalExpectation("=", false);
@@ -295,23 +299,27 @@ function peg$parse(input, options) {
295
299
  const peg$e16 = peg$classExpectation([" ", " "], false, false, false);
296
300
  const peg$e17 = peg$classExpectation([" ", " ", "\n"], false, false, false);
297
301
  const peg$e18 = peg$classExpectation(["-", "=", "*", "#"], false, false, false);
298
- const peg$e19 = peg$classExpectation(["'", '"', "`"], false, false, false);
299
- const peg$e20 = peg$classExpectation(["#", "\n"], true, false, false);
300
- const peg$e21 = peg$classExpectation(["#", " ", "\n"], true, false, false);
301
- const peg$e22 = peg$classExpectation(['"'], false, false, false);
302
- const peg$e23 = peg$literalExpectation('\\"', false);
303
- const peg$e24 = peg$classExpectation(['"', "\n"], true, false, false);
304
- const peg$e25 = peg$classExpectation(["'"], false, false, false);
305
- const peg$e26 = peg$literalExpectation("\\'", false);
306
- const peg$e27 = peg$classExpectation(["'", "\n"], true, false, false);
307
- const peg$e28 = peg$classExpectation(["`"], false, false, false);
308
- const peg$e29 = peg$literalExpectation("\\`", false);
309
- const peg$e30 = peg$classExpectation(["`", "\n"], true, false, false);
310
- const peg$e31 = peg$literalExpectation('"""', false);
311
- const peg$e32 = peg$literalExpectation('\\"""', false);
312
- const peg$e33 = peg$literalExpectation("```", false);
313
- const peg$e34 = peg$literalExpectation("\\```", false);
314
- const peg$e35 = peg$anyExpectation();
302
+ const peg$e19 = peg$literalExpectation("/", false);
303
+ const peg$e20 = peg$literalExpectation("\\/", false);
304
+ const peg$e21 = peg$classExpectation(["/", "\n"], true, false, false);
305
+ const peg$e22 = peg$classExpectation(["g", "i", "m", "s", "u", "y"], false, false, false);
306
+ const peg$e23 = peg$classExpectation(["'", '"', "`"], false, false, false);
307
+ const peg$e24 = peg$classExpectation(["#", "\n"], true, false, false);
308
+ const peg$e25 = peg$classExpectation(["#", " ", "\n"], true, false, false);
309
+ const peg$e26 = peg$classExpectation(['"'], false, false, false);
310
+ const peg$e27 = peg$literalExpectation('\\"', false);
311
+ const peg$e28 = peg$classExpectation(['"', "\n"], true, false, false);
312
+ const peg$e29 = peg$classExpectation(["'"], false, false, false);
313
+ const peg$e30 = peg$literalExpectation("\\'", false);
314
+ const peg$e31 = peg$classExpectation(["'", "\n"], true, false, false);
315
+ const peg$e32 = peg$classExpectation(["`"], false, false, false);
316
+ const peg$e33 = peg$literalExpectation("\\`", false);
317
+ const peg$e34 = peg$classExpectation(["`", "\n"], true, false, false);
318
+ const peg$e35 = peg$literalExpectation('"""', false);
319
+ const peg$e36 = peg$literalExpectation('\\"""', false);
320
+ const peg$e37 = peg$literalExpectation("```", false);
321
+ const peg$e38 = peg$literalExpectation("\\```", false);
322
+ const peg$e39 = peg$anyExpectation();
315
323
  function peg$f0() {
316
324
  return new ParsedEnvSpecBlankLine({ _location: location() });
317
325
  }
@@ -422,16 +430,21 @@ function peg$parse(input, options) {
422
430
  });
423
431
  }
424
432
  __name(peg$f16, "peg$f16");
425
- function peg$f17() {
426
- return new ParsedEnvSpecStaticValue({ rawValue: text(), _location: location() });
433
+ function peg$f17(pattern, flags) {
434
+ return new ParsedEnvSpecRegexLiteral({
435
+ rawValue: text(),
436
+ pattern: pattern.replaceAll("\\/", "/"),
437
+ flags,
438
+ _location: location()
439
+ });
427
440
  }
428
441
  __name(peg$f17, "peg$f17");
429
442
  function peg$f18() {
430
443
  return new ParsedEnvSpecStaticValue({ rawValue: text(), _location: location() });
431
444
  }
432
445
  __name(peg$f18, "peg$f18");
433
- function peg$f19(quote) {
434
- return new ParsedEnvSpecStaticValue({ quote, rawValue: text(), _location: location() });
446
+ function peg$f19() {
447
+ return new ParsedEnvSpecStaticValue({ rawValue: text(), _location: location() });
435
448
  }
436
449
  __name(peg$f19, "peg$f19");
437
450
  function peg$f20(quote) {
@@ -443,7 +456,7 @@ function peg$parse(input, options) {
443
456
  }
444
457
  __name(peg$f21, "peg$f21");
445
458
  function peg$f22(quote) {
446
- return new ParsedEnvSpecStaticValue({ quote, isMultiLine: true, rawValue: text(), _location: location() });
459
+ return new ParsedEnvSpecStaticValue({ quote, rawValue: text(), _location: location() });
447
460
  }
448
461
  __name(peg$f22, "peg$f22");
449
462
  function peg$f23(quote) {
@@ -458,6 +471,10 @@ function peg$parse(input, options) {
458
471
  return new ParsedEnvSpecStaticValue({ quote, isMultiLine: true, rawValue: text(), _location: location() });
459
472
  }
460
473
  __name(peg$f25, "peg$f25");
474
+ function peg$f26(quote) {
475
+ return new ParsedEnvSpecStaticValue({ quote, isMultiLine: true, rawValue: text(), _location: location() });
476
+ }
477
+ __name(peg$f26, "peg$f26");
461
478
  let peg$currPos = options.peg$currPos | 0;
462
479
  let peg$savedPos = peg$currPos;
463
480
  const peg$posDetailsCache = [{ line: 1, column: 1 }];
@@ -867,11 +884,14 @@ function peg$parse(input, options) {
867
884
  let s0;
868
885
  s0 = peg$parseFunctionCall();
869
886
  if (s0 === peg$FAILED) {
870
- s0 = peg$parsemultiLineString();
887
+ s0 = peg$parseRegexLiteral();
871
888
  if (s0 === peg$FAILED) {
872
- s0 = peg$parsequotedString();
889
+ s0 = peg$parsemultiLineString();
873
890
  if (s0 === peg$FAILED) {
874
- s0 = peg$parseunquotedString();
891
+ s0 = peg$parsequotedString();
892
+ if (s0 === peg$FAILED) {
893
+ s0 = peg$parseunquotedString();
894
+ }
875
895
  }
876
896
  }
877
897
  }
@@ -1483,9 +1503,12 @@ function peg$parse(input, options) {
1483
1503
  let s0;
1484
1504
  s0 = peg$parseDecoratorFunctionCall();
1485
1505
  if (s0 === peg$FAILED) {
1486
- s0 = peg$parsequotedString();
1506
+ s0 = peg$parseRegexLiteral();
1487
1507
  if (s0 === peg$FAILED) {
1488
- s0 = peg$parseunquotedStringWithoutSpaces();
1508
+ s0 = peg$parsequotedString();
1509
+ if (s0 === peg$FAILED) {
1510
+ s0 = peg$parseunquotedStringWithoutSpaces();
1511
+ }
1489
1512
  }
1490
1513
  }
1491
1514
  return s0;
@@ -1682,46 +1705,49 @@ function peg$parse(input, options) {
1682
1705
  let s0, s1, s2, s3;
1683
1706
  s0 = peg$parseDecoratorFunctionCall();
1684
1707
  if (s0 === peg$FAILED) {
1685
- s0 = peg$parsequotedString();
1708
+ s0 = peg$parseRegexLiteral();
1686
1709
  if (s0 === peg$FAILED) {
1687
- s0 = peg$currPos;
1688
- s1 = peg$currPos;
1689
- s2 = [];
1690
- s3 = input.charAt(peg$currPos);
1691
- if (peg$r6.test(s3)) {
1692
- peg$currPos++;
1693
- } else {
1694
- s3 = peg$FAILED;
1695
- if (peg$silentFails === 0) {
1696
- peg$fail(peg$e15);
1710
+ s0 = peg$parsequotedString();
1711
+ if (s0 === peg$FAILED) {
1712
+ s0 = peg$currPos;
1713
+ s1 = peg$currPos;
1714
+ s2 = [];
1715
+ s3 = input.charAt(peg$currPos);
1716
+ if (peg$r6.test(s3)) {
1717
+ peg$currPos++;
1718
+ } else {
1719
+ s3 = peg$FAILED;
1720
+ if (peg$silentFails === 0) {
1721
+ peg$fail(peg$e15);
1722
+ }
1697
1723
  }
1698
- }
1699
- if (s3 !== peg$FAILED) {
1700
- while (s3 !== peg$FAILED) {
1701
- s2.push(s3);
1702
- s3 = input.charAt(peg$currPos);
1703
- if (peg$r6.test(s3)) {
1704
- peg$currPos++;
1705
- } else {
1706
- s3 = peg$FAILED;
1707
- if (peg$silentFails === 0) {
1708
- peg$fail(peg$e15);
1724
+ if (s3 !== peg$FAILED) {
1725
+ while (s3 !== peg$FAILED) {
1726
+ s2.push(s3);
1727
+ s3 = input.charAt(peg$currPos);
1728
+ if (peg$r6.test(s3)) {
1729
+ peg$currPos++;
1730
+ } else {
1731
+ s3 = peg$FAILED;
1732
+ if (peg$silentFails === 0) {
1733
+ peg$fail(peg$e15);
1734
+ }
1709
1735
  }
1710
1736
  }
1737
+ } else {
1738
+ s2 = peg$FAILED;
1711
1739
  }
1712
- } else {
1713
- s2 = peg$FAILED;
1714
- }
1715
- if (s2 !== peg$FAILED) {
1716
- s1 = input.substring(s1, peg$currPos);
1717
- } else {
1718
- s1 = s2;
1719
- }
1720
- if (s1 !== peg$FAILED) {
1721
- peg$savedPos = s0;
1722
- s1 = peg$f11();
1740
+ if (s2 !== peg$FAILED) {
1741
+ s1 = input.substring(s1, peg$currPos);
1742
+ } else {
1743
+ s1 = s2;
1744
+ }
1745
+ if (s1 !== peg$FAILED) {
1746
+ peg$savedPos = s0;
1747
+ s1 = peg$f11();
1748
+ }
1749
+ s0 = s1;
1723
1750
  }
1724
- s0 = s1;
1725
1751
  }
1726
1752
  }
1727
1753
  return s0;
@@ -2199,46 +2225,49 @@ function peg$parse(input, options) {
2199
2225
  let s0, s1, s2, s3;
2200
2226
  s0 = peg$parseFunctionCall();
2201
2227
  if (s0 === peg$FAILED) {
2202
- s0 = peg$parsequotedString();
2228
+ s0 = peg$parseRegexLiteral();
2203
2229
  if (s0 === peg$FAILED) {
2204
- s0 = peg$currPos;
2205
- s1 = peg$currPos;
2206
- s2 = [];
2207
- s3 = input.charAt(peg$currPos);
2208
- if (peg$r6.test(s3)) {
2209
- peg$currPos++;
2210
- } else {
2211
- s3 = peg$FAILED;
2212
- if (peg$silentFails === 0) {
2213
- peg$fail(peg$e15);
2230
+ s0 = peg$parsequotedString();
2231
+ if (s0 === peg$FAILED) {
2232
+ s0 = peg$currPos;
2233
+ s1 = peg$currPos;
2234
+ s2 = [];
2235
+ s3 = input.charAt(peg$currPos);
2236
+ if (peg$r6.test(s3)) {
2237
+ peg$currPos++;
2238
+ } else {
2239
+ s3 = peg$FAILED;
2240
+ if (peg$silentFails === 0) {
2241
+ peg$fail(peg$e15);
2242
+ }
2214
2243
  }
2215
- }
2216
- if (s3 !== peg$FAILED) {
2217
- while (s3 !== peg$FAILED) {
2218
- s2.push(s3);
2219
- s3 = input.charAt(peg$currPos);
2220
- if (peg$r6.test(s3)) {
2221
- peg$currPos++;
2222
- } else {
2223
- s3 = peg$FAILED;
2224
- if (peg$silentFails === 0) {
2225
- peg$fail(peg$e15);
2244
+ if (s3 !== peg$FAILED) {
2245
+ while (s3 !== peg$FAILED) {
2246
+ s2.push(s3);
2247
+ s3 = input.charAt(peg$currPos);
2248
+ if (peg$r6.test(s3)) {
2249
+ peg$currPos++;
2250
+ } else {
2251
+ s3 = peg$FAILED;
2252
+ if (peg$silentFails === 0) {
2253
+ peg$fail(peg$e15);
2254
+ }
2226
2255
  }
2227
2256
  }
2257
+ } else {
2258
+ s2 = peg$FAILED;
2228
2259
  }
2229
- } else {
2230
- s2 = peg$FAILED;
2231
- }
2232
- if (s2 !== peg$FAILED) {
2233
- s1 = input.substring(s1, peg$currPos);
2234
- } else {
2235
- s1 = s2;
2236
- }
2237
- if (s1 !== peg$FAILED) {
2238
- peg$savedPos = s0;
2239
- s1 = peg$f15();
2260
+ if (s2 !== peg$FAILED) {
2261
+ s1 = input.substring(s1, peg$currPos);
2262
+ } else {
2263
+ s1 = s2;
2264
+ }
2265
+ if (s1 !== peg$FAILED) {
2266
+ peg$savedPos = s0;
2267
+ s1 = peg$f15();
2268
+ }
2269
+ s0 = s1;
2240
2270
  }
2241
- s0 = s1;
2242
2271
  }
2243
2272
  }
2244
2273
  return s0;
@@ -2372,6 +2401,112 @@ function peg$parse(input, options) {
2372
2401
  return s0;
2373
2402
  }
2374
2403
  __name(peg$parseDivider, "peg$parseDivider");
2404
+ function peg$parseRegexLiteral() {
2405
+ let s0, s1, s2, s3, s4, s5, s6;
2406
+ s0 = peg$currPos;
2407
+ if (input.charCodeAt(peg$currPos) === 47) {
2408
+ s1 = peg$c9;
2409
+ peg$currPos++;
2410
+ } else {
2411
+ s1 = peg$FAILED;
2412
+ if (peg$silentFails === 0) {
2413
+ peg$fail(peg$e19);
2414
+ }
2415
+ }
2416
+ if (s1 !== peg$FAILED) {
2417
+ s2 = peg$currPos;
2418
+ s3 = [];
2419
+ if (input.substr(peg$currPos, 2) === peg$c10) {
2420
+ s4 = peg$c10;
2421
+ peg$currPos += 2;
2422
+ } else {
2423
+ s4 = peg$FAILED;
2424
+ if (peg$silentFails === 0) {
2425
+ peg$fail(peg$e20);
2426
+ }
2427
+ }
2428
+ if (s4 === peg$FAILED) {
2429
+ s4 = input.charAt(peg$currPos);
2430
+ if (peg$r10.test(s4)) {
2431
+ peg$currPos++;
2432
+ } else {
2433
+ s4 = peg$FAILED;
2434
+ if (peg$silentFails === 0) {
2435
+ peg$fail(peg$e21);
2436
+ }
2437
+ }
2438
+ }
2439
+ while (s4 !== peg$FAILED) {
2440
+ s3.push(s4);
2441
+ if (input.substr(peg$currPos, 2) === peg$c10) {
2442
+ s4 = peg$c10;
2443
+ peg$currPos += 2;
2444
+ } else {
2445
+ s4 = peg$FAILED;
2446
+ if (peg$silentFails === 0) {
2447
+ peg$fail(peg$e20);
2448
+ }
2449
+ }
2450
+ if (s4 === peg$FAILED) {
2451
+ s4 = input.charAt(peg$currPos);
2452
+ if (peg$r10.test(s4)) {
2453
+ peg$currPos++;
2454
+ } else {
2455
+ s4 = peg$FAILED;
2456
+ if (peg$silentFails === 0) {
2457
+ peg$fail(peg$e21);
2458
+ }
2459
+ }
2460
+ }
2461
+ }
2462
+ s2 = input.substring(s2, peg$currPos);
2463
+ if (input.charCodeAt(peg$currPos) === 47) {
2464
+ s3 = peg$c9;
2465
+ peg$currPos++;
2466
+ } else {
2467
+ s3 = peg$FAILED;
2468
+ if (peg$silentFails === 0) {
2469
+ peg$fail(peg$e19);
2470
+ }
2471
+ }
2472
+ if (s3 !== peg$FAILED) {
2473
+ s4 = peg$currPos;
2474
+ s5 = [];
2475
+ s6 = input.charAt(peg$currPos);
2476
+ if (peg$r11.test(s6)) {
2477
+ peg$currPos++;
2478
+ } else {
2479
+ s6 = peg$FAILED;
2480
+ if (peg$silentFails === 0) {
2481
+ peg$fail(peg$e22);
2482
+ }
2483
+ }
2484
+ while (s6 !== peg$FAILED) {
2485
+ s5.push(s6);
2486
+ s6 = input.charAt(peg$currPos);
2487
+ if (peg$r11.test(s6)) {
2488
+ peg$currPos++;
2489
+ } else {
2490
+ s6 = peg$FAILED;
2491
+ if (peg$silentFails === 0) {
2492
+ peg$fail(peg$e22);
2493
+ }
2494
+ }
2495
+ }
2496
+ s4 = input.substring(s4, peg$currPos);
2497
+ peg$savedPos = s0;
2498
+ s0 = peg$f17(s2, s4);
2499
+ } else {
2500
+ peg$currPos = s0;
2501
+ s0 = peg$FAILED;
2502
+ }
2503
+ } else {
2504
+ peg$currPos = s0;
2505
+ s0 = peg$FAILED;
2506
+ }
2507
+ return s0;
2508
+ }
2509
+ __name(peg$parseRegexLiteral, "peg$parseRegexLiteral");
2375
2510
  function peg$parseunquotedString() {
2376
2511
  let s0, s1, s2, s3, s4, s5, s6;
2377
2512
  s0 = peg$currPos;
@@ -2381,12 +2516,12 @@ function peg$parse(input, options) {
2381
2516
  s4 = peg$currPos;
2382
2517
  peg$silentFails++;
2383
2518
  s5 = input.charAt(peg$currPos);
2384
- if (peg$r10.test(s5)) {
2519
+ if (peg$r12.test(s5)) {
2385
2520
  peg$currPos++;
2386
2521
  } else {
2387
2522
  s5 = peg$FAILED;
2388
2523
  if (peg$silentFails === 0) {
2389
- peg$fail(peg$e19);
2524
+ peg$fail(peg$e23);
2390
2525
  }
2391
2526
  }
2392
2527
  peg$silentFails--;
@@ -2399,24 +2534,24 @@ function peg$parse(input, options) {
2399
2534
  if (s4 !== peg$FAILED) {
2400
2535
  s5 = [];
2401
2536
  s6 = input.charAt(peg$currPos);
2402
- if (peg$r11.test(s6)) {
2537
+ if (peg$r13.test(s6)) {
2403
2538
  peg$currPos++;
2404
2539
  } else {
2405
2540
  s6 = peg$FAILED;
2406
2541
  if (peg$silentFails === 0) {
2407
- peg$fail(peg$e20);
2542
+ peg$fail(peg$e24);
2408
2543
  }
2409
2544
  }
2410
2545
  if (s6 !== peg$FAILED) {
2411
2546
  while (s6 !== peg$FAILED) {
2412
2547
  s5.push(s6);
2413
2548
  s6 = input.charAt(peg$currPos);
2414
- if (peg$r11.test(s6)) {
2549
+ if (peg$r13.test(s6)) {
2415
2550
  peg$currPos++;
2416
2551
  } else {
2417
2552
  s6 = peg$FAILED;
2418
2553
  if (peg$silentFails === 0) {
2419
- peg$fail(peg$e20);
2554
+ peg$fail(peg$e24);
2420
2555
  }
2421
2556
  }
2422
2557
  }
@@ -2441,7 +2576,7 @@ function peg$parse(input, options) {
2441
2576
  }
2442
2577
  if (s1 !== peg$FAILED) {
2443
2578
  peg$savedPos = s0;
2444
- s1 = peg$f17();
2579
+ s1 = peg$f18();
2445
2580
  }
2446
2581
  s0 = s1;
2447
2582
  return s0;
@@ -2455,12 +2590,12 @@ function peg$parse(input, options) {
2455
2590
  s3 = peg$currPos;
2456
2591
  peg$silentFails++;
2457
2592
  s4 = input.charAt(peg$currPos);
2458
- if (peg$r10.test(s4)) {
2593
+ if (peg$r12.test(s4)) {
2459
2594
  peg$currPos++;
2460
2595
  } else {
2461
2596
  s4 = peg$FAILED;
2462
2597
  if (peg$silentFails === 0) {
2463
- peg$fail(peg$e19);
2598
+ peg$fail(peg$e23);
2464
2599
  }
2465
2600
  }
2466
2601
  peg$silentFails--;
@@ -2473,24 +2608,24 @@ function peg$parse(input, options) {
2473
2608
  if (s3 !== peg$FAILED) {
2474
2609
  s4 = [];
2475
2610
  s5 = input.charAt(peg$currPos);
2476
- if (peg$r12.test(s5)) {
2611
+ if (peg$r14.test(s5)) {
2477
2612
  peg$currPos++;
2478
2613
  } else {
2479
2614
  s5 = peg$FAILED;
2480
2615
  if (peg$silentFails === 0) {
2481
- peg$fail(peg$e21);
2616
+ peg$fail(peg$e25);
2482
2617
  }
2483
2618
  }
2484
2619
  if (s5 !== peg$FAILED) {
2485
2620
  while (s5 !== peg$FAILED) {
2486
2621
  s4.push(s5);
2487
2622
  s5 = input.charAt(peg$currPos);
2488
- if (peg$r12.test(s5)) {
2623
+ if (peg$r14.test(s5)) {
2489
2624
  peg$currPos++;
2490
2625
  } else {
2491
2626
  s5 = peg$FAILED;
2492
2627
  if (peg$silentFails === 0) {
2493
- peg$fail(peg$e21);
2628
+ peg$fail(peg$e25);
2494
2629
  }
2495
2630
  }
2496
2631
  }
@@ -2515,7 +2650,7 @@ function peg$parse(input, options) {
2515
2650
  }
2516
2651
  if (s1 !== peg$FAILED) {
2517
2652
  peg$savedPos = s0;
2518
- s1 = peg$f18();
2653
+ s1 = peg$f19();
2519
2654
  }
2520
2655
  s0 = s1;
2521
2656
  return s0;
@@ -2537,71 +2672,71 @@ function peg$parse(input, options) {
2537
2672
  let s0, s1, s2, s3;
2538
2673
  s0 = peg$currPos;
2539
2674
  s1 = input.charAt(peg$currPos);
2540
- if (peg$r13.test(s1)) {
2675
+ if (peg$r15.test(s1)) {
2541
2676
  peg$currPos++;
2542
2677
  } else {
2543
2678
  s1 = peg$FAILED;
2544
2679
  if (peg$silentFails === 0) {
2545
- peg$fail(peg$e22);
2680
+ peg$fail(peg$e26);
2546
2681
  }
2547
2682
  }
2548
2683
  if (s1 !== peg$FAILED) {
2549
2684
  s2 = [];
2550
- if (input.substr(peg$currPos, 2) === peg$c9) {
2551
- s3 = peg$c9;
2685
+ if (input.substr(peg$currPos, 2) === peg$c11) {
2686
+ s3 = peg$c11;
2552
2687
  peg$currPos += 2;
2553
2688
  } else {
2554
2689
  s3 = peg$FAILED;
2555
2690
  if (peg$silentFails === 0) {
2556
- peg$fail(peg$e23);
2691
+ peg$fail(peg$e27);
2557
2692
  }
2558
2693
  }
2559
2694
  if (s3 === peg$FAILED) {
2560
2695
  s3 = input.charAt(peg$currPos);
2561
- if (peg$r14.test(s3)) {
2696
+ if (peg$r16.test(s3)) {
2562
2697
  peg$currPos++;
2563
2698
  } else {
2564
2699
  s3 = peg$FAILED;
2565
2700
  if (peg$silentFails === 0) {
2566
- peg$fail(peg$e24);
2701
+ peg$fail(peg$e28);
2567
2702
  }
2568
2703
  }
2569
2704
  }
2570
2705
  while (s3 !== peg$FAILED) {
2571
2706
  s2.push(s3);
2572
- if (input.substr(peg$currPos, 2) === peg$c9) {
2573
- s3 = peg$c9;
2707
+ if (input.substr(peg$currPos, 2) === peg$c11) {
2708
+ s3 = peg$c11;
2574
2709
  peg$currPos += 2;
2575
2710
  } else {
2576
2711
  s3 = peg$FAILED;
2577
2712
  if (peg$silentFails === 0) {
2578
- peg$fail(peg$e23);
2713
+ peg$fail(peg$e27);
2579
2714
  }
2580
2715
  }
2581
2716
  if (s3 === peg$FAILED) {
2582
2717
  s3 = input.charAt(peg$currPos);
2583
- if (peg$r14.test(s3)) {
2718
+ if (peg$r16.test(s3)) {
2584
2719
  peg$currPos++;
2585
2720
  } else {
2586
2721
  s3 = peg$FAILED;
2587
2722
  if (peg$silentFails === 0) {
2588
- peg$fail(peg$e24);
2723
+ peg$fail(peg$e28);
2589
2724
  }
2590
2725
  }
2591
2726
  }
2592
2727
  }
2593
2728
  s3 = input.charAt(peg$currPos);
2594
- if (peg$r13.test(s3)) {
2729
+ if (peg$r15.test(s3)) {
2595
2730
  peg$currPos++;
2596
2731
  } else {
2597
2732
  s3 = peg$FAILED;
2598
2733
  if (peg$silentFails === 0) {
2599
- peg$fail(peg$e22);
2734
+ peg$fail(peg$e26);
2600
2735
  }
2601
2736
  }
2602
2737
  if (s3 !== peg$FAILED) {
2603
2738
  peg$savedPos = s0;
2604
- s0 = peg$f19(s1);
2739
+ s0 = peg$f20(s1);
2605
2740
  } else {
2606
2741
  peg$currPos = s0;
2607
2742
  s0 = peg$FAILED;
@@ -2617,71 +2752,71 @@ function peg$parse(input, options) {
2617
2752
  let s0, s1, s2, s3;
2618
2753
  s0 = peg$currPos;
2619
2754
  s1 = input.charAt(peg$currPos);
2620
- if (peg$r15.test(s1)) {
2755
+ if (peg$r17.test(s1)) {
2621
2756
  peg$currPos++;
2622
2757
  } else {
2623
2758
  s1 = peg$FAILED;
2624
2759
  if (peg$silentFails === 0) {
2625
- peg$fail(peg$e25);
2760
+ peg$fail(peg$e29);
2626
2761
  }
2627
2762
  }
2628
2763
  if (s1 !== peg$FAILED) {
2629
2764
  s2 = [];
2630
- if (input.substr(peg$currPos, 2) === peg$c10) {
2631
- s3 = peg$c10;
2765
+ if (input.substr(peg$currPos, 2) === peg$c12) {
2766
+ s3 = peg$c12;
2632
2767
  peg$currPos += 2;
2633
2768
  } else {
2634
2769
  s3 = peg$FAILED;
2635
2770
  if (peg$silentFails === 0) {
2636
- peg$fail(peg$e26);
2771
+ peg$fail(peg$e30);
2637
2772
  }
2638
2773
  }
2639
2774
  if (s3 === peg$FAILED) {
2640
2775
  s3 = input.charAt(peg$currPos);
2641
- if (peg$r16.test(s3)) {
2776
+ if (peg$r18.test(s3)) {
2642
2777
  peg$currPos++;
2643
2778
  } else {
2644
2779
  s3 = peg$FAILED;
2645
2780
  if (peg$silentFails === 0) {
2646
- peg$fail(peg$e27);
2781
+ peg$fail(peg$e31);
2647
2782
  }
2648
2783
  }
2649
2784
  }
2650
2785
  while (s3 !== peg$FAILED) {
2651
2786
  s2.push(s3);
2652
- if (input.substr(peg$currPos, 2) === peg$c10) {
2653
- s3 = peg$c10;
2787
+ if (input.substr(peg$currPos, 2) === peg$c12) {
2788
+ s3 = peg$c12;
2654
2789
  peg$currPos += 2;
2655
2790
  } else {
2656
2791
  s3 = peg$FAILED;
2657
2792
  if (peg$silentFails === 0) {
2658
- peg$fail(peg$e26);
2793
+ peg$fail(peg$e30);
2659
2794
  }
2660
2795
  }
2661
2796
  if (s3 === peg$FAILED) {
2662
2797
  s3 = input.charAt(peg$currPos);
2663
- if (peg$r16.test(s3)) {
2798
+ if (peg$r18.test(s3)) {
2664
2799
  peg$currPos++;
2665
2800
  } else {
2666
2801
  s3 = peg$FAILED;
2667
2802
  if (peg$silentFails === 0) {
2668
- peg$fail(peg$e27);
2803
+ peg$fail(peg$e31);
2669
2804
  }
2670
2805
  }
2671
2806
  }
2672
2807
  }
2673
2808
  s3 = input.charAt(peg$currPos);
2674
- if (peg$r15.test(s3)) {
2809
+ if (peg$r17.test(s3)) {
2675
2810
  peg$currPos++;
2676
2811
  } else {
2677
2812
  s3 = peg$FAILED;
2678
2813
  if (peg$silentFails === 0) {
2679
- peg$fail(peg$e25);
2814
+ peg$fail(peg$e29);
2680
2815
  }
2681
2816
  }
2682
2817
  if (s3 !== peg$FAILED) {
2683
2818
  peg$savedPos = s0;
2684
- s0 = peg$f20(s1);
2819
+ s0 = peg$f21(s1);
2685
2820
  } else {
2686
2821
  peg$currPos = s0;
2687
2822
  s0 = peg$FAILED;
@@ -2697,71 +2832,71 @@ function peg$parse(input, options) {
2697
2832
  let s0, s1, s2, s3;
2698
2833
  s0 = peg$currPos;
2699
2834
  s1 = input.charAt(peg$currPos);
2700
- if (peg$r17.test(s1)) {
2835
+ if (peg$r19.test(s1)) {
2701
2836
  peg$currPos++;
2702
2837
  } else {
2703
2838
  s1 = peg$FAILED;
2704
2839
  if (peg$silentFails === 0) {
2705
- peg$fail(peg$e28);
2840
+ peg$fail(peg$e32);
2706
2841
  }
2707
2842
  }
2708
2843
  if (s1 !== peg$FAILED) {
2709
2844
  s2 = [];
2710
- if (input.substr(peg$currPos, 2) === peg$c11) {
2711
- s3 = peg$c11;
2845
+ if (input.substr(peg$currPos, 2) === peg$c13) {
2846
+ s3 = peg$c13;
2712
2847
  peg$currPos += 2;
2713
2848
  } else {
2714
2849
  s3 = peg$FAILED;
2715
2850
  if (peg$silentFails === 0) {
2716
- peg$fail(peg$e29);
2851
+ peg$fail(peg$e33);
2717
2852
  }
2718
2853
  }
2719
2854
  if (s3 === peg$FAILED) {
2720
2855
  s3 = input.charAt(peg$currPos);
2721
- if (peg$r18.test(s3)) {
2856
+ if (peg$r20.test(s3)) {
2722
2857
  peg$currPos++;
2723
2858
  } else {
2724
2859
  s3 = peg$FAILED;
2725
2860
  if (peg$silentFails === 0) {
2726
- peg$fail(peg$e30);
2861
+ peg$fail(peg$e34);
2727
2862
  }
2728
2863
  }
2729
2864
  }
2730
2865
  while (s3 !== peg$FAILED) {
2731
2866
  s2.push(s3);
2732
- if (input.substr(peg$currPos, 2) === peg$c11) {
2733
- s3 = peg$c11;
2867
+ if (input.substr(peg$currPos, 2) === peg$c13) {
2868
+ s3 = peg$c13;
2734
2869
  peg$currPos += 2;
2735
2870
  } else {
2736
2871
  s3 = peg$FAILED;
2737
2872
  if (peg$silentFails === 0) {
2738
- peg$fail(peg$e29);
2873
+ peg$fail(peg$e33);
2739
2874
  }
2740
2875
  }
2741
2876
  if (s3 === peg$FAILED) {
2742
2877
  s3 = input.charAt(peg$currPos);
2743
- if (peg$r18.test(s3)) {
2878
+ if (peg$r20.test(s3)) {
2744
2879
  peg$currPos++;
2745
2880
  } else {
2746
2881
  s3 = peg$FAILED;
2747
2882
  if (peg$silentFails === 0) {
2748
- peg$fail(peg$e30);
2883
+ peg$fail(peg$e34);
2749
2884
  }
2750
2885
  }
2751
2886
  }
2752
2887
  }
2753
2888
  s3 = input.charAt(peg$currPos);
2754
- if (peg$r17.test(s3)) {
2889
+ if (peg$r19.test(s3)) {
2755
2890
  peg$currPos++;
2756
2891
  } else {
2757
2892
  s3 = peg$FAILED;
2758
2893
  if (peg$silentFails === 0) {
2759
- peg$fail(peg$e28);
2894
+ peg$fail(peg$e32);
2760
2895
  }
2761
2896
  }
2762
2897
  if (s3 !== peg$FAILED) {
2763
2898
  peg$savedPos = s0;
2764
- s0 = peg$f21(s1);
2899
+ s0 = peg$f22(s1);
2765
2900
  } else {
2766
2901
  peg$currPos = s0;
2767
2902
  s0 = peg$FAILED;
@@ -2792,57 +2927,57 @@ function peg$parse(input, options) {
2792
2927
  let s0, s1, s2, s3, s4, s5;
2793
2928
  s0 = peg$currPos;
2794
2929
  s1 = input.charAt(peg$currPos);
2795
- if (peg$r15.test(s1)) {
2930
+ if (peg$r17.test(s1)) {
2796
2931
  peg$currPos++;
2797
2932
  } else {
2798
2933
  s1 = peg$FAILED;
2799
2934
  if (peg$silentFails === 0) {
2800
- peg$fail(peg$e25);
2935
+ peg$fail(peg$e29);
2801
2936
  }
2802
2937
  }
2803
2938
  if (s1 !== peg$FAILED) {
2804
2939
  s2 = [];
2805
2940
  s3 = peg$currPos;
2806
2941
  s4 = [];
2807
- if (input.substr(peg$currPos, 2) === peg$c10) {
2808
- s5 = peg$c10;
2942
+ if (input.substr(peg$currPos, 2) === peg$c12) {
2943
+ s5 = peg$c12;
2809
2944
  peg$currPos += 2;
2810
2945
  } else {
2811
2946
  s5 = peg$FAILED;
2812
2947
  if (peg$silentFails === 0) {
2813
- peg$fail(peg$e26);
2948
+ peg$fail(peg$e30);
2814
2949
  }
2815
2950
  }
2816
2951
  if (s5 === peg$FAILED) {
2817
2952
  s5 = input.charAt(peg$currPos);
2818
- if (peg$r16.test(s5)) {
2953
+ if (peg$r18.test(s5)) {
2819
2954
  peg$currPos++;
2820
2955
  } else {
2821
2956
  s5 = peg$FAILED;
2822
2957
  if (peg$silentFails === 0) {
2823
- peg$fail(peg$e27);
2958
+ peg$fail(peg$e31);
2824
2959
  }
2825
2960
  }
2826
2961
  }
2827
2962
  while (s5 !== peg$FAILED) {
2828
2963
  s4.push(s5);
2829
- if (input.substr(peg$currPos, 2) === peg$c10) {
2830
- s5 = peg$c10;
2964
+ if (input.substr(peg$currPos, 2) === peg$c12) {
2965
+ s5 = peg$c12;
2831
2966
  peg$currPos += 2;
2832
2967
  } else {
2833
2968
  s5 = peg$FAILED;
2834
2969
  if (peg$silentFails === 0) {
2835
- peg$fail(peg$e26);
2970
+ peg$fail(peg$e30);
2836
2971
  }
2837
2972
  }
2838
2973
  if (s5 === peg$FAILED) {
2839
2974
  s5 = input.charAt(peg$currPos);
2840
- if (peg$r16.test(s5)) {
2975
+ if (peg$r18.test(s5)) {
2841
2976
  peg$currPos++;
2842
2977
  } else {
2843
2978
  s5 = peg$FAILED;
2844
2979
  if (peg$silentFails === 0) {
2845
- peg$fail(peg$e27);
2980
+ peg$fail(peg$e31);
2846
2981
  }
2847
2982
  }
2848
2983
  }
@@ -2868,45 +3003,45 @@ function peg$parse(input, options) {
2868
3003
  s2.push(s3);
2869
3004
  s3 = peg$currPos;
2870
3005
  s4 = [];
2871
- if (input.substr(peg$currPos, 2) === peg$c10) {
2872
- s5 = peg$c10;
3006
+ if (input.substr(peg$currPos, 2) === peg$c12) {
3007
+ s5 = peg$c12;
2873
3008
  peg$currPos += 2;
2874
3009
  } else {
2875
3010
  s5 = peg$FAILED;
2876
3011
  if (peg$silentFails === 0) {
2877
- peg$fail(peg$e26);
3012
+ peg$fail(peg$e30);
2878
3013
  }
2879
3014
  }
2880
3015
  if (s5 === peg$FAILED) {
2881
3016
  s5 = input.charAt(peg$currPos);
2882
- if (peg$r16.test(s5)) {
3017
+ if (peg$r18.test(s5)) {
2883
3018
  peg$currPos++;
2884
3019
  } else {
2885
3020
  s5 = peg$FAILED;
2886
3021
  if (peg$silentFails === 0) {
2887
- peg$fail(peg$e27);
3022
+ peg$fail(peg$e31);
2888
3023
  }
2889
3024
  }
2890
3025
  }
2891
3026
  while (s5 !== peg$FAILED) {
2892
3027
  s4.push(s5);
2893
- if (input.substr(peg$currPos, 2) === peg$c10) {
2894
- s5 = peg$c10;
3028
+ if (input.substr(peg$currPos, 2) === peg$c12) {
3029
+ s5 = peg$c12;
2895
3030
  peg$currPos += 2;
2896
3031
  } else {
2897
3032
  s5 = peg$FAILED;
2898
3033
  if (peg$silentFails === 0) {
2899
- peg$fail(peg$e26);
3034
+ peg$fail(peg$e30);
2900
3035
  }
2901
3036
  }
2902
3037
  if (s5 === peg$FAILED) {
2903
3038
  s5 = input.charAt(peg$currPos);
2904
- if (peg$r16.test(s5)) {
3039
+ if (peg$r18.test(s5)) {
2905
3040
  peg$currPos++;
2906
3041
  } else {
2907
3042
  s5 = peg$FAILED;
2908
3043
  if (peg$silentFails === 0) {
2909
- peg$fail(peg$e27);
3044
+ peg$fail(peg$e31);
2910
3045
  }
2911
3046
  }
2912
3047
  }
@@ -2933,61 +3068,61 @@ function peg$parse(input, options) {
2933
3068
  }
2934
3069
  if (s2 !== peg$FAILED) {
2935
3070
  s3 = [];
2936
- if (input.substr(peg$currPos, 2) === peg$c10) {
2937
- s4 = peg$c10;
3071
+ if (input.substr(peg$currPos, 2) === peg$c12) {
3072
+ s4 = peg$c12;
2938
3073
  peg$currPos += 2;
2939
3074
  } else {
2940
3075
  s4 = peg$FAILED;
2941
3076
  if (peg$silentFails === 0) {
2942
- peg$fail(peg$e26);
3077
+ peg$fail(peg$e30);
2943
3078
  }
2944
3079
  }
2945
3080
  if (s4 === peg$FAILED) {
2946
3081
  s4 = input.charAt(peg$currPos);
2947
- if (peg$r16.test(s4)) {
3082
+ if (peg$r18.test(s4)) {
2948
3083
  peg$currPos++;
2949
3084
  } else {
2950
3085
  s4 = peg$FAILED;
2951
3086
  if (peg$silentFails === 0) {
2952
- peg$fail(peg$e27);
3087
+ peg$fail(peg$e31);
2953
3088
  }
2954
3089
  }
2955
3090
  }
2956
3091
  while (s4 !== peg$FAILED) {
2957
3092
  s3.push(s4);
2958
- if (input.substr(peg$currPos, 2) === peg$c10) {
2959
- s4 = peg$c10;
3093
+ if (input.substr(peg$currPos, 2) === peg$c12) {
3094
+ s4 = peg$c12;
2960
3095
  peg$currPos += 2;
2961
3096
  } else {
2962
3097
  s4 = peg$FAILED;
2963
3098
  if (peg$silentFails === 0) {
2964
- peg$fail(peg$e26);
3099
+ peg$fail(peg$e30);
2965
3100
  }
2966
3101
  }
2967
3102
  if (s4 === peg$FAILED) {
2968
3103
  s4 = input.charAt(peg$currPos);
2969
- if (peg$r16.test(s4)) {
3104
+ if (peg$r18.test(s4)) {
2970
3105
  peg$currPos++;
2971
3106
  } else {
2972
3107
  s4 = peg$FAILED;
2973
3108
  if (peg$silentFails === 0) {
2974
- peg$fail(peg$e27);
3109
+ peg$fail(peg$e31);
2975
3110
  }
2976
3111
  }
2977
3112
  }
2978
3113
  }
2979
3114
  s4 = input.charAt(peg$currPos);
2980
- if (peg$r15.test(s4)) {
3115
+ if (peg$r17.test(s4)) {
2981
3116
  peg$currPos++;
2982
3117
  } else {
2983
3118
  s4 = peg$FAILED;
2984
3119
  if (peg$silentFails === 0) {
2985
- peg$fail(peg$e25);
3120
+ peg$fail(peg$e29);
2986
3121
  }
2987
3122
  }
2988
3123
  if (s4 !== peg$FAILED) {
2989
3124
  peg$savedPos = s0;
2990
- s0 = peg$f22(s1);
3125
+ s0 = peg$f23(s1);
2991
3126
  } else {
2992
3127
  peg$currPos = s0;
2993
3128
  s0 = peg$FAILED;
@@ -3007,57 +3142,57 @@ function peg$parse(input, options) {
3007
3142
  let s0, s1, s2, s3, s4, s5;
3008
3143
  s0 = peg$currPos;
3009
3144
  s1 = input.charAt(peg$currPos);
3010
- if (peg$r13.test(s1)) {
3145
+ if (peg$r15.test(s1)) {
3011
3146
  peg$currPos++;
3012
3147
  } else {
3013
3148
  s1 = peg$FAILED;
3014
3149
  if (peg$silentFails === 0) {
3015
- peg$fail(peg$e22);
3150
+ peg$fail(peg$e26);
3016
3151
  }
3017
3152
  }
3018
3153
  if (s1 !== peg$FAILED) {
3019
3154
  s2 = [];
3020
3155
  s3 = peg$currPos;
3021
3156
  s4 = [];
3022
- if (input.substr(peg$currPos, 2) === peg$c9) {
3023
- s5 = peg$c9;
3157
+ if (input.substr(peg$currPos, 2) === peg$c11) {
3158
+ s5 = peg$c11;
3024
3159
  peg$currPos += 2;
3025
3160
  } else {
3026
3161
  s5 = peg$FAILED;
3027
3162
  if (peg$silentFails === 0) {
3028
- peg$fail(peg$e23);
3163
+ peg$fail(peg$e27);
3029
3164
  }
3030
3165
  }
3031
3166
  if (s5 === peg$FAILED) {
3032
3167
  s5 = input.charAt(peg$currPos);
3033
- if (peg$r14.test(s5)) {
3168
+ if (peg$r16.test(s5)) {
3034
3169
  peg$currPos++;
3035
3170
  } else {
3036
3171
  s5 = peg$FAILED;
3037
3172
  if (peg$silentFails === 0) {
3038
- peg$fail(peg$e24);
3173
+ peg$fail(peg$e28);
3039
3174
  }
3040
3175
  }
3041
3176
  }
3042
3177
  while (s5 !== peg$FAILED) {
3043
3178
  s4.push(s5);
3044
- if (input.substr(peg$currPos, 2) === peg$c9) {
3045
- s5 = peg$c9;
3179
+ if (input.substr(peg$currPos, 2) === peg$c11) {
3180
+ s5 = peg$c11;
3046
3181
  peg$currPos += 2;
3047
3182
  } else {
3048
3183
  s5 = peg$FAILED;
3049
3184
  if (peg$silentFails === 0) {
3050
- peg$fail(peg$e23);
3185
+ peg$fail(peg$e27);
3051
3186
  }
3052
3187
  }
3053
3188
  if (s5 === peg$FAILED) {
3054
3189
  s5 = input.charAt(peg$currPos);
3055
- if (peg$r14.test(s5)) {
3190
+ if (peg$r16.test(s5)) {
3056
3191
  peg$currPos++;
3057
3192
  } else {
3058
3193
  s5 = peg$FAILED;
3059
3194
  if (peg$silentFails === 0) {
3060
- peg$fail(peg$e24);
3195
+ peg$fail(peg$e28);
3061
3196
  }
3062
3197
  }
3063
3198
  }
@@ -3083,45 +3218,45 @@ function peg$parse(input, options) {
3083
3218
  s2.push(s3);
3084
3219
  s3 = peg$currPos;
3085
3220
  s4 = [];
3086
- if (input.substr(peg$currPos, 2) === peg$c9) {
3087
- s5 = peg$c9;
3221
+ if (input.substr(peg$currPos, 2) === peg$c11) {
3222
+ s5 = peg$c11;
3088
3223
  peg$currPos += 2;
3089
3224
  } else {
3090
3225
  s5 = peg$FAILED;
3091
3226
  if (peg$silentFails === 0) {
3092
- peg$fail(peg$e23);
3227
+ peg$fail(peg$e27);
3093
3228
  }
3094
3229
  }
3095
3230
  if (s5 === peg$FAILED) {
3096
3231
  s5 = input.charAt(peg$currPos);
3097
- if (peg$r14.test(s5)) {
3232
+ if (peg$r16.test(s5)) {
3098
3233
  peg$currPos++;
3099
3234
  } else {
3100
3235
  s5 = peg$FAILED;
3101
3236
  if (peg$silentFails === 0) {
3102
- peg$fail(peg$e24);
3237
+ peg$fail(peg$e28);
3103
3238
  }
3104
3239
  }
3105
3240
  }
3106
3241
  while (s5 !== peg$FAILED) {
3107
3242
  s4.push(s5);
3108
- if (input.substr(peg$currPos, 2) === peg$c9) {
3109
- s5 = peg$c9;
3243
+ if (input.substr(peg$currPos, 2) === peg$c11) {
3244
+ s5 = peg$c11;
3110
3245
  peg$currPos += 2;
3111
3246
  } else {
3112
3247
  s5 = peg$FAILED;
3113
3248
  if (peg$silentFails === 0) {
3114
- peg$fail(peg$e23);
3249
+ peg$fail(peg$e27);
3115
3250
  }
3116
3251
  }
3117
3252
  if (s5 === peg$FAILED) {
3118
3253
  s5 = input.charAt(peg$currPos);
3119
- if (peg$r14.test(s5)) {
3254
+ if (peg$r16.test(s5)) {
3120
3255
  peg$currPos++;
3121
3256
  } else {
3122
3257
  s5 = peg$FAILED;
3123
3258
  if (peg$silentFails === 0) {
3124
- peg$fail(peg$e24);
3259
+ peg$fail(peg$e28);
3125
3260
  }
3126
3261
  }
3127
3262
  }
@@ -3148,61 +3283,61 @@ function peg$parse(input, options) {
3148
3283
  }
3149
3284
  if (s2 !== peg$FAILED) {
3150
3285
  s3 = [];
3151
- if (input.substr(peg$currPos, 2) === peg$c9) {
3152
- s4 = peg$c9;
3286
+ if (input.substr(peg$currPos, 2) === peg$c11) {
3287
+ s4 = peg$c11;
3153
3288
  peg$currPos += 2;
3154
3289
  } else {
3155
3290
  s4 = peg$FAILED;
3156
3291
  if (peg$silentFails === 0) {
3157
- peg$fail(peg$e23);
3292
+ peg$fail(peg$e27);
3158
3293
  }
3159
3294
  }
3160
3295
  if (s4 === peg$FAILED) {
3161
3296
  s4 = input.charAt(peg$currPos);
3162
- if (peg$r14.test(s4)) {
3297
+ if (peg$r16.test(s4)) {
3163
3298
  peg$currPos++;
3164
3299
  } else {
3165
3300
  s4 = peg$FAILED;
3166
3301
  if (peg$silentFails === 0) {
3167
- peg$fail(peg$e24);
3302
+ peg$fail(peg$e28);
3168
3303
  }
3169
3304
  }
3170
3305
  }
3171
3306
  while (s4 !== peg$FAILED) {
3172
3307
  s3.push(s4);
3173
- if (input.substr(peg$currPos, 2) === peg$c9) {
3174
- s4 = peg$c9;
3308
+ if (input.substr(peg$currPos, 2) === peg$c11) {
3309
+ s4 = peg$c11;
3175
3310
  peg$currPos += 2;
3176
3311
  } else {
3177
3312
  s4 = peg$FAILED;
3178
3313
  if (peg$silentFails === 0) {
3179
- peg$fail(peg$e23);
3314
+ peg$fail(peg$e27);
3180
3315
  }
3181
3316
  }
3182
3317
  if (s4 === peg$FAILED) {
3183
3318
  s4 = input.charAt(peg$currPos);
3184
- if (peg$r14.test(s4)) {
3319
+ if (peg$r16.test(s4)) {
3185
3320
  peg$currPos++;
3186
3321
  } else {
3187
3322
  s4 = peg$FAILED;
3188
3323
  if (peg$silentFails === 0) {
3189
- peg$fail(peg$e24);
3324
+ peg$fail(peg$e28);
3190
3325
  }
3191
3326
  }
3192
3327
  }
3193
3328
  }
3194
3329
  s4 = input.charAt(peg$currPos);
3195
- if (peg$r13.test(s4)) {
3330
+ if (peg$r15.test(s4)) {
3196
3331
  peg$currPos++;
3197
3332
  } else {
3198
3333
  s4 = peg$FAILED;
3199
3334
  if (peg$silentFails === 0) {
3200
- peg$fail(peg$e22);
3335
+ peg$fail(peg$e26);
3201
3336
  }
3202
3337
  }
3203
3338
  if (s4 !== peg$FAILED) {
3204
3339
  peg$savedPos = s0;
3205
- s0 = peg$f23(s1);
3340
+ s0 = peg$f24(s1);
3206
3341
  } else {
3207
3342
  peg$currPos = s0;
3208
3343
  s0 = peg$FAILED;
@@ -3221,39 +3356,39 @@ function peg$parse(input, options) {
3221
3356
  function peg$parsetripleDQuotedMultiLineString() {
3222
3357
  let s0, s1, s2, s3, s4, s5, s6, s7;
3223
3358
  s0 = peg$currPos;
3224
- if (input.substr(peg$currPos, 3) === peg$c12) {
3225
- s1 = peg$c12;
3359
+ if (input.substr(peg$currPos, 3) === peg$c14) {
3360
+ s1 = peg$c14;
3226
3361
  peg$currPos += 3;
3227
3362
  } else {
3228
3363
  s1 = peg$FAILED;
3229
3364
  if (peg$silentFails === 0) {
3230
- peg$fail(peg$e31);
3365
+ peg$fail(peg$e35);
3231
3366
  }
3232
3367
  }
3233
3368
  if (s1 !== peg$FAILED) {
3234
3369
  s2 = [];
3235
3370
  s3 = peg$currPos;
3236
3371
  s4 = [];
3237
- if (input.substr(peg$currPos, 4) === peg$c13) {
3238
- s5 = peg$c13;
3372
+ if (input.substr(peg$currPos, 4) === peg$c15) {
3373
+ s5 = peg$c15;
3239
3374
  peg$currPos += 4;
3240
3375
  } else {
3241
3376
  s5 = peg$FAILED;
3242
3377
  if (peg$silentFails === 0) {
3243
- peg$fail(peg$e32);
3378
+ peg$fail(peg$e36);
3244
3379
  }
3245
3380
  }
3246
3381
  if (s5 === peg$FAILED) {
3247
3382
  s5 = peg$currPos;
3248
3383
  s6 = peg$currPos;
3249
3384
  peg$silentFails++;
3250
- if (input.substr(peg$currPos, 3) === peg$c12) {
3251
- s7 = peg$c12;
3385
+ if (input.substr(peg$currPos, 3) === peg$c14) {
3386
+ s7 = peg$c14;
3252
3387
  peg$currPos += 3;
3253
3388
  } else {
3254
3389
  s7 = peg$FAILED;
3255
3390
  if (peg$silentFails === 0) {
3256
- peg$fail(peg$e31);
3391
+ peg$fail(peg$e35);
3257
3392
  }
3258
3393
  }
3259
3394
  peg$silentFails--;
@@ -3287,26 +3422,26 @@ function peg$parse(input, options) {
3287
3422
  }
3288
3423
  while (s5 !== peg$FAILED) {
3289
3424
  s4.push(s5);
3290
- if (input.substr(peg$currPos, 4) === peg$c13) {
3291
- s5 = peg$c13;
3425
+ if (input.substr(peg$currPos, 4) === peg$c15) {
3426
+ s5 = peg$c15;
3292
3427
  peg$currPos += 4;
3293
3428
  } else {
3294
3429
  s5 = peg$FAILED;
3295
3430
  if (peg$silentFails === 0) {
3296
- peg$fail(peg$e32);
3431
+ peg$fail(peg$e36);
3297
3432
  }
3298
3433
  }
3299
3434
  if (s5 === peg$FAILED) {
3300
3435
  s5 = peg$currPos;
3301
3436
  s6 = peg$currPos;
3302
3437
  peg$silentFails++;
3303
- if (input.substr(peg$currPos, 3) === peg$c12) {
3304
- s7 = peg$c12;
3438
+ if (input.substr(peg$currPos, 3) === peg$c14) {
3439
+ s7 = peg$c14;
3305
3440
  peg$currPos += 3;
3306
3441
  } else {
3307
3442
  s7 = peg$FAILED;
3308
3443
  if (peg$silentFails === 0) {
3309
- peg$fail(peg$e31);
3444
+ peg$fail(peg$e35);
3310
3445
  }
3311
3446
  }
3312
3447
  peg$silentFails--;
@@ -3360,26 +3495,26 @@ function peg$parse(input, options) {
3360
3495
  s2.push(s3);
3361
3496
  s3 = peg$currPos;
3362
3497
  s4 = [];
3363
- if (input.substr(peg$currPos, 4) === peg$c13) {
3364
- s5 = peg$c13;
3498
+ if (input.substr(peg$currPos, 4) === peg$c15) {
3499
+ s5 = peg$c15;
3365
3500
  peg$currPos += 4;
3366
3501
  } else {
3367
3502
  s5 = peg$FAILED;
3368
3503
  if (peg$silentFails === 0) {
3369
- peg$fail(peg$e32);
3504
+ peg$fail(peg$e36);
3370
3505
  }
3371
3506
  }
3372
3507
  if (s5 === peg$FAILED) {
3373
3508
  s5 = peg$currPos;
3374
3509
  s6 = peg$currPos;
3375
3510
  peg$silentFails++;
3376
- if (input.substr(peg$currPos, 3) === peg$c12) {
3377
- s7 = peg$c12;
3511
+ if (input.substr(peg$currPos, 3) === peg$c14) {
3512
+ s7 = peg$c14;
3378
3513
  peg$currPos += 3;
3379
3514
  } else {
3380
3515
  s7 = peg$FAILED;
3381
3516
  if (peg$silentFails === 0) {
3382
- peg$fail(peg$e31);
3517
+ peg$fail(peg$e35);
3383
3518
  }
3384
3519
  }
3385
3520
  peg$silentFails--;
@@ -3413,26 +3548,26 @@ function peg$parse(input, options) {
3413
3548
  }
3414
3549
  while (s5 !== peg$FAILED) {
3415
3550
  s4.push(s5);
3416
- if (input.substr(peg$currPos, 4) === peg$c13) {
3417
- s5 = peg$c13;
3551
+ if (input.substr(peg$currPos, 4) === peg$c15) {
3552
+ s5 = peg$c15;
3418
3553
  peg$currPos += 4;
3419
3554
  } else {
3420
3555
  s5 = peg$FAILED;
3421
3556
  if (peg$silentFails === 0) {
3422
- peg$fail(peg$e32);
3557
+ peg$fail(peg$e36);
3423
3558
  }
3424
3559
  }
3425
3560
  if (s5 === peg$FAILED) {
3426
3561
  s5 = peg$currPos;
3427
3562
  s6 = peg$currPos;
3428
3563
  peg$silentFails++;
3429
- if (input.substr(peg$currPos, 3) === peg$c12) {
3430
- s7 = peg$c12;
3564
+ if (input.substr(peg$currPos, 3) === peg$c14) {
3565
+ s7 = peg$c14;
3431
3566
  peg$currPos += 3;
3432
3567
  } else {
3433
3568
  s7 = peg$FAILED;
3434
3569
  if (peg$silentFails === 0) {
3435
- peg$fail(peg$e31);
3570
+ peg$fail(peg$e35);
3436
3571
  }
3437
3572
  }
3438
3573
  peg$silentFails--;
@@ -3487,26 +3622,26 @@ function peg$parse(input, options) {
3487
3622
  }
3488
3623
  if (s2 !== peg$FAILED) {
3489
3624
  s3 = [];
3490
- if (input.substr(peg$currPos, 4) === peg$c13) {
3491
- s4 = peg$c13;
3625
+ if (input.substr(peg$currPos, 4) === peg$c15) {
3626
+ s4 = peg$c15;
3492
3627
  peg$currPos += 4;
3493
3628
  } else {
3494
3629
  s4 = peg$FAILED;
3495
3630
  if (peg$silentFails === 0) {
3496
- peg$fail(peg$e32);
3631
+ peg$fail(peg$e36);
3497
3632
  }
3498
3633
  }
3499
3634
  if (s4 === peg$FAILED) {
3500
3635
  s4 = peg$currPos;
3501
3636
  s5 = peg$currPos;
3502
3637
  peg$silentFails++;
3503
- if (input.substr(peg$currPos, 3) === peg$c12) {
3504
- s6 = peg$c12;
3638
+ if (input.substr(peg$currPos, 3) === peg$c14) {
3639
+ s6 = peg$c14;
3505
3640
  peg$currPos += 3;
3506
3641
  } else {
3507
3642
  s6 = peg$FAILED;
3508
3643
  if (peg$silentFails === 0) {
3509
- peg$fail(peg$e31);
3644
+ peg$fail(peg$e35);
3510
3645
  }
3511
3646
  }
3512
3647
  peg$silentFails--;
@@ -3540,26 +3675,26 @@ function peg$parse(input, options) {
3540
3675
  }
3541
3676
  while (s4 !== peg$FAILED) {
3542
3677
  s3.push(s4);
3543
- if (input.substr(peg$currPos, 4) === peg$c13) {
3544
- s4 = peg$c13;
3678
+ if (input.substr(peg$currPos, 4) === peg$c15) {
3679
+ s4 = peg$c15;
3545
3680
  peg$currPos += 4;
3546
3681
  } else {
3547
3682
  s4 = peg$FAILED;
3548
3683
  if (peg$silentFails === 0) {
3549
- peg$fail(peg$e32);
3684
+ peg$fail(peg$e36);
3550
3685
  }
3551
3686
  }
3552
3687
  if (s4 === peg$FAILED) {
3553
3688
  s4 = peg$currPos;
3554
3689
  s5 = peg$currPos;
3555
3690
  peg$silentFails++;
3556
- if (input.substr(peg$currPos, 3) === peg$c12) {
3557
- s6 = peg$c12;
3691
+ if (input.substr(peg$currPos, 3) === peg$c14) {
3692
+ s6 = peg$c14;
3558
3693
  peg$currPos += 3;
3559
3694
  } else {
3560
3695
  s6 = peg$FAILED;
3561
3696
  if (peg$silentFails === 0) {
3562
- peg$fail(peg$e31);
3697
+ peg$fail(peg$e35);
3563
3698
  }
3564
3699
  }
3565
3700
  peg$silentFails--;
@@ -3592,18 +3727,18 @@ function peg$parse(input, options) {
3592
3727
  }
3593
3728
  }
3594
3729
  }
3595
- if (input.substr(peg$currPos, 3) === peg$c12) {
3596
- s4 = peg$c12;
3730
+ if (input.substr(peg$currPos, 3) === peg$c14) {
3731
+ s4 = peg$c14;
3597
3732
  peg$currPos += 3;
3598
3733
  } else {
3599
3734
  s4 = peg$FAILED;
3600
3735
  if (peg$silentFails === 0) {
3601
- peg$fail(peg$e31);
3736
+ peg$fail(peg$e35);
3602
3737
  }
3603
3738
  }
3604
3739
  if (s4 !== peg$FAILED) {
3605
3740
  peg$savedPos = s0;
3606
- s0 = peg$f24(s1);
3741
+ s0 = peg$f25(s1);
3607
3742
  } else {
3608
3743
  peg$currPos = s0;
3609
3744
  s0 = peg$FAILED;
@@ -3622,39 +3757,39 @@ function peg$parse(input, options) {
3622
3757
  function peg$parsetripleBQuotedMultiLineString() {
3623
3758
  let s0, s1, s2, s3, s4, s5, s6, s7;
3624
3759
  s0 = peg$currPos;
3625
- if (input.substr(peg$currPos, 3) === peg$c14) {
3626
- s1 = peg$c14;
3760
+ if (input.substr(peg$currPos, 3) === peg$c16) {
3761
+ s1 = peg$c16;
3627
3762
  peg$currPos += 3;
3628
3763
  } else {
3629
3764
  s1 = peg$FAILED;
3630
3765
  if (peg$silentFails === 0) {
3631
- peg$fail(peg$e33);
3766
+ peg$fail(peg$e37);
3632
3767
  }
3633
3768
  }
3634
3769
  if (s1 !== peg$FAILED) {
3635
3770
  s2 = [];
3636
3771
  s3 = peg$currPos;
3637
3772
  s4 = [];
3638
- if (input.substr(peg$currPos, 4) === peg$c15) {
3639
- s5 = peg$c15;
3773
+ if (input.substr(peg$currPos, 4) === peg$c17) {
3774
+ s5 = peg$c17;
3640
3775
  peg$currPos += 4;
3641
3776
  } else {
3642
3777
  s5 = peg$FAILED;
3643
3778
  if (peg$silentFails === 0) {
3644
- peg$fail(peg$e34);
3779
+ peg$fail(peg$e38);
3645
3780
  }
3646
3781
  }
3647
3782
  if (s5 === peg$FAILED) {
3648
3783
  s5 = peg$currPos;
3649
3784
  s6 = peg$currPos;
3650
3785
  peg$silentFails++;
3651
- if (input.substr(peg$currPos, 3) === peg$c14) {
3652
- s7 = peg$c14;
3786
+ if (input.substr(peg$currPos, 3) === peg$c16) {
3787
+ s7 = peg$c16;
3653
3788
  peg$currPos += 3;
3654
3789
  } else {
3655
3790
  s7 = peg$FAILED;
3656
3791
  if (peg$silentFails === 0) {
3657
- peg$fail(peg$e33);
3792
+ peg$fail(peg$e37);
3658
3793
  }
3659
3794
  }
3660
3795
  peg$silentFails--;
@@ -3688,26 +3823,26 @@ function peg$parse(input, options) {
3688
3823
  }
3689
3824
  while (s5 !== peg$FAILED) {
3690
3825
  s4.push(s5);
3691
- if (input.substr(peg$currPos, 4) === peg$c15) {
3692
- s5 = peg$c15;
3826
+ if (input.substr(peg$currPos, 4) === peg$c17) {
3827
+ s5 = peg$c17;
3693
3828
  peg$currPos += 4;
3694
3829
  } else {
3695
3830
  s5 = peg$FAILED;
3696
3831
  if (peg$silentFails === 0) {
3697
- peg$fail(peg$e34);
3832
+ peg$fail(peg$e38);
3698
3833
  }
3699
3834
  }
3700
3835
  if (s5 === peg$FAILED) {
3701
3836
  s5 = peg$currPos;
3702
3837
  s6 = peg$currPos;
3703
3838
  peg$silentFails++;
3704
- if (input.substr(peg$currPos, 3) === peg$c14) {
3705
- s7 = peg$c14;
3839
+ if (input.substr(peg$currPos, 3) === peg$c16) {
3840
+ s7 = peg$c16;
3706
3841
  peg$currPos += 3;
3707
3842
  } else {
3708
3843
  s7 = peg$FAILED;
3709
3844
  if (peg$silentFails === 0) {
3710
- peg$fail(peg$e33);
3845
+ peg$fail(peg$e37);
3711
3846
  }
3712
3847
  }
3713
3848
  peg$silentFails--;
@@ -3761,26 +3896,26 @@ function peg$parse(input, options) {
3761
3896
  s2.push(s3);
3762
3897
  s3 = peg$currPos;
3763
3898
  s4 = [];
3764
- if (input.substr(peg$currPos, 4) === peg$c15) {
3765
- s5 = peg$c15;
3899
+ if (input.substr(peg$currPos, 4) === peg$c17) {
3900
+ s5 = peg$c17;
3766
3901
  peg$currPos += 4;
3767
3902
  } else {
3768
3903
  s5 = peg$FAILED;
3769
3904
  if (peg$silentFails === 0) {
3770
- peg$fail(peg$e34);
3905
+ peg$fail(peg$e38);
3771
3906
  }
3772
3907
  }
3773
3908
  if (s5 === peg$FAILED) {
3774
3909
  s5 = peg$currPos;
3775
3910
  s6 = peg$currPos;
3776
3911
  peg$silentFails++;
3777
- if (input.substr(peg$currPos, 3) === peg$c14) {
3778
- s7 = peg$c14;
3912
+ if (input.substr(peg$currPos, 3) === peg$c16) {
3913
+ s7 = peg$c16;
3779
3914
  peg$currPos += 3;
3780
3915
  } else {
3781
3916
  s7 = peg$FAILED;
3782
3917
  if (peg$silentFails === 0) {
3783
- peg$fail(peg$e33);
3918
+ peg$fail(peg$e37);
3784
3919
  }
3785
3920
  }
3786
3921
  peg$silentFails--;
@@ -3814,26 +3949,26 @@ function peg$parse(input, options) {
3814
3949
  }
3815
3950
  while (s5 !== peg$FAILED) {
3816
3951
  s4.push(s5);
3817
- if (input.substr(peg$currPos, 4) === peg$c15) {
3818
- s5 = peg$c15;
3952
+ if (input.substr(peg$currPos, 4) === peg$c17) {
3953
+ s5 = peg$c17;
3819
3954
  peg$currPos += 4;
3820
3955
  } else {
3821
3956
  s5 = peg$FAILED;
3822
3957
  if (peg$silentFails === 0) {
3823
- peg$fail(peg$e34);
3958
+ peg$fail(peg$e38);
3824
3959
  }
3825
3960
  }
3826
3961
  if (s5 === peg$FAILED) {
3827
3962
  s5 = peg$currPos;
3828
3963
  s6 = peg$currPos;
3829
3964
  peg$silentFails++;
3830
- if (input.substr(peg$currPos, 3) === peg$c14) {
3831
- s7 = peg$c14;
3965
+ if (input.substr(peg$currPos, 3) === peg$c16) {
3966
+ s7 = peg$c16;
3832
3967
  peg$currPos += 3;
3833
3968
  } else {
3834
3969
  s7 = peg$FAILED;
3835
3970
  if (peg$silentFails === 0) {
3836
- peg$fail(peg$e33);
3971
+ peg$fail(peg$e37);
3837
3972
  }
3838
3973
  }
3839
3974
  peg$silentFails--;
@@ -3888,26 +4023,26 @@ function peg$parse(input, options) {
3888
4023
  }
3889
4024
  if (s2 !== peg$FAILED) {
3890
4025
  s3 = [];
3891
- if (input.substr(peg$currPos, 4) === peg$c15) {
3892
- s4 = peg$c15;
4026
+ if (input.substr(peg$currPos, 4) === peg$c17) {
4027
+ s4 = peg$c17;
3893
4028
  peg$currPos += 4;
3894
4029
  } else {
3895
4030
  s4 = peg$FAILED;
3896
4031
  if (peg$silentFails === 0) {
3897
- peg$fail(peg$e34);
4032
+ peg$fail(peg$e38);
3898
4033
  }
3899
4034
  }
3900
4035
  if (s4 === peg$FAILED) {
3901
4036
  s4 = peg$currPos;
3902
4037
  s5 = peg$currPos;
3903
4038
  peg$silentFails++;
3904
- if (input.substr(peg$currPos, 3) === peg$c14) {
3905
- s6 = peg$c14;
4039
+ if (input.substr(peg$currPos, 3) === peg$c16) {
4040
+ s6 = peg$c16;
3906
4041
  peg$currPos += 3;
3907
4042
  } else {
3908
4043
  s6 = peg$FAILED;
3909
4044
  if (peg$silentFails === 0) {
3910
- peg$fail(peg$e33);
4045
+ peg$fail(peg$e37);
3911
4046
  }
3912
4047
  }
3913
4048
  peg$silentFails--;
@@ -3941,26 +4076,26 @@ function peg$parse(input, options) {
3941
4076
  }
3942
4077
  while (s4 !== peg$FAILED) {
3943
4078
  s3.push(s4);
3944
- if (input.substr(peg$currPos, 4) === peg$c15) {
3945
- s4 = peg$c15;
4079
+ if (input.substr(peg$currPos, 4) === peg$c17) {
4080
+ s4 = peg$c17;
3946
4081
  peg$currPos += 4;
3947
4082
  } else {
3948
4083
  s4 = peg$FAILED;
3949
4084
  if (peg$silentFails === 0) {
3950
- peg$fail(peg$e34);
4085
+ peg$fail(peg$e38);
3951
4086
  }
3952
4087
  }
3953
4088
  if (s4 === peg$FAILED) {
3954
4089
  s4 = peg$currPos;
3955
4090
  s5 = peg$currPos;
3956
4091
  peg$silentFails++;
3957
- if (input.substr(peg$currPos, 3) === peg$c14) {
3958
- s6 = peg$c14;
4092
+ if (input.substr(peg$currPos, 3) === peg$c16) {
4093
+ s6 = peg$c16;
3959
4094
  peg$currPos += 3;
3960
4095
  } else {
3961
4096
  s6 = peg$FAILED;
3962
4097
  if (peg$silentFails === 0) {
3963
- peg$fail(peg$e33);
4098
+ peg$fail(peg$e37);
3964
4099
  }
3965
4100
  }
3966
4101
  peg$silentFails--;
@@ -3993,18 +4128,18 @@ function peg$parse(input, options) {
3993
4128
  }
3994
4129
  }
3995
4130
  }
3996
- if (input.substr(peg$currPos, 3) === peg$c14) {
3997
- s4 = peg$c14;
4131
+ if (input.substr(peg$currPos, 3) === peg$c16) {
4132
+ s4 = peg$c16;
3998
4133
  peg$currPos += 3;
3999
4134
  } else {
4000
4135
  s4 = peg$FAILED;
4001
4136
  if (peg$silentFails === 0) {
4002
- peg$fail(peg$e33);
4137
+ peg$fail(peg$e37);
4003
4138
  }
4004
4139
  }
4005
4140
  if (s4 !== peg$FAILED) {
4006
4141
  peg$savedPos = s0;
4007
- s0 = peg$f25(s1);
4142
+ s0 = peg$f26(s1);
4008
4143
  } else {
4009
4144
  peg$currPos = s0;
4010
4145
  s0 = peg$FAILED;
@@ -4040,7 +4175,7 @@ function peg$parse(input, options) {
4040
4175
  } else {
4041
4176
  s1 = peg$FAILED;
4042
4177
  if (peg$silentFails === 0) {
4043
- peg$fail(peg$e35);
4178
+ peg$fail(peg$e39);
4044
4179
  }
4045
4180
  }
4046
4181
  peg$silentFails--;