@danielx/civet 0.6.61 → 0.6.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js CHANGED
@@ -487,6 +487,7 @@ ${input.slice(result.pos)}
487
487
  var require_lib = __commonJS({
488
488
  "source/lib.civet"(exports, module2) {
489
489
  "use strict";
490
+ var xor = (a, b) => a ? !b && a : b;
490
491
  function addParentPointers(node, parent) {
491
492
  if (node == null)
492
493
  return;
@@ -894,6 +895,31 @@ var require_lib = __commonJS({
894
895
  children
895
896
  };
896
897
  }
898
+ function expressionizeTypeIf([ws, ifOp, condition, t, e]) {
899
+ const children = [
900
+ ws,
901
+ "(",
902
+ insertTrimmingSpace(condition, ""),
903
+ "?"
904
+ ];
905
+ if (!xor(ifOp.negated, condition.negated)) {
906
+ children.push(t);
907
+ if (e) {
908
+ children.push(e[0], ":", ...e.slice(2));
909
+ } else {
910
+ children.push(":never");
911
+ }
912
+ } else {
913
+ if (e) {
914
+ children.push(...e.slice(2), e[0], ":");
915
+ } else {
916
+ children.push("never:");
917
+ }
918
+ children.push(t);
919
+ }
920
+ children.push(")");
921
+ return children;
922
+ }
897
923
  function expressionizeIteration(exp) {
898
924
  const { async, subtype, block, children, statement } = exp;
899
925
  const i = children.indexOf(statement);
@@ -966,10 +992,13 @@ var require_lib = __commonJS({
966
992
  if (op.reversed) {
967
993
  if (end !== i + 2)
968
994
  b = makeLeftHandSideExpression(b);
995
+ b = dotNumericLiteral(b);
969
996
  children = [wsB, b, wsOp, ".", op.method, "(", a, ")"];
970
997
  } else {
971
- if (start !== i - 2)
998
+ if (start !== i - 2 || a.type === "NumericLiteral") {
972
999
  a = makeLeftHandSideExpression(a);
1000
+ }
1001
+ a = dotNumericLiteral(a);
973
1002
  children = [a, wsOp, ".", op.method, "(", wsB, b, ")"];
974
1003
  }
975
1004
  } else if (op.token) {
@@ -1408,18 +1437,18 @@ var require_lib = __commonJS({
1408
1437
  }
1409
1438
  function findChildIndex(parent, child) {
1410
1439
  const children = Array.isArray(parent) ? parent : parent.children;
1411
- const len = children.length;
1412
- for (let i = 0; i < len; i++) {
1413
- const c = children[i];
1440
+ for (let i4 = 0, len4 = children.length; i4 < len4; i4++) {
1441
+ const i = i4;
1442
+ const c = children[i4];
1414
1443
  if (c === child || Array.isArray(c) && arrayRecurse(c)) {
1415
1444
  return i;
1416
1445
  }
1417
1446
  }
1418
1447
  function arrayRecurse(array) {
1419
- const len2 = array.length;
1420
1448
  const results2 = [];
1421
- for (let i = 0; i < len2; i++) {
1422
- const c = array[i];
1449
+ for (let i5 = 0, len5 = array.length; i5 < len5; i5++) {
1450
+ const i = i5;
1451
+ const c = array[i5];
1423
1452
  if (c === child || Array.isArray(c) && arrayRecurse(c)) {
1424
1453
  return true;
1425
1454
  } else {
@@ -1431,6 +1460,32 @@ var require_lib = __commonJS({
1431
1460
  }
1432
1461
  return -1;
1433
1462
  }
1463
+ function replaceNode(node, newNode) {
1464
+ if (!(node.parent != null)) {
1465
+ throw new Error("replaceNode failed: node has no parent");
1466
+ }
1467
+ function recurse(children) {
1468
+ for (let i6 = 0, len6 = children.length; i6 < len6; i6++) {
1469
+ const i = i6;
1470
+ const child = children[i6];
1471
+ if (child === node) {
1472
+ children[i] = newNode;
1473
+ return true;
1474
+ } else if (Array.isArray(child)) {
1475
+ if (recurse(child)) {
1476
+ return true;
1477
+ }
1478
+ }
1479
+ }
1480
+ return false;
1481
+ }
1482
+ if (!recurse(node.parent.children)) {
1483
+ throw new Error("replaceNode failed: didn't find child node in parent");
1484
+ }
1485
+ if (typeof newNode === "object" && !Array.isArray(newNode)) {
1486
+ newNode.parent = node.parent;
1487
+ }
1488
+ }
1434
1489
  function findAncestor(node, predicate, stopPredicate) {
1435
1490
  let { parent } = node;
1436
1491
  while (parent && !stopPredicate?.(parent, node)) {
@@ -2009,6 +2064,13 @@ var require_lib = __commonJS({
2009
2064
  insertRestSplices(statements, splices, thisAssignments);
2010
2065
  return [splices, thisAssignments];
2011
2066
  }
2067
+ function dotNumericLiteral(literal) {
2068
+ if (literal?.type === "Literal" && /^[+-]?(?:0|[1-9](?:_[0-9]|[0-9])*)$/.test(literal.raw)) {
2069
+ literal.children.push(".");
2070
+ literal.raw += ".";
2071
+ }
2072
+ return literal;
2073
+ }
2012
2074
  function literalValue(literal) {
2013
2075
  let { raw } = literal;
2014
2076
  switch (raw) {
@@ -2117,6 +2179,20 @@ var require_lib = __commonJS({
2117
2179
  return expression;
2118
2180
  }
2119
2181
  }
2182
+ var typeNeedsNoParens = /* @__PURE__ */ new Set([
2183
+ "IdentifierType",
2184
+ "ImportType",
2185
+ "LiteralType",
2186
+ "TupleType",
2187
+ "ParenthesizedType",
2188
+ "UnaryType"
2189
+ ]);
2190
+ function parenthesizeType(type) {
2191
+ if (typeNeedsNoParens.has(type.type)) {
2192
+ return type;
2193
+ }
2194
+ return ["(", type, ")"];
2195
+ }
2120
2196
  function modifyString(str) {
2121
2197
  return str.replace(/(^.?|[^\\]{2})(\\\\)*\n/g, "$1$2\\n");
2122
2198
  }
@@ -2168,6 +2244,25 @@ var require_lib = __commonJS({
2168
2244
  block
2169
2245
  };
2170
2246
  }
2247
+ function convertOptionalType(suffix) {
2248
+ if (suffix.t.type === "AssertsType") {
2249
+ spliceChild(suffix, suffix.optional, 1, suffix.optional = {
2250
+ type: "Error",
2251
+ message: "Can't use optional ?: syntax with asserts type"
2252
+ });
2253
+ return;
2254
+ }
2255
+ spliceChild(suffix, suffix.optional, 1, suffix.optional = void 0);
2256
+ const wrap = suffix.type === "ReturnTypeAnnotation";
2257
+ spliceChild(suffix, suffix.t, 1, suffix.t = [
2258
+ getTrimmingSpace(suffix.t),
2259
+ wrap && "(",
2260
+ // TODO: avoid parens if unnecessary
2261
+ "undefined | ",
2262
+ parenthesizeType(insertTrimmingSpace(suffix.t, "")),
2263
+ wrap && ")"
2264
+ ]);
2265
+ }
2171
2266
  function convertObjectToJSXAttributes(obj) {
2172
2267
  const { properties } = obj;
2173
2268
  const parts = [];
@@ -2453,21 +2548,14 @@ var require_lib = __commonJS({
2453
2548
  return n.type === "Declaration";
2454
2549
  }).forEach(({ bindings }) => {
2455
2550
  return bindings?.forEach((binding) => {
2456
- const { initializer } = binding;
2457
- if (!initializer) {
2458
- return;
2551
+ const suffix = binding.suffix;
2552
+ if (suffix && suffix.optional && suffix.t) {
2553
+ convertOptionalType(suffix);
2459
2554
  }
2460
- const exp = initializer[2];
2461
- if (exp?.type === "PipelineExpression") {
2462
- if (exp.children.at(-2) === ",") {
2463
- const { parent } = exp;
2464
- const parenthesizedExpression = makeLeftHandSideExpression(exp);
2465
- parenthesizedExpression.parent = parent;
2466
- exp.parent = parenthesizedExpression;
2467
- return initializer[2] = parenthesizedExpression;
2468
- }
2469
- ;
2470
- return;
2555
+ const { initializer } = binding;
2556
+ if (initializer) {
2557
+ const exp = initializer[2];
2558
+ return exp;
2471
2559
  }
2472
2560
  ;
2473
2561
  return;
@@ -2494,13 +2582,17 @@ var require_lib = __commonJS({
2494
2582
  }
2495
2583
  }
2496
2584
  function processReturn(f, implicitReturns) {
2585
+ let { returnType } = f.signature;
2586
+ if (returnType && returnType.optional) {
2587
+ convertOptionalType(returnType);
2588
+ }
2497
2589
  if (!processReturnValue(f) && implicitReturns) {
2498
2590
  const { signature, block } = f;
2499
- const { modifier, name, returnType } = signature;
2591
+ const { modifier, name, returnType: returnType2 } = signature;
2500
2592
  const { async, generator, set } = modifier;
2501
2593
  const isMethod = f.type === "MethodDefinition";
2502
2594
  const isConstructor = isMethod && name === "constructor";
2503
- const isVoid = isVoidType(returnType?.t) || async && isPromiseVoidType(returnType?.t) || !async && generator && isGeneratorVoidType(returnType?.t);
2595
+ const isVoid = isVoidType(returnType2?.t) || async && isPromiseVoidType(returnType2?.t) || !async && generator && isGeneratorVoidType(returnType2?.t);
2504
2596
  const isBlock = block?.type === "BlockStatement";
2505
2597
  if (!isVoid && !set && !isConstructor && isBlock) {
2506
2598
  insertReturn(block);
@@ -2576,12 +2668,10 @@ var require_lib = __commonJS({
2576
2668
  gatherRecursiveAll(statements, (n) => n.type === "AssignmentExpression" && n.names === null).forEach((exp) => {
2577
2669
  let { lhs: $1, exp: $2 } = exp, tail = [], i = 0, len = $1.length;
2578
2670
  if ($1.some((left) => left[left.length - 1].special)) {
2579
- if ($1.length !== 1) {
2671
+ if ($1.length !== 1)
2580
2672
  throw new Error("Only one assignment with id= is allowed");
2581
- }
2582
2673
  const [, lhs, , op] = $1[0];
2583
- const { call } = op;
2584
- op[op.length - 1] = "=";
2674
+ const { call, omitLhs } = op;
2585
2675
  const index2 = exp.children.indexOf($2);
2586
2676
  if (index2 < 0)
2587
2677
  throw new Error("Assertion error: exp not in AssignmentExpression");
@@ -2590,6 +2680,9 @@ var require_lib = __commonJS({
2590
2680
  1,
2591
2681
  exp.exp = $2 = [call, "(", lhs, ", ", $2, ")"]
2592
2682
  );
2683
+ if (omitLhs) {
2684
+ replaceNode(exp, $2);
2685
+ }
2593
2686
  }
2594
2687
  let wrapped = false;
2595
2688
  while (i < len) {
@@ -2656,9 +2749,9 @@ var require_lib = __commonJS({
2656
2749
  }
2657
2750
  function insertSemicolon(statements) {
2658
2751
  const l = statements.length;
2659
- for (let i4 = 0, len4 = statements.length; i4 < len4; i4++) {
2660
- const i = i4;
2661
- const s = statements[i4];
2752
+ for (let i7 = 0, len7 = statements.length; i7 < len7; i7++) {
2753
+ const i = i7;
2754
+ const s = statements[i7];
2662
2755
  if (i < l - 1) {
2663
2756
  if (needsPrecedingSemicolon(statements[i + 1])) {
2664
2757
  const delim = s[2];
@@ -3203,9 +3296,51 @@ var require_lib = __commonJS({
3203
3296
  };
3204
3297
  }
3205
3298
  children.push(arg);
3299
+ if (!children.some(($3) => $3?.type === "ReturnStatement") && children.some(($4) => $4 === ",")) {
3300
+ const { parent } = s;
3301
+ const parenthesizedExpression = makeLeftHandSideExpression({ ...s });
3302
+ Object.assign(s, parenthesizedExpression, {
3303
+ parent,
3304
+ hoistDec: void 0
3305
+ });
3306
+ }
3206
3307
  return addParentPointers(s, s.parent);
3207
3308
  });
3208
3309
  }
3310
+ function processTypes(node) {
3311
+ return gatherRecursiveAll(node, (n) => n.type === "UnaryType").forEach((unary) => {
3312
+ let last;
3313
+ let count = 0;
3314
+ while (unary.suffix.length && unary.suffix.at(-1)?.token === "?") {
3315
+ last = unary.suffix.pop();
3316
+ count++;
3317
+ }
3318
+ if (!count) {
3319
+ return;
3320
+ }
3321
+ if (unary.parent?.type === "TypeTuple") {
3322
+ if (count === 1) {
3323
+ unary.suffix.push(last);
3324
+ return;
3325
+ }
3326
+ replaceNode(unary, [
3327
+ getTrimmingSpace(unary),
3328
+ "(",
3329
+ parenthesizeType(insertTrimmingSpace(unary, "")),
3330
+ " | null)",
3331
+ last
3332
+ ]);
3333
+ } else {
3334
+ replaceNode(unary, [
3335
+ getTrimmingSpace(unary),
3336
+ "(",
3337
+ parenthesizeType(insertTrimmingSpace(unary, "")),
3338
+ count === 1 ? " | undefined" : " | undefined | null",
3339
+ ")"
3340
+ ]);
3341
+ }
3342
+ });
3343
+ }
3209
3344
  function processProgram(root, config, m, ReservedWord) {
3210
3345
  assert.equal(m.forbidBracedApplication.length, 1, "forbidBracedApplication");
3211
3346
  assert.equal(m.forbidClassImplicitCall.length, 1, "forbidClassImplicitCall");
@@ -3215,6 +3350,7 @@ var require_lib = __commonJS({
3215
3350
  assert.equal(m.JSXTagStack.length, 1, "JSXTagStack");
3216
3351
  addParentPointers(root);
3217
3352
  const { expressions: statements } = root;
3353
+ processTypes(statements);
3218
3354
  processDeclarationConditions(statements);
3219
3355
  processPipelineExpressions(statements);
3220
3356
  processDeclarations(statements);
@@ -3613,9 +3749,9 @@ var require_lib = __commonJS({
3613
3749
  return root;
3614
3750
  }
3615
3751
  }
3616
- for (let i5 = 0, len5 = array.length; i5 < len5; i5++) {
3617
- const i = i5;
3618
- const node = array[i5];
3752
+ for (let i8 = 0, len8 = array.length; i8 < len8; i8++) {
3753
+ const i = i8;
3754
+ const node = array[i8];
3619
3755
  if (!(node != null)) {
3620
3756
  return;
3621
3757
  }
@@ -3627,6 +3763,17 @@ var require_lib = __commonJS({
3627
3763
  }
3628
3764
  return root;
3629
3765
  }
3766
+ function spliceChild(node, child, del, ...replacements) {
3767
+ const children = node?.children ?? node;
3768
+ if (!Array.isArray(children)) {
3769
+ throw new Error("spliceChild: non-array node has no children field");
3770
+ }
3771
+ const index = children.indexOf(child);
3772
+ if (index < 0) {
3773
+ throw new Error("spliceChild: child not found");
3774
+ }
3775
+ return children.splice(index, del, ...replacements);
3776
+ }
3630
3777
  function skipIfOnlyWS(target) {
3631
3778
  if (!target)
3632
3779
  return target;
@@ -3772,6 +3919,7 @@ var require_lib = __commonJS({
3772
3919
  dedentBlockSubstitutions,
3773
3920
  deepCopy,
3774
3921
  expressionizeIfClause,
3922
+ expressionizeTypeIf,
3775
3923
  findAncestor,
3776
3924
  forRange,
3777
3925
  gatherBindingCode,
@@ -3899,6 +4047,7 @@ var require_parser = __commonJS({
3899
4047
  UnaryBody,
3900
4048
  UnaryWithoutParenthesizedAssignmentBody,
3901
4049
  UnaryPostfix,
4050
+ TypePostfix,
3902
4051
  UpdateExpression,
3903
4052
  UpdateExpressionSymbol,
3904
4053
  AssignmentExpression,
@@ -3928,6 +4077,8 @@ var require_parser = __commonJS({
3928
4077
  ExtendsClause,
3929
4078
  ExtendsToken,
3930
4079
  ExtendsShorthand,
4080
+ NotExtendsToken,
4081
+ OmittedNegation,
3931
4082
  ExtendsTarget,
3932
4083
  ImplementsClause,
3933
4084
  ImplementsToken,
@@ -4326,6 +4477,7 @@ var require_parser = __commonJS({
4326
4477
  Each,
4327
4478
  Else,
4328
4479
  Equals,
4480
+ ExclamationPoint,
4329
4481
  Export,
4330
4482
  Extends,
4331
4483
  Finally,
@@ -4468,6 +4620,7 @@ var require_parser = __commonJS({
4468
4620
  TypeIndexSignature,
4469
4621
  TypeIndex,
4470
4622
  TypeSuffix,
4623
+ MaybeIndentedType,
4471
4624
  ReturnTypeSuffix,
4472
4625
  ReturnType,
4473
4626
  TypePredicate,
@@ -4486,6 +4639,10 @@ var require_parser = __commonJS({
4486
4639
  NestedTypeList,
4487
4640
  NestedType,
4488
4641
  TypeConditional,
4642
+ TypeCondition,
4643
+ TypeIfThenElse,
4644
+ TypeElse,
4645
+ TypeBlock,
4489
4646
  TypeTemplateSubstitution,
4490
4647
  TypeTemplateLiteral,
4491
4648
  CoffeeStringTypeSubstitution,
@@ -4573,296 +4730,299 @@ var require_parser = __commonJS({
4573
4730
  var $L7 = $L(".");
4574
4731
  var $L8 = $L("++");
4575
4732
  var $L9 = $L("--");
4576
- var $L10 = $L("=>");
4577
- var $L11 = $L("\u21D2");
4578
- var $L12 = $L(":");
4579
- var $L13 = $L(" ");
4580
- var $L14 = $L("<");
4581
- var $L15 = $L("implements");
4582
- var $L16 = $L("<:");
4583
- var $L17 = $L("import");
4584
- var $L18 = $L("!");
4585
- var $L19 = $L("^");
4586
- var $L20 = $L("-");
4587
- var $L21 = $L("import.meta");
4588
- var $L22 = $L("return.value");
4589
- var $L23 = $L(",");
4590
- var $L24 = $L("(&)");
4591
- var $L25 = $L("->");
4592
- var $L26 = $L("\u2192");
4593
- var $L27 = $L("}");
4594
- var $L28 = $L("null");
4595
- var $L29 = $L("true");
4596
- var $L30 = $L("false");
4597
- var $L31 = $L("yes");
4598
- var $L32 = $L("on");
4599
- var $L33 = $L("no");
4600
- var $L34 = $L("off");
4601
- var $L35 = $L(">");
4602
- var $L36 = $L("]");
4603
- var $L37 = $L("**=");
4604
- var $L38 = $L("*=");
4605
- var $L39 = $L("/=");
4606
- var $L40 = $L("%=");
4607
- var $L41 = $L("+=");
4608
- var $L42 = $L("-=");
4609
- var $L43 = $L("<<=");
4610
- var $L44 = $L(">>>=");
4611
- var $L45 = $L(">>=");
4612
- var $L46 = $L("&&=");
4613
- var $L47 = $L("&=");
4614
- var $L48 = $L("^=");
4615
- var $L49 = $L("||=");
4616
- var $L50 = $L("|=");
4617
- var $L51 = $L("??=");
4618
- var $L52 = $L("?=");
4619
- var $L53 = $L("and=");
4620
- var $L54 = $L("or=");
4621
- var $L55 = $L("**");
4622
- var $L56 = $L("*");
4623
- var $L57 = $L("/");
4624
- var $L58 = $L("%%");
4625
- var $L59 = $L("%");
4626
- var $L60 = $L("+");
4627
- var $L61 = $L("<=");
4628
- var $L62 = $L("\u2264");
4629
- var $L63 = $L(">=");
4630
- var $L64 = $L("\u2265");
4631
- var $L65 = $L("<?");
4632
- var $L66 = $L("!<?");
4633
- var $L67 = $L("<<");
4634
- var $L68 = $L("\xAB");
4635
- var $L69 = $L(">>>");
4636
- var $L70 = $L("\u22D9");
4637
- var $L71 = $L(">>");
4638
- var $L72 = $L("\xBB");
4639
- var $L73 = $L("!==");
4640
- var $L74 = $L("\u2262");
4641
- var $L75 = $L("!=");
4642
- var $L76 = $L("\u2260");
4643
- var $L77 = $L("isnt");
4644
- var $L78 = $L("===");
4645
- var $L79 = $L("\u2263");
4646
- var $L80 = $L("\u2A76");
4647
- var $L81 = $L("==");
4648
- var $L82 = $L("\u2261");
4649
- var $L83 = $L("\u2A75");
4650
- var $L84 = $L("and");
4651
- var $L85 = $L("&&");
4652
- var $L86 = $L("or");
4653
- var $L87 = $L("||");
4654
- var $L88 = $L("\u2016");
4655
- var $L89 = $L("^^");
4656
- var $L90 = $L("xor");
4657
- var $L91 = $L("xnor");
4658
- var $L92 = $L("??");
4659
- var $L93 = $L("\u2047");
4660
- var $L94 = $L("instanceof");
4661
- var $L95 = $L("\u2208");
4662
- var $L96 = $L("\u220B");
4663
- var $L97 = $L("\u220C");
4664
- var $L98 = $L("\u2209");
4665
- var $L99 = $L("&");
4666
- var $L100 = $L("|");
4667
- var $L101 = $L(";");
4668
- var $L102 = $L("$:");
4669
- var $L103 = $L("break");
4670
- var $L104 = $L("continue");
4671
- var $L105 = $L("debugger");
4672
- var $L106 = $L("with");
4673
- var $L107 = $L("assert");
4674
- var $L108 = $L(":=");
4675
- var $L109 = $L("\u2254");
4676
- var $L110 = $L(".=");
4677
- var $L111 = $L("/*");
4678
- var $L112 = $L("*/");
4679
- var $L113 = $L("\\");
4680
- var $L114 = $L(")");
4681
- var $L115 = $L("abstract");
4682
- var $L116 = $L("as");
4683
- var $L117 = $L("@");
4684
- var $L118 = $L("@@");
4685
- var $L119 = $L("async");
4686
- var $L120 = $L("await");
4687
- var $L121 = $L("`");
4688
- var $L122 = $L("by");
4689
- var $L123 = $L("case");
4690
- var $L124 = $L("catch");
4691
- var $L125 = $L("class");
4692
- var $L126 = $L("#{");
4693
- var $L127 = $L("declare");
4694
- var $L128 = $L("default");
4695
- var $L129 = $L("delete");
4696
- var $L130 = $L("do");
4697
- var $L131 = $L("..");
4698
- var $L132 = $L("\u2025");
4699
- var $L133 = $L("...");
4700
- var $L134 = $L("\u2026");
4701
- var $L135 = $L("::");
4702
- var $L136 = $L('"');
4703
- var $L137 = $L("each");
4704
- var $L138 = $L("else");
4705
- var $L139 = $L("export");
4706
- var $L140 = $L("extends");
4707
- var $L141 = $L("finally");
4708
- var $L142 = $L("for");
4709
- var $L143 = $L("from");
4710
- var $L144 = $L("function");
4711
- var $L145 = $L("get");
4712
- var $L146 = $L("set");
4713
- var $L147 = $L("#");
4714
- var $L148 = $L("if");
4715
- var $L149 = $L("in");
4716
- var $L150 = $L("let");
4717
- var $L151 = $L("const");
4718
- var $L152 = $L("is");
4719
- var $L153 = $L("loop");
4720
- var $L154 = $L("new");
4721
- var $L155 = $L("not");
4722
- var $L156 = $L("of");
4723
- var $L157 = $L("[");
4724
- var $L158 = $L("operator");
4725
- var $L159 = $L("own");
4726
- var $L160 = $L("public");
4727
- var $L161 = $L("private");
4728
- var $L162 = $L("protected");
4729
- var $L163 = $L("||>");
4730
- var $L164 = $L("|\u25B7");
4731
- var $L165 = $L("|>=");
4732
- var $L166 = $L("\u25B7=");
4733
- var $L167 = $L("|>");
4734
- var $L168 = $L("\u25B7");
4735
- var $L169 = $L("readonly");
4736
- var $L170 = $L("return");
4737
- var $L171 = $L("satisfies");
4738
- var $L172 = $L("'");
4739
- var $L173 = $L("static");
4740
- var $L174 = $L("${");
4741
- var $L175 = $L("super");
4742
- var $L176 = $L("switch");
4743
- var $L177 = $L("target");
4744
- var $L178 = $L("then");
4745
- var $L179 = $L("this");
4746
- var $L180 = $L("throw");
4747
- var $L181 = $L('"""');
4748
- var $L182 = $L("'''");
4749
- var $L183 = $L("///");
4750
- var $L184 = $L("```");
4751
- var $L185 = $L("try");
4752
- var $L186 = $L("typeof");
4753
- var $L187 = $L("unless");
4754
- var $L188 = $L("until");
4755
- var $L189 = $L("using");
4756
- var $L190 = $L("var");
4757
- var $L191 = $L("void");
4758
- var $L192 = $L("when");
4759
- var $L193 = $L("while");
4760
- var $L194 = $L("yield");
4761
- var $L195 = $L("/>");
4762
- var $L196 = $L("</");
4763
- var $L197 = $L("<>");
4764
- var $L198 = $L("</>");
4765
- var $L199 = $L("<!--");
4766
- var $L200 = $L("-->");
4767
- var $L201 = $L("type");
4768
- var $L202 = $L("enum");
4769
- var $L203 = $L("interface");
4770
- var $L204 = $L("global");
4771
- var $L205 = $L("module");
4772
- var $L206 = $L("namespace");
4773
- var $L207 = $L("asserts");
4774
- var $L208 = $L("keyof");
4775
- var $L209 = $L("infer");
4776
- var $L210 = $L("???");
4777
- var $L211 = $L("[]");
4778
- var $L212 = $L("civet");
4733
+ var $L10 = $L("\u29FA");
4734
+ var $L11 = $L("=>");
4735
+ var $L12 = $L("\u21D2");
4736
+ var $L13 = $L(":");
4737
+ var $L14 = $L(" ");
4738
+ var $L15 = $L("<");
4739
+ var $L16 = $L("implements");
4740
+ var $L17 = $L("<:");
4741
+ var $L18 = $L("import");
4742
+ var $L19 = $L("!");
4743
+ var $L20 = $L("^");
4744
+ var $L21 = $L("-");
4745
+ var $L22 = $L("import.meta");
4746
+ var $L23 = $L("return.value");
4747
+ var $L24 = $L(",");
4748
+ var $L25 = $L("(&)");
4749
+ var $L26 = $L("->");
4750
+ var $L27 = $L("\u2192");
4751
+ var $L28 = $L("}");
4752
+ var $L29 = $L("null");
4753
+ var $L30 = $L("true");
4754
+ var $L31 = $L("false");
4755
+ var $L32 = $L("yes");
4756
+ var $L33 = $L("on");
4757
+ var $L34 = $L("no");
4758
+ var $L35 = $L("off");
4759
+ var $L36 = $L(">");
4760
+ var $L37 = $L("]");
4761
+ var $L38 = $L("**=");
4762
+ var $L39 = $L("*=");
4763
+ var $L40 = $L("/=");
4764
+ var $L41 = $L("%=");
4765
+ var $L42 = $L("+=");
4766
+ var $L43 = $L("-=");
4767
+ var $L44 = $L("<<=");
4768
+ var $L45 = $L(">>>=");
4769
+ var $L46 = $L(">>=");
4770
+ var $L47 = $L("&&=");
4771
+ var $L48 = $L("&=");
4772
+ var $L49 = $L("^=");
4773
+ var $L50 = $L("||=");
4774
+ var $L51 = $L("|=");
4775
+ var $L52 = $L("??=");
4776
+ var $L53 = $L("?=");
4777
+ var $L54 = $L("and=");
4778
+ var $L55 = $L("or=");
4779
+ var $L56 = $L("**");
4780
+ var $L57 = $L("*");
4781
+ var $L58 = $L("/");
4782
+ var $L59 = $L("%%");
4783
+ var $L60 = $L("%");
4784
+ var $L61 = $L("+");
4785
+ var $L62 = $L("<=");
4786
+ var $L63 = $L("\u2264");
4787
+ var $L64 = $L(">=");
4788
+ var $L65 = $L("\u2265");
4789
+ var $L66 = $L("<?");
4790
+ var $L67 = $L("!<?");
4791
+ var $L68 = $L("<<");
4792
+ var $L69 = $L("\xAB");
4793
+ var $L70 = $L(">>>");
4794
+ var $L71 = $L("\u22D9");
4795
+ var $L72 = $L(">>");
4796
+ var $L73 = $L("\xBB");
4797
+ var $L74 = $L("!==");
4798
+ var $L75 = $L("\u2262");
4799
+ var $L76 = $L("!=");
4800
+ var $L77 = $L("\u2260");
4801
+ var $L78 = $L("isnt");
4802
+ var $L79 = $L("===");
4803
+ var $L80 = $L("\u2263");
4804
+ var $L81 = $L("\u2A76");
4805
+ var $L82 = $L("==");
4806
+ var $L83 = $L("\u2261");
4807
+ var $L84 = $L("\u2A75");
4808
+ var $L85 = $L("and");
4809
+ var $L86 = $L("&&");
4810
+ var $L87 = $L("or");
4811
+ var $L88 = $L("||");
4812
+ var $L89 = $L("\u2016");
4813
+ var $L90 = $L("^^");
4814
+ var $L91 = $L("xor");
4815
+ var $L92 = $L("xnor");
4816
+ var $L93 = $L("??");
4817
+ var $L94 = $L("\u2047");
4818
+ var $L95 = $L("instanceof");
4819
+ var $L96 = $L("\u2208");
4820
+ var $L97 = $L("\u220B");
4821
+ var $L98 = $L("\u220C");
4822
+ var $L99 = $L("\u2209");
4823
+ var $L100 = $L("&");
4824
+ var $L101 = $L("|");
4825
+ var $L102 = $L(";");
4826
+ var $L103 = $L("$:");
4827
+ var $L104 = $L("break");
4828
+ var $L105 = $L("continue");
4829
+ var $L106 = $L("debugger");
4830
+ var $L107 = $L("with");
4831
+ var $L108 = $L("assert");
4832
+ var $L109 = $L(":=");
4833
+ var $L110 = $L("\u2254");
4834
+ var $L111 = $L(".=");
4835
+ var $L112 = $L("/*");
4836
+ var $L113 = $L("*/");
4837
+ var $L114 = $L("\\");
4838
+ var $L115 = $L(")");
4839
+ var $L116 = $L("abstract");
4840
+ var $L117 = $L("as");
4841
+ var $L118 = $L("@");
4842
+ var $L119 = $L("@@");
4843
+ var $L120 = $L("async");
4844
+ var $L121 = $L("await");
4845
+ var $L122 = $L("`");
4846
+ var $L123 = $L("by");
4847
+ var $L124 = $L("case");
4848
+ var $L125 = $L("catch");
4849
+ var $L126 = $L("class");
4850
+ var $L127 = $L("#{");
4851
+ var $L128 = $L("declare");
4852
+ var $L129 = $L("default");
4853
+ var $L130 = $L("delete");
4854
+ var $L131 = $L("do");
4855
+ var $L132 = $L("..");
4856
+ var $L133 = $L("\u2025");
4857
+ var $L134 = $L("...");
4858
+ var $L135 = $L("\u2026");
4859
+ var $L136 = $L("::");
4860
+ var $L137 = $L('"');
4861
+ var $L138 = $L("each");
4862
+ var $L139 = $L("else");
4863
+ var $L140 = $L("export");
4864
+ var $L141 = $L("extends");
4865
+ var $L142 = $L("finally");
4866
+ var $L143 = $L("for");
4867
+ var $L144 = $L("from");
4868
+ var $L145 = $L("function");
4869
+ var $L146 = $L("get");
4870
+ var $L147 = $L("set");
4871
+ var $L148 = $L("#");
4872
+ var $L149 = $L("if");
4873
+ var $L150 = $L("in");
4874
+ var $L151 = $L("let");
4875
+ var $L152 = $L("const");
4876
+ var $L153 = $L("is");
4877
+ var $L154 = $L("loop");
4878
+ var $L155 = $L("new");
4879
+ var $L156 = $L("not");
4880
+ var $L157 = $L("of");
4881
+ var $L158 = $L("[");
4882
+ var $L159 = $L("operator");
4883
+ var $L160 = $L("own");
4884
+ var $L161 = $L("public");
4885
+ var $L162 = $L("private");
4886
+ var $L163 = $L("protected");
4887
+ var $L164 = $L("||>");
4888
+ var $L165 = $L("|\u25B7");
4889
+ var $L166 = $L("|>=");
4890
+ var $L167 = $L("\u25B7=");
4891
+ var $L168 = $L("|>");
4892
+ var $L169 = $L("\u25B7");
4893
+ var $L170 = $L("readonly");
4894
+ var $L171 = $L("return");
4895
+ var $L172 = $L("satisfies");
4896
+ var $L173 = $L("'");
4897
+ var $L174 = $L("static");
4898
+ var $L175 = $L("${");
4899
+ var $L176 = $L("super");
4900
+ var $L177 = $L("switch");
4901
+ var $L178 = $L("target");
4902
+ var $L179 = $L("then");
4903
+ var $L180 = $L("this");
4904
+ var $L181 = $L("throw");
4905
+ var $L182 = $L('"""');
4906
+ var $L183 = $L("'''");
4907
+ var $L184 = $L("///");
4908
+ var $L185 = $L("```");
4909
+ var $L186 = $L("try");
4910
+ var $L187 = $L("typeof");
4911
+ var $L188 = $L("unless");
4912
+ var $L189 = $L("until");
4913
+ var $L190 = $L("using");
4914
+ var $L191 = $L("var");
4915
+ var $L192 = $L("void");
4916
+ var $L193 = $L("when");
4917
+ var $L194 = $L("while");
4918
+ var $L195 = $L("yield");
4919
+ var $L196 = $L("/>");
4920
+ var $L197 = $L("</");
4921
+ var $L198 = $L("<>");
4922
+ var $L199 = $L("</>");
4923
+ var $L200 = $L("<!--");
4924
+ var $L201 = $L("-->");
4925
+ var $L202 = $L("type");
4926
+ var $L203 = $L("enum");
4927
+ var $L204 = $L("interface");
4928
+ var $L205 = $L("global");
4929
+ var $L206 = $L("module");
4930
+ var $L207 = $L("namespace");
4931
+ var $L208 = $L("asserts");
4932
+ var $L209 = $L("keyof");
4933
+ var $L210 = $L("infer");
4934
+ var $L211 = $L("???");
4935
+ var $L212 = $L("[]");
4936
+ var $L213 = $L("civet");
4779
4937
  var $R0 = $R(new RegExp("(?=debugger|if|unless|do|for|loop|until|while|switch|throw|try)", "suy"));
4780
4938
  var $R1 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
4781
4939
  var $R2 = $R(new RegExp("[0-9]", "suy"));
4782
- var $R3 = $R(new RegExp("[ \\t]", "suy"));
4783
- var $R4 = $R(new RegExp("(?=['\"`<])", "suy"));
4784
- var $R5 = $R(new RegExp("(?=[\\/?])", "suy"));
4785
- var $R6 = $R(new RegExp("(?=[\\/\\[{?.!@'\u2019:])", "suy"));
4786
- var $R7 = $R(new RegExp("[)}]", "suy"));
4787
- var $R8 = $R(new RegExp("[&]", "suy"));
4788
- var $R9 = $R(new RegExp(`(?=[0-9.'"tfyno])`, "suy"));
4789
- var $R10 = $R(new RegExp("(?=true|false|yes|no|on|off)", "suy"));
4790
- var $R11 = $R(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
4791
- var $R12 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
4792
- var $R13 = $R(new RegExp("(?=\\[)", "suy"));
4793
- var $R14 = $R(new RegExp("[!+-]", "suy"));
4794
- var $R15 = $R(new RegExp("(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>+-])", "suy"));
4795
- var $R16 = $R(new RegExp("!\\^\\^?", "suy"));
4796
- var $R17 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
4797
- var $R18 = $R(new RegExp("[:.]", "suy"));
4798
- var $R19 = $R(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
4799
- var $R20 = $R(new RegExp("(?=loop|do|for|until|while)", "suy"));
4800
- var $R21 = $R(new RegExp("(?=[\\s\\),])", "suy"));
4801
- var $R22 = $R(new RegExp('[^;"\\s]+', "suy"));
4802
- var $R23 = $R(new RegExp("(?=[0-9.])", "suy"));
4803
- var $R24 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
4804
- var $R25 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
4805
- var $R26 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
4806
- var $R27 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
4807
- var $R28 = $R(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
4808
- var $R29 = $R(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
4809
- var $R30 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
4810
- var $R31 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
4811
- var $R32 = $R(new RegExp("(?=[0-9])", "suy"));
4812
- var $R33 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
4813
- var $R34 = $R(new RegExp('(?:\\\\.|[^"])*', "suy"));
4814
- var $R35 = $R(new RegExp("(?:\\\\.|[^'])*", "suy"));
4815
- var $R36 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
4816
- var $R37 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
4817
- var $R38 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
4818
- var $R39 = $R(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
4819
- var $R40 = $R(new RegExp("(?:\\\\.)", "suy"));
4820
- var $R41 = $R(new RegExp("[\\s]+", "suy"));
4821
- var $R42 = $R(new RegExp("\\/(?!\\/\\/)", "suy"));
4822
- var $R43 = $R(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
4823
- var $R44 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
4824
- var $R45 = $R(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
4825
- var $R46 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
4826
- var $R47 = $R(new RegExp("(?=[`'\"])", "suy"));
4827
- var $R48 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
4828
- var $R49 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
4829
- var $R50 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
4830
- var $R51 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
4831
- var $R52 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
4832
- var $R53 = $R(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
4833
- var $R54 = $R(new RegExp("(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
4834
- var $R55 = $R(new RegExp("(?=\\/|#)", "suy"));
4835
- var $R56 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
4836
- var $R57 = $R(new RegExp(".", "suy"));
4837
- var $R58 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
4838
- var $R59 = $R(new RegExp("[^]*?###", "suy"));
4839
- var $R60 = $R(new RegExp("###(?!#)", "suy"));
4840
- var $R61 = $R(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
4841
- var $R62 = $R(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
4842
- var $R63 = $R(new RegExp("[ \\t]+", "suy"));
4843
- var $R64 = $R(new RegExp("(?=\\s|\\/|#)", "suy"));
4844
- var $R65 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
4845
- var $R66 = $R(new RegExp("['\u2019]s", "suy"));
4846
- var $R67 = $R(new RegExp("\\s", "suy"));
4847
- var $R68 = $R(new RegExp("(?=[<])", "suy"));
4848
- var $R69 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
4849
- var $R70 = $R(new RegExp("[\\s>]|\\/>", "suy"));
4850
- var $R71 = $R(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
4851
- var $R72 = $R(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
4852
- var $R73 = $R(new RegExp("[<>]", "suy"));
4853
- var $R74 = $R(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
4854
- var $R75 = $R(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
4855
- var $R76 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
4856
- var $R77 = $R(new RegExp("[+-]?", "suy"));
4857
- var $R78 = $R(new RegExp("[+-]", "suy"));
4858
- var $R79 = $R(new RegExp("#![^\\r\\n]*", "suy"));
4859
- var $R80 = $R(new RegExp("[\\t ]*", "suy"));
4860
- var $R81 = $R(new RegExp("[ \\t]*", "suy"));
4861
- var $R82 = $R(new RegExp("[\\s]*", "suy"));
4862
- var $R83 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
4863
- var $R84 = $R(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
4864
- var $R85 = $R(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
4865
- var $R86 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
4940
+ var $R3 = $R(new RegExp("(?!\\p{ID_Start}|[_$0-9(\\[{])", "suy"));
4941
+ var $R4 = $R(new RegExp("[ \\t]", "suy"));
4942
+ var $R5 = $R(new RegExp("(?=['\"`<])", "suy"));
4943
+ var $R6 = $R(new RegExp("(?=[\\/?])", "suy"));
4944
+ var $R7 = $R(new RegExp("(?=[\\/\\[{?.!@'\u2019:])", "suy"));
4945
+ var $R8 = $R(new RegExp("[)}]", "suy"));
4946
+ var $R9 = $R(new RegExp("[&]", "suy"));
4947
+ var $R10 = $R(new RegExp(`(?=[0-9.'"tfyno])`, "suy"));
4948
+ var $R11 = $R(new RegExp("(?=true|false|yes|no|on|off)", "suy"));
4949
+ var $R12 = $R(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
4950
+ var $R13 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
4951
+ var $R14 = $R(new RegExp("(?=\\[)", "suy"));
4952
+ var $R15 = $R(new RegExp("[!+-]", "suy"));
4953
+ var $R16 = $R(new RegExp("(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])", "suy"));
4954
+ var $R17 = $R(new RegExp("!\\^\\^?", "suy"));
4955
+ var $R18 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
4956
+ var $R19 = $R(new RegExp("[:.]", "suy"));
4957
+ var $R20 = $R(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
4958
+ var $R21 = $R(new RegExp("(?=loop|do|for|until|while)", "suy"));
4959
+ var $R22 = $R(new RegExp("(?=[\\s\\),])", "suy"));
4960
+ var $R23 = $R(new RegExp('[^;"\\s]+', "suy"));
4961
+ var $R24 = $R(new RegExp("(?=[0-9.])", "suy"));
4962
+ var $R25 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
4963
+ var $R26 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
4964
+ var $R27 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
4965
+ var $R28 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
4966
+ var $R29 = $R(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
4967
+ var $R30 = $R(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
4968
+ var $R31 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
4969
+ var $R32 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
4970
+ var $R33 = $R(new RegExp("(?=[0-9])", "suy"));
4971
+ var $R34 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
4972
+ var $R35 = $R(new RegExp('(?:\\\\.|[^"])*', "suy"));
4973
+ var $R36 = $R(new RegExp("(?:\\\\.|[^'])*", "suy"));
4974
+ var $R37 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
4975
+ var $R38 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
4976
+ var $R39 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
4977
+ var $R40 = $R(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
4978
+ var $R41 = $R(new RegExp("(?:\\\\.)", "suy"));
4979
+ var $R42 = $R(new RegExp("[\\s]+", "suy"));
4980
+ var $R43 = $R(new RegExp("\\/(?!\\/\\/)", "suy"));
4981
+ var $R44 = $R(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
4982
+ var $R45 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
4983
+ var $R46 = $R(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
4984
+ var $R47 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
4985
+ var $R48 = $R(new RegExp("(?=[`'\"])", "suy"));
4986
+ var $R49 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
4987
+ var $R50 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
4988
+ var $R51 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
4989
+ var $R52 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
4990
+ var $R53 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
4991
+ var $R54 = $R(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
4992
+ var $R55 = $R(new RegExp("(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
4993
+ var $R56 = $R(new RegExp("(?=\\/|#)", "suy"));
4994
+ var $R57 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
4995
+ var $R58 = $R(new RegExp(".", "suy"));
4996
+ var $R59 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
4997
+ var $R60 = $R(new RegExp("[^]*?###", "suy"));
4998
+ var $R61 = $R(new RegExp("###(?!#)", "suy"));
4999
+ var $R62 = $R(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
5000
+ var $R63 = $R(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
5001
+ var $R64 = $R(new RegExp("[ \\t]+", "suy"));
5002
+ var $R65 = $R(new RegExp("(?=\\s|\\/|#)", "suy"));
5003
+ var $R66 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
5004
+ var $R67 = $R(new RegExp("['\u2019]s", "suy"));
5005
+ var $R68 = $R(new RegExp("\\s", "suy"));
5006
+ var $R69 = $R(new RegExp("(?=[<])", "suy"));
5007
+ var $R70 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
5008
+ var $R71 = $R(new RegExp("[\\s>]|\\/>", "suy"));
5009
+ var $R72 = $R(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
5010
+ var $R73 = $R(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
5011
+ var $R74 = $R(new RegExp("[<>]", "suy"));
5012
+ var $R75 = $R(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
5013
+ var $R76 = $R(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
5014
+ var $R77 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
5015
+ var $R78 = $R(new RegExp("[+-]?", "suy"));
5016
+ var $R79 = $R(new RegExp("[+-]", "suy"));
5017
+ var $R80 = $R(new RegExp("(?=if|unless)", "suy"));
5018
+ var $R81 = $R(new RegExp("#![^\\r\\n]*", "suy"));
5019
+ var $R82 = $R(new RegExp("[\\t ]*", "suy"));
5020
+ var $R83 = $R(new RegExp("[ \\t]*", "suy"));
5021
+ var $R84 = $R(new RegExp("[\\s]*", "suy"));
5022
+ var $R85 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
5023
+ var $R86 = $R(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
5024
+ var $R87 = $R(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
5025
+ var $R88 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
4866
5026
  var Program$0 = $TS($S(Reset, Init, $E(EOS), TopLevelStatements, __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
4867
5027
  var statements = $4;
4868
5028
  processProgram({
@@ -5282,13 +5442,28 @@ var require_parser = __commonJS({
5282
5442
  return $EVENT_C(ctx, state, "UnaryWithoutParenthesizedAssignmentBody", UnaryWithoutParenthesizedAssignmentBody$$);
5283
5443
  }
5284
5444
  var UnaryPostfix$0 = QuestionMark;
5285
- var UnaryPostfix$1 = $T($P($S(__, $C(As, Satisfies), Type)), function(value) {
5445
+ var UnaryPostfix$1 = $T($P(TypePostfix), function(value) {
5286
5446
  return { "ts": true, "children": value };
5287
5447
  });
5288
5448
  var UnaryPostfix$$ = [UnaryPostfix$0, UnaryPostfix$1];
5289
5449
  function UnaryPostfix(ctx, state) {
5290
5450
  return $EVENT_C(ctx, state, "UnaryPostfix", UnaryPostfix$$);
5291
5451
  }
5452
+ var TypePostfix$0 = $TS($S(_, As, $E(ExclamationPoint), Type), function($skip, $loc, $0, $1, $2, $3, $4) {
5453
+ var ws = $1;
5454
+ var as = $2;
5455
+ var ex = $3;
5456
+ var type = $4;
5457
+ if (ex) {
5458
+ return [{ $loc: ex.$loc, token: " as unknown" }, ws, as, type];
5459
+ }
5460
+ return [ws, as, type];
5461
+ });
5462
+ var TypePostfix$1 = $S(_, Satisfies, Type);
5463
+ var TypePostfix$$ = [TypePostfix$0, TypePostfix$1];
5464
+ function TypePostfix(ctx, state) {
5465
+ return $EVENT_C(ctx, state, "TypePostfix", TypePostfix$$);
5466
+ }
5292
5467
  var UpdateExpression$0 = $TS($S(UpdateExpressionSymbol, UnaryWithoutParenthesizedAssignment), function($skip, $loc, $0, $1, $2) {
5293
5468
  return {
5294
5469
  type: "UpdateExpression",
@@ -5296,13 +5471,13 @@ var require_parser = __commonJS({
5296
5471
  children: $0
5297
5472
  };
5298
5473
  });
5299
- var UpdateExpression$1 = $TS($S(LeftHandSideExpression, $E(UpdateExpressionSymbol)), function($skip, $loc, $0, $1, $2) {
5474
+ var UpdateExpression$1 = $TS($S(LeftHandSideExpression, $E($S(UpdateExpressionSymbol, $EXPECT($R3, "UpdateExpression /(?!\\p{ID_Start}|[_$0-9(\\[{])/")))), function($skip, $loc, $0, $1, $2) {
5300
5475
  if (!$2)
5301
5476
  return $1;
5302
5477
  return {
5303
5478
  type: "UpdateExpression",
5304
5479
  assigned: $1,
5305
- children: $0
5480
+ children: [$1, $2[0]]
5306
5481
  };
5307
5482
  });
5308
5483
  var UpdateExpression$$ = [UpdateExpression$0, UpdateExpression$1];
@@ -5312,8 +5487,12 @@ var require_parser = __commonJS({
5312
5487
  var UpdateExpressionSymbol$0 = $TV($C($EXPECT($L8, 'UpdateExpressionSymbol "++"'), $EXPECT($L9, 'UpdateExpressionSymbol "--"')), function($skip, $loc, $0, $1) {
5313
5488
  return { $loc, token: $1 };
5314
5489
  });
5490
+ var UpdateExpressionSymbol$1 = $TV($EXPECT($L10, 'UpdateExpressionSymbol "\u29FA"'), function($skip, $loc, $0, $1) {
5491
+ return { $loc, token: "++" };
5492
+ });
5493
+ var UpdateExpressionSymbol$$ = [UpdateExpressionSymbol$0, UpdateExpressionSymbol$1];
5315
5494
  function UpdateExpressionSymbol(ctx, state) {
5316
- return $EVENT(ctx, state, "UpdateExpressionSymbol", UpdateExpressionSymbol$0);
5495
+ return $EVENT_C(ctx, state, "UpdateExpressionSymbol", UpdateExpressionSymbol$$);
5317
5496
  }
5318
5497
  var AssignmentExpression$0 = PipelineExpression;
5319
5498
  var AssignmentExpression$1 = SingleLineAssignmentExpression;
@@ -5416,7 +5595,7 @@ var require_parser = __commonJS({
5416
5595
  function ArrowFunction(ctx, state) {
5417
5596
  return $EVENT_C(ctx, state, "ArrowFunction", ArrowFunction$$);
5418
5597
  }
5419
- var FatArrow$0 = $TS($S($E(_), $C($EXPECT($L10, 'FatArrow "=>"'), $EXPECT($L11, 'FatArrow "\u21D2"'))), function($skip, $loc, $0, $1, $2) {
5598
+ var FatArrow$0 = $TS($S($E(_), $C($EXPECT($L11, 'FatArrow "=>"'), $EXPECT($L12, 'FatArrow "\u21D2"'))), function($skip, $loc, $0, $1, $2) {
5420
5599
  var ws = $1;
5421
5600
  if (!ws)
5422
5601
  return " =>";
@@ -5451,7 +5630,7 @@ var require_parser = __commonJS({
5451
5630
  return $EVENT(ctx, state, "ConditionalExpression", ConditionalExpression$0);
5452
5631
  }
5453
5632
  var TernaryRest$0 = NestedTernaryRest;
5454
- var TernaryRest$1 = $TS($S($N(CoffeeBinaryExistentialEnabled), $Y($EXPECT($R3, "TernaryRest /[ \\t]/")), _, QuestionMark, ExtendedExpression, __, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
5633
+ var TernaryRest$1 = $TS($S($N(CoffeeBinaryExistentialEnabled), $Y($EXPECT($R4, "TernaryRest /[ \\t]/")), _, QuestionMark, ExtendedExpression, __, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
5455
5634
  return $0.slice(2);
5456
5635
  });
5457
5636
  var TernaryRest$$ = [TernaryRest$0, TernaryRest$1];
@@ -5579,7 +5758,7 @@ var require_parser = __commonJS({
5579
5758
  function ClassDeclaration(ctx, state) {
5580
5759
  return $EVENT(ctx, state, "ClassDeclaration", ClassDeclaration$0);
5581
5760
  }
5582
- var ClassExpression$0 = $S($E(Decorators), $E($S(Abstract, __)), Class, $N($EXPECT($L12, 'ClassExpression ":"')), $E(ClassBinding), $E(ClassHeritage), ClassBody);
5761
+ var ClassExpression$0 = $S($E(Decorators), $E($S(Abstract, __)), Class, $N($EXPECT($L13, 'ClassExpression ":"')), $E(ClassBinding), $E(ClassHeritage), ClassBody);
5583
5762
  function ClassExpression(ctx, state) {
5584
5763
  return $EVENT(ctx, state, "ClassExpression", ClassExpression$0);
5585
5764
  }
@@ -5599,27 +5778,67 @@ var require_parser = __commonJS({
5599
5778
  function ExtendsClause(ctx, state) {
5600
5779
  return $EVENT(ctx, state, "ExtendsClause", ExtendsClause$0);
5601
5780
  }
5602
- var ExtendsToken$0 = $TS($S(Loc, __, ExtendsShorthand, $E($EXPECT($L13, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5781
+ var ExtendsToken$0 = $TS($S(Loc, $E(_), ExtendsShorthand, $E($EXPECT($L14, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5603
5782
  var l = $1;
5604
5783
  var ws = $2;
5605
5784
  var t = $3;
5606
- const children = [...ws, t];
5607
- if (!ws.length) {
5608
- children.unshift({ $loc: l.$loc, token: " " });
5609
- }
5610
- return { children };
5785
+ return {
5786
+ type: "Extends",
5787
+ children: [
5788
+ ws || { $loc: l.$loc, token: " " },
5789
+ t
5790
+ ]
5791
+ };
5792
+ });
5793
+ var ExtendsToken$1 = $TS($S($E(_), Extends), function($skip, $loc, $0, $1, $2) {
5794
+ return {
5795
+ type: "Extends",
5796
+ children: $0
5797
+ };
5611
5798
  });
5612
- var ExtendsToken$1 = $S(__, Extends);
5613
5799
  var ExtendsToken$$ = [ExtendsToken$0, ExtendsToken$1];
5614
5800
  function ExtendsToken(ctx, state) {
5615
5801
  return $EVENT_C(ctx, state, "ExtendsToken", ExtendsToken$$);
5616
5802
  }
5617
- var ExtendsShorthand$0 = $TV($EXPECT($L14, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
5803
+ var ExtendsShorthand$0 = $TV($EXPECT($L15, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
5618
5804
  return { $loc, token: "extends " };
5619
5805
  });
5620
5806
  function ExtendsShorthand(ctx, state) {
5621
5807
  return $EVENT(ctx, state, "ExtendsShorthand", ExtendsShorthand$0);
5622
5808
  }
5809
+ var NotExtendsToken$0 = $TS($S(Loc, $E(_), OmittedNegation, ExtendsShorthand, $E($EXPECT($L14, 'NotExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
5810
+ var l = $1;
5811
+ var ws1 = $2;
5812
+ var ws2 = $3;
5813
+ var t = $4;
5814
+ const ws = ws1 && ws2 ? [ws1, ws2] : ws1 || ws2 || { $loc: l.$loc, token: " " };
5815
+ return {
5816
+ type: "Extends",
5817
+ negated: true,
5818
+ children: [ws, t]
5819
+ };
5820
+ });
5821
+ var NotExtendsToken$1 = $TS($S($E(_), OmittedNegation, Extends), function($skip, $loc, $0, $1, $2, $3) {
5822
+ return {
5823
+ type: "Extends",
5824
+ negated: true,
5825
+ children: $0
5826
+ };
5827
+ });
5828
+ var NotExtendsToken$$ = [NotExtendsToken$0, NotExtendsToken$1];
5829
+ function NotExtendsToken(ctx, state) {
5830
+ return $EVENT_C(ctx, state, "NotExtendsToken", NotExtendsToken$$);
5831
+ }
5832
+ var OmittedNegation$0 = $T($S(ExclamationPoint), function(value) {
5833
+ return "";
5834
+ });
5835
+ var OmittedNegation$1 = $T($S(Not, $E($EXPECT($L14, 'OmittedNegation " "')), $E(_)), function(value) {
5836
+ return value[2];
5837
+ });
5838
+ var OmittedNegation$$ = [OmittedNegation$0, OmittedNegation$1];
5839
+ function OmittedNegation(ctx, state) {
5840
+ return $EVENT_C(ctx, state, "OmittedNegation", OmittedNegation$$);
5841
+ }
5623
5842
  var ExtendsTarget$0 = $TS($S(LeftHandSideExpressionWithObjectApplicationForbidden, $E(TypeArguments)), function($skip, $loc, $0, $1, $2) {
5624
5843
  var exp = $1;
5625
5844
  var ta = $2;
@@ -5640,7 +5859,7 @@ var require_parser = __commonJS({
5640
5859
  function ImplementsClause(ctx, state) {
5641
5860
  return $EVENT(ctx, state, "ImplementsClause", ImplementsClause$0);
5642
5861
  }
5643
- var ImplementsToken$0 = $TS($S(Loc, __, ImplementsShorthand, $E($EXPECT($L13, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5862
+ var ImplementsToken$0 = $TS($S(Loc, __, ImplementsShorthand, $E($EXPECT($L14, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5644
5863
  var l = $1;
5645
5864
  var ws = $2;
5646
5865
  var token = $3;
@@ -5650,7 +5869,7 @@ var require_parser = __commonJS({
5650
5869
  }
5651
5870
  return { children };
5652
5871
  });
5653
- var ImplementsToken$1 = $TS($S(__, $EXPECT($L15, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
5872
+ var ImplementsToken$1 = $TS($S(__, $EXPECT($L16, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
5654
5873
  $2 = { $loc, token: $2 };
5655
5874
  return [$1, $2];
5656
5875
  });
@@ -5658,7 +5877,7 @@ var require_parser = __commonJS({
5658
5877
  function ImplementsToken(ctx, state) {
5659
5878
  return $EVENT_C(ctx, state, "ImplementsToken", ImplementsToken$$);
5660
5879
  }
5661
- var ImplementsShorthand$0 = $TV($EXPECT($L16, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
5880
+ var ImplementsShorthand$0 = $TV($EXPECT($L17, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
5662
5881
  return { $loc, token: "implements " };
5663
5882
  });
5664
5883
  function ImplementsShorthand(ctx, state) {
@@ -5870,7 +6089,7 @@ var require_parser = __commonJS({
5870
6089
  function AtThis(ctx, state) {
5871
6090
  return $EVENT(ctx, state, "AtThis", AtThis$0);
5872
6091
  }
5873
- var LeftHandSideExpression$0 = $S($P($S(New, $N($C($EXPECT($L7, 'LeftHandSideExpression "."'), $EXPECT($L12, 'LeftHandSideExpression ":"'))), __)), CallExpression, $E(TypeArguments));
6092
+ var LeftHandSideExpression$0 = $S($P($S(New, $N($C($EXPECT($L7, 'LeftHandSideExpression "."'), $EXPECT($L13, 'LeftHandSideExpression ":"'))), __)), CallExpression, $E(TypeArguments));
5874
6093
  var LeftHandSideExpression$1 = CallExpression;
5875
6094
  var LeftHandSideExpression$$ = [LeftHandSideExpression$0, LeftHandSideExpression$1];
5876
6095
  function LeftHandSideExpression(ctx, state) {
@@ -5883,7 +6102,7 @@ var require_parser = __commonJS({
5883
6102
  children: [$1, ...$2, ...rest.flat()]
5884
6103
  });
5885
6104
  });
5886
- var CallExpression$1 = $TS($S($EXPECT($L17, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6105
+ var CallExpression$1 = $TS($S($EXPECT($L18, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
5887
6106
  var rest = $3;
5888
6107
  return processCallMemberExpression({
5889
6108
  type: "CallExpression",
@@ -5908,7 +6127,7 @@ var require_parser = __commonJS({
5908
6127
  return $EVENT_C(ctx, state, "CallExpression", CallExpression$$);
5909
6128
  }
5910
6129
  var CallExpressionRest$0 = MemberExpressionRest;
5911
- var CallExpressionRest$1 = $TS($S($EXPECT($R4, "CallExpressionRest /(?=['\"`<])/"), $E(TypeArguments), $C(TemplateLiteral, StringLiteral)), function($skip, $loc, $0, $1, $2, $3) {
6130
+ var CallExpressionRest$1 = $TS($S($EXPECT($R5, "CallExpressionRest /(?=['\"`<])/"), $E(TypeArguments), $C(TemplateLiteral, StringLiteral)), function($skip, $loc, $0, $1, $2, $3) {
5912
6131
  var args = $2;
5913
6132
  var literal = $3;
5914
6133
  if (literal.type === "StringLiteral") {
@@ -5927,7 +6146,7 @@ var require_parser = __commonJS({
5927
6146
  function CallExpressionRest(ctx, state) {
5928
6147
  return $EVENT_C(ctx, state, "CallExpressionRest", CallExpressionRest$$);
5929
6148
  }
5930
- var OptionalShorthand$0 = $TS($S($EXPECT($R5, "OptionalShorthand /(?=[\\/?])/"), $Q(InlineComment), QuestionMark, OptionalDot), function($skip, $loc, $0, $1, $2, $3, $4) {
6149
+ var OptionalShorthand$0 = $TS($S($EXPECT($R6, "OptionalShorthand /(?=[\\/?])/"), $Q(InlineComment), QuestionMark, OptionalDot), function($skip, $loc, $0, $1, $2, $3, $4) {
5931
6150
  return {
5932
6151
  type: "Optional",
5933
6152
  children: $0
@@ -5944,7 +6163,7 @@ var require_parser = __commonJS({
5944
6163
  function OptionalDot(ctx, state) {
5945
6164
  return $EVENT_C(ctx, state, "OptionalDot", OptionalDot$$);
5946
6165
  }
5947
- var NonNullAssertion$0 = $T($S($EXPECT($L18, 'NonNullAssertion "!"'), $N($EXPECT($L19, 'NonNullAssertion "^"'))), function(value) {
6166
+ var NonNullAssertion$0 = $T($S($EXPECT($L19, 'NonNullAssertion "!"'), $N($EXPECT($L20, 'NonNullAssertion "^"'))), function(value) {
5948
6167
  return { "type": "NonNullAssertion", "ts": true, "children": value[0] };
5949
6168
  });
5950
6169
  function NonNullAssertion(ctx, state) {
@@ -5980,7 +6199,7 @@ var require_parser = __commonJS({
5980
6199
  function MemberBase(ctx, state) {
5981
6200
  return $EVENT_C(ctx, state, "MemberBase", MemberBase$$);
5982
6201
  }
5983
- var MemberExpressionRest$0 = $TS($S($EXPECT($R6, "MemberExpressionRest /(?=[\\/\\[{?.!@'\u2019:])/"), $Q(InlineComment), MemberExpressionRestBody), function($skip, $loc, $0, $1, $2, $3) {
6202
+ var MemberExpressionRest$0 = $TS($S($EXPECT($R7, "MemberExpressionRest /(?=[\\/\\[{?.!@'\u2019:])/"), $Q(InlineComment), MemberExpressionRestBody), function($skip, $loc, $0, $1, $2, $3) {
5984
6203
  var comments = $2;
5985
6204
  var body = $3;
5986
6205
  if (Array.isArray(body))
@@ -6135,7 +6354,7 @@ var require_parser = __commonJS({
6135
6354
  ]
6136
6355
  };
6137
6356
  });
6138
- var PropertyAccess$1 = $TS($S(AccessStart, $EXPECT($L20, 'PropertyAccess "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
6357
+ var PropertyAccess$1 = $TS($S(AccessStart, $EXPECT($L21, 'PropertyAccess "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
6139
6358
  var dot = $1;
6140
6359
  var neg = $2;
6141
6360
  var num = $3;
@@ -6211,7 +6430,7 @@ var require_parser = __commonJS({
6211
6430
  return $EVENT_C(ctx, state, "SuperProperty", SuperProperty$$);
6212
6431
  }
6213
6432
  var MetaProperty$0 = $S(New, Dot, Target);
6214
- var MetaProperty$1 = $TS($S($EXPECT($L21, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6433
+ var MetaProperty$1 = $TS($S($EXPECT($L22, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6215
6434
  return { $loc, token: $1 };
6216
6435
  });
6217
6436
  var MetaProperty$2 = ReturnValue;
@@ -6219,7 +6438,7 @@ var require_parser = __commonJS({
6219
6438
  function MetaProperty(ctx, state) {
6220
6439
  return $EVENT_C(ctx, state, "MetaProperty", MetaProperty$$);
6221
6440
  }
6222
- var ReturnValue$0 = $TV($C($S($EXPECT($L22, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
6441
+ var ReturnValue$0 = $TV($C($S($EXPECT($L23, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
6223
6442
  return { type: "ReturnValue", children: [$1[0]] };
6224
6443
  });
6225
6444
  function ReturnValue(ctx, state) {
@@ -6421,7 +6640,7 @@ var require_parser = __commonJS({
6421
6640
  return $EVENT(ctx, state, "ParameterElement", ParameterElement$0);
6422
6641
  }
6423
6642
  var ParameterElementDelimiter$0 = $S($E(_), Comma);
6424
- var ParameterElementDelimiter$1 = $Y($S(__, $R$0($EXPECT($R7, "ParameterElementDelimiter /[)}]/"))));
6643
+ var ParameterElementDelimiter$1 = $Y($S(__, $R$0($EXPECT($R8, "ParameterElementDelimiter /[)}]/"))));
6425
6644
  var ParameterElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
6426
6645
  return value[1];
6427
6646
  });
@@ -6732,7 +6951,7 @@ var require_parser = __commonJS({
6732
6951
  children: [ws, binding]
6733
6952
  };
6734
6953
  });
6735
- var BindingElement$2 = $TV($Y($S($E(_), $EXPECT($L23, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
6954
+ var BindingElement$2 = $TV($Y($S($E(_), $EXPECT($L24, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
6736
6955
  return {
6737
6956
  children: [{
6738
6957
  type: "ElisionElement",
@@ -6856,7 +7075,7 @@ var require_parser = __commonJS({
6856
7075
  block
6857
7076
  };
6858
7077
  });
6859
- var FunctionExpression$1 = $TV($EXPECT($L24, 'FunctionExpression "(&)"'), function($skip, $loc, $0, $1) {
7078
+ var FunctionExpression$1 = $TV($EXPECT($L25, 'FunctionExpression "(&)"'), function($skip, $loc, $0, $1) {
6860
7079
  const ref = makeRef("$"), body = [ref];
6861
7080
  const parameters = {
6862
7081
  type: "Parameters",
@@ -6871,7 +7090,7 @@ var require_parser = __commonJS({
6871
7090
  signature: {
6872
7091
  modifier: {}
6873
7092
  },
6874
- children: [ref, " => ", body],
7093
+ children: [parameters, " => ", body],
6875
7094
  ref,
6876
7095
  body,
6877
7096
  ampersandBlock: true,
@@ -6879,8 +7098,38 @@ var require_parser = __commonJS({
6879
7098
  parameters
6880
7099
  };
6881
7100
  });
6882
- var FunctionExpression$2 = AmpersandFunctionExpression;
6883
- var FunctionExpression$3 = $TS($S(Identifier, __, ConstAssignment, $Q(_), ThinArrowFunction), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7101
+ var FunctionExpression$2 = $TS($S(OpenParen, BinaryOp, CloseParen), function($skip, $loc, $0, $1, $2, $3) {
7102
+ var open = $1;
7103
+ var op = $2;
7104
+ var close = $3;
7105
+ if (op.special && op.call && !op.negated)
7106
+ return op.call;
7107
+ const refA = makeRef("a"), refB = makeRef("b"), body = processBinaryOpExpression([refA, [
7108
+ [[], op, [], refB]
7109
+ // BinaryOpRHS
7110
+ ]]);
7111
+ const parameters = {
7112
+ type: "Parameters",
7113
+ children: ["(", refA, ",", refB, ")"],
7114
+ names: []
7115
+ };
7116
+ const block = {
7117
+ expressions: [body]
7118
+ };
7119
+ return {
7120
+ type: "ArrowFunction",
7121
+ signature: {
7122
+ modifier: {}
7123
+ },
7124
+ children: [open, parameters, " => ", body, close],
7125
+ body,
7126
+ ampersandBlock: true,
7127
+ block,
7128
+ parameters
7129
+ };
7130
+ });
7131
+ var FunctionExpression$3 = AmpersandFunctionExpression;
7132
+ var FunctionExpression$4 = $TS($S(Identifier, __, ConstAssignment, $Q(_), ThinArrowFunction), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
6884
7133
  var id = $1;
6885
7134
  var ws = $4;
6886
7135
  var fn = $5;
@@ -6895,7 +7144,7 @@ var require_parser = __commonJS({
6895
7144
  ]
6896
7145
  };
6897
7146
  });
6898
- var FunctionExpression$$ = [FunctionExpression$0, FunctionExpression$1, FunctionExpression$2, FunctionExpression$3];
7147
+ var FunctionExpression$$ = [FunctionExpression$0, FunctionExpression$1, FunctionExpression$2, FunctionExpression$3, FunctionExpression$4];
6899
7148
  function FunctionExpression(ctx, state) {
6900
7149
  return $EVENT_C(ctx, state, "FunctionExpression", FunctionExpression$$);
6901
7150
  }
@@ -7026,7 +7275,7 @@ var require_parser = __commonJS({
7026
7275
  function AmpersandBlockRHS(ctx, state) {
7027
7276
  return $EVENT(ctx, state, "AmpersandBlockRHS", AmpersandBlockRHS$0);
7028
7277
  }
7029
- var AmpersandBlockRHSBody$0 = $TS($S($E($S($N(_), $P(CallExpressionRest))), $E(QuestionMark), $E($S(WAssignmentOp, $Q($S(NotDedented, UpdateExpression, WAssignmentOp)), NonPipelineExtendedExpression)), $E($S($N($EXPECT($R8, "AmpersandBlockRHSBody /[&]/")), $P(BinaryOpRHS)))), function($skip, $loc, $0, $1, $2, $3, $4) {
7278
+ var AmpersandBlockRHSBody$0 = $TS($S($E($S($N(_), $P(CallExpressionRest))), $E(QuestionMark), $E($S(WAssignmentOp, $Q($S(NotDedented, UpdateExpression, WAssignmentOp)), NonPipelineExtendedExpression)), $E($S($N($EXPECT($R9, "AmpersandBlockRHSBody /[&]/")), $P(BinaryOpRHS)))), function($skip, $loc, $0, $1, $2, $3, $4) {
7030
7279
  var callExpRest = $1;
7031
7280
  var unaryPostfix = $2;
7032
7281
  var assign = $3;
@@ -7116,7 +7365,7 @@ var require_parser = __commonJS({
7116
7365
  function ThinArrowFunction(ctx, state) {
7117
7366
  return $EVENT(ctx, state, "ThinArrowFunction", ThinArrowFunction$0);
7118
7367
  }
7119
- var Arrow$0 = $TV($C($EXPECT($L25, 'Arrow "->"'), $EXPECT($L26, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
7368
+ var Arrow$0 = $TV($C($EXPECT($L26, 'Arrow "->"'), $EXPECT($L27, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
7120
7369
  return { $loc, token: "->" };
7121
7370
  });
7122
7371
  function Arrow(ctx, state) {
@@ -7402,7 +7651,7 @@ var require_parser = __commonJS({
7402
7651
  }
7403
7652
  var BracedContent$0 = NestedBlockStatements;
7404
7653
  var BracedContent$1 = SingleLineStatements;
7405
- var BracedContent$2 = $TV($Y($S(__, $EXPECT($L27, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
7654
+ var BracedContent$2 = $TV($Y($S(__, $EXPECT($L28, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
7406
7655
  const expressions = [];
7407
7656
  return {
7408
7657
  type: "BlockStatement",
@@ -7452,7 +7701,7 @@ var require_parser = __commonJS({
7452
7701
  function BlockStatementPart(ctx, state) {
7453
7702
  return $EVENT(ctx, state, "BlockStatementPart", BlockStatementPart$0);
7454
7703
  }
7455
- var Literal$0 = $TS($S($EXPECT($R9, `Literal /(?=[0-9.'"tfyno])/`), LiteralContent), function($skip, $loc, $0, $1, $2) {
7704
+ var Literal$0 = $TS($S($EXPECT($R10, `Literal /(?=[0-9.'"tfyno])/`), LiteralContent), function($skip, $loc, $0, $1, $2) {
7456
7705
  var literal = $2;
7457
7706
  return {
7458
7707
  type: "Literal",
@@ -7472,13 +7721,13 @@ var require_parser = __commonJS({
7472
7721
  function LiteralContent(ctx, state) {
7473
7722
  return $EVENT_C(ctx, state, "LiteralContent", LiteralContent$$);
7474
7723
  }
7475
- var NullLiteral$0 = $TS($S($EXPECT($L28, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7724
+ var NullLiteral$0 = $TS($S($EXPECT($L29, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7476
7725
  return { $loc, token: $1 };
7477
7726
  });
7478
7727
  function NullLiteral(ctx, state) {
7479
7728
  return $EVENT(ctx, state, "NullLiteral", NullLiteral$0);
7480
7729
  }
7481
- var BooleanLiteral$0 = $T($S($EXPECT($R10, "BooleanLiteral /(?=true|false|yes|no|on|off)/"), _BooleanLiteral), function(value) {
7730
+ var BooleanLiteral$0 = $T($S($EXPECT($R11, "BooleanLiteral /(?=true|false|yes|no|on|off)/"), _BooleanLiteral), function(value) {
7482
7731
  return value[1];
7483
7732
  });
7484
7733
  function BooleanLiteral(ctx, state) {
@@ -7487,31 +7736,31 @@ var require_parser = __commonJS({
7487
7736
  var _BooleanLiteral$0 = $T($S(CoffeeBooleansEnabled, CoffeeScriptBooleanLiteral), function(value) {
7488
7737
  return value[1];
7489
7738
  });
7490
- var _BooleanLiteral$1 = $TS($S($C($EXPECT($L29, '_BooleanLiteral "true"'), $EXPECT($L30, '_BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7739
+ var _BooleanLiteral$1 = $TS($S($C($EXPECT($L30, '_BooleanLiteral "true"'), $EXPECT($L31, '_BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7491
7740
  return { $loc, token: $1 };
7492
7741
  });
7493
7742
  var _BooleanLiteral$$ = [_BooleanLiteral$0, _BooleanLiteral$1];
7494
7743
  function _BooleanLiteral(ctx, state) {
7495
7744
  return $EVENT_C(ctx, state, "_BooleanLiteral", _BooleanLiteral$$);
7496
7745
  }
7497
- var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L31, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L32, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7746
+ var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L32, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L33, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7498
7747
  return { $loc, token: "true" };
7499
7748
  });
7500
- var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L33, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L34, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7749
+ var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L34, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L35, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7501
7750
  return { $loc, token: "false" };
7502
7751
  });
7503
7752
  var CoffeeScriptBooleanLiteral$$ = [CoffeeScriptBooleanLiteral$0, CoffeeScriptBooleanLiteral$1];
7504
7753
  function CoffeeScriptBooleanLiteral(ctx, state) {
7505
7754
  return $EVENT_C(ctx, state, "CoffeeScriptBooleanLiteral", CoffeeScriptBooleanLiteral$$);
7506
7755
  }
7507
- var Identifier$0 = $T($S($EXPECT($R11, "Identifier /(?=\\p{ID_Start}|[_$])/"), $N(ReservedWord), IdentifierName), function(value) {
7756
+ var Identifier$0 = $T($S($EXPECT($R12, "Identifier /(?=\\p{ID_Start}|[_$])/"), $N(ReservedWord), IdentifierName), function(value) {
7508
7757
  var id = value[2];
7509
7758
  return id;
7510
7759
  });
7511
7760
  function Identifier(ctx, state) {
7512
7761
  return $EVENT(ctx, state, "Identifier", Identifier$0);
7513
7762
  }
7514
- var IdentifierName$0 = $TR($EXPECT($R12, "IdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7763
+ var IdentifierName$0 = $TR($EXPECT($R13, "IdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7515
7764
  return {
7516
7765
  type: "Identifier",
7517
7766
  name: $0,
@@ -7529,11 +7778,11 @@ var require_parser = __commonJS({
7529
7778
  function IdentifierReference(ctx, state) {
7530
7779
  return $EVENT(ctx, state, "IdentifierReference", IdentifierReference$0);
7531
7780
  }
7532
- var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, 'UpcomingAssignment "="'), $EXPECT($L35, 'UpcomingAssignment ">"')))));
7781
+ var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, 'UpcomingAssignment "="'), $EXPECT($L36, 'UpcomingAssignment ">"')))));
7533
7782
  function UpcomingAssignment(ctx, state) {
7534
7783
  return $EVENT(ctx, state, "UpcomingAssignment", UpcomingAssignment$0);
7535
7784
  }
7536
- var ArrayLiteral$0 = $T($S($EXPECT($R13, "ArrayLiteral /(?=\\[)/"), _ArrayLiteral), function(value) {
7785
+ var ArrayLiteral$0 = $T($S($EXPECT($R14, "ArrayLiteral /(?=\\[)/"), _ArrayLiteral), function(value) {
7537
7786
  return value[1];
7538
7787
  });
7539
7788
  function ArrayLiteral(ctx, state) {
@@ -7687,7 +7936,7 @@ var require_parser = __commonJS({
7687
7936
  return $EVENT(ctx, state, "NestedElement", NestedElement$0);
7688
7937
  }
7689
7938
  var ArrayElementDelimiter$0 = $S(__, Comma);
7690
- var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L36, 'ArrayElementDelimiter "]"')));
7939
+ var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L37, 'ArrayElementDelimiter "]"')));
7691
7940
  var ArrayElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
7692
7941
  return value[1];
7693
7942
  });
@@ -7917,7 +8166,7 @@ var require_parser = __commonJS({
7917
8166
  return $EVENT_C(ctx, state, "ImplicitInlineObjectPropertyDelimiter", ImplicitInlineObjectPropertyDelimiter$$);
7918
8167
  }
7919
8168
  var ObjectPropertyDelimiter$0 = $S($E(_), Comma);
7920
- var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L27, 'ObjectPropertyDelimiter "}"')));
8169
+ var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L28, 'ObjectPropertyDelimiter "}"')));
7921
8170
  var ObjectPropertyDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
7922
8171
  return value[1];
7923
8172
  });
@@ -7933,7 +8182,7 @@ var require_parser = __commonJS({
7933
8182
  children: [ws, ...prop.children]
7934
8183
  };
7935
8184
  });
7936
- var PropertyDefinition$1 = $TS($S($E(_), $TEXT($EXPECT($R14, "PropertyDefinition /[!+-]/")), PropertyName), function($skip, $loc, $0, $1, $2, $3) {
8185
+ var PropertyDefinition$1 = $TS($S($E(_), $TEXT($EXPECT($R15, "PropertyDefinition /[!+-]/")), PropertyName), function($skip, $loc, $0, $1, $2, $3) {
7937
8186
  var ws = $1;
7938
8187
  var toggle = $2;
7939
8188
  var id = $3;
@@ -8100,7 +8349,7 @@ var require_parser = __commonJS({
8100
8349
  implicit: true
8101
8350
  };
8102
8351
  });
8103
- var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L20, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
8352
+ var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L21, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
8104
8353
  const expression = [$2, $3];
8105
8354
  return {
8106
8355
  type: "ComputedPropertyName",
@@ -8360,11 +8609,16 @@ var require_parser = __commonJS({
8360
8609
  }
8361
8610
  var AssignmentOp$0 = $TS($S(AssignmentOpSymbol, $E(_)), function($skip, $loc, $0, $1, $2) {
8362
8611
  if ($2?.length) {
8612
+ if (typeof $1 !== "string") {
8613
+ return { ...$1, children: [...$1.children, $2] };
8614
+ }
8363
8615
  return {
8364
8616
  token: $1,
8365
8617
  children: [$1, ...$2]
8366
8618
  };
8367
8619
  }
8620
+ if (typeof $1 !== "string")
8621
+ return $1;
8368
8622
  return { $loc, token: $1 };
8369
8623
  });
8370
8624
  function AssignmentOp(ctx, state) {
@@ -8395,38 +8649,46 @@ var require_parser = __commonJS({
8395
8649
  function OperatorAssignmentOp(ctx, state) {
8396
8650
  return $EVENT_C(ctx, state, "OperatorAssignmentOp", OperatorAssignmentOp$$);
8397
8651
  }
8398
- var AssignmentOpSymbol$0 = $EXPECT($L37, 'AssignmentOpSymbol "**="');
8399
- var AssignmentOpSymbol$1 = $EXPECT($L38, 'AssignmentOpSymbol "*="');
8400
- var AssignmentOpSymbol$2 = $EXPECT($L39, 'AssignmentOpSymbol "/="');
8401
- var AssignmentOpSymbol$3 = $EXPECT($L40, 'AssignmentOpSymbol "%="');
8402
- var AssignmentOpSymbol$4 = $EXPECT($L41, 'AssignmentOpSymbol "+="');
8403
- var AssignmentOpSymbol$5 = $EXPECT($L42, 'AssignmentOpSymbol "-="');
8404
- var AssignmentOpSymbol$6 = $EXPECT($L43, 'AssignmentOpSymbol "<<="');
8405
- var AssignmentOpSymbol$7 = $EXPECT($L44, 'AssignmentOpSymbol ">>>="');
8406
- var AssignmentOpSymbol$8 = $EXPECT($L45, 'AssignmentOpSymbol ">>="');
8407
- var AssignmentOpSymbol$9 = $EXPECT($L46, 'AssignmentOpSymbol "&&="');
8408
- var AssignmentOpSymbol$10 = $EXPECT($L47, 'AssignmentOpSymbol "&="');
8409
- var AssignmentOpSymbol$11 = $EXPECT($L48, 'AssignmentOpSymbol "^="');
8410
- var AssignmentOpSymbol$12 = $EXPECT($L49, 'AssignmentOpSymbol "||="');
8411
- var AssignmentOpSymbol$13 = $EXPECT($L50, 'AssignmentOpSymbol "|="');
8412
- var AssignmentOpSymbol$14 = $EXPECT($L51, 'AssignmentOpSymbol "??="');
8413
- var AssignmentOpSymbol$15 = $T($EXPECT($L52, 'AssignmentOpSymbol "?="'), function(value) {
8652
+ var AssignmentOpSymbol$0 = $EXPECT($L38, 'AssignmentOpSymbol "**="');
8653
+ var AssignmentOpSymbol$1 = $EXPECT($L39, 'AssignmentOpSymbol "*="');
8654
+ var AssignmentOpSymbol$2 = $EXPECT($L40, 'AssignmentOpSymbol "/="');
8655
+ var AssignmentOpSymbol$3 = $EXPECT($L41, 'AssignmentOpSymbol "%="');
8656
+ var AssignmentOpSymbol$4 = $TS($S($C($EXPECT($L8, 'AssignmentOpSymbol "++"'), $EXPECT($L10, 'AssignmentOpSymbol "\u29FA"')), Equals), function($skip, $loc, $0, $1, $2) {
8657
+ return {
8658
+ special: true,
8659
+ call: module2.getRef("concatAssign"),
8660
+ omitLhs: true,
8661
+ children: [$2]
8662
+ };
8663
+ });
8664
+ var AssignmentOpSymbol$5 = $EXPECT($L42, 'AssignmentOpSymbol "+="');
8665
+ var AssignmentOpSymbol$6 = $EXPECT($L43, 'AssignmentOpSymbol "-="');
8666
+ var AssignmentOpSymbol$7 = $EXPECT($L44, 'AssignmentOpSymbol "<<="');
8667
+ var AssignmentOpSymbol$8 = $EXPECT($L45, 'AssignmentOpSymbol ">>>="');
8668
+ var AssignmentOpSymbol$9 = $EXPECT($L46, 'AssignmentOpSymbol ">>="');
8669
+ var AssignmentOpSymbol$10 = $EXPECT($L47, 'AssignmentOpSymbol "&&="');
8670
+ var AssignmentOpSymbol$11 = $EXPECT($L48, 'AssignmentOpSymbol "&="');
8671
+ var AssignmentOpSymbol$12 = $EXPECT($L49, 'AssignmentOpSymbol "^="');
8672
+ var AssignmentOpSymbol$13 = $EXPECT($L50, 'AssignmentOpSymbol "||="');
8673
+ var AssignmentOpSymbol$14 = $EXPECT($L51, 'AssignmentOpSymbol "|="');
8674
+ var AssignmentOpSymbol$15 = $EXPECT($L52, 'AssignmentOpSymbol "??="');
8675
+ var AssignmentOpSymbol$16 = $T($EXPECT($L53, 'AssignmentOpSymbol "?="'), function(value) {
8414
8676
  return "??=";
8415
8677
  });
8416
- var AssignmentOpSymbol$16 = $T($S($EXPECT($L3, 'AssignmentOpSymbol "="'), $N($EXPECT($L3, 'AssignmentOpSymbol "="'))), function(value) {
8678
+ var AssignmentOpSymbol$17 = $T($S($EXPECT($L3, 'AssignmentOpSymbol "="'), $N($EXPECT($L3, 'AssignmentOpSymbol "="'))), function(value) {
8417
8679
  return value[0];
8418
8680
  });
8419
- var AssignmentOpSymbol$17 = $T($S(CoffeeWordAssignmentOp), function(value) {
8681
+ var AssignmentOpSymbol$18 = $T($S(CoffeeWordAssignmentOp), function(value) {
8420
8682
  return value[0];
8421
8683
  });
8422
- var AssignmentOpSymbol$$ = [AssignmentOpSymbol$0, AssignmentOpSymbol$1, AssignmentOpSymbol$2, AssignmentOpSymbol$3, AssignmentOpSymbol$4, AssignmentOpSymbol$5, AssignmentOpSymbol$6, AssignmentOpSymbol$7, AssignmentOpSymbol$8, AssignmentOpSymbol$9, AssignmentOpSymbol$10, AssignmentOpSymbol$11, AssignmentOpSymbol$12, AssignmentOpSymbol$13, AssignmentOpSymbol$14, AssignmentOpSymbol$15, AssignmentOpSymbol$16, AssignmentOpSymbol$17];
8684
+ var AssignmentOpSymbol$$ = [AssignmentOpSymbol$0, AssignmentOpSymbol$1, AssignmentOpSymbol$2, AssignmentOpSymbol$3, AssignmentOpSymbol$4, AssignmentOpSymbol$5, AssignmentOpSymbol$6, AssignmentOpSymbol$7, AssignmentOpSymbol$8, AssignmentOpSymbol$9, AssignmentOpSymbol$10, AssignmentOpSymbol$11, AssignmentOpSymbol$12, AssignmentOpSymbol$13, AssignmentOpSymbol$14, AssignmentOpSymbol$15, AssignmentOpSymbol$16, AssignmentOpSymbol$17, AssignmentOpSymbol$18];
8423
8685
  function AssignmentOpSymbol(ctx, state) {
8424
8686
  return $EVENT_C(ctx, state, "AssignmentOpSymbol", AssignmentOpSymbol$$);
8425
8687
  }
8426
- var CoffeeWordAssignmentOp$0 = $T($EXPECT($L53, 'CoffeeWordAssignmentOp "and="'), function(value) {
8688
+ var CoffeeWordAssignmentOp$0 = $T($EXPECT($L54, 'CoffeeWordAssignmentOp "and="'), function(value) {
8427
8689
  return "&&=";
8428
8690
  });
8429
- var CoffeeWordAssignmentOp$1 = $T($EXPECT($L54, 'CoffeeWordAssignmentOp "or="'), function(value) {
8691
+ var CoffeeWordAssignmentOp$1 = $T($EXPECT($L55, 'CoffeeWordAssignmentOp "or="'), function(value) {
8430
8692
  return "||=";
8431
8693
  });
8432
8694
  var CoffeeWordAssignmentOp$$ = [CoffeeWordAssignmentOp$0, CoffeeWordAssignmentOp$1];
@@ -8460,7 +8722,7 @@ var require_parser = __commonJS({
8460
8722
  function IdentifierBinaryOp(ctx, state) {
8461
8723
  return $EVENT(ctx, state, "IdentifierBinaryOp", IdentifierBinaryOp$0);
8462
8724
  }
8463
- var BinaryOp$0 = $T($S($EXPECT($R15, "BinaryOp /(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>+-])/"), _BinaryOp), function(value) {
8725
+ var BinaryOp$0 = $T($S($EXPECT($R16, "BinaryOp /(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])/"), _BinaryOp), function(value) {
8464
8726
  var op = value[1];
8465
8727
  return op;
8466
8728
  });
@@ -8495,27 +8757,33 @@ var require_parser = __commonJS({
8495
8757
  function _BinaryOp(ctx, state) {
8496
8758
  return $EVENT_C(ctx, state, "_BinaryOp", _BinaryOp$$);
8497
8759
  }
8498
- var BinaryOpSymbol$0 = $EXPECT($L55, 'BinaryOpSymbol "**"');
8499
- var BinaryOpSymbol$1 = $EXPECT($L56, 'BinaryOpSymbol "*"');
8500
- var BinaryOpSymbol$2 = $EXPECT($L57, 'BinaryOpSymbol "/"');
8501
- var BinaryOpSymbol$3 = $TV($EXPECT($L58, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
8760
+ var BinaryOpSymbol$0 = $EXPECT($L56, 'BinaryOpSymbol "**"');
8761
+ var BinaryOpSymbol$1 = $EXPECT($L57, 'BinaryOpSymbol "*"');
8762
+ var BinaryOpSymbol$2 = $EXPECT($L58, 'BinaryOpSymbol "/"');
8763
+ var BinaryOpSymbol$3 = $TV($EXPECT($L59, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
8502
8764
  return {
8503
8765
  call: module2.getRef("modulo"),
8504
8766
  special: true
8505
8767
  };
8506
8768
  });
8507
- var BinaryOpSymbol$4 = $EXPECT($L59, 'BinaryOpSymbol "%"');
8508
- var BinaryOpSymbol$5 = $EXPECT($L60, 'BinaryOpSymbol "+"');
8509
- var BinaryOpSymbol$6 = $EXPECT($L20, 'BinaryOpSymbol "-"');
8510
- var BinaryOpSymbol$7 = $EXPECT($L61, 'BinaryOpSymbol "<="');
8511
- var BinaryOpSymbol$8 = $T($EXPECT($L62, 'BinaryOpSymbol "\u2264"'), function(value) {
8769
+ var BinaryOpSymbol$4 = $EXPECT($L60, 'BinaryOpSymbol "%"');
8770
+ var BinaryOpSymbol$5 = $TV($C($EXPECT($L8, 'BinaryOpSymbol "++"'), $EXPECT($L10, 'BinaryOpSymbol "\u29FA"')), function($skip, $loc, $0, $1) {
8771
+ return {
8772
+ method: "concat",
8773
+ special: true
8774
+ };
8775
+ });
8776
+ var BinaryOpSymbol$6 = $EXPECT($L61, 'BinaryOpSymbol "+"');
8777
+ var BinaryOpSymbol$7 = $EXPECT($L21, 'BinaryOpSymbol "-"');
8778
+ var BinaryOpSymbol$8 = $EXPECT($L62, 'BinaryOpSymbol "<="');
8779
+ var BinaryOpSymbol$9 = $T($EXPECT($L63, 'BinaryOpSymbol "\u2264"'), function(value) {
8512
8780
  return "<=";
8513
8781
  });
8514
- var BinaryOpSymbol$9 = $EXPECT($L63, 'BinaryOpSymbol ">="');
8515
- var BinaryOpSymbol$10 = $T($EXPECT($L64, 'BinaryOpSymbol "\u2265"'), function(value) {
8782
+ var BinaryOpSymbol$10 = $EXPECT($L64, 'BinaryOpSymbol ">="');
8783
+ var BinaryOpSymbol$11 = $T($EXPECT($L65, 'BinaryOpSymbol "\u2265"'), function(value) {
8516
8784
  return ">=";
8517
8785
  });
8518
- var BinaryOpSymbol$11 = $TV($EXPECT($L65, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
8786
+ var BinaryOpSymbol$12 = $TV($EXPECT($L66, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
8519
8787
  return {
8520
8788
  $loc,
8521
8789
  token: "instanceof",
@@ -8523,7 +8791,7 @@ var require_parser = __commonJS({
8523
8791
  special: true
8524
8792
  };
8525
8793
  });
8526
- var BinaryOpSymbol$12 = $TV($EXPECT($L66, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
8794
+ var BinaryOpSymbol$13 = $TV($EXPECT($L67, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
8527
8795
  return {
8528
8796
  $loc,
8529
8797
  token: "instanceof",
@@ -8532,74 +8800,74 @@ var require_parser = __commonJS({
8532
8800
  negated: true
8533
8801
  };
8534
8802
  });
8535
- var BinaryOpSymbol$13 = $EXPECT($L67, 'BinaryOpSymbol "<<"');
8536
- var BinaryOpSymbol$14 = $T($EXPECT($L68, 'BinaryOpSymbol "\xAB"'), function(value) {
8803
+ var BinaryOpSymbol$14 = $EXPECT($L68, 'BinaryOpSymbol "<<"');
8804
+ var BinaryOpSymbol$15 = $T($EXPECT($L69, 'BinaryOpSymbol "\xAB"'), function(value) {
8537
8805
  return "<<";
8538
8806
  });
8539
- var BinaryOpSymbol$15 = $EXPECT($L14, 'BinaryOpSymbol "<"');
8540
- var BinaryOpSymbol$16 = $EXPECT($L69, 'BinaryOpSymbol ">>>"');
8541
- var BinaryOpSymbol$17 = $T($EXPECT($L70, 'BinaryOpSymbol "\u22D9"'), function(value) {
8807
+ var BinaryOpSymbol$16 = $EXPECT($L15, 'BinaryOpSymbol "<"');
8808
+ var BinaryOpSymbol$17 = $EXPECT($L70, 'BinaryOpSymbol ">>>"');
8809
+ var BinaryOpSymbol$18 = $T($EXPECT($L71, 'BinaryOpSymbol "\u22D9"'), function(value) {
8542
8810
  return ">>>";
8543
8811
  });
8544
- var BinaryOpSymbol$18 = $EXPECT($L71, 'BinaryOpSymbol ">>"');
8545
- var BinaryOpSymbol$19 = $T($EXPECT($L72, 'BinaryOpSymbol "\xBB"'), function(value) {
8812
+ var BinaryOpSymbol$19 = $EXPECT($L72, 'BinaryOpSymbol ">>"');
8813
+ var BinaryOpSymbol$20 = $T($EXPECT($L73, 'BinaryOpSymbol "\xBB"'), function(value) {
8546
8814
  return ">>";
8547
8815
  });
8548
- var BinaryOpSymbol$20 = $EXPECT($L35, 'BinaryOpSymbol ">"');
8549
- var BinaryOpSymbol$21 = $EXPECT($L73, 'BinaryOpSymbol "!=="');
8550
- var BinaryOpSymbol$22 = $T($EXPECT($L74, 'BinaryOpSymbol "\u2262"'), function(value) {
8816
+ var BinaryOpSymbol$21 = $EXPECT($L36, 'BinaryOpSymbol ">"');
8817
+ var BinaryOpSymbol$22 = $EXPECT($L74, 'BinaryOpSymbol "!=="');
8818
+ var BinaryOpSymbol$23 = $T($EXPECT($L75, 'BinaryOpSymbol "\u2262"'), function(value) {
8551
8819
  return "!==";
8552
8820
  });
8553
- var BinaryOpSymbol$23 = $TV($C($EXPECT($L75, 'BinaryOpSymbol "!="'), $EXPECT($L76, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
8821
+ var BinaryOpSymbol$24 = $TV($C($EXPECT($L76, 'BinaryOpSymbol "!="'), $EXPECT($L77, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
8554
8822
  if (module2.config.coffeeEq)
8555
8823
  return "!==";
8556
8824
  return "!=";
8557
8825
  });
8558
- var BinaryOpSymbol$24 = $TS($S($EXPECT($L77, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8826
+ var BinaryOpSymbol$25 = $TS($S($EXPECT($L78, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8559
8827
  if (module2.config.coffeeIsnt)
8560
8828
  return "!==";
8561
8829
  return $skip;
8562
8830
  });
8563
- var BinaryOpSymbol$25 = $EXPECT($L78, 'BinaryOpSymbol "==="');
8564
- var BinaryOpSymbol$26 = $T($C($EXPECT($L79, 'BinaryOpSymbol "\u2263"'), $EXPECT($L80, 'BinaryOpSymbol "\u2A76"')), function(value) {
8831
+ var BinaryOpSymbol$26 = $EXPECT($L79, 'BinaryOpSymbol "==="');
8832
+ var BinaryOpSymbol$27 = $T($C($EXPECT($L80, 'BinaryOpSymbol "\u2263"'), $EXPECT($L81, 'BinaryOpSymbol "\u2A76"')), function(value) {
8565
8833
  return "===";
8566
8834
  });
8567
- var BinaryOpSymbol$27 = $TV($C($EXPECT($L81, 'BinaryOpSymbol "=="'), $EXPECT($L82, 'BinaryOpSymbol "\u2261"'), $EXPECT($L83, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
8835
+ var BinaryOpSymbol$28 = $TV($C($EXPECT($L82, 'BinaryOpSymbol "=="'), $EXPECT($L83, 'BinaryOpSymbol "\u2261"'), $EXPECT($L84, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
8568
8836
  if (module2.config.coffeeEq)
8569
8837
  return "===";
8570
8838
  return "==";
8571
8839
  });
8572
- var BinaryOpSymbol$28 = $T($S($EXPECT($L84, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
8840
+ var BinaryOpSymbol$29 = $T($S($EXPECT($L85, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
8573
8841
  return "&&";
8574
8842
  });
8575
- var BinaryOpSymbol$29 = $EXPECT($L85, 'BinaryOpSymbol "&&"');
8576
- var BinaryOpSymbol$30 = $T($S($EXPECT($L86, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
8843
+ var BinaryOpSymbol$30 = $EXPECT($L86, 'BinaryOpSymbol "&&"');
8844
+ var BinaryOpSymbol$31 = $T($S($EXPECT($L87, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
8577
8845
  return "||";
8578
8846
  });
8579
- var BinaryOpSymbol$31 = $EXPECT($L87, 'BinaryOpSymbol "||"');
8580
- var BinaryOpSymbol$32 = $T($EXPECT($L88, 'BinaryOpSymbol "\u2016"'), function(value) {
8847
+ var BinaryOpSymbol$32 = $EXPECT($L88, 'BinaryOpSymbol "||"');
8848
+ var BinaryOpSymbol$33 = $T($EXPECT($L89, 'BinaryOpSymbol "\u2016"'), function(value) {
8581
8849
  return "||";
8582
8850
  });
8583
- var BinaryOpSymbol$33 = $TV($C($EXPECT($L89, 'BinaryOpSymbol "^^"'), $S($EXPECT($L90, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
8851
+ var BinaryOpSymbol$34 = $TV($C($EXPECT($L90, 'BinaryOpSymbol "^^"'), $S($EXPECT($L91, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
8584
8852
  return {
8585
8853
  call: module2.getRef("xor"),
8586
8854
  special: true
8587
8855
  };
8588
8856
  });
8589
- var BinaryOpSymbol$34 = $TV($C($EXPECT($R16, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L91, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
8857
+ var BinaryOpSymbol$35 = $TV($C($EXPECT($R17, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L92, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
8590
8858
  return {
8591
8859
  call: module2.getRef("xnor"),
8592
8860
  special: true
8593
8861
  };
8594
8862
  });
8595
- var BinaryOpSymbol$35 = $EXPECT($L92, 'BinaryOpSymbol "??"');
8596
- var BinaryOpSymbol$36 = $T($EXPECT($L93, 'BinaryOpSymbol "\u2047"'), function(value) {
8863
+ var BinaryOpSymbol$36 = $EXPECT($L93, 'BinaryOpSymbol "??"');
8864
+ var BinaryOpSymbol$37 = $T($EXPECT($L94, 'BinaryOpSymbol "\u2047"'), function(value) {
8597
8865
  return "??";
8598
8866
  });
8599
- var BinaryOpSymbol$37 = $T($S($EXPECT($L6, 'BinaryOpSymbol "?"'), CoffeeBinaryExistentialEnabled), function(value) {
8867
+ var BinaryOpSymbol$38 = $T($S($EXPECT($L6, 'BinaryOpSymbol "?"'), CoffeeBinaryExistentialEnabled), function(value) {
8600
8868
  return "??";
8601
8869
  });
8602
- var BinaryOpSymbol$38 = $TS($S($EXPECT($L94, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8870
+ var BinaryOpSymbol$39 = $TS($S($EXPECT($L95, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8603
8871
  return {
8604
8872
  $loc,
8605
8873
  token: $1,
@@ -8608,15 +8876,15 @@ var require_parser = __commonJS({
8608
8876
  // for typeof shorthand
8609
8877
  };
8610
8878
  });
8611
- var BinaryOpSymbol$39 = $T($S(CoffeeOfEnabled, CoffeeOfOp), function(value) {
8879
+ var BinaryOpSymbol$40 = $T($S(CoffeeOfEnabled, CoffeeOfOp), function(value) {
8612
8880
  var op = value[1];
8613
8881
  return op;
8614
8882
  });
8615
- var BinaryOpSymbol$40 = $TS($S(Not, __, NotOp), function($skip, $loc, $0, $1, $2, $3) {
8883
+ var BinaryOpSymbol$41 = $TS($S(Not, __, NotOp), function($skip, $loc, $0, $1, $2, $3) {
8616
8884
  var op = $3;
8617
8885
  return { ...op, $loc };
8618
8886
  });
8619
- var BinaryOpSymbol$41 = $TV($C($S(Is, __, In), $EXPECT($L95, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
8887
+ var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L96, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
8620
8888
  return {
8621
8889
  method: "includes",
8622
8890
  relational: true,
@@ -8624,14 +8892,14 @@ var require_parser = __commonJS({
8624
8892
  special: true
8625
8893
  };
8626
8894
  });
8627
- var BinaryOpSymbol$42 = $TV($EXPECT($L96, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
8895
+ var BinaryOpSymbol$43 = $TV($EXPECT($L97, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
8628
8896
  return {
8629
8897
  method: "includes",
8630
8898
  relational: true,
8631
8899
  special: true
8632
8900
  };
8633
8901
  });
8634
- var BinaryOpSymbol$43 = $TV($EXPECT($L97, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
8902
+ var BinaryOpSymbol$44 = $TV($EXPECT($L98, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
8635
8903
  return {
8636
8904
  method: "includes",
8637
8905
  relational: true,
@@ -8639,7 +8907,7 @@ var require_parser = __commonJS({
8639
8907
  negated: true
8640
8908
  };
8641
8909
  });
8642
- var BinaryOpSymbol$44 = $TV($C($S(Is, __, Not, __, In), $EXPECT($L98, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
8910
+ var BinaryOpSymbol$45 = $TV($C($S(Is, __, Not, __, In), $EXPECT($L99, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
8643
8911
  return {
8644
8912
  method: "includes",
8645
8913
  relational: true,
@@ -8648,7 +8916,7 @@ var require_parser = __commonJS({
8648
8916
  negated: true
8649
8917
  };
8650
8918
  });
8651
- var BinaryOpSymbol$45 = $TS($S($N(CoffeeNotEnabled), Is, __, Not), function($skip, $loc, $0, $1, $2, $3, $4) {
8919
+ var BinaryOpSymbol$46 = $TS($S($N(CoffeeNotEnabled), Is, __, Not), function($skip, $loc, $0, $1, $2, $3, $4) {
8652
8920
  if (module2.config.objectIs) {
8653
8921
  return {
8654
8922
  call: module2.getRef("is"),
@@ -8660,7 +8928,7 @@ var require_parser = __commonJS({
8660
8928
  }
8661
8929
  return "!==";
8662
8930
  });
8663
- var BinaryOpSymbol$46 = $TS($S(Is), function($skip, $loc, $0, $1) {
8931
+ var BinaryOpSymbol$47 = $TS($S(Is), function($skip, $loc, $0, $1) {
8664
8932
  if (module2.config.objectIs) {
8665
8933
  return {
8666
8934
  call: module2.getRef("is"),
@@ -8671,11 +8939,11 @@ var require_parser = __commonJS({
8671
8939
  }
8672
8940
  return "===";
8673
8941
  });
8674
- var BinaryOpSymbol$47 = In;
8675
- var BinaryOpSymbol$48 = $EXPECT($L99, 'BinaryOpSymbol "&"');
8676
- var BinaryOpSymbol$49 = $EXPECT($L19, 'BinaryOpSymbol "^"');
8677
- var BinaryOpSymbol$50 = $EXPECT($L100, 'BinaryOpSymbol "|"');
8678
- var BinaryOpSymbol$$ = [BinaryOpSymbol$0, BinaryOpSymbol$1, BinaryOpSymbol$2, BinaryOpSymbol$3, BinaryOpSymbol$4, BinaryOpSymbol$5, BinaryOpSymbol$6, BinaryOpSymbol$7, BinaryOpSymbol$8, BinaryOpSymbol$9, BinaryOpSymbol$10, BinaryOpSymbol$11, BinaryOpSymbol$12, BinaryOpSymbol$13, BinaryOpSymbol$14, BinaryOpSymbol$15, BinaryOpSymbol$16, BinaryOpSymbol$17, BinaryOpSymbol$18, BinaryOpSymbol$19, BinaryOpSymbol$20, BinaryOpSymbol$21, BinaryOpSymbol$22, BinaryOpSymbol$23, BinaryOpSymbol$24, BinaryOpSymbol$25, BinaryOpSymbol$26, BinaryOpSymbol$27, BinaryOpSymbol$28, BinaryOpSymbol$29, BinaryOpSymbol$30, BinaryOpSymbol$31, BinaryOpSymbol$32, BinaryOpSymbol$33, BinaryOpSymbol$34, BinaryOpSymbol$35, BinaryOpSymbol$36, BinaryOpSymbol$37, BinaryOpSymbol$38, BinaryOpSymbol$39, BinaryOpSymbol$40, BinaryOpSymbol$41, BinaryOpSymbol$42, BinaryOpSymbol$43, BinaryOpSymbol$44, BinaryOpSymbol$45, BinaryOpSymbol$46, BinaryOpSymbol$47, BinaryOpSymbol$48, BinaryOpSymbol$49, BinaryOpSymbol$50];
8942
+ var BinaryOpSymbol$48 = In;
8943
+ var BinaryOpSymbol$49 = $EXPECT($L100, 'BinaryOpSymbol "&"');
8944
+ var BinaryOpSymbol$50 = $EXPECT($L20, 'BinaryOpSymbol "^"');
8945
+ var BinaryOpSymbol$51 = $EXPECT($L101, 'BinaryOpSymbol "|"');
8946
+ var BinaryOpSymbol$$ = [BinaryOpSymbol$0, BinaryOpSymbol$1, BinaryOpSymbol$2, BinaryOpSymbol$3, BinaryOpSymbol$4, BinaryOpSymbol$5, BinaryOpSymbol$6, BinaryOpSymbol$7, BinaryOpSymbol$8, BinaryOpSymbol$9, BinaryOpSymbol$10, BinaryOpSymbol$11, BinaryOpSymbol$12, BinaryOpSymbol$13, BinaryOpSymbol$14, BinaryOpSymbol$15, BinaryOpSymbol$16, BinaryOpSymbol$17, BinaryOpSymbol$18, BinaryOpSymbol$19, BinaryOpSymbol$20, BinaryOpSymbol$21, BinaryOpSymbol$22, BinaryOpSymbol$23, BinaryOpSymbol$24, BinaryOpSymbol$25, BinaryOpSymbol$26, BinaryOpSymbol$27, BinaryOpSymbol$28, BinaryOpSymbol$29, BinaryOpSymbol$30, BinaryOpSymbol$31, BinaryOpSymbol$32, BinaryOpSymbol$33, BinaryOpSymbol$34, BinaryOpSymbol$35, BinaryOpSymbol$36, BinaryOpSymbol$37, BinaryOpSymbol$38, BinaryOpSymbol$39, BinaryOpSymbol$40, BinaryOpSymbol$41, BinaryOpSymbol$42, BinaryOpSymbol$43, BinaryOpSymbol$44, BinaryOpSymbol$45, BinaryOpSymbol$46, BinaryOpSymbol$47, BinaryOpSymbol$48, BinaryOpSymbol$49, BinaryOpSymbol$50, BinaryOpSymbol$51];
8679
8947
  function BinaryOpSymbol(ctx, state) {
8680
8948
  return $EVENT_C(ctx, state, "BinaryOpSymbol", BinaryOpSymbol$$);
8681
8949
  }
@@ -8712,7 +8980,7 @@ var require_parser = __commonJS({
8712
8980
  function CoffeeOfOp(ctx, state) {
8713
8981
  return $EVENT_C(ctx, state, "CoffeeOfOp", CoffeeOfOp$$);
8714
8982
  }
8715
- var NotOp$0 = $TS($S($EXPECT($L94, 'NotOp "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8983
+ var NotOp$0 = $TS($S($EXPECT($L95, 'NotOp "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8716
8984
  return {
8717
8985
  $loc,
8718
8986
  token: "instanceof",
@@ -8733,24 +9001,24 @@ var require_parser = __commonJS({
8733
9001
  function NotOp(ctx, state) {
8734
9002
  return $EVENT_C(ctx, state, "NotOp", NotOp$$);
8735
9003
  }
8736
- var Xor$0 = $EXPECT($L89, 'Xor "^^"');
8737
- var Xor$1 = $S($EXPECT($L90, 'Xor "xor"'), NonIdContinue);
9004
+ var Xor$0 = $EXPECT($L90, 'Xor "^^"');
9005
+ var Xor$1 = $S($EXPECT($L91, 'Xor "xor"'), NonIdContinue);
8738
9006
  var Xor$$ = [Xor$0, Xor$1];
8739
9007
  function Xor(ctx, state) {
8740
9008
  return $EVENT_C(ctx, state, "Xor", Xor$$);
8741
9009
  }
8742
- var Xnor$0 = $R$0($EXPECT($R16, "Xnor /!\\^\\^?/"));
8743
- var Xnor$1 = $EXPECT($L91, 'Xnor "xnor"');
9010
+ var Xnor$0 = $R$0($EXPECT($R17, "Xnor /!\\^\\^?/"));
9011
+ var Xnor$1 = $EXPECT($L92, 'Xnor "xnor"');
8744
9012
  var Xnor$$ = [Xnor$0, Xnor$1];
8745
9013
  function Xnor(ctx, state) {
8746
9014
  return $EVENT_C(ctx, state, "Xnor", Xnor$$);
8747
9015
  }
8748
- var UnaryOp$0 = $TR($EXPECT($R17, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
9016
+ var UnaryOp$0 = $TR($EXPECT($R18, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8749
9017
  return { $loc, token: $0 };
8750
9018
  });
8751
9019
  var UnaryOp$1 = AwaitOp;
8752
- var UnaryOp$2 = $S($C(Delete, Void, Typeof), $N($R$0($EXPECT($R18, "UnaryOp /[:.]/"))), $E(_));
8753
- var UnaryOp$3 = $T($S(Not, $N($EXPECT($R18, "UnaryOp /[:.]/")), $E($EXPECT($L13, 'UnaryOp " "')), $E(_)), function(value) {
9020
+ var UnaryOp$2 = $S($C(Delete, Void, Typeof), $N($R$0($EXPECT($R19, "UnaryOp /[:.]/"))), $E(_));
9021
+ var UnaryOp$3 = $T($S(Not, $N($EXPECT($R19, "UnaryOp /[:.]/")), $E($EXPECT($L14, 'UnaryOp " "')), $E(_)), function(value) {
8754
9022
  return [value[0], value[3]];
8755
9023
  });
8756
9024
  var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
@@ -8845,7 +9113,7 @@ var require_parser = __commonJS({
8845
9113
  function NonPipelinePostfixedExpression(ctx, state) {
8846
9114
  return $EVENT(ctx, state, "NonPipelinePostfixedExpression", NonPipelinePostfixedExpression$0);
8847
9115
  }
8848
- var PostfixStatement$0 = $T($S($EXPECT($R19, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
9116
+ var PostfixStatement$0 = $T($S($EXPECT($R20, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
8849
9117
  return value[1];
8850
9118
  });
8851
9119
  function PostfixStatement(ctx, state) {
@@ -8888,7 +9156,7 @@ var require_parser = __commonJS({
8888
9156
  function NoCommaStatement(ctx, state) {
8889
9157
  return $EVENT_C(ctx, state, "NoCommaStatement", NoCommaStatement$$);
8890
9158
  }
8891
- var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L101, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
9159
+ var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L102, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
8892
9160
  return { type: "EmptyStatement", children: $1 || [] };
8893
9161
  });
8894
9162
  function EmptyStatement(ctx, state) {
@@ -8919,7 +9187,7 @@ var require_parser = __commonJS({
8919
9187
  var w = $3;
8920
9188
  return [id, colon, w];
8921
9189
  });
8922
- var Label$1 = $S($EXPECT($L102, 'Label "$:"'), Whitespace);
9190
+ var Label$1 = $S($EXPECT($L103, 'Label "$:"'), Whitespace);
8923
9191
  var Label$$ = [Label$0, Label$1];
8924
9192
  function Label(ctx, state) {
8925
9193
  return $EVENT_C(ctx, state, "Label", Label$$);
@@ -9092,7 +9360,7 @@ var require_parser = __commonJS({
9092
9360
  function BlockExpressionPart(ctx, state) {
9093
9361
  return $EVENT(ctx, state, "BlockExpressionPart", BlockExpressionPart$0);
9094
9362
  }
9095
- var IterationStatement$0 = $T($S($EXPECT($R20, "IterationStatement /(?=loop|do|for|until|while)/"), _IterationStatement), function(value) {
9363
+ var IterationStatement$0 = $T($S($EXPECT($R21, "IterationStatement /(?=loop|do|for|until|while)/"), _IterationStatement), function(value) {
9096
9364
  return value[1];
9097
9365
  });
9098
9366
  function IterationStatement(ctx, state) {
@@ -9445,7 +9713,7 @@ var require_parser = __commonJS({
9445
9713
  names: binding.names
9446
9714
  };
9447
9715
  });
9448
- var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R21, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
9716
+ var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R22, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
9449
9717
  var c = $1;
9450
9718
  var binding = $2;
9451
9719
  return {
@@ -9671,7 +9939,7 @@ var require_parser = __commonJS({
9671
9939
  function IgnoreColon(ctx, state) {
9672
9940
  return $EVENT(ctx, state, "IgnoreColon", IgnoreColon$0);
9673
9941
  }
9674
- var TryStatement$0 = $TS($S(Try, $N($EXPECT($L12, 'TryStatement ":"')), NoPostfixBracedOrEmptyBlock, $E(CatchClause), $E(FinallyClause)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
9942
+ var TryStatement$0 = $TS($S(Try, $N($EXPECT($L13, 'TryStatement ":"')), NoPostfixBracedOrEmptyBlock, $E(CatchClause), $E(FinallyClause)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
9675
9943
  var t = $1;
9676
9944
  var b = $3;
9677
9945
  var c = $4;
@@ -10007,7 +10275,7 @@ var require_parser = __commonJS({
10007
10275
  };
10008
10276
  });
10009
10277
  var KeywordStatement$2 = DebuggerStatement;
10010
- var KeywordStatement$3 = $T($S(Return, $N($C($EXPECT($L12, 'KeywordStatement ":"'), $EXPECT($L7, 'KeywordStatement "."'), AfterReturnShorthand)), $E(MaybeNestedExpression)), function(value) {
10278
+ var KeywordStatement$3 = $T($S(Return, $N($C($EXPECT($L13, 'KeywordStatement ":"'), $EXPECT($L7, 'KeywordStatement "."'), AfterReturnShorthand)), $E(MaybeNestedExpression)), function(value) {
10011
10279
  var expression = value[2];
10012
10280
  return { "type": "ReturnStatement", "expression": expression, "children": value };
10013
10281
  });
@@ -10028,19 +10296,19 @@ var require_parser = __commonJS({
10028
10296
  function ThrowStatement(ctx, state) {
10029
10297
  return $EVENT(ctx, state, "ThrowStatement", ThrowStatement$0);
10030
10298
  }
10031
- var Break$0 = $TS($S($EXPECT($L103, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10299
+ var Break$0 = $TS($S($EXPECT($L104, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10032
10300
  return { $loc, token: $1 };
10033
10301
  });
10034
10302
  function Break(ctx, state) {
10035
10303
  return $EVENT(ctx, state, "Break", Break$0);
10036
10304
  }
10037
- var Continue$0 = $TS($S($EXPECT($L104, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10305
+ var Continue$0 = $TS($S($EXPECT($L105, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10038
10306
  return { $loc, token: $1 };
10039
10307
  });
10040
10308
  function Continue(ctx, state) {
10041
10309
  return $EVENT(ctx, state, "Continue", Continue$0);
10042
10310
  }
10043
- var Debugger$0 = $TS($S($EXPECT($L105, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10311
+ var Debugger$0 = $TS($S($EXPECT($L106, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10044
10312
  return { $loc, token: $1 };
10045
10313
  });
10046
10314
  function Debugger(ctx, state) {
@@ -10161,7 +10429,7 @@ var require_parser = __commonJS({
10161
10429
  function FromClause(ctx, state) {
10162
10430
  return $EVENT(ctx, state, "FromClause", FromClause$0);
10163
10431
  }
10164
- var ImportAssertion$0 = $S($E(_), $C($EXPECT($L106, 'ImportAssertion "with"'), $EXPECT($L107, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral);
10432
+ var ImportAssertion$0 = $S($E(_), $C($EXPECT($L107, 'ImportAssertion "with"'), $EXPECT($L108, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral);
10165
10433
  function ImportAssertion(ctx, state) {
10166
10434
  return $EVENT(ctx, state, "ImportAssertion", ImportAssertion$0);
10167
10435
  }
@@ -10209,7 +10477,7 @@ var require_parser = __commonJS({
10209
10477
  return $EVENT_C(ctx, state, "ImportSpecifier", ImportSpecifier$$);
10210
10478
  }
10211
10479
  var ImportAsToken$0 = $S(__, As);
10212
- var ImportAsToken$1 = $TS($S(Loc, __, Colon, $E($EXPECT($L13, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
10480
+ var ImportAsToken$1 = $TS($S(Loc, __, Colon, $E($EXPECT($L14, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
10213
10481
  var l = $1;
10214
10482
  var ws = $2;
10215
10483
  var c = $3;
@@ -10249,7 +10517,7 @@ var require_parser = __commonJS({
10249
10517
  function UnprocessedModuleSpecifier(ctx, state) {
10250
10518
  return $EVENT_C(ctx, state, "UnprocessedModuleSpecifier", UnprocessedModuleSpecifier$$);
10251
10519
  }
10252
- var UnquotedSpecifier$0 = $TV($EXPECT($R22, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
10520
+ var UnquotedSpecifier$0 = $TV($EXPECT($R23, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
10253
10521
  var spec = $0;
10254
10522
  return { $loc, token: `"${spec}"` };
10255
10523
  });
@@ -10381,13 +10649,13 @@ var require_parser = __commonJS({
10381
10649
  function LexicalDeclaration(ctx, state) {
10382
10650
  return $EVENT_C(ctx, state, "LexicalDeclaration", LexicalDeclaration$$);
10383
10651
  }
10384
- var ConstAssignment$0 = $TV($C($EXPECT($L108, 'ConstAssignment ":="'), $EXPECT($L109, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
10652
+ var ConstAssignment$0 = $TV($C($EXPECT($L109, 'ConstAssignment ":="'), $EXPECT($L110, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
10385
10653
  return { $loc, token: "=" };
10386
10654
  });
10387
10655
  function ConstAssignment(ctx, state) {
10388
10656
  return $EVENT(ctx, state, "ConstAssignment", ConstAssignment$0);
10389
10657
  }
10390
- var LetAssignment$0 = $TV($EXPECT($L110, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
10658
+ var LetAssignment$0 = $TV($EXPECT($L111, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
10391
10659
  return { $loc, token: "=" };
10392
10660
  });
10393
10661
  function LetAssignment(ctx, state) {
@@ -10455,7 +10723,7 @@ var require_parser = __commonJS({
10455
10723
  function VariableDeclarationList(ctx, state) {
10456
10724
  return $EVENT(ctx, state, "VariableDeclarationList", VariableDeclarationList$0);
10457
10725
  }
10458
- var NumericLiteral$0 = $TS($S($EXPECT($R23, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
10726
+ var NumericLiteral$0 = $TS($S($EXPECT($R24, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
10459
10727
  var token = $2;
10460
10728
  return { type: "NumericLiteral", $loc, token };
10461
10729
  });
@@ -10471,36 +10739,36 @@ var require_parser = __commonJS({
10471
10739
  function NumericLiteralKind(ctx, state) {
10472
10740
  return $EVENT_C(ctx, state, "NumericLiteralKind", NumericLiteralKind$$);
10473
10741
  }
10474
- var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R24, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
10742
+ var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R25, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
10475
10743
  function DecimalBigIntegerLiteral(ctx, state) {
10476
10744
  return $EVENT(ctx, state, "DecimalBigIntegerLiteral", DecimalBigIntegerLiteral$0);
10477
10745
  }
10478
- var DecimalLiteral$0 = $TV($TEXT($EXPECT($R25, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
10746
+ var DecimalLiteral$0 = $TV($TEXT($EXPECT($R26, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
10479
10747
  return $1 + ".";
10480
10748
  });
10481
- var DecimalLiteral$1 = $TEXT($S($EXPECT($R26, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), $E(ExponentPart)));
10482
- var DecimalLiteral$2 = $TEXT($S($EXPECT($R27, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), $E(ExponentPart)));
10749
+ var DecimalLiteral$1 = $TEXT($S($EXPECT($R27, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), $E(ExponentPart)));
10750
+ var DecimalLiteral$2 = $TEXT($S($EXPECT($R28, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), $E(ExponentPart)));
10483
10751
  var DecimalLiteral$$ = [DecimalLiteral$0, DecimalLiteral$1, DecimalLiteral$2];
10484
10752
  function DecimalLiteral(ctx, state) {
10485
10753
  return $EVENT_C(ctx, state, "DecimalLiteral", DecimalLiteral$$);
10486
10754
  }
10487
- var ExponentPart$0 = $R$0($EXPECT($R28, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
10755
+ var ExponentPart$0 = $R$0($EXPECT($R29, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
10488
10756
  function ExponentPart(ctx, state) {
10489
10757
  return $EVENT(ctx, state, "ExponentPart", ExponentPart$0);
10490
10758
  }
10491
- var BinaryIntegerLiteral$0 = $R$0($EXPECT($R29, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
10759
+ var BinaryIntegerLiteral$0 = $R$0($EXPECT($R30, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
10492
10760
  function BinaryIntegerLiteral(ctx, state) {
10493
10761
  return $EVENT(ctx, state, "BinaryIntegerLiteral", BinaryIntegerLiteral$0);
10494
10762
  }
10495
- var OctalIntegerLiteral$0 = $R$0($EXPECT($R30, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
10763
+ var OctalIntegerLiteral$0 = $R$0($EXPECT($R31, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
10496
10764
  function OctalIntegerLiteral(ctx, state) {
10497
10765
  return $EVENT(ctx, state, "OctalIntegerLiteral", OctalIntegerLiteral$0);
10498
10766
  }
10499
- var HexIntegerLiteral$0 = $R$0($EXPECT($R31, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
10767
+ var HexIntegerLiteral$0 = $R$0($EXPECT($R32, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
10500
10768
  function HexIntegerLiteral(ctx, state) {
10501
10769
  return $EVENT(ctx, state, "HexIntegerLiteral", HexIntegerLiteral$0);
10502
10770
  }
10503
- var IntegerLiteral$0 = $TS($S($EXPECT($R32, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
10771
+ var IntegerLiteral$0 = $TS($S($EXPECT($R33, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
10504
10772
  var token = $2;
10505
10773
  return { $loc, token };
10506
10774
  });
@@ -10516,7 +10784,7 @@ var require_parser = __commonJS({
10516
10784
  function IntegerLiteralKind(ctx, state) {
10517
10785
  return $EVENT_C(ctx, state, "IntegerLiteralKind", IntegerLiteralKind$$);
10518
10786
  }
10519
- var DecimalIntegerLiteral$0 = $R$0($EXPECT($R33, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
10787
+ var DecimalIntegerLiteral$0 = $R$0($EXPECT($R34, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
10520
10788
  function DecimalIntegerLiteral(ctx, state) {
10521
10789
  return $EVENT(ctx, state, "DecimalIntegerLiteral", DecimalIntegerLiteral$0);
10522
10790
  }
@@ -10540,25 +10808,25 @@ var require_parser = __commonJS({
10540
10808
  function StringLiteral(ctx, state) {
10541
10809
  return $EVENT_C(ctx, state, "StringLiteral", StringLiteral$$);
10542
10810
  }
10543
- var DoubleStringCharacters$0 = $TR($EXPECT($R34, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10811
+ var DoubleStringCharacters$0 = $TR($EXPECT($R35, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10544
10812
  return { $loc, token: $0 };
10545
10813
  });
10546
10814
  function DoubleStringCharacters(ctx, state) {
10547
10815
  return $EVENT(ctx, state, "DoubleStringCharacters", DoubleStringCharacters$0);
10548
10816
  }
10549
- var SingleStringCharacters$0 = $TR($EXPECT($R35, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10817
+ var SingleStringCharacters$0 = $TR($EXPECT($R36, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10550
10818
  return { $loc, token: $0 };
10551
10819
  });
10552
10820
  function SingleStringCharacters(ctx, state) {
10553
10821
  return $EVENT(ctx, state, "SingleStringCharacters", SingleStringCharacters$0);
10554
10822
  }
10555
- var TripleDoubleStringCharacters$0 = $TR($EXPECT($R36, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10823
+ var TripleDoubleStringCharacters$0 = $TR($EXPECT($R37, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10556
10824
  return { $loc, token: $0 };
10557
10825
  });
10558
10826
  function TripleDoubleStringCharacters(ctx, state) {
10559
10827
  return $EVENT(ctx, state, "TripleDoubleStringCharacters", TripleDoubleStringCharacters$0);
10560
10828
  }
10561
- var TripleSingleStringCharacters$0 = $TR($EXPECT($R37, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10829
+ var TripleSingleStringCharacters$0 = $TR($EXPECT($R38, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10562
10830
  return { $loc, token: $0 };
10563
10831
  });
10564
10832
  function TripleSingleStringCharacters(ctx, state) {
@@ -10577,14 +10845,14 @@ var require_parser = __commonJS({
10577
10845
  function CoffeeInterpolatedDoubleQuotedString(ctx, state) {
10578
10846
  return $EVENT(ctx, state, "CoffeeInterpolatedDoubleQuotedString", CoffeeInterpolatedDoubleQuotedString$0);
10579
10847
  }
10580
- var CoffeeDoubleQuotedStringCharacters$0 = $TR($EXPECT($R38, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10848
+ var CoffeeDoubleQuotedStringCharacters$0 = $TR($EXPECT($R39, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10581
10849
  return { $loc, token: $0 };
10582
10850
  });
10583
10851
  function CoffeeDoubleQuotedStringCharacters(ctx, state) {
10584
10852
  return $EVENT(ctx, state, "CoffeeDoubleQuotedStringCharacters", CoffeeDoubleQuotedStringCharacters$0);
10585
10853
  }
10586
10854
  var RegularExpressionLiteral$0 = HeregexLiteral;
10587
- var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L57, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L57, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
10855
+ var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L58, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L58, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
10588
10856
  return { type: "RegularExpressionLiteral", $loc, token: $1 };
10589
10857
  });
10590
10858
  var RegularExpressionLiteral$$ = [RegularExpressionLiteral$0, RegularExpressionLiteral$1];
@@ -10597,7 +10865,7 @@ var require_parser = __commonJS({
10597
10865
  function RegularExpressionClass(ctx, state) {
10598
10866
  return $EVENT(ctx, state, "RegularExpressionClass", RegularExpressionClass$0);
10599
10867
  }
10600
- var RegularExpressionClassCharacters$0 = $TR($EXPECT($R39, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10868
+ var RegularExpressionClassCharacters$0 = $TR($EXPECT($R40, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10601
10869
  return { $loc, token: $0 };
10602
10870
  });
10603
10871
  function RegularExpressionClassCharacters(ctx, state) {
@@ -10651,7 +10919,7 @@ var require_parser = __commonJS({
10651
10919
  var HeregexPart$2 = $T($S(TemplateSubstitution), function(value) {
10652
10920
  return { "type": "Substitution", "children": value[0] };
10653
10921
  });
10654
- var HeregexPart$3 = $TR($EXPECT($R40, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10922
+ var HeregexPart$3 = $TR($EXPECT($R41, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10655
10923
  let token = $0;
10656
10924
  switch ($0[1]) {
10657
10925
  case "\n":
@@ -10669,13 +10937,13 @@ var require_parser = __commonJS({
10669
10937
  var HeregexPart$4 = $TS($S(HeregexComment), function($skip, $loc, $0, $1) {
10670
10938
  return { $loc, token: "" };
10671
10939
  });
10672
- var HeregexPart$5 = $TR($EXPECT($R41, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10940
+ var HeregexPart$5 = $TR($EXPECT($R42, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10673
10941
  return { $loc, token: "" };
10674
10942
  });
10675
- var HeregexPart$6 = $TR($EXPECT($R42, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10943
+ var HeregexPart$6 = $TR($EXPECT($R43, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10676
10944
  return { $loc, token: "\\/" };
10677
10945
  });
10678
- var HeregexPart$7 = $TR($EXPECT($R43, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10946
+ var HeregexPart$7 = $TR($EXPECT($R44, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10679
10947
  return { $loc, token: $0 };
10680
10948
  });
10681
10949
  var HeregexPart$$ = [HeregexPart$0, HeregexPart$1, HeregexPart$2, HeregexPart$3, HeregexPart$4, HeregexPart$5, HeregexPart$6, HeregexPart$7];
@@ -10688,7 +10956,7 @@ var require_parser = __commonJS({
10688
10956
  function HeregexComment(ctx, state) {
10689
10957
  return $EVENT_C(ctx, state, "HeregexComment", HeregexComment$$);
10690
10958
  }
10691
- var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R44, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpPart));
10959
+ var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R45, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpPart));
10692
10960
  function RegularExpressionBody(ctx, state) {
10693
10961
  return $EVENT(ctx, state, "RegularExpressionBody", RegularExpressionBody$0);
10694
10962
  }
@@ -10698,15 +10966,15 @@ var require_parser = __commonJS({
10698
10966
  function RegExpPart(ctx, state) {
10699
10967
  return $EVENT_C(ctx, state, "RegExpPart", RegExpPart$$);
10700
10968
  }
10701
- var RegExpCharacter$0 = $R$0($EXPECT($R45, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
10969
+ var RegExpCharacter$0 = $R$0($EXPECT($R46, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
10702
10970
  function RegExpCharacter(ctx, state) {
10703
10971
  return $EVENT(ctx, state, "RegExpCharacter", RegExpCharacter$0);
10704
10972
  }
10705
- var RegularExpressionFlags$0 = $R$0($EXPECT($R46, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
10973
+ var RegularExpressionFlags$0 = $R$0($EXPECT($R47, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
10706
10974
  function RegularExpressionFlags(ctx, state) {
10707
10975
  return $EVENT(ctx, state, "RegularExpressionFlags", RegularExpressionFlags$0);
10708
10976
  }
10709
- var TemplateLiteral$0 = $T($S($EXPECT($R47, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
10977
+ var TemplateLiteral$0 = $T($S($EXPECT($R48, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
10710
10978
  return value[1];
10711
10979
  });
10712
10980
  function TemplateLiteral(ctx, state) {
@@ -10742,28 +11010,28 @@ var require_parser = __commonJS({
10742
11010
  function TemplateSubstitution(ctx, state) {
10743
11011
  return $EVENT(ctx, state, "TemplateSubstitution", TemplateSubstitution$0);
10744
11012
  }
10745
- var TemplateCharacters$0 = $TR($EXPECT($R48, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11013
+ var TemplateCharacters$0 = $TR($EXPECT($R49, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10746
11014
  return { $loc, token: $0 };
10747
11015
  });
10748
11016
  function TemplateCharacters(ctx, state) {
10749
11017
  return $EVENT(ctx, state, "TemplateCharacters", TemplateCharacters$0);
10750
11018
  }
10751
- var TemplateBlockCharacters$0 = $TR($EXPECT($R49, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11019
+ var TemplateBlockCharacters$0 = $TR($EXPECT($R50, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10752
11020
  return { $loc, token: $0 };
10753
11021
  });
10754
11022
  function TemplateBlockCharacters(ctx, state) {
10755
11023
  return $EVENT(ctx, state, "TemplateBlockCharacters", TemplateBlockCharacters$0);
10756
11024
  }
10757
- var ReservedWord$0 = $S($R$0($EXPECT($R50, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
10758
- var ReservedWord$1 = $S($R$0($EXPECT($R51, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
10759
- var ReservedWord$2 = $S($R$0($EXPECT($R52, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
10760
- var ReservedWord$3 = $S($R$0($EXPECT($R53, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
10761
- var ReservedWord$4 = $R$0($EXPECT($R54, "ReservedWord /(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
11025
+ var ReservedWord$0 = $S($R$0($EXPECT($R51, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
11026
+ var ReservedWord$1 = $S($R$0($EXPECT($R52, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
11027
+ var ReservedWord$2 = $S($R$0($EXPECT($R53, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
11028
+ var ReservedWord$3 = $S($R$0($EXPECT($R54, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
11029
+ var ReservedWord$4 = $R$0($EXPECT($R55, "ReservedWord /(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
10762
11030
  var ReservedWord$$ = [ReservedWord$0, ReservedWord$1, ReservedWord$2, ReservedWord$3, ReservedWord$4];
10763
11031
  function ReservedWord(ctx, state) {
10764
11032
  return $EVENT_C(ctx, state, "ReservedWord", ReservedWord$$);
10765
11033
  }
10766
- var Comment$0 = $T($S($EXPECT($R55, "Comment /(?=\\/|#)/"), _Comment), function(value) {
11034
+ var Comment$0 = $T($S($EXPECT($R56, "Comment /(?=\\/|#)/"), _Comment), function(value) {
10767
11035
  return value[1];
10768
11036
  });
10769
11037
  function Comment(ctx, state) {
@@ -10781,7 +11049,7 @@ var require_parser = __commonJS({
10781
11049
  function SingleLineComment(ctx, state) {
10782
11050
  return $EVENT_C(ctx, state, "SingleLineComment", SingleLineComment$$);
10783
11051
  }
10784
- var JSSingleLineComment$0 = $TR($EXPECT($R56, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11052
+ var JSSingleLineComment$0 = $TR($EXPECT($R57, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10785
11053
  return { type: "Comment", $loc, token: $0 };
10786
11054
  });
10787
11055
  function JSSingleLineComment(ctx, state) {
@@ -10793,30 +11061,30 @@ var require_parser = __commonJS({
10793
11061
  function MultiLineComment(ctx, state) {
10794
11062
  return $EVENT_C(ctx, state, "MultiLineComment", MultiLineComment$$);
10795
11063
  }
10796
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L111, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L112, 'JSMultiLineComment "*/"')), $EXPECT($R57, "JSMultiLineComment /./"))), $EXPECT($L112, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
11064
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L112, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L113, 'JSMultiLineComment "*/"')), $EXPECT($R58, "JSMultiLineComment /./"))), $EXPECT($L113, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
10797
11065
  return { type: "Comment", $loc, token: $1 };
10798
11066
  });
10799
11067
  function JSMultiLineComment(ctx, state) {
10800
11068
  return $EVENT(ctx, state, "JSMultiLineComment", JSMultiLineComment$0);
10801
11069
  }
10802
- var CoffeeSingleLineComment$0 = $TR($EXPECT($R58, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11070
+ var CoffeeSingleLineComment$0 = $TR($EXPECT($R59, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10803
11071
  return { type: "Comment", $loc, token: `//${$1}` };
10804
11072
  });
10805
11073
  function CoffeeSingleLineComment(ctx, state) {
10806
11074
  return $EVENT(ctx, state, "CoffeeSingleLineComment", CoffeeSingleLineComment$0);
10807
11075
  }
10808
- var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($EXPECT($R59, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
11076
+ var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($EXPECT($R60, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
10809
11077
  $2 = $2.slice(0, $2.length - 3).replace(/\*\//g, "* /");
10810
11078
  return { type: "Comment", $loc, token: `/*${$2}*/` };
10811
11079
  });
10812
11080
  function CoffeeMultiLineComment(ctx, state) {
10813
11081
  return $EVENT(ctx, state, "CoffeeMultiLineComment", CoffeeMultiLineComment$0);
10814
11082
  }
10815
- var CoffeeHereCommentStart$0 = $R$0($EXPECT($R60, "CoffeeHereCommentStart /###(?!#)/"));
11083
+ var CoffeeHereCommentStart$0 = $R$0($EXPECT($R61, "CoffeeHereCommentStart /###(?!#)/"));
10816
11084
  function CoffeeHereCommentStart(ctx, state) {
10817
11085
  return $EVENT(ctx, state, "CoffeeHereCommentStart", CoffeeHereCommentStart$0);
10818
11086
  }
10819
- var InlineComment$0 = $TR($EXPECT($R61, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11087
+ var InlineComment$0 = $TR($EXPECT($R62, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10820
11088
  return { $loc, token: $0 };
10821
11089
  });
10822
11090
  function InlineComment(ctx, state) {
@@ -10830,16 +11098,16 @@ var require_parser = __commonJS({
10830
11098
  function TrailingComment(ctx, state) {
10831
11099
  return $EVENT(ctx, state, "TrailingComment", TrailingComment$0);
10832
11100
  }
10833
- var _$0 = $T($S($EXPECT($R62, "_ /(?=[ \\t\\/\\\\])/"), $P($C(NonNewlineWhitespace, InlineComment))), function(value) {
11101
+ var _$0 = $T($S($EXPECT($R63, "_ /(?=[ \\t\\/\\\\])/"), $P($C(NonNewlineWhitespace, InlineComment))), function(value) {
10834
11102
  return value[1];
10835
11103
  });
10836
11104
  function _(ctx, state) {
10837
11105
  return $EVENT(ctx, state, "_", _$0);
10838
11106
  }
10839
- var NonNewlineWhitespace$0 = $TR($EXPECT($R63, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11107
+ var NonNewlineWhitespace$0 = $TR($EXPECT($R64, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10840
11108
  return { $loc, token: $0 };
10841
11109
  });
10842
- var NonNewlineWhitespace$1 = $T($S($EXPECT($L113, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
11110
+ var NonNewlineWhitespace$1 = $T($S($EXPECT($L114, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
10843
11111
  return " ";
10844
11112
  });
10845
11113
  var NonNewlineWhitespace$$ = [NonNewlineWhitespace$0, NonNewlineWhitespace$1];
@@ -10853,7 +11121,7 @@ var require_parser = __commonJS({
10853
11121
  function Trimmed_(ctx, state) {
10854
11122
  return $EVENT(ctx, state, "Trimmed_", Trimmed_$0);
10855
11123
  }
10856
- var __$0 = $T($S($EXPECT($R64, "__ /(?=\\s|\\/|#)/"), $Q($C(Whitespace, Comment))), function(value) {
11124
+ var __$0 = $T($S($EXPECT($R65, "__ /(?=\\s|\\/|#)/"), $Q($C(Whitespace, Comment))), function(value) {
10857
11125
  return value[1];
10858
11126
  });
10859
11127
  var __$1 = $EXPECT($L0, '__ ""');
@@ -10861,7 +11129,7 @@ var require_parser = __commonJS({
10861
11129
  function __(ctx, state) {
10862
11130
  return $EVENT_C(ctx, state, "__", __$$);
10863
11131
  }
10864
- var Whitespace$0 = $TR($EXPECT($R41, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11132
+ var Whitespace$0 = $TR($EXPECT($R42, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10865
11133
  return { $loc, token: $0 };
10866
11134
  });
10867
11135
  function Whitespace(ctx, state) {
@@ -10885,7 +11153,7 @@ var require_parser = __commonJS({
10885
11153
  }
10886
11154
  var StatementDelimiter$0 = $Y(EOS);
10887
11155
  var StatementDelimiter$1 = SemicolonDelimiter;
10888
- var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L27, 'StatementDelimiter "}"'), $EXPECT($L114, 'StatementDelimiter ")"'), $EXPECT($L36, 'StatementDelimiter "]"'))));
11156
+ var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L28, 'StatementDelimiter "}"'), $EXPECT($L115, 'StatementDelimiter ")"'), $EXPECT($L37, 'StatementDelimiter "]"'))));
10889
11157
  var StatementDelimiter$$ = [StatementDelimiter$0, StatementDelimiter$1, StatementDelimiter$2];
10890
11158
  function StatementDelimiter(ctx, state) {
10891
11159
  return $EVENT_C(ctx, state, "StatementDelimiter", StatementDelimiter$$);
@@ -10899,7 +11167,7 @@ var require_parser = __commonJS({
10899
11167
  function SemicolonDelimiter(ctx, state) {
10900
11168
  return $EVENT(ctx, state, "SemicolonDelimiter", SemicolonDelimiter$0);
10901
11169
  }
10902
- var NonIdContinue$0 = $R$0($EXPECT($R65, "NonIdContinue /(?!\\p{ID_Continue})/"));
11170
+ var NonIdContinue$0 = $R$0($EXPECT($R66, "NonIdContinue /(?!\\p{ID_Continue})/"));
10903
11171
  function NonIdContinue(ctx, state) {
10904
11172
  return $EVENT(ctx, state, "NonIdContinue", NonIdContinue$0);
10905
11173
  }
@@ -10909,151 +11177,151 @@ var require_parser = __commonJS({
10909
11177
  function Loc(ctx, state) {
10910
11178
  return $EVENT(ctx, state, "Loc", Loc$0);
10911
11179
  }
10912
- var Abstract$0 = $TV($TEXT($S($EXPECT($L115, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L13, 'Abstract " "')))), function($skip, $loc, $0, $1) {
11180
+ var Abstract$0 = $TV($TEXT($S($EXPECT($L116, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L14, 'Abstract " "')))), function($skip, $loc, $0, $1) {
10913
11181
  return { $loc, token: $1, ts: true };
10914
11182
  });
10915
11183
  function Abstract(ctx, state) {
10916
11184
  return $EVENT(ctx, state, "Abstract", Abstract$0);
10917
11185
  }
10918
- var Ampersand$0 = $TV($EXPECT($L99, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
11186
+ var Ampersand$0 = $TV($EXPECT($L100, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
10919
11187
  return { $loc, token: $1 };
10920
11188
  });
10921
11189
  function Ampersand(ctx, state) {
10922
11190
  return $EVENT(ctx, state, "Ampersand", Ampersand$0);
10923
11191
  }
10924
- var As$0 = $TS($S($EXPECT($L116, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11192
+ var As$0 = $TS($S($EXPECT($L117, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10925
11193
  return { $loc, token: $1 };
10926
11194
  });
10927
11195
  function As(ctx, state) {
10928
11196
  return $EVENT(ctx, state, "As", As$0);
10929
11197
  }
10930
- var At$0 = $TV($EXPECT($L117, 'At "@"'), function($skip, $loc, $0, $1) {
11198
+ var At$0 = $TV($EXPECT($L118, 'At "@"'), function($skip, $loc, $0, $1) {
10931
11199
  return { $loc, token: $1 };
10932
11200
  });
10933
11201
  function At(ctx, state) {
10934
11202
  return $EVENT(ctx, state, "At", At$0);
10935
11203
  }
10936
- var AtAt$0 = $TV($EXPECT($L118, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
11204
+ var AtAt$0 = $TV($EXPECT($L119, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
10937
11205
  return { $loc, token: "@" };
10938
11206
  });
10939
11207
  function AtAt(ctx, state) {
10940
11208
  return $EVENT(ctx, state, "AtAt", AtAt$0);
10941
11209
  }
10942
- var Async$0 = $TS($S($EXPECT($L119, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11210
+ var Async$0 = $TS($S($EXPECT($L120, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10943
11211
  return { $loc, token: $1, type: "Async" };
10944
11212
  });
10945
11213
  function Async(ctx, state) {
10946
11214
  return $EVENT(ctx, state, "Async", Async$0);
10947
11215
  }
10948
- var Await$0 = $TS($S($EXPECT($L120, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11216
+ var Await$0 = $TS($S($EXPECT($L121, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10949
11217
  return { $loc, token: $1, type: "Await" };
10950
11218
  });
10951
11219
  function Await(ctx, state) {
10952
11220
  return $EVENT(ctx, state, "Await", Await$0);
10953
11221
  }
10954
- var Backtick$0 = $TV($EXPECT($L121, 'Backtick "`"'), function($skip, $loc, $0, $1) {
11222
+ var Backtick$0 = $TV($EXPECT($L122, 'Backtick "`"'), function($skip, $loc, $0, $1) {
10955
11223
  return { $loc, token: $1 };
10956
11224
  });
10957
11225
  function Backtick(ctx, state) {
10958
11226
  return $EVENT(ctx, state, "Backtick", Backtick$0);
10959
11227
  }
10960
- var By$0 = $TS($S($EXPECT($L122, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11228
+ var By$0 = $TS($S($EXPECT($L123, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10961
11229
  return { $loc, token: $1 };
10962
11230
  });
10963
11231
  function By(ctx, state) {
10964
11232
  return $EVENT(ctx, state, "By", By$0);
10965
11233
  }
10966
- var Caret$0 = $TV($EXPECT($L19, 'Caret "^"'), function($skip, $loc, $0, $1) {
11234
+ var Caret$0 = $TV($EXPECT($L20, 'Caret "^"'), function($skip, $loc, $0, $1) {
10967
11235
  return { $loc, token: $1 };
10968
11236
  });
10969
11237
  function Caret(ctx, state) {
10970
11238
  return $EVENT(ctx, state, "Caret", Caret$0);
10971
11239
  }
10972
- var Case$0 = $TS($S($EXPECT($L123, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11240
+ var Case$0 = $TS($S($EXPECT($L124, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10973
11241
  return { $loc, token: $1 };
10974
11242
  });
10975
11243
  function Case(ctx, state) {
10976
11244
  return $EVENT(ctx, state, "Case", Case$0);
10977
11245
  }
10978
- var Catch$0 = $TS($S($EXPECT($L124, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11246
+ var Catch$0 = $TS($S($EXPECT($L125, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10979
11247
  return { $loc, token: $1 };
10980
11248
  });
10981
11249
  function Catch(ctx, state) {
10982
11250
  return $EVENT(ctx, state, "Catch", Catch$0);
10983
11251
  }
10984
- var Class$0 = $TS($S($EXPECT($L125, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11252
+ var Class$0 = $TS($S($EXPECT($L126, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10985
11253
  return { $loc, token: $1 };
10986
11254
  });
10987
11255
  function Class(ctx, state) {
10988
11256
  return $EVENT(ctx, state, "Class", Class$0);
10989
11257
  }
10990
- var CloseAngleBracket$0 = $TV($EXPECT($L35, 'CloseAngleBracket ">"'), function($skip, $loc, $0, $1) {
11258
+ var CloseAngleBracket$0 = $TV($EXPECT($L36, 'CloseAngleBracket ">"'), function($skip, $loc, $0, $1) {
10991
11259
  return { $loc, token: $1 };
10992
11260
  });
10993
11261
  function CloseAngleBracket(ctx, state) {
10994
11262
  return $EVENT(ctx, state, "CloseAngleBracket", CloseAngleBracket$0);
10995
11263
  }
10996
- var CloseBrace$0 = $TV($EXPECT($L27, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
11264
+ var CloseBrace$0 = $TV($EXPECT($L28, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
10997
11265
  return { $loc, token: $1 };
10998
11266
  });
10999
11267
  function CloseBrace(ctx, state) {
11000
11268
  return $EVENT(ctx, state, "CloseBrace", CloseBrace$0);
11001
11269
  }
11002
- var CloseBracket$0 = $TV($EXPECT($L36, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
11270
+ var CloseBracket$0 = $TV($EXPECT($L37, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
11003
11271
  return { $loc, token: $1 };
11004
11272
  });
11005
11273
  function CloseBracket(ctx, state) {
11006
11274
  return $EVENT(ctx, state, "CloseBracket", CloseBracket$0);
11007
11275
  }
11008
- var CloseParen$0 = $TV($EXPECT($L114, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
11276
+ var CloseParen$0 = $TV($EXPECT($L115, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
11009
11277
  return { $loc, token: $1 };
11010
11278
  });
11011
11279
  function CloseParen(ctx, state) {
11012
11280
  return $EVENT(ctx, state, "CloseParen", CloseParen$0);
11013
11281
  }
11014
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L126, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
11282
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L127, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
11015
11283
  return { $loc, token: "${" };
11016
11284
  });
11017
11285
  function CoffeeSubstitutionStart(ctx, state) {
11018
11286
  return $EVENT(ctx, state, "CoffeeSubstitutionStart", CoffeeSubstitutionStart$0);
11019
11287
  }
11020
- var Colon$0 = $TS($S($EXPECT($L12, 'Colon ":"'), $N($EXPECT($L3, 'Colon "="'))), function($skip, $loc, $0, $1, $2) {
11288
+ var Colon$0 = $TS($S($EXPECT($L13, 'Colon ":"'), $N($EXPECT($L3, 'Colon "="'))), function($skip, $loc, $0, $1, $2) {
11021
11289
  return { $loc, token: $1 };
11022
11290
  });
11023
11291
  function Colon(ctx, state) {
11024
11292
  return $EVENT(ctx, state, "Colon", Colon$0);
11025
11293
  }
11026
- var Comma$0 = $TV($EXPECT($L23, 'Comma ","'), function($skip, $loc, $0, $1) {
11294
+ var Comma$0 = $TV($EXPECT($L24, 'Comma ","'), function($skip, $loc, $0, $1) {
11027
11295
  return { $loc, token: $1 };
11028
11296
  });
11029
11297
  function Comma(ctx, state) {
11030
11298
  return $EVENT(ctx, state, "Comma", Comma$0);
11031
11299
  }
11032
- var ConstructorShorthand$0 = $TV($EXPECT($L117, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
11300
+ var ConstructorShorthand$0 = $TV($EXPECT($L118, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
11033
11301
  return { $loc, token: "constructor" };
11034
11302
  });
11035
11303
  function ConstructorShorthand(ctx, state) {
11036
11304
  return $EVENT(ctx, state, "ConstructorShorthand", ConstructorShorthand$0);
11037
11305
  }
11038
- var Declare$0 = $TS($S($EXPECT($L127, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11306
+ var Declare$0 = $TS($S($EXPECT($L128, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11039
11307
  return { $loc, token: $1 };
11040
11308
  });
11041
11309
  function Declare(ctx, state) {
11042
11310
  return $EVENT(ctx, state, "Declare", Declare$0);
11043
11311
  }
11044
- var Default$0 = $TS($S($EXPECT($L128, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11312
+ var Default$0 = $TS($S($EXPECT($L129, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11045
11313
  return { $loc, token: $1 };
11046
11314
  });
11047
11315
  function Default(ctx, state) {
11048
11316
  return $EVENT(ctx, state, "Default", Default$0);
11049
11317
  }
11050
- var Delete$0 = $TS($S($EXPECT($L129, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11318
+ var Delete$0 = $TS($S($EXPECT($L130, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11051
11319
  return { $loc, token: $1 };
11052
11320
  });
11053
11321
  function Delete(ctx, state) {
11054
11322
  return $EVENT(ctx, state, "Delete", Delete$0);
11055
11323
  }
11056
- var Do$0 = $TS($S($EXPECT($L130, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11324
+ var Do$0 = $TS($S($EXPECT($L131, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11057
11325
  return { $loc, token: $1 };
11058
11326
  });
11059
11327
  function Do(ctx, state) {
@@ -11062,7 +11330,7 @@ var require_parser = __commonJS({
11062
11330
  var Dot$0 = $TV($EXPECT($L7, 'Dot "."'), function($skip, $loc, $0, $1) {
11063
11331
  return { $loc, token: $1 };
11064
11332
  });
11065
- var Dot$1 = $TS($S($EXPECT($R66, "Dot /['\u2019]s/"), _), function($skip, $loc, $0, $1, $2) {
11333
+ var Dot$1 = $TS($S($EXPECT($R67, "Dot /['\u2019]s/"), _), function($skip, $loc, $0, $1, $2) {
11066
11334
  var ws = $2;
11067
11335
  return [
11068
11336
  { $loc, token: "." },
@@ -11073,45 +11341,45 @@ var require_parser = __commonJS({
11073
11341
  function Dot(ctx, state) {
11074
11342
  return $EVENT_C(ctx, state, "Dot", Dot$$);
11075
11343
  }
11076
- var DotDot$0 = $TS($S($EXPECT($L131, 'DotDot ".."'), $N($EXPECT($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
11344
+ var DotDot$0 = $TS($S($EXPECT($L132, 'DotDot ".."'), $N($EXPECT($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
11077
11345
  return { $loc, token: $1 };
11078
11346
  });
11079
- var DotDot$1 = $TV($EXPECT($L132, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
11347
+ var DotDot$1 = $TV($EXPECT($L133, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
11080
11348
  return { $loc, token: ".." };
11081
11349
  });
11082
11350
  var DotDot$$ = [DotDot$0, DotDot$1];
11083
11351
  function DotDot(ctx, state) {
11084
11352
  return $EVENT_C(ctx, state, "DotDot", DotDot$$);
11085
11353
  }
11086
- var DotDotDot$0 = $TV($EXPECT($L133, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
11354
+ var DotDotDot$0 = $TV($EXPECT($L134, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
11087
11355
  return { $loc, token: $1 };
11088
11356
  });
11089
- var DotDotDot$1 = $TV($EXPECT($L134, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
11357
+ var DotDotDot$1 = $TV($EXPECT($L135, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
11090
11358
  return { $loc, token: "..." };
11091
11359
  });
11092
11360
  var DotDotDot$$ = [DotDotDot$0, DotDotDot$1];
11093
11361
  function DotDotDot(ctx, state) {
11094
11362
  return $EVENT_C(ctx, state, "DotDotDot", DotDotDot$$);
11095
11363
  }
11096
- var DoubleColon$0 = $TV($EXPECT($L135, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
11364
+ var DoubleColon$0 = $TV($EXPECT($L136, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
11097
11365
  return { $loc, token: $1 };
11098
11366
  });
11099
11367
  function DoubleColon(ctx, state) {
11100
11368
  return $EVENT(ctx, state, "DoubleColon", DoubleColon$0);
11101
11369
  }
11102
- var DoubleQuote$0 = $TV($EXPECT($L136, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
11370
+ var DoubleQuote$0 = $TV($EXPECT($L137, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
11103
11371
  return { $loc, token: $1 };
11104
11372
  });
11105
11373
  function DoubleQuote(ctx, state) {
11106
11374
  return $EVENT(ctx, state, "DoubleQuote", DoubleQuote$0);
11107
11375
  }
11108
- var Each$0 = $TS($S($EXPECT($L137, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11376
+ var Each$0 = $TS($S($EXPECT($L138, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11109
11377
  return { $loc, token: $1 };
11110
11378
  });
11111
11379
  function Each(ctx, state) {
11112
11380
  return $EVENT(ctx, state, "Each", Each$0);
11113
11381
  }
11114
- var Else$0 = $TS($S($EXPECT($L138, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11382
+ var Else$0 = $TS($S($EXPECT($L139, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11115
11383
  return { $loc, token: $1 };
11116
11384
  });
11117
11385
  function Else(ctx, state) {
@@ -11123,85 +11391,91 @@ var require_parser = __commonJS({
11123
11391
  function Equals(ctx, state) {
11124
11392
  return $EVENT(ctx, state, "Equals", Equals$0);
11125
11393
  }
11126
- var Export$0 = $TS($S($EXPECT($L139, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11394
+ var ExclamationPoint$0 = $TV($EXPECT($L19, 'ExclamationPoint "!"'), function($skip, $loc, $0, $1) {
11395
+ return { $loc, token: $1 };
11396
+ });
11397
+ function ExclamationPoint(ctx, state) {
11398
+ return $EVENT(ctx, state, "ExclamationPoint", ExclamationPoint$0);
11399
+ }
11400
+ var Export$0 = $TS($S($EXPECT($L140, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11127
11401
  return { $loc, token: $1 };
11128
11402
  });
11129
11403
  function Export(ctx, state) {
11130
11404
  return $EVENT(ctx, state, "Export", Export$0);
11131
11405
  }
11132
- var Extends$0 = $TS($S($EXPECT($L140, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11406
+ var Extends$0 = $TS($S($EXPECT($L141, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11133
11407
  return { $loc, token: $1 };
11134
11408
  });
11135
11409
  function Extends(ctx, state) {
11136
11410
  return $EVENT(ctx, state, "Extends", Extends$0);
11137
11411
  }
11138
- var Finally$0 = $TS($S($EXPECT($L141, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11412
+ var Finally$0 = $TS($S($EXPECT($L142, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11139
11413
  return { $loc, token: $1 };
11140
11414
  });
11141
11415
  function Finally(ctx, state) {
11142
11416
  return $EVENT(ctx, state, "Finally", Finally$0);
11143
11417
  }
11144
- var For$0 = $TS($S($EXPECT($L142, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11418
+ var For$0 = $TS($S($EXPECT($L143, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11145
11419
  return { $loc, token: $1 };
11146
11420
  });
11147
11421
  function For(ctx, state) {
11148
11422
  return $EVENT(ctx, state, "For", For$0);
11149
11423
  }
11150
- var From$0 = $TS($S($EXPECT($L143, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11424
+ var From$0 = $TS($S($EXPECT($L144, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11151
11425
  return { $loc, token: $1 };
11152
11426
  });
11153
11427
  function From(ctx, state) {
11154
11428
  return $EVENT(ctx, state, "From", From$0);
11155
11429
  }
11156
- var Function$0 = $TS($S($EXPECT($L144, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11430
+ var Function$0 = $TS($S($EXPECT($L145, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11157
11431
  return { $loc, token: $1 };
11158
11432
  });
11159
11433
  function Function(ctx, state) {
11160
11434
  return $EVENT(ctx, state, "Function", Function$0);
11161
11435
  }
11162
- var GetOrSet$0 = $TS($S($C($EXPECT($L145, 'GetOrSet "get"'), $EXPECT($L146, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11436
+ var GetOrSet$0 = $TS($S($C($EXPECT($L146, 'GetOrSet "get"'), $EXPECT($L147, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11163
11437
  return { $loc, token: $1, type: "GetOrSet" };
11164
11438
  });
11165
11439
  function GetOrSet(ctx, state) {
11166
11440
  return $EVENT(ctx, state, "GetOrSet", GetOrSet$0);
11167
11441
  }
11168
- var Hash$0 = $TV($EXPECT($L147, 'Hash "#"'), function($skip, $loc, $0, $1) {
11442
+ var Hash$0 = $TV($EXPECT($L148, 'Hash "#"'), function($skip, $loc, $0, $1) {
11169
11443
  return { $loc, token: $1 };
11170
11444
  });
11171
11445
  function Hash(ctx, state) {
11172
11446
  return $EVENT(ctx, state, "Hash", Hash$0);
11173
11447
  }
11174
- var If$0 = $TV($TEXT($S($EXPECT($L148, 'If "if"'), NonIdContinue, $E($EXPECT($L13, 'If " "')))), function($skip, $loc, $0, $1) {
11448
+ var If$0 = $TV($TEXT($S($EXPECT($L149, 'If "if"'), NonIdContinue, $E($EXPECT($L14, 'If " "')))), function($skip, $loc, $0, $1) {
11175
11449
  return { $loc, token: $1 };
11176
11450
  });
11177
11451
  function If(ctx, state) {
11178
11452
  return $EVENT(ctx, state, "If", If$0);
11179
11453
  }
11180
- var Import$0 = $TS($S($EXPECT($L17, 'Import "import"'), $Y($EXPECT($R67, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
11454
+ var Import$0 = $TS($S($EXPECT($L18, 'Import "import"'), $Y($EXPECT($R68, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
11181
11455
  return { $loc, token: $1 };
11182
11456
  });
11183
11457
  function Import(ctx, state) {
11184
11458
  return $EVENT(ctx, state, "Import", Import$0);
11185
11459
  }
11186
- var In$0 = $TS($S($EXPECT($L149, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11460
+ var In$0 = $TS($S($EXPECT($L150, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11187
11461
  return { $loc, token: $1 };
11188
11462
  });
11189
11463
  function In(ctx, state) {
11190
11464
  return $EVENT(ctx, state, "In", In$0);
11191
11465
  }
11192
- var LetOrConst$0 = $TS($S($C($EXPECT($L150, 'LetOrConst "let"'), $EXPECT($L151, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11466
+ var LetOrConst$0 = $TS($S($C($EXPECT($L151, 'LetOrConst "let"'), $EXPECT($L152, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11193
11467
  return { $loc, token: $1 };
11194
11468
  });
11195
11469
  function LetOrConst(ctx, state) {
11196
11470
  return $EVENT(ctx, state, "LetOrConst", LetOrConst$0);
11197
11471
  }
11198
- var Const$0 = $TS($S($EXPECT($L151, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11472
+ var Const$0 = $TS($S($EXPECT($L152, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11199
11473
  return { $loc, token: $1 };
11200
11474
  });
11201
11475
  function Const(ctx, state) {
11202
11476
  return $EVENT(ctx, state, "Const", Const$0);
11203
11477
  }
11204
- var Is$0 = $TS($S($EXPECT($L152, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11478
+ var Is$0 = $TS($S($EXPECT($L153, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11205
11479
  return { $loc, token: $1 };
11206
11480
  });
11207
11481
  function Is(ctx, state) {
@@ -11213,31 +11487,31 @@ var require_parser = __commonJS({
11213
11487
  function LetOrConstOrVar(ctx, state) {
11214
11488
  return $EVENT_C(ctx, state, "LetOrConstOrVar", LetOrConstOrVar$$);
11215
11489
  }
11216
- var Loop$0 = $TS($S($EXPECT($L153, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11490
+ var Loop$0 = $TS($S($EXPECT($L154, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11217
11491
  return { $loc, token: "while(true)" };
11218
11492
  });
11219
11493
  function Loop(ctx, state) {
11220
11494
  return $EVENT(ctx, state, "Loop", Loop$0);
11221
11495
  }
11222
- var New$0 = $TS($S($EXPECT($L154, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11496
+ var New$0 = $TS($S($EXPECT($L155, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11223
11497
  return { $loc, token: $1 };
11224
11498
  });
11225
11499
  function New(ctx, state) {
11226
11500
  return $EVENT(ctx, state, "New", New$0);
11227
11501
  }
11228
- var Not$0 = $TS($S($EXPECT($L155, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L12, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
11502
+ var Not$0 = $TS($S($EXPECT($L156, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L13, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
11229
11503
  return { $loc, token: "!" };
11230
11504
  });
11231
11505
  function Not(ctx, state) {
11232
11506
  return $EVENT(ctx, state, "Not", Not$0);
11233
11507
  }
11234
- var Of$0 = $TS($S($EXPECT($L156, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11508
+ var Of$0 = $TS($S($EXPECT($L157, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11235
11509
  return { $loc, token: $1 };
11236
11510
  });
11237
11511
  function Of(ctx, state) {
11238
11512
  return $EVENT(ctx, state, "Of", Of$0);
11239
11513
  }
11240
- var OpenAngleBracket$0 = $TV($EXPECT($L14, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
11514
+ var OpenAngleBracket$0 = $TV($EXPECT($L15, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
11241
11515
  return { $loc, token: $1 };
11242
11516
  });
11243
11517
  function OpenAngleBracket(ctx, state) {
@@ -11249,7 +11523,7 @@ var require_parser = __commonJS({
11249
11523
  function OpenBrace(ctx, state) {
11250
11524
  return $EVENT(ctx, state, "OpenBrace", OpenBrace$0);
11251
11525
  }
11252
- var OpenBracket$0 = $TV($EXPECT($L157, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
11526
+ var OpenBracket$0 = $TV($EXPECT($L158, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
11253
11527
  return { $loc, token: $1 };
11254
11528
  });
11255
11529
  function OpenBracket(ctx, state) {
@@ -11261,43 +11535,43 @@ var require_parser = __commonJS({
11261
11535
  function OpenParen(ctx, state) {
11262
11536
  return $EVENT(ctx, state, "OpenParen", OpenParen$0);
11263
11537
  }
11264
- var Operator$0 = $TS($S($EXPECT($L158, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11538
+ var Operator$0 = $TS($S($EXPECT($L159, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11265
11539
  return { $loc, token: $1 };
11266
11540
  });
11267
11541
  function Operator(ctx, state) {
11268
11542
  return $EVENT(ctx, state, "Operator", Operator$0);
11269
11543
  }
11270
- var Own$0 = $TS($S($EXPECT($L159, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11544
+ var Own$0 = $TS($S($EXPECT($L160, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11271
11545
  return { $loc, token: $1 };
11272
11546
  });
11273
11547
  function Own(ctx, state) {
11274
11548
  return $EVENT(ctx, state, "Own", Own$0);
11275
11549
  }
11276
- var Public$0 = $TS($S($EXPECT($L160, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11550
+ var Public$0 = $TS($S($EXPECT($L161, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11277
11551
  return { $loc, token: $1 };
11278
11552
  });
11279
11553
  function Public(ctx, state) {
11280
11554
  return $EVENT(ctx, state, "Public", Public$0);
11281
11555
  }
11282
- var Private$0 = $TS($S($EXPECT($L161, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11556
+ var Private$0 = $TS($S($EXPECT($L162, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11283
11557
  return { $loc, token: $1 };
11284
11558
  });
11285
11559
  function Private(ctx, state) {
11286
11560
  return $EVENT(ctx, state, "Private", Private$0);
11287
11561
  }
11288
- var Protected$0 = $TS($S($EXPECT($L162, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11562
+ var Protected$0 = $TS($S($EXPECT($L163, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11289
11563
  return { $loc, token: $1 };
11290
11564
  });
11291
11565
  function Protected(ctx, state) {
11292
11566
  return $EVENT(ctx, state, "Protected", Protected$0);
11293
11567
  }
11294
- var Pipe$0 = $TV($C($EXPECT($L163, 'Pipe "||>"'), $EXPECT($L164, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
11568
+ var Pipe$0 = $TV($C($EXPECT($L164, 'Pipe "||>"'), $EXPECT($L165, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
11295
11569
  return { $loc, token: "||>" };
11296
11570
  });
11297
- var Pipe$1 = $TV($C($EXPECT($L165, 'Pipe "|>="'), $EXPECT($L166, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
11571
+ var Pipe$1 = $TV($C($EXPECT($L166, 'Pipe "|>="'), $EXPECT($L167, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
11298
11572
  return { $loc, token: "|>=" };
11299
11573
  });
11300
- var Pipe$2 = $TV($C($EXPECT($L167, 'Pipe "|>"'), $EXPECT($L168, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
11574
+ var Pipe$2 = $TV($C($EXPECT($L168, 'Pipe "|>"'), $EXPECT($L169, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
11301
11575
  return { $loc, token: "|>" };
11302
11576
  });
11303
11577
  var Pipe$$ = [Pipe$0, Pipe$1, Pipe$2];
@@ -11310,173 +11584,173 @@ var require_parser = __commonJS({
11310
11584
  function QuestionMark(ctx, state) {
11311
11585
  return $EVENT(ctx, state, "QuestionMark", QuestionMark$0);
11312
11586
  }
11313
- var Readonly$0 = $TS($S($EXPECT($L169, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11587
+ var Readonly$0 = $TS($S($EXPECT($L170, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11314
11588
  return { $loc, token: $1, ts: true };
11315
11589
  });
11316
11590
  function Readonly(ctx, state) {
11317
11591
  return $EVENT(ctx, state, "Readonly", Readonly$0);
11318
11592
  }
11319
- var Return$0 = $TS($S($EXPECT($L170, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11593
+ var Return$0 = $TS($S($EXPECT($L171, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11320
11594
  return { $loc, token: $1 };
11321
11595
  });
11322
11596
  function Return(ctx, state) {
11323
11597
  return $EVENT(ctx, state, "Return", Return$0);
11324
11598
  }
11325
- var Satisfies$0 = $TS($S($EXPECT($L171, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11599
+ var Satisfies$0 = $TS($S($EXPECT($L172, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11326
11600
  return { $loc, token: $1 };
11327
11601
  });
11328
11602
  function Satisfies(ctx, state) {
11329
11603
  return $EVENT(ctx, state, "Satisfies", Satisfies$0);
11330
11604
  }
11331
- var Semicolon$0 = $TV($EXPECT($L101, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
11605
+ var Semicolon$0 = $TV($EXPECT($L102, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
11332
11606
  return { $loc, token: $1 };
11333
11607
  });
11334
11608
  function Semicolon(ctx, state) {
11335
11609
  return $EVENT(ctx, state, "Semicolon", Semicolon$0);
11336
11610
  }
11337
- var SingleQuote$0 = $TV($EXPECT($L172, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
11611
+ var SingleQuote$0 = $TV($EXPECT($L173, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
11338
11612
  return { $loc, token: $1 };
11339
11613
  });
11340
11614
  function SingleQuote(ctx, state) {
11341
11615
  return $EVENT(ctx, state, "SingleQuote", SingleQuote$0);
11342
11616
  }
11343
- var Star$0 = $TV($EXPECT($L56, 'Star "*"'), function($skip, $loc, $0, $1) {
11617
+ var Star$0 = $TV($EXPECT($L57, 'Star "*"'), function($skip, $loc, $0, $1) {
11344
11618
  return { $loc, token: $1 };
11345
11619
  });
11346
11620
  function Star(ctx, state) {
11347
11621
  return $EVENT(ctx, state, "Star", Star$0);
11348
11622
  }
11349
- var Static$0 = $TS($S($EXPECT($L173, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11623
+ var Static$0 = $TS($S($EXPECT($L174, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11350
11624
  return { $loc, token: $1 };
11351
11625
  });
11352
- var Static$1 = $TS($S($EXPECT($L117, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L117, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
11626
+ var Static$1 = $TS($S($EXPECT($L118, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L118, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
11353
11627
  return { $loc, token: "static " };
11354
11628
  });
11355
11629
  var Static$$ = [Static$0, Static$1];
11356
11630
  function Static(ctx, state) {
11357
11631
  return $EVENT_C(ctx, state, "Static", Static$$);
11358
11632
  }
11359
- var SubstitutionStart$0 = $TV($EXPECT($L174, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
11633
+ var SubstitutionStart$0 = $TV($EXPECT($L175, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
11360
11634
  return { $loc, token: $1 };
11361
11635
  });
11362
11636
  function SubstitutionStart(ctx, state) {
11363
11637
  return $EVENT(ctx, state, "SubstitutionStart", SubstitutionStart$0);
11364
11638
  }
11365
- var Super$0 = $TS($S($EXPECT($L175, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11639
+ var Super$0 = $TS($S($EXPECT($L176, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11366
11640
  return { $loc, token: $1 };
11367
11641
  });
11368
11642
  function Super(ctx, state) {
11369
11643
  return $EVENT(ctx, state, "Super", Super$0);
11370
11644
  }
11371
- var Switch$0 = $TS($S($EXPECT($L176, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11645
+ var Switch$0 = $TS($S($EXPECT($L177, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11372
11646
  return { $loc, token: $1 };
11373
11647
  });
11374
11648
  function Switch(ctx, state) {
11375
11649
  return $EVENT(ctx, state, "Switch", Switch$0);
11376
11650
  }
11377
- var Target$0 = $TS($S($EXPECT($L177, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11651
+ var Target$0 = $TS($S($EXPECT($L178, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11378
11652
  return { $loc, token: $1 };
11379
11653
  });
11380
11654
  function Target(ctx, state) {
11381
11655
  return $EVENT(ctx, state, "Target", Target$0);
11382
11656
  }
11383
- var Then$0 = $TS($S(__, $EXPECT($L178, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
11657
+ var Then$0 = $TS($S(__, $EXPECT($L179, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
11384
11658
  return { $loc, token: "" };
11385
11659
  });
11386
11660
  function Then(ctx, state) {
11387
11661
  return $EVENT(ctx, state, "Then", Then$0);
11388
11662
  }
11389
- var This$0 = $TS($S($EXPECT($L179, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11663
+ var This$0 = $TS($S($EXPECT($L180, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11390
11664
  return { $loc, token: $1 };
11391
11665
  });
11392
11666
  function This(ctx, state) {
11393
11667
  return $EVENT(ctx, state, "This", This$0);
11394
11668
  }
11395
- var Throw$0 = $TS($S($EXPECT($L180, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11669
+ var Throw$0 = $TS($S($EXPECT($L181, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11396
11670
  return { $loc, token: $1 };
11397
11671
  });
11398
11672
  function Throw(ctx, state) {
11399
11673
  return $EVENT(ctx, state, "Throw", Throw$0);
11400
11674
  }
11401
- var TripleDoubleQuote$0 = $TV($EXPECT($L181, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
11675
+ var TripleDoubleQuote$0 = $TV($EXPECT($L182, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
11402
11676
  return { $loc, token: "`" };
11403
11677
  });
11404
11678
  function TripleDoubleQuote(ctx, state) {
11405
11679
  return $EVENT(ctx, state, "TripleDoubleQuote", TripleDoubleQuote$0);
11406
11680
  }
11407
- var TripleSingleQuote$0 = $TV($EXPECT($L182, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
11681
+ var TripleSingleQuote$0 = $TV($EXPECT($L183, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
11408
11682
  return { $loc, token: "`" };
11409
11683
  });
11410
11684
  function TripleSingleQuote(ctx, state) {
11411
11685
  return $EVENT(ctx, state, "TripleSingleQuote", TripleSingleQuote$0);
11412
11686
  }
11413
- var TripleSlash$0 = $TV($EXPECT($L183, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
11687
+ var TripleSlash$0 = $TV($EXPECT($L184, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
11414
11688
  return { $loc, token: "/" };
11415
11689
  });
11416
11690
  function TripleSlash(ctx, state) {
11417
11691
  return $EVENT(ctx, state, "TripleSlash", TripleSlash$0);
11418
11692
  }
11419
- var TripleTick$0 = $TV($EXPECT($L184, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
11693
+ var TripleTick$0 = $TV($EXPECT($L185, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
11420
11694
  return { $loc, token: "`" };
11421
11695
  });
11422
11696
  function TripleTick(ctx, state) {
11423
11697
  return $EVENT(ctx, state, "TripleTick", TripleTick$0);
11424
11698
  }
11425
- var Try$0 = $TS($S($EXPECT($L185, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11699
+ var Try$0 = $TS($S($EXPECT($L186, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11426
11700
  return { $loc, token: $1 };
11427
11701
  });
11428
11702
  function Try(ctx, state) {
11429
11703
  return $EVENT(ctx, state, "Try", Try$0);
11430
11704
  }
11431
- var Typeof$0 = $TS($S($EXPECT($L186, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11705
+ var Typeof$0 = $TS($S($EXPECT($L187, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11432
11706
  return { $loc, token: $1 };
11433
11707
  });
11434
11708
  function Typeof(ctx, state) {
11435
11709
  return $EVENT(ctx, state, "Typeof", Typeof$0);
11436
11710
  }
11437
- var Unless$0 = $TS($S($EXPECT($L187, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11438
- return { $loc, token: $1 };
11711
+ var Unless$0 = $TS($S($EXPECT($L188, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11712
+ return { $loc, token: $1, negated: true };
11439
11713
  });
11440
11714
  function Unless(ctx, state) {
11441
11715
  return $EVENT(ctx, state, "Unless", Unless$0);
11442
11716
  }
11443
- var Until$0 = $TS($S($EXPECT($L188, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11717
+ var Until$0 = $TS($S($EXPECT($L189, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11444
11718
  return { $loc, token: $1 };
11445
11719
  });
11446
11720
  function Until(ctx, state) {
11447
11721
  return $EVENT(ctx, state, "Until", Until$0);
11448
11722
  }
11449
- var Using$0 = $TS($S($EXPECT($L189, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11723
+ var Using$0 = $TS($S($EXPECT($L190, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11450
11724
  return { $loc, token: $1 };
11451
11725
  });
11452
11726
  function Using(ctx, state) {
11453
11727
  return $EVENT(ctx, state, "Using", Using$0);
11454
11728
  }
11455
- var Var$0 = $TS($S($EXPECT($L190, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11729
+ var Var$0 = $TS($S($EXPECT($L191, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11456
11730
  return { $loc, token: $1 };
11457
11731
  });
11458
11732
  function Var(ctx, state) {
11459
11733
  return $EVENT(ctx, state, "Var", Var$0);
11460
11734
  }
11461
- var Void$0 = $TS($S($EXPECT($L191, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11735
+ var Void$0 = $TS($S($EXPECT($L192, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11462
11736
  return { $loc, token: $1 };
11463
11737
  });
11464
11738
  function Void(ctx, state) {
11465
11739
  return $EVENT(ctx, state, "Void", Void$0);
11466
11740
  }
11467
- var When$0 = $TS($S($EXPECT($L192, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11741
+ var When$0 = $TS($S($EXPECT($L193, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11468
11742
  return { $loc, token: "case" };
11469
11743
  });
11470
11744
  function When(ctx, state) {
11471
11745
  return $EVENT(ctx, state, "When", When$0);
11472
11746
  }
11473
- var While$0 = $TS($S($EXPECT($L193, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11747
+ var While$0 = $TS($S($EXPECT($L194, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11474
11748
  return { $loc, token: $1 };
11475
11749
  });
11476
11750
  function While(ctx, state) {
11477
11751
  return $EVENT(ctx, state, "While", While$0);
11478
11752
  }
11479
- var Yield$0 = $TS($S($EXPECT($L194, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11753
+ var Yield$0 = $TS($S($EXPECT($L195, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11480
11754
  return { $loc, token: $1, type: "Yield" };
11481
11755
  });
11482
11756
  function Yield(ctx, state) {
@@ -11505,7 +11779,7 @@ var require_parser = __commonJS({
11505
11779
  function JSXImplicitFragment(ctx, state) {
11506
11780
  return $EVENT(ctx, state, "JSXImplicitFragment", JSXImplicitFragment$0);
11507
11781
  }
11508
- var JSXTag$0 = $T($S($EXPECT($R68, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
11782
+ var JSXTag$0 = $T($S($EXPECT($R69, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
11509
11783
  return value[1];
11510
11784
  });
11511
11785
  function JSXTag(ctx, state) {
@@ -11555,7 +11829,7 @@ var require_parser = __commonJS({
11555
11829
  function JSXElement(ctx, state) {
11556
11830
  return $EVENT_C(ctx, state, "JSXElement", JSXElement$$);
11557
11831
  }
11558
- var JSXSelfClosingElement$0 = $TS($S($EXPECT($L14, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L195, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
11832
+ var JSXSelfClosingElement$0 = $TS($S($EXPECT($L15, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L196, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
11559
11833
  return { type: "JSXElement", children: $0, tag: $2 };
11560
11834
  });
11561
11835
  function JSXSelfClosingElement(ctx, state) {
@@ -11574,7 +11848,7 @@ var require_parser = __commonJS({
11574
11848
  function PopJSXStack(ctx, state) {
11575
11849
  return $EVENT(ctx, state, "PopJSXStack", PopJSXStack$0);
11576
11850
  }
11577
- var JSXOpeningElement$0 = $S($EXPECT($L14, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L35, 'JSXOpeningElement ">"'));
11851
+ var JSXOpeningElement$0 = $S($EXPECT($L15, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L36, 'JSXOpeningElement ">"'));
11578
11852
  function JSXOpeningElement(ctx, state) {
11579
11853
  return $EVENT(ctx, state, "JSXOpeningElement", JSXOpeningElement$0);
11580
11854
  }
@@ -11589,7 +11863,7 @@ var require_parser = __commonJS({
11589
11863
  function JSXOptionalClosingElement(ctx, state) {
11590
11864
  return $EVENT_C(ctx, state, "JSXOptionalClosingElement", JSXOptionalClosingElement$$);
11591
11865
  }
11592
- var JSXClosingElement$0 = $S($EXPECT($L196, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L35, 'JSXClosingElement ">"'));
11866
+ var JSXClosingElement$0 = $S($EXPECT($L197, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L36, 'JSXClosingElement ">"'));
11593
11867
  function JSXClosingElement(ctx, state) {
11594
11868
  return $EVENT(ctx, state, "JSXClosingElement", JSXClosingElement$0);
11595
11869
  }
@@ -11610,7 +11884,7 @@ var require_parser = __commonJS({
11610
11884
  ];
11611
11885
  return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
11612
11886
  });
11613
- var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L197, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11887
+ var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L198, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11614
11888
  var children = $3;
11615
11889
  $0 = $0.slice(1);
11616
11890
  return {
@@ -11623,7 +11897,7 @@ var require_parser = __commonJS({
11623
11897
  function JSXFragment(ctx, state) {
11624
11898
  return $EVENT_C(ctx, state, "JSXFragment", JSXFragment$$);
11625
11899
  }
11626
- var PushJSXOpeningFragment$0 = $TV($EXPECT($L197, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
11900
+ var PushJSXOpeningFragment$0 = $TV($EXPECT($L198, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
11627
11901
  module2.JSXTagStack.push("");
11628
11902
  return $1;
11629
11903
  });
@@ -11640,11 +11914,11 @@ var require_parser = __commonJS({
11640
11914
  function JSXOptionalClosingFragment(ctx, state) {
11641
11915
  return $EVENT_C(ctx, state, "JSXOptionalClosingFragment", JSXOptionalClosingFragment$$);
11642
11916
  }
11643
- var JSXClosingFragment$0 = $EXPECT($L198, 'JSXClosingFragment "</>"');
11917
+ var JSXClosingFragment$0 = $EXPECT($L199, 'JSXClosingFragment "</>"');
11644
11918
  function JSXClosingFragment(ctx, state) {
11645
11919
  return $EVENT(ctx, state, "JSXClosingFragment", JSXClosingFragment$0);
11646
11920
  }
11647
- var JSXElementName$0 = $TV($Y($S($C($EXPECT($L147, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
11921
+ var JSXElementName$0 = $TV($Y($S($C($EXPECT($L148, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
11648
11922
  return module2.config.defaultElement;
11649
11923
  });
11650
11924
  var JSXElementName$1 = $TEXT($S(JSXIdentifierName, $C($S(Colon, JSXIdentifierName), $Q($S(Dot, JSXIdentifierName)))));
@@ -11652,7 +11926,7 @@ var require_parser = __commonJS({
11652
11926
  function JSXElementName(ctx, state) {
11653
11927
  return $EVENT_C(ctx, state, "JSXElementName", JSXElementName$$);
11654
11928
  }
11655
- var JSXIdentifierName$0 = $R$0($EXPECT($R69, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
11929
+ var JSXIdentifierName$0 = $R$0($EXPECT($R70, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
11656
11930
  function JSXIdentifierName(ctx, state) {
11657
11931
  return $EVENT(ctx, state, "JSXIdentifierName", JSXIdentifierName$0);
11658
11932
  }
@@ -11816,7 +12090,7 @@ var require_parser = __commonJS({
11816
12090
  }
11817
12091
  return $skip;
11818
12092
  });
11819
- var JSXAttribute$5 = $TS($S($EXPECT($L147, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
12093
+ var JSXAttribute$5 = $TS($S($EXPECT($L148, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
11820
12094
  return [" ", "id=", $2];
11821
12095
  });
11822
12096
  var JSXAttribute$6 = $TS($S(Dot, JSXShorthandString), function($skip, $loc, $0, $1, $2) {
@@ -11825,7 +12099,7 @@ var require_parser = __commonJS({
11825
12099
  class: $2
11826
12100
  };
11827
12101
  });
11828
- var JSXAttribute$7 = $TS($S($TEXT($EXPECT($R14, "JSXAttribute /[!+-]/")), JSXAttributeName, $Y(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
12102
+ var JSXAttribute$7 = $TS($S($TEXT($EXPECT($R15, "JSXAttribute /[!+-]/")), JSXAttributeName, $Y(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
11829
12103
  var toggle = $1;
11830
12104
  var id = $2;
11831
12105
  const value = toggle === "+" ? "true" : "false";
@@ -11835,11 +12109,11 @@ var require_parser = __commonJS({
11835
12109
  function JSXAttribute(ctx, state) {
11836
12110
  return $EVENT_C(ctx, state, "JSXAttribute", JSXAttribute$$);
11837
12111
  }
11838
- var JSXAttributeSpace$0 = $R$0($EXPECT($R70, "JSXAttributeSpace /[\\s>]|\\/>/"));
12112
+ var JSXAttributeSpace$0 = $R$0($EXPECT($R71, "JSXAttributeSpace /[\\s>]|\\/>/"));
11839
12113
  function JSXAttributeSpace(ctx, state) {
11840
12114
  return $EVENT(ctx, state, "JSXAttributeSpace", JSXAttributeSpace$0);
11841
12115
  }
11842
- var JSXShorthandString$0 = $TR($EXPECT($R71, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12116
+ var JSXShorthandString$0 = $TR($EXPECT($R72, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11843
12117
  return quoteString($0);
11844
12118
  });
11845
12119
  var JSXShorthandString$1 = $TS($S(TemplateLiteral), function($skip, $loc, $0, $1) {
@@ -11873,7 +12147,7 @@ var require_parser = __commonJS({
11873
12147
  }
11874
12148
  return [open, value, close];
11875
12149
  });
11876
- var JSXAttributeValue$4 = $R$0($EXPECT($R72, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
12150
+ var JSXAttributeValue$4 = $R$0($EXPECT($R73, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
11877
12151
  var JSXAttributeValue$$ = [JSXAttributeValue$0, JSXAttributeValue$1, JSXAttributeValue$2, JSXAttributeValue$3, JSXAttributeValue$4];
11878
12152
  function JSXAttributeValue(ctx, state) {
11879
12153
  return $EVENT_C(ctx, state, "JSXAttributeValue", JSXAttributeValue$$);
@@ -11886,7 +12160,7 @@ var require_parser = __commonJS({
11886
12160
  function InlineJSXAttributeValue(ctx, state) {
11887
12161
  return $EVENT(ctx, state, "InlineJSXAttributeValue", InlineJSXAttributeValue$0);
11888
12162
  }
11889
- var InlineJSXBinaryOpRHS$0 = $TS($S($N($EXPECT($R73, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
12163
+ var InlineJSXBinaryOpRHS$0 = $TS($S($N($EXPECT($R74, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
11890
12164
  var op = $2;
11891
12165
  var rhs = $3;
11892
12166
  return [[], op, [], rhs];
@@ -11903,7 +12177,7 @@ var require_parser = __commonJS({
11903
12177
  function InlineJSXUnaryExpression(ctx, state) {
11904
12178
  return $EVENT(ctx, state, "InlineJSXUnaryExpression", InlineJSXUnaryExpression$0);
11905
12179
  }
11906
- var InlineJSXUnaryOp$0 = $TR($EXPECT($R74, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12180
+ var InlineJSXUnaryOp$0 = $TR($EXPECT($R75, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11907
12181
  return { $loc, token: $0 };
11908
12182
  });
11909
12183
  function InlineJSXUnaryOp(ctx, state) {
@@ -11935,7 +12209,7 @@ var require_parser = __commonJS({
11935
12209
  ]
11936
12210
  });
11937
12211
  });
11938
- var InlineJSXCallExpression$1 = $TS($S($EXPECT($L17, 'InlineJSXCallExpression "import"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
12212
+ var InlineJSXCallExpression$1 = $TS($S($EXPECT($L18, 'InlineJSXCallExpression "import"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
11939
12213
  var args = $2;
11940
12214
  var rest = $3;
11941
12215
  return processCallMemberExpression({
@@ -12054,7 +12328,7 @@ var require_parser = __commonJS({
12054
12328
  }
12055
12329
  return $skip;
12056
12330
  });
12057
- var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L27, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
12331
+ var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L28, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
12058
12332
  return { children: [], jsxChildren: [] };
12059
12333
  });
12060
12334
  var JSXNestedChildren$$ = [JSXNestedChildren$0, JSXNestedChildren$1];
@@ -12109,19 +12383,19 @@ var require_parser = __commonJS({
12109
12383
  function JSXChild(ctx, state) {
12110
12384
  return $EVENT_C(ctx, state, "JSXChild", JSXChild$$);
12111
12385
  }
12112
- var JSXComment$0 = $TS($S($EXPECT($L199, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L200, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
12386
+ var JSXComment$0 = $TS($S($EXPECT($L200, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L201, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
12113
12387
  return ["{/*", $2, "*/}"];
12114
12388
  });
12115
12389
  function JSXComment(ctx, state) {
12116
12390
  return $EVENT(ctx, state, "JSXComment", JSXComment$0);
12117
12391
  }
12118
- var JSXCommentContent$0 = $TR($EXPECT($R75, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12392
+ var JSXCommentContent$0 = $TR($EXPECT($R76, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12119
12393
  return { $loc, token: $0.replace(/\*\//g, "* /") };
12120
12394
  });
12121
12395
  function JSXCommentContent(ctx, state) {
12122
12396
  return $EVENT(ctx, state, "JSXCommentContent", JSXCommentContent$0);
12123
12397
  }
12124
- var JSXText$0 = $TR($EXPECT($R76, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12398
+ var JSXText$0 = $TR($EXPECT($R77, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12125
12399
  return {
12126
12400
  type: "JSXText",
12127
12401
  token: $0,
@@ -12241,37 +12515,37 @@ var require_parser = __commonJS({
12241
12515
  function InterfaceExtendsTarget(ctx, state) {
12242
12516
  return $EVENT(ctx, state, "InterfaceExtendsTarget", InterfaceExtendsTarget$0);
12243
12517
  }
12244
- var TypeKeyword$0 = $TS($S($EXPECT($L201, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12518
+ var TypeKeyword$0 = $TS($S($EXPECT($L202, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12245
12519
  return { $loc, token: $1 };
12246
12520
  });
12247
12521
  function TypeKeyword(ctx, state) {
12248
12522
  return $EVENT(ctx, state, "TypeKeyword", TypeKeyword$0);
12249
12523
  }
12250
- var Enum$0 = $TS($S($EXPECT($L202, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12524
+ var Enum$0 = $TS($S($EXPECT($L203, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12251
12525
  return { $loc, token: $1 };
12252
12526
  });
12253
12527
  function Enum(ctx, state) {
12254
12528
  return $EVENT(ctx, state, "Enum", Enum$0);
12255
12529
  }
12256
- var Interface$0 = $TS($S($EXPECT($L203, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12530
+ var Interface$0 = $TS($S($EXPECT($L204, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12257
12531
  return { $loc, token: $1 };
12258
12532
  });
12259
12533
  function Interface(ctx, state) {
12260
12534
  return $EVENT(ctx, state, "Interface", Interface$0);
12261
12535
  }
12262
- var Global$0 = $TS($S($EXPECT($L204, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12536
+ var Global$0 = $TS($S($EXPECT($L205, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12263
12537
  return { $loc, token: $1 };
12264
12538
  });
12265
12539
  function Global(ctx, state) {
12266
12540
  return $EVENT(ctx, state, "Global", Global$0);
12267
12541
  }
12268
- var Module$0 = $TS($S($EXPECT($L205, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12542
+ var Module$0 = $TS($S($EXPECT($L206, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12269
12543
  return { $loc, token: $1 };
12270
12544
  });
12271
12545
  function Module(ctx, state) {
12272
12546
  return $EVENT(ctx, state, "Module", Module$0);
12273
12547
  }
12274
- var Namespace$0 = $TS($S($EXPECT($L206, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12548
+ var Namespace$0 = $TS($S($EXPECT($L207, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12275
12549
  return { $loc, token: $1 };
12276
12550
  });
12277
12551
  function Namespace(ctx, state) {
@@ -12486,7 +12760,7 @@ var require_parser = __commonJS({
12486
12760
  function TypeProperty(ctx, state) {
12487
12761
  return $EVENT(ctx, state, "TypeProperty", TypeProperty$0);
12488
12762
  }
12489
- var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R77, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R78, "TypeIndexSignature /[+-]/")), $Y($S($E(_), QuestionMark)))));
12763
+ var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R78, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R79, "TypeIndexSignature /[+-]/")), $Y($S($E(_), QuestionMark)))));
12490
12764
  function TypeIndexSignature(ctx, state) {
12491
12765
  return $EVENT(ctx, state, "TypeIndexSignature", TypeIndexSignature$0);
12492
12766
  }
@@ -12496,27 +12770,53 @@ var require_parser = __commonJS({
12496
12770
  function TypeIndex(ctx, state) {
12497
12771
  return $EVENT_C(ctx, state, "TypeIndex", TypeIndex$$);
12498
12772
  }
12499
- var TypeSuffix$0 = $T($S($E(QuestionMark), $E(_), Colon, Type), function(value) {
12500
- return { "type": "TypeSuffix", "ts": true, "children": value };
12773
+ var TypeSuffix$0 = $T($S($E(_), $E(QuestionMark), $E(_), Colon, MaybeIndentedType), function(value) {
12774
+ var optional = value[1];
12775
+ var t = value[4];
12776
+ return { "type": "TypeSuffix", "ts": true, "optional": optional, "t": t, "children": value };
12501
12777
  });
12502
- var TypeSuffix$1 = $T($S(QuestionMark, $E(_)), function(value) {
12503
- return { "type": "TypeSuffix", "ts": true, "children": value };
12778
+ var TypeSuffix$1 = $T($S($E(_), QuestionMark, $E(_)), function(value) {
12779
+ var optional = value[1];
12780
+ return { "type": "TypeSuffix", "ts": true, "optional": optional, "children": value };
12504
12781
  });
12505
- var TypeSuffix$2 = $T($S(NonNullAssertion, $E(_), $E($S(Colon, Type))), function(value) {
12506
- return { "type": "TypeSuffix", "ts": true, "children": value };
12782
+ var TypeSuffix$2 = $TS($S(NonNullAssertion, $E(_), $E($S(Colon, MaybeIndentedType))), function($skip, $loc, $0, $1, $2, $3) {
12783
+ var ct = $3;
12784
+ const [colon, t] = ct ?? [];
12785
+ return {
12786
+ type: "TypeSuffix",
12787
+ ts: true,
12788
+ t,
12789
+ children: [$1, $2, colon, t]
12790
+ };
12507
12791
  });
12508
12792
  var TypeSuffix$$ = [TypeSuffix$0, TypeSuffix$1, TypeSuffix$2];
12509
12793
  function TypeSuffix(ctx, state) {
12510
12794
  return $EVENT_C(ctx, state, "TypeSuffix", TypeSuffix$$);
12511
12795
  }
12512
- var ReturnTypeSuffix$0 = $TS($S($E(_), Colon, ReturnType), function($skip, $loc, $0, $1, $2, $3) {
12513
- var t = $3;
12514
- return { ...t, children: [$1, $2, ...t.children] };
12796
+ var MaybeIndentedType$0 = InterfaceBlock;
12797
+ var MaybeIndentedType$1 = $TS($S(PushIndent, $E($S(Nested, Type)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
12798
+ if (!$2)
12799
+ return $skip;
12800
+ return $2;
12801
+ });
12802
+ var MaybeIndentedType$2 = Type;
12803
+ var MaybeIndentedType$$ = [MaybeIndentedType$0, MaybeIndentedType$1, MaybeIndentedType$2];
12804
+ function MaybeIndentedType(ctx, state) {
12805
+ return $EVENT_C(ctx, state, "MaybeIndentedType", MaybeIndentedType$$);
12806
+ }
12807
+ var ReturnTypeSuffix$0 = $TS($S($E(_), $E(QuestionMark), $E(_), Colon, ReturnType), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12808
+ var optional = $2;
12809
+ var t = $5;
12810
+ return {
12811
+ ...t,
12812
+ optional,
12813
+ children: [$1, optional, $3, $4, ...t.children]
12814
+ };
12515
12815
  });
12516
12816
  function ReturnTypeSuffix(ctx, state) {
12517
12817
  return $EVENT(ctx, state, "ReturnTypeSuffix", ReturnTypeSuffix$0);
12518
12818
  }
12519
- var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L207, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
12819
+ var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L208, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
12520
12820
  var asserts = $1;
12521
12821
  var t = $2;
12522
12822
  if (asserts) {
@@ -12537,7 +12837,7 @@ var require_parser = __commonJS({
12537
12837
  function ReturnType(ctx, state) {
12538
12838
  return $EVENT(ctx, state, "ReturnType", ReturnType$0);
12539
12839
  }
12540
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L152, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
12840
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L153, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
12541
12841
  var lhs = $1;
12542
12842
  var rhs = $2;
12543
12843
  if (!rhs)
@@ -12572,9 +12872,19 @@ var require_parser = __commonJS({
12572
12872
  return $EVENT(ctx, state, "TypeBinary", TypeBinary$0);
12573
12873
  }
12574
12874
  var TypeUnary$0 = $TS($S($Q($S(__, TypeUnaryOp, NonIdContinue)), TypePrimary, $Q(TypeUnarySuffix)), function($skip, $loc, $0, $1, $2, $3) {
12575
- if (!$1.length && !$3.length)
12576
- return $2;
12577
- return [...$1, $2, ...$3];
12875
+ var prefix = $1;
12876
+ var t = $2;
12877
+ var suffix = $3;
12878
+ if (!prefix.length && !suffix.length)
12879
+ return t;
12880
+ return {
12881
+ type: "UnaryType",
12882
+ prefix,
12883
+ suffix,
12884
+ t,
12885
+ // omit empty prefix for trimming space
12886
+ children: prefix.length ? $0 : [t, suffix]
12887
+ };
12578
12888
  });
12579
12889
  function TypeUnary(ctx, state) {
12580
12890
  return $EVENT(ctx, state, "TypeUnary", TypeUnary$0);
@@ -12585,10 +12895,10 @@ var require_parser = __commonJS({
12585
12895
  function TypeUnarySuffix(ctx, state) {
12586
12896
  return $EVENT_C(ctx, state, "TypeUnarySuffix", TypeUnarySuffix$$);
12587
12897
  }
12588
- var TypeUnaryOp$0 = $S($EXPECT($L208, 'TypeUnaryOp "keyof"'), NonIdContinue);
12589
- var TypeUnaryOp$1 = $S($EXPECT($L186, 'TypeUnaryOp "typeof"'), NonIdContinue);
12590
- var TypeUnaryOp$2 = $S($EXPECT($L209, 'TypeUnaryOp "infer"'), NonIdContinue);
12591
- var TypeUnaryOp$3 = $S($EXPECT($L169, 'TypeUnaryOp "readonly"'), NonIdContinue);
12898
+ var TypeUnaryOp$0 = $S($EXPECT($L209, 'TypeUnaryOp "keyof"'), NonIdContinue);
12899
+ var TypeUnaryOp$1 = $S($EXPECT($L187, 'TypeUnaryOp "typeof"'), NonIdContinue);
12900
+ var TypeUnaryOp$2 = $S($EXPECT($L210, 'TypeUnaryOp "infer"'), NonIdContinue);
12901
+ var TypeUnaryOp$3 = $S($EXPECT($L170, 'TypeUnaryOp "readonly"'), NonIdContinue);
12592
12902
  var TypeUnaryOp$$ = [TypeUnaryOp$0, TypeUnaryOp$1, TypeUnaryOp$2, TypeUnaryOp$3];
12593
12903
  function TypeUnaryOp(ctx, state) {
12594
12904
  return $EVENT_C(ctx, state, "TypeUnaryOp", TypeUnaryOp$$);
@@ -12597,17 +12907,26 @@ var require_parser = __commonJS({
12597
12907
  function TypeIndexedAccess(ctx, state) {
12598
12908
  return $EVENT(ctx, state, "TypeIndexedAccess", TypeIndexedAccess$0);
12599
12909
  }
12600
- var UnknownAlias$0 = $TV($EXPECT($L210, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
12910
+ var UnknownAlias$0 = $TV($EXPECT($L211, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
12601
12911
  return { $loc, token: "unknown" };
12602
12912
  });
12603
12913
  function UnknownAlias(ctx, state) {
12604
12914
  return $EVENT(ctx, state, "UnknownAlias", UnknownAlias$0);
12605
12915
  }
12606
- var TypePrimary$0 = $S($E(_), TypeTuple);
12916
+ var TypePrimary$0 = $TS($S($E(_), TypeTuple), function($skip, $loc, $0, $1, $2) {
12917
+ return { ...$2, children: [$1, ...$2.children] };
12918
+ });
12607
12919
  var TypePrimary$1 = InterfaceBlock;
12608
12920
  var TypePrimary$2 = $S($E(_), FunctionType);
12609
12921
  var TypePrimary$3 = $S($E(_), InlineInterfaceLiteral);
12610
- var TypePrimary$4 = $S($E(_), ImportType);
12922
+ var TypePrimary$4 = $TS($S($E(_), ImportType), function($skip, $loc, $0, $1, $2) {
12923
+ var t = $2;
12924
+ return {
12925
+ type: "ImportType",
12926
+ t,
12927
+ children: $0
12928
+ };
12929
+ });
12611
12930
  var TypePrimary$5 = $TS($S($E(_), TypeLiteral), function($skip, $loc, $0, $1, $2) {
12612
12931
  var t = $2;
12613
12932
  return {
@@ -12633,22 +12952,30 @@ var require_parser = __commonJS({
12633
12952
  args
12634
12953
  };
12635
12954
  });
12636
- var TypePrimary$8 = $S($E(_), OpenParen, $C(Type, $S(EOS, Type)), __, CloseParen);
12955
+ var TypePrimary$8 = $TS($S($E(_), OpenParen, $C(Type, $S(EOS, Type)), __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12956
+ return {
12957
+ type: "ParenthesizedType",
12958
+ children: $0
12959
+ };
12960
+ });
12637
12961
  var TypePrimary$$ = [TypePrimary$0, TypePrimary$1, TypePrimary$2, TypePrimary$3, TypePrimary$4, TypePrimary$5, TypePrimary$6, TypePrimary$7, TypePrimary$8];
12638
12962
  function TypePrimary(ctx, state) {
12639
12963
  return $EVENT_C(ctx, state, "TypePrimary", TypePrimary$$);
12640
12964
  }
12641
- var ImportType$0 = $S($EXPECT($L17, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
12642
- var ImportType$1 = $S($EXPECT($L17, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
12965
+ var ImportType$0 = $S($EXPECT($L18, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
12966
+ var ImportType$1 = $S($EXPECT($L18, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
12643
12967
  var ImportType$$ = [ImportType$0, ImportType$1];
12644
12968
  function ImportType(ctx, state) {
12645
12969
  return $EVENT_C(ctx, state, "ImportType", ImportType$$);
12646
12970
  }
12647
- var TypeTuple$0 = $S(OpenBracket, NestedTypeList, __, CloseBracket);
12648
- var TypeTuple$1 = $S(OpenBracket, $E(TypeList), __, CloseBracket);
12649
- var TypeTuple$$ = [TypeTuple$0, TypeTuple$1];
12971
+ var TypeTuple$0 = $TS($S(OpenBracket, $C(NestedTypeList, $E(TypeList)), __, CloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
12972
+ return {
12973
+ type: "TypeTuple",
12974
+ children: $0
12975
+ };
12976
+ });
12650
12977
  function TypeTuple(ctx, state) {
12651
- return $EVENT_C(ctx, state, "TypeTuple", TypeTuple$$);
12978
+ return $EVENT(ctx, state, "TypeTuple", TypeTuple$0);
12652
12979
  }
12653
12980
  var TypeList$0 = $S(TypeElement, $Q($S(__, Comma, TypeElement)));
12654
12981
  function TypeList(ctx, state) {
@@ -12699,13 +13026,59 @@ var require_parser = __commonJS({
12699
13026
  function NestedType(ctx, state) {
12700
13027
  return $EVENT(ctx, state, "NestedType", NestedType$0);
12701
13028
  }
12702
- var TypeConditional$0 = $TS($S(TypeBinary, $E($S(__, $EXPECT($L140, 'TypeConditional "extends"'), NonIdContinue, Type, $E($S(__, QuestionMark, Type, __, Colon, Type))))), function($skip, $loc, $0, $1, $2) {
12703
- if ($2)
12704
- return $0;
12705
- return $1;
13029
+ var TypeConditional$0 = $TS($S($E(_), $EXPECT($R80, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
13030
+ return [$1, expressionizeTypeIf($3)];
13031
+ });
13032
+ var TypeConditional$1 = $TS($S(TypeCondition, NotDedented, QuestionMark, Type, __, Colon, Type), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
13033
+ if ($1.negated)
13034
+ return [$1, $2, $3, $7, $5, $6, $4];
13035
+ return $0;
13036
+ });
13037
+ var TypeConditional$2 = $TS($S(TypeBinary, $E($S($E(IndentedFurther), ExtendsToken, Type))), function($skip, $loc, $0, $1, $2) {
13038
+ if (!$2)
13039
+ return $1;
13040
+ return $0;
12706
13041
  });
13042
+ var TypeConditional$$ = [TypeConditional$0, TypeConditional$1, TypeConditional$2];
12707
13043
  function TypeConditional(ctx, state) {
12708
- return $EVENT(ctx, state, "TypeConditional", TypeConditional$0);
13044
+ return $EVENT_C(ctx, state, "TypeConditional", TypeConditional$$);
13045
+ }
13046
+ var TypeCondition$0 = $TS($S(TypeBinary, $E(IndentedFurther), $C(ExtendsToken, NotExtendsToken), Type), function($skip, $loc, $0, $1, $2, $3, $4) {
13047
+ return {
13048
+ type: "TypeCondition",
13049
+ negated: $3.negated,
13050
+ children: $0
13051
+ };
13052
+ });
13053
+ function TypeCondition(ctx, state) {
13054
+ return $EVENT(ctx, state, "TypeCondition", TypeCondition$0);
13055
+ }
13056
+ var TypeIfThenElse$0 = $TS($S($E(_), $C(If, Unless), $S(OpenParen, TypeCondition, CloseParen), TypeBlock, $E(TypeElse)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
13057
+ return [$1, $2, $3[1], $4, $5];
13058
+ });
13059
+ var TypeIfThenElse$1 = $S($E(_), $C(If, Unless), TypeCondition, TypeBlock, $E(TypeElse));
13060
+ var TypeIfThenElse$$ = [TypeIfThenElse$0, TypeIfThenElse$1];
13061
+ function TypeIfThenElse(ctx, state) {
13062
+ return $EVENT_C(ctx, state, "TypeIfThenElse", TypeIfThenElse$$);
13063
+ }
13064
+ var TypeElse$0 = $S(NotDedented, Else, TypeBlock);
13065
+ function TypeElse(ctx, state) {
13066
+ return $EVENT(ctx, state, "TypeElse", TypeElse$0);
13067
+ }
13068
+ var TypeBlock$0 = $T($S(Then, Type), function(value) {
13069
+ return value[1];
13070
+ });
13071
+ var TypeBlock$1 = $T($S($N(EOS), Type), function(value) {
13072
+ return value[1];
13073
+ });
13074
+ var TypeBlock$2 = $TS($S(PushIndent, $E($S(Nested, Type)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
13075
+ if (!$2)
13076
+ return $skip;
13077
+ return $2;
13078
+ });
13079
+ var TypeBlock$$ = [TypeBlock$0, TypeBlock$1, TypeBlock$2];
13080
+ function TypeBlock(ctx, state) {
13081
+ return $EVENT_C(ctx, state, "TypeBlock", TypeBlock$$);
12709
13082
  }
12710
13083
  var TypeTemplateSubstitution$0 = $S(SubstitutionStart, Type, __, CloseBrace);
12711
13084
  function TypeTemplateSubstitution(ctx, state) {
@@ -12737,10 +13110,10 @@ var require_parser = __commonJS({
12737
13110
  }
12738
13111
  var TypeLiteral$0 = TypeTemplateLiteral;
12739
13112
  var TypeLiteral$1 = Literal;
12740
- var TypeLiteral$2 = $TS($S($EXPECT($L191, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13113
+ var TypeLiteral$2 = $TS($S($EXPECT($L192, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12741
13114
  return { type: "VoidType", $loc, token: $1 };
12742
13115
  });
12743
- var TypeLiteral$3 = $TV($EXPECT($L211, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
13116
+ var TypeLiteral$3 = $TV($EXPECT($L212, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
12744
13117
  return { $loc, token: "[]" };
12745
13118
  });
12746
13119
  var TypeLiteral$$ = [TypeLiteral$0, TypeLiteral$1, TypeLiteral$2, TypeLiteral$3];
@@ -12759,16 +13132,16 @@ var require_parser = __commonJS({
12759
13132
  var InlineInterfacePropertyDelimiter$1 = $T($S($Y($S($C(IndentedFurther, $E(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
12760
13133
  return value[1];
12761
13134
  });
12762
- var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L12, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L114, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L36, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L27, 'InlineInterfacePropertyDelimiter "}"'))));
13135
+ var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L13, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L115, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L37, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L28, 'InlineInterfacePropertyDelimiter "}"'))));
12763
13136
  var InlineInterfacePropertyDelimiter$3 = $Y(EOS);
12764
13137
  var InlineInterfacePropertyDelimiter$$ = [InlineInterfacePropertyDelimiter$0, InlineInterfacePropertyDelimiter$1, InlineInterfacePropertyDelimiter$2, InlineInterfacePropertyDelimiter$3];
12765
13138
  function InlineInterfacePropertyDelimiter(ctx, state) {
12766
13139
  return $EVENT_C(ctx, state, "InlineInterfacePropertyDelimiter", InlineInterfacePropertyDelimiter$$);
12767
13140
  }
12768
- var TypeBinaryOp$0 = $TV($EXPECT($L100, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
13141
+ var TypeBinaryOp$0 = $TV($EXPECT($L101, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
12769
13142
  return { $loc, token: "|" };
12770
13143
  });
12771
- var TypeBinaryOp$1 = $TV($EXPECT($L99, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
13144
+ var TypeBinaryOp$1 = $TV($EXPECT($L100, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
12772
13145
  return { $loc, token: "&" };
12773
13146
  });
12774
13147
  var TypeBinaryOp$$ = [TypeBinaryOp$0, TypeBinaryOp$1];
@@ -12785,7 +13158,7 @@ var require_parser = __commonJS({
12785
13158
  function FunctionType(ctx, state) {
12786
13159
  return $EVENT(ctx, state, "FunctionType", FunctionType$0);
12787
13160
  }
12788
- var TypeArrowFunction$0 = $TV($C($EXPECT($L10, 'TypeArrowFunction "=>"'), $EXPECT($L11, 'TypeArrowFunction "\u21D2"'), $EXPECT($L25, 'TypeArrowFunction "->"'), $EXPECT($L26, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
13161
+ var TypeArrowFunction$0 = $TV($C($EXPECT($L11, 'TypeArrowFunction "=>"'), $EXPECT($L12, 'TypeArrowFunction "\u21D2"'), $EXPECT($L26, 'TypeArrowFunction "->"'), $EXPECT($L27, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
12789
13162
  return { $loc, token: "=>" };
12790
13163
  });
12791
13164
  function TypeArrowFunction(ctx, state) {
@@ -12823,11 +13196,11 @@ var require_parser = __commonJS({
12823
13196
  function TypeParameters(ctx, state) {
12824
13197
  return $EVENT(ctx, state, "TypeParameters", TypeParameters$0);
12825
13198
  }
12826
- var TypeParameter$0 = $S(__, $E($S($EXPECT($L151, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
13199
+ var TypeParameter$0 = $S(__, $E($S($EXPECT($L152, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
12827
13200
  function TypeParameter(ctx, state) {
12828
13201
  return $EVENT(ctx, state, "TypeParameter", TypeParameter$0);
12829
13202
  }
12830
- var TypeConstraint$0 = $S(__, $EXPECT($L140, 'TypeConstraint "extends"'), NonIdContinue, Type);
13203
+ var TypeConstraint$0 = $S(__, $EXPECT($L141, 'TypeConstraint "extends"'), NonIdContinue, Type);
12831
13204
  function TypeConstraint(ctx, state) {
12832
13205
  return $EVENT(ctx, state, "TypeConstraint", TypeConstraint$0);
12833
13206
  }
@@ -12836,7 +13209,7 @@ var require_parser = __commonJS({
12836
13209
  return $EVENT(ctx, state, "TypeInitializer", TypeInitializer$0);
12837
13210
  }
12838
13211
  var TypeParameterDelimiter$0 = $S($E(_), Comma);
12839
- var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L35, 'TypeParameterDelimiter ">"')));
13212
+ var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L36, 'TypeParameterDelimiter ">"')));
12840
13213
  var TypeParameterDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
12841
13214
  return value[1];
12842
13215
  });
@@ -12850,15 +13223,15 @@ var require_parser = __commonJS({
12850
13223
  function ThisType(ctx, state) {
12851
13224
  return $EVENT(ctx, state, "ThisType", ThisType$0);
12852
13225
  }
12853
- var Shebang$0 = $S($R$0($EXPECT($R79, "Shebang /#![^\\r\\n]*/")), EOL);
13226
+ var Shebang$0 = $S($R$0($EXPECT($R81, "Shebang /#![^\\r\\n]*/")), EOL);
12854
13227
  function Shebang(ctx, state) {
12855
13228
  return $EVENT(ctx, state, "Shebang", Shebang$0);
12856
13229
  }
12857
- var CivetPrologue$0 = $T($S($EXPECT($R80, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, $EXPECT($R81, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
13230
+ var CivetPrologue$0 = $T($S($EXPECT($R82, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, $EXPECT($R83, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
12858
13231
  var content = value[2];
12859
13232
  return content;
12860
13233
  });
12861
- var CivetPrologue$1 = $T($S($EXPECT($R80, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, $EXPECT($R81, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
13234
+ var CivetPrologue$1 = $T($S($EXPECT($R82, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, $EXPECT($R83, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
12862
13235
  var content = value[2];
12863
13236
  return content;
12864
13237
  });
@@ -12866,7 +13239,7 @@ var require_parser = __commonJS({
12866
13239
  function CivetPrologue(ctx, state) {
12867
13240
  return $EVENT_C(ctx, state, "CivetPrologue", CivetPrologue$$);
12868
13241
  }
12869
- var CivetPrologueContent$0 = $TS($S($EXPECT($L212, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R82, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
13242
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L213, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R84, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
12870
13243
  var options = $3;
12871
13244
  return {
12872
13245
  type: "CivetPrologue",
@@ -12877,7 +13250,7 @@ var require_parser = __commonJS({
12877
13250
  function CivetPrologueContent(ctx, state) {
12878
13251
  return $EVENT(ctx, state, "CivetPrologueContent", CivetPrologueContent$0);
12879
13252
  }
12880
- var CivetOption$0 = $TR($EXPECT($R83, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13253
+ var CivetOption$0 = $TR($EXPECT($R85, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12881
13254
  const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
12882
13255
  if (l)
12883
13256
  return l.toUpperCase();
@@ -12894,11 +13267,11 @@ var require_parser = __commonJS({
12894
13267
  function CivetOption(ctx, state) {
12895
13268
  return $EVENT(ctx, state, "CivetOption", CivetOption$0);
12896
13269
  }
12897
- var UnknownPrologue$0 = $S($R$0($EXPECT($R80, "UnknownPrologue /[\\t ]*/")), StringLiteral, $TEXT(SimpleStatementDelimiter), EOS);
13270
+ var UnknownPrologue$0 = $S($R$0($EXPECT($R82, "UnknownPrologue /[\\t ]*/")), StringLiteral, $TEXT(SimpleStatementDelimiter), EOS);
12898
13271
  function UnknownPrologue(ctx, state) {
12899
13272
  return $EVENT(ctx, state, "UnknownPrologue", UnknownPrologue$0);
12900
13273
  }
12901
- var TripleSlashDirective$0 = $S($R$0($EXPECT($R84, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), $E(EOS));
13274
+ var TripleSlashDirective$0 = $S($R$0($EXPECT($R86, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), $E(EOS));
12902
13275
  function TripleSlashDirective(ctx, state) {
12903
13276
  return $EVENT(ctx, state, "TripleSlashDirective", TripleSlashDirective$0);
12904
13277
  }
@@ -12912,13 +13285,13 @@ var require_parser = __commonJS({
12912
13285
  function PrologueString(ctx, state) {
12913
13286
  return $EVENT_C(ctx, state, "PrologueString", PrologueString$$);
12914
13287
  }
12915
- var EOS$0 = $T($S($EXPECT($R85, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), $P(RestOfLine)), function(value) {
13288
+ var EOS$0 = $T($S($EXPECT($R87, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), $P(RestOfLine)), function(value) {
12916
13289
  return value[1];
12917
13290
  });
12918
13291
  function EOS(ctx, state) {
12919
13292
  return $EVENT(ctx, state, "EOS", EOS$0);
12920
13293
  }
12921
- var EOL$0 = $TR($EXPECT($R86, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13294
+ var EOL$0 = $TR($EXPECT($R88, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12922
13295
  return { $loc, token: $0 };
12923
13296
  });
12924
13297
  function EOL(ctx, state) {
@@ -13337,6 +13710,30 @@ var require_parser = __commonJS({
13337
13710
  ]
13338
13711
  });
13339
13712
  },
13713
+ concatAssign(ref) {
13714
+ const typeSuffix = {
13715
+ ts: true,
13716
+ children: [
13717
+ ": <B, A extends {push: (this: A, b: B) => void} | (B extends unknown[] ? {push: (this: A, ...b: B) => void} : never)>(lhs: A, rhs: B) => A"
13718
+ ]
13719
+ };
13720
+ module2.prelude.push({
13721
+ children: [
13722
+ preludeVar,
13723
+ ref,
13724
+ typeSuffix,
13725
+ " = (lhs, rhs) => ((rhs",
13726
+ asAny,
13727
+ ")?.[Symbol.isConcatSpreadable] ? (lhs",
13728
+ asAny,
13729
+ ").push.apply(lhs, rhs",
13730
+ asAny,
13731
+ ") : (lhs",
13732
+ asAny,
13733
+ ").push(rhs), lhs);\n"
13734
+ ]
13735
+ });
13736
+ },
13340
13737
  JSX(jsxRef) {
13341
13738
  module2.prelude.push({
13342
13739
  ts: true,
@@ -13438,7 +13835,7 @@ var require_parser = __commonJS({
13438
13835
  function Init(ctx, state) {
13439
13836
  return $EVENT(ctx, state, "Init", Init$0);
13440
13837
  }
13441
- var Indent$0 = $TR($EXPECT($R81, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13838
+ var Indent$0 = $TR($EXPECT($R83, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13442
13839
  const level = getIndentLevel($0, module2.config.tab);
13443
13840
  return {
13444
13841
  $loc,
@@ -13592,6 +13989,7 @@ var require_parser = __commonJS({
13592
13989
  exports.UnaryBody = UnaryBody;
13593
13990
  exports.UnaryWithoutParenthesizedAssignmentBody = UnaryWithoutParenthesizedAssignmentBody;
13594
13991
  exports.UnaryPostfix = UnaryPostfix;
13992
+ exports.TypePostfix = TypePostfix;
13595
13993
  exports.UpdateExpression = UpdateExpression;
13596
13994
  exports.UpdateExpressionSymbol = UpdateExpressionSymbol;
13597
13995
  exports.AssignmentExpression = AssignmentExpression;
@@ -13621,6 +14019,8 @@ var require_parser = __commonJS({
13621
14019
  exports.ExtendsClause = ExtendsClause;
13622
14020
  exports.ExtendsToken = ExtendsToken;
13623
14021
  exports.ExtendsShorthand = ExtendsShorthand;
14022
+ exports.NotExtendsToken = NotExtendsToken;
14023
+ exports.OmittedNegation = OmittedNegation;
13624
14024
  exports.ExtendsTarget = ExtendsTarget;
13625
14025
  exports.ImplementsClause = ImplementsClause;
13626
14026
  exports.ImplementsToken = ImplementsToken;
@@ -14019,6 +14419,7 @@ var require_parser = __commonJS({
14019
14419
  exports.Each = Each;
14020
14420
  exports.Else = Else;
14021
14421
  exports.Equals = Equals;
14422
+ exports.ExclamationPoint = ExclamationPoint;
14022
14423
  exports.Export = Export;
14023
14424
  exports.Extends = Extends;
14024
14425
  exports.Finally = Finally;
@@ -14161,6 +14562,7 @@ var require_parser = __commonJS({
14161
14562
  exports.TypeIndexSignature = TypeIndexSignature;
14162
14563
  exports.TypeIndex = TypeIndex;
14163
14564
  exports.TypeSuffix = TypeSuffix;
14565
+ exports.MaybeIndentedType = MaybeIndentedType;
14164
14566
  exports.ReturnTypeSuffix = ReturnTypeSuffix;
14165
14567
  exports.ReturnType = ReturnType;
14166
14568
  exports.TypePredicate = TypePredicate;
@@ -14179,6 +14581,10 @@ var require_parser = __commonJS({
14179
14581
  exports.NestedTypeList = NestedTypeList;
14180
14582
  exports.NestedType = NestedType;
14181
14583
  exports.TypeConditional = TypeConditional;
14584
+ exports.TypeCondition = TypeCondition;
14585
+ exports.TypeIfThenElse = TypeIfThenElse;
14586
+ exports.TypeElse = TypeElse;
14587
+ exports.TypeBlock = TypeBlock;
14182
14588
  exports.TypeTemplateSubstitution = TypeTemplateSubstitution;
14183
14589
  exports.TypeTemplateLiteral = TypeTemplateLiteral;
14184
14590
  exports.CoffeeStringTypeSubstitution = CoffeeStringTypeSubstitution;
@@ -14265,6 +14671,7 @@ var require_parser = __commonJS({
14265
14671
  dedentBlockString,
14266
14672
  dedentBlockSubstitutions,
14267
14673
  expressionizeIfClause,
14674
+ expressionizeTypeIf,
14268
14675
  forRange,
14269
14676
  gatherBindingCode,
14270
14677
  getIndentLevel,