@weborigami/language 0.3.3-jse.2 → 0.3.3-jse.3

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.
@@ -25,14 +25,15 @@ import {
25
25
  makeBinaryOperation,
26
26
  makeCall,
27
27
  makeDeferredArguments,
28
+ makeDocument,
28
29
  makeJsPropertyAccess,
29
30
  makeObject,
30
31
  makePipeline,
31
32
  makeProperty,
32
- makeReference,
33
33
  makeTemplate,
34
34
  makeUnaryOperation,
35
- makeYamlObject
35
+ makeYamlObject,
36
+ markers,
36
37
  } from "./parserHelpers.js";
37
38
  import isOrigamiFrontMatter from "./isOrigamiFrontMatter.js";
38
39
 
@@ -213,65 +214,66 @@ function peg$parse(input, options) {
213
214
  var peg$c1 = "//";
214
215
  var peg$c2 = ">";
215
216
  var peg$c3 = "/";
216
- var peg$c4 = ":";
217
- var peg$c5 = "[";
218
- var peg$c6 = "]";
219
- var peg$c7 = "(";
220
- var peg$c8 = ")";
221
- var peg$c9 = "&";
222
- var peg$c10 = "|";
223
- var peg$c11 = "^";
224
- var peg$c12 = ",";
225
- var peg$c13 = "?";
226
- var peg$c14 = "\u21D2";
227
- var peg$c15 = "=>";
228
- var peg$c16 = "\"";
229
- var peg$c17 = "...";
230
- var peg$c18 = "\u2026";
231
- var peg$c19 = "===";
232
- var peg$c20 = "!==";
233
- var peg$c21 = "==";
234
- var peg$c22 = "!=";
235
- var peg$c23 = "\\0";
236
- var peg$c24 = "\\b";
237
- var peg$c25 = "\\f";
238
- var peg$c26 = "\\n";
239
- var peg$c27 = "\\r";
240
- var peg$c28 = "\\t";
241
- var peg$c29 = "\\v";
242
- var peg$c30 = "\\";
243
- var peg$c31 = "`";
244
- var peg$c32 = "}";
245
- var peg$c33 = "\xBB";
246
- var peg$c34 = "'";
247
- var peg$c35 = "**";
248
- var peg$c36 = ".";
249
- var peg$c37 = "---\n";
250
- var peg$c38 = "\xAB";
251
- var peg$c39 = "~";
217
+ var peg$c4 = "~";
218
+ var peg$c5 = ":";
219
+ var peg$c6 = "[";
220
+ var peg$c7 = "]";
221
+ var peg$c8 = "(";
222
+ var peg$c9 = ")";
223
+ var peg$c10 = "&";
224
+ var peg$c11 = "|";
225
+ var peg$c12 = "^";
226
+ var peg$c13 = ",";
227
+ var peg$c14 = "?";
228
+ var peg$c15 = "\u21D2";
229
+ var peg$c16 = "=>";
230
+ var peg$c17 = "\"";
231
+ var peg$c18 = "...";
232
+ var peg$c19 = "\u2026";
233
+ var peg$c20 = "===";
234
+ var peg$c21 = "!==";
235
+ var peg$c22 = "==";
236
+ var peg$c23 = "!=";
237
+ var peg$c24 = "\\0";
238
+ var peg$c25 = "\\b";
239
+ var peg$c26 = "\\f";
240
+ var peg$c27 = "\\n";
241
+ var peg$c28 = "\\r";
242
+ var peg$c29 = "\\t";
243
+ var peg$c30 = "\\v";
244
+ var peg$c31 = "\\";
245
+ var peg$c32 = "`";
246
+ var peg$c33 = "}";
247
+ var peg$c34 = "\xBB";
248
+ var peg$c35 = "'";
249
+ var peg$c36 = "**";
250
+ var peg$c37 = ".";
251
+ var peg$c38 = "---\n";
252
+ var peg$c39 = "\xAB";
252
253
  var peg$c40 = "-";
253
254
  var peg$c41 = "&&";
254
255
  var peg$c42 = "||";
255
256
  var peg$c43 = "/*";
256
257
  var peg$c44 = "*/";
257
258
  var peg$c45 = "new";
258
- var peg$c46 = "\n";
259
- var peg$c47 = "\r\n";
260
- var peg$c48 = "\r";
261
- var peg$c49 = "??";
262
- var peg$c50 = "{";
263
- var peg$c51 = "=";
264
- var peg$c52 = "?.";
265
- var peg$c53 = "<=";
266
- var peg$c54 = ">=";
267
- var peg$c55 = "#!";
268
- var peg$c56 = "<<";
269
- var peg$c57 = ">>>";
270
- var peg$c58 = ">>";
271
- var peg$c59 = "\u2192";
272
- var peg$c60 = "->";
273
- var peg$c61 = "${";
274
- var peg$c62 = "-\n";
259
+ var peg$c46 = "new:";
260
+ var peg$c47 = "\n";
261
+ var peg$c48 = "\r\n";
262
+ var peg$c49 = "\r";
263
+ var peg$c50 = "??";
264
+ var peg$c51 = "{";
265
+ var peg$c52 = "=";
266
+ var peg$c53 = "?.";
267
+ var peg$c54 = "<=";
268
+ var peg$c55 = ">=";
269
+ var peg$c56 = "#!";
270
+ var peg$c57 = "<<";
271
+ var peg$c58 = ">>>";
272
+ var peg$c59 = ">>";
273
+ var peg$c60 = "\u2192";
274
+ var peg$c61 = "->";
275
+ var peg$c62 = "${";
276
+ var peg$c63 = "-\n";
275
277
 
276
278
  var peg$r0 = /^[+\-]/;
277
279
  var peg$r1 = /^[^\/:<>]/;
@@ -291,55 +293,55 @@ function peg$parse(input, options) {
291
293
  var peg$e2 = peg$literalExpectation("//", false);
292
294
  var peg$e3 = peg$literalExpectation(">", false);
293
295
  var peg$e4 = peg$literalExpectation("/", false);
294
- var peg$e5 = peg$classExpectation(["/", ":", "<", ">"], true, false);
295
- var peg$e6 = peg$literalExpectation(":", false);
296
- var peg$e7 = peg$otherExpectation("function arguments");
297
- var peg$e8 = peg$otherExpectation("array");
298
- var peg$e9 = peg$literalExpectation("[", false);
299
- var peg$e10 = peg$literalExpectation("]", false);
300
- var peg$e11 = peg$literalExpectation("(", false);
301
- var peg$e12 = peg$literalExpectation(")", false);
302
- var peg$e13 = peg$literalExpectation("&", false);
303
- var peg$e14 = peg$literalExpectation("|", false);
304
- var peg$e15 = peg$literalExpectation("^", false);
305
- var peg$e16 = peg$otherExpectation("function call");
306
- var peg$e17 = peg$literalExpectation(",", false);
307
- var peg$e18 = peg$otherExpectation("comment");
308
- var peg$e19 = peg$literalExpectation("?", false);
309
- var peg$e20 = peg$classExpectation([["0", "9"]], false, false);
310
- var peg$e21 = peg$literalExpectation("\u21D2", false);
311
- var peg$e22 = peg$literalExpectation("=>", false);
312
- var peg$e23 = peg$otherExpectation("double quote string");
313
- var peg$e24 = peg$literalExpectation("\"", false);
314
- var peg$e25 = peg$literalExpectation("...", false);
315
- var peg$e26 = peg$literalExpectation("\u2026", false);
316
- var peg$e27 = peg$literalExpectation("===", false);
317
- var peg$e28 = peg$literalExpectation("!==", false);
318
- var peg$e29 = peg$literalExpectation("==", false);
319
- var peg$e30 = peg$literalExpectation("!=", false);
320
- var peg$e31 = peg$otherExpectation("backslash-escaped character");
321
- var peg$e32 = peg$literalExpectation("\\0", false);
322
- var peg$e33 = peg$literalExpectation("\\b", false);
323
- var peg$e34 = peg$literalExpectation("\\f", false);
324
- var peg$e35 = peg$literalExpectation("\\n", false);
325
- var peg$e36 = peg$literalExpectation("\\r", false);
326
- var peg$e37 = peg$literalExpectation("\\t", false);
327
- var peg$e38 = peg$literalExpectation("\\v", false);
328
- var peg$e39 = peg$literalExpectation("\\", false);
329
- var peg$e40 = peg$anyExpectation();
330
- var peg$e41 = peg$literalExpectation("`", false);
331
- var peg$e42 = peg$literalExpectation("}", false);
332
- var peg$e43 = peg$literalExpectation("\xBB", false);
333
- var peg$e44 = peg$literalExpectation("'", false);
334
- var peg$e45 = peg$literalExpectation("**", false);
335
- var peg$e46 = peg$otherExpectation("floating-point number");
336
- var peg$e47 = peg$literalExpectation(".", false);
337
- var peg$e48 = peg$literalExpectation("---\n", false);
338
- var peg$e49 = peg$otherExpectation("YAML front matter");
339
- var peg$e50 = peg$otherExpectation("parenthetical group");
340
- var peg$e51 = peg$otherExpectation("guillemet string");
341
- var peg$e52 = peg$literalExpectation("\xAB", false);
342
- var peg$e53 = peg$literalExpectation("~", false);
296
+ var peg$e5 = peg$literalExpectation("~", false);
297
+ var peg$e6 = peg$classExpectation(["/", ":", "<", ">"], true, false);
298
+ var peg$e7 = peg$literalExpectation(":", false);
299
+ var peg$e8 = peg$otherExpectation("function arguments");
300
+ var peg$e9 = peg$otherExpectation("array");
301
+ var peg$e10 = peg$literalExpectation("[", false);
302
+ var peg$e11 = peg$literalExpectation("]", false);
303
+ var peg$e12 = peg$literalExpectation("(", false);
304
+ var peg$e13 = peg$literalExpectation(")", false);
305
+ var peg$e14 = peg$literalExpectation("&", false);
306
+ var peg$e15 = peg$literalExpectation("|", false);
307
+ var peg$e16 = peg$literalExpectation("^", false);
308
+ var peg$e17 = peg$otherExpectation("function call");
309
+ var peg$e18 = peg$literalExpectation(",", false);
310
+ var peg$e19 = peg$otherExpectation("comment");
311
+ var peg$e20 = peg$literalExpectation("?", false);
312
+ var peg$e21 = peg$classExpectation([["0", "9"]], false, false);
313
+ var peg$e22 = peg$literalExpectation("\u21D2", false);
314
+ var peg$e23 = peg$literalExpectation("=>", false);
315
+ var peg$e24 = peg$otherExpectation("double quote string");
316
+ var peg$e25 = peg$literalExpectation("\"", false);
317
+ var peg$e26 = peg$literalExpectation("...", false);
318
+ var peg$e27 = peg$literalExpectation("\u2026", false);
319
+ var peg$e28 = peg$literalExpectation("===", false);
320
+ var peg$e29 = peg$literalExpectation("!==", false);
321
+ var peg$e30 = peg$literalExpectation("==", false);
322
+ var peg$e31 = peg$literalExpectation("!=", false);
323
+ var peg$e32 = peg$otherExpectation("backslash-escaped character");
324
+ var peg$e33 = peg$literalExpectation("\\0", false);
325
+ var peg$e34 = peg$literalExpectation("\\b", false);
326
+ var peg$e35 = peg$literalExpectation("\\f", false);
327
+ var peg$e36 = peg$literalExpectation("\\n", false);
328
+ var peg$e37 = peg$literalExpectation("\\r", false);
329
+ var peg$e38 = peg$literalExpectation("\\t", false);
330
+ var peg$e39 = peg$literalExpectation("\\v", false);
331
+ var peg$e40 = peg$literalExpectation("\\", false);
332
+ var peg$e41 = peg$anyExpectation();
333
+ var peg$e42 = peg$literalExpectation("`", false);
334
+ var peg$e43 = peg$literalExpectation("}", false);
335
+ var peg$e44 = peg$literalExpectation("\xBB", false);
336
+ var peg$e45 = peg$literalExpectation("'", false);
337
+ var peg$e46 = peg$literalExpectation("**", false);
338
+ var peg$e47 = peg$otherExpectation("floating-point number");
339
+ var peg$e48 = peg$literalExpectation(".", false);
340
+ var peg$e49 = peg$literalExpectation("---\n", false);
341
+ var peg$e50 = peg$otherExpectation("YAML front matter");
342
+ var peg$e51 = peg$otherExpectation("parenthetical group");
343
+ var peg$e52 = peg$otherExpectation("guillemet string");
344
+ var peg$e53 = peg$literalExpectation("\xAB", false);
343
345
  var peg$e54 = peg$otherExpectation("HTTP/HTTPS host");
344
346
  var peg$e55 = peg$otherExpectation("identifier");
345
347
  var peg$e56 = peg$classExpectation(["(", ")", "{", "}", "[", "]", "<", ">", "?", "!", "|", "-", "=", ",", "/", ":", "`", "\"", "'", "\xAB", "\xBB", "\\", "\u2192", "\u21D2", "\u2026", " ", "\t", "\n", "\r"], true, false);
@@ -358,46 +360,47 @@ function peg$parse(input, options) {
358
360
  var peg$e69 = peg$classExpectation(["%", "*", "/"], false, false);
359
361
  var peg$e70 = peg$classExpectation([["A", "Z"], ["a", "z"]], false, false);
360
362
  var peg$e71 = peg$literalExpectation("new", false);
361
- var peg$e72 = peg$literalExpectation("\n", false);
362
- var peg$e73 = peg$literalExpectation("\r\n", false);
363
- var peg$e74 = peg$literalExpectation("\r", false);
364
- var peg$e75 = peg$otherExpectation("number");
365
- var peg$e76 = peg$literalExpectation("??", false);
366
- var peg$e77 = peg$otherExpectation("object literal");
367
- var peg$e78 = peg$literalExpectation("{", false);
368
- var peg$e79 = peg$otherExpectation("object getter");
369
- var peg$e80 = peg$literalExpectation("=", false);
370
- var peg$e81 = peg$otherExpectation("object key");
371
- var peg$e82 = peg$otherExpectation("object property");
372
- var peg$e83 = peg$otherExpectation("object identifier");
373
- var peg$e84 = peg$literalExpectation("?.", false);
374
- var peg$e85 = peg$otherExpectation("function arguments in parentheses");
375
- var peg$e86 = peg$otherExpectation("slash-separated path");
376
- var peg$e87 = peg$classExpectation(["(", ")", "{", "}", "[", "]", ",", ":", "/", "\\", " ", "\t", "\n", "\r"], true, false);
377
- var peg$e88 = peg$otherExpectation("Origami program");
378
- var peg$e89 = peg$classExpectation(["g", "i", "m", "u", "y"], false, false);
379
- var peg$e90 = peg$classExpectation(["/", "\n", "\r"], true, false);
380
- var peg$e91 = peg$literalExpectation("<=", false);
381
- var peg$e92 = peg$literalExpectation(">=", false);
382
- var peg$e93 = peg$otherExpectation("scope reference");
383
- var peg$e94 = peg$literalExpectation("#!", false);
384
- var peg$e95 = peg$classExpectation(["\n", "\r"], true, false);
385
- var peg$e96 = peg$literalExpectation("<<", false);
386
- var peg$e97 = peg$literalExpectation(">>>", false);
387
- var peg$e98 = peg$literalExpectation(">>", false);
388
- var peg$e99 = peg$otherExpectation("lambda function");
389
- var peg$e100 = peg$literalExpectation("\u2192", false);
390
- var peg$e101 = peg$literalExpectation("->", false);
391
- var peg$e102 = peg$otherExpectation("single quote string");
392
- var peg$e103 = peg$otherExpectation("string");
393
- var peg$e104 = peg$otherExpectation("template");
394
- var peg$e105 = peg$literalExpectation("${", false);
395
- var peg$e106 = peg$otherExpectation("template text");
396
- var peg$e107 = peg$otherExpectation("template document");
397
- var peg$e108 = peg$otherExpectation("template literal");
398
- var peg$e109 = peg$otherExpectation("template substitution");
399
- var peg$e110 = peg$classExpectation(["!", "+"], false, false);
400
- var peg$e111 = peg$literalExpectation("-\n", false);
363
+ var peg$e72 = peg$literalExpectation("new:", false);
364
+ var peg$e73 = peg$literalExpectation("\n", false);
365
+ var peg$e74 = peg$literalExpectation("\r\n", false);
366
+ var peg$e75 = peg$literalExpectation("\r", false);
367
+ var peg$e76 = peg$otherExpectation("number");
368
+ var peg$e77 = peg$literalExpectation("??", false);
369
+ var peg$e78 = peg$otherExpectation("object literal");
370
+ var peg$e79 = peg$literalExpectation("{", false);
371
+ var peg$e80 = peg$otherExpectation("object getter");
372
+ var peg$e81 = peg$literalExpectation("=", false);
373
+ var peg$e82 = peg$otherExpectation("object key");
374
+ var peg$e83 = peg$otherExpectation("object property");
375
+ var peg$e84 = peg$otherExpectation("object identifier");
376
+ var peg$e85 = peg$literalExpectation("?.", false);
377
+ var peg$e86 = peg$otherExpectation("function arguments in parentheses");
378
+ var peg$e87 = peg$otherExpectation("slash-separated path");
379
+ var peg$e88 = peg$classExpectation(["(", ")", "{", "}", "[", "]", ",", ":", "/", "\\", " ", "\t", "\n", "\r"], true, false);
380
+ var peg$e89 = peg$otherExpectation("Origami program");
381
+ var peg$e90 = peg$classExpectation(["g", "i", "m", "u", "y"], false, false);
382
+ var peg$e91 = peg$classExpectation(["/", "\n", "\r"], true, false);
383
+ var peg$e92 = peg$literalExpectation("<=", false);
384
+ var peg$e93 = peg$literalExpectation(">=", false);
385
+ var peg$e94 = peg$otherExpectation("scope reference");
386
+ var peg$e95 = peg$literalExpectation("#!", false);
387
+ var peg$e96 = peg$classExpectation(["\n", "\r"], true, false);
388
+ var peg$e97 = peg$literalExpectation("<<", false);
389
+ var peg$e98 = peg$literalExpectation(">>>", false);
390
+ var peg$e99 = peg$literalExpectation(">>", false);
391
+ var peg$e100 = peg$otherExpectation("lambda function");
392
+ var peg$e101 = peg$literalExpectation("\u2192", false);
393
+ var peg$e102 = peg$literalExpectation("->", false);
394
+ var peg$e103 = peg$otherExpectation("single quote string");
395
+ var peg$e104 = peg$otherExpectation("string");
396
+ var peg$e105 = peg$otherExpectation("template");
397
+ var peg$e106 = peg$literalExpectation("${", false);
398
+ var peg$e107 = peg$otherExpectation("template text");
399
+ var peg$e108 = peg$otherExpectation("template document");
400
+ var peg$e109 = peg$otherExpectation("template literal");
401
+ var peg$e110 = peg$otherExpectation("template substitution");
402
+ var peg$e111 = peg$classExpectation(["!", "+"], false, false);
403
+ var peg$e112 = peg$literalExpectation("-\n", false);
401
404
 
402
405
  var peg$f0 = function() {
403
406
  return null;
@@ -408,45 +411,43 @@ function peg$parse(input, options) {
408
411
  var peg$f2 = function(protocol, path) {
409
412
  return annotate([protocol, ...path], location());
410
413
  };
411
- var peg$f3 = function(protocol, path) {
412
- const [head, ...tail] = path;
413
- const root = annotate([protocol, head], location());
414
- return annotate([ops.traverse, root, ...tail], location());
414
+ var peg$f3 = function(path) {
415
+ const root = annotate([ops.rootDirectory], location());
416
+ return path.length > 0 ? annotate([root, ...path], location()) : root;
415
417
  };
416
418
  var peg$f4 = function(path) {
417
- const [head, ...tail] = path;
418
- const root = annotate([ops.scope, head[1]], location());
419
- return tail.length === 0
420
- ? root
421
- : annotate([ops.traverse, root, ...tail], location())
422
- };
423
- var peg$f5 = function(chars, slashFollows) {
424
- // Append a trailing slash if one follows (but don't consume it)
425
- const key = chars.join("") + (slashFollows ? "/" : "");
426
- return annotate([ops.literal, key], location());
427
- };
428
- var peg$f6 = function(protocol) {
429
- return annotate([ops.builtin, `${protocol}:`], location());
419
+ const home = annotate([ops.homeDirectory], location());
420
+ return path.length > 0 ? annotate([home, ...path], location()) : home;
430
421
  };
431
- var peg$f7 = function(entries) {
432
- return makeArray(entries ?? [], location());
422
+ var peg$f5 = function(path) {
423
+ // Angle bracket paths always reference scope
424
+ const scope = annotate([ops.scope], location());
425
+ return annotate([scope, ...path], location());
426
+ };
427
+ var peg$f6 = function(chars, slashFollows) {
428
+ // Append a trailing slash if one follows (but don't consume it)
429
+ const key = chars.join("") + (slashFollows ? "/" : "");
430
+ return annotate([ops.literal, key], location());
431
+ };
432
+ var peg$f7 = function(protocol) {
433
+ return annotate([markers.global, `${protocol[1]}:`], location());
433
434
  };
434
435
  var peg$f8 = function(entries) {
436
+ return makeArray(entries ?? [], location());
437
+ };
438
+ var peg$f9 = function(entries) {
435
439
  return annotate(entries, location());
436
440
  };
437
- var peg$f9 = function() {
441
+ var peg$f10 = function() {
438
442
  return annotate([ops.literal, undefined], location());
439
443
  };
440
- var peg$f10 = function(parameters, pipeline) {
444
+ var peg$f11 = function(parameters, pipeline) {
441
445
  const lambdaParameters = parameters ?? annotate([], location());
442
446
  return annotate([ops.lambda, lambdaParameters, pipeline], location());
443
447
  };
444
- var peg$f11 = function(parameter, pipeline) {
448
+ var peg$f12 = function(parameter, pipeline) {
445
449
  return annotate([ops.lambda, parameter, pipeline], location());
446
450
  };
447
- var peg$f12 = function(head, tail) {
448
- return tail.reduce(makeBinaryOperation, head);
449
- };
450
451
  var peg$f13 = function(head, tail) {
451
452
  return tail.reduce(makeBinaryOperation, head);
452
453
  };
@@ -454,17 +455,20 @@ function peg$parse(input, options) {
454
455
  return tail.reduce(makeBinaryOperation, head);
455
456
  };
456
457
  var peg$f15 = function(head, tail) {
457
- return tail.reduce(makeCall, head);
458
+ return tail.reduce(makeBinaryOperation, head);
459
+ };
460
+ var peg$f16 = function(head, tail) {
461
+ return tail.reduce((target, args) => makeCall(target, args, options.mode), head);
458
462
  };
459
- var peg$f16 = function(list) {
463
+ var peg$f17 = function(list) {
460
464
  return list.length === 1
461
465
  ? list[0]
462
466
  : annotate([ops.comma, ...list], location());
463
467
  };
464
- var peg$f17 = function(expression) {
465
- return annotate([ops.traverse, expression], location());
468
+ var peg$f18 = function(expression) {
469
+ return annotate([markers.traverse, expression], location());
466
470
  };
467
- var peg$f18 = function(condition, tail) {
471
+ var peg$f19 = function(condition, tail) {
468
472
  if (!tail) {
469
473
  return condition;
470
474
  }
@@ -476,103 +480,105 @@ function peg$parse(input, options) {
476
480
  downgradeReference(deferred[1])
477
481
  ], location());
478
482
  };
479
- var peg$f19 = function(chars) {
483
+ var peg$f20 = function(chars) {
480
484
  return annotate([ops.literal, chars.join("")], location());
481
485
  };
482
- var peg$f20 = function(head, tail) {
486
+ var peg$f21 = function(head, tail) {
483
487
  return tail.reduce(makeBinaryOperation, head);
484
488
  };
485
- var peg$f21 = function() { return "\0"; };
486
- var peg$f22 = function() { return "\b"; };
487
- var peg$f23 = function() { return "\f"; };
488
- var peg$f24 = function() { return "\n"; };
489
- var peg$f25 = function() { return "\r"; };
490
- var peg$f26 = function() { return "\t"; };
491
- var peg$f27 = function() { return "\v"; };
492
- var peg$f28 = function() {
489
+ var peg$f22 = function() { return "\0"; };
490
+ var peg$f23 = function() { return "\b"; };
491
+ var peg$f24 = function() { return "\f"; };
492
+ var peg$f25 = function() { return "\n"; };
493
+ var peg$f26 = function() { return "\r"; };
494
+ var peg$f27 = function() { return "\t"; };
495
+ var peg$f28 = function() { return "\v"; };
496
+ var peg$f29 = function() {
493
497
  error("Expected closing backtick");
494
498
  };
495
- var peg$f29 = function() {
499
+ var peg$f30 = function() {
496
500
  error(`An object ended without a closing brace, or contained something that wasn't expected.\nThe top level of an object can only contain definitions ("a: b" or "a = b") or spreads ("...a").`);
497
501
  };
498
- var peg$f30 = function() {
502
+ var peg$f31 = function() {
499
503
  error("Expected right bracket");
500
504
  };
501
- var peg$f31 = function() {
505
+ var peg$f32 = function() {
502
506
  error("Expected right parenthesis");
503
507
  };
504
- var peg$f32 = function() {
508
+ var peg$f33 = function() {
505
509
  error("Expected closing quote");
506
510
  };
507
- var peg$f33 = function() {
511
+ var peg$f34 = function() {
508
512
  error("Expected an Origami expression");
509
513
  };
510
- var peg$f34 = function() {
514
+ var peg$f35 = function() {
511
515
  error("Expected \"---\"");
512
516
  };
513
- var peg$f35 = function() {
517
+ var peg$f36 = function() {
514
518
  error("Expected closing guillemet");
515
519
  };
516
- var peg$f36 = function() {
520
+ var peg$f37 = function() {
517
521
  error("Expected closing quote");
518
522
  };
519
- var peg$f37 = function() {
523
+ var peg$f38 = function() {
520
524
  error("Expected an expression");
521
525
  };
522
- var peg$f38 = function(left, right) {
526
+ var peg$f39 = function(left, right) {
523
527
  return right ? annotate([ops.exponentiation, left, right], location()) : left;
524
528
  };
525
- var peg$f39 = function() {
529
+ var peg$f40 = function() {
526
530
  return annotate([ops.literal, parseFloat(text())], location());
527
531
  };
528
- var peg$f40 = function() {
532
+ var peg$f41 = function() {
529
533
  return isOrigamiFrontMatter(input.slice(location().end.offset))
530
534
  };
531
- var peg$f41 = function(chars) {
535
+ var peg$f42 = function(chars) {
532
536
  return chars.join("");
533
537
  };
534
- var peg$f42 = function(yaml) {
538
+ var peg$f43 = function(yaml) {
535
539
  return makeYamlObject(yaml, location());
536
540
  };
537
- var peg$f43 = function(expression) {
541
+ var peg$f44 = function(expression) {
538
542
  return annotate(downgradeReference(expression), location());
539
543
  };
540
- var peg$f44 = function(chars) {
544
+ var peg$f45 = function(chars) {
541
545
  return annotate([ops.literal, chars.join("")], location());
542
546
  };
543
- var peg$f45 = function() {
547
+ var peg$f46 = function() {
544
548
  return annotate([ops.homeDirectory], location());
545
549
  };
546
- var peg$f46 = function(identifier, port, slashFollows) {
550
+ var peg$f47 = function(identifier, port, slashFollows) {
547
551
  const portText = port ? `:${port[1]}` : "";
548
552
  const slashText = slashFollows ? "/" : "";
549
553
  const hostText = identifier + portText + slashText;
550
554
  return annotate([ops.literal, hostText], location());
551
555
  };
552
- var peg$f47 = function(chars) { return chars.join(""); };
553
- var peg$f48 = function(head, args) {
554
- return args ? makeCall(head, args) : head;
556
+ var peg$f48 = function(chars) { return chars.join(""); };
557
+ var peg$f49 = function(head, args) {
558
+ return args ? makeCall(head, args, options.mode) : head;
555
559
  };
556
- var peg$f49 = function(values) {
560
+ var peg$f50 = function(values) {
557
561
  return annotate(values, location());
558
562
  };
559
- var peg$f50 = function() {
563
+ var peg$f51 = function() {
560
564
  return annotate([ops.literal, parseInt(text())], location());
561
565
  };
562
- var peg$f51 = function() { return options.mode === "jse" };
563
- var peg$f52 = function(char) { return char.match(/[$_\p{ID_Continue}]/u) };
564
- var peg$f53 = function(char) { return char.match(/[$_\p{ID_Start}]/u) };
565
- var peg$f54 = function(property) {
566
- const literal = annotate([ops.literal, property], location());
567
- return annotate([ops.traverse, literal], location());
566
+ var peg$f52 = function() { return options.mode === "jse" };
567
+ var peg$f53 = function(id) {
568
+ return annotate([ops.literal, id], location());
568
569
  };
569
- var peg$f55 = function(id) {
570
- return annotate([ops.scope, id], location());
570
+ var peg$f54 = function(char) { return char.match(/[$_\p{ID_Continue}]/u) };
571
+ var peg$f55 = function(char) { return char.match(/[$_\p{ID_Start}]/u) };
572
+ var peg$f56 = function(property) {
573
+ return annotate([markers.traverse, property], location());
574
+ };
575
+ var peg$f57 = function(id) {
576
+ return annotate([markers.reference, id], location());
571
577
  };
572
- var peg$f56 = function(values) {
578
+ var peg$f58 = function(values) {
573
579
  return annotate(values, location());
574
580
  };
575
- var peg$f57 = function(head, tail) {
581
+ var peg$f59 = function(head, tail) {
576
582
  return tail.length === 0
577
583
  ? head
578
584
  : annotate(
@@ -580,7 +586,7 @@ function peg$parse(input, options) {
580
586
  location()
581
587
  );
582
588
  };
583
- var peg$f58 = function(head, tail) {
589
+ var peg$f60 = function(head, tail) {
584
590
  return tail.length === 0
585
591
  ? head
586
592
  : annotate(
@@ -588,18 +594,22 @@ function peg$parse(input, options) {
588
594
  location()
589
595
  );
590
596
  };
591
- var peg$f59 = function() { return null; };
592
- var peg$f60 = function(head, tail) {
597
+ var peg$f61 = function() { return null; };
598
+ var peg$f62 = function(head, tail) {
593
599
  return tail.reduce(makeBinaryOperation, head);
594
600
  };
595
- var peg$f61 = function(chars) {
596
- return annotate([ops.builtin, chars.join("") + ":"], location());
601
+ var peg$f63 = function(chars) {
602
+ return annotate([markers.global, chars.join("") + ":"], location());
597
603
  };
598
- var peg$f62 = function(head, tail) {
604
+ var peg$f64 = function(head, tail) {
605
+ const args = tail?.[0] !== undefined ? tail : [];
606
+ return annotate([ops.construct, head, ...args], location());
607
+ };
608
+ var peg$f65 = function(head, tail) {
599
609
  const args = tail?.[0] !== undefined ? tail : [];
600
610
  return annotate([ops.construct, head, ...args], location());
601
611
  };
602
- var peg$f63 = function(head, tail) {
612
+ var peg$f66 = function(head, tail) {
603
613
  return tail.length === 0
604
614
  ? head
605
615
  : annotate(
@@ -607,157 +617,158 @@ function peg$parse(input, options) {
607
617
  location()
608
618
  );
609
619
  };
610
- var peg$f64 = function(entries) {
620
+ var peg$f67 = function(entries) {
611
621
  return makeObject(entries ?? [], location());
612
622
  };
613
- var peg$f65 = function(entries) {
623
+ var peg$f68 = function(entries) {
614
624
  return annotate(entries, location());
615
625
  };
616
- var peg$f66 = function(key, pipeline) {
626
+ var peg$f69 = function(key, pipeline) {
617
627
  return annotate(
618
628
  makeProperty(key, annotate([ops.getter, pipeline], location())),
619
629
  location()
620
630
  );
621
631
  };
622
- var peg$f67 = function(hiddenKey) { return hiddenKey.join(""); };
623
- var peg$f68 = function(key, pipeline) {
632
+ var peg$f70 = function(hiddenKey) { return hiddenKey.join(""); };
633
+ var peg$f71 = function(key, pipeline) {
624
634
  return annotate(makeProperty(key, pipeline), location());
625
635
  };
626
- var peg$f69 = function(key) {
627
- const inherited = annotate([ops.inherited, key], location());
628
- return annotate([key, inherited], location());
636
+ var peg$f72 = function(key) {
637
+ const reference = annotate([markers.reference, key], location());
638
+ return annotate([key, reference], location());
629
639
  };
630
- var peg$f70 = function(identifier, slash) {
640
+ var peg$f73 = function(path) {
641
+ let lastKey = path.at(-1);
642
+ if (lastKey instanceof Array) {
643
+ lastKey = lastKey[1]; // get scope identifier or literal
644
+ }
645
+ return annotate([lastKey, path], location());
646
+ };
647
+ var peg$f74 = function(identifier, slash) {
631
648
  return identifier + (slash ?? "");
632
649
  };
633
- var peg$f71 = function(string) {
650
+ var peg$f75 = function(string) {
634
651
  // Remove `ops.literal` from the string code
635
652
  return string[1];
636
653
  };
637
- var peg$f72 = function(property) {
638
- const literal = annotate([ops.literal, property], location());
639
- return annotate([ops.optionalTraverse, literal], location());
654
+ var peg$f76 = function(property) {
655
+ return annotate([ops.optionalTraverse, property], location());
640
656
  };
641
- var peg$f73 = function(identifier) {
657
+ var peg$f77 = function(identifier) {
642
658
  return annotate([ops.literal, identifier], location());
643
659
  };
644
- var peg$f74 = function(list) {
660
+ var peg$f78 = function(list) {
645
661
  return annotate(list, location());
646
662
  };
647
- var peg$f75 = function(identifier) {
663
+ var peg$f79 = function(identifier) {
648
664
  return annotate(
649
665
  [annotate([ops.literal, identifier], location())],
650
666
  location()
651
667
  );
652
668
  };
653
- var peg$f76 = function(list) {
669
+ var peg$f80 = function(list) {
654
670
  return annotate(list ?? [undefined], location());
655
671
  };
656
- var peg$f77 = function(segments) {
672
+ var peg$f81 = function(segments) {
657
673
  // Drop empty segments that represent consecutive or final slashes
658
674
  segments = segments.filter(segment => segment);
659
675
  return annotate(segments, location());
660
676
  };
661
- var peg$f78 = function(path) {
662
- return annotate([ops.traverse, ...path], location());
677
+ var peg$f82 = function(path) {
678
+ return annotate([markers.traverse, ...path], location());
663
679
  };
664
- var peg$f79 = function(chars, slashFollows) {
680
+ var peg$f83 = function(chars, slashFollows) {
665
681
  // Append a trailing slash if one follows (but don't consume it)
666
682
  const key = chars.join("") + (slashFollows ? "/" : "");
667
683
  return annotate([ops.literal, key], location());
668
684
  };
669
- var peg$f80 = function(head, tail) {
685
+ var peg$f84 = function(head, tail) {
670
686
  return annotate(
671
- tail.reduce(makePipeline, downgradeReference(head)),
687
+ tail.reduce((arg, fn) => makePipeline(arg, fn, options.mode), downgradeReference(head)),
672
688
  location()
673
689
  );
674
690
  };
675
- var peg$f81 = function(fn, host, path) {
691
+ var peg$f85 = function(fn, host, path) {
676
692
  const keys = annotate([host, ...(path ?? [])], location());
677
- return makeCall(fn, keys);
693
+ return makeCall(fn, keys, options.mode);
678
694
  };
679
- var peg$f82 = function(fn, reference) {
680
- const literal = annotate([ops.literal, reference[1]], reference.location);
681
- return makeCall(fn, [literal]);
695
+ var peg$f86 = function(fn, reference) {
696
+ return makeCall(fn, [reference[1]], options.mode);
682
697
  };
683
- var peg$f83 = function(flags) {
698
+ var peg$f87 = function(flags) {
684
699
  return flags.join("");
685
700
  };
686
- var peg$f84 = function(chars, flags) {
701
+ var peg$f88 = function(chars, flags) {
687
702
  const regex = new RegExp(chars.join(""), flags);
688
703
  return annotate([ops.literal, regex], location());
689
704
  };
690
- var peg$f85 = function(head, tail) {
705
+ var peg$f89 = function(head, tail) {
691
706
  return tail.reduce(makeBinaryOperation, head);
692
707
  };
693
- var peg$f86 = function(key) {
694
- return annotate([ops.rootDirectory, key], location());
695
- };
696
- var peg$f87 = function() {
708
+ var peg$f90 = function() {
697
709
  return annotate([ops.rootDirectory], location());
698
710
  };
699
- var peg$f88 = function(identifier, slashFollows) {
711
+ var peg$f91 = function(identifier, slashFollows) {
700
712
  const id = identifier + (slashFollows ? "/" : "");
701
- return annotate(makeReference(id), location());
713
+ const idCode = annotate([ops.literal, identifier], location());
714
+ return annotate([markers.reference, idCode], location());
702
715
  };
703
- var peg$f89 = function() { return null; };
704
- var peg$f90 = function() { return options.mode === "shell" };
705
- var peg$f91 = function(head, tail) {
716
+ var peg$f92 = function() { return null; };
717
+ var peg$f93 = function() { return options.mode === "shell" };
718
+ var peg$f94 = function(head, tail) {
706
719
  return tail.reduce(makeBinaryOperation, head);
707
720
  };
708
- var peg$f92 = function(definition) {
721
+ var peg$f95 = function(definition) {
709
722
  const lambdaParameters = annotate(
710
723
  [annotate([ops.literal, "_"], location())],
711
724
  location()
712
725
  );
713
726
  return annotate([ops.lambda, lambdaParameters, definition], location());
714
727
  };
715
- var peg$f93 = function() { return null; };
716
- var peg$f94 = function(chars) {
728
+ var peg$f96 = function() { return null; };
729
+ var peg$f97 = function(chars) {
717
730
  return annotate([ops.literal, chars.join("")], location());
718
731
  };
719
- var peg$f95 = function() {
732
+ var peg$f98 = function() {
720
733
  return annotate([ops.literal, "/"], location());
721
734
  };
722
- var peg$f96 = function() {
735
+ var peg$f99 = function() {
723
736
  return true;
724
737
  };
725
- var peg$f97 = function(value) {
738
+ var peg$f100 = function(value) {
726
739
  return annotate([ops.spread, value], location());
727
740
  };
728
- var peg$f98 = function(head, tail) {
729
- const lambdaParameters = annotate(
730
- [annotate([ops.literal, "_"], location())],
731
- location()
732
- );
733
- return annotate(
734
- [ops.lambda, lambdaParameters, makeTemplate(ops.templateIndent, head, tail, location())],
735
- location()
736
- );
741
+ var peg$f101 = function(head, tail) {
742
+ return makeTemplate(ops.templateIndent, head, tail, location());
737
743
  };
738
- var peg$f99 = function(chars) {
744
+ var peg$f102 = function(chars) {
739
745
  return annotate([ops.literal, chars.join("")], location());
740
746
  };
741
- var peg$f100 = function(front, body) {
747
+ var peg$f103 = function(front, body) {
742
748
  const macroName = options.mode === "jse" ? "_template" : "@template";
743
749
  return annotate(applyMacro(front, macroName, body), location());
744
750
  };
745
- var peg$f101 = function(front, body) {
746
- return front
747
- ? annotate([ops.document, front, body], location())
748
- : annotate(body, location());
751
+ var peg$f104 = function(front, body) {
752
+ return makeDocument(options.mode, front, body, location());
753
+ };
754
+ var peg$f105 = function(body) {
755
+ const lambdaParameters = annotate(
756
+ [annotate([ops.literal, "_"], location())],
757
+ location()
758
+ );
759
+ return annotate([ops.lambda, lambdaParameters, body], location());
749
760
  };
750
- var peg$f102 = function(head, tail) {
761
+ var peg$f106 = function(head, tail) {
751
762
  const op = options.mode === "jse" ? ops.templateStandard : ops.templateTree;
752
763
  return makeTemplate(op, head, tail, location());
753
764
  };
754
- var peg$f103 = function(chars) {
765
+ var peg$f107 = function(chars) {
755
766
  return annotate([ops.literal, chars.join("")], location());
756
767
  };
757
- var peg$f104 = function(expression) {
768
+ var peg$f108 = function(expression) {
758
769
  return annotate(expression, location());
759
770
  };
760
- var peg$f105 = function(operator, expression) {
771
+ var peg$f109 = function(operator, expression) {
761
772
  return makeUnaryOperation(operator, expression, location());
762
773
  };
763
774
  var peg$currPos = options.peg$currPos | 0;
@@ -1047,23 +1058,21 @@ function peg$parse(input, options) {
1047
1058
  s4 = peg$FAILED;
1048
1059
  if (peg$silentFails === 0) { peg$fail(peg$e2); }
1049
1060
  }
1050
- if (s4 !== peg$FAILED) {
1051
- s5 = peg$parseangleBracketPath();
1052
- s6 = peg$parse__();
1053
- if (input.charCodeAt(peg$currPos) === 62) {
1054
- s7 = peg$c2;
1055
- peg$currPos++;
1056
- } else {
1057
- s7 = peg$FAILED;
1058
- if (peg$silentFails === 0) { peg$fail(peg$e3); }
1059
- }
1060
- if (s7 !== peg$FAILED) {
1061
- peg$savedPos = s0;
1062
- s0 = peg$f2(s3, s5);
1063
- } else {
1064
- peg$currPos = s0;
1065
- s0 = peg$FAILED;
1066
- }
1061
+ if (s4 === peg$FAILED) {
1062
+ s4 = null;
1063
+ }
1064
+ s5 = peg$parseangleBracketPath();
1065
+ s6 = peg$parse__();
1066
+ if (input.charCodeAt(peg$currPos) === 62) {
1067
+ s7 = peg$c2;
1068
+ peg$currPos++;
1069
+ } else {
1070
+ s7 = peg$FAILED;
1071
+ if (peg$silentFails === 0) { peg$fail(peg$e3); }
1072
+ }
1073
+ if (s7 !== peg$FAILED) {
1074
+ peg$savedPos = s0;
1075
+ s0 = peg$f2(s3, s5);
1067
1076
  } else {
1068
1077
  peg$currPos = s0;
1069
1078
  s0 = peg$FAILED;
@@ -1086,19 +1095,27 @@ function peg$parse(input, options) {
1086
1095
  if (peg$silentFails === 0) { peg$fail(peg$e1); }
1087
1096
  }
1088
1097
  if (s1 !== peg$FAILED) {
1089
- s2 = peg$parseangleBracketProtocol();
1090
- if (s2 !== peg$FAILED) {
1091
- s3 = peg$parseangleBracketPath();
1098
+ s2 = peg$parse__();
1099
+ if (input.charCodeAt(peg$currPos) === 47) {
1100
+ s3 = peg$c3;
1101
+ peg$currPos++;
1102
+ } else {
1103
+ s3 = peg$FAILED;
1104
+ if (peg$silentFails === 0) { peg$fail(peg$e4); }
1105
+ }
1106
+ if (s3 !== peg$FAILED) {
1107
+ s4 = peg$parseangleBracketPath();
1108
+ s5 = peg$parse__();
1092
1109
  if (input.charCodeAt(peg$currPos) === 62) {
1093
- s4 = peg$c2;
1110
+ s6 = peg$c2;
1094
1111
  peg$currPos++;
1095
1112
  } else {
1096
- s4 = peg$FAILED;
1113
+ s6 = peg$FAILED;
1097
1114
  if (peg$silentFails === 0) { peg$fail(peg$e3); }
1098
1115
  }
1099
- if (s4 !== peg$FAILED) {
1116
+ if (s6 !== peg$FAILED) {
1100
1117
  peg$savedPos = s0;
1101
- s0 = peg$f3(s2, s3);
1118
+ s0 = peg$f3(s4);
1102
1119
  } else {
1103
1120
  peg$currPos = s0;
1104
1121
  s0 = peg$FAILED;
@@ -1122,18 +1139,40 @@ function peg$parse(input, options) {
1122
1139
  }
1123
1140
  if (s1 !== peg$FAILED) {
1124
1141
  s2 = peg$parse__();
1125
- s3 = peg$parseangleBracketPath();
1126
- s4 = peg$parse__();
1127
- if (input.charCodeAt(peg$currPos) === 62) {
1128
- s5 = peg$c2;
1142
+ if (input.charCodeAt(peg$currPos) === 126) {
1143
+ s3 = peg$c4;
1129
1144
  peg$currPos++;
1130
1145
  } else {
1131
- s5 = peg$FAILED;
1132
- if (peg$silentFails === 0) { peg$fail(peg$e3); }
1146
+ s3 = peg$FAILED;
1147
+ if (peg$silentFails === 0) { peg$fail(peg$e5); }
1133
1148
  }
1134
- if (s5 !== peg$FAILED) {
1135
- peg$savedPos = s0;
1136
- s0 = peg$f4(s3);
1149
+ if (s3 !== peg$FAILED) {
1150
+ if (input.charCodeAt(peg$currPos) === 47) {
1151
+ s4 = peg$c3;
1152
+ peg$currPos++;
1153
+ } else {
1154
+ s4 = peg$FAILED;
1155
+ if (peg$silentFails === 0) { peg$fail(peg$e4); }
1156
+ }
1157
+ if (s4 === peg$FAILED) {
1158
+ s4 = null;
1159
+ }
1160
+ s5 = peg$parseangleBracketPath();
1161
+ s6 = peg$parse__();
1162
+ if (input.charCodeAt(peg$currPos) === 62) {
1163
+ s7 = peg$c2;
1164
+ peg$currPos++;
1165
+ } else {
1166
+ s7 = peg$FAILED;
1167
+ if (peg$silentFails === 0) { peg$fail(peg$e3); }
1168
+ }
1169
+ if (s7 !== peg$FAILED) {
1170
+ peg$savedPos = s0;
1171
+ s0 = peg$f4(s5);
1172
+ } else {
1173
+ peg$currPos = s0;
1174
+ s0 = peg$FAILED;
1175
+ }
1137
1176
  } else {
1138
1177
  peg$currPos = s0;
1139
1178
  s0 = peg$FAILED;
@@ -1142,6 +1181,38 @@ function peg$parse(input, options) {
1142
1181
  peg$currPos = s0;
1143
1182
  s0 = peg$FAILED;
1144
1183
  }
1184
+ if (s0 === peg$FAILED) {
1185
+ s0 = peg$currPos;
1186
+ if (input.charCodeAt(peg$currPos) === 60) {
1187
+ s1 = peg$c0;
1188
+ peg$currPos++;
1189
+ } else {
1190
+ s1 = peg$FAILED;
1191
+ if (peg$silentFails === 0) { peg$fail(peg$e1); }
1192
+ }
1193
+ if (s1 !== peg$FAILED) {
1194
+ s2 = peg$parse__();
1195
+ s3 = peg$parseangleBracketPath();
1196
+ s4 = peg$parse__();
1197
+ if (input.charCodeAt(peg$currPos) === 62) {
1198
+ s5 = peg$c2;
1199
+ peg$currPos++;
1200
+ } else {
1201
+ s5 = peg$FAILED;
1202
+ if (peg$silentFails === 0) { peg$fail(peg$e3); }
1203
+ }
1204
+ if (s5 !== peg$FAILED) {
1205
+ peg$savedPos = s0;
1206
+ s0 = peg$f5(s3);
1207
+ } else {
1208
+ peg$currPos = s0;
1209
+ s0 = peg$FAILED;
1210
+ }
1211
+ } else {
1212
+ peg$currPos = s0;
1213
+ s0 = peg$FAILED;
1214
+ }
1215
+ }
1145
1216
  }
1146
1217
  }
1147
1218
 
@@ -1211,7 +1282,7 @@ function peg$parse(input, options) {
1211
1282
  s2 = null;
1212
1283
  }
1213
1284
  peg$savedPos = s0;
1214
- s0 = peg$f5(s1, s2);
1285
+ s0 = peg$f6(s1, s2);
1215
1286
  } else {
1216
1287
  peg$currPos = s0;
1217
1288
  s0 = peg$FAILED;
@@ -1228,7 +1299,7 @@ function peg$parse(input, options) {
1228
1299
  peg$currPos++;
1229
1300
  } else {
1230
1301
  s0 = peg$FAILED;
1231
- if (peg$silentFails === 0) { peg$fail(peg$e5); }
1302
+ if (peg$silentFails === 0) { peg$fail(peg$e6); }
1232
1303
  }
1233
1304
  if (s0 === peg$FAILED) {
1234
1305
  s0 = peg$parseescapedChar();
@@ -1244,15 +1315,15 @@ function peg$parse(input, options) {
1244
1315
  s1 = peg$parsejsIdentifier();
1245
1316
  if (s1 !== peg$FAILED) {
1246
1317
  if (input.charCodeAt(peg$currPos) === 58) {
1247
- s2 = peg$c4;
1318
+ s2 = peg$c5;
1248
1319
  peg$currPos++;
1249
1320
  } else {
1250
1321
  s2 = peg$FAILED;
1251
- if (peg$silentFails === 0) { peg$fail(peg$e6); }
1322
+ if (peg$silentFails === 0) { peg$fail(peg$e7); }
1252
1323
  }
1253
1324
  if (s2 !== peg$FAILED) {
1254
1325
  peg$savedPos = s0;
1255
- s0 = peg$f6(s1);
1326
+ s0 = peg$f7(s1);
1256
1327
  } else {
1257
1328
  peg$currPos = s0;
1258
1329
  s0 = peg$FAILED;
@@ -1301,7 +1372,7 @@ function peg$parse(input, options) {
1301
1372
  peg$silentFails--;
1302
1373
  if (s0 === peg$FAILED) {
1303
1374
  s1 = peg$FAILED;
1304
- if (peg$silentFails === 0) { peg$fail(peg$e7); }
1375
+ if (peg$silentFails === 0) { peg$fail(peg$e8); }
1305
1376
  }
1306
1377
 
1307
1378
  return s0;
@@ -1313,11 +1384,11 @@ function peg$parse(input, options) {
1313
1384
  peg$silentFails++;
1314
1385
  s0 = peg$currPos;
1315
1386
  if (input.charCodeAt(peg$currPos) === 91) {
1316
- s1 = peg$c5;
1387
+ s1 = peg$c6;
1317
1388
  peg$currPos++;
1318
1389
  } else {
1319
1390
  s1 = peg$FAILED;
1320
- if (peg$silentFails === 0) { peg$fail(peg$e9); }
1391
+ if (peg$silentFails === 0) { peg$fail(peg$e10); }
1321
1392
  }
1322
1393
  if (s1 !== peg$FAILED) {
1323
1394
  s2 = peg$parse__();
@@ -1329,7 +1400,7 @@ function peg$parse(input, options) {
1329
1400
  s5 = peg$parseexpectClosingBracket();
1330
1401
  if (s5 !== peg$FAILED) {
1331
1402
  peg$savedPos = s0;
1332
- s0 = peg$f7(s3);
1403
+ s0 = peg$f8(s3);
1333
1404
  } else {
1334
1405
  peg$currPos = s0;
1335
1406
  s0 = peg$FAILED;
@@ -1341,7 +1412,7 @@ function peg$parse(input, options) {
1341
1412
  peg$silentFails--;
1342
1413
  if (s0 === peg$FAILED) {
1343
1414
  s1 = peg$FAILED;
1344
- if (peg$silentFails === 0) { peg$fail(peg$e8); }
1415
+ if (peg$silentFails === 0) { peg$fail(peg$e9); }
1345
1416
  }
1346
1417
 
1347
1418
  return s0;
@@ -1382,7 +1453,7 @@ function peg$parse(input, options) {
1382
1453
  s2 = null;
1383
1454
  }
1384
1455
  peg$savedPos = s0;
1385
- s0 = peg$f8(s1);
1456
+ s0 = peg$f9(s1);
1386
1457
  } else {
1387
1458
  peg$currPos = s0;
1388
1459
  s0 = peg$FAILED;
@@ -1403,11 +1474,11 @@ function peg$parse(input, options) {
1403
1474
  s2 = peg$currPos;
1404
1475
  peg$silentFails++;
1405
1476
  if (input.charCodeAt(peg$currPos) === 93) {
1406
- s3 = peg$c6;
1477
+ s3 = peg$c7;
1407
1478
  peg$currPos++;
1408
1479
  } else {
1409
1480
  s3 = peg$FAILED;
1410
- if (peg$silentFails === 0) { peg$fail(peg$e10); }
1481
+ if (peg$silentFails === 0) { peg$fail(peg$e11); }
1411
1482
  }
1412
1483
  peg$silentFails--;
1413
1484
  if (s3 === peg$FAILED) {
@@ -1418,7 +1489,7 @@ function peg$parse(input, options) {
1418
1489
  }
1419
1490
  if (s2 !== peg$FAILED) {
1420
1491
  peg$savedPos = s0;
1421
- s0 = peg$f9();
1492
+ s0 = peg$f10();
1422
1493
  } else {
1423
1494
  peg$currPos = s0;
1424
1495
  s0 = peg$FAILED;
@@ -1434,11 +1505,11 @@ function peg$parse(input, options) {
1434
1505
 
1435
1506
  s0 = peg$currPos;
1436
1507
  if (input.charCodeAt(peg$currPos) === 40) {
1437
- s1 = peg$c7;
1508
+ s1 = peg$c8;
1438
1509
  peg$currPos++;
1439
1510
  } else {
1440
1511
  s1 = peg$FAILED;
1441
- if (peg$silentFails === 0) { peg$fail(peg$e11); }
1512
+ if (peg$silentFails === 0) { peg$fail(peg$e12); }
1442
1513
  }
1443
1514
  if (s1 !== peg$FAILED) {
1444
1515
  s2 = peg$parse__();
@@ -1448,11 +1519,11 @@ function peg$parse(input, options) {
1448
1519
  }
1449
1520
  s4 = peg$parse__();
1450
1521
  if (input.charCodeAt(peg$currPos) === 41) {
1451
- s5 = peg$c8;
1522
+ s5 = peg$c9;
1452
1523
  peg$currPos++;
1453
1524
  } else {
1454
1525
  s5 = peg$FAILED;
1455
- if (peg$silentFails === 0) { peg$fail(peg$e12); }
1526
+ if (peg$silentFails === 0) { peg$fail(peg$e13); }
1456
1527
  }
1457
1528
  if (s5 !== peg$FAILED) {
1458
1529
  s6 = peg$parse__();
@@ -1462,7 +1533,7 @@ function peg$parse(input, options) {
1462
1533
  s9 = peg$parseexpectPipelineExpression();
1463
1534
  if (s9 !== peg$FAILED) {
1464
1535
  peg$savedPos = s0;
1465
- s0 = peg$f10(s3, s9);
1536
+ s0 = peg$f11(s3, s9);
1466
1537
  } else {
1467
1538
  peg$currPos = s0;
1468
1539
  s0 = peg$FAILED;
@@ -1490,7 +1561,7 @@ function peg$parse(input, options) {
1490
1561
  s5 = peg$parseexpectPipelineExpression();
1491
1562
  if (s5 !== peg$FAILED) {
1492
1563
  peg$savedPos = s0;
1493
- s0 = peg$f11(s1, s5);
1564
+ s0 = peg$f12(s1, s5);
1494
1565
  } else {
1495
1566
  peg$currPos = s0;
1496
1567
  s0 = peg$FAILED;
@@ -1554,7 +1625,7 @@ function peg$parse(input, options) {
1554
1625
  }
1555
1626
  }
1556
1627
  peg$savedPos = s0;
1557
- s0 = peg$f12(s1, s2);
1628
+ s0 = peg$f13(s1, s2);
1558
1629
  } else {
1559
1630
  peg$currPos = s0;
1560
1631
  s0 = peg$FAILED;
@@ -1568,21 +1639,21 @@ function peg$parse(input, options) {
1568
1639
 
1569
1640
  s0 = peg$currPos;
1570
1641
  if (input.charCodeAt(peg$currPos) === 38) {
1571
- s1 = peg$c9;
1642
+ s1 = peg$c10;
1572
1643
  peg$currPos++;
1573
1644
  } else {
1574
1645
  s1 = peg$FAILED;
1575
- if (peg$silentFails === 0) { peg$fail(peg$e13); }
1646
+ if (peg$silentFails === 0) { peg$fail(peg$e14); }
1576
1647
  }
1577
1648
  if (s1 !== peg$FAILED) {
1578
1649
  s2 = peg$currPos;
1579
1650
  peg$silentFails++;
1580
1651
  if (input.charCodeAt(peg$currPos) === 38) {
1581
- s3 = peg$c9;
1652
+ s3 = peg$c10;
1582
1653
  peg$currPos++;
1583
1654
  } else {
1584
1655
  s3 = peg$FAILED;
1585
- if (peg$silentFails === 0) { peg$fail(peg$e13); }
1656
+ if (peg$silentFails === 0) { peg$fail(peg$e14); }
1586
1657
  }
1587
1658
  peg$silentFails--;
1588
1659
  if (s3 === peg$FAILED) {
@@ -1648,7 +1719,7 @@ function peg$parse(input, options) {
1648
1719
  }
1649
1720
  }
1650
1721
  peg$savedPos = s0;
1651
- s0 = peg$f13(s1, s2);
1722
+ s0 = peg$f14(s1, s2);
1652
1723
  } else {
1653
1724
  peg$currPos = s0;
1654
1725
  s0 = peg$FAILED;
@@ -1662,21 +1733,21 @@ function peg$parse(input, options) {
1662
1733
 
1663
1734
  s0 = peg$currPos;
1664
1735
  if (input.charCodeAt(peg$currPos) === 124) {
1665
- s1 = peg$c10;
1736
+ s1 = peg$c11;
1666
1737
  peg$currPos++;
1667
1738
  } else {
1668
1739
  s1 = peg$FAILED;
1669
- if (peg$silentFails === 0) { peg$fail(peg$e14); }
1740
+ if (peg$silentFails === 0) { peg$fail(peg$e15); }
1670
1741
  }
1671
1742
  if (s1 !== peg$FAILED) {
1672
1743
  s2 = peg$currPos;
1673
1744
  peg$silentFails++;
1674
1745
  if (input.charCodeAt(peg$currPos) === 124) {
1675
- s3 = peg$c10;
1746
+ s3 = peg$c11;
1676
1747
  peg$currPos++;
1677
1748
  } else {
1678
1749
  s3 = peg$FAILED;
1679
- if (peg$silentFails === 0) { peg$fail(peg$e14); }
1750
+ if (peg$silentFails === 0) { peg$fail(peg$e15); }
1680
1751
  }
1681
1752
  peg$silentFails--;
1682
1753
  if (s3 === peg$FAILED) {
@@ -1742,7 +1813,7 @@ function peg$parse(input, options) {
1742
1813
  }
1743
1814
  }
1744
1815
  peg$savedPos = s0;
1745
- s0 = peg$f14(s1, s2);
1816
+ s0 = peg$f15(s1, s2);
1746
1817
  } else {
1747
1818
  peg$currPos = s0;
1748
1819
  s0 = peg$FAILED;
@@ -1755,11 +1826,11 @@ function peg$parse(input, options) {
1755
1826
  var s0;
1756
1827
 
1757
1828
  if (input.charCodeAt(peg$currPos) === 94) {
1758
- s0 = peg$c11;
1829
+ s0 = peg$c12;
1759
1830
  peg$currPos++;
1760
1831
  } else {
1761
1832
  s0 = peg$FAILED;
1762
- if (peg$silentFails === 0) { peg$fail(peg$e15); }
1833
+ if (peg$silentFails === 0) { peg$fail(peg$e16); }
1763
1834
  }
1764
1835
 
1765
1836
  return s0;
@@ -1779,7 +1850,7 @@ function peg$parse(input, options) {
1779
1850
  s3 = peg$parsearguments();
1780
1851
  }
1781
1852
  peg$savedPos = s0;
1782
- s0 = peg$f15(s1, s2);
1853
+ s0 = peg$f16(s1, s2);
1783
1854
  } else {
1784
1855
  peg$currPos = s0;
1785
1856
  s0 = peg$FAILED;
@@ -1787,7 +1858,7 @@ function peg$parse(input, options) {
1787
1858
  peg$silentFails--;
1788
1859
  if (s0 === peg$FAILED) {
1789
1860
  s1 = peg$FAILED;
1790
- if (peg$silentFails === 0) { peg$fail(peg$e16); }
1861
+ if (peg$silentFails === 0) { peg$fail(peg$e17); }
1791
1862
  }
1792
1863
 
1793
1864
  return s0;
@@ -1806,11 +1877,11 @@ function peg$parse(input, options) {
1806
1877
  s4 = peg$currPos;
1807
1878
  s5 = peg$parse__();
1808
1879
  if (input.charCodeAt(peg$currPos) === 44) {
1809
- s6 = peg$c12;
1880
+ s6 = peg$c13;
1810
1881
  peg$currPos++;
1811
1882
  } else {
1812
1883
  s6 = peg$FAILED;
1813
- if (peg$silentFails === 0) { peg$fail(peg$e17); }
1884
+ if (peg$silentFails === 0) { peg$fail(peg$e18); }
1814
1885
  }
1815
1886
  if (s6 !== peg$FAILED) {
1816
1887
  s7 = peg$parse__();
@@ -1840,7 +1911,7 @@ function peg$parse(input, options) {
1840
1911
  }
1841
1912
  if (s1 !== peg$FAILED) {
1842
1913
  peg$savedPos = s0;
1843
- s1 = peg$f16(s1);
1914
+ s1 = peg$f17(s1);
1844
1915
  }
1845
1916
  s0 = s1;
1846
1917
 
@@ -1858,7 +1929,7 @@ function peg$parse(input, options) {
1858
1929
  peg$silentFails--;
1859
1930
  if (s0 === peg$FAILED) {
1860
1931
  s1 = peg$FAILED;
1861
- if (peg$silentFails === 0) { peg$fail(peg$e18); }
1932
+ if (peg$silentFails === 0) { peg$fail(peg$e19); }
1862
1933
  }
1863
1934
 
1864
1935
  return s0;
@@ -1870,11 +1941,11 @@ function peg$parse(input, options) {
1870
1941
  s0 = peg$currPos;
1871
1942
  s1 = peg$parse__();
1872
1943
  if (input.charCodeAt(peg$currPos) === 91) {
1873
- s2 = peg$c5;
1944
+ s2 = peg$c6;
1874
1945
  peg$currPos++;
1875
1946
  } else {
1876
1947
  s2 = peg$FAILED;
1877
- if (peg$silentFails === 0) { peg$fail(peg$e9); }
1948
+ if (peg$silentFails === 0) { peg$fail(peg$e10); }
1878
1949
  }
1879
1950
  if (s2 !== peg$FAILED) {
1880
1951
  s3 = peg$parseexpression();
@@ -1882,7 +1953,7 @@ function peg$parse(input, options) {
1882
1953
  s4 = peg$parseexpectClosingBracket();
1883
1954
  if (s4 !== peg$FAILED) {
1884
1955
  peg$savedPos = s0;
1885
- s0 = peg$f17(s3);
1956
+ s0 = peg$f18(s3);
1886
1957
  } else {
1887
1958
  peg$currPos = s0;
1888
1959
  s0 = peg$FAILED;
@@ -1908,11 +1979,11 @@ function peg$parse(input, options) {
1908
1979
  s2 = peg$currPos;
1909
1980
  s3 = peg$parse__();
1910
1981
  if (input.charCodeAt(peg$currPos) === 63) {
1911
- s4 = peg$c13;
1982
+ s4 = peg$c14;
1912
1983
  peg$currPos++;
1913
1984
  } else {
1914
1985
  s4 = peg$FAILED;
1915
- if (peg$silentFails === 0) { peg$fail(peg$e19); }
1986
+ if (peg$silentFails === 0) { peg$fail(peg$e20); }
1916
1987
  }
1917
1988
  if (s4 !== peg$FAILED) {
1918
1989
  s5 = peg$parse__();
@@ -1920,11 +1991,11 @@ function peg$parse(input, options) {
1920
1991
  if (s6 !== peg$FAILED) {
1921
1992
  s7 = peg$parse__();
1922
1993
  if (input.charCodeAt(peg$currPos) === 58) {
1923
- s8 = peg$c4;
1994
+ s8 = peg$c5;
1924
1995
  peg$currPos++;
1925
1996
  } else {
1926
1997
  s8 = peg$FAILED;
1927
- if (peg$silentFails === 0) { peg$fail(peg$e6); }
1998
+ if (peg$silentFails === 0) { peg$fail(peg$e7); }
1928
1999
  }
1929
2000
  if (s8 !== peg$FAILED) {
1930
2001
  s9 = peg$parse__();
@@ -1951,7 +2022,7 @@ function peg$parse(input, options) {
1951
2022
  s2 = null;
1952
2023
  }
1953
2024
  peg$savedPos = s0;
1954
- s0 = peg$f18(s1, s2);
2025
+ s0 = peg$f19(s1, s2);
1955
2026
  } else {
1956
2027
  peg$currPos = s0;
1957
2028
  s0 = peg$FAILED;
@@ -1970,7 +2041,7 @@ function peg$parse(input, options) {
1970
2041
  peg$currPos++;
1971
2042
  } else {
1972
2043
  s2 = peg$FAILED;
1973
- if (peg$silentFails === 0) { peg$fail(peg$e20); }
2044
+ if (peg$silentFails === 0) { peg$fail(peg$e21); }
1974
2045
  }
1975
2046
  if (s2 !== peg$FAILED) {
1976
2047
  while (s2 !== peg$FAILED) {
@@ -1980,7 +2051,7 @@ function peg$parse(input, options) {
1980
2051
  peg$currPos++;
1981
2052
  } else {
1982
2053
  s2 = peg$FAILED;
1983
- if (peg$silentFails === 0) { peg$fail(peg$e20); }
2054
+ if (peg$silentFails === 0) { peg$fail(peg$e21); }
1984
2055
  }
1985
2056
  }
1986
2057
  } else {
@@ -2000,19 +2071,19 @@ function peg$parse(input, options) {
2000
2071
  var s0;
2001
2072
 
2002
2073
  if (input.charCodeAt(peg$currPos) === 8658) {
2003
- s0 = peg$c14;
2074
+ s0 = peg$c15;
2004
2075
  peg$currPos++;
2005
2076
  } else {
2006
2077
  s0 = peg$FAILED;
2007
- if (peg$silentFails === 0) { peg$fail(peg$e21); }
2078
+ if (peg$silentFails === 0) { peg$fail(peg$e22); }
2008
2079
  }
2009
2080
  if (s0 === peg$FAILED) {
2010
- if (input.substr(peg$currPos, 2) === peg$c15) {
2011
- s0 = peg$c15;
2081
+ if (input.substr(peg$currPos, 2) === peg$c16) {
2082
+ s0 = peg$c16;
2012
2083
  peg$currPos += 2;
2013
2084
  } else {
2014
2085
  s0 = peg$FAILED;
2015
- if (peg$silentFails === 0) { peg$fail(peg$e22); }
2086
+ if (peg$silentFails === 0) { peg$fail(peg$e23); }
2016
2087
  }
2017
2088
  }
2018
2089
 
@@ -2025,11 +2096,11 @@ function peg$parse(input, options) {
2025
2096
  peg$silentFails++;
2026
2097
  s0 = peg$currPos;
2027
2098
  if (input.charCodeAt(peg$currPos) === 34) {
2028
- s1 = peg$c16;
2099
+ s1 = peg$c17;
2029
2100
  peg$currPos++;
2030
2101
  } else {
2031
2102
  s1 = peg$FAILED;
2032
- if (peg$silentFails === 0) { peg$fail(peg$e24); }
2103
+ if (peg$silentFails === 0) { peg$fail(peg$e25); }
2033
2104
  }
2034
2105
  if (s1 !== peg$FAILED) {
2035
2106
  s2 = [];
@@ -2041,7 +2112,7 @@ function peg$parse(input, options) {
2041
2112
  s3 = peg$parseexpectDoubleQuote();
2042
2113
  if (s3 !== peg$FAILED) {
2043
2114
  peg$savedPos = s0;
2044
- s0 = peg$f19(s2);
2115
+ s0 = peg$f20(s2);
2045
2116
  } else {
2046
2117
  peg$currPos = s0;
2047
2118
  s0 = peg$FAILED;
@@ -2053,7 +2124,7 @@ function peg$parse(input, options) {
2053
2124
  peg$silentFails--;
2054
2125
  if (s0 === peg$FAILED) {
2055
2126
  s1 = peg$FAILED;
2056
- if (peg$silentFails === 0) { peg$fail(peg$e23); }
2127
+ if (peg$silentFails === 0) { peg$fail(peg$e24); }
2057
2128
  }
2058
2129
 
2059
2130
  return s0;
@@ -2066,11 +2137,11 @@ function peg$parse(input, options) {
2066
2137
  s1 = peg$currPos;
2067
2138
  peg$silentFails++;
2068
2139
  if (input.charCodeAt(peg$currPos) === 34) {
2069
- s2 = peg$c16;
2140
+ s2 = peg$c17;
2070
2141
  peg$currPos++;
2071
2142
  } else {
2072
2143
  s2 = peg$FAILED;
2073
- if (peg$silentFails === 0) { peg$fail(peg$e24); }
2144
+ if (peg$silentFails === 0) { peg$fail(peg$e25); }
2074
2145
  }
2075
2146
  if (s2 === peg$FAILED) {
2076
2147
  s2 = peg$parsenewLine();
@@ -2101,20 +2172,20 @@ function peg$parse(input, options) {
2101
2172
  function peg$parseellipsis() {
2102
2173
  var s0;
2103
2174
 
2104
- if (input.substr(peg$currPos, 3) === peg$c17) {
2105
- s0 = peg$c17;
2175
+ if (input.substr(peg$currPos, 3) === peg$c18) {
2176
+ s0 = peg$c18;
2106
2177
  peg$currPos += 3;
2107
2178
  } else {
2108
2179
  s0 = peg$FAILED;
2109
- if (peg$silentFails === 0) { peg$fail(peg$e25); }
2180
+ if (peg$silentFails === 0) { peg$fail(peg$e26); }
2110
2181
  }
2111
2182
  if (s0 === peg$FAILED) {
2112
2183
  if (input.charCodeAt(peg$currPos) === 8230) {
2113
- s0 = peg$c18;
2184
+ s0 = peg$c19;
2114
2185
  peg$currPos++;
2115
2186
  } else {
2116
2187
  s0 = peg$FAILED;
2117
- if (peg$silentFails === 0) { peg$fail(peg$e26); }
2188
+ if (peg$silentFails === 0) { peg$fail(peg$e27); }
2118
2189
  }
2119
2190
  }
2120
2191
 
@@ -2164,7 +2235,7 @@ function peg$parse(input, options) {
2164
2235
  }
2165
2236
  }
2166
2237
  peg$savedPos = s0;
2167
- s0 = peg$f20(s1, s2);
2238
+ s0 = peg$f21(s1, s2);
2168
2239
  } else {
2169
2240
  peg$currPos = s0;
2170
2241
  s0 = peg$FAILED;
@@ -2176,36 +2247,36 @@ function peg$parse(input, options) {
2176
2247
  function peg$parseequalityOperator() {
2177
2248
  var s0;
2178
2249
 
2179
- if (input.substr(peg$currPos, 3) === peg$c19) {
2180
- s0 = peg$c19;
2250
+ if (input.substr(peg$currPos, 3) === peg$c20) {
2251
+ s0 = peg$c20;
2181
2252
  peg$currPos += 3;
2182
2253
  } else {
2183
2254
  s0 = peg$FAILED;
2184
- if (peg$silentFails === 0) { peg$fail(peg$e27); }
2255
+ if (peg$silentFails === 0) { peg$fail(peg$e28); }
2185
2256
  }
2186
2257
  if (s0 === peg$FAILED) {
2187
- if (input.substr(peg$currPos, 3) === peg$c20) {
2188
- s0 = peg$c20;
2258
+ if (input.substr(peg$currPos, 3) === peg$c21) {
2259
+ s0 = peg$c21;
2189
2260
  peg$currPos += 3;
2190
2261
  } else {
2191
2262
  s0 = peg$FAILED;
2192
- if (peg$silentFails === 0) { peg$fail(peg$e28); }
2263
+ if (peg$silentFails === 0) { peg$fail(peg$e29); }
2193
2264
  }
2194
2265
  if (s0 === peg$FAILED) {
2195
- if (input.substr(peg$currPos, 2) === peg$c21) {
2196
- s0 = peg$c21;
2266
+ if (input.substr(peg$currPos, 2) === peg$c22) {
2267
+ s0 = peg$c22;
2197
2268
  peg$currPos += 2;
2198
2269
  } else {
2199
2270
  s0 = peg$FAILED;
2200
- if (peg$silentFails === 0) { peg$fail(peg$e29); }
2271
+ if (peg$silentFails === 0) { peg$fail(peg$e30); }
2201
2272
  }
2202
2273
  if (s0 === peg$FAILED) {
2203
- if (input.substr(peg$currPos, 2) === peg$c22) {
2204
- s0 = peg$c22;
2274
+ if (input.substr(peg$currPos, 2) === peg$c23) {
2275
+ s0 = peg$c23;
2205
2276
  peg$currPos += 2;
2206
2277
  } else {
2207
2278
  s0 = peg$FAILED;
2208
- if (peg$silentFails === 0) { peg$fail(peg$e30); }
2279
+ if (peg$silentFails === 0) { peg$fail(peg$e31); }
2209
2280
  }
2210
2281
  }
2211
2282
  }
@@ -2219,110 +2290,110 @@ function peg$parse(input, options) {
2219
2290
 
2220
2291
  peg$silentFails++;
2221
2292
  s0 = peg$currPos;
2222
- if (input.substr(peg$currPos, 2) === peg$c23) {
2223
- s1 = peg$c23;
2293
+ if (input.substr(peg$currPos, 2) === peg$c24) {
2294
+ s1 = peg$c24;
2224
2295
  peg$currPos += 2;
2225
2296
  } else {
2226
2297
  s1 = peg$FAILED;
2227
- if (peg$silentFails === 0) { peg$fail(peg$e32); }
2298
+ if (peg$silentFails === 0) { peg$fail(peg$e33); }
2228
2299
  }
2229
2300
  if (s1 !== peg$FAILED) {
2230
2301
  peg$savedPos = s0;
2231
- s1 = peg$f21();
2302
+ s1 = peg$f22();
2232
2303
  }
2233
2304
  s0 = s1;
2234
2305
  if (s0 === peg$FAILED) {
2235
2306
  s0 = peg$currPos;
2236
- if (input.substr(peg$currPos, 2) === peg$c24) {
2237
- s1 = peg$c24;
2307
+ if (input.substr(peg$currPos, 2) === peg$c25) {
2308
+ s1 = peg$c25;
2238
2309
  peg$currPos += 2;
2239
2310
  } else {
2240
2311
  s1 = peg$FAILED;
2241
- if (peg$silentFails === 0) { peg$fail(peg$e33); }
2312
+ if (peg$silentFails === 0) { peg$fail(peg$e34); }
2242
2313
  }
2243
2314
  if (s1 !== peg$FAILED) {
2244
2315
  peg$savedPos = s0;
2245
- s1 = peg$f22();
2316
+ s1 = peg$f23();
2246
2317
  }
2247
2318
  s0 = s1;
2248
2319
  if (s0 === peg$FAILED) {
2249
2320
  s0 = peg$currPos;
2250
- if (input.substr(peg$currPos, 2) === peg$c25) {
2251
- s1 = peg$c25;
2321
+ if (input.substr(peg$currPos, 2) === peg$c26) {
2322
+ s1 = peg$c26;
2252
2323
  peg$currPos += 2;
2253
2324
  } else {
2254
2325
  s1 = peg$FAILED;
2255
- if (peg$silentFails === 0) { peg$fail(peg$e34); }
2326
+ if (peg$silentFails === 0) { peg$fail(peg$e35); }
2256
2327
  }
2257
2328
  if (s1 !== peg$FAILED) {
2258
2329
  peg$savedPos = s0;
2259
- s1 = peg$f23();
2330
+ s1 = peg$f24();
2260
2331
  }
2261
2332
  s0 = s1;
2262
2333
  if (s0 === peg$FAILED) {
2263
2334
  s0 = peg$currPos;
2264
- if (input.substr(peg$currPos, 2) === peg$c26) {
2265
- s1 = peg$c26;
2335
+ if (input.substr(peg$currPos, 2) === peg$c27) {
2336
+ s1 = peg$c27;
2266
2337
  peg$currPos += 2;
2267
2338
  } else {
2268
2339
  s1 = peg$FAILED;
2269
- if (peg$silentFails === 0) { peg$fail(peg$e35); }
2340
+ if (peg$silentFails === 0) { peg$fail(peg$e36); }
2270
2341
  }
2271
2342
  if (s1 !== peg$FAILED) {
2272
2343
  peg$savedPos = s0;
2273
- s1 = peg$f24();
2344
+ s1 = peg$f25();
2274
2345
  }
2275
2346
  s0 = s1;
2276
2347
  if (s0 === peg$FAILED) {
2277
2348
  s0 = peg$currPos;
2278
- if (input.substr(peg$currPos, 2) === peg$c27) {
2279
- s1 = peg$c27;
2349
+ if (input.substr(peg$currPos, 2) === peg$c28) {
2350
+ s1 = peg$c28;
2280
2351
  peg$currPos += 2;
2281
2352
  } else {
2282
2353
  s1 = peg$FAILED;
2283
- if (peg$silentFails === 0) { peg$fail(peg$e36); }
2354
+ if (peg$silentFails === 0) { peg$fail(peg$e37); }
2284
2355
  }
2285
2356
  if (s1 !== peg$FAILED) {
2286
2357
  peg$savedPos = s0;
2287
- s1 = peg$f25();
2358
+ s1 = peg$f26();
2288
2359
  }
2289
2360
  s0 = s1;
2290
2361
  if (s0 === peg$FAILED) {
2291
2362
  s0 = peg$currPos;
2292
- if (input.substr(peg$currPos, 2) === peg$c28) {
2293
- s1 = peg$c28;
2363
+ if (input.substr(peg$currPos, 2) === peg$c29) {
2364
+ s1 = peg$c29;
2294
2365
  peg$currPos += 2;
2295
2366
  } else {
2296
2367
  s1 = peg$FAILED;
2297
- if (peg$silentFails === 0) { peg$fail(peg$e37); }
2368
+ if (peg$silentFails === 0) { peg$fail(peg$e38); }
2298
2369
  }
2299
2370
  if (s1 !== peg$FAILED) {
2300
2371
  peg$savedPos = s0;
2301
- s1 = peg$f26();
2372
+ s1 = peg$f27();
2302
2373
  }
2303
2374
  s0 = s1;
2304
2375
  if (s0 === peg$FAILED) {
2305
2376
  s0 = peg$currPos;
2306
- if (input.substr(peg$currPos, 2) === peg$c29) {
2307
- s1 = peg$c29;
2377
+ if (input.substr(peg$currPos, 2) === peg$c30) {
2378
+ s1 = peg$c30;
2308
2379
  peg$currPos += 2;
2309
2380
  } else {
2310
2381
  s1 = peg$FAILED;
2311
- if (peg$silentFails === 0) { peg$fail(peg$e38); }
2382
+ if (peg$silentFails === 0) { peg$fail(peg$e39); }
2312
2383
  }
2313
2384
  if (s1 !== peg$FAILED) {
2314
2385
  peg$savedPos = s0;
2315
- s1 = peg$f27();
2386
+ s1 = peg$f28();
2316
2387
  }
2317
2388
  s0 = s1;
2318
2389
  if (s0 === peg$FAILED) {
2319
2390
  s0 = peg$currPos;
2320
2391
  if (input.charCodeAt(peg$currPos) === 92) {
2321
- s1 = peg$c30;
2392
+ s1 = peg$c31;
2322
2393
  peg$currPos++;
2323
2394
  } else {
2324
2395
  s1 = peg$FAILED;
2325
- if (peg$silentFails === 0) { peg$fail(peg$e39); }
2396
+ if (peg$silentFails === 0) { peg$fail(peg$e40); }
2326
2397
  }
2327
2398
  if (s1 !== peg$FAILED) {
2328
2399
  if (input.length > peg$currPos) {
@@ -2330,7 +2401,7 @@ function peg$parse(input, options) {
2330
2401
  peg$currPos++;
2331
2402
  } else {
2332
2403
  s2 = peg$FAILED;
2333
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
2404
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
2334
2405
  }
2335
2406
  if (s2 !== peg$FAILED) {
2336
2407
  s0 = s2;
@@ -2352,7 +2423,7 @@ function peg$parse(input, options) {
2352
2423
  peg$silentFails--;
2353
2424
  if (s0 === peg$FAILED) {
2354
2425
  s1 = peg$FAILED;
2355
- if (peg$silentFails === 0) { peg$fail(peg$e31); }
2426
+ if (peg$silentFails === 0) { peg$fail(peg$e32); }
2356
2427
  }
2357
2428
 
2358
2429
  return s0;
@@ -2362,11 +2433,11 @@ function peg$parse(input, options) {
2362
2433
  var s0, s1;
2363
2434
 
2364
2435
  if (input.charCodeAt(peg$currPos) === 96) {
2365
- s0 = peg$c31;
2436
+ s0 = peg$c32;
2366
2437
  peg$currPos++;
2367
2438
  } else {
2368
2439
  s0 = peg$FAILED;
2369
- if (peg$silentFails === 0) { peg$fail(peg$e41); }
2440
+ if (peg$silentFails === 0) { peg$fail(peg$e42); }
2370
2441
  }
2371
2442
  if (s0 === peg$FAILED) {
2372
2443
  s0 = peg$currPos;
@@ -2375,13 +2446,13 @@ function peg$parse(input, options) {
2375
2446
  peg$currPos++;
2376
2447
  } else {
2377
2448
  s1 = peg$FAILED;
2378
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
2449
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
2379
2450
  }
2380
2451
  if (s1 === peg$FAILED) {
2381
2452
  s1 = null;
2382
2453
  }
2383
2454
  peg$savedPos = s0;
2384
- s1 = peg$f28();
2455
+ s1 = peg$f29();
2385
2456
  s0 = s1;
2386
2457
  }
2387
2458
 
@@ -2392,11 +2463,11 @@ function peg$parse(input, options) {
2392
2463
  var s0, s1;
2393
2464
 
2394
2465
  if (input.charCodeAt(peg$currPos) === 125) {
2395
- s0 = peg$c32;
2466
+ s0 = peg$c33;
2396
2467
  peg$currPos++;
2397
2468
  } else {
2398
2469
  s0 = peg$FAILED;
2399
- if (peg$silentFails === 0) { peg$fail(peg$e42); }
2470
+ if (peg$silentFails === 0) { peg$fail(peg$e43); }
2400
2471
  }
2401
2472
  if (s0 === peg$FAILED) {
2402
2473
  s0 = peg$currPos;
@@ -2405,13 +2476,13 @@ function peg$parse(input, options) {
2405
2476
  peg$currPos++;
2406
2477
  } else {
2407
2478
  s1 = peg$FAILED;
2408
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
2479
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
2409
2480
  }
2410
2481
  if (s1 === peg$FAILED) {
2411
2482
  s1 = null;
2412
2483
  }
2413
2484
  peg$savedPos = s0;
2414
- s1 = peg$f29();
2485
+ s1 = peg$f30();
2415
2486
  s0 = s1;
2416
2487
  }
2417
2488
 
@@ -2422,11 +2493,11 @@ function peg$parse(input, options) {
2422
2493
  var s0, s1;
2423
2494
 
2424
2495
  if (input.charCodeAt(peg$currPos) === 93) {
2425
- s0 = peg$c6;
2496
+ s0 = peg$c7;
2426
2497
  peg$currPos++;
2427
2498
  } else {
2428
2499
  s0 = peg$FAILED;
2429
- if (peg$silentFails === 0) { peg$fail(peg$e10); }
2500
+ if (peg$silentFails === 0) { peg$fail(peg$e11); }
2430
2501
  }
2431
2502
  if (s0 === peg$FAILED) {
2432
2503
  s0 = peg$currPos;
@@ -2435,13 +2506,13 @@ function peg$parse(input, options) {
2435
2506
  peg$currPos++;
2436
2507
  } else {
2437
2508
  s1 = peg$FAILED;
2438
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
2509
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
2439
2510
  }
2440
2511
  if (s1 === peg$FAILED) {
2441
2512
  s1 = null;
2442
2513
  }
2443
2514
  peg$savedPos = s0;
2444
- s1 = peg$f30();
2515
+ s1 = peg$f31();
2445
2516
  s0 = s1;
2446
2517
  }
2447
2518
 
@@ -2452,11 +2523,11 @@ function peg$parse(input, options) {
2452
2523
  var s0, s1;
2453
2524
 
2454
2525
  if (input.charCodeAt(peg$currPos) === 41) {
2455
- s0 = peg$c8;
2526
+ s0 = peg$c9;
2456
2527
  peg$currPos++;
2457
2528
  } else {
2458
2529
  s0 = peg$FAILED;
2459
- if (peg$silentFails === 0) { peg$fail(peg$e12); }
2530
+ if (peg$silentFails === 0) { peg$fail(peg$e13); }
2460
2531
  }
2461
2532
  if (s0 === peg$FAILED) {
2462
2533
  s0 = peg$currPos;
@@ -2465,13 +2536,13 @@ function peg$parse(input, options) {
2465
2536
  peg$currPos++;
2466
2537
  } else {
2467
2538
  s1 = peg$FAILED;
2468
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
2539
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
2469
2540
  }
2470
2541
  if (s1 === peg$FAILED) {
2471
2542
  s1 = null;
2472
2543
  }
2473
2544
  peg$savedPos = s0;
2474
- s1 = peg$f31();
2545
+ s1 = peg$f32();
2475
2546
  s0 = s1;
2476
2547
  }
2477
2548
 
@@ -2482,11 +2553,11 @@ function peg$parse(input, options) {
2482
2553
  var s0, s1;
2483
2554
 
2484
2555
  if (input.charCodeAt(peg$currPos) === 34) {
2485
- s0 = peg$c16;
2556
+ s0 = peg$c17;
2486
2557
  peg$currPos++;
2487
2558
  } else {
2488
2559
  s0 = peg$FAILED;
2489
- if (peg$silentFails === 0) { peg$fail(peg$e24); }
2560
+ if (peg$silentFails === 0) { peg$fail(peg$e25); }
2490
2561
  }
2491
2562
  if (s0 === peg$FAILED) {
2492
2563
  s0 = peg$currPos;
@@ -2495,13 +2566,13 @@ function peg$parse(input, options) {
2495
2566
  peg$currPos++;
2496
2567
  } else {
2497
2568
  s1 = peg$FAILED;
2498
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
2569
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
2499
2570
  }
2500
2571
  if (s1 === peg$FAILED) {
2501
2572
  s1 = null;
2502
2573
  }
2503
2574
  peg$savedPos = s0;
2504
- s1 = peg$f32();
2575
+ s1 = peg$f33();
2505
2576
  s0 = s1;
2506
2577
  }
2507
2578
 
@@ -2519,13 +2590,13 @@ function peg$parse(input, options) {
2519
2590
  peg$currPos++;
2520
2591
  } else {
2521
2592
  s1 = peg$FAILED;
2522
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
2593
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
2523
2594
  }
2524
2595
  if (s1 === peg$FAILED) {
2525
2596
  s1 = null;
2526
2597
  }
2527
2598
  peg$savedPos = s0;
2528
- s1 = peg$f33();
2599
+ s1 = peg$f34();
2529
2600
  s0 = s1;
2530
2601
  }
2531
2602
 
@@ -2543,13 +2614,13 @@ function peg$parse(input, options) {
2543
2614
  peg$currPos++;
2544
2615
  } else {
2545
2616
  s1 = peg$FAILED;
2546
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
2617
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
2547
2618
  }
2548
2619
  if (s1 === peg$FAILED) {
2549
2620
  s1 = null;
2550
2621
  }
2551
2622
  peg$savedPos = s0;
2552
- s1 = peg$f34();
2623
+ s1 = peg$f35();
2553
2624
  s0 = s1;
2554
2625
  }
2555
2626
 
@@ -2560,11 +2631,11 @@ function peg$parse(input, options) {
2560
2631
  var s0, s1;
2561
2632
 
2562
2633
  if (input.charCodeAt(peg$currPos) === 187) {
2563
- s0 = peg$c33;
2634
+ s0 = peg$c34;
2564
2635
  peg$currPos++;
2565
2636
  } else {
2566
2637
  s0 = peg$FAILED;
2567
- if (peg$silentFails === 0) { peg$fail(peg$e43); }
2638
+ if (peg$silentFails === 0) { peg$fail(peg$e44); }
2568
2639
  }
2569
2640
  if (s0 === peg$FAILED) {
2570
2641
  s0 = peg$currPos;
@@ -2573,13 +2644,13 @@ function peg$parse(input, options) {
2573
2644
  peg$currPos++;
2574
2645
  } else {
2575
2646
  s1 = peg$FAILED;
2576
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
2647
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
2577
2648
  }
2578
2649
  if (s1 === peg$FAILED) {
2579
2650
  s1 = null;
2580
2651
  }
2581
2652
  peg$savedPos = s0;
2582
- s1 = peg$f35();
2653
+ s1 = peg$f36();
2583
2654
  s0 = s1;
2584
2655
  }
2585
2656
 
@@ -2590,11 +2661,11 @@ function peg$parse(input, options) {
2590
2661
  var s0, s1;
2591
2662
 
2592
2663
  if (input.charCodeAt(peg$currPos) === 39) {
2593
- s0 = peg$c34;
2664
+ s0 = peg$c35;
2594
2665
  peg$currPos++;
2595
2666
  } else {
2596
2667
  s0 = peg$FAILED;
2597
- if (peg$silentFails === 0) { peg$fail(peg$e44); }
2668
+ if (peg$silentFails === 0) { peg$fail(peg$e45); }
2598
2669
  }
2599
2670
  if (s0 === peg$FAILED) {
2600
2671
  s0 = peg$currPos;
@@ -2603,13 +2674,13 @@ function peg$parse(input, options) {
2603
2674
  peg$currPos++;
2604
2675
  } else {
2605
2676
  s1 = peg$FAILED;
2606
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
2677
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
2607
2678
  }
2608
2679
  if (s1 === peg$FAILED) {
2609
2680
  s1 = null;
2610
2681
  }
2611
2682
  peg$savedPos = s0;
2612
- s1 = peg$f36();
2683
+ s1 = peg$f37();
2613
2684
  s0 = s1;
2614
2685
  }
2615
2686
 
@@ -2627,13 +2698,13 @@ function peg$parse(input, options) {
2627
2698
  peg$currPos++;
2628
2699
  } else {
2629
2700
  s1 = peg$FAILED;
2630
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
2701
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
2631
2702
  }
2632
2703
  if (s1 === peg$FAILED) {
2633
2704
  s1 = null;
2634
2705
  }
2635
2706
  peg$savedPos = s0;
2636
- s1 = peg$f37();
2707
+ s1 = peg$f38();
2637
2708
  s0 = s1;
2638
2709
  }
2639
2710
 
@@ -2648,12 +2719,12 @@ function peg$parse(input, options) {
2648
2719
  if (s1 !== peg$FAILED) {
2649
2720
  s2 = peg$currPos;
2650
2721
  s3 = peg$parse__();
2651
- if (input.substr(peg$currPos, 2) === peg$c35) {
2652
- s4 = peg$c35;
2722
+ if (input.substr(peg$currPos, 2) === peg$c36) {
2723
+ s4 = peg$c36;
2653
2724
  peg$currPos += 2;
2654
2725
  } else {
2655
2726
  s4 = peg$FAILED;
2656
- if (peg$silentFails === 0) { peg$fail(peg$e45); }
2727
+ if (peg$silentFails === 0) { peg$fail(peg$e46); }
2657
2728
  }
2658
2729
  if (s4 !== peg$FAILED) {
2659
2730
  s5 = peg$parse__();
@@ -2672,7 +2743,7 @@ function peg$parse(input, options) {
2672
2743
  s2 = null;
2673
2744
  }
2674
2745
  peg$savedPos = s0;
2675
- s0 = peg$f38(s1, s2);
2746
+ s0 = peg$f39(s1, s2);
2676
2747
  } else {
2677
2748
  peg$currPos = s0;
2678
2749
  s0 = peg$FAILED;
@@ -2708,17 +2779,17 @@ function peg$parse(input, options) {
2708
2779
  s1 = null;
2709
2780
  }
2710
2781
  if (input.charCodeAt(peg$currPos) === 46) {
2711
- s2 = peg$c36;
2782
+ s2 = peg$c37;
2712
2783
  peg$currPos++;
2713
2784
  } else {
2714
2785
  s2 = peg$FAILED;
2715
- if (peg$silentFails === 0) { peg$fail(peg$e47); }
2786
+ if (peg$silentFails === 0) { peg$fail(peg$e48); }
2716
2787
  }
2717
2788
  if (s2 !== peg$FAILED) {
2718
2789
  s3 = peg$parsedigits();
2719
2790
  if (s3 !== peg$FAILED) {
2720
2791
  peg$savedPos = s0;
2721
- s0 = peg$f39();
2792
+ s0 = peg$f40();
2722
2793
  } else {
2723
2794
  peg$currPos = s0;
2724
2795
  s0 = peg$FAILED;
@@ -2730,7 +2801,7 @@ function peg$parse(input, options) {
2730
2801
  peg$silentFails--;
2731
2802
  if (s0 === peg$FAILED) {
2732
2803
  s1 = peg$FAILED;
2733
- if (peg$silentFails === 0) { peg$fail(peg$e46); }
2804
+ if (peg$silentFails === 0) { peg$fail(peg$e47); }
2734
2805
  }
2735
2806
 
2736
2807
  return s0;
@@ -2739,12 +2810,12 @@ function peg$parse(input, options) {
2739
2810
  function peg$parsefrontDelimiter() {
2740
2811
  var s0;
2741
2812
 
2742
- if (input.substr(peg$currPos, 4) === peg$c37) {
2743
- s0 = peg$c37;
2813
+ if (input.substr(peg$currPos, 4) === peg$c38) {
2814
+ s0 = peg$c38;
2744
2815
  peg$currPos += 4;
2745
2816
  } else {
2746
2817
  s0 = peg$FAILED;
2747
- if (peg$silentFails === 0) { peg$fail(peg$e48); }
2818
+ if (peg$silentFails === 0) { peg$fail(peg$e49); }
2748
2819
  }
2749
2820
 
2750
2821
  return s0;
@@ -2757,7 +2828,7 @@ function peg$parse(input, options) {
2757
2828
  s1 = peg$parsefrontDelimiter();
2758
2829
  if (s1 !== peg$FAILED) {
2759
2830
  peg$savedPos = peg$currPos;
2760
- s2 = peg$f40();
2831
+ s2 = peg$f41();
2761
2832
  if (s2) {
2762
2833
  s2 = undefined;
2763
2834
  } else {
@@ -2811,7 +2882,7 @@ function peg$parse(input, options) {
2811
2882
  peg$currPos++;
2812
2883
  } else {
2813
2884
  s4 = peg$FAILED;
2814
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
2885
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
2815
2886
  }
2816
2887
  if (s4 !== peg$FAILED) {
2817
2888
  s2 = s4;
@@ -2842,7 +2913,7 @@ function peg$parse(input, options) {
2842
2913
  peg$currPos++;
2843
2914
  } else {
2844
2915
  s4 = peg$FAILED;
2845
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
2916
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
2846
2917
  }
2847
2918
  if (s4 !== peg$FAILED) {
2848
2919
  s2 = s4;
@@ -2856,7 +2927,7 @@ function peg$parse(input, options) {
2856
2927
  }
2857
2928
  }
2858
2929
  peg$savedPos = s0;
2859
- s1 = peg$f41(s1);
2930
+ s1 = peg$f42(s1);
2860
2931
  s0 = s1;
2861
2932
 
2862
2933
  return s0;
@@ -2873,7 +2944,7 @@ function peg$parse(input, options) {
2873
2944
  s3 = peg$parsefrontDelimiter();
2874
2945
  if (s3 !== peg$FAILED) {
2875
2946
  peg$savedPos = s0;
2876
- s0 = peg$f42(s2);
2947
+ s0 = peg$f43(s2);
2877
2948
  } else {
2878
2949
  peg$currPos = s0;
2879
2950
  s0 = peg$FAILED;
@@ -2885,7 +2956,7 @@ function peg$parse(input, options) {
2885
2956
  peg$silentFails--;
2886
2957
  if (s0 === peg$FAILED) {
2887
2958
  s1 = peg$FAILED;
2888
- if (peg$silentFails === 0) { peg$fail(peg$e49); }
2959
+ if (peg$silentFails === 0) { peg$fail(peg$e50); }
2889
2960
  }
2890
2961
 
2891
2962
  return s0;
@@ -2897,11 +2968,11 @@ function peg$parse(input, options) {
2897
2968
  peg$silentFails++;
2898
2969
  s0 = peg$currPos;
2899
2970
  if (input.charCodeAt(peg$currPos) === 40) {
2900
- s1 = peg$c7;
2971
+ s1 = peg$c8;
2901
2972
  peg$currPos++;
2902
2973
  } else {
2903
2974
  s1 = peg$FAILED;
2904
- if (peg$silentFails === 0) { peg$fail(peg$e11); }
2975
+ if (peg$silentFails === 0) { peg$fail(peg$e12); }
2905
2976
  }
2906
2977
  if (s1 !== peg$FAILED) {
2907
2978
  s2 = peg$parseexpression();
@@ -2909,7 +2980,7 @@ function peg$parse(input, options) {
2909
2980
  s3 = peg$parseexpectClosingParenthesis();
2910
2981
  if (s3 !== peg$FAILED) {
2911
2982
  peg$savedPos = s0;
2912
- s0 = peg$f43(s2);
2983
+ s0 = peg$f44(s2);
2913
2984
  } else {
2914
2985
  peg$currPos = s0;
2915
2986
  s0 = peg$FAILED;
@@ -2925,7 +2996,7 @@ function peg$parse(input, options) {
2925
2996
  peg$silentFails--;
2926
2997
  if (s0 === peg$FAILED) {
2927
2998
  s1 = peg$FAILED;
2928
- if (peg$silentFails === 0) { peg$fail(peg$e50); }
2999
+ if (peg$silentFails === 0) { peg$fail(peg$e51); }
2929
3000
  }
2930
3001
 
2931
3002
  return s0;
@@ -2937,11 +3008,11 @@ function peg$parse(input, options) {
2937
3008
  peg$silentFails++;
2938
3009
  s0 = peg$currPos;
2939
3010
  if (input.charCodeAt(peg$currPos) === 171) {
2940
- s1 = peg$c38;
3011
+ s1 = peg$c39;
2941
3012
  peg$currPos++;
2942
3013
  } else {
2943
3014
  s1 = peg$FAILED;
2944
- if (peg$silentFails === 0) { peg$fail(peg$e52); }
3015
+ if (peg$silentFails === 0) { peg$fail(peg$e53); }
2945
3016
  }
2946
3017
  if (s1 !== peg$FAILED) {
2947
3018
  s2 = [];
@@ -2953,7 +3024,7 @@ function peg$parse(input, options) {
2953
3024
  s3 = peg$parseexpectGuillemet();
2954
3025
  if (s3 !== peg$FAILED) {
2955
3026
  peg$savedPos = s0;
2956
- s0 = peg$f44(s2);
3027
+ s0 = peg$f45(s2);
2957
3028
  } else {
2958
3029
  peg$currPos = s0;
2959
3030
  s0 = peg$FAILED;
@@ -2965,7 +3036,7 @@ function peg$parse(input, options) {
2965
3036
  peg$silentFails--;
2966
3037
  if (s0 === peg$FAILED) {
2967
3038
  s1 = peg$FAILED;
2968
- if (peg$silentFails === 0) { peg$fail(peg$e51); }
3039
+ if (peg$silentFails === 0) { peg$fail(peg$e52); }
2969
3040
  }
2970
3041
 
2971
3042
  return s0;
@@ -2978,11 +3049,11 @@ function peg$parse(input, options) {
2978
3049
  s1 = peg$currPos;
2979
3050
  peg$silentFails++;
2980
3051
  if (input.charCodeAt(peg$currPos) === 187) {
2981
- s2 = peg$c33;
3052
+ s2 = peg$c34;
2982
3053
  peg$currPos++;
2983
3054
  } else {
2984
3055
  s2 = peg$FAILED;
2985
- if (peg$silentFails === 0) { peg$fail(peg$e43); }
3056
+ if (peg$silentFails === 0) { peg$fail(peg$e44); }
2986
3057
  }
2987
3058
  if (s2 === peg$FAILED) {
2988
3059
  s2 = peg$parsenewLine();
@@ -3015,15 +3086,15 @@ function peg$parse(input, options) {
3015
3086
 
3016
3087
  s0 = peg$currPos;
3017
3088
  if (input.charCodeAt(peg$currPos) === 126) {
3018
- s1 = peg$c39;
3089
+ s1 = peg$c4;
3019
3090
  peg$currPos++;
3020
3091
  } else {
3021
3092
  s1 = peg$FAILED;
3022
- if (peg$silentFails === 0) { peg$fail(peg$e53); }
3093
+ if (peg$silentFails === 0) { peg$fail(peg$e5); }
3023
3094
  }
3024
3095
  if (s1 !== peg$FAILED) {
3025
3096
  peg$savedPos = s0;
3026
- s1 = peg$f45();
3097
+ s1 = peg$f46();
3027
3098
  }
3028
3099
  s0 = s1;
3029
3100
 
@@ -3039,11 +3110,11 @@ function peg$parse(input, options) {
3039
3110
  if (s1 !== peg$FAILED) {
3040
3111
  s2 = peg$currPos;
3041
3112
  if (input.charCodeAt(peg$currPos) === 58) {
3042
- s3 = peg$c4;
3113
+ s3 = peg$c5;
3043
3114
  peg$currPos++;
3044
3115
  } else {
3045
3116
  s3 = peg$FAILED;
3046
- if (peg$silentFails === 0) { peg$fail(peg$e6); }
3117
+ if (peg$silentFails === 0) { peg$fail(peg$e7); }
3047
3118
  }
3048
3119
  if (s3 !== peg$FAILED) {
3049
3120
  s4 = peg$parseintegerLiteral();
@@ -3065,7 +3136,7 @@ function peg$parse(input, options) {
3065
3136
  s3 = null;
3066
3137
  }
3067
3138
  peg$savedPos = s0;
3068
- s0 = peg$f46(s1, s2, s3);
3139
+ s0 = peg$f47(s1, s2, s3);
3069
3140
  } else {
3070
3141
  peg$currPos = s0;
3071
3142
  s0 = peg$FAILED;
@@ -3096,7 +3167,7 @@ function peg$parse(input, options) {
3096
3167
  }
3097
3168
  if (s1 !== peg$FAILED) {
3098
3169
  peg$savedPos = s0;
3099
- s1 = peg$f47(s1);
3170
+ s1 = peg$f48(s1);
3100
3171
  }
3101
3172
  s0 = s1;
3102
3173
  peg$silentFails--;
@@ -3196,7 +3267,7 @@ function peg$parse(input, options) {
3196
3267
  s2 = null;
3197
3268
  }
3198
3269
  peg$savedPos = s0;
3199
- s0 = peg$f48(s1, s2);
3270
+ s0 = peg$f49(s1, s2);
3200
3271
  } else {
3201
3272
  peg$currPos = s0;
3202
3273
  s0 = peg$FAILED;
@@ -3247,7 +3318,7 @@ function peg$parse(input, options) {
3247
3318
  s3 = null;
3248
3319
  }
3249
3320
  peg$savedPos = s0;
3250
- s0 = peg$f49(s2);
3321
+ s0 = peg$f50(s2);
3251
3322
  } else {
3252
3323
  peg$currPos = s0;
3253
3324
  s0 = peg$FAILED;
@@ -3282,7 +3353,7 @@ function peg$parse(input, options) {
3282
3353
  s1 = peg$parsedigits();
3283
3354
  if (s1 !== peg$FAILED) {
3284
3355
  peg$savedPos = s0;
3285
- s1 = peg$f50();
3356
+ s1 = peg$f51();
3286
3357
  }
3287
3358
  s0 = s1;
3288
3359
  peg$silentFails--;
@@ -3298,7 +3369,7 @@ function peg$parse(input, options) {
3298
3369
  var s0;
3299
3370
 
3300
3371
  peg$savedPos = peg$currPos;
3301
- s0 = peg$f51();
3372
+ s0 = peg$f52();
3302
3373
  if (s0) {
3303
3374
  s0 = undefined;
3304
3375
  } else {
@@ -3309,29 +3380,35 @@ function peg$parse(input, options) {
3309
3380
  }
3310
3381
 
3311
3382
  function peg$parsejsIdentifier() {
3312
- var s0, s1, s2, s3, s4;
3383
+ var s0, s1, s2, s3, s4, s5;
3313
3384
 
3314
3385
  s0 = peg$currPos;
3315
3386
  s1 = peg$currPos;
3316
- s2 = peg$parsejsIdentifierStart();
3317
- if (s2 !== peg$FAILED) {
3318
- s3 = [];
3319
- s4 = peg$parsejsIdentifierPart();
3320
- while (s4 !== peg$FAILED) {
3321
- s3.push(s4);
3322
- s4 = peg$parsejsIdentifierPart();
3387
+ s2 = peg$currPos;
3388
+ s3 = peg$parsejsIdentifierStart();
3389
+ if (s3 !== peg$FAILED) {
3390
+ s4 = [];
3391
+ s5 = peg$parsejsIdentifierPart();
3392
+ while (s5 !== peg$FAILED) {
3393
+ s4.push(s5);
3394
+ s5 = peg$parsejsIdentifierPart();
3323
3395
  }
3324
- s2 = [s2, s3];
3325
- s1 = s2;
3396
+ s3 = [s3, s4];
3397
+ s2 = s3;
3326
3398
  } else {
3327
- peg$currPos = s1;
3328
- s1 = peg$FAILED;
3399
+ peg$currPos = s2;
3400
+ s2 = peg$FAILED;
3329
3401
  }
3330
- if (s1 !== peg$FAILED) {
3331
- s0 = input.substring(s0, peg$currPos);
3402
+ if (s2 !== peg$FAILED) {
3403
+ s1 = input.substring(s1, peg$currPos);
3332
3404
  } else {
3333
- s0 = s1;
3405
+ s1 = s2;
3406
+ }
3407
+ if (s1 !== peg$FAILED) {
3408
+ peg$savedPos = s0;
3409
+ s1 = peg$f53(s1);
3334
3410
  }
3411
+ s0 = s1;
3335
3412
 
3336
3413
  return s0;
3337
3414
  }
@@ -3346,11 +3423,11 @@ function peg$parse(input, options) {
3346
3423
  peg$currPos++;
3347
3424
  } else {
3348
3425
  s1 = peg$FAILED;
3349
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
3426
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
3350
3427
  }
3351
3428
  if (s1 !== peg$FAILED) {
3352
3429
  peg$savedPos = peg$currPos;
3353
- s2 = peg$f52(s1);
3430
+ s2 = peg$f54(s1);
3354
3431
  if (s2) {
3355
3432
  s2 = undefined;
3356
3433
  } else {
@@ -3386,11 +3463,11 @@ function peg$parse(input, options) {
3386
3463
  peg$currPos++;
3387
3464
  } else {
3388
3465
  s1 = peg$FAILED;
3389
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
3466
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
3390
3467
  }
3391
3468
  if (s1 !== peg$FAILED) {
3392
3469
  peg$savedPos = peg$currPos;
3393
- s2 = peg$f53(s1);
3470
+ s2 = peg$f55(s1);
3394
3471
  if (s2) {
3395
3472
  s2 = undefined;
3396
3473
  } else {
@@ -3422,18 +3499,18 @@ function peg$parse(input, options) {
3422
3499
  s0 = peg$currPos;
3423
3500
  s1 = peg$parse__();
3424
3501
  if (input.charCodeAt(peg$currPos) === 46) {
3425
- s2 = peg$c36;
3502
+ s2 = peg$c37;
3426
3503
  peg$currPos++;
3427
3504
  } else {
3428
3505
  s2 = peg$FAILED;
3429
- if (peg$silentFails === 0) { peg$fail(peg$e47); }
3506
+ if (peg$silentFails === 0) { peg$fail(peg$e48); }
3430
3507
  }
3431
3508
  if (s2 !== peg$FAILED) {
3432
3509
  s3 = peg$parse__();
3433
3510
  s4 = peg$parsejsIdentifier();
3434
3511
  if (s4 !== peg$FAILED) {
3435
3512
  peg$savedPos = s0;
3436
- s0 = peg$f54(s4);
3513
+ s0 = peg$f56(s4);
3437
3514
  } else {
3438
3515
  peg$currPos = s0;
3439
3516
  s0 = peg$FAILED;
@@ -3454,7 +3531,7 @@ function peg$parse(input, options) {
3454
3531
  s1 = peg$parsejsIdentifier();
3455
3532
  if (s1 !== peg$FAILED) {
3456
3533
  peg$savedPos = s0;
3457
- s1 = peg$f55(s1);
3534
+ s1 = peg$f57(s1);
3458
3535
  }
3459
3536
  s0 = s1;
3460
3537
  peg$silentFails--;
@@ -3502,7 +3579,7 @@ function peg$parse(input, options) {
3502
3579
  s2 = null;
3503
3580
  }
3504
3581
  peg$savedPos = s0;
3505
- s0 = peg$f56(s1);
3582
+ s0 = peg$f58(s1);
3506
3583
  } else {
3507
3584
  peg$currPos = s0;
3508
3585
  s0 = peg$FAILED;
@@ -3571,7 +3648,7 @@ function peg$parse(input, options) {
3571
3648
  }
3572
3649
  }
3573
3650
  peg$savedPos = s0;
3574
- s0 = peg$f57(s1, s2);
3651
+ s0 = peg$f59(s1, s2);
3575
3652
  } else {
3576
3653
  peg$currPos = s0;
3577
3654
  s0 = peg$FAILED;
@@ -3635,7 +3712,7 @@ function peg$parse(input, options) {
3635
3712
  }
3636
3713
  }
3637
3714
  peg$savedPos = s0;
3638
- s0 = peg$f58(s1, s2);
3715
+ s0 = peg$f60(s1, s2);
3639
3716
  } else {
3640
3717
  peg$currPos = s0;
3641
3718
  s0 = peg$FAILED;
@@ -3680,7 +3757,7 @@ function peg$parse(input, options) {
3680
3757
  peg$currPos++;
3681
3758
  } else {
3682
3759
  s5 = peg$FAILED;
3683
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
3760
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
3684
3761
  }
3685
3762
  if (s5 !== peg$FAILED) {
3686
3763
  s4 = [s4, s5];
@@ -3718,7 +3795,7 @@ function peg$parse(input, options) {
3718
3795
  peg$currPos++;
3719
3796
  } else {
3720
3797
  s5 = peg$FAILED;
3721
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
3798
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
3722
3799
  }
3723
3800
  if (s5 !== peg$FAILED) {
3724
3801
  s4 = [s4, s5];
@@ -3741,7 +3818,7 @@ function peg$parse(input, options) {
3741
3818
  }
3742
3819
  if (s3 !== peg$FAILED) {
3743
3820
  peg$savedPos = s0;
3744
- s0 = peg$f59();
3821
+ s0 = peg$f61();
3745
3822
  } else {
3746
3823
  peg$currPos = s0;
3747
3824
  s0 = peg$FAILED;
@@ -3817,7 +3894,7 @@ function peg$parse(input, options) {
3817
3894
  }
3818
3895
  }
3819
3896
  peg$savedPos = s0;
3820
- s0 = peg$f60(s1, s2);
3897
+ s0 = peg$f62(s1, s2);
3821
3898
  } else {
3822
3899
  peg$currPos = s0;
3823
3900
  s0 = peg$FAILED;
@@ -3868,15 +3945,15 @@ function peg$parse(input, options) {
3868
3945
  }
3869
3946
  if (s1 !== peg$FAILED) {
3870
3947
  if (input.charCodeAt(peg$currPos) === 58) {
3871
- s2 = peg$c4;
3948
+ s2 = peg$c5;
3872
3949
  peg$currPos++;
3873
3950
  } else {
3874
3951
  s2 = peg$FAILED;
3875
- if (peg$silentFails === 0) { peg$fail(peg$e6); }
3952
+ if (peg$silentFails === 0) { peg$fail(peg$e7); }
3876
3953
  }
3877
3954
  if (s2 !== peg$FAILED) {
3878
3955
  peg$savedPos = s0;
3879
- s0 = peg$f61(s1);
3956
+ s0 = peg$f63(s1);
3880
3957
  } else {
3881
3958
  peg$currPos = s0;
3882
3959
  s0 = peg$FAILED;
@@ -3907,7 +3984,7 @@ function peg$parse(input, options) {
3907
3984
  s4 = peg$parseparenthesesArguments();
3908
3985
  if (s4 !== peg$FAILED) {
3909
3986
  peg$savedPos = s0;
3910
- s0 = peg$f62(s3, s4);
3987
+ s0 = peg$f64(s3, s4);
3911
3988
  } else {
3912
3989
  peg$currPos = s0;
3913
3990
  s0 = peg$FAILED;
@@ -3920,6 +3997,35 @@ function peg$parse(input, options) {
3920
3997
  peg$currPos = s0;
3921
3998
  s0 = peg$FAILED;
3922
3999
  }
4000
+ if (s0 === peg$FAILED) {
4001
+ s0 = peg$currPos;
4002
+ if (input.substr(peg$currPos, 4) === peg$c46) {
4003
+ s1 = peg$c46;
4004
+ peg$currPos += 4;
4005
+ } else {
4006
+ s1 = peg$FAILED;
4007
+ if (peg$silentFails === 0) { peg$fail(peg$e72); }
4008
+ }
4009
+ if (s1 !== peg$FAILED) {
4010
+ s2 = peg$parsejsReference();
4011
+ if (s2 !== peg$FAILED) {
4012
+ s3 = peg$parseparenthesesArguments();
4013
+ if (s3 !== peg$FAILED) {
4014
+ peg$savedPos = s0;
4015
+ s0 = peg$f65(s2, s3);
4016
+ } else {
4017
+ peg$currPos = s0;
4018
+ s0 = peg$FAILED;
4019
+ }
4020
+ } else {
4021
+ peg$currPos = s0;
4022
+ s0 = peg$FAILED;
4023
+ }
4024
+ } else {
4025
+ peg$currPos = s0;
4026
+ s0 = peg$FAILED;
4027
+ }
4028
+ }
3923
4029
 
3924
4030
  return s0;
3925
4031
  }
@@ -3928,27 +4034,27 @@ function peg$parse(input, options) {
3928
4034
  var s0;
3929
4035
 
3930
4036
  if (input.charCodeAt(peg$currPos) === 10) {
3931
- s0 = peg$c46;
4037
+ s0 = peg$c47;
3932
4038
  peg$currPos++;
3933
4039
  } else {
3934
4040
  s0 = peg$FAILED;
3935
- if (peg$silentFails === 0) { peg$fail(peg$e72); }
4041
+ if (peg$silentFails === 0) { peg$fail(peg$e73); }
3936
4042
  }
3937
4043
  if (s0 === peg$FAILED) {
3938
- if (input.substr(peg$currPos, 2) === peg$c47) {
3939
- s0 = peg$c47;
4044
+ if (input.substr(peg$currPos, 2) === peg$c48) {
4045
+ s0 = peg$c48;
3940
4046
  peg$currPos += 2;
3941
4047
  } else {
3942
4048
  s0 = peg$FAILED;
3943
- if (peg$silentFails === 0) { peg$fail(peg$e73); }
4049
+ if (peg$silentFails === 0) { peg$fail(peg$e74); }
3944
4050
  }
3945
4051
  if (s0 === peg$FAILED) {
3946
4052
  if (input.charCodeAt(peg$currPos) === 13) {
3947
- s0 = peg$c48;
4053
+ s0 = peg$c49;
3948
4054
  peg$currPos++;
3949
4055
  } else {
3950
4056
  s0 = peg$FAILED;
3951
- if (peg$silentFails === 0) { peg$fail(peg$e74); }
4057
+ if (peg$silentFails === 0) { peg$fail(peg$e75); }
3952
4058
  }
3953
4059
  }
3954
4060
  }
@@ -3967,7 +4073,7 @@ function peg$parse(input, options) {
3967
4073
  peg$silentFails--;
3968
4074
  if (s0 === peg$FAILED) {
3969
4075
  s1 = peg$FAILED;
3970
- if (peg$silentFails === 0) { peg$fail(peg$e75); }
4076
+ if (peg$silentFails === 0) { peg$fail(peg$e76); }
3971
4077
  }
3972
4078
 
3973
4079
  return s0;
@@ -3982,12 +4088,12 @@ function peg$parse(input, options) {
3982
4088
  s2 = [];
3983
4089
  s3 = peg$currPos;
3984
4090
  s4 = peg$parse__();
3985
- if (input.substr(peg$currPos, 2) === peg$c49) {
3986
- s5 = peg$c49;
4091
+ if (input.substr(peg$currPos, 2) === peg$c50) {
4092
+ s5 = peg$c50;
3987
4093
  peg$currPos += 2;
3988
4094
  } else {
3989
4095
  s5 = peg$FAILED;
3990
- if (peg$silentFails === 0) { peg$fail(peg$e76); }
4096
+ if (peg$silentFails === 0) { peg$fail(peg$e77); }
3991
4097
  }
3992
4098
  if (s5 !== peg$FAILED) {
3993
4099
  s6 = peg$parse__();
@@ -4006,12 +4112,12 @@ function peg$parse(input, options) {
4006
4112
  s2.push(s3);
4007
4113
  s3 = peg$currPos;
4008
4114
  s4 = peg$parse__();
4009
- if (input.substr(peg$currPos, 2) === peg$c49) {
4010
- s5 = peg$c49;
4115
+ if (input.substr(peg$currPos, 2) === peg$c50) {
4116
+ s5 = peg$c50;
4011
4117
  peg$currPos += 2;
4012
4118
  } else {
4013
4119
  s5 = peg$FAILED;
4014
- if (peg$silentFails === 0) { peg$fail(peg$e76); }
4120
+ if (peg$silentFails === 0) { peg$fail(peg$e77); }
4015
4121
  }
4016
4122
  if (s5 !== peg$FAILED) {
4017
4123
  s6 = peg$parse__();
@@ -4028,7 +4134,7 @@ function peg$parse(input, options) {
4028
4134
  }
4029
4135
  }
4030
4136
  peg$savedPos = s0;
4031
- s0 = peg$f63(s1, s2);
4137
+ s0 = peg$f66(s1, s2);
4032
4138
  } else {
4033
4139
  peg$currPos = s0;
4034
4140
  s0 = peg$FAILED;
@@ -4043,11 +4149,11 @@ function peg$parse(input, options) {
4043
4149
  peg$silentFails++;
4044
4150
  s0 = peg$currPos;
4045
4151
  if (input.charCodeAt(peg$currPos) === 123) {
4046
- s1 = peg$c50;
4152
+ s1 = peg$c51;
4047
4153
  peg$currPos++;
4048
4154
  } else {
4049
4155
  s1 = peg$FAILED;
4050
- if (peg$silentFails === 0) { peg$fail(peg$e78); }
4156
+ if (peg$silentFails === 0) { peg$fail(peg$e79); }
4051
4157
  }
4052
4158
  if (s1 !== peg$FAILED) {
4053
4159
  s2 = peg$parse__();
@@ -4059,7 +4165,7 @@ function peg$parse(input, options) {
4059
4165
  s5 = peg$parseexpectClosingBrace();
4060
4166
  if (s5 !== peg$FAILED) {
4061
4167
  peg$savedPos = s0;
4062
- s0 = peg$f64(s3);
4168
+ s0 = peg$f67(s3);
4063
4169
  } else {
4064
4170
  peg$currPos = s0;
4065
4171
  s0 = peg$FAILED;
@@ -4071,7 +4177,7 @@ function peg$parse(input, options) {
4071
4177
  peg$silentFails--;
4072
4178
  if (s0 === peg$FAILED) {
4073
4179
  s1 = peg$FAILED;
4074
- if (peg$silentFails === 0) { peg$fail(peg$e77); }
4180
+ if (peg$silentFails === 0) { peg$fail(peg$e78); }
4075
4181
  }
4076
4182
 
4077
4183
  return s0;
@@ -4112,7 +4218,7 @@ function peg$parse(input, options) {
4112
4218
  s2 = null;
4113
4219
  }
4114
4220
  peg$savedPos = s0;
4115
- s0 = peg$f65(s1);
4221
+ s0 = peg$f68(s1);
4116
4222
  } else {
4117
4223
  peg$currPos = s0;
4118
4224
  s0 = peg$FAILED;
@@ -4147,18 +4253,18 @@ function peg$parse(input, options) {
4147
4253
  if (s1 !== peg$FAILED) {
4148
4254
  s2 = peg$parse__();
4149
4255
  if (input.charCodeAt(peg$currPos) === 61) {
4150
- s3 = peg$c51;
4256
+ s3 = peg$c52;
4151
4257
  peg$currPos++;
4152
4258
  } else {
4153
4259
  s3 = peg$FAILED;
4154
- if (peg$silentFails === 0) { peg$fail(peg$e80); }
4260
+ if (peg$silentFails === 0) { peg$fail(peg$e81); }
4155
4261
  }
4156
4262
  if (s3 !== peg$FAILED) {
4157
4263
  s4 = peg$parse__();
4158
4264
  s5 = peg$parseexpectPipelineExpression();
4159
4265
  if (s5 !== peg$FAILED) {
4160
4266
  peg$savedPos = s0;
4161
- s0 = peg$f66(s1, s5);
4267
+ s0 = peg$f69(s1, s5);
4162
4268
  } else {
4163
4269
  peg$currPos = s0;
4164
4270
  s0 = peg$FAILED;
@@ -4174,7 +4280,7 @@ function peg$parse(input, options) {
4174
4280
  peg$silentFails--;
4175
4281
  if (s0 === peg$FAILED) {
4176
4282
  s1 = peg$FAILED;
4177
- if (peg$silentFails === 0) { peg$fail(peg$e79); }
4283
+ if (peg$silentFails === 0) { peg$fail(peg$e80); }
4178
4284
  }
4179
4285
 
4180
4286
  return s0;
@@ -4186,21 +4292,21 @@ function peg$parse(input, options) {
4186
4292
  s0 = peg$currPos;
4187
4293
  s1 = peg$currPos;
4188
4294
  if (input.charCodeAt(peg$currPos) === 40) {
4189
- s2 = peg$c7;
4295
+ s2 = peg$c8;
4190
4296
  peg$currPos++;
4191
4297
  } else {
4192
4298
  s2 = peg$FAILED;
4193
- if (peg$silentFails === 0) { peg$fail(peg$e11); }
4299
+ if (peg$silentFails === 0) { peg$fail(peg$e12); }
4194
4300
  }
4195
4301
  if (s2 !== peg$FAILED) {
4196
4302
  s3 = peg$parseobjectPublicKey();
4197
4303
  if (s3 !== peg$FAILED) {
4198
4304
  if (input.charCodeAt(peg$currPos) === 41) {
4199
- s4 = peg$c8;
4305
+ s4 = peg$c9;
4200
4306
  peg$currPos++;
4201
4307
  } else {
4202
4308
  s4 = peg$FAILED;
4203
- if (peg$silentFails === 0) { peg$fail(peg$e12); }
4309
+ if (peg$silentFails === 0) { peg$fail(peg$e13); }
4204
4310
  }
4205
4311
  if (s4 !== peg$FAILED) {
4206
4312
  s2 = [s2, s3, s4];
@@ -4219,7 +4325,7 @@ function peg$parse(input, options) {
4219
4325
  }
4220
4326
  if (s1 !== peg$FAILED) {
4221
4327
  peg$savedPos = s0;
4222
- s1 = peg$f67(s1);
4328
+ s1 = peg$f70(s1);
4223
4329
  }
4224
4330
  s0 = s1;
4225
4331
 
@@ -4237,7 +4343,7 @@ function peg$parse(input, options) {
4237
4343
  peg$silentFails--;
4238
4344
  if (s0 === peg$FAILED) {
4239
4345
  s1 = peg$FAILED;
4240
- if (peg$silentFails === 0) { peg$fail(peg$e81); }
4346
+ if (peg$silentFails === 0) { peg$fail(peg$e82); }
4241
4347
  }
4242
4348
 
4243
4349
  return s0;
@@ -4252,18 +4358,18 @@ function peg$parse(input, options) {
4252
4358
  if (s1 !== peg$FAILED) {
4253
4359
  s2 = peg$parse__();
4254
4360
  if (input.charCodeAt(peg$currPos) === 58) {
4255
- s3 = peg$c4;
4361
+ s3 = peg$c5;
4256
4362
  peg$currPos++;
4257
4363
  } else {
4258
4364
  s3 = peg$FAILED;
4259
- if (peg$silentFails === 0) { peg$fail(peg$e6); }
4365
+ if (peg$silentFails === 0) { peg$fail(peg$e7); }
4260
4366
  }
4261
4367
  if (s3 !== peg$FAILED) {
4262
4368
  s4 = peg$parse__();
4263
4369
  s5 = peg$parseexpectPipelineExpression();
4264
4370
  if (s5 !== peg$FAILED) {
4265
4371
  peg$savedPos = s0;
4266
- s0 = peg$f68(s1, s5);
4372
+ s0 = peg$f71(s1, s5);
4267
4373
  } else {
4268
4374
  peg$currPos = s0;
4269
4375
  s0 = peg$FAILED;
@@ -4279,27 +4385,44 @@ function peg$parse(input, options) {
4279
4385
  peg$silentFails--;
4280
4386
  if (s0 === peg$FAILED) {
4281
4387
  s1 = peg$FAILED;
4282
- if (peg$silentFails === 0) { peg$fail(peg$e82); }
4388
+ if (peg$silentFails === 0) { peg$fail(peg$e83); }
4283
4389
  }
4284
4390
 
4285
4391
  return s0;
4286
4392
  }
4287
4393
 
4288
4394
  function peg$parseobjectShorthandProperty() {
4289
- var s0, s1;
4395
+ var s0, s1, s2;
4290
4396
 
4291
4397
  peg$silentFails++;
4292
4398
  s0 = peg$currPos;
4293
4399
  s1 = peg$parseobjectPublicKey();
4294
4400
  if (s1 !== peg$FAILED) {
4295
4401
  peg$savedPos = s0;
4296
- s1 = peg$f69(s1);
4402
+ s1 = peg$f72(s1);
4297
4403
  }
4298
4404
  s0 = s1;
4405
+ if (s0 === peg$FAILED) {
4406
+ s0 = peg$currPos;
4407
+ s1 = peg$parsejseMode();
4408
+ if (s1 !== peg$FAILED) {
4409
+ s2 = peg$parseangleBracketLiteral();
4410
+ if (s2 !== peg$FAILED) {
4411
+ peg$savedPos = s0;
4412
+ s0 = peg$f73(s2);
4413
+ } else {
4414
+ peg$currPos = s0;
4415
+ s0 = peg$FAILED;
4416
+ }
4417
+ } else {
4418
+ peg$currPos = s0;
4419
+ s0 = peg$FAILED;
4420
+ }
4421
+ }
4299
4422
  peg$silentFails--;
4300
4423
  if (s0 === peg$FAILED) {
4301
4424
  s1 = peg$FAILED;
4302
- if (peg$silentFails === 0) { peg$fail(peg$e83); }
4425
+ if (peg$silentFails === 0) { peg$fail(peg$e84); }
4303
4426
  }
4304
4427
 
4305
4428
  return s0;
@@ -4322,7 +4445,7 @@ function peg$parse(input, options) {
4322
4445
  s2 = null;
4323
4446
  }
4324
4447
  peg$savedPos = s0;
4325
- s0 = peg$f70(s1, s2);
4448
+ s0 = peg$f74(s1, s2);
4326
4449
  } else {
4327
4450
  peg$currPos = s0;
4328
4451
  s0 = peg$FAILED;
@@ -4332,7 +4455,7 @@ function peg$parse(input, options) {
4332
4455
  s1 = peg$parsestringLiteral();
4333
4456
  if (s1 !== peg$FAILED) {
4334
4457
  peg$savedPos = s0;
4335
- s1 = peg$f71(s1);
4458
+ s1 = peg$f75(s1);
4336
4459
  }
4337
4460
  s0 = s1;
4338
4461
  }
@@ -4345,19 +4468,19 @@ function peg$parse(input, options) {
4345
4468
 
4346
4469
  s0 = peg$currPos;
4347
4470
  s1 = peg$parse__();
4348
- if (input.substr(peg$currPos, 2) === peg$c52) {
4349
- s2 = peg$c52;
4471
+ if (input.substr(peg$currPos, 2) === peg$c53) {
4472
+ s2 = peg$c53;
4350
4473
  peg$currPos += 2;
4351
4474
  } else {
4352
4475
  s2 = peg$FAILED;
4353
- if (peg$silentFails === 0) { peg$fail(peg$e84); }
4476
+ if (peg$silentFails === 0) { peg$fail(peg$e85); }
4354
4477
  }
4355
4478
  if (s2 !== peg$FAILED) {
4356
4479
  s3 = peg$parse__();
4357
4480
  s4 = peg$parsejsIdentifier();
4358
4481
  if (s4 !== peg$FAILED) {
4359
4482
  peg$savedPos = s0;
4360
- s0 = peg$f72(s4);
4483
+ s0 = peg$f76(s4);
4361
4484
  } else {
4362
4485
  peg$currPos = s0;
4363
4486
  s0 = peg$FAILED;
@@ -4371,15 +4494,39 @@ function peg$parse(input, options) {
4371
4494
  }
4372
4495
 
4373
4496
  function peg$parseparameter() {
4374
- var s0, s1;
4497
+ var s0, s1, s2;
4375
4498
 
4376
4499
  s0 = peg$currPos;
4377
- s1 = peg$parseidentifier();
4500
+ s1 = peg$parsejseMode();
4378
4501
  if (s1 !== peg$FAILED) {
4379
- peg$savedPos = s0;
4380
- s1 = peg$f73(s1);
4502
+ s2 = peg$parsejsIdentifier();
4503
+ if (s2 !== peg$FAILED) {
4504
+ s0 = s2;
4505
+ } else {
4506
+ peg$currPos = s0;
4507
+ s0 = peg$FAILED;
4508
+ }
4509
+ } else {
4510
+ peg$currPos = s0;
4511
+ s0 = peg$FAILED;
4512
+ }
4513
+ if (s0 === peg$FAILED) {
4514
+ s0 = peg$currPos;
4515
+ s1 = peg$parseshellMode();
4516
+ if (s1 !== peg$FAILED) {
4517
+ s2 = peg$parseidentifier();
4518
+ if (s2 !== peg$FAILED) {
4519
+ peg$savedPos = s0;
4520
+ s0 = peg$f77(s2);
4521
+ } else {
4522
+ peg$currPos = s0;
4523
+ s0 = peg$FAILED;
4524
+ }
4525
+ } else {
4526
+ peg$currPos = s0;
4527
+ s0 = peg$FAILED;
4528
+ }
4381
4529
  }
4382
- s0 = s1;
4383
4530
 
4384
4531
  return s0;
4385
4532
  }
@@ -4419,7 +4566,7 @@ function peg$parse(input, options) {
4419
4566
  s2 = null;
4420
4567
  }
4421
4568
  peg$savedPos = s0;
4422
- s0 = peg$f74(s1);
4569
+ s0 = peg$f78(s1);
4423
4570
  } else {
4424
4571
  peg$currPos = s0;
4425
4572
  s0 = peg$FAILED;
@@ -4435,7 +4582,7 @@ function peg$parse(input, options) {
4435
4582
  s1 = peg$parseidentifier();
4436
4583
  if (s1 !== peg$FAILED) {
4437
4584
  peg$savedPos = s0;
4438
- s1 = peg$f75(s1);
4585
+ s1 = peg$f79(s1);
4439
4586
  }
4440
4587
  s0 = s1;
4441
4588
 
@@ -4448,11 +4595,11 @@ function peg$parse(input, options) {
4448
4595
  peg$silentFails++;
4449
4596
  s0 = peg$currPos;
4450
4597
  if (input.charCodeAt(peg$currPos) === 40) {
4451
- s1 = peg$c7;
4598
+ s1 = peg$c8;
4452
4599
  peg$currPos++;
4453
4600
  } else {
4454
4601
  s1 = peg$FAILED;
4455
- if (peg$silentFails === 0) { peg$fail(peg$e11); }
4602
+ if (peg$silentFails === 0) { peg$fail(peg$e12); }
4456
4603
  }
4457
4604
  if (s1 !== peg$FAILED) {
4458
4605
  s2 = peg$parse__();
@@ -4464,7 +4611,7 @@ function peg$parse(input, options) {
4464
4611
  s5 = peg$parseexpectClosingParenthesis();
4465
4612
  if (s5 !== peg$FAILED) {
4466
4613
  peg$savedPos = s0;
4467
- s0 = peg$f76(s3);
4614
+ s0 = peg$f80(s3);
4468
4615
  } else {
4469
4616
  peg$currPos = s0;
4470
4617
  s0 = peg$FAILED;
@@ -4476,7 +4623,7 @@ function peg$parse(input, options) {
4476
4623
  peg$silentFails--;
4477
4624
  if (s0 === peg$FAILED) {
4478
4625
  s1 = peg$FAILED;
4479
- if (peg$silentFails === 0) { peg$fail(peg$e85); }
4626
+ if (peg$silentFails === 0) { peg$fail(peg$e86); }
4480
4627
  }
4481
4628
 
4482
4629
  return s0;
@@ -4502,13 +4649,13 @@ function peg$parse(input, options) {
4502
4649
  }
4503
4650
  if (s1 !== peg$FAILED) {
4504
4651
  peg$savedPos = s0;
4505
- s1 = peg$f77(s1);
4652
+ s1 = peg$f81(s1);
4506
4653
  }
4507
4654
  s0 = s1;
4508
4655
  peg$silentFails--;
4509
4656
  if (s0 === peg$FAILED) {
4510
4657
  s1 = peg$FAILED;
4511
- if (peg$silentFails === 0) { peg$fail(peg$e86); }
4658
+ if (peg$silentFails === 0) { peg$fail(peg$e87); }
4512
4659
  }
4513
4660
 
4514
4661
  return s0;
@@ -4521,7 +4668,7 @@ function peg$parse(input, options) {
4521
4668
  s1 = peg$parsepath();
4522
4669
  if (s1 !== peg$FAILED) {
4523
4670
  peg$savedPos = s0;
4524
- s1 = peg$f78(s1);
4671
+ s1 = peg$f82(s1);
4525
4672
  }
4526
4673
  s0 = s1;
4527
4674
 
@@ -4548,7 +4695,7 @@ function peg$parse(input, options) {
4548
4695
  s2 = null;
4549
4696
  }
4550
4697
  peg$savedPos = s0;
4551
- s0 = peg$f79(s1, s2);
4698
+ s0 = peg$f83(s1, s2);
4552
4699
  } else {
4553
4700
  peg$currPos = s0;
4554
4701
  s0 = peg$FAILED;
@@ -4590,7 +4737,7 @@ function peg$parse(input, options) {
4590
4737
  peg$currPos++;
4591
4738
  } else {
4592
4739
  s0 = peg$FAILED;
4593
- if (peg$silentFails === 0) { peg$fail(peg$e87); }
4740
+ if (peg$silentFails === 0) { peg$fail(peg$e88); }
4594
4741
  }
4595
4742
  if (s0 === peg$FAILED) {
4596
4743
  s0 = peg$parseescapedChar();
@@ -4642,7 +4789,7 @@ function peg$parse(input, options) {
4642
4789
  }
4643
4790
  }
4644
4791
  peg$savedPos = s0;
4645
- s0 = peg$f80(s1, s2);
4792
+ s0 = peg$f84(s1, s2);
4646
4793
  } else {
4647
4794
  peg$currPos = s0;
4648
4795
  s0 = peg$FAILED;
@@ -4759,7 +4906,7 @@ function peg$parse(input, options) {
4759
4906
  peg$silentFails--;
4760
4907
  if (s0 === peg$FAILED) {
4761
4908
  s1 = peg$FAILED;
4762
- if (peg$silentFails === 0) { peg$fail(peg$e88); }
4909
+ if (peg$silentFails === 0) { peg$fail(peg$e89); }
4763
4910
  }
4764
4911
 
4765
4912
  return s0;
@@ -4789,7 +4936,7 @@ function peg$parse(input, options) {
4789
4936
  s4 = null;
4790
4937
  }
4791
4938
  peg$savedPos = s0;
4792
- s0 = peg$f81(s1, s3, s4);
4939
+ s0 = peg$f85(s1, s3, s4);
4793
4940
  } else {
4794
4941
  peg$currPos = s0;
4795
4942
  s0 = peg$FAILED;
@@ -4821,7 +4968,7 @@ function peg$parse(input, options) {
4821
4968
  s2 = peg$parsescopeReference();
4822
4969
  if (s2 !== peg$FAILED) {
4823
4970
  peg$savedPos = s0;
4824
- s0 = peg$f82(s1, s2);
4971
+ s0 = peg$f86(s1, s2);
4825
4972
  } else {
4826
4973
  peg$currPos = s0;
4827
4974
  s0 = peg$FAILED;
@@ -4844,7 +4991,7 @@ function peg$parse(input, options) {
4844
4991
  peg$currPos++;
4845
4992
  } else {
4846
4993
  s2 = peg$FAILED;
4847
- if (peg$silentFails === 0) { peg$fail(peg$e89); }
4994
+ if (peg$silentFails === 0) { peg$fail(peg$e90); }
4848
4995
  }
4849
4996
  while (s2 !== peg$FAILED) {
4850
4997
  s1.push(s2);
@@ -4853,11 +5000,11 @@ function peg$parse(input, options) {
4853
5000
  peg$currPos++;
4854
5001
  } else {
4855
5002
  s2 = peg$FAILED;
4856
- if (peg$silentFails === 0) { peg$fail(peg$e89); }
5003
+ if (peg$silentFails === 0) { peg$fail(peg$e90); }
4857
5004
  }
4858
5005
  }
4859
5006
  peg$savedPos = s0;
4860
- s1 = peg$f83(s1);
5007
+ s1 = peg$f87(s1);
4861
5008
  s0 = s1;
4862
5009
 
4863
5010
  return s0;
@@ -4891,7 +5038,7 @@ function peg$parse(input, options) {
4891
5038
  if (s3 !== peg$FAILED) {
4892
5039
  s4 = peg$parseregexFlags();
4893
5040
  peg$savedPos = s0;
4894
- s0 = peg$f84(s2, s4);
5041
+ s0 = peg$f88(s2, s4);
4895
5042
  } else {
4896
5043
  peg$currPos = s0;
4897
5044
  s0 = peg$FAILED;
@@ -4912,7 +5059,7 @@ function peg$parse(input, options) {
4912
5059
  peg$currPos++;
4913
5060
  } else {
4914
5061
  s0 = peg$FAILED;
4915
- if (peg$silentFails === 0) { peg$fail(peg$e90); }
5062
+ if (peg$silentFails === 0) { peg$fail(peg$e91); }
4916
5063
  }
4917
5064
  if (s0 === peg$FAILED) {
4918
5065
  s0 = peg$parseescapedChar();
@@ -4929,13 +5076,18 @@ function peg$parse(input, options) {
4929
5076
  if (s1 !== peg$FAILED) {
4930
5077
  s2 = [];
4931
5078
  s3 = peg$currPos;
4932
- s4 = peg$parse__();
4933
- s5 = peg$parserelationalOperator();
4934
- if (s5 !== peg$FAILED) {
4935
- s6 = peg$parse__();
4936
- s7 = peg$parseshiftExpression();
4937
- if (s7 !== peg$FAILED) {
4938
- s3 = [ s5, s7 ];
5079
+ s4 = peg$parseinlineSpace();
5080
+ if (s4 !== peg$FAILED) {
5081
+ s5 = peg$parserelationalOperator();
5082
+ if (s5 !== peg$FAILED) {
5083
+ s6 = peg$parse__();
5084
+ s7 = peg$parseshiftExpression();
5085
+ if (s7 !== peg$FAILED) {
5086
+ s3 = [ s5, s7 ];
5087
+ } else {
5088
+ peg$currPos = s3;
5089
+ s3 = peg$FAILED;
5090
+ }
4939
5091
  } else {
4940
5092
  peg$currPos = s3;
4941
5093
  s3 = peg$FAILED;
@@ -4947,13 +5099,18 @@ function peg$parse(input, options) {
4947
5099
  while (s3 !== peg$FAILED) {
4948
5100
  s2.push(s3);
4949
5101
  s3 = peg$currPos;
4950
- s4 = peg$parse__();
4951
- s5 = peg$parserelationalOperator();
4952
- if (s5 !== peg$FAILED) {
4953
- s6 = peg$parse__();
4954
- s7 = peg$parseshiftExpression();
4955
- if (s7 !== peg$FAILED) {
4956
- s3 = [ s5, s7 ];
5102
+ s4 = peg$parseinlineSpace();
5103
+ if (s4 !== peg$FAILED) {
5104
+ s5 = peg$parserelationalOperator();
5105
+ if (s5 !== peg$FAILED) {
5106
+ s6 = peg$parse__();
5107
+ s7 = peg$parseshiftExpression();
5108
+ if (s7 !== peg$FAILED) {
5109
+ s3 = [ s5, s7 ];
5110
+ } else {
5111
+ peg$currPos = s3;
5112
+ s3 = peg$FAILED;
5113
+ }
4957
5114
  } else {
4958
5115
  peg$currPos = s3;
4959
5116
  s3 = peg$FAILED;
@@ -4964,7 +5121,7 @@ function peg$parse(input, options) {
4964
5121
  }
4965
5122
  }
4966
5123
  peg$savedPos = s0;
4967
- s0 = peg$f85(s1, s2);
5124
+ s0 = peg$f89(s1, s2);
4968
5125
  } else {
4969
5126
  peg$currPos = s0;
4970
5127
  s0 = peg$FAILED;
@@ -4976,12 +5133,12 @@ function peg$parse(input, options) {
4976
5133
  function peg$parserelationalOperator() {
4977
5134
  var s0;
4978
5135
 
4979
- if (input.substr(peg$currPos, 2) === peg$c53) {
4980
- s0 = peg$c53;
5136
+ if (input.substr(peg$currPos, 2) === peg$c54) {
5137
+ s0 = peg$c54;
4981
5138
  peg$currPos += 2;
4982
5139
  } else {
4983
5140
  s0 = peg$FAILED;
4984
- if (peg$silentFails === 0) { peg$fail(peg$e91); }
5141
+ if (peg$silentFails === 0) { peg$fail(peg$e92); }
4985
5142
  }
4986
5143
  if (s0 === peg$FAILED) {
4987
5144
  if (input.charCodeAt(peg$currPos) === 60) {
@@ -4992,12 +5149,12 @@ function peg$parse(input, options) {
4992
5149
  if (peg$silentFails === 0) { peg$fail(peg$e1); }
4993
5150
  }
4994
5151
  if (s0 === peg$FAILED) {
4995
- if (input.substr(peg$currPos, 2) === peg$c54) {
4996
- s0 = peg$c54;
5152
+ if (input.substr(peg$currPos, 2) === peg$c55) {
5153
+ s0 = peg$c55;
4997
5154
  peg$currPos += 2;
4998
5155
  } else {
4999
5156
  s0 = peg$FAILED;
5000
- if (peg$silentFails === 0) { peg$fail(peg$e92); }
5157
+ if (peg$silentFails === 0) { peg$fail(peg$e93); }
5001
5158
  }
5002
5159
  if (s0 === peg$FAILED) {
5003
5160
  if (input.charCodeAt(peg$currPos) === 62) {
@@ -5015,67 +5172,59 @@ function peg$parse(input, options) {
5015
5172
  }
5016
5173
 
5017
5174
  function peg$parserootDirectory() {
5018
- var s0, s1, s2, s3;
5175
+ var s0, s1, s2, s3, s4, s5;
5019
5176
 
5020
5177
  s0 = peg$currPos;
5178
+ s1 = peg$currPos;
5179
+ peg$silentFails++;
5180
+ s2 = peg$currPos;
5021
5181
  if (input.charCodeAt(peg$currPos) === 47) {
5022
- s1 = peg$c3;
5182
+ s3 = peg$c3;
5023
5183
  peg$currPos++;
5024
5184
  } else {
5025
- s1 = peg$FAILED;
5185
+ s3 = peg$FAILED;
5026
5186
  if (peg$silentFails === 0) { peg$fail(peg$e4); }
5027
5187
  }
5028
- if (s1 !== peg$FAILED) {
5029
- s2 = peg$parsepathKey();
5030
- if (s2 !== peg$FAILED) {
5031
- peg$savedPos = s0;
5032
- s0 = peg$f86(s2);
5033
- } else {
5034
- peg$currPos = s0;
5035
- s0 = peg$FAILED;
5036
- }
5037
- } else {
5038
- peg$currPos = s0;
5039
- s0 = peg$FAILED;
5040
- }
5041
- if (s0 === peg$FAILED) {
5042
- s0 = peg$currPos;
5188
+ if (s3 !== peg$FAILED) {
5189
+ s4 = peg$currPos;
5190
+ peg$silentFails++;
5043
5191
  if (input.charCodeAt(peg$currPos) === 47) {
5044
- s1 = peg$c3;
5192
+ s5 = peg$c3;
5045
5193
  peg$currPos++;
5046
5194
  } else {
5047
- s1 = peg$FAILED;
5195
+ s5 = peg$FAILED;
5048
5196
  if (peg$silentFails === 0) { peg$fail(peg$e4); }
5049
5197
  }
5050
- if (s1 !== peg$FAILED) {
5051
- s2 = peg$currPos;
5052
- peg$silentFails++;
5053
- if (input.charCodeAt(peg$currPos) === 47) {
5054
- s3 = peg$c3;
5055
- peg$currPos++;
5056
- } else {
5057
- s3 = peg$FAILED;
5058
- if (peg$silentFails === 0) { peg$fail(peg$e4); }
5059
- }
5060
- peg$silentFails--;
5061
- if (s3 === peg$FAILED) {
5062
- s2 = undefined;
5063
- } else {
5064
- peg$currPos = s2;
5065
- s2 = peg$FAILED;
5066
- }
5067
- if (s2 !== peg$FAILED) {
5068
- peg$savedPos = s0;
5069
- s0 = peg$f87();
5070
- } else {
5071
- peg$currPos = s0;
5072
- s0 = peg$FAILED;
5073
- }
5198
+ peg$silentFails--;
5199
+ if (s5 === peg$FAILED) {
5200
+ s4 = undefined;
5074
5201
  } else {
5075
- peg$currPos = s0;
5076
- s0 = peg$FAILED;
5202
+ peg$currPos = s4;
5203
+ s4 = peg$FAILED;
5204
+ }
5205
+ if (s4 !== peg$FAILED) {
5206
+ s3 = [s3, s4];
5207
+ s2 = s3;
5208
+ } else {
5209
+ peg$currPos = s2;
5210
+ s2 = peg$FAILED;
5077
5211
  }
5212
+ } else {
5213
+ peg$currPos = s2;
5214
+ s2 = peg$FAILED;
5078
5215
  }
5216
+ peg$silentFails--;
5217
+ if (s2 !== peg$FAILED) {
5218
+ peg$currPos = s1;
5219
+ s1 = undefined;
5220
+ } else {
5221
+ s1 = peg$FAILED;
5222
+ }
5223
+ if (s1 !== peg$FAILED) {
5224
+ peg$savedPos = s0;
5225
+ s1 = peg$f90();
5226
+ }
5227
+ s0 = s1;
5079
5228
 
5080
5229
  return s0;
5081
5230
  }
@@ -5092,7 +5241,7 @@ function peg$parse(input, options) {
5092
5241
  s2 = null;
5093
5242
  }
5094
5243
  peg$savedPos = s0;
5095
- s0 = peg$f88(s1, s2);
5244
+ s0 = peg$f91(s1, s2);
5096
5245
  } else {
5097
5246
  peg$currPos = s0;
5098
5247
  s0 = peg$FAILED;
@@ -5100,7 +5249,7 @@ function peg$parse(input, options) {
5100
5249
  peg$silentFails--;
5101
5250
  if (s0 === peg$FAILED) {
5102
5251
  s1 = peg$FAILED;
5103
- if (peg$silentFails === 0) { peg$fail(peg$e93); }
5252
+ if (peg$silentFails === 0) { peg$fail(peg$e94); }
5104
5253
  }
5105
5254
 
5106
5255
  return s0;
@@ -5112,11 +5261,11 @@ function peg$parse(input, options) {
5112
5261
  s0 = peg$currPos;
5113
5262
  s1 = peg$parse__();
5114
5263
  if (input.charCodeAt(peg$currPos) === 44) {
5115
- s2 = peg$c12;
5264
+ s2 = peg$c13;
5116
5265
  peg$currPos++;
5117
5266
  } else {
5118
5267
  s2 = peg$FAILED;
5119
- if (peg$silentFails === 0) { peg$fail(peg$e17); }
5268
+ if (peg$silentFails === 0) { peg$fail(peg$e18); }
5120
5269
  }
5121
5270
  if (s2 !== peg$FAILED) {
5122
5271
  s3 = peg$parse__();
@@ -5128,15 +5277,9 @@ function peg$parse(input, options) {
5128
5277
  }
5129
5278
  if (s0 === peg$FAILED) {
5130
5279
  s0 = peg$currPos;
5131
- s1 = peg$parseshellMode();
5280
+ s1 = peg$parsewhitespaceWithNewLine();
5132
5281
  if (s1 !== peg$FAILED) {
5133
- s2 = peg$parsewhitespaceWithNewLine();
5134
- if (s2 !== peg$FAILED) {
5135
- s0 = s2;
5136
- } else {
5137
- peg$currPos = s0;
5138
- s0 = peg$FAILED;
5139
- }
5282
+ s0 = s1;
5140
5283
  } else {
5141
5284
  peg$currPos = s0;
5142
5285
  s0 = peg$FAILED;
@@ -5150,12 +5293,12 @@ function peg$parse(input, options) {
5150
5293
  var s0, s1, s2, s3;
5151
5294
 
5152
5295
  s0 = peg$currPos;
5153
- if (input.substr(peg$currPos, 2) === peg$c55) {
5154
- s1 = peg$c55;
5296
+ if (input.substr(peg$currPos, 2) === peg$c56) {
5297
+ s1 = peg$c56;
5155
5298
  peg$currPos += 2;
5156
5299
  } else {
5157
5300
  s1 = peg$FAILED;
5158
- if (peg$silentFails === 0) { peg$fail(peg$e94); }
5301
+ if (peg$silentFails === 0) { peg$fail(peg$e95); }
5159
5302
  }
5160
5303
  if (s1 !== peg$FAILED) {
5161
5304
  s2 = [];
@@ -5164,7 +5307,7 @@ function peg$parse(input, options) {
5164
5307
  peg$currPos++;
5165
5308
  } else {
5166
5309
  s3 = peg$FAILED;
5167
- if (peg$silentFails === 0) { peg$fail(peg$e95); }
5310
+ if (peg$silentFails === 0) { peg$fail(peg$e96); }
5168
5311
  }
5169
5312
  while (s3 !== peg$FAILED) {
5170
5313
  s2.push(s3);
@@ -5173,11 +5316,11 @@ function peg$parse(input, options) {
5173
5316
  peg$currPos++;
5174
5317
  } else {
5175
5318
  s3 = peg$FAILED;
5176
- if (peg$silentFails === 0) { peg$fail(peg$e95); }
5319
+ if (peg$silentFails === 0) { peg$fail(peg$e96); }
5177
5320
  }
5178
5321
  }
5179
5322
  peg$savedPos = s0;
5180
- s0 = peg$f89();
5323
+ s0 = peg$f92();
5181
5324
  } else {
5182
5325
  peg$currPos = s0;
5183
5326
  s0 = peg$FAILED;
@@ -5190,7 +5333,7 @@ function peg$parse(input, options) {
5190
5333
  var s0;
5191
5334
 
5192
5335
  peg$savedPos = peg$currPos;
5193
- s0 = peg$f90();
5336
+ s0 = peg$f93();
5194
5337
  if (s0) {
5195
5338
  s0 = undefined;
5196
5339
  } else {
@@ -5243,7 +5386,7 @@ function peg$parse(input, options) {
5243
5386
  }
5244
5387
  }
5245
5388
  peg$savedPos = s0;
5246
- s0 = peg$f91(s1, s2);
5389
+ s0 = peg$f94(s1, s2);
5247
5390
  } else {
5248
5391
  peg$currPos = s0;
5249
5392
  s0 = peg$FAILED;
@@ -5255,28 +5398,28 @@ function peg$parse(input, options) {
5255
5398
  function peg$parseshiftOperator() {
5256
5399
  var s0;
5257
5400
 
5258
- if (input.substr(peg$currPos, 2) === peg$c56) {
5259
- s0 = peg$c56;
5401
+ if (input.substr(peg$currPos, 2) === peg$c57) {
5402
+ s0 = peg$c57;
5260
5403
  peg$currPos += 2;
5261
5404
  } else {
5262
5405
  s0 = peg$FAILED;
5263
- if (peg$silentFails === 0) { peg$fail(peg$e96); }
5406
+ if (peg$silentFails === 0) { peg$fail(peg$e97); }
5264
5407
  }
5265
5408
  if (s0 === peg$FAILED) {
5266
- if (input.substr(peg$currPos, 3) === peg$c57) {
5267
- s0 = peg$c57;
5409
+ if (input.substr(peg$currPos, 3) === peg$c58) {
5410
+ s0 = peg$c58;
5268
5411
  peg$currPos += 3;
5269
5412
  } else {
5270
5413
  s0 = peg$FAILED;
5271
- if (peg$silentFails === 0) { peg$fail(peg$e97); }
5414
+ if (peg$silentFails === 0) { peg$fail(peg$e98); }
5272
5415
  }
5273
5416
  if (s0 === peg$FAILED) {
5274
- if (input.substr(peg$currPos, 2) === peg$c58) {
5275
- s0 = peg$c58;
5417
+ if (input.substr(peg$currPos, 2) === peg$c59) {
5418
+ s0 = peg$c59;
5276
5419
  peg$currPos += 2;
5277
5420
  } else {
5278
5421
  s0 = peg$FAILED;
5279
- if (peg$silentFails === 0) { peg$fail(peg$e98); }
5422
+ if (peg$silentFails === 0) { peg$fail(peg$e99); }
5280
5423
  }
5281
5424
  }
5282
5425
  }
@@ -5292,21 +5435,21 @@ function peg$parse(input, options) {
5292
5435
  s1 = peg$parseshellMode();
5293
5436
  if (s1 !== peg$FAILED) {
5294
5437
  if (input.charCodeAt(peg$currPos) === 61) {
5295
- s2 = peg$c51;
5438
+ s2 = peg$c52;
5296
5439
  peg$currPos++;
5297
5440
  } else {
5298
5441
  s2 = peg$FAILED;
5299
- if (peg$silentFails === 0) { peg$fail(peg$e80); }
5442
+ if (peg$silentFails === 0) { peg$fail(peg$e81); }
5300
5443
  }
5301
5444
  if (s2 !== peg$FAILED) {
5302
5445
  s3 = peg$currPos;
5303
5446
  peg$silentFails++;
5304
5447
  if (input.charCodeAt(peg$currPos) === 61) {
5305
- s4 = peg$c51;
5448
+ s4 = peg$c52;
5306
5449
  peg$currPos++;
5307
5450
  } else {
5308
5451
  s4 = peg$FAILED;
5309
- if (peg$silentFails === 0) { peg$fail(peg$e80); }
5452
+ if (peg$silentFails === 0) { peg$fail(peg$e81); }
5310
5453
  }
5311
5454
  peg$silentFails--;
5312
5455
  if (s4 === peg$FAILED) {
@@ -5320,7 +5463,7 @@ function peg$parse(input, options) {
5320
5463
  s5 = peg$parseimplicitParenthesesCallExpression();
5321
5464
  if (s5 !== peg$FAILED) {
5322
5465
  peg$savedPos = s0;
5323
- s0 = peg$f92(s5);
5466
+ s0 = peg$f95(s5);
5324
5467
  } else {
5325
5468
  peg$currPos = s0;
5326
5469
  s0 = peg$FAILED;
@@ -5343,7 +5486,7 @@ function peg$parse(input, options) {
5343
5486
  peg$silentFails--;
5344
5487
  if (s0 === peg$FAILED) {
5345
5488
  s1 = peg$FAILED;
5346
- if (peg$silentFails === 0) { peg$fail(peg$e99); }
5489
+ if (peg$silentFails === 0) { peg$fail(peg$e100); }
5347
5490
  }
5348
5491
 
5349
5492
  return s0;
@@ -5353,19 +5496,19 @@ function peg$parse(input, options) {
5353
5496
  var s0;
5354
5497
 
5355
5498
  if (input.charCodeAt(peg$currPos) === 8594) {
5356
- s0 = peg$c59;
5499
+ s0 = peg$c60;
5357
5500
  peg$currPos++;
5358
5501
  } else {
5359
5502
  s0 = peg$FAILED;
5360
- if (peg$silentFails === 0) { peg$fail(peg$e100); }
5503
+ if (peg$silentFails === 0) { peg$fail(peg$e101); }
5361
5504
  }
5362
5505
  if (s0 === peg$FAILED) {
5363
- if (input.substr(peg$currPos, 2) === peg$c60) {
5364
- s0 = peg$c60;
5506
+ if (input.substr(peg$currPos, 2) === peg$c61) {
5507
+ s0 = peg$c61;
5365
5508
  peg$currPos += 2;
5366
5509
  } else {
5367
5510
  s0 = peg$FAILED;
5368
- if (peg$silentFails === 0) { peg$fail(peg$e101); }
5511
+ if (peg$silentFails === 0) { peg$fail(peg$e102); }
5369
5512
  }
5370
5513
  }
5371
5514
 
@@ -5390,7 +5533,7 @@ function peg$parse(input, options) {
5390
5533
  peg$currPos++;
5391
5534
  } else {
5392
5535
  s3 = peg$FAILED;
5393
- if (peg$silentFails === 0) { peg$fail(peg$e95); }
5536
+ if (peg$silentFails === 0) { peg$fail(peg$e96); }
5394
5537
  }
5395
5538
  while (s3 !== peg$FAILED) {
5396
5539
  s2.push(s3);
@@ -5399,11 +5542,11 @@ function peg$parse(input, options) {
5399
5542
  peg$currPos++;
5400
5543
  } else {
5401
5544
  s3 = peg$FAILED;
5402
- if (peg$silentFails === 0) { peg$fail(peg$e95); }
5545
+ if (peg$silentFails === 0) { peg$fail(peg$e96); }
5403
5546
  }
5404
5547
  }
5405
5548
  peg$savedPos = s0;
5406
- s0 = peg$f93();
5549
+ s0 = peg$f96();
5407
5550
  } else {
5408
5551
  peg$currPos = s0;
5409
5552
  s0 = peg$FAILED;
@@ -5418,11 +5561,11 @@ function peg$parse(input, options) {
5418
5561
  peg$silentFails++;
5419
5562
  s0 = peg$currPos;
5420
5563
  if (input.charCodeAt(peg$currPos) === 39) {
5421
- s1 = peg$c34;
5564
+ s1 = peg$c35;
5422
5565
  peg$currPos++;
5423
5566
  } else {
5424
5567
  s1 = peg$FAILED;
5425
- if (peg$silentFails === 0) { peg$fail(peg$e44); }
5568
+ if (peg$silentFails === 0) { peg$fail(peg$e45); }
5426
5569
  }
5427
5570
  if (s1 !== peg$FAILED) {
5428
5571
  s2 = [];
@@ -5434,7 +5577,7 @@ function peg$parse(input, options) {
5434
5577
  s3 = peg$parseexpectSingleQuote();
5435
5578
  if (s3 !== peg$FAILED) {
5436
5579
  peg$savedPos = s0;
5437
- s0 = peg$f94(s2);
5580
+ s0 = peg$f97(s2);
5438
5581
  } else {
5439
5582
  peg$currPos = s0;
5440
5583
  s0 = peg$FAILED;
@@ -5446,7 +5589,7 @@ function peg$parse(input, options) {
5446
5589
  peg$silentFails--;
5447
5590
  if (s0 === peg$FAILED) {
5448
5591
  s1 = peg$FAILED;
5449
- if (peg$silentFails === 0) { peg$fail(peg$e102); }
5592
+ if (peg$silentFails === 0) { peg$fail(peg$e103); }
5450
5593
  }
5451
5594
 
5452
5595
  return s0;
@@ -5459,11 +5602,11 @@ function peg$parse(input, options) {
5459
5602
  s1 = peg$currPos;
5460
5603
  peg$silentFails++;
5461
5604
  if (input.charCodeAt(peg$currPos) === 39) {
5462
- s2 = peg$c34;
5605
+ s2 = peg$c35;
5463
5606
  peg$currPos++;
5464
5607
  } else {
5465
5608
  s2 = peg$FAILED;
5466
- if (peg$silentFails === 0) { peg$fail(peg$e44); }
5609
+ if (peg$silentFails === 0) { peg$fail(peg$e45); }
5467
5610
  }
5468
5611
  if (s2 === peg$FAILED) {
5469
5612
  s2 = peg$parsenewLine();
@@ -5498,7 +5641,7 @@ function peg$parse(input, options) {
5498
5641
  s1 = peg$parseslashFollows();
5499
5642
  if (s1 !== peg$FAILED) {
5500
5643
  peg$savedPos = s0;
5501
- s1 = peg$f95();
5644
+ s1 = peg$f98();
5502
5645
  }
5503
5646
  s0 = s1;
5504
5647
 
@@ -5527,7 +5670,7 @@ function peg$parse(input, options) {
5527
5670
  }
5528
5671
  if (s1 !== peg$FAILED) {
5529
5672
  peg$savedPos = s0;
5530
- s1 = peg$f96();
5673
+ s1 = peg$f99();
5531
5674
  }
5532
5675
  s0 = s1;
5533
5676
 
@@ -5541,10 +5684,10 @@ function peg$parse(input, options) {
5541
5684
  s1 = peg$parseellipsis();
5542
5685
  if (s1 !== peg$FAILED) {
5543
5686
  s2 = peg$parse__();
5544
- s3 = peg$parsepipelineExpression();
5687
+ s3 = peg$parseexpectPipelineExpression();
5545
5688
  if (s3 !== peg$FAILED) {
5546
5689
  peg$savedPos = s0;
5547
- s0 = peg$f97(s3);
5690
+ s0 = peg$f100(s3);
5548
5691
  } else {
5549
5692
  peg$currPos = s0;
5550
5693
  s0 = peg$FAILED;
@@ -5584,7 +5727,7 @@ function peg$parse(input, options) {
5584
5727
  peg$silentFails--;
5585
5728
  if (s0 === peg$FAILED) {
5586
5729
  s1 = peg$FAILED;
5587
- if (peg$silentFails === 0) { peg$fail(peg$e103); }
5730
+ if (peg$silentFails === 0) { peg$fail(peg$e104); }
5588
5731
  }
5589
5732
 
5590
5733
  return s0;
@@ -5621,10 +5764,10 @@ function peg$parse(input, options) {
5621
5764
  }
5622
5765
  }
5623
5766
  peg$savedPos = s0;
5624
- s0 = peg$f98(s1, s2);
5767
+ s0 = peg$f101(s1, s2);
5625
5768
  peg$silentFails--;
5626
5769
  s1 = peg$FAILED;
5627
- if (peg$silentFails === 0) { peg$fail(peg$e104); }
5770
+ if (peg$silentFails === 0) { peg$fail(peg$e105); }
5628
5771
 
5629
5772
  return s0;
5630
5773
  }
@@ -5635,12 +5778,12 @@ function peg$parse(input, options) {
5635
5778
  s0 = peg$currPos;
5636
5779
  s1 = peg$currPos;
5637
5780
  peg$silentFails++;
5638
- if (input.substr(peg$currPos, 2) === peg$c61) {
5639
- s2 = peg$c61;
5781
+ if (input.substr(peg$currPos, 2) === peg$c62) {
5782
+ s2 = peg$c62;
5640
5783
  peg$currPos += 2;
5641
5784
  } else {
5642
5785
  s2 = peg$FAILED;
5643
- if (peg$silentFails === 0) { peg$fail(peg$e105); }
5786
+ if (peg$silentFails === 0) { peg$fail(peg$e106); }
5644
5787
  }
5645
5788
  peg$silentFails--;
5646
5789
  if (s2 === peg$FAILED) {
@@ -5677,11 +5820,11 @@ function peg$parse(input, options) {
5677
5820
  s2 = peg$parsetemplateBodyChar();
5678
5821
  }
5679
5822
  peg$savedPos = s0;
5680
- s1 = peg$f99(s1);
5823
+ s1 = peg$f102(s1);
5681
5824
  s0 = s1;
5682
5825
  peg$silentFails--;
5683
5826
  s1 = peg$FAILED;
5684
- if (peg$silentFails === 0) { peg$fail(peg$e106); }
5827
+ if (peg$silentFails === 0) { peg$fail(peg$e107); }
5685
5828
 
5686
5829
  return s0;
5687
5830
  }
@@ -5696,7 +5839,7 @@ function peg$parse(input, options) {
5696
5839
  s2 = peg$parse__();
5697
5840
  s3 = peg$parsetemplateBody();
5698
5841
  peg$savedPos = s0;
5699
- s0 = peg$f100(s1, s3);
5842
+ s0 = peg$f103(s1, s3);
5700
5843
  } else {
5701
5844
  peg$currPos = s0;
5702
5845
  s0 = peg$FAILED;
@@ -5704,17 +5847,26 @@ function peg$parse(input, options) {
5704
5847
  if (s0 === peg$FAILED) {
5705
5848
  s0 = peg$currPos;
5706
5849
  s1 = peg$parsefrontMatterYaml();
5707
- if (s1 === peg$FAILED) {
5708
- s1 = null;
5850
+ if (s1 !== peg$FAILED) {
5851
+ s2 = peg$parsetemplateBody();
5852
+ peg$savedPos = s0;
5853
+ s0 = peg$f104(s1, s2);
5854
+ } else {
5855
+ peg$currPos = s0;
5856
+ s0 = peg$FAILED;
5857
+ }
5858
+ if (s0 === peg$FAILED) {
5859
+ s0 = peg$currPos;
5860
+ s1 = peg$parsetemplateBody();
5861
+ peg$savedPos = s0;
5862
+ s1 = peg$f105(s1);
5863
+ s0 = s1;
5709
5864
  }
5710
- s2 = peg$parsetemplateBody();
5711
- peg$savedPos = s0;
5712
- s0 = peg$f101(s1, s2);
5713
5865
  }
5714
5866
  peg$silentFails--;
5715
5867
  if (s0 === peg$FAILED) {
5716
5868
  s1 = peg$FAILED;
5717
- if (peg$silentFails === 0) { peg$fail(peg$e107); }
5869
+ if (peg$silentFails === 0) { peg$fail(peg$e108); }
5718
5870
  }
5719
5871
 
5720
5872
  return s0;
@@ -5726,11 +5878,11 @@ function peg$parse(input, options) {
5726
5878
  peg$silentFails++;
5727
5879
  s0 = peg$currPos;
5728
5880
  if (input.charCodeAt(peg$currPos) === 96) {
5729
- s1 = peg$c31;
5881
+ s1 = peg$c32;
5730
5882
  peg$currPos++;
5731
5883
  } else {
5732
5884
  s1 = peg$FAILED;
5733
- if (peg$silentFails === 0) { peg$fail(peg$e41); }
5885
+ if (peg$silentFails === 0) { peg$fail(peg$e42); }
5734
5886
  }
5735
5887
  if (s1 !== peg$FAILED) {
5736
5888
  s2 = peg$parsetemplateLiteralText();
@@ -5761,7 +5913,7 @@ function peg$parse(input, options) {
5761
5913
  s4 = peg$parseexpectBacktick();
5762
5914
  if (s4 !== peg$FAILED) {
5763
5915
  peg$savedPos = s0;
5764
- s0 = peg$f102(s2, s3);
5916
+ s0 = peg$f106(s2, s3);
5765
5917
  } else {
5766
5918
  peg$currPos = s0;
5767
5919
  s0 = peg$FAILED;
@@ -5773,7 +5925,7 @@ function peg$parse(input, options) {
5773
5925
  peg$silentFails--;
5774
5926
  if (s0 === peg$FAILED) {
5775
5927
  s1 = peg$FAILED;
5776
- if (peg$silentFails === 0) { peg$fail(peg$e108); }
5928
+ if (peg$silentFails === 0) { peg$fail(peg$e109); }
5777
5929
  }
5778
5930
 
5779
5931
  return s0;
@@ -5786,19 +5938,19 @@ function peg$parse(input, options) {
5786
5938
  s1 = peg$currPos;
5787
5939
  peg$silentFails++;
5788
5940
  if (input.charCodeAt(peg$currPos) === 96) {
5789
- s2 = peg$c31;
5941
+ s2 = peg$c32;
5790
5942
  peg$currPos++;
5791
5943
  } else {
5792
5944
  s2 = peg$FAILED;
5793
- if (peg$silentFails === 0) { peg$fail(peg$e41); }
5945
+ if (peg$silentFails === 0) { peg$fail(peg$e42); }
5794
5946
  }
5795
5947
  if (s2 === peg$FAILED) {
5796
- if (input.substr(peg$currPos, 2) === peg$c61) {
5797
- s2 = peg$c61;
5948
+ if (input.substr(peg$currPos, 2) === peg$c62) {
5949
+ s2 = peg$c62;
5798
5950
  peg$currPos += 2;
5799
5951
  } else {
5800
5952
  s2 = peg$FAILED;
5801
- if (peg$silentFails === 0) { peg$fail(peg$e105); }
5953
+ if (peg$silentFails === 0) { peg$fail(peg$e106); }
5802
5954
  }
5803
5955
  }
5804
5956
  peg$silentFails--;
@@ -5835,7 +5987,7 @@ function peg$parse(input, options) {
5835
5987
  s2 = peg$parsetemplateLiteralChar();
5836
5988
  }
5837
5989
  peg$savedPos = s0;
5838
- s1 = peg$f103(s1);
5990
+ s1 = peg$f107(s1);
5839
5991
  s0 = s1;
5840
5992
 
5841
5993
  return s0;
@@ -5846,26 +5998,26 @@ function peg$parse(input, options) {
5846
5998
 
5847
5999
  peg$silentFails++;
5848
6000
  s0 = peg$currPos;
5849
- if (input.substr(peg$currPos, 2) === peg$c61) {
5850
- s1 = peg$c61;
6001
+ if (input.substr(peg$currPos, 2) === peg$c62) {
6002
+ s1 = peg$c62;
5851
6003
  peg$currPos += 2;
5852
6004
  } else {
5853
6005
  s1 = peg$FAILED;
5854
- if (peg$silentFails === 0) { peg$fail(peg$e105); }
6006
+ if (peg$silentFails === 0) { peg$fail(peg$e106); }
5855
6007
  }
5856
6008
  if (s1 !== peg$FAILED) {
5857
6009
  s2 = peg$parseexpectExpression();
5858
6010
  if (s2 !== peg$FAILED) {
5859
6011
  if (input.charCodeAt(peg$currPos) === 125) {
5860
- s3 = peg$c32;
6012
+ s3 = peg$c33;
5861
6013
  peg$currPos++;
5862
6014
  } else {
5863
6015
  s3 = peg$FAILED;
5864
- if (peg$silentFails === 0) { peg$fail(peg$e42); }
6016
+ if (peg$silentFails === 0) { peg$fail(peg$e43); }
5865
6017
  }
5866
6018
  if (s3 !== peg$FAILED) {
5867
6019
  peg$savedPos = s0;
5868
- s0 = peg$f104(s2);
6020
+ s0 = peg$f108(s2);
5869
6021
  } else {
5870
6022
  peg$currPos = s0;
5871
6023
  s0 = peg$FAILED;
@@ -5881,7 +6033,7 @@ function peg$parse(input, options) {
5881
6033
  peg$silentFails--;
5882
6034
  if (s0 === peg$FAILED) {
5883
6035
  s1 = peg$FAILED;
5884
- if (peg$silentFails === 0) { peg$fail(peg$e109); }
6036
+ if (peg$silentFails === 0) { peg$fail(peg$e110); }
5885
6037
  }
5886
6038
 
5887
6039
  return s0;
@@ -5897,7 +6049,7 @@ function peg$parse(input, options) {
5897
6049
  peg$currPos++;
5898
6050
  } else {
5899
6051
  s0 = peg$FAILED;
5900
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
6052
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
5901
6053
  }
5902
6054
  }
5903
6055
 
@@ -5914,7 +6066,7 @@ function peg$parse(input, options) {
5914
6066
  s3 = peg$parseunaryExpression();
5915
6067
  if (s3 !== peg$FAILED) {
5916
6068
  peg$savedPos = s0;
5917
- s0 = peg$f105(s1, s3);
6069
+ s0 = peg$f109(s1, s3);
5918
6070
  } else {
5919
6071
  peg$currPos = s0;
5920
6072
  s0 = peg$FAILED;
@@ -5938,7 +6090,7 @@ function peg$parse(input, options) {
5938
6090
  peg$currPos++;
5939
6091
  } else {
5940
6092
  s0 = peg$FAILED;
5941
- if (peg$silentFails === 0) { peg$fail(peg$e110); }
6093
+ if (peg$silentFails === 0) { peg$fail(peg$e111); }
5942
6094
  }
5943
6095
  if (s0 === peg$FAILED) {
5944
6096
  s0 = peg$currPos;
@@ -5952,12 +6104,12 @@ function peg$parse(input, options) {
5952
6104
  if (s1 !== peg$FAILED) {
5953
6105
  s2 = peg$currPos;
5954
6106
  peg$silentFails++;
5955
- if (input.substr(peg$currPos, 2) === peg$c62) {
5956
- s3 = peg$c62;
6107
+ if (input.substr(peg$currPos, 2) === peg$c63) {
6108
+ s3 = peg$c63;
5957
6109
  peg$currPos += 2;
5958
6110
  } else {
5959
6111
  s3 = peg$FAILED;
5960
- if (peg$silentFails === 0) { peg$fail(peg$e111); }
6112
+ if (peg$silentFails === 0) { peg$fail(peg$e112); }
5961
6113
  }
5962
6114
  peg$silentFails--;
5963
6115
  if (s3 === peg$FAILED) {
@@ -5977,12 +6129,40 @@ function peg$parse(input, options) {
5977
6129
  s0 = peg$FAILED;
5978
6130
  }
5979
6131
  if (s0 === peg$FAILED) {
6132
+ s0 = peg$currPos;
5980
6133
  if (input.charCodeAt(peg$currPos) === 126) {
5981
- s0 = peg$c39;
6134
+ s1 = peg$c4;
5982
6135
  peg$currPos++;
5983
6136
  } else {
6137
+ s1 = peg$FAILED;
6138
+ if (peg$silentFails === 0) { peg$fail(peg$e5); }
6139
+ }
6140
+ if (s1 !== peg$FAILED) {
6141
+ s2 = peg$currPos;
6142
+ peg$silentFails++;
6143
+ if (input.charCodeAt(peg$currPos) === 47) {
6144
+ s3 = peg$c3;
6145
+ peg$currPos++;
6146
+ } else {
6147
+ s3 = peg$FAILED;
6148
+ if (peg$silentFails === 0) { peg$fail(peg$e4); }
6149
+ }
6150
+ peg$silentFails--;
6151
+ if (s3 === peg$FAILED) {
6152
+ s2 = undefined;
6153
+ } else {
6154
+ peg$currPos = s2;
6155
+ s2 = peg$FAILED;
6156
+ }
6157
+ if (s2 !== peg$FAILED) {
6158
+ s0 = s1;
6159
+ } else {
6160
+ peg$currPos = s0;
6161
+ s0 = peg$FAILED;
6162
+ }
6163
+ } else {
6164
+ peg$currPos = s0;
5984
6165
  s0 = peg$FAILED;
5985
- if (peg$silentFails === 0) { peg$fail(peg$e53); }
5986
6166
  }
5987
6167
  }
5988
6168
  }