@danielx/civet 0.11.4 → 0.11.6

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/browser.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  var Civet = (() => {
2
3
  var __create = Object.create;
3
4
  var __defProp = Object.defineProperty;
@@ -34,9 +35,9 @@ var Civet = (() => {
34
35
  mod
35
36
  )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
36
37
 
37
- // node_modules/@danielx/hera/dist/machine.js
38
+ // node_modules/.pnpm/@danielx+hera@0.8.19/node_modules/@danielx/hera/dist/machine.js
38
39
  var require_machine = __commonJS({
39
- "node_modules/@danielx/hera/dist/machine.js"(exports, module) {
40
+ "node_modules/.pnpm/@danielx+hera@0.8.19/node_modules/@danielx/hera/dist/machine.js"(exports, module) {
40
41
  "use strict";
41
42
  var __defProp2 = Object.defineProperty, __getOwnPropDesc2 = Object.getOwnPropertyDescriptor, __getOwnPropNames2 = Object.getOwnPropertyNames, __hasOwnProp2 = Object.prototype.hasOwnProperty, __export2 = (target, all) => {
42
43
  for (var name in all)
@@ -57,7 +58,7 @@ var Civet = (() => {
57
58
  $N: () => $N2,
58
59
  $P: () => $P2,
59
60
  $Q: () => $Q2,
60
- $R: () => $R106,
61
+ $R: () => $R107,
61
62
  $R$0: () => $R$02,
62
63
  $S: () => $S2,
63
64
  $T: () => $T2,
@@ -90,7 +91,7 @@ var Civet = (() => {
90
91
  };
91
92
  };
92
93
  }
93
- function $R106(regExp) {
94
+ function $R107(regExp) {
94
95
  return function(_ctx, state2) {
95
96
  let { input, pos } = state2;
96
97
  regExp.lastIndex = state2.pos;
@@ -377,7 +378,8 @@ ${body}`), super(message), this.header = header, this.body = body, this.filename
377
378
 
378
379
  // source/browser-shim.civet
379
380
  function dirname(path) {
380
- return path.replace(/[^]*\//, "");
381
+ let i = path.lastIndexOf("/");
382
+ return i < 0 ? "." : i === 0 ? "/" : path.slice(0, i);
381
383
  }
382
384
  function resolve(path) {
383
385
  return path;
@@ -400,32 +402,32 @@ ${body}`), super(message), this.header = header, this.body = body, this.filename
400
402
  }
401
403
  });
402
404
 
403
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\browser.civet.jsx
404
- var browser_civet_exports = {};
405
- __export(browser_civet_exports, {
405
+ // source/browser.civet
406
+ var browser_exports = {};
407
+ __export(browser_exports, {
406
408
  ParseError: () => import_lib2.ParseError,
407
409
  ParseErrors: () => ParseErrors,
408
- SourceMap: () => SourceMap2,
410
+ SourceMap: () => SourceMap,
409
411
  autoRunScripts: () => autoRunScripts,
410
412
  compile: () => compile,
411
413
  decode: () => decode,
412
- generate: () => generate_civet_default,
414
+ generate: () => generate_default,
413
415
  isCompileError: () => isCompileError,
414
- lib: () => lib_civet_exports,
416
+ lib: () => lib_exports,
415
417
  parse: () => parse,
416
418
  parseProgram: () => parseProgram,
417
419
  prune: () => prune,
418
420
  runScript: () => runScript,
419
421
  runScripts: () => runScripts,
420
- sourcemap: () => sourcemap_civet_exports
422
+ sourcemap: () => sourcemap_exports
421
423
  });
422
424
 
423
425
  // source/parser.hera
424
426
  var import_lib2 = __toESM(require_machine());
425
427
 
426
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\parser\lib.civet.jsx
427
- var lib_civet_exports = {};
428
- __export(lib_civet_exports, {
428
+ // source/parser/lib.civet
429
+ var lib_exports = {};
430
+ __export(lib_exports, {
429
431
  addPostfixStatement: () => addPostfixStatement,
430
432
  adjustBindingElements: () => adjustBindingElements,
431
433
  adjustIndexAccess: () => adjustIndexAccess,
@@ -497,6 +499,8 @@ ${body}`), super(message), this.header = header, this.body = body, this.filename
497
499
  reorderBindingRestProperty: () => reorderBindingRestProperty,
498
500
  replaceNode: () => replaceNode,
499
501
  replaceNodes: () => replaceNodes,
502
+ rewriteDynamicImportCall: () => rewriteDynamicImportCall,
503
+ rewriteModuleSpecifier: () => rewriteModuleSpecifier,
500
504
  skipImplicitArguments: () => skipImplicitArguments,
501
505
  stripTrailingImplicitComma: () => stripTrailingImplicitComma,
502
506
  trimFirstSpace: () => trimFirstSpace,
@@ -505,7 +509,7 @@ ${body}`), super(message), this.header = header, this.body = body, this.filename
505
509
  wrapTypeInPromise: () => wrapTypeInPromise
506
510
  });
507
511
 
508
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\parser\util.civet.jsx
512
+ // source/parser/util.civet
509
513
  function len(arr, length) {
510
514
  return arr.length === length;
511
515
  }
@@ -884,12 +888,9 @@ ${body}`), super(message), this.header = header, this.body = body, this.filename
884
888
  if (isASTNodeObject(expression)) {
885
889
  switch (expression.type) {
886
890
  case "Literal": {
887
- switch (expression.subtype) {
888
- case "NullLiteral":
889
- return;
890
- default:
891
- t = literalType(expression);
892
- }
891
+ if (expression.subtype === "NullLiteral")
892
+ return;
893
+ t = literalType(expression);
893
894
  break;
894
895
  }
895
896
  case "RegularExpressionLiteral":
@@ -1235,7 +1236,7 @@ ${body}`), super(message), this.header = header, this.body = body, this.filename
1235
1236
  children: [...signature.children, "=>", block]
1236
1237
  });
1237
1238
  let children = [makeLeftHandSideExpression(fn), "()"];
1238
- if (fn.type === "FunctionExpression" && (gatherRecursiveWithinFunction(block, (a1) => typeof a1 == "object" && a1 != null && "token" in a1 && a1.token === "this").length && children.splice(1, 0, ".bind(this)"), gatherRecursiveWithinFunction(block, (a2) => typeof a2 == "object" && a2 != null && "token" in a2 && a2.token === "arguments").length)) {
1239
+ if (fn.type === "FunctionExpression" && (gatherRecursiveWithinFunction(block, ((a1) => typeof a1 == "object" && a1 != null && "token" in a1 && a1.token === "this")).length && children.splice(1, 0, ".bind(this)"), gatherRecursiveWithinFunction(block, ((a2) => typeof a2 == "object" && a2 != null && "token" in a2 && a2.token === "arguments")).length)) {
1239
1240
  let binding = {
1240
1241
  type: "Identifier",
1241
1242
  name: "arguments",
@@ -1286,7 +1287,7 @@ ${body}`), super(message), this.header = header, this.body = body, this.filename
1286
1287
  return result;
1287
1288
  }
1288
1289
 
1289
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\parser\traversal.civet.jsx
1290
+ // source/parser/traversal.civet
1290
1291
  function gatherRecursiveWithinFunction(node, predicate) {
1291
1292
  return gatherRecursive(node, predicate, isFunction);
1292
1293
  }
@@ -1360,7 +1361,7 @@ ${body}`), super(message), this.header = header, this.body = body, this.filename
1360
1361
  return predicate(node) && nodes.push(node), nodes;
1361
1362
  }
1362
1363
 
1363
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\parser\ref.civet.jsx
1364
+ // source/parser/ref.civet
1364
1365
  var range = (start, end) => {
1365
1366
  let length = end - start;
1366
1367
  if (length <= 0) return [];
@@ -1436,16 +1437,15 @@ ${body}`), super(message), this.header = header, this.body = body, this.filename
1436
1437
  }
1437
1438
  }
1438
1439
 
1439
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\parser\binding.civet.jsx
1440
+ // source/parser/binding.civet
1440
1441
  function adjustAtBindings(statements, asThis = !1) {
1441
1442
  for (let ref1 = gatherRecursiveAll(statements, ($1) => $1.type === "AtBindingProperty"), i1 = 0, len3 = ref1.length; i1 < len3; i1++) {
1442
1443
  let binding = ref1[i1], { ref } = binding;
1443
1444
  if (asThis) {
1444
1445
  let atBinding = binding.binding;
1445
- atBinding.children.pop(), atBinding.type = void 0, binding.children.unshift(ref.id, ": this.", ref.base), binding.type = "Property", binding.ref = void 0;
1446
- return;
1447
- }
1448
- ref.names[0] !== ref.base && binding.children.unshift(ref.base, ": ");
1446
+ atBinding.children.pop(), atBinding.type = void 0, binding.children.splice(1, 0, ref.id, ": this.", ref.base), binding.type = "Property", binding.ref = void 0;
1447
+ } else
1448
+ ref.names[0] !== ref.base && binding.children.unshift(ref.base, ": ");
1449
1449
  }
1450
1450
  }
1451
1451
  function adjustBindingElements(elements) {
@@ -1634,12 +1634,12 @@ ${body}`), super(message), this.header = header, this.body = body, this.filename
1634
1634
  return pattern;
1635
1635
  }
1636
1636
 
1637
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\parser\comptime.civet.jsx
1637
+ // source/parser/comptime.civet
1638
1638
  init_browser_shim();
1639
1639
  init_browser_shim();
1640
1640
  init_browser_shim();
1641
1641
 
1642
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\parser\helper.civet.jsx
1642
+ // source/parser/helper.civet
1643
1643
  var preludeVar = "var ";
1644
1644
  function ts(children) {
1645
1645
  return {
@@ -1975,7 +1975,7 @@ ${body}`), super(message), this.header = header, this.body = body, this.filename
1975
1975
  }
1976
1976
  }
1977
1977
 
1978
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\generate.civet.jsx
1978
+ // source/generate.civet
1979
1979
  function stringify(node) {
1980
1980
  try {
1981
1981
  return JSON.stringify(removeParentPointers(node));
@@ -2019,10 +2019,8 @@ ${body}`), super(message), this.header = header, this.body = body, this.filename
2019
2019
  if (!node.children) {
2020
2020
  if (node.token != null)
2021
2021
  return node.token;
2022
- switch (node.type) {
2023
- case "Ref":
2024
- throw new Error(`Unpopulated ref ${stringify(node)}`);
2025
- }
2022
+ if (node.type === "Ref")
2023
+ throw new Error(`Unpopulated ref ${stringify(node)}`);
2026
2024
  debugger;
2027
2025
  throw new Error(`Unknown node ${stringify(node)}`);
2028
2026
  }
@@ -2032,7 +2030,7 @@ ${body}`), super(message), this.header = header, this.body = body, this.filename
2032
2030
  throw new Error(`Unknown node ${stringify(node)}`);
2033
2031
  }
2034
2032
  }
2035
- var generate_civet_default = gen;
2033
+ var generate_default = gen;
2036
2034
  function prune(node) {
2037
2035
  if (node != null && !(typeof node == "string" && node.length === 0)) {
2038
2036
  if (node.parent != null && delete node.parent, Array.isArray(node)) {
@@ -2043,7 +2041,7 @@ ${body}`), super(message), this.header = header, this.body = body, this.filename
2043
2041
  }
2044
2042
  }
2045
2043
 
2046
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\parser\comptime.civet.jsx
2044
+ // source/parser/comptime.civet
2047
2045
  function expressionizeComptime(statement) {
2048
2046
  let { expressions } = statement.block, expression = wrapIIFE(expressions, hasAwait(expressions));
2049
2047
  return makeNode({
@@ -2072,7 +2070,7 @@ ${body}`), super(message), this.header = header, this.body = body, this.filename
2072
2070
  ...extractPreludeFor(content),
2073
2071
  content
2074
2072
  ];
2075
- let options = { js: !0 }, js = generate_civet_default(prune(content), options);
2073
+ let options = { js: !0 }, js = generate_default(prune(content), options);
2076
2074
  if (js = `"use strict";${js}`, options.errors != null)
2077
2075
  return;
2078
2076
  let output, context, contextGlobal;
@@ -2277,14 +2275,14 @@ ${js}`
2277
2275
  return recurse(value);
2278
2276
  }
2279
2277
 
2280
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\parser\function.civet.jsx
2278
+ // source/parser/function.civet
2281
2279
  var concatAssign = (lhs, rhs) => (rhs?.[Symbol.isConcatSpreadable] ?? Array.isArray(rhs) ? lhs.push.apply(lhs, rhs) : lhs.push(rhs), lhs);
2282
2280
  function getTypeArguments(args) {
2283
2281
  for (; typeof args == "object" && args != null && "args" in args; )
2284
2282
  args = args.args;
2285
2283
  if (!Array.isArray(args))
2286
2284
  throw new Error("getTypeArguments could not find relevant array");
2287
- return args.filter((a1) => typeof a1 == "object" && a1 != null && "type" in a1 && a1.type === "TypeArgument");
2285
+ return args.filter(((a1) => typeof a1 == "object" && a1 != null && "type" in a1 && a1.type === "TypeArgument"));
2288
2286
  }
2289
2287
  function isVoidType(t) {
2290
2288
  return typeof t == "object" && t != null && "type" in t && t.type === "TypeLiteral" && "t" in t && typeof t.t == "object" && t.t != null && "type" in t.t && t.t.type === "VoidType";
@@ -3014,7 +3012,7 @@ ${js}`
3014
3012
  let names = after.flatMap(($8) => $8.names), elements = after.map((p) => p.type === "Error" ? p : {
3015
3013
  ...p,
3016
3014
  // omit individual argument types from output
3017
- children: p.children.filter((a2) => a2 !== p.typeSuffix),
3015
+ children: p.children.filter(((a2) => a2 !== p.typeSuffix)),
3018
3016
  type: "BindingElement"
3019
3017
  }), pattern = gatherBindingPatternTypeSuffix(makeNode({
3020
3018
  type: "ArrayBindingPattern",
@@ -3036,7 +3034,7 @@ ${js}`
3036
3034
  names
3037
3035
  });
3038
3036
  if (rest.typeSuffix) {
3039
- let optionalType = function(typeSuffix3, fallback) {
3037
+ let optionalType2 = function(typeSuffix3, fallback) {
3040
3038
  let t2 = typeSuffix3?.t ?? fallback;
3041
3039
  return typeSuffix3?.optional ? [
3042
3040
  t2,
@@ -3045,7 +3043,9 @@ ${js}`
3045
3043
  message: "Optional parameter not allowed in/after rest parameter"
3046
3044
  }
3047
3045
  ] : t2;
3048
- }, ref = makeRef("rest"), restRef = [
3046
+ };
3047
+ var optionalType = optionalType2;
3048
+ let ref = makeRef("rest"), restRef = [
3049
3049
  { children: [ref], ts: !0 },
3050
3050
  { children: [restIdentifier], js: !0 }
3051
3051
  ];
@@ -3065,10 +3065,10 @@ ${js}`
3065
3065
  children: [ref],
3066
3066
  ts: !0
3067
3067
  });
3068
- let oldSuffix = rest.typeSuffix, colon = oldSuffix.colon ?? ": ", afterTypes = after.flatMap((p) => [",", optionalType(p.typeSuffix, " unknown")]), t = [
3068
+ let oldSuffix = rest.typeSuffix, colon = oldSuffix.colon ?? ": ", afterTypes = after.flatMap((p) => [",", optionalType2(p.typeSuffix, " unknown")]), t = [
3069
3069
  "[",
3070
3070
  "...",
3071
- optionalType(oldSuffix, "unknown[]"),
3071
+ optionalType2(oldSuffix, "unknown[]"),
3072
3072
  ...afterTypes,
3073
3073
  "]"
3074
3074
  ], typeSuffix2 = makeNode({
@@ -3107,7 +3107,7 @@ ${js}`
3107
3107
  if (simplifyBindingProperties(parameters.parameters), simplifyBindingProperties(subbindings), isConstructor) {
3108
3108
  let { ancestor } = findAncestor(f, ($10) => $10.type === "ClassExpression");
3109
3109
  if (ancestor != null) {
3110
- let fields = new Set(gatherRecursiveWithinFunction(ancestor, ($11) => $11.type === "FieldDefinition").map(($12) => $12.id).filter((a3) => typeof a3 == "object" && a3 != null && "type" in a3 && a3.type === "Identifier").map(($13) => $13.name)), classExpressions = ancestor.body.expressions, index2 = findChildIndex(classExpressions, f);
3110
+ let fields = new Set(gatherRecursiveWithinFunction(ancestor, ($11) => $11.type === "FieldDefinition").map(($12) => $12.id).filter(((a3) => typeof a3 == "object" && a3 != null && "type" in a3 && a3.type === "Identifier")).map(($13) => $13.name)), classExpressions = ancestor.body.expressions, index2 = findChildIndex(classExpressions, f);
3111
3111
  assert.notEqual(index2, -1, "Could not find constructor in class"), index2 -= precedingOverloads(f).length;
3112
3112
  let fStatement = classExpressions[index2];
3113
3113
  for (let ref20 = gatherRecursive(parameters, ($14) => $14.type === "Parameter"), i10 = 0, len9 = ref20.length; i10 < len9; i10++) {
@@ -3163,10 +3163,10 @@ ${js}`
3163
3163
  function findSuperCall(block) {
3164
3164
  let { expressions } = block, superCalls = gatherNodes(
3165
3165
  expressions,
3166
- (a4) => typeof a4 == "object" && a4 != null && "type" in a4 && a4.type === "CallExpression" && "children" in a4 && Array.isArray(a4.children) && a4.children.length >= 1 && typeof a4.children[0] == "object" && a4.children[0] != null && "token" in a4.children[0] && a4.children[0].token === "super"
3166
+ ((a4) => typeof a4 == "object" && a4 != null && "type" in a4 && a4.type === "CallExpression" && "children" in a4 && Array.isArray(a4.children) && a4.children.length >= 1 && typeof a4.children[0] == "object" && a4.children[0] != null && "token" in a4.children[0] && a4.children[0].token === "super")
3167
3167
  );
3168
3168
  if (superCalls.length) {
3169
- let { child } = findAncestor(superCalls[0], (a5) => a5 === block), index = findChildIndex(expressions, child);
3169
+ let { child } = findAncestor(superCalls[0], ((a5) => a5 === block)), index = findChildIndex(expressions, child);
3170
3170
  if (index < 0)
3171
3171
  throw new Error("Could not find super call within top-level expressions");
3172
3172
  return index;
@@ -3290,11 +3290,11 @@ ${js}`
3290
3290
  args.push(initializer.expression, parameter.delim), parameter = {
3291
3291
  ...parameter,
3292
3292
  initializer: void 0,
3293
- children: parameter.children.filter((a6) => a6 !== initializer)
3293
+ children: parameter.children.filter(((a6) => a6 !== initializer))
3294
3294
  };
3295
3295
  } else
3296
3296
  args.push(parameter.children.filter(
3297
- (a7) => a7 !== parameter.typeSuffix
3297
+ ((a7) => a7 !== parameter.typeSuffix)
3298
3298
  ));
3299
3299
  }
3300
3300
  results3.push(parameter);
@@ -3356,11 +3356,11 @@ ${js}`
3356
3356
  });
3357
3357
  return isStatement(body) && (braceBlock(block), fn.ampersandBlock = !1), gatherRecursiveWithinFunction(
3358
3358
  block,
3359
- (a8) => a8 === ref
3359
+ ((a8) => a8 === ref)
3360
3360
  ).length > 1 && (fn.ampersandBlock = !1), fn;
3361
3361
  }
3362
3362
 
3363
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\parser\block.civet.jsx
3363
+ // source/parser/block.civet
3364
3364
  function blockWithPrefix(prefixStatements, block) {
3365
3365
  if (prefixStatements && prefixStatements.length) {
3366
3366
  let expressions = [...prefixStatements, ...block.expressions];
@@ -3533,7 +3533,7 @@ ${js}`
3533
3533
  };
3534
3534
  }
3535
3535
 
3536
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\parser\op.civet.jsx
3536
+ // source/parser/op.civet
3537
3537
  var precedenceOrder = [
3538
3538
  ["||", "??"],
3539
3539
  ["^^"],
@@ -3590,7 +3590,7 @@ ${js}`
3590
3590
  for (; i < expandedOps.length; ) {
3591
3591
  let op = expandedOps[i];
3592
3592
  if (op.special) {
3593
- let advanceLeft = function(allowEqual) {
3593
+ let advanceLeft2 = function(allowEqual) {
3594
3594
  for (; start >= 4; ) {
3595
3595
  let prevPrec = getPrecedence(expandedOps[start - 2]);
3596
3596
  if (!(prevPrec > prec || allowEqual && prevPrec === prec))
@@ -3598,7 +3598,7 @@ ${js}`
3598
3598
  start -= 4;
3599
3599
  }
3600
3600
  return !1;
3601
- }, advanceRight = function(allowEqual) {
3601
+ }, advanceRight2 = function(allowEqual) {
3602
3602
  for (; end + 4 < expandedOps.length; ) {
3603
3603
  let nextPrec = getPrecedence(expandedOps[end + 2]);
3604
3604
  if (!(nextPrec > prec || allowEqual && nextPrec === prec))
@@ -3606,29 +3606,31 @@ ${js}`
3606
3606
  end += 4;
3607
3607
  }
3608
3608
  return !1;
3609
- }, start = i - 2, end = i + 2, prec = getPrecedence(op), error;
3609
+ };
3610
+ var advanceLeft = advanceLeft2, advanceRight = advanceRight2;
3611
+ let start = i - 2, end = i + 2, prec = getPrecedence(op), error;
3610
3612
  switch (op.assoc) {
3611
3613
  case "left":
3612
3614
  case void 0: {
3613
- advanceLeft(!0), advanceRight(!1);
3615
+ advanceLeft2(!0), advanceRight2(!1);
3614
3616
  break;
3615
3617
  }
3616
3618
  case "right": {
3617
- advanceLeft(!1), advanceRight(!0);
3619
+ advanceLeft2(!1), advanceRight2(!0);
3618
3620
  break;
3619
3621
  }
3620
3622
  case "non": {
3621
- (advanceLeft(!1) || advanceRight(!1)) && (error = {
3623
+ (advanceLeft2(!1) || advanceRight2(!1)) && (error = {
3622
3624
  type: "Error",
3623
3625
  message: `non-associative operator ${op.token} used at same precedence level without parenthesization`
3624
3626
  });
3625
3627
  break;
3626
3628
  }
3627
3629
  case "arguments": {
3628
- advanceLeft(!1) && (error = {
3630
+ advanceLeft2(!1) && (error = {
3629
3631
  type: "Error",
3630
3632
  message: `arguments operator ${op.token} used at same precedence level as ${expandedOps[start - 2].token} to the left`
3631
- }), advanceRight(!0);
3633
+ }), advanceRight2(!0);
3632
3634
  break;
3633
3635
  }
3634
3636
  default:
@@ -3733,7 +3735,7 @@ ${js}`
3733
3735
  }
3734
3736
  }
3735
3737
 
3736
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\parser\pattern-matching.civet.jsx
3738
+ // source/parser/pattern-matching.civet
3737
3739
  function processPatternTest(lhs, patterns) {
3738
3740
  let { ref, refAssignmentComma } = maybeRefAssignment(lhs, "m"), conditionExpression = flatJoin(patterns.map(($1) => getPatternConditions($1, ref)).map(($2) => flatJoin($2, " && ")), " || ");
3739
3741
  return makeLeftHandSideExpression(makeNode({
@@ -4137,7 +4139,7 @@ ${js}`
4137
4139
  }
4138
4140
  }
4139
4141
 
4140
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\parser\declaration.civet.jsx
4142
+ // source/parser/declaration.civet
4141
4143
  function len2(arr, length) {
4142
4144
  return arr.length === length;
4143
4145
  }
@@ -4367,7 +4369,7 @@ ${js}`
4367
4369
  case "IfStatement": {
4368
4370
  if (ref4 = s.else?.block) {
4369
4371
  let elseBlock = ref4;
4370
- elseBlock.bare && !elseBlock.semicolon && elseBlock.children.push(elseBlock.semicolon = ";"), ancestor.expressions.splice(index + 1 + blockPrefix.length, 0, ["", elseBlock]), s.children = s.children.filter((a1) => a1 !== s.else), s.else = void 0;
4372
+ elseBlock.bare && !elseBlock.semicolon && elseBlock.children.push(elseBlock.semicolon = ";"), ancestor.expressions.splice(index + 1 + blockPrefix.length, 0, ["", elseBlock]), s.children = s.children.filter(((a1) => a1 !== s.else)), s.else = void 0;
4371
4373
  }
4372
4374
  let block = s.then;
4373
4375
  block.bare && !block.semicolon && block.children.push(block.semicolon = ";");
@@ -4401,7 +4403,7 @@ ${js}`
4401
4403
  let { ref: ref2, statementDeclaration } = condition.expression;
4402
4404
  if (!blockPrefix)
4403
4405
  return;
4404
- if (replaceNode(s.condition, parenthesizeExpression(ref2), s), !statementDeclaration) {
4406
+ if (replaceNode(s.condition, parenthesizeExpression(ref2), s), !statementDeclaration && condition.expression.hoistDec) {
4405
4407
  let declStatement = ["", [{
4406
4408
  type: "Declaration",
4407
4409
  children: ["let ", ...condition.expression.children]
@@ -4409,7 +4411,7 @@ ${js}`
4409
4411
  blockPrefix.unshift(declStatement);
4410
4412
  }
4411
4413
  let block = blockWithPrefix(blockPrefix, makeEmptyBlock());
4412
- updateParentPointers(block, s.parent), replaceBlockExpression(s.parent, s, block), block.expressions.push(["", s]), s.parent = block;
4414
+ updateParentPointers(block, s.parent), s.parent?.type === "StatementExpression" ? replaceNode(s, block, s.parent) : replaceBlockExpression(s.parent, s, block), block.expressions.push(["", s]), s.parent = block;
4413
4415
  break;
4414
4416
  }
4415
4417
  }
@@ -4419,7 +4421,7 @@ ${js}`
4419
4421
  let ref5;
4420
4422
  if (ref5 = from[from.length - 1]?.assertion) {
4421
4423
  let assert2 = ref5, ref6;
4422
- ref6 = from[from.length - 1], ref6.children = ref6.children.filter((a2) => a2 !== assert2), from.push(", {", assert2.keyword, ":", assert2.object, "}");
4424
+ ref6 = from[from.length - 1], ref6.children = ref6.children.filter(((a2) => a2 !== assert2)), from.push(", {", assert2.keyword, ":", assert2.object, "}");
4423
4425
  }
4424
4426
  return ["(", ...from, ")"];
4425
4427
  }
@@ -4563,7 +4565,7 @@ ${js}`
4563
4565
  return [extendsToken, insertTrimmingSpace(ws, " "), wrapped];
4564
4566
  }
4565
4567
 
4566
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\parser\unary.civet.jsx
4568
+ // source/parser/unary.civet
4567
4569
  function processUnaryExpression(pre, exp, post) {
4568
4570
  if (!(pre.length || post))
4569
4571
  return exp;
@@ -4674,7 +4676,7 @@ ${js}`
4674
4676
  return processUnaryExpression(pre, args, post);
4675
4677
  }
4676
4678
 
4677
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\parser\pipe.civet.jsx
4679
+ // source/parser/pipe.civet
4678
4680
  function constructInvocation(fn, arg) {
4679
4681
  let expr = fn.expr;
4680
4682
  for (; expr.type === "ParenthesizedExpression"; )
@@ -4691,12 +4693,7 @@ ${js}`
4691
4693
  let lhs = expr;
4692
4694
  lhs.type !== "NewExpression" && (lhs = makeLeftHandSideExpression(lhs));
4693
4695
  let comment = skipIfOnlyWS(fn.trailingComment);
4694
- switch (comment && lhs.children.push(comment), comment = skipIfOnlyWS(fn.leadingComment), comment && lhs.children.splice(1, 0, comment), arg.type) {
4695
- case "CommaExpression": {
4696
- arg = makeLeftHandSideExpression(arg);
4697
- break;
4698
- }
4699
- }
4696
+ comment && lhs.children.push(comment), comment = skipIfOnlyWS(fn.leadingComment), comment && lhs.children.splice(1, 0, comment), arg.type === "CommaExpression" && (arg = makeLeftHandSideExpression(arg));
4700
4697
  let args = [arg], call = {
4701
4698
  type: "Call",
4702
4699
  args,
@@ -4835,7 +4832,7 @@ ${js}`
4835
4832
  }
4836
4833
  }
4837
4834
 
4838
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\parser\for.civet.jsx
4835
+ // source/parser/for.civet
4839
4836
  function processRangeExpression(start, ws1, range2, end) {
4840
4837
  ws1 = [ws1, range2.children[0]];
4841
4838
  let ws2 = range2.children[1], comma = { $loc: range2.$loc, token: "," }, ref;
@@ -5158,7 +5155,7 @@ ${js}`
5158
5155
  };
5159
5156
  }
5160
5157
 
5161
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\parser\auto-dec.civet.jsx
5158
+ // source/parser/auto-dec.civet
5162
5159
  var concatAssign2 = (lhs, rhs) => (rhs?.[Symbol.isConcatSpreadable] ?? Array.isArray(rhs) ? lhs.push.apply(lhs, rhs) : lhs.push(rhs), lhs);
5163
5160
  function findDecs(statements) {
5164
5161
  let declarationNames = gatherNodes(statements, ($) => $.type === "Declaration").flatMap(($1) => $1.names), globals = getConfig().globals || [];
@@ -5246,7 +5243,7 @@ ${js}`
5246
5243
  scopes.pop();
5247
5244
  }
5248
5245
 
5249
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\parser\string.civet.jsx
5246
+ // source/parser/string.civet
5250
5247
  function getIndentLevel(str, tab) {
5251
5248
  if (tab != null && tab != 1) {
5252
5249
  let tabs = str.match(/\t/g), numTabs = tabs ? tabs.length : 0;
@@ -5356,7 +5353,7 @@ ${js}`
5356
5353
  return JSON.stringify(str);
5357
5354
  }
5358
5355
 
5359
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\parser\lib.civet.jsx
5356
+ // source/parser/lib.civet
5360
5357
  var xor = (a, b) => a ? !b && a : b;
5361
5358
  function len1(arr, length) {
5362
5359
  return arr.length === length;
@@ -5383,6 +5380,47 @@ ${js}`
5383
5380
  (node) => ({ ...node, token: "[" })
5384
5381
  ), dot);
5385
5382
  }
5383
+ function rewriteModuleSpecifier(module) {
5384
+ switch (module.type) {
5385
+ case "Literal": {
5386
+ if (module.subtype !== "StringLiteral")
5387
+ return module;
5388
+ let child = module.children[0], rewritten = rewriteModuleSpecifier(child);
5389
+ return rewritten === child ? module : {
5390
+ ...module,
5391
+ raw: rewritten.token,
5392
+ children: module.children.map(($3) => $3 === child ? rewritten : $3)
5393
+ };
5394
+ }
5395
+ }
5396
+ let { token } = module, config2 = getConfig();
5397
+ return config2.rewriteTsImports && (token = token.replace(/\.([mc])?ts(['"])$/, ".$1js$2")), config2.rewriteCivetImports && (token = token.replace(
5398
+ /\.civet(['"])$/,
5399
+ `${config2.rewriteCivetImports.replace(/\$/g, "$$")}$1`
5400
+ )), token === module.token ? module : { ...module, token, input: module.token };
5401
+ }
5402
+ function rewriteDynamicImportCall(call) {
5403
+ let i = call.args.findIndex((arg) => !isWhitespaceOrEmpty(arg) && !isComma(arg));
5404
+ if (i < 0)
5405
+ return call;
5406
+ let firstArg = call.args[i], target = firstArg?.type === "Argument" ? firstArg.expression : firstArg;
5407
+ if (target?.type !== "Literal")
5408
+ return call;
5409
+ let rewrittenArg = rewriteModuleSpecifier(target);
5410
+ if (rewrittenArg === target)
5411
+ return call;
5412
+ firstArg?.type === "Argument" && (rewrittenArg = {
5413
+ ...firstArg,
5414
+ expression: rewrittenArg,
5415
+ children: firstArg.children.map(($4) => $4 === firstArg.expression ? rewrittenArg : $4)
5416
+ });
5417
+ let args = call.args.slice(0);
5418
+ return args[i] = rewrittenArg, {
5419
+ ...call,
5420
+ args,
5421
+ children: call.children.map(($5) => $5 === call.args ? args : $5)
5422
+ };
5423
+ }
5386
5424
  function negateCondition(condition) {
5387
5425
  let { expression } = condition, children = condition.children.slice(), i = children.indexOf(expression);
5388
5426
  if (i < 0)
@@ -5480,7 +5518,7 @@ ${js}`
5480
5518
  }
5481
5519
  function processTryBlock($0) {
5482
5520
  let [t, , b, cs, e, f] = $0, c, m;
5483
- if (cs.some(($3) => (m = $3.binding?.parameter, typeof m == "object" && m != null && "type" in m && m.type === "CatchPattern"))) {
5521
+ if (cs.some(($6) => (m = $6.binding?.parameter, typeof m == "object" && m != null && "type" in m && m.type === "CatchPattern"))) {
5484
5522
  let ref = makeRef("e"), binding = {
5485
5523
  type: "CatchBinding",
5486
5524
  children: ["(", ref, ")"],
@@ -6019,6 +6057,21 @@ ${js}`
6019
6057
  }
6020
6058
  function processBindingPatternLHS(lhs, tail) {
6021
6059
  adjustAtBindings(lhs, !0);
6060
+ for (let ref8 = gatherRecursiveAll(lhs, ($7) => $7.type === "AtBinding"), i5 = 0, len4 = ref8.length; i5 < len4; i5++) {
6061
+ let atBinding = ref8[i5], { ref } = atBinding, thisExpr = ["this.", ref.id];
6062
+ atBinding.type = void 0, atBinding.children = thisExpr;
6063
+ for (let ref9 = gatherRecursiveAll(lhs, (n) => n.blockPrefix), i6 = 0, len5 = ref9.length; i6 < len5; i6++) {
6064
+ let nodeWithPrefix = ref9[i6], { blockPrefix } = nodeWithPrefix;
6065
+ blockPrefix.children = blockPrefix.children.map((c) => c === ref ? thisExpr : c);
6066
+ }
6067
+ }
6068
+ for (let ref10 = gatherRecursiveAll(lhs, (n) => n.blockPrefix), i7 = 0, len6 = ref10.length; i7 < len6; i7++) {
6069
+ let nodeWithPrefix = ref10[i7], { blockPrefix } = nodeWithPrefix;
6070
+ for (let ref11 = gatherRecursiveAll(blockPrefix, ($8) => $8.type === "AtBinding"), i8 = 0, len7 = ref11.length; i8 < len7; i8++) {
6071
+ let atBinding = ref11[i8];
6072
+ atBinding.type = void 0, atBinding.children = ["this.", atBinding.ref.id];
6073
+ }
6074
+ }
6022
6075
  let [splices, thisAssignments] = gatherBindingCode(lhs), subbindings = gatherSubbindings(lhs);
6023
6076
  simplifyBindingProperties(lhs), simplifyBindingProperties(subbindings), tail.push(
6024
6077
  ...splices.map((s) => [", ", s]),
@@ -6027,40 +6080,42 @@ ${js}`
6027
6080
  );
6028
6081
  }
6029
6082
  function processAssignments(statements) {
6030
- for (let ref8 = gatherRecursiveAll(statements, ($4) => $4.type === "AssignmentExpression" || $4.type === "UpdateExpression"), i5 = 0, len4 = ref8.length; i5 < len4; i5++) {
6031
- let extractAssignment = function(lhs) {
6083
+ for (let ref12 = gatherRecursiveAll(statements, ($9) => $9.type === "AssignmentExpression" || $9.type === "UpdateExpression"), i9 = 0, len8 = ref12.length; i9 < len8; i9++) {
6084
+ let extractAssignment2 = function(lhs) {
6032
6085
  let expr = lhs;
6033
6086
  for (; expr.type === "ParenthesizedExpression"; )
6034
6087
  expr = expr.expression;
6035
6088
  let m1;
6036
6089
  if (m1 = expr.type, m1 === "AssignmentExpression" || m1 === "UpdateExpression")
6037
6090
  return expr.type === "UpdateExpression" && expr.children[0] === expr.assigned ? (pre.push("("), post.push([", ", lhs, ")"])) : (pre.push(["(", lhs, ", "]), post.push(")")), expr.assigned;
6038
- }, exp = ref8[i5];
6091
+ };
6092
+ var extractAssignment = extractAssignment2;
6093
+ let exp = ref12[i9];
6039
6094
  checkValidLHS(exp.assigned);
6040
- let pre = [], post = [], ref9;
6095
+ let pre = [], post = [], ref13;
6041
6096
  switch (exp.type) {
6042
6097
  case "AssignmentExpression": {
6043
6098
  if (!exp.lhs)
6044
6099
  continue;
6045
- for (let ref10 = exp.lhs, i6 = 0, len5 = ref10.length; i6 < len5; i6++) {
6046
- let lhsPart = ref10[i6], ref11;
6047
- if (ref11 = extractAssignment(lhsPart[1])) {
6048
- let newLhs = ref11;
6100
+ for (let ref14 = exp.lhs, i10 = 0, len9 = ref14.length; i10 < len9; i10++) {
6101
+ let lhsPart = ref14[i10], ref15;
6102
+ if (ref15 = extractAssignment2(lhsPart[1])) {
6103
+ let newLhs = ref15;
6049
6104
  lhsPart[1] = newLhs;
6050
6105
  }
6051
6106
  }
6052
6107
  break;
6053
6108
  }
6054
6109
  case "UpdateExpression": {
6055
- if (ref9 = extractAssignment(exp.assigned)) {
6056
- let newLhs = ref9, i = exp.children.indexOf(exp.assigned);
6110
+ if (ref13 = extractAssignment2(exp.assigned)) {
6111
+ let newLhs = ref13, i = exp.children.indexOf(exp.assigned);
6057
6112
  exp.assigned = exp.children[i] = newLhs;
6058
6113
  }
6059
6114
  break;
6060
6115
  }
6061
6116
  }
6062
6117
  if (pre.length && exp.children.unshift(...pre), post.length && exp.children.push(...post), exp.type === "UpdateExpression") {
6063
- let { assigned } = exp, ref = makeRef(), newMemberExp = unchainOptionalMemberExpression(assigned, ref, (children) => exp.children.map(($5) => $5 === assigned ? children : $5));
6118
+ let { assigned } = exp, ref = makeRef(), newMemberExp = unchainOptionalMemberExpression(assigned, ref, (children) => exp.children.map(($10) => $10 === assigned ? children : $10));
6064
6119
  newMemberExp !== assigned && (newMemberExp.usesRef && (newMemberExp.hoistDec = {
6065
6120
  type: "Declaration",
6066
6121
  children: ["let ", ref],
@@ -6068,22 +6123,22 @@ ${js}`
6068
6123
  }), replaceNode(exp, newMemberExp));
6069
6124
  }
6070
6125
  }
6071
- for (let ref12 = gatherRecursiveAll(statements, ($6) => $6.type === "AssignmentExpression"), i7 = 0, len6 = ref12.length; i7 < len6; i7++) {
6072
- let exp = ref12[i7];
6126
+ for (let ref16 = gatherRecursiveAll(statements, ($11) => $11.type === "AssignmentExpression"), i11 = 0, len10 = ref16.length; i11 < len10; i11++) {
6127
+ let exp = ref16[i11];
6073
6128
  if (exp.names !== null)
6074
6129
  continue;
6075
- let { lhs: $1, expression: $2 } = exp, tail = [], len3 = $1.length, ref13, ref14;
6076
- if (blockContainingStatement(exp) && !(ref13 = $1[$1.length - 1])?.[ref13.length - 1]?.special && !isShortCircuitOp((ref14 = $1[$1.length - 1])?.[ref14.length - 1])) {
6077
- let ref15;
6078
- if (ref15 = prependStatementExpressionBlock(
6130
+ let { lhs: $1, expression: $2 } = exp, tail = [], len3 = $1.length, ref17, ref18;
6131
+ if (blockContainingStatement(exp) && !(ref17 = $1[$1.length - 1])?.[ref17.length - 1]?.special && !isShortCircuitOp((ref18 = $1[$1.length - 1])?.[ref18.length - 1])) {
6132
+ let ref19;
6133
+ if (ref19 = prependStatementExpressionBlock(
6079
6134
  { type: "Initializer", expression: $2, children: [void 0, void 0, $2] },
6080
6135
  exp
6081
6136
  )) {
6082
- let ref = ref15;
6137
+ let ref = ref19;
6083
6138
  replaceNode($2, ref, exp), $2 = ref;
6084
6139
  }
6085
6140
  }
6086
- if ($1.some(($7) => $7[$7.length - 1].special)) {
6141
+ if ($1.some(($12) => $12[$12.length - 1].special)) {
6087
6142
  if ($1.length !== 1) throw new Error("Only one assignment with id= is allowed");
6088
6143
  let [, lhs, , op] = $1[0], { call, omitLhs } = op, index = exp.children.indexOf($2);
6089
6144
  if (index < 0) throw new Error("Assertion error: exp not in AssignmentExpression");
@@ -6096,13 +6151,13 @@ ${js}`
6096
6151
  continue;
6097
6152
  }
6098
6153
  }
6099
- let wrapped = !1, i = 0;
6154
+ let wrapped = !1, insideParens = exp.parent?.type === "ParenthesizedExpression", i = 0;
6100
6155
  for (; i < len3; ) {
6101
6156
  let lastAssignment = $1[i++], [, lhs, , op] = lastAssignment;
6102
6157
  if (op.token !== "=")
6103
6158
  continue;
6104
6159
  let m2;
6105
- m2 = lhs.type, (m2 === "ObjectExpression" || m2 === "ObjectBindingPattern") && (wrapped || (wrapped = !0, lhs.children.splice(0, 0, "("), tail.push(")")));
6160
+ m2 = lhs.type, (m2 === "ObjectExpression" || m2 === "ObjectBindingPattern") && (wrapped || insideParens || (wrapped = !0, lhs.children.splice(0, 0, "("), tail.push(")")));
6106
6161
  }
6107
6162
  let refsToDeclare = /* @__PURE__ */ new Set();
6108
6163
  for (i = len3 - 1; i >= 0; ) {
@@ -6124,7 +6179,7 @@ ${js}`
6124
6179
  message: "Slice range cannot be decreasing in assignment"
6125
6180
  });
6126
6181
  break;
6127
- } else m3 = lhs.type, (m3 === "ObjectBindingPattern" || m3 === "ArrayBindingPattern" || m3 === "NamedBindingPattern") && (processBindingPatternLHS(lhs, tail), gatherRecursiveAll(lhs, ($8) => $8.type === "Ref").forEach(refsToDeclare.add.bind(refsToDeclare)));
6182
+ } else m3 = lhs.type, (m3 === "ObjectBindingPattern" || m3 === "ArrayBindingPattern" || m3 === "NamedBindingPattern") && (processBindingPatternLHS(lhs, tail), gatherRecursiveAll(lhs, ($13) => $13.type === "Ref").forEach(refsToDeclare.add.bind(refsToDeclare)));
6128
6183
  }
6129
6184
  i--;
6130
6185
  }
@@ -6145,7 +6200,7 @@ ${js}`
6145
6200
  }
6146
6201
  i--;
6147
6202
  }
6148
- if (refsToDeclare.size && (exp.hoistDec ? exp.hoistDec.children.push([...refsToDeclare].map(($9) => [",", $9])) : exp.hoistDec = {
6203
+ if (refsToDeclare.size && (exp.hoistDec ? exp.hoistDec.children.push([...refsToDeclare].map(($14) => [",", $14])) : exp.hoistDec = {
6149
6204
  type: "Declaration",
6150
6205
  children: ["let ", [...refsToDeclare].map((r, i2) => i2 ? [",", r] : r)],
6151
6206
  names: []
@@ -6180,9 +6235,9 @@ ${js}`
6180
6235
  }
6181
6236
  j++;
6182
6237
  }
6183
- let ref16;
6184
- if (ref16 = conditions.length) {
6185
- let l = ref16, cs = flatJoin(conditions, " && ");
6238
+ let ref20;
6239
+ if (ref20 = conditions.length) {
6240
+ let l = ref20, cs = flatJoin(conditions, " && ");
6186
6241
  return {
6187
6242
  ...exp,
6188
6243
  children: [...cs, " ? ", innerExp(children), " : void 0"],
@@ -6214,8 +6269,8 @@ ${js}`
6214
6269
  }
6215
6270
  function processTypes(node) {
6216
6271
  let results1 = [];
6217
- for (let ref17 = gatherRecursiveAll(node, ($10) => $10.type === "TypeUnary"), i8 = 0, len7 = ref17.length; i8 < len7; i8++) {
6218
- let unary = ref17[i8], suffixIndex = unary.suffix.length - 1, results2 = [];
6272
+ for (let ref21 = gatherRecursiveAll(node, ($15) => $15.type === "TypeUnary"), i12 = 0, len11 = ref21.length; i12 < len11; i12++) {
6273
+ let unary = ref21[i12], suffixIndex = unary.suffix.length - 1, results2 = [];
6219
6274
  for (; suffixIndex >= 0; ) {
6220
6275
  let suffix = unary.suffix[suffixIndex];
6221
6276
  if (typeof suffix == "object" && suffix != null && "token" in suffix && suffix.token === "?") {
@@ -6226,7 +6281,7 @@ ${js}`
6226
6281
  for (; m5 = unary.suffix[suffixIndex], typeof m5 == "object" && m5 != null && "type" in m5 && m5.type === "NonNullAssertion"; )
6227
6282
  unary.suffix.splice(suffixIndex--, 1);
6228
6283
  let { parent, prefix } = unary;
6229
- unary.prefix = [], unary.children = unary.children.filter((a1) => a1 !== prefix);
6284
+ unary.prefix = [], unary.children = unary.children.filter(((a1) => a1 !== prefix));
6230
6285
  let outer = unary.suffix.splice(suffixIndex + 1, 1 / 0), space = getTrimmingSpace(unary), replace;
6231
6286
  if (unary.parent?.type === "TypeElement" && !unary.parent.name) {
6232
6287
  if (count === 1) {
@@ -6273,12 +6328,12 @@ ${js}`
6273
6328
  for (; m7 = unary.suffix[suffixIndex], typeof m7 == "object" && m7 != null && "token" in m7 && m7.token === "?"; )
6274
6329
  unary.suffix.splice(suffixIndex--, 1);
6275
6330
  let { parent, prefix } = unary;
6276
- unary.prefix = [], unary.children = unary.children.filter((a2) => a2 !== prefix);
6331
+ unary.prefix = [], unary.children = unary.children.filter(((a2) => a2 !== prefix));
6277
6332
  let outer = unary.suffix.splice(suffixIndex + 1, 1 / 0), space = getTrimmingSpace(unary);
6278
6333
  inplaceInsertTrimmingSpace(unary, "");
6279
- let ref18;
6280
- unary.suffix.length ? ref18 = unary : ref18 = unary.t;
6281
- let t = ref18, argArray = [makeNode({
6334
+ let ref22;
6335
+ unary.suffix.length ? ref22 = unary : ref22 = unary.t;
6336
+ let t = ref22, argArray = [makeNode({
6282
6337
  type: "TypeArgument",
6283
6338
  ts: !0,
6284
6339
  t,
@@ -6314,16 +6369,16 @@ ${js}`
6314
6369
  return results1;
6315
6370
  }
6316
6371
  function processStatementExpressions(statements) {
6317
- for (let ref19 = gatherRecursiveAll(statements, ($11) => $11.type === "StatementExpression"), i9 = 0, len8 = ref19.length; i9 < len8; i9++) {
6318
- let exp = ref19[i9], { maybe, statement } = exp;
6372
+ for (let ref23 = gatherRecursiveAll(statements, ($16) => $16.type === "StatementExpression"), i13 = 0, len12 = ref23.length; i13 < len12; i13++) {
6373
+ let exp = ref23[i13], { maybe, statement } = exp;
6319
6374
  if ((maybe || statement.type === "ThrowStatement") && blockContainingStatement(exp)) {
6320
6375
  replaceNode(exp, statement);
6321
6376
  continue;
6322
6377
  }
6323
- let ref20;
6378
+ let ref24;
6324
6379
  switch (statement.type) {
6325
6380
  case "IfStatement": {
6326
- (ref20 = expressionizeIfStatement(statement)) ? replaceNode(statement, ref20, exp) : replaceNode(statement, wrapIIFE([["", statement]]), exp);
6381
+ (ref24 = expressionizeIfStatement(statement)) ? replaceNode(statement, ref24, exp) : replaceNode(statement, wrapIIFE([["", statement]]), exp);
6327
6382
  break;
6328
6383
  }
6329
6384
  case "IterationExpression": {
@@ -6364,11 +6419,11 @@ ${js}`
6364
6419
  });
6365
6420
  }
6366
6421
  function processFinallyClauses(statements) {
6367
- for (let ref21 = gatherRecursiveAll(statements, ($) => $.type === "FinallyClause" && $.parent?.type !== "TryStatement"), i10 = 0, len9 = ref21.length; i10 < len9; i10++) {
6368
- let f = ref21[i10], ref22;
6369
- if (!((ref22 = blockContainingStatement(f)) && typeof ref22 == "object" && "block" in ref22 && "index" in ref22))
6422
+ for (let ref25 = gatherRecursiveAll(statements, ($) => $.type === "FinallyClause" && $.parent?.type !== "TryStatement"), i14 = 0, len13 = ref25.length; i14 < len13; i14++) {
6423
+ let f = ref25[i14], ref26;
6424
+ if (!((ref26 = blockContainingStatement(f)) && typeof ref26 == "object" && "block" in ref26 && "index" in ref26))
6370
6425
  throw new Error("finally clause must be inside try statement or block");
6371
- let { block, index } = ref22, indent = block.expressions[index][0], expressions = block.expressions.slice(index + 1), t = makeNode({
6426
+ let { block, index } = ref26, indent = block.expressions[index][0], expressions = block.expressions.slice(index + 1), t = makeNode({
6372
6427
  type: "BlockStatement",
6373
6428
  expressions,
6374
6429
  children: ["{", expressions, "}"],
@@ -6428,9 +6483,9 @@ ${js}`
6428
6483
  }
6429
6484
  }
6430
6485
  function processCoffeeClasses(statements) {
6431
- for (let ref23 = gatherRecursiveAll(statements, ($12) => $12.type === "ClassExpression"), i11 = 0, len10 = ref23.length; i11 < len10; i11++) {
6432
- let ce = ref23[i11], { expressions } = ce.body, indent = expressions[0]?.[0] ?? `
6433
- `, autoBinds = expressions.filter(($13) => $13[1]?.autoBind);
6486
+ for (let ref27 = gatherRecursiveAll(statements, ($17) => $17.type === "ClassExpression"), i15 = 0, len14 = ref27.length; i15 < len14; i15++) {
6487
+ let ce = ref27[i15], { expressions } = ce.body, indent = expressions[0]?.[0] ?? `
6488
+ `, autoBinds = expressions.filter(($18) => $18[1]?.autoBind);
6434
6489
  if (autoBinds.length) {
6435
6490
  let construct;
6436
6491
  for (let [, c] of expressions)
@@ -6466,30 +6521,30 @@ ${js}`
6466
6521
  0,
6467
6522
  ...(() => {
6468
6523
  let results3 = [];
6469
- for (let i12 = 0, len11 = autoBinds.length; i12 < len11; i12++) {
6470
- let [, a] = autoBinds[i12];
6524
+ for (let i16 = 0, len15 = autoBinds.length; i16 < len15; i16++) {
6525
+ let [, a] = autoBinds[i16];
6471
6526
  results3.push([indent, ["this.", a.name, " = this.", a.name, ".bind(this)"], ";"]);
6472
6527
  }
6473
6528
  return results3;
6474
6529
  })()
6475
6530
  );
6476
6531
  }
6477
- let public_static_function_assignments = expressions.filter(($14) => $14[1]?.type === "CoffeeClassPublic" && $14[1].assignment?.expression?.type === "FunctionExpression").map(($15) => $15[1].assignment);
6532
+ let public_static_function_assignments = expressions.filter(($19) => $19[1]?.type === "CoffeeClassPublic" && $19[1].assignment?.expression?.type === "FunctionExpression").map(($20) => $20[1].assignment);
6478
6533
  for (let public_static_function_assignment of public_static_function_assignments) {
6479
6534
  let id = public_static_function_assignment.lhs[0][1];
6480
6535
  replaceNode(public_static_function_assignment, convertFunctionToMethod(id, public_static_function_assignment.expression));
6481
6536
  }
6482
- let public_static_arrow_function_assignments = expressions.filter(($16) => $16[1]?.type === "CoffeeClassPublic" && $16[1].assignment?.expression?.type === "ArrowFunction").map(($17) => $17[1].assignment);
6537
+ let public_static_arrow_function_assignments = expressions.filter(($21) => $21[1]?.type === "CoffeeClassPublic" && $21[1].assignment?.expression?.type === "ArrowFunction").map(($22) => $22[1].assignment);
6483
6538
  for (let public_static_arrow_function_assignment of public_static_arrow_function_assignments) {
6484
6539
  let id = public_static_arrow_function_assignment.lhs[0][1];
6485
6540
  replaceNode(public_static_arrow_function_assignment, convertArrowFunctionToMethod(id, public_static_arrow_function_assignment.expression));
6486
6541
  }
6487
- let privates = expressions.filter(($18) => $18[1]?.type === "CoffeeClassPrivate");
6542
+ let privates = expressions.filter(($23) => $23[1]?.type === "CoffeeClassPrivate");
6488
6543
  if (!privates.length)
6489
6544
  continue;
6490
6545
  let { parent } = ce;
6491
- for (let i13 = expressions.length + -1; i13 >= 0; --i13) {
6492
- let i = i13;
6546
+ for (let i17 = expressions.length + -1; i17 >= 0; --i17) {
6547
+ let i = i17;
6493
6548
  expressions[i][1]?.type === "CoffeeClassPrivate" && expressions.splice(i, 1);
6494
6549
  }
6495
6550
  let wrapped = wrapIIFE([
@@ -6521,31 +6576,31 @@ ${js}`
6521
6576
  root.expressions,
6522
6577
  root.topLevelAwait,
6523
6578
  root.topLevelYield ? "*" : void 0
6524
- ), statements = [["", rootIIFE]], root.children = root.children.map(($19) => $19 === root.expressions ? statements : $19), root.expressions = statements), hoistRefDecs(statements), processFunctions(statements, config2), config2.coffeeClasses && processCoffeeClasses(statements), statements.unshift(...extractPreludeFor(statements)), config2.autoLet ? createConstLetDecs(statements, [], "let") : config2.autoConst ? createConstLetDecs(statements, [], "const") : config2.autoVar && createVarDecs(root, []), config2.repl && processRepl(root, rootIIFE), processBlocks(statements), populateRefs(statements), adjustAtBindings(statements), getSync() && processComptime(statements);
6579
+ ), statements = [["", rootIIFE]], root.children = root.children.map(($24) => $24 === root.expressions ? statements : $24), root.expressions = statements), hoistRefDecs(statements), processFunctions(statements, config2), config2.coffeeClasses && processCoffeeClasses(statements), statements.unshift(...extractPreludeFor(statements)), config2.autoLet ? createConstLetDecs(statements, [], "let") : config2.autoConst ? createConstLetDecs(statements, [], "const") : config2.autoVar && createVarDecs(root, []), config2.repl && processRepl(root, rootIIFE), processBlocks(statements), populateRefs(statements), adjustAtBindings(statements), getSync() && processComptime(statements);
6525
6580
  }
6526
6581
  async function processProgramAsync(root) {
6527
6582
  let { expressions: statements } = root;
6528
6583
  await processComptime(statements);
6529
6584
  }
6530
6585
  function processRepl(root, rootIIFE) {
6531
- let topBlock = gatherRecursive(rootIIFE, ($20) => $20.type === "BlockStatement")[0], i = 0;
6532
- for (let ref24 = gatherRecursiveWithinFunction(topBlock, ($21) => $21.type === "Declaration"), i14 = 0, len12 = ref24.length; i14 < len12; i14++) {
6533
- let decl = ref24[i14];
6586
+ let topBlock = gatherRecursive(rootIIFE, ($25) => $25.type === "BlockStatement")[0], i = 0;
6587
+ for (let ref28 = gatherRecursiveWithinFunction(topBlock, ($26) => $26.type === "Declaration"), i18 = 0, len16 = ref28.length; i18 < len16; i18++) {
6588
+ let decl = ref28[i18];
6534
6589
  decl.names?.length && (decl.parent === topBlock || decl.decl === "var") && (decl.children.shift(), decl.bindings[0]?.pattern?.type === "ObjectBindingPattern" && (decl.children.unshift("("), decl.children.push(")")), root.expressions.splice(i++, 0, ["", `var ${decl.names.join(",")}`, ";"]));
6535
6590
  }
6536
- for (let ref25 = gatherRecursive(topBlock, ($22) => $22.type === "FunctionExpression"), i15 = 0, len13 = ref25.length; i15 < len13; i15++) {
6537
- let func = ref25[i15];
6591
+ for (let ref29 = gatherRecursive(topBlock, ($27) => $27.type === "FunctionExpression"), i19 = 0, len17 = ref29.length; i19 < len17; i19++) {
6592
+ let func = ref29[i19];
6538
6593
  func.name && func.parent?.type === "BlockStatement" && (func.parent === topBlock ? (replaceNode(func, void 0), root.expressions.splice(i++, 0, ["", func]), func.parent = root) : (func.children.unshift(func.name, "="), root.expressions.splice(i++, 0, ["", `var ${func.name}`, ";"])));
6539
6594
  }
6540
- for (let ref26 = gatherRecursiveWithinFunction(topBlock, ($23) => $23.type === "ClassExpression"), i16 = 0, len14 = ref26.length; i16 < len14; i16++) {
6541
- let classExp = ref26[i16], m8;
6595
+ for (let ref30 = gatherRecursiveWithinFunction(topBlock, ($28) => $28.type === "ClassExpression"), i20 = 0, len18 = ref30.length; i20 < len18; i20++) {
6596
+ let classExp = ref30[i20], m8;
6542
6597
  (classExp.name && classExp.parent === topBlock || (m8 = classExp.parent, typeof m8 == "object" && m8 != null && "type" in m8 && m8.type === "ReturnStatement" && "parent" in m8 && m8.parent === topBlock)) && (classExp.children.unshift(classExp.name, "="), root.expressions.splice(i++, 0, ["", `var ${classExp.name}`, ";"]));
6543
6598
  }
6544
6599
  }
6545
6600
  function processPlaceholders(statements) {
6546
6601
  let placeholderMap = /* @__PURE__ */ new Map(), liftedIfs = /* @__PURE__ */ new Set();
6547
- for (let ref27 = gatherRecursiveAll(statements, ($24) => $24.type === "Placeholder"), i17 = 0, len15 = ref27.length; i17 < len15; i17++) {
6548
- let exp = ref27[i17], ancestor;
6602
+ for (let ref31 = gatherRecursiveAll(statements, ($29) => $29.type === "Placeholder"), i21 = 0, len19 = ref31.length; i21 < len19; i21++) {
6603
+ let exp = ref31[i21], ancestor;
6549
6604
  if (exp.subtype === ".") {
6550
6605
  ({ ancestor } = findAncestor(
6551
6606
  exp,
@@ -6614,11 +6669,11 @@ ${js}`
6614
6669
  }
6615
6670
  for (let [ancestor, placeholders] of placeholderMap) {
6616
6671
  let ref = makeRef("$"), typeSuffix;
6617
- for (let i18 = 0, len16 = placeholders.length; i18 < len16; i18++) {
6618
- let placeholder = placeholders[i18];
6672
+ for (let i22 = 0, len20 = placeholders.length; i22 < len20; i22++) {
6673
+ let placeholder = placeholders[i22];
6619
6674
  typeSuffix ??= placeholder.typeSuffix;
6620
- let ref28;
6621
- (ref28 = placeholder.children)[ref28.length - 1] = ref;
6675
+ let ref32;
6676
+ (ref32 = placeholder.children)[ref32.length - 1] = ref;
6622
6677
  }
6623
6678
  let { parent } = ancestor, body = maybeUnwrap(ancestor), fnExp = makeAmpersandFunction({ ref, typeSuffix, body }), outer;
6624
6679
  switch (parent?.type) {
@@ -6635,8 +6690,8 @@ ${js}`
6635
6690
  break;
6636
6691
  }
6637
6692
  case "PipelineExpression": {
6638
- let i = findChildIndex(parent, ancestor), ref29;
6639
- i === 1 ? ref29 = ancestor === parent.children[i] : i === 2 ? ref29 = ancestor === parent.children[i][findChildIndex(parent.children[i], ancestor)][3] : ref29 = void 0, outer = ref29;
6693
+ let i = findChildIndex(parent, ancestor), ref33;
6694
+ i === 1 ? ref33 = ancestor === parent.children[i] : i === 2 ? ref33 = ancestor === parent.children[i][findChildIndex(parent.children[i], ancestor)][3] : ref33 = void 0, outer = ref33;
6640
6695
  break;
6641
6696
  }
6642
6697
  case "AssignmentExpression":
@@ -6648,9 +6703,9 @@ ${js}`
6648
6703
  }
6649
6704
  }
6650
6705
  outer || (fnExp = makeLeftHandSideExpression(fnExp)), replaceNode(ancestor, fnExp, parent), typeof parent == "object" && parent != null && "type" in parent && parent.type === "BlockStatement" && "parent" in parent && typeof parent.parent == "object" && parent.parent != null && "type" in parent.parent && parent.parent.type === "ArrowFunction" && "ampersandBlock" in parent.parent && parent.parent.ampersandBlock === !0 && "body" in parent.parent && parent.parent.body === body && (parent.parent.body = fnExp);
6651
- let ref30;
6652
- if (ref30 = getTrimmingSpace(body)) {
6653
- let ws = ref30;
6706
+ let ref34;
6707
+ if (ref34 = getTrimmingSpace(body)) {
6708
+ let ws = ref34;
6654
6709
  inplaceInsertTrimmingSpace(body, ""), inplacePrepend(ws, fnExp);
6655
6710
  }
6656
6711
  }
@@ -6681,8 +6736,8 @@ ${js}`
6681
6736
  }
6682
6737
  ];
6683
6738
  }
6684
- let ref31;
6685
- Array.isArray(rest.delim) && (ref31 = rest.delim)[ref31.length - 1]?.token === "," && (rest.delim = rest.delim.slice(0, -1), rest.children = [...rest.children.slice(0, -1), rest.delim]);
6739
+ let ref35;
6740
+ Array.isArray(rest.delim) && (ref35 = rest.delim)[ref35.length - 1]?.token === "," && (rest.delim = rest.delim.slice(0, -1), rest.children = [...rest.children.slice(0, -1), rest.delim]);
6686
6741
  let children = [...props, ...after, rest];
6687
6742
  return restCount > 1 && children.push({
6688
6743
  type: "Error",
@@ -6731,7 +6786,7 @@ ${js}`
6731
6786
  }
6732
6787
  lastType = child.type;
6733
6788
  }
6734
- return type.length === 1 ? type[0] : (type = type.flatMap(($25) => [$25, ", "]), type.pop(), ["[", type, "]"]);
6789
+ return type.length === 1 ? type[0] : (type = type.flatMap(($30) => [$30, ", "]), type.pop(), ["[", type, "]"]);
6735
6790
  }
6736
6791
  }
6737
6792
 
@@ -6854,6 +6909,11 @@ ${js}`
6854
6909
  NestedClassSignatureElements,
6855
6910
  NestedClassSignatureElement,
6856
6911
  ClassSignatureElement,
6912
+ AbstractModifier,
6913
+ DeclareModifier,
6914
+ OverrideModifier,
6915
+ ReadonlyModifier,
6916
+ StaticModifier,
6857
6917
  AccessModifier,
6858
6918
  FieldDefinition,
6859
6919
  ThisLiteral,
@@ -7594,7 +7654,7 @@ ${js}`
7594
7654
  Dedented,
7595
7655
  PushExtraIndent1
7596
7656
  };
7597
- var $L0 = (0, import_lib2.$L)(""), $L1 = (0, import_lib2.$L)("{"), $L2 = (0, import_lib2.$L)("/ "), $L3 = (0, import_lib2.$L)("="), $L4 = (0, import_lib2.$L)("("), $L5 = (0, import_lib2.$L)("... "), $L6 = (0, import_lib2.$L)("?"), $L7 = (0, import_lib2.$L)("."), $L8 = (0, import_lib2.$L)("tuple"), $L9 = (0, import_lib2.$L)("++"), $L10 = (0, import_lib2.$L)("--"), $L11 = (0, import_lib2.$L)("\u29FA"), $L12 = (0, import_lib2.$L)("\u2014"), $L13 = (0, import_lib2.$L)("=>"), $L14 = (0, import_lib2.$L)("\u21D2"), $L15 = (0, import_lib2.$L)("import"), $L16 = (0, import_lib2.$L)(":"), $L17 = (0, import_lib2.$L)(" "), $L18 = (0, import_lib2.$L)("<"), $L19 = (0, import_lib2.$L)("implements"), $L20 = (0, import_lib2.$L)("<:"), $L21 = (0, import_lib2.$L)("^"), $L22 = (0, import_lib2.$L)("<?"), $L23 = (0, import_lib2.$L)("-"), $L24 = (0, import_lib2.$L)("import.meta"), $L25 = (0, import_lib2.$L)("return.value"), $L26 = (0, import_lib2.$L)(","), $L27 = (0, import_lib2.$L)("tighter"), $L28 = (0, import_lib2.$L)("looser"), $L29 = (0, import_lib2.$L)("same"), $L30 = (0, import_lib2.$L)("left"), $L31 = (0, import_lib2.$L)("right"), $L32 = (0, import_lib2.$L)("non"), $L33 = (0, import_lib2.$L)("relational"), $L34 = (0, import_lib2.$L)("arguments"), $L35 = (0, import_lib2.$L)("->"), $L36 = (0, import_lib2.$L)("\u2192"), $L37 = (0, import_lib2.$L)("}"), $L38 = (0, import_lib2.$L)("null"), $L39 = (0, import_lib2.$L)("true"), $L40 = (0, import_lib2.$L)("false"), $L41 = (0, import_lib2.$L)("yes"), $L42 = (0, import_lib2.$L)("on"), $L43 = (0, import_lib2.$L)("no"), $L44 = (0, import_lib2.$L)("off"), $L45 = (0, import_lib2.$L)(">"), $L46 = (0, import_lib2.$L)("]"), $L47 = (0, import_lib2.$L)("\u2022"), $L48 = (0, import_lib2.$L)("//"), $L49 = (0, import_lib2.$L)("**="), $L50 = (0, import_lib2.$L)("*="), $L51 = (0, import_lib2.$L)("%/"), $L52 = (0, import_lib2.$L)("\xF7"), $L53 = (0, import_lib2.$L)("%%"), $L54 = (0, import_lib2.$L)("/="), $L55 = (0, import_lib2.$L)("%="), $L56 = (0, import_lib2.$L)("+="), $L57 = (0, import_lib2.$L)("-="), $L58 = (0, import_lib2.$L)("<<="), $L59 = (0, import_lib2.$L)("\u226A="), $L60 = (0, import_lib2.$L)(">>>="), $L61 = (0, import_lib2.$L)("\u22D9="), $L62 = (0, import_lib2.$L)(">>="), $L63 = (0, import_lib2.$L)("\u226B="), $L64 = (0, import_lib2.$L)("&&="), $L65 = (0, import_lib2.$L)("&="), $L66 = (0, import_lib2.$L)("^="), $L67 = (0, import_lib2.$L)("||="), $L68 = (0, import_lib2.$L)("\u2016="), $L69 = (0, import_lib2.$L)("|="), $L70 = (0, import_lib2.$L)("??="), $L71 = (0, import_lib2.$L)("\u2047="), $L72 = (0, import_lib2.$L)("?="), $L73 = (0, import_lib2.$L)("and="), $L74 = (0, import_lib2.$L)("or="), $L75 = (0, import_lib2.$L)("*"), $L76 = (0, import_lib2.$L)("**"), $L77 = (0, import_lib2.$L)("/"), $L78 = (0, import_lib2.$L)("%"), $L79 = (0, import_lib2.$L)("+"), $L80 = (0, import_lib2.$L)("<="), $L81 = (0, import_lib2.$L)("\u2264"), $L82 = (0, import_lib2.$L)(">="), $L83 = (0, import_lib2.$L)("\u2265"), $L84 = (0, import_lib2.$L)("!<?"), $L85 = (0, import_lib2.$L)("<<"), $L86 = (0, import_lib2.$L)("\u226A"), $L87 = (0, import_lib2.$L)(">>>"), $L88 = (0, import_lib2.$L)("\u22D9"), $L89 = (0, import_lib2.$L)(">>"), $L90 = (0, import_lib2.$L)("\u226B"), $L91 = (0, import_lib2.$L)("!=="), $L92 = (0, import_lib2.$L)("\u2262"), $L93 = (0, import_lib2.$L)("!="), $L94 = (0, import_lib2.$L)("\u2260"), $L95 = (0, import_lib2.$L)("isnt"), $L96 = (0, import_lib2.$L)("==="), $L97 = (0, import_lib2.$L)("\u2263"), $L98 = (0, import_lib2.$L)("\u2A76"), $L99 = (0, import_lib2.$L)("=="), $L100 = (0, import_lib2.$L)("\u2261"), $L101 = (0, import_lib2.$L)("\u2A75"), $L102 = (0, import_lib2.$L)("and"), $L103 = (0, import_lib2.$L)("&&"), $L104 = (0, import_lib2.$L)("or"), $L105 = (0, import_lib2.$L)("||"), $L106 = (0, import_lib2.$L)("\u2016"), $L107 = (0, import_lib2.$L)("^^"), $L108 = (0, import_lib2.$L)("xor"), $L109 = (0, import_lib2.$L)("xnor"), $L110 = (0, import_lib2.$L)("??"), $L111 = (0, import_lib2.$L)("\u2047"), $L112 = (0, import_lib2.$L)("instanceof"), $L113 = (0, import_lib2.$L)("\u2208"), $L114 = (0, import_lib2.$L)("\u220B"), $L115 = (0, import_lib2.$L)("\u220C"), $L116 = (0, import_lib2.$L)("\u2209"), $L117 = (0, import_lib2.$L)("&"), $L118 = (0, import_lib2.$L)("|"), $L119 = (0, import_lib2.$L)(";"), $L120 = (0, import_lib2.$L)("some"), $L121 = (0, import_lib2.$L)("every"), $L122 = (0, import_lib2.$L)("count"), $L123 = (0, import_lib2.$L)("first"), $L124 = (0, import_lib2.$L)("sum"), $L125 = (0, import_lib2.$L)("product"), $L126 = (0, import_lib2.$L)("min"), $L127 = (0, import_lib2.$L)("max"), $L128 = (0, import_lib2.$L)("join"), $L129 = (0, import_lib2.$L)("concat"), $L130 = (0, import_lib2.$L)("break"), $L131 = (0, import_lib2.$L)("continue"), $L132 = (0, import_lib2.$L)("debugger"), $L133 = (0, import_lib2.$L)("require"), $L134 = (0, import_lib2.$L)("with"), $L135 = (0, import_lib2.$L)("assert"), $L136 = (0, import_lib2.$L)(":="), $L137 = (0, import_lib2.$L)("\u2254"), $L138 = (0, import_lib2.$L)(".="), $L139 = (0, import_lib2.$L)("::="), $L140 = (0, import_lib2.$L)("/*"), $L141 = (0, import_lib2.$L)("*/"), $L142 = (0, import_lib2.$L)("\\"), $L143 = (0, import_lib2.$L)(")"), $L144 = (0, import_lib2.$L)("abstract"), $L145 = (0, import_lib2.$L)("as"), $L146 = (0, import_lib2.$L)("@"), $L147 = (0, import_lib2.$L)("@@"), $L148 = (0, import_lib2.$L)("async"), $L149 = (0, import_lib2.$L)("await"), $L150 = (0, import_lib2.$L)("`"), $L151 = (0, import_lib2.$L)("by"), $L152 = (0, import_lib2.$L)("case"), $L153 = (0, import_lib2.$L)("catch"), $L154 = (0, import_lib2.$L)("class"), $L155 = (0, import_lib2.$L)("#{"), $L156 = (0, import_lib2.$L)("comptime"), $L157 = (0, import_lib2.$L)("declare"), $L158 = (0, import_lib2.$L)("default"), $L159 = (0, import_lib2.$L)("delete"), $L160 = (0, import_lib2.$L)("do"), $L161 = (0, import_lib2.$L)(".."), $L162 = (0, import_lib2.$L)("\u2025"), $L163 = (0, import_lib2.$L)("..."), $L164 = (0, import_lib2.$L)("\u2026"), $L165 = (0, import_lib2.$L)("::"), $L166 = (0, import_lib2.$L)('"'), $L167 = (0, import_lib2.$L)("each"), $L168 = (0, import_lib2.$L)("else"), $L169 = (0, import_lib2.$L)("!"), $L170 = (0, import_lib2.$L)("export"), $L171 = (0, import_lib2.$L)("extends"), $L172 = (0, import_lib2.$L)("finally"), $L173 = (0, import_lib2.$L)("for"), $L174 = (0, import_lib2.$L)("from"), $L175 = (0, import_lib2.$L)("function"), $L176 = (0, import_lib2.$L)("get"), $L177 = (0, import_lib2.$L)("set"), $L178 = (0, import_lib2.$L)("#"), $L179 = (0, import_lib2.$L)("if"), $L180 = (0, import_lib2.$L)("in"), $L181 = (0, import_lib2.$L)("infer"), $L182 = (0, import_lib2.$L)("let"), $L183 = (0, import_lib2.$L)("const"), $L184 = (0, import_lib2.$L)("is"), $L185 = (0, import_lib2.$L)("var"), $L186 = (0, import_lib2.$L)("like"), $L187 = (0, import_lib2.$L)("loop"), $L188 = (0, import_lib2.$L)("new"), $L189 = (0, import_lib2.$L)("not"), $L190 = (0, import_lib2.$L)("of"), $L191 = (0, import_lib2.$L)("["), $L192 = (0, import_lib2.$L)("operator"), $L193 = (0, import_lib2.$L)("override"), $L194 = (0, import_lib2.$L)("own"), $L195 = (0, import_lib2.$L)("public"), $L196 = (0, import_lib2.$L)("private"), $L197 = (0, import_lib2.$L)("protected"), $L198 = (0, import_lib2.$L)("||>"), $L199 = (0, import_lib2.$L)("|\u25B7"), $L200 = (0, import_lib2.$L)("|>="), $L201 = (0, import_lib2.$L)("\u25B7="), $L202 = (0, import_lib2.$L)("|>"), $L203 = (0, import_lib2.$L)("\u25B7"), $L204 = (0, import_lib2.$L)("readonly"), $L205 = (0, import_lib2.$L)("return"), $L206 = (0, import_lib2.$L)("satisfies"), $L207 = (0, import_lib2.$L)("'"), $L208 = (0, import_lib2.$L)("static"), $L209 = (0, import_lib2.$L)("${"), $L210 = (0, import_lib2.$L)("super"), $L211 = (0, import_lib2.$L)("switch"), $L212 = (0, import_lib2.$L)("target"), $L213 = (0, import_lib2.$L)("then"), $L214 = (0, import_lib2.$L)("this"), $L215 = (0, import_lib2.$L)("throw"), $L216 = (0, import_lib2.$L)('"""'), $L217 = (0, import_lib2.$L)("'''"), $L218 = (0, import_lib2.$L)("///"), $L219 = (0, import_lib2.$L)("```"), $L220 = (0, import_lib2.$L)("try"), $L221 = (0, import_lib2.$L)("typeof"), $L222 = (0, import_lib2.$L)("undefined"), $L223 = (0, import_lib2.$L)("unless"), $L224 = (0, import_lib2.$L)("until"), $L225 = (0, import_lib2.$L)("using"), $L226 = (0, import_lib2.$L)("void"), $L227 = (0, import_lib2.$L)("when"), $L228 = (0, import_lib2.$L)("while"), $L229 = (0, import_lib2.$L)("yield"), $L230 = (0, import_lib2.$L)("/>"), $L231 = (0, import_lib2.$L)("</"), $L232 = (0, import_lib2.$L)("<>"), $L233 = (0, import_lib2.$L)("</>"), $L234 = (0, import_lib2.$L)("<!--"), $L235 = (0, import_lib2.$L)("-->"), $L236 = (0, import_lib2.$L)("type"), $L237 = (0, import_lib2.$L)("enum"), $L238 = (0, import_lib2.$L)("interface"), $L239 = (0, import_lib2.$L)("global"), $L240 = (0, import_lib2.$L)("module"), $L241 = (0, import_lib2.$L)("namespace"), $L242 = (0, import_lib2.$L)("asserts"), $L243 = (0, import_lib2.$L)("keyof"), $L244 = (0, import_lib2.$L)("???"), $L245 = (0, import_lib2.$L)("unique"), $L246 = (0, import_lib2.$L)("symbol"), $L247 = (0, import_lib2.$L)("[]"), $L248 = (0, import_lib2.$L)("civet"), $R0 = (0, import_lib2.$R)(new RegExp("(?=async|debugger|if|unless|comptime|do|for|loop|until|while|switch|throw|try)", "suy")), $R1 = (0, import_lib2.$R)(new RegExp("&(?=\\s)", "suy")), $R2 = (0, import_lib2.$R)(new RegExp("(as|of|by|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy")), $R3 = (0, import_lib2.$R)(new RegExp("[0-9]", "suy")), $R4 = (0, import_lib2.$R)(new RegExp("(?!\\p{ID_Start}|[_$0-9(\\[{])", "suy")), $R5 = (0, import_lib2.$R)(new RegExp("[ \\t]", "suy")), $R6 = (0, import_lib2.$R)(new RegExp("\\p{ID_Continue}|[\\u200C\\u200D$.#{=]", "suy")), $R7 = (0, import_lib2.$R)(new RegExp("[&=]", "suy")), $R8 = (0, import_lib2.$R)(new RegExp("(?=['\"`])", "suy")), $R9 = (0, import_lib2.$R)(new RegExp("(?=[\\/?])", "suy")), $R10 = (0, import_lib2.$R)(new RegExp("(?=[\\/\\[{?.!@#'\u2019:])", "suy")), $R11 = (0, import_lib2.$R)(new RegExp("%%?", "suy")), $R12 = (0, import_lib2.$R)(new RegExp("[.\\s]", "suy")), $R13 = (0, import_lib2.$R)(new RegExp("[)\\]}]", "suy")), $R14 = (0, import_lib2.$R)(new RegExp("[+-]", "suy")), $R15 = (0, import_lib2.$R)(new RegExp("\\+\\+|--|\u29FA|\u2014|[\\+\\-&]\\S", "suy")), $R16 = (0, import_lib2.$R)(new RegExp(`(?=[0-9.'"tfyno])`, "suy")), $R17 = (0, import_lib2.$R)(new RegExp("(?=true|false|yes|no|on|off)", "suy")), $R18 = (0, import_lib2.$R)(new RegExp("(?=\\p{ID_Start}|[_$])", "suy")), $R19 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy")), $R20 = (0, import_lib2.$R)(new RegExp("(?=\\[|\\s*[.\u2022\\/])", "suy")), $R21 = (0, import_lib2.$R)(new RegExp("([<>])(=?)|([\u2264\u2265])", "suy")), $R22 = (0, import_lib2.$R)(new RegExp("[ \\t]*", "suy")), $R23 = (0, import_lib2.$R)(new RegExp("[ \\t]+", "suy")), $R24 = (0, import_lib2.$R)(new RegExp("[!+-]?", "suy")), $R25 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy")), $R26 = (0, import_lib2.$R)(new RegExp("[=>]", "suy")), $R27 = (0, import_lib2.$R)(new RegExp("(?=\\p{ID_Start}|[_$^\u226A\u226B\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2A76\u2A75\u2016\u2047&|*\\/!?%\xF7<>\u29FA+-])", "suy")), $R28 = (0, import_lib2.$R)(new RegExp("!\\^\\^?", "suy")), $R29 = (0, import_lib2.$R)(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy")), $R30 = (0, import_lib2.$R)(new RegExp("[:.]", "suy")), $R31 = (0, import_lib2.$R)(new RegExp("(?=for|if|loop|unless|until|while)", "suy")), $R32 = (0, import_lib2.$R)(new RegExp("(?:loop|while|until|for|do)(?!\\p{ID_Continue})", "suy")), $R33 = (0, import_lib2.$R)(new RegExp("(?=loop|comptime|do|for|until|while)", "suy")), $R34 = (0, import_lib2.$R)(new RegExp(`[^;"'\\s=>]+`, "suy")), $R35 = (0, import_lib2.$R)(new RegExp("(?=[0-9.])", "suy")), $R36 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy")), $R37 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy")), $R38 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy")), $R39 = (0, import_lib2.$R)(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy")), $R40 = (0, import_lib2.$R)(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy")), $R41 = (0, import_lib2.$R)(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy")), $R42 = (0, import_lib2.$R)(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy")), $R43 = (0, import_lib2.$R)(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy")), $R44 = (0, import_lib2.$R)(new RegExp("(?=[0-9])", "suy")), $R45 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy")), $R46 = (0, import_lib2.$R)(new RegExp('(?:\\\\.|[^"])*', "suy")), $R47 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^'])*", "suy")), $R48 = (0, import_lib2.$R)(new RegExp('(?:\\\\.|[^"\\n])*', "suy")), $R49 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^'\\n])*", "suy")), $R50 = (0, import_lib2.$R)(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy")), $R51 = (0, import_lib2.$R)(new RegExp('(?:"(?!"")|\\\\.|[^"])+', "suy")), $R52 = (0, import_lib2.$R)(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy")), $R53 = (0, import_lib2.$R)(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy")), $R54 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^\\]])*", "suy")), $R55 = (0, import_lib2.$R)(new RegExp("(?:\\\\.)", "suy")), $R56 = (0, import_lib2.$R)(new RegExp("[\\s]+", "suy")), $R57 = (0, import_lib2.$R)(new RegExp("\\/(?!\\/\\/)", "suy")), $R58 = (0, import_lib2.$R)(new RegExp("[^[\\/\\s#$\\\\]+|[#$]", "suy")), $R59 = (0, import_lib2.$R)(new RegExp("[*\\/\\r\\n]", "suy")), $R60 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy")), $R61 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy")), $R62 = (0, import_lib2.$R)(new RegExp("(?=[`'\"])", "suy")), $R63 = (0, import_lib2.$R)(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy")), $R64 = (0, import_lib2.$R)(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy")), $R65 = (0, import_lib2.$R)(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy")), $R66 = (0, import_lib2.$R)(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy")), $R67 = (0, import_lib2.$R)(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy")), $R68 = (0, import_lib2.$R)(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy")), $R69 = (0, import_lib2.$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")), $R70 = (0, import_lib2.$R)(new RegExp("(?=\\/|#)", "suy")), $R71 = (0, import_lib2.$R)(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy")), $R72 = (0, import_lib2.$R)(new RegExp(".", "suy")), $R73 = (0, import_lib2.$R)(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy")), $R74 = (0, import_lib2.$R)(new RegExp("[^]*?###", "suy")), $R75 = (0, import_lib2.$R)(new RegExp("###(?!#)", "suy")), $R76 = (0, import_lib2.$R)(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy")), $R77 = (0, import_lib2.$R)(new RegExp("(?=[ \\t\\/\\\\#])", "suy")), $R78 = (0, import_lib2.$R)(new RegExp("(?=\\s|\\/|#)", "suy")), $R79 = (0, import_lib2.$R)(new RegExp("(?!\\p{ID_Continue})", "suy")), $R80 = (0, import_lib2.$R)(new RegExp("[=:]", "suy")), $R81 = (0, import_lib2.$R)(new RegExp("['\u2019]s", "suy")), $R82 = (0, import_lib2.$R)(new RegExp("\\s", "suy")), $R83 = (0, import_lib2.$R)(new RegExp("(?=[<])", "suy")), $R84 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy")), $R85 = (0, import_lib2.$R)(new RegExp("[!+-]", "suy")), $R86 = (0, import_lib2.$R)(new RegExp("[\\s>]|\\/>", "suy")), $R87 = (0, import_lib2.$R)(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy")), $R88 = (0, import_lib2.$R)(new RegExp(`"[^"]*"|'[^']*'`, "suy")), $R89 = (0, import_lib2.$R)(new RegExp("[<>]", "suy")), $R90 = (0, import_lib2.$R)(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy")), $R91 = (0, import_lib2.$R)(new RegExp("(?:-[^-]|[^-]*)*", "suy")), $R92 = (0, import_lib2.$R)(new RegExp("[^{}<>\\r\\n]+", "suy")), $R93 = (0, import_lib2.$R)(new RegExp("[+-]?", "suy")), $R94 = (0, import_lib2.$R)(new RegExp("(?=if|unless)", "suy")), $R95 = (0, import_lib2.$R)(new RegExp("[|&<!=\\-\u21D2\u2192]", "suy")), $R96 = (0, import_lib2.$R)(new RegExp("(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy")), $R97 = (0, import_lib2.$R)(new RegExp("const|in|out", "suy")), $R98 = (0, import_lib2.$R)(new RegExp("#![^\\r\\n]*", "suy")), $R99 = (0, import_lib2.$R)(new RegExp("[\\t ]*", "suy")), $R100 = (0, import_lib2.$R)(new RegExp("[\\s]*", "suy")), $R101 = (0, import_lib2.$R)(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?", "suy")), $R102 = (0, import_lib2.$R)(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy")), $R103 = (0, import_lib2.$R)(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy")), $R104 = (0, import_lib2.$R)(new RegExp("\\r\\n|\\n|\\r|$", "suy")), $R105 = (0, import_lib2.$R)(new RegExp("[^]*", "suy")), Program$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Reset, Init, (0, import_lib2.$E)(EOS), TopLevelStatements, __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7657
+ var $L0 = (0, import_lib2.$L)(""), $L1 = (0, import_lib2.$L)("{"), $L2 = (0, import_lib2.$L)("/ "), $L3 = (0, import_lib2.$L)("="), $L4 = (0, import_lib2.$L)("("), $L5 = (0, import_lib2.$L)("... "), $L6 = (0, import_lib2.$L)("?"), $L7 = (0, import_lib2.$L)("."), $L8 = (0, import_lib2.$L)("tuple"), $L9 = (0, import_lib2.$L)("++"), $L10 = (0, import_lib2.$L)("--"), $L11 = (0, import_lib2.$L)("\u29FA"), $L12 = (0, import_lib2.$L)("\u2014"), $L13 = (0, import_lib2.$L)("=>"), $L14 = (0, import_lib2.$L)("\u21D2"), $L15 = (0, import_lib2.$L)("import"), $L16 = (0, import_lib2.$L)(":"), $L17 = (0, import_lib2.$L)(" "), $L18 = (0, import_lib2.$L)("<"), $L19 = (0, import_lib2.$L)("implements"), $L20 = (0, import_lib2.$L)("<:"), $L21 = (0, import_lib2.$L)("^"), $L22 = (0, import_lib2.$L)("<?"), $L23 = (0, import_lib2.$L)("-"), $L24 = (0, import_lib2.$L)("import.meta"), $L25 = (0, import_lib2.$L)("return.value"), $L26 = (0, import_lib2.$L)(","), $L27 = (0, import_lib2.$L)("tighter"), $L28 = (0, import_lib2.$L)("looser"), $L29 = (0, import_lib2.$L)("same"), $L30 = (0, import_lib2.$L)("left"), $L31 = (0, import_lib2.$L)("right"), $L32 = (0, import_lib2.$L)("non"), $L33 = (0, import_lib2.$L)("relational"), $L34 = (0, import_lib2.$L)("arguments"), $L35 = (0, import_lib2.$L)("->"), $L36 = (0, import_lib2.$L)("\u2192"), $L37 = (0, import_lib2.$L)("}"), $L38 = (0, import_lib2.$L)("null"), $L39 = (0, import_lib2.$L)("true"), $L40 = (0, import_lib2.$L)("false"), $L41 = (0, import_lib2.$L)("yes"), $L42 = (0, import_lib2.$L)("on"), $L43 = (0, import_lib2.$L)("no"), $L44 = (0, import_lib2.$L)("off"), $L45 = (0, import_lib2.$L)(">"), $L46 = (0, import_lib2.$L)("]"), $L47 = (0, import_lib2.$L)("\u2022"), $L48 = (0, import_lib2.$L)("//"), $L49 = (0, import_lib2.$L)("**="), $L50 = (0, import_lib2.$L)("*="), $L51 = (0, import_lib2.$L)("%/"), $L52 = (0, import_lib2.$L)("\xF7"), $L53 = (0, import_lib2.$L)("%%"), $L54 = (0, import_lib2.$L)("/="), $L55 = (0, import_lib2.$L)("%="), $L56 = (0, import_lib2.$L)("+="), $L57 = (0, import_lib2.$L)("-="), $L58 = (0, import_lib2.$L)("<<="), $L59 = (0, import_lib2.$L)("\u226A="), $L60 = (0, import_lib2.$L)(">>>="), $L61 = (0, import_lib2.$L)("\u22D9="), $L62 = (0, import_lib2.$L)(">>="), $L63 = (0, import_lib2.$L)("\u226B="), $L64 = (0, import_lib2.$L)("&&="), $L65 = (0, import_lib2.$L)("&="), $L66 = (0, import_lib2.$L)("^="), $L67 = (0, import_lib2.$L)("||="), $L68 = (0, import_lib2.$L)("\u2016="), $L69 = (0, import_lib2.$L)("|="), $L70 = (0, import_lib2.$L)("??="), $L71 = (0, import_lib2.$L)("\u2047="), $L72 = (0, import_lib2.$L)("?="), $L73 = (0, import_lib2.$L)("and="), $L74 = (0, import_lib2.$L)("or="), $L75 = (0, import_lib2.$L)("*"), $L76 = (0, import_lib2.$L)("**"), $L77 = (0, import_lib2.$L)("/"), $L78 = (0, import_lib2.$L)("%"), $L79 = (0, import_lib2.$L)("+"), $L80 = (0, import_lib2.$L)("<="), $L81 = (0, import_lib2.$L)("\u2264"), $L82 = (0, import_lib2.$L)(">="), $L83 = (0, import_lib2.$L)("\u2265"), $L84 = (0, import_lib2.$L)("!<?"), $L85 = (0, import_lib2.$L)("<<"), $L86 = (0, import_lib2.$L)("\u226A"), $L87 = (0, import_lib2.$L)(">>>"), $L88 = (0, import_lib2.$L)("\u22D9"), $L89 = (0, import_lib2.$L)(">>"), $L90 = (0, import_lib2.$L)("\u226B"), $L91 = (0, import_lib2.$L)("!=="), $L92 = (0, import_lib2.$L)("\u2262"), $L93 = (0, import_lib2.$L)("!="), $L94 = (0, import_lib2.$L)("\u2260"), $L95 = (0, import_lib2.$L)("isnt"), $L96 = (0, import_lib2.$L)("==="), $L97 = (0, import_lib2.$L)("\u2263"), $L98 = (0, import_lib2.$L)("\u2A76"), $L99 = (0, import_lib2.$L)("=="), $L100 = (0, import_lib2.$L)("\u2261"), $L101 = (0, import_lib2.$L)("\u2A75"), $L102 = (0, import_lib2.$L)("and"), $L103 = (0, import_lib2.$L)("&&"), $L104 = (0, import_lib2.$L)("or"), $L105 = (0, import_lib2.$L)("||"), $L106 = (0, import_lib2.$L)("\u2016"), $L107 = (0, import_lib2.$L)("^^"), $L108 = (0, import_lib2.$L)("xor"), $L109 = (0, import_lib2.$L)("xnor"), $L110 = (0, import_lib2.$L)("??"), $L111 = (0, import_lib2.$L)("\u2047"), $L112 = (0, import_lib2.$L)("instanceof"), $L113 = (0, import_lib2.$L)("\u2208"), $L114 = (0, import_lib2.$L)("\u220B"), $L115 = (0, import_lib2.$L)("\u220C"), $L116 = (0, import_lib2.$L)("\u2209"), $L117 = (0, import_lib2.$L)("&"), $L118 = (0, import_lib2.$L)("|"), $L119 = (0, import_lib2.$L)(";"), $L120 = (0, import_lib2.$L)("some"), $L121 = (0, import_lib2.$L)("every"), $L122 = (0, import_lib2.$L)("count"), $L123 = (0, import_lib2.$L)("first"), $L124 = (0, import_lib2.$L)("sum"), $L125 = (0, import_lib2.$L)("product"), $L126 = (0, import_lib2.$L)("min"), $L127 = (0, import_lib2.$L)("max"), $L128 = (0, import_lib2.$L)("join"), $L129 = (0, import_lib2.$L)("concat"), $L130 = (0, import_lib2.$L)("break"), $L131 = (0, import_lib2.$L)("continue"), $L132 = (0, import_lib2.$L)("debugger"), $L133 = (0, import_lib2.$L)("require"), $L134 = (0, import_lib2.$L)("with"), $L135 = (0, import_lib2.$L)("assert"), $L136 = (0, import_lib2.$L)(":="), $L137 = (0, import_lib2.$L)("\u2254"), $L138 = (0, import_lib2.$L)(".="), $L139 = (0, import_lib2.$L)("::="), $L140 = (0, import_lib2.$L)("/*"), $L141 = (0, import_lib2.$L)("*/"), $L142 = (0, import_lib2.$L)("\\"), $L143 = (0, import_lib2.$L)(")"), $L144 = (0, import_lib2.$L)("abstract"), $L145 = (0, import_lib2.$L)("as"), $L146 = (0, import_lib2.$L)("@"), $L147 = (0, import_lib2.$L)("@@"), $L148 = (0, import_lib2.$L)("async"), $L149 = (0, import_lib2.$L)("await"), $L150 = (0, import_lib2.$L)("`"), $L151 = (0, import_lib2.$L)("by"), $L152 = (0, import_lib2.$L)("case"), $L153 = (0, import_lib2.$L)("catch"), $L154 = (0, import_lib2.$L)("class"), $L155 = (0, import_lib2.$L)("#{"), $L156 = (0, import_lib2.$L)("comptime"), $L157 = (0, import_lib2.$L)("declare"), $L158 = (0, import_lib2.$L)("default"), $L159 = (0, import_lib2.$L)("delete"), $L160 = (0, import_lib2.$L)("do"), $L161 = (0, import_lib2.$L)(".."), $L162 = (0, import_lib2.$L)("\u2025"), $L163 = (0, import_lib2.$L)("..."), $L164 = (0, import_lib2.$L)("\u2026"), $L165 = (0, import_lib2.$L)("::"), $L166 = (0, import_lib2.$L)('"'), $L167 = (0, import_lib2.$L)("each"), $L168 = (0, import_lib2.$L)("else"), $L169 = (0, import_lib2.$L)("!"), $L170 = (0, import_lib2.$L)("export"), $L171 = (0, import_lib2.$L)("extends"), $L172 = (0, import_lib2.$L)("finally"), $L173 = (0, import_lib2.$L)("for"), $L174 = (0, import_lib2.$L)("from"), $L175 = (0, import_lib2.$L)("function"), $L176 = (0, import_lib2.$L)("get"), $L177 = (0, import_lib2.$L)("set"), $L178 = (0, import_lib2.$L)("#"), $L179 = (0, import_lib2.$L)("if"), $L180 = (0, import_lib2.$L)("in"), $L181 = (0, import_lib2.$L)("infer"), $L182 = (0, import_lib2.$L)("let"), $L183 = (0, import_lib2.$L)("const"), $L184 = (0, import_lib2.$L)("is"), $L185 = (0, import_lib2.$L)("var"), $L186 = (0, import_lib2.$L)("like"), $L187 = (0, import_lib2.$L)("loop"), $L188 = (0, import_lib2.$L)("new"), $L189 = (0, import_lib2.$L)("not"), $L190 = (0, import_lib2.$L)("of"), $L191 = (0, import_lib2.$L)("["), $L192 = (0, import_lib2.$L)("operator"), $L193 = (0, import_lib2.$L)("override"), $L194 = (0, import_lib2.$L)("own"), $L195 = (0, import_lib2.$L)("public"), $L196 = (0, import_lib2.$L)("private"), $L197 = (0, import_lib2.$L)("protected"), $L198 = (0, import_lib2.$L)("||>"), $L199 = (0, import_lib2.$L)("|\u25B7"), $L200 = (0, import_lib2.$L)("|>="), $L201 = (0, import_lib2.$L)("\u25B7="), $L202 = (0, import_lib2.$L)("|>"), $L203 = (0, import_lib2.$L)("\u25B7"), $L204 = (0, import_lib2.$L)("readonly"), $L205 = (0, import_lib2.$L)("return"), $L206 = (0, import_lib2.$L)("satisfies"), $L207 = (0, import_lib2.$L)("'"), $L208 = (0, import_lib2.$L)("static"), $L209 = (0, import_lib2.$L)("${"), $L210 = (0, import_lib2.$L)("super"), $L211 = (0, import_lib2.$L)("switch"), $L212 = (0, import_lib2.$L)("target"), $L213 = (0, import_lib2.$L)("then"), $L214 = (0, import_lib2.$L)("this"), $L215 = (0, import_lib2.$L)("throw"), $L216 = (0, import_lib2.$L)('"""'), $L217 = (0, import_lib2.$L)("'''"), $L218 = (0, import_lib2.$L)("///"), $L219 = (0, import_lib2.$L)("```"), $L220 = (0, import_lib2.$L)("try"), $L221 = (0, import_lib2.$L)("typeof"), $L222 = (0, import_lib2.$L)("undefined"), $L223 = (0, import_lib2.$L)("unless"), $L224 = (0, import_lib2.$L)("until"), $L225 = (0, import_lib2.$L)("using"), $L226 = (0, import_lib2.$L)("void"), $L227 = (0, import_lib2.$L)("when"), $L228 = (0, import_lib2.$L)("while"), $L229 = (0, import_lib2.$L)("yield"), $L230 = (0, import_lib2.$L)("/>"), $L231 = (0, import_lib2.$L)("</"), $L232 = (0, import_lib2.$L)("<>"), $L233 = (0, import_lib2.$L)("</>"), $L234 = (0, import_lib2.$L)("<!--"), $L235 = (0, import_lib2.$L)("-->"), $L236 = (0, import_lib2.$L)("type"), $L237 = (0, import_lib2.$L)("enum"), $L238 = (0, import_lib2.$L)("interface"), $L239 = (0, import_lib2.$L)("global"), $L240 = (0, import_lib2.$L)("module"), $L241 = (0, import_lib2.$L)("namespace"), $L242 = (0, import_lib2.$L)("asserts"), $L243 = (0, import_lib2.$L)("keyof"), $L244 = (0, import_lib2.$L)("???"), $L245 = (0, import_lib2.$L)("unique"), $L246 = (0, import_lib2.$L)("symbol"), $L247 = (0, import_lib2.$L)("[]"), $L248 = (0, import_lib2.$L)("civet"), $R0 = (0, import_lib2.$R)(new RegExp("(?=async|debugger|if|unless|comptime|do|for|loop|until|while|switch|throw|try)", "suy")), $R1 = (0, import_lib2.$R)(new RegExp("&(?=\\s)", "suy")), $R2 = (0, import_lib2.$R)(new RegExp("(as|of|by|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy")), $R3 = (0, import_lib2.$R)(new RegExp("[0-9]", "suy")), $R4 = (0, import_lib2.$R)(new RegExp("(?!\\p{ID_Start}|[_$0-9(\\[{])", "suy")), $R5 = (0, import_lib2.$R)(new RegExp("[ \\t]", "suy")), $R6 = (0, import_lib2.$R)(new RegExp("\\p{ID_Continue}|[\\u200C\\u200D$.#{=]", "suy")), $R7 = (0, import_lib2.$R)(new RegExp("[&=]", "suy")), $R8 = (0, import_lib2.$R)(new RegExp("[@#]", "suy")), $R9 = (0, import_lib2.$R)(new RegExp("(?=['\"`])", "suy")), $R10 = (0, import_lib2.$R)(new RegExp("(?=[\\/?])", "suy")), $R11 = (0, import_lib2.$R)(new RegExp("(?=[\\/\\[{?.!@#'\u2019:])", "suy")), $R12 = (0, import_lib2.$R)(new RegExp("%%?", "suy")), $R13 = (0, import_lib2.$R)(new RegExp("[.\\s]", "suy")), $R14 = (0, import_lib2.$R)(new RegExp("[)\\]}]", "suy")), $R15 = (0, import_lib2.$R)(new RegExp("[+-]", "suy")), $R16 = (0, import_lib2.$R)(new RegExp("\\+\\+|--|\u29FA|\u2014|[\\+\\-&]\\S", "suy")), $R17 = (0, import_lib2.$R)(new RegExp(`(?=[0-9.'"tfyno])`, "suy")), $R18 = (0, import_lib2.$R)(new RegExp("(?=true|false|yes|no|on|off)", "suy")), $R19 = (0, import_lib2.$R)(new RegExp("(?=\\p{ID_Start}|[_$])", "suy")), $R20 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy")), $R21 = (0, import_lib2.$R)(new RegExp("(?=\\[|\\s*[.\u2022\\/])", "suy")), $R22 = (0, import_lib2.$R)(new RegExp("([<>])(=?)|([\u2264\u2265])", "suy")), $R23 = (0, import_lib2.$R)(new RegExp("[ \\t]*", "suy")), $R24 = (0, import_lib2.$R)(new RegExp("[ \\t]+", "suy")), $R25 = (0, import_lib2.$R)(new RegExp("[!+-]?", "suy")), $R26 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy")), $R27 = (0, import_lib2.$R)(new RegExp("[=>]", "suy")), $R28 = (0, import_lib2.$R)(new RegExp("(?=\\p{ID_Start}|[_$^\u226A\u226B\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2A76\u2A75\u2016\u2047&|*\\/!?%\xF7<>\u29FA+-])", "suy")), $R29 = (0, import_lib2.$R)(new RegExp("!\\^\\^?", "suy")), $R30 = (0, import_lib2.$R)(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy")), $R31 = (0, import_lib2.$R)(new RegExp("[:.]", "suy")), $R32 = (0, import_lib2.$R)(new RegExp("(?=for|if|loop|unless|until|while)", "suy")), $R33 = (0, import_lib2.$R)(new RegExp("(?:loop|while|until|for|do)(?!\\p{ID_Continue})", "suy")), $R34 = (0, import_lib2.$R)(new RegExp("(?=loop|comptime|do|for|until|while)", "suy")), $R35 = (0, import_lib2.$R)(new RegExp(`[^;"'\\s=>]+`, "suy")), $R36 = (0, import_lib2.$R)(new RegExp("(?=[0-9.])", "suy")), $R37 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy")), $R38 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy")), $R39 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy")), $R40 = (0, import_lib2.$R)(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy")), $R41 = (0, import_lib2.$R)(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy")), $R42 = (0, import_lib2.$R)(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy")), $R43 = (0, import_lib2.$R)(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy")), $R44 = (0, import_lib2.$R)(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy")), $R45 = (0, import_lib2.$R)(new RegExp("(?=[0-9])", "suy")), $R46 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy")), $R47 = (0, import_lib2.$R)(new RegExp('(?:\\\\.|[^"])*', "suy")), $R48 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^'])*", "suy")), $R49 = (0, import_lib2.$R)(new RegExp('(?:\\\\.|[^"\\n])*', "suy")), $R50 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^'\\n])*", "suy")), $R51 = (0, import_lib2.$R)(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy")), $R52 = (0, import_lib2.$R)(new RegExp('(?:"(?!"")|\\\\.|[^"])+', "suy")), $R53 = (0, import_lib2.$R)(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy")), $R54 = (0, import_lib2.$R)(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy")), $R55 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^\\]])*", "suy")), $R56 = (0, import_lib2.$R)(new RegExp("(?:\\\\.)", "suy")), $R57 = (0, import_lib2.$R)(new RegExp("[\\s]+", "suy")), $R58 = (0, import_lib2.$R)(new RegExp("\\/(?!\\/\\/)", "suy")), $R59 = (0, import_lib2.$R)(new RegExp("[^[\\/\\s#$\\\\]+|[#$]", "suy")), $R60 = (0, import_lib2.$R)(new RegExp("[*\\/\\r\\n]", "suy")), $R61 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy")), $R62 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy")), $R63 = (0, import_lib2.$R)(new RegExp("(?=[`'\"])", "suy")), $R64 = (0, import_lib2.$R)(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy")), $R65 = (0, import_lib2.$R)(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy")), $R66 = (0, import_lib2.$R)(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy")), $R67 = (0, import_lib2.$R)(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy")), $R68 = (0, import_lib2.$R)(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy")), $R69 = (0, import_lib2.$R)(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy")), $R70 = (0, import_lib2.$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")), $R71 = (0, import_lib2.$R)(new RegExp("(?=\\/|#)", "suy")), $R72 = (0, import_lib2.$R)(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy")), $R73 = (0, import_lib2.$R)(new RegExp(".", "suy")), $R74 = (0, import_lib2.$R)(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy")), $R75 = (0, import_lib2.$R)(new RegExp("[^]*?###", "suy")), $R76 = (0, import_lib2.$R)(new RegExp("###(?!#)", "suy")), $R77 = (0, import_lib2.$R)(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy")), $R78 = (0, import_lib2.$R)(new RegExp("(?=[ \\t\\/\\\\#])", "suy")), $R79 = (0, import_lib2.$R)(new RegExp("(?=\\s|\\/|#)", "suy")), $R80 = (0, import_lib2.$R)(new RegExp("(?!\\p{ID_Continue})", "suy")), $R81 = (0, import_lib2.$R)(new RegExp("[=:]", "suy")), $R82 = (0, import_lib2.$R)(new RegExp("['\u2019]s", "suy")), $R83 = (0, import_lib2.$R)(new RegExp("\\s", "suy")), $R84 = (0, import_lib2.$R)(new RegExp("(?=[<])", "suy")), $R85 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy")), $R86 = (0, import_lib2.$R)(new RegExp("[!+-]", "suy")), $R87 = (0, import_lib2.$R)(new RegExp("[\\s>]|\\/>", "suy")), $R88 = (0, import_lib2.$R)(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy")), $R89 = (0, import_lib2.$R)(new RegExp(`"[^"]*"|'[^']*'`, "suy")), $R90 = (0, import_lib2.$R)(new RegExp("[<>]", "suy")), $R91 = (0, import_lib2.$R)(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy")), $R92 = (0, import_lib2.$R)(new RegExp("(?:-[^-]|[^-]*)*", "suy")), $R93 = (0, import_lib2.$R)(new RegExp("[^{}<>\\r\\n]+", "suy")), $R94 = (0, import_lib2.$R)(new RegExp("[+-]?", "suy")), $R95 = (0, import_lib2.$R)(new RegExp("(?=if|unless)", "suy")), $R96 = (0, import_lib2.$R)(new RegExp("[|&<!=\\-\u21D2\u2192]", "suy")), $R97 = (0, import_lib2.$R)(new RegExp("(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy")), $R98 = (0, import_lib2.$R)(new RegExp("const|in|out", "suy")), $R99 = (0, import_lib2.$R)(new RegExp("#![^\\r\\n]*", "suy")), $R100 = (0, import_lib2.$R)(new RegExp("[\\t ]*", "suy")), $R101 = (0, import_lib2.$R)(new RegExp("[\\s]*", "suy")), $R102 = (0, import_lib2.$R)(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?", "suy")), $R103 = (0, import_lib2.$R)(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy")), $R104 = (0, import_lib2.$R)(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy")), $R105 = (0, import_lib2.$R)(new RegExp("\\r\\n|\\n|\\r|$", "suy")), $R106 = (0, import_lib2.$R)(new RegExp("[^]*", "suy")), Program$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Reset, Init, (0, import_lib2.$E)(EOS), TopLevelStatements, __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7598
7658
  var reset = $1, init = $2, ws1 = $3, statements = $4, ws2 = $5;
7599
7659
  let program = {
7600
7660
  type: "BlockStatement",
@@ -7700,7 +7760,7 @@ ${js}`
7700
7760
  return (0, import_lib2.$EVENT_C)(ctx, state2, "StatementExpression", StatementExpression$$);
7701
7761
  }
7702
7762
  var CommaExpression$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(AssignmentExpression, (0, import_lib2.$Q)((0, import_lib2.$S)(CommaDelimiter, AssignmentExpression))), function($skip, $loc, $0, $1, $2) {
7703
- return $2.length == 0 ? $1 : $0;
7763
+ return $2.length ? $0 : $1;
7704
7764
  });
7705
7765
  function CommaExpression(ctx, state2) {
7706
7766
  return (0, import_lib2.$EVENT)(ctx, state2, "CommaExpression", CommaExpression$0);
@@ -7709,7 +7769,7 @@ ${js}`
7709
7769
  var ws = $1, ws2 = $3, iteration = $4;
7710
7770
  return iteration.subtype === "do" || iteration.subtype === "comptime" ? $skip : (ws2 && (ws ? ws = [ws, ws2] : ws = ws2), iteration = { ...iteration, resultsParent: !0 }, prepend(ws, iteration));
7711
7771
  }), CommaExpressionSpread$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(AssignmentExpressionSpread, (0, import_lib2.$Q)((0, import_lib2.$S)(CommaDelimiter, AssignmentExpressionSpread))), function($skip, $loc, $0, $1, $2) {
7712
- return $2.length == 0 ? $1 : $0;
7772
+ return $2.length ? $0 : $1;
7713
7773
  }), CommaExpressionSpread$$ = [CommaExpressionSpread$0, CommaExpressionSpread$1];
7714
7774
  function CommaExpressionSpread(ctx, state2) {
7715
7775
  return (0, import_lib2.$EVENT_C)(ctx, state2, "CommaExpressionSpread", CommaExpressionSpread$$);
@@ -7805,7 +7865,7 @@ ${js}`
7805
7865
  return (0, import_lib2.$EVENT)(ctx, state2, "ArgumentsWithTrailingCallExpressions", ArgumentsWithTrailingCallExpressions$0);
7806
7866
  }
7807
7867
  var TrailingCallExpressions$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$Q)(ExplicitCallExpressionRest), (0, import_lib2.$E)(IndentedTrailingCallExpressions)), function($skip, $loc, $0, $1, $2) {
7808
- return $1 = $1.flat(), !$1.length && !$2 ? $skip : $2 ? [...$1, ...$2] : $1;
7868
+ return $1 = $1.flat(), $1.length || $2 ? $2 ? [...$1, ...$2] : $1 : $skip;
7809
7869
  });
7810
7870
  function TrailingCallExpressions(ctx, state2) {
7811
7871
  return (0, import_lib2.$EVENT)(ctx, state2, "TrailingCallExpressions", TrailingCallExpressions$0);
@@ -8006,12 +8066,12 @@ ${js}`
8006
8066
  return (0, import_lib2.$EVENT_C)(ctx, state2, "BinaryOpRHS", BinaryOpRHS$$);
8007
8067
  }
8008
8068
  var IsLike$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Is, (0, import_lib2.$E)(_), (0, import_lib2.$E)((0, import_lib2.$S)(OmittedNegation, (0, import_lib2.$E)(_))), Like), function($skip, $loc, $0, $1, $2, $3, $4) {
8009
- var not = $3;
8069
+ var negated = $3;
8010
8070
  return {
8011
8071
  type: "PatternTest",
8012
8072
  children: $0,
8013
8073
  special: !0,
8014
- negated: !!not
8074
+ negated: !!negated
8015
8075
  };
8016
8076
  });
8017
8077
  function IsLike(ctx, state2) {
@@ -8114,8 +8174,8 @@ ${js}`
8114
8174
  };
8115
8175
  }), NWTypePostfix$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(As, (0, import_lib2.$E)(ExclamationPoint), (0, import_lib2.$C)(Type, (0, import_lib2.$S)(__, Const))), function($skip, $loc, $0, $1, $2, $3) {
8116
8176
  var as = $1, ex = $2, type = $3;
8117
- let children;
8118
- return ex ? children = [{ $loc: ex.$loc, token: "as unknown " }, as, type] : children = [as, type], { ts: !0, children };
8177
+ let ref1;
8178
+ return ex ? ref1 = [{ $loc: ex.$loc, token: "as unknown " }, as, type] : ref1 = [as, type], { ts: !0, children: ref1 };
8119
8179
  }), NWTypePostfix$2 = (0, import_lib2.$TS)((0, import_lib2.$S)(Satisfies, Type), function($skip, $loc, $0, $1, $2) {
8120
8180
  return { ts: !0, children: $0 };
8121
8181
  }), NWTypePostfix$$ = [NWTypePostfix$0, NWTypePostfix$1, NWTypePostfix$2];
@@ -8284,8 +8344,8 @@ ${js}`
8284
8344
  function TrailingPostfix(ctx, state2) {
8285
8345
  return (0, import_lib2.$EVENT)(ctx, state2, "TrailingPostfix", TrailingPostfix$0);
8286
8346
  }
8287
- var FatArrowBody$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$N)(EOS), (0, import_lib2.$N)((0, import_lib2.$S)((0, import_lib2.$E)(_), ExpressionizedStatement)), NonPipelineExpression, (0, import_lib2.$N)(TrailingDeclaration), (0, import_lib2.$N)(TrailingPipe), (0, import_lib2.$N)(TrailingPostfix), (0, import_lib2.$N)(SemicolonDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
8288
- var exp = $3;
8347
+ var FatArrowBody$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$N)(EOS), (0, import_lib2.$N)((0, import_lib2.$S)((0, import_lib2.$E)(_), ExpressionizedStatement)), (0, import_lib2.$N)((0, import_lib2.$S)((0, import_lib2.$E)(_), Declaration)), NonPipelineExpression, (0, import_lib2.$N)(TrailingDeclaration), (0, import_lib2.$N)(TrailingPipe), (0, import_lib2.$N)(TrailingPostfix), (0, import_lib2.$N)(SemicolonDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
8348
+ var exp = $4;
8289
8349
  exp = makeExpressionStatement(exp);
8290
8350
  let expressions = [["", exp]];
8291
8351
  return {
@@ -8403,7 +8463,8 @@ ${js}`
8403
8463
  }
8404
8464
  var ParenthesizedExpression$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(OpenParen, AllowAll, (0, import_lib2.$E)((0, import_lib2.$S)(PostfixedCommaExpression, __, CloseParen)), RestoreAll), function($skip, $loc, $0, $1, $2, $3, $4) {
8405
8465
  var open = $1;
8406
- if (!$3) return $skip;
8466
+ if (!$3)
8467
+ return $skip;
8407
8468
  let [expression, ws, close] = $3;
8408
8469
  return expression.type === "ParenthesizedExpression" && expression.implicit ? {
8409
8470
  ...expression,
@@ -8570,7 +8631,8 @@ ${js}`
8570
8631
  }
8571
8632
  var ImplementsClause$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(ImplementsToken, PushIndent, (0, import_lib2.$Q)((0, import_lib2.$S)(Nested, TypeIdentifier, ArrayBulletDelimiter)), PopIndent), function($skip, $loc, $0, $1, $2, $3, $4) {
8572
8633
  var i = $1, targets = $3;
8573
- if (!targets.length) return $skip;
8634
+ if (!targets.length)
8635
+ return $skip;
8574
8636
  let last = targets.at(-1).slice(0, -1);
8575
8637
  return targets = targets.slice(0, -1).concat(last), {
8576
8638
  ts: !0,
@@ -8643,14 +8705,14 @@ ${js}`
8643
8705
  function NestedClassElement(ctx, state2) {
8644
8706
  return (0, import_lib2.$EVENT)(ctx, state2, "NestedClassElement", NestedClassElement$0);
8645
8707
  }
8646
- var ClassElement$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(CoffeeClassesEnabled, (0, import_lib2.$E)(Decorators), (0, import_lib2.$E)((0, import_lib2.$S)(Declare, (0, import_lib2.$E)(_))), (0, import_lib2.$E)(AccessModifier), (0, import_lib2.$E)((0, import_lib2.$S)(Static, (0, import_lib2.$E)(_))), (0, import_lib2.$E)((0, import_lib2.$S)(Override, (0, import_lib2.$E)(_))), ActualAssignment), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
8708
+ var ClassElement$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(CoffeeClassesEnabled, (0, import_lib2.$E)(Decorators), (0, import_lib2.$E)(DeclareModifier), (0, import_lib2.$E)(AccessModifier), (0, import_lib2.$E)(StaticModifier), (0, import_lib2.$E)(OverrideModifier), ActualAssignment), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
8647
8709
  var decorators = $2, declare = $3, access = $4, static_ = $5, override = $6, assignment = $7;
8648
8710
  return {
8649
8711
  type: static_ ? "CoffeeClassPublic" : "CoffeeClassPrivate",
8650
8712
  children: [decorators, declare, access, static_, override, assignment],
8651
8713
  assignment
8652
8714
  };
8653
- }), ClassElement$1 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(Decorators), (0, import_lib2.$E)((0, import_lib2.$S)(Declare, (0, import_lib2.$E)(_))), (0, import_lib2.$E)(AccessModifier), (0, import_lib2.$E)((0, import_lib2.$S)(Static, (0, import_lib2.$E)(_))), (0, import_lib2.$E)((0, import_lib2.$S)(Override, (0, import_lib2.$E)(_))), ClassElementDefinition), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
8715
+ }), ClassElement$1 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(Decorators), (0, import_lib2.$E)(DeclareModifier), (0, import_lib2.$E)(AccessModifier), (0, import_lib2.$E)(StaticModifier), (0, import_lib2.$E)(OverrideModifier), ClassElementDefinition), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
8654
8716
  var decorators = $1, declare = $2, access = $3, static_ = $4, override = $5, definition = $6;
8655
8717
  let ts2 = definition.ts || !!declare;
8656
8718
  return definition.type === "MultiMethodDefinition" ? {
@@ -8678,7 +8740,7 @@ ${js}`
8678
8740
  function ClassElementDefinition(ctx, state2) {
8679
8741
  return (0, import_lib2.$EVENT_C)(ctx, state2, "ClassElementDefinition", ClassElementDefinition$$);
8680
8742
  }
8681
- var ClassSignature$0 = (0, import_lib2.$S)((0, import_lib2.$E)(Decorators), (0, import_lib2.$E)((0, import_lib2.$S)(Abstract, __)), Class, (0, import_lib2.$E)(ClassBinding), (0, import_lib2.$E)(ClassHeritage), ClassSignatureBody);
8743
+ var ClassSignature$0 = (0, import_lib2.$S)((0, import_lib2.$E)(Decorators), (0, import_lib2.$E)(AbstractModifier), Class, (0, import_lib2.$E)(ClassBinding), (0, import_lib2.$E)(ClassHeritage), ClassSignatureBody);
8682
8744
  function ClassSignature(ctx, state2) {
8683
8745
  return (0, import_lib2.$EVENT)(ctx, state2, "ClassSignature", ClassSignature$0);
8684
8746
  }
@@ -8697,11 +8759,43 @@ ${js}`
8697
8759
  function NestedClassSignatureElement(ctx, state2) {
8698
8760
  return (0, import_lib2.$EVENT)(ctx, state2, "NestedClassSignatureElement", NestedClassSignatureElement$0);
8699
8761
  }
8700
- var ClassSignatureElement$0 = (0, import_lib2.$S)((0, import_lib2.$E)(Decorators), (0, import_lib2.$E)(AccessModifier), (0, import_lib2.$E)((0, import_lib2.$S)(Static, (0, import_lib2.$E)(_))), (0, import_lib2.$E)((0, import_lib2.$S)(Override, (0, import_lib2.$E)(_))), (0, import_lib2.$C)(MethodSignature, FieldDefinition)), ClassSignatureElement$1 = (0, import_lib2.$S)(Static, ClassSignatureBody), ClassSignatureElement$$ = [ClassSignatureElement$0, ClassSignatureElement$1];
8762
+ var ClassSignatureElement$0 = (0, import_lib2.$S)((0, import_lib2.$E)(Decorators), (0, import_lib2.$E)(AccessModifier), (0, import_lib2.$E)(StaticModifier), (0, import_lib2.$E)(OverrideModifier), (0, import_lib2.$C)(MethodSignature, FieldDefinition)), ClassSignatureElement$1 = (0, import_lib2.$S)(Static, ClassSignatureBody), ClassSignatureElement$$ = [ClassSignatureElement$0, ClassSignatureElement$1];
8701
8763
  function ClassSignatureElement(ctx, state2) {
8702
8764
  return (0, import_lib2.$EVENT_C)(ctx, state2, "ClassSignatureElement", ClassSignatureElement$$);
8703
8765
  }
8704
- var AccessModifier$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)((0, import_lib2.$S)((0, import_lib2.$C)(Public, Private, Protected), NotDedented)), (0, import_lib2.$E)((0, import_lib2.$S)(Readonly, NotDedented))), function($skip, $loc, $0, $1, $2) {
8766
+ var AbstractModifier$0 = (0, import_lib2.$T)((0, import_lib2.$S)(Abstract, NotDedented, (0, import_lib2.$Y)(ClassElementName)), function(value) {
8767
+ return [value[0], value[1]];
8768
+ });
8769
+ function AbstractModifier(ctx, state2) {
8770
+ return (0, import_lib2.$EVENT)(ctx, state2, "AbstractModifier", AbstractModifier$0);
8771
+ }
8772
+ var DeclareModifier$0 = (0, import_lib2.$T)((0, import_lib2.$S)(Declare, NotDedented, (0, import_lib2.$Y)(ClassElementName)), function(value) {
8773
+ return [value[0], value[1]];
8774
+ });
8775
+ function DeclareModifier(ctx, state2) {
8776
+ return (0, import_lib2.$EVENT)(ctx, state2, "DeclareModifier", DeclareModifier$0);
8777
+ }
8778
+ var OverrideModifier$0 = (0, import_lib2.$T)((0, import_lib2.$S)(Override, NotDedented, (0, import_lib2.$Y)(ClassElementName)), function(value) {
8779
+ return [value[0], value[1]];
8780
+ });
8781
+ function OverrideModifier(ctx, state2) {
8782
+ return (0, import_lib2.$EVENT)(ctx, state2, "OverrideModifier", OverrideModifier$0);
8783
+ }
8784
+ var ReadonlyModifier$0 = (0, import_lib2.$T)((0, import_lib2.$S)(Readonly, NotDedented, (0, import_lib2.$Y)((0, import_lib2.$C)(ClassElementName, (0, import_lib2.$EXPECT)($R8, "ReadonlyModifier /[@#]/")))), function(value) {
8785
+ return [value[0], value[1]];
8786
+ });
8787
+ function ReadonlyModifier(ctx, state2) {
8788
+ return (0, import_lib2.$EVENT)(ctx, state2, "ReadonlyModifier", ReadonlyModifier$0);
8789
+ }
8790
+ var StaticModifier$0 = (0, import_lib2.$T)((0, import_lib2.$S)(Static, (0, import_lib2.$Y)(IndentedFurther)), function(value) {
8791
+ return [value[0], ""];
8792
+ }), StaticModifier$1 = (0, import_lib2.$T)((0, import_lib2.$S)(Static, NotDedented, (0, import_lib2.$Y)(ClassElementName)), function(value) {
8793
+ return [value[0], value[1]];
8794
+ }), StaticModifier$$ = [StaticModifier$0, StaticModifier$1];
8795
+ function StaticModifier(ctx, state2) {
8796
+ return (0, import_lib2.$EVENT_C)(ctx, state2, "StaticModifier", StaticModifier$$);
8797
+ }
8798
+ var AccessModifier$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)((0, import_lib2.$S)((0, import_lib2.$C)(Public, Private, Protected), NotDedented)), (0, import_lib2.$E)(ReadonlyModifier), (0, import_lib2.$Y)((0, import_lib2.$C)(ClassElementName, (0, import_lib2.$EXPECT)($R8, "AccessModifier /[@#]/")))), function($skip, $loc, $0, $1, $2, $3) {
8705
8799
  return $1 || $2 ? {
8706
8800
  ts: !0,
8707
8801
  children: $0
@@ -8736,7 +8830,7 @@ ${js}`
8736
8830
  children: $0,
8737
8831
  readonly
8738
8832
  };
8739
- }), FieldDefinition$2 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)((0, import_lib2.$S)(Abstract, (0, import_lib2.$E)(_))), (0, import_lib2.$E)((0, import_lib2.$S)(Readonly, (0, import_lib2.$E)(_))), ClassElementName, (0, import_lib2.$E)(TypeSuffix), (0, import_lib2.$E)(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8833
+ }), FieldDefinition$2 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(AbstractModifier), (0, import_lib2.$E)(ReadonlyModifier), ClassElementName, (0, import_lib2.$E)(TypeSuffix), (0, import_lib2.$E)(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8740
8834
  var abstract = $1, readonly = $2, id = $3, typeSuffix = $4, initializer = $5;
8741
8835
  return {
8742
8836
  type: "FieldDefinition",
@@ -8858,10 +8952,11 @@ ${js}`
8858
8952
  var from = $1, fws = $2, i = $3, iws = $4, imports = $5;
8859
8953
  return dynamizeImportDeclarationExpression([i, iws, imports, fws, from]);
8860
8954
  }), CallExpression$3 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L15, 'CallExpression "import"'), ArgumentsWithTrailingCallExpressions, (0, import_lib2.$Q)(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
8861
- var rest = $3;
8955
+ var argsWithTrailing = $2, rest = $3;
8956
+ let [args, ...trailing] = argsWithTrailing;
8862
8957
  return processCallMemberExpression({
8863
8958
  type: "CallExpression",
8864
- children: [$1, ...$2, ...rest.flat()]
8959
+ children: [$1, rewriteDynamicImportCall(args), ...trailing, ...rest.flat()]
8865
8960
  });
8866
8961
  }), CallExpression$4 = (0, import_lib2.$TS)((0, import_lib2.$S)(MemberExpression, (0, import_lib2.$Q)(CallExpressionRest), (0, import_lib2.$E)(AllowedTrailingCallExpressions)), function($skip, $loc, $0, $1, $2, $3) {
8867
8962
  var member = $1, rest = $2, trailing = $3;
@@ -8875,12 +8970,13 @@ ${js}`
8875
8970
  }
8876
8971
  var CallExpressionRest$0 = MemberExpressionRest, CallExpressionRest$1 = (0, import_lib2.$T)((0, import_lib2.$S)(TypeArguments, (0, import_lib2.$N)((0, import_lib2.$C)(IdentifierName, NumericLiteral))), function(value) {
8877
8972
  return value[0];
8878
- }), CallExpressionRest$2 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R8, "CallExpressionRest /(?=['\"`])/"), (0, import_lib2.$C)(TemplateLiteral, StringLiteral)), function($skip, $loc, $0, $1, $2) {
8973
+ }), CallExpressionRest$2 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R9, "CallExpressionRest /(?=['\"`])/"), (0, import_lib2.$C)(TemplateLiteral, StringLiteral)), function($skip, $loc, $0, $1, $2) {
8879
8974
  var literal = $2;
8880
8975
  return literal.type === "StringLiteral" && (literal = "`" + literal.token.slice(1, -1).replace(/(`|\$\{)/g, "\\$1") + "`"), literal;
8881
8976
  }), CallExpressionRest$3 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(OptionalShorthand), ArgumentsWithTrailingCallExpressions), function($skip, $loc, $0, $1, $2) {
8882
8977
  var optional = $1, argsWithTrailing = $2;
8883
- if (!optional) return argsWithTrailing;
8978
+ if (!optional)
8979
+ return argsWithTrailing;
8884
8980
  let call = argsWithTrailing[0];
8885
8981
  return [{
8886
8982
  ...call,
@@ -8893,7 +8989,7 @@ ${js}`
8893
8989
  }
8894
8990
  var ExplicitCallExpressionRest$0 = MemberExpressionRest, ExplicitCallExpressionRest$1 = (0, import_lib2.$T)((0, import_lib2.$S)(TypeArguments, (0, import_lib2.$N)((0, import_lib2.$C)(IdentifierName, NumericLiteral))), function(value) {
8895
8991
  return value[0];
8896
- }), ExplicitCallExpressionRest$2 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R8, "ExplicitCallExpressionRest /(?=['\"`])/"), (0, import_lib2.$C)(TemplateLiteral, StringLiteral)), function($skip, $loc, $0, $1, $2) {
8992
+ }), ExplicitCallExpressionRest$2 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R9, "ExplicitCallExpressionRest /(?=['\"`])/"), (0, import_lib2.$C)(TemplateLiteral, StringLiteral)), function($skip, $loc, $0, $1, $2) {
8897
8993
  var literal = $2;
8898
8994
  return literal.type === "StringLiteral" && (literal = "`" + literal.token.slice(1, -1).replace(/(`|\$\{)/g, "\\$1") + "`"), literal;
8899
8995
  }), ExplicitCallExpressionRest$3 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(OptionalShorthand), ExplicitArguments), function($skip, $loc, $0, $1, $2) {
@@ -8907,7 +9003,7 @@ ${js}`
8907
9003
  function ExplicitCallExpressionRest(ctx, state2) {
8908
9004
  return (0, import_lib2.$EVENT_C)(ctx, state2, "ExplicitCallExpressionRest", ExplicitCallExpressionRest$$);
8909
9005
  }
8910
- var OptionalShorthand$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R9, "OptionalShorthand /(?=[\\/?])/"), (0, import_lib2.$Q)(InlineComment), QuestionMark, OptionalDot), function($skip, $loc, $0, $1, $2, $3, $4) {
9006
+ var OptionalShorthand$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R10, "OptionalShorthand /(?=[\\/?])/"), (0, import_lib2.$Q)(InlineComment), QuestionMark, OptionalDot), function($skip, $loc, $0, $1, $2, $3, $4) {
8911
9007
  var comments = $2, q = $3, d = $4;
8912
9008
  return {
8913
9009
  type: "Optional",
@@ -8951,7 +9047,7 @@ ${js}`
8951
9047
  function MemberBase(ctx, state2) {
8952
9048
  return (0, import_lib2.$EVENT_C)(ctx, state2, "MemberBase", MemberBase$$);
8953
9049
  }
8954
- var MemberExpressionRest$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R10, "MemberExpressionRest /(?=[\\/\\[{?.!@#'\u2019:])/"), (0, import_lib2.$Q)(InlineComment), MemberExpressionRestBody), function($skip, $loc, $0, $1, $2, $3) {
9050
+ var MemberExpressionRest$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R11, "MemberExpressionRest /(?=[\\/\\[{?.!@#'\u2019:])/"), (0, import_lib2.$Q)(InlineComment), MemberExpressionRestBody), function($skip, $loc, $0, $1, $2, $3) {
8955
9051
  var comments = $2, body = $3;
8956
9052
  return Array.isArray(body) ? [...comments, ...body] : {
8957
9053
  ...body,
@@ -8963,11 +9059,11 @@ ${js}`
8963
9059
  }
8964
9060
  var MemberExpressionRestBody$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(OptionalShorthand), (0, import_lib2.$Q)(InlineComment), MemberBracketContent), function($skip, $loc, $0, $1, $2, $3) {
8965
9061
  var dot = $1, comments = $2, content = $3;
8966
- return !dot && !comments.length ? content : dot ? dot.type === "Optional" && content.type === "SliceExpression" ? [...dot.children.slice(0, -1), ...comments, content] : {
9062
+ return dot || comments.length ? dot ? dot.type === "Optional" && content.type === "SliceExpression" ? [...dot.children.slice(0, -1), ...comments, content] : {
8967
9063
  ...content,
8968
9064
  children: [dot, ...comments, ...content.children],
8969
9065
  optional: dot
8970
- } : [...comments, content];
9066
+ } : [...comments, content] : content;
8971
9067
  }), MemberExpressionRestBody$1 = PropertyAccess, MemberExpressionRestBody$2 = PropertyGlob, MemberExpressionRestBody$3 = PropertyBind, MemberExpressionRestBody$4 = NonNullAssertion, MemberExpressionRestBody$$ = [MemberExpressionRestBody$0, MemberExpressionRestBody$1, MemberExpressionRestBody$2, MemberExpressionRestBody$3, MemberExpressionRestBody$4];
8972
9068
  function MemberExpressionRestBody(ctx, state2) {
8973
9069
  return (0, import_lib2.$EVENT_C)(ctx, state2, "MemberExpressionRestBody", MemberExpressionRestBody$$);
@@ -8993,7 +9089,7 @@ ${js}`
8993
9089
  children: $0,
8994
9090
  expression
8995
9091
  };
8996
- }), MemberBracketContent$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(OpenBracket, PostfixedExpression, __, (0, import_lib2.$EXPECT)($R11, "MemberBracketContent /%%?/"), __, CloseBracket), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
9092
+ }), MemberBracketContent$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(OpenBracket, PostfixedExpression, __, (0, import_lib2.$EXPECT)($R12, "MemberBracketContent /%%?/"), __, CloseBracket), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
8997
9093
  var open = $1, expression = $2, ws1 = $3, ws2 = $5, close = $6;
8998
9094
  return {
8999
9095
  type: "Index",
@@ -9014,7 +9110,7 @@ ${js}`
9014
9110
  }, end || (reversed ? end = {
9015
9111
  $loc: le.$loc,
9016
9112
  token: "0"
9017
- } : !dots.right.inclusive && !dots.triple && (end = {
9113
+ } : dots.right.inclusive || dots.triple || (end = {
9018
9114
  $loc: le.$loc,
9019
9115
  token: "-1"
9020
9116
  })), dots.left.inclusive || (start = [makeLeftHandSideExpression(start), ` ${sign} 1`]), end) {
@@ -9045,14 +9141,14 @@ ${js}`
9045
9141
  function SliceParameters(ctx, state2) {
9046
9142
  return (0, import_lib2.$EVENT_C)(ctx, state2, "SliceParameters", SliceParameters$$);
9047
9143
  }
9048
- var AccessStart$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(PropertyAccessModifier), Dot, (0, import_lib2.$N)((0, import_lib2.$EXPECT)($R12, "AccessStart /[.\\s]/"))), function($skip, $loc, $0, $1, $2, $3) {
9144
+ var AccessStart$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(PropertyAccessModifier), Dot, (0, import_lib2.$N)((0, import_lib2.$EXPECT)($R13, "AccessStart /[.\\s]/"))), function($skip, $loc, $0, $1, $2, $3) {
9049
9145
  var modifier = $1, dot = $2;
9050
9146
  return {
9051
9147
  type: "AccessStart",
9052
9148
  children: modifier ? [modifier, dot] : [dot],
9053
9149
  optional: modifier?.token === "?"
9054
9150
  };
9055
- }), AccessStart$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(PropertyAccessModifier, InsertDot, (0, import_lib2.$N)((0, import_lib2.$EXPECT)($R12, "AccessStart /[.\\s]/"))), function($skip, $loc, $0, $1, $2, $3) {
9151
+ }), AccessStart$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(PropertyAccessModifier, InsertDot, (0, import_lib2.$N)((0, import_lib2.$EXPECT)($R13, "AccessStart /[.\\s]/"))), function($skip, $loc, $0, $1, $2, $3) {
9056
9152
  var modifier = $1, dot = $2;
9057
9153
  return {
9058
9154
  type: "AccessStart",
@@ -9343,7 +9439,7 @@ ${js}`
9343
9439
  function ParameterElement(ctx, state2) {
9344
9440
  return (0, import_lib2.$EVENT)(ctx, state2, "ParameterElement", ParameterElement$0);
9345
9441
  }
9346
- var ParameterElementDelimiter$0 = (0, import_lib2.$S)((0, import_lib2.$E)(_), Comma), ParameterElementDelimiter$1 = (0, import_lib2.$Y)((0, import_lib2.$S)(__, (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R13, "ParameterElementDelimiter /[)\\]}]/")))), ParameterElementDelimiter$2 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$Y)(EOS), InsertComma), function(value) {
9442
+ var ParameterElementDelimiter$0 = (0, import_lib2.$S)((0, import_lib2.$E)(_), Comma), ParameterElementDelimiter$1 = (0, import_lib2.$Y)((0, import_lib2.$S)(__, (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R14, "ParameterElementDelimiter /[)\\]}]/")))), ParameterElementDelimiter$2 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$Y)(EOS), InsertComma), function(value) {
9347
9443
  return value[1];
9348
9444
  }), ParameterElementDelimiter$$ = [ParameterElementDelimiter$0, ParameterElementDelimiter$1, ParameterElementDelimiter$2];
9349
9445
  function ParameterElementDelimiter(ctx, state2) {
@@ -9409,7 +9505,7 @@ ${js}`
9409
9505
  children: [expression],
9410
9506
  expression
9411
9507
  };
9412
- }), PinPattern$3 = (0, import_lib2.$TV)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R14, "PinPattern /[+-]/"), NumericLiteral), function($skip, $loc, $0, $1) {
9508
+ }), PinPattern$3 = (0, import_lib2.$TV)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R15, "PinPattern /[+-]/"), NumericLiteral), function($skip, $loc, $0, $1) {
9413
9509
  var expression = $0;
9414
9510
  return {
9415
9511
  type: "PinPattern",
@@ -9755,7 +9851,8 @@ ${js}`
9755
9851
  };
9756
9852
  }), FunctionExpression$1 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$N)(ArrowFunction), OpenParen, __, BinaryOp, __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
9757
9853
  var open = $2, ws1 = $3, op = $4, ws2 = $5, close = $6;
9758
- if (op.special && op.call && !op.negated) return op.call;
9854
+ if (op.special && op.call && !op.negated)
9855
+ return op.call;
9759
9856
  ws1 || (ws1 = op.spaced ? [" "] : []), ws2 || (ws2 = op.spaced ? [" "] : []);
9760
9857
  let refA = makeRef("a"), refB = makeRef("b"), body = processBinaryOpExpression([refA, [
9761
9858
  [ws1, op, ws2, refB]
@@ -9827,7 +9924,7 @@ ${js}`
9827
9924
  children: [open, fn, close],
9828
9925
  expression: fn
9829
9926
  };
9830
- }), FunctionExpression$5 = (0, import_lib2.$TS)((0, import_lib2.$S)(OpenParen, __, (0, import_lib2.$N)((0, import_lib2.$EXPECT)($R15, "FunctionExpression /\\+\\+|--|\u29FA|\u2014|[\\+\\-&]\\S/")), (0, import_lib2.$N)((0, import_lib2.$S)(Placeholder, (0, import_lib2.$C)(TypePostfix, BinaryOpRHS))), BinaryOp, __, NonPipelineAssignmentExpression, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
9927
+ }), FunctionExpression$5 = (0, import_lib2.$TS)((0, import_lib2.$S)(OpenParen, __, (0, import_lib2.$N)((0, import_lib2.$EXPECT)($R16, "FunctionExpression /\\+\\+|--|\u29FA|\u2014|[\\+\\-&]\\S/")), (0, import_lib2.$N)((0, import_lib2.$S)(Placeholder, (0, import_lib2.$C)(TypePostfix, BinaryOpRHS))), BinaryOp, __, NonPipelineAssignmentExpression, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
9831
9928
  var open = $1, ws1 = $2, op = $5, ws2 = $6, rhs = $7, close = $8;
9832
9929
  ws1 || (ws1 = op.spaced ? [" "] : []), ws2 || (ws2 = op.spaced ? [" "] : []);
9833
9930
  let refA = makeRef("a"), fn = makeAmpersandFunction({
@@ -9863,7 +9960,8 @@ ${js}`
9863
9960
  var op = $1, w1 = $2, id = $3, behavior = $4, ids = $5;
9864
9961
  let children = [];
9865
9962
  return setOperatorBehavior(id.name, behavior), behavior?.error && children.push(behavior.error), ids.forEach(([, , id2, behavior2]) => {
9866
- setOperatorBehavior(id2.name, behavior2), behavior2?.error && children.push(behavior2.error);
9963
+ if (setOperatorBehavior(id2.name, behavior2), behavior2?.error)
9964
+ return children.push(behavior2.error);
9867
9965
  }), {
9868
9966
  id,
9869
9967
  children
@@ -10006,7 +10104,8 @@ ${js}`
10006
10104
  }
10007
10105
  var ImplicitNestedBlock$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$Y)(EOS), InsertOpenBrace, AllowAll, (0, import_lib2.$E)((0, import_lib2.$S)(NestedBlockStatements, InsertNewline, InsertIndent, InsertCloseBrace)), RestoreAll), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
10008
10106
  var open = $2;
10009
- if (!$4) return $skip;
10107
+ if (!$4)
10108
+ return $skip;
10010
10109
  let [block, ...tail] = $4;
10011
10110
  return {
10012
10111
  ...block,
@@ -10036,9 +10135,9 @@ ${js}`
10036
10135
  function BareNestedBlock(ctx, state2) {
10037
10136
  return (0, import_lib2.$EVENT)(ctx, state2, "BareNestedBlock", BareNestedBlock$0);
10038
10137
  }
10039
- var BareBlock$0 = BareNestedBlock, BareBlock$1 = ExplicitBlock, BareBlock$2 = ThenClause, BareBlock$3 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), (0, import_lib2.$N)(EOS), Statement), function($skip, $loc, $0, $1, $2, $3) {
10040
- var ws = $1, s = $3;
10041
- let expressions = [[ws, s]];
10138
+ var BareBlock$0 = BareNestedBlock, BareBlock$1 = ExplicitBlock, BareBlock$2 = ThenClause, BareBlock$3 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), (0, import_lib2.$N)(EOS), Statement, (0, import_lib2.$E)(SemicolonDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
10139
+ var ws = $1, s = $3, semi = $4;
10140
+ let expressions = [semi ? [ws, s, semi] : [ws, s]];
10042
10141
  return {
10043
10142
  type: "BlockStatement",
10044
10143
  expressions,
@@ -10186,7 +10285,7 @@ ${js}`
10186
10285
  return value[1];
10187
10286
  }), NonSingleBracedBlock$1 = ImplicitNestedBlock, NonSingleBracedBlock$2 = (0, import_lib2.$TS)((0, import_lib2.$S)(InsertOpenBrace, (0, import_lib2.$C)(NestedBulletedArray, NestedImplicitObjectLiteral), InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3) {
10188
10287
  var o = $1, s = $2, c = $3;
10189
- let expressions = [s];
10288
+ let expressions = [["", s]];
10190
10289
  return {
10191
10290
  type: "BlockStatement",
10192
10291
  expressions,
@@ -10289,7 +10388,7 @@ ${js}`
10289
10388
  function BlockStatementPart(ctx, state2) {
10290
10389
  return (0, import_lib2.$EVENT)(ctx, state2, "BlockStatementPart", BlockStatementPart$0);
10291
10390
  }
10292
- var Literal$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R16, `Literal /(?=[0-9.'"tfyno])/`), LiteralContent), function($skip, $loc, $0, $1, $2) {
10391
+ var Literal$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R17, `Literal /(?=[0-9.'"tfyno])/`), LiteralContent), function($skip, $loc, $0, $1, $2) {
10293
10392
  var literal = $2;
10294
10393
  return {
10295
10394
  type: "Literal",
@@ -10311,7 +10410,7 @@ ${js}`
10311
10410
  function NullLiteral(ctx, state2) {
10312
10411
  return (0, import_lib2.$EVENT)(ctx, state2, "NullLiteral", NullLiteral$0);
10313
10412
  }
10314
- var BooleanLiteral$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R17, "BooleanLiteral /(?=true|false|yes|no|on|off)/"), _BooleanLiteral), function(value) {
10413
+ var BooleanLiteral$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R18, "BooleanLiteral /(?=true|false|yes|no|on|off)/"), _BooleanLiteral), function(value) {
10315
10414
  return value[1];
10316
10415
  });
10317
10416
  function BooleanLiteral(ctx, state2) {
@@ -10371,14 +10470,14 @@ ${js}`
10371
10470
  function SymbolElement(ctx, state2) {
10372
10471
  return (0, import_lib2.$EVENT)(ctx, state2, "SymbolElement", SymbolElement$0);
10373
10472
  }
10374
- var Identifier$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R18, "Identifier /(?=\\p{ID_Start}|[_$])/"), (0, import_lib2.$N)(ReservedWord), IdentifierName), function(value) {
10473
+ var Identifier$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R19, "Identifier /(?=\\p{ID_Start}|[_$])/"), (0, import_lib2.$N)(ReservedWord), IdentifierName), function(value) {
10375
10474
  var id = value[2];
10376
10475
  return id;
10377
10476
  });
10378
10477
  function Identifier(ctx, state2) {
10379
10478
  return (0, import_lib2.$EVENT)(ctx, state2, "Identifier", Identifier$0);
10380
10479
  }
10381
- var IdentifierName$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R19, "IdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10480
+ var IdentifierName$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R20, "IdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10382
10481
  return {
10383
10482
  type: "Identifier",
10384
10483
  name: $0,
@@ -10400,7 +10499,7 @@ ${js}`
10400
10499
  function UpcomingAssignment(ctx, state2) {
10401
10500
  return (0, import_lib2.$EVENT)(ctx, state2, "UpcomingAssignment", UpcomingAssignment$0);
10402
10501
  }
10403
- var ArrayLiteral$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R20, "ArrayLiteral /(?=\\[|\\s*[.\u2022\\/])/"), _ArrayLiteral), function(value) {
10502
+ var ArrayLiteral$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R21, "ArrayLiteral /(?=\\[|\\s*[.\u2022\\/])/"), _ArrayLiteral), function(value) {
10404
10503
  return value[1];
10405
10504
  });
10406
10505
  function ArrayLiteral(ctx, state2) {
@@ -10410,7 +10509,8 @@ ${js}`
10410
10509
  return value[0];
10411
10510
  }), _ArrayLiteral$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(OpenBracket, CloseBracket, ApplicationStart, AllowAll, (0, import_lib2.$E)((0, import_lib2.$C)(NestedElementList, SingleLineElementList)), RestoreAll), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
10412
10511
  var open = $1, close = $2, content = $5;
10413
- if (!content) return $skip;
10512
+ if (!content)
10513
+ return $skip;
10414
10514
  let last = content[content.length - 1], lastArray = Array.isArray(last) ? last : last.children;
10415
10515
  return isComma(lastArray[lastArray.length - 1]) && (lastArray = lastArray.slice(0, -1), Array.isArray(last) ? last = lastArray : last = { ...last, children: lastArray }, content = [...content.slice(0, -1), last]), {
10416
10516
  type: "ArrayExpression",
@@ -10419,13 +10519,14 @@ ${js}`
10419
10519
  };
10420
10520
  }), _ArrayLiteral$2 = (0, import_lib2.$TS)((0, import_lib2.$S)(OpenBracket, AllowAll, (0, import_lib2.$E)((0, import_lib2.$S)(ArrayLiteralContent, __, CloseBracket)), RestoreAll), function($skip, $loc, $0, $1, $2, $3, $4) {
10421
10521
  var open = $1;
10422
- if (!$3) return $skip;
10522
+ if (!$3)
10523
+ return $skip;
10423
10524
  let [content, ws, close] = $3;
10424
10525
  if (content.type === "RangeExpression")
10425
10526
  return prepend(ws, content);
10426
- let children;
10427
- Array.isArray(content) ? children = [open, ...content, ...ws, close] : children = [open, content, ...ws, close];
10428
- let names = children.flatMap((c) => c?.names || []);
10527
+ let ref2;
10528
+ Array.isArray(content) ? ref2 = [open, ...content, ...ws, close] : ref2 = [open, content, ...ws, close];
10529
+ let children = ref2, names = children.flatMap((c) => c?.names || []);
10429
10530
  return {
10430
10531
  type: "ArrayExpression",
10431
10532
  children,
@@ -10483,7 +10584,7 @@ ${js}`
10483
10584
  function OptionalRangeEnd(ctx, state2) {
10484
10585
  return (0, import_lib2.$EVENT_C)(ctx, state2, "OptionalRangeEnd", OptionalRangeEnd$$);
10485
10586
  }
10486
- var RangeEnd$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R21, "RangeEnd /([<>])(=?)|([\u2264\u2265])/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10587
+ var RangeEnd$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R22, "RangeEnd /([<>])(=?)|([\u2264\u2265])/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10487
10588
  let dir = $1, equal = $2, unicode = $3;
10488
10589
  return unicode && (equal = "=", unicode === "\u2264" ? dir = "<" : unicode === "\u2265" && (dir = ">")), {
10489
10590
  increasing: dir === "<",
@@ -10612,7 +10713,8 @@ ${js}`
10612
10713
  }
10613
10714
  var NestedBulletedArray$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$S)(InsertSpace, InsertOpenBracket), PushIndent, AllowPipeline, (0, import_lib2.$Q)(NestedArrayBullet), RestorePipeline, InsertCloseBracket, PopIndent), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
10614
10715
  var open = $1, content = $4, close = $6;
10615
- if (!content.length) return $skip;
10716
+ if (!content.length)
10717
+ return $skip;
10616
10718
  content = content.flat();
10617
10719
  let last = content[content.length - 1];
10618
10720
  return last.children?.at(-1)?.implicit && (last.children = last.children.slice(0, -1)), {
@@ -10625,7 +10727,8 @@ ${js}`
10625
10727
  }
10626
10728
  var BulletedArray$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(InsertOpenBracket, (0, import_lib2.$E)((0, import_lib2.$S)(ArrayBullet, (0, import_lib2.$Q)(NestedArrayBullet))), InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3) {
10627
10729
  var open = $1, content = $2, close = $3;
10628
- if (!content) return $skip;
10730
+ if (!content)
10731
+ return $skip;
10629
10732
  content = [
10630
10733
  ...trimFirstSpace(content[0]),
10631
10734
  // replace first space with bracket
@@ -10649,9 +10752,11 @@ ${js}`
10649
10752
  }
10650
10753
  var ArrayBullet$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(BulletIndent, (0, import_lib2.$E)((0, import_lib2.$S)(ElementList, ArrayBulletDelimiter)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
10651
10754
  var bullet = $1, content = $2;
10652
- if (!content) return $skip;
10755
+ if (!content)
10756
+ return $skip;
10653
10757
  let [list, delimiter] = content;
10654
- if (!list.length) return $skip;
10758
+ if (!list.length)
10759
+ return $skip;
10655
10760
  if (list = list.slice(), list[0] = prepend(bullet, list[0]), delimiter) {
10656
10761
  let last = list.length - 1;
10657
10762
  list[last] = append(list[last], delimiter);
@@ -10678,7 +10783,7 @@ ${js}`
10678
10783
  function BulletIndent(ctx, state2) {
10679
10784
  return (0, import_lib2.$EVENT)(ctx, state2, "BulletIndent", BulletIndent$0);
10680
10785
  }
10681
- var Bullet$0 = (0, import_lib2.$S)((0, import_lib2.$EXPECT)($L47, 'Bullet "\u2022"'), (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R22, "Bullet /[ \\t]*/"))), Bullet$1 = (0, import_lib2.$S)((0, import_lib2.$EXPECT)($L7, 'Bullet "."'), (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R23, "Bullet /[ \\t]+/"))), Bullet$$ = [Bullet$0, Bullet$1];
10786
+ var Bullet$0 = (0, import_lib2.$S)((0, import_lib2.$EXPECT)($L47, 'Bullet "\u2022"'), (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R23, "Bullet /[ \\t]*/"))), Bullet$1 = (0, import_lib2.$S)((0, import_lib2.$EXPECT)($L7, 'Bullet "."'), (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R24, "Bullet /[ \\t]+/"))), Bullet$$ = [Bullet$0, Bullet$1];
10682
10787
  function Bullet(ctx, state2) {
10683
10788
  return (0, import_lib2.$EVENT_C)(ctx, state2, "Bullet", Bullet$$);
10684
10789
  }
@@ -10700,7 +10805,8 @@ ${js}`
10700
10805
  }
10701
10806
  var BracedObjectLiteral$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(OpenBrace, CloseBrace, ApplicationStart, AllowAll, (0, import_lib2.$E)((0, import_lib2.$C)(NestedPropertyDefinitions, SingleLineObjectProperties)), RestoreAll), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
10702
10807
  var open = $1, close = $2, properties = $5;
10703
- if (!properties?.length) return $skip;
10808
+ if (!properties?.length)
10809
+ return $skip;
10704
10810
  let last = properties[properties.length - 1];
10705
10811
  return last.delim?.implicit && (last = {
10706
10812
  ...last,
@@ -10714,7 +10820,8 @@ ${js}`
10714
10820
  };
10715
10821
  }), BracedObjectLiteral$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(OpenBrace, AllowAll, (0, import_lib2.$E)((0, import_lib2.$S)(BracedObjectLiteralContent, __, CloseBrace)), RestoreAll), function($skip, $loc, $0, $1, $2, $3, $4) {
10716
10822
  var open = $1;
10717
- if (!$3) return $skip;
10823
+ if (!$3)
10824
+ return $skip;
10718
10825
  let [properties, ...close] = $3;
10719
10826
  return {
10720
10827
  type: "ObjectExpression",
@@ -10850,7 +10957,7 @@ ${js}`
10850
10957
  function InlineObjectPropertyDelimiter(ctx, state2) {
10851
10958
  return (0, import_lib2.$EVENT)(ctx, state2, "InlineObjectPropertyDelimiter", InlineObjectPropertyDelimiter$0);
10852
10959
  }
10853
- var ObjectPropertyDelimiter$0 = (0, import_lib2.$S)((0, import_lib2.$E)(_), Comma), ObjectPropertyDelimiter$1 = (0, import_lib2.$Y)((0, import_lib2.$S)(__, (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R13, "ObjectPropertyDelimiter /[)\\]}]/")))), ObjectPropertyDelimiter$2 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$Y)(EOS), InsertComma), function($skip, $loc, $0, $1, $2) {
10960
+ var ObjectPropertyDelimiter$0 = (0, import_lib2.$S)((0, import_lib2.$E)(_), Comma), ObjectPropertyDelimiter$1 = (0, import_lib2.$Y)((0, import_lib2.$S)(__, (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R14, "ObjectPropertyDelimiter /[)\\]}]/")))), ObjectPropertyDelimiter$2 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$Y)(EOS), InsertComma), function($skip, $loc, $0, $1, $2) {
10854
10961
  return { ...$2, implicit: !0 };
10855
10962
  }), ObjectPropertyDelimiter$$ = [ObjectPropertyDelimiter$0, ObjectPropertyDelimiter$1, ObjectPropertyDelimiter$2];
10856
10963
  function ObjectPropertyDelimiter(ctx, state2) {
@@ -10880,7 +10987,7 @@ ${js}`
10880
10987
  }), PropertyDefinition$1 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), NamedProperty), function($skip, $loc, $0, $1, $2) {
10881
10988
  var ws = $1, prop = $2;
10882
10989
  return prepend(ws, prop);
10883
- }), PropertyDefinition$2 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), (0, import_lib2.$TEXT)((0, import_lib2.$EXPECT)($R24, "PropertyDefinition /[!+-]?/")), PropertyName, (0, import_lib2.$Y)(ObjectPropertyDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
10990
+ }), PropertyDefinition$2 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), (0, import_lib2.$TEXT)((0, import_lib2.$EXPECT)($R25, "PropertyDefinition /[!+-]?/")), PropertyName, (0, import_lib2.$Y)(ObjectPropertyDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
10884
10991
  var ws = $1, toggle = $2, id = $3;
10885
10992
  if (toggle) {
10886
10993
  let value = toggle === "+" ? "true" : "false";
@@ -10904,7 +11011,7 @@ ${js}`
10904
11011
  var ws = $1, def = $2;
10905
11012
  return def.type === "MultiMethodDefinition" ? {
10906
11013
  children: def.children.flatMap((c, i) => i ? [",", c] : [c])
10907
- } : !def.block || def.block.empty ? $skip : prepend(ws, def);
11014
+ } : def.block && !def.block.empty ? prepend(ws, def) : $skip;
10908
11015
  }), PropertyDefinition$4 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), DotDotDot, Expression), function($skip, $loc, $0, $1, $2, $3) {
10909
11016
  var ws = $1, dots = $2, exp = $3;
10910
11017
  return {
@@ -10916,7 +11023,7 @@ ${js}`
10916
11023
  };
10917
11024
  }), PropertyDefinition$5 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), (0, import_lib2.$N)((0, import_lib2.$C)(EOS, (0, import_lib2.$EXPECT)($L7, 'PropertyDefinition "."'))), (0, import_lib2.$Q)(UnaryOp), CallExpression, (0, import_lib2.$E)(UnaryPostfix)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
10918
11025
  var ws = $1, pre = $3, value = $4, post = $5;
10919
- if (!pre.length && !post)
11026
+ if (!(pre.length || post))
10920
11027
  switch (value.type) {
10921
11028
  // `{identifier}` remains `{identifier}`, the one shorthand JS supports
10922
11029
  case "Identifier":
@@ -10932,7 +11039,8 @@ ${js}`
10932
11039
  }), [first, ...value.properties.slice(1)];
10933
11040
  }
10934
11041
  let last = lastAccessInCallExpression(value);
10935
- if (!last) return $skip;
11042
+ if (!last)
11043
+ return $skip;
10936
11044
  let name, ref, refAssignment, { expression, type } = last;
10937
11045
  if (type === "Index")
10938
11046
  ({ ref, refAssignment } = maybeRefAssignment(expression)), refAssignment ? (name = {
@@ -10950,7 +11058,8 @@ ${js}`
10950
11058
  children: last.children,
10951
11059
  implicit: !0
10952
11060
  };
10953
- else if ({ name } = last, !name) return $skip;
11061
+ else if ({ name } = last, !name)
11062
+ return $skip;
10954
11063
  return name[0] === "#" && (name = name.slice(1)), {
10955
11064
  type: "Property",
10956
11065
  children: [ws, name, ": ", processUnaryExpression(pre, value, post)],
@@ -10988,7 +11097,7 @@ ${js}`
10988
11097
  function SnugNamedProperty(ctx, state2) {
10989
11098
  return (0, import_lib2.$EVENT)(ctx, state2, "SnugNamedProperty", SnugNamedProperty$0);
10990
11099
  }
10991
- var PropertyName$0 = NumericLiteral, PropertyName$1 = ComputedPropertyName, PropertyName$2 = StringLiteral, PropertyName$3 = (0, import_lib2.$TV)((0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$E)(IdentifierName), (0, import_lib2.$EXPECT)($L23, 'PropertyName "-"'), (0, import_lib2.$EXPECT)($R25, "PropertyName /(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"))), function($skip, $loc, $0, $1) {
11100
+ var PropertyName$0 = NumericLiteral, PropertyName$1 = ComputedPropertyName, PropertyName$2 = StringLiteral, PropertyName$3 = (0, import_lib2.$TV)((0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$E)(IdentifierName), (0, import_lib2.$EXPECT)($L23, 'PropertyName "-"'), (0, import_lib2.$EXPECT)($R26, "PropertyName /(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"))), function($skip, $loc, $0, $1) {
10992
11101
  return {
10993
11102
  token: `"${$1}"`,
10994
11103
  $loc
@@ -11012,7 +11121,7 @@ ${js}`
11012
11121
  expression,
11013
11122
  implicit: !0
11014
11123
  };
11015
- }), ComputedPropertyName$2 = (0, import_lib2.$TS)((0, import_lib2.$S)(InsertOpenBracket, (0, import_lib2.$EXPECT)($R14, "ComputedPropertyName /[+-]/"), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
11124
+ }), ComputedPropertyName$2 = (0, import_lib2.$TS)((0, import_lib2.$S)(InsertOpenBracket, (0, import_lib2.$EXPECT)($R15, "ComputedPropertyName /[+-]/"), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
11016
11125
  let expression = [$2, $3];
11017
11126
  return {
11018
11127
  type: "ComputedPropertyName",
@@ -11062,7 +11171,8 @@ ${js}`
11062
11171
  };
11063
11172
  }), MethodDefinition$2 = (0, import_lib2.$TS)((0, import_lib2.$S)(GetOrSet, (0, import_lib2.$E)(_), ForbidIndentedApplication, (0, import_lib2.$E)((0, import_lib2.$S)(MemberBase, (0, import_lib2.$Q)(CallExpressionRest), (0, import_lib2.$E)(ReturnTypeSuffix))), RestoreIndentedApplication, (0, import_lib2.$E)(BracedBlock)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
11064
11173
  var kind = $1, ws = $2, content = $4, block = $6;
11065
- if (!content) return $skip;
11174
+ if (!content)
11175
+ return $skip;
11066
11176
  let [base, rest, returnType] = content, value = [base, rest];
11067
11177
  if (!rest.length) {
11068
11178
  let name2;
@@ -11070,7 +11180,8 @@ ${js}`
11070
11180
  let lastAccess2 = lastAccessInCallExpression(base);
11071
11181
  lastAccess2 && ({ name: name2 } = lastAccess2);
11072
11182
  }
11073
- if (name2 || ({ name: name2 } = base), !name2) return $skip;
11183
+ if (name2 || ({ name: name2 } = base), !name2)
11184
+ return $skip;
11074
11185
  name2[0] === "#" && (name2 = name2.slice(1));
11075
11186
  let autoReturn = !block || base.type !== "Identifier";
11076
11187
  return makeGetterMethod(name2, ws, base, returnType, block, kind, autoReturn);
@@ -11267,7 +11378,7 @@ ${js}`
11267
11378
  return "??=";
11268
11379
  }), AssignmentOpSymbol$23 = (0, import_lib2.$T)((0, import_lib2.$EXPECT)($L72, 'AssignmentOpSymbol "?="'), function(value) {
11269
11380
  return "??=";
11270
- }), AssignmentOpSymbol$24 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L3, 'AssignmentOpSymbol "="'), (0, import_lib2.$N)((0, import_lib2.$EXPECT)($R26, "AssignmentOpSymbol /[=>]/"))), function(value) {
11381
+ }), AssignmentOpSymbol$24 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L3, 'AssignmentOpSymbol "="'), (0, import_lib2.$N)((0, import_lib2.$EXPECT)($R27, "AssignmentOpSymbol /[=>]/"))), function(value) {
11271
11382
  return value[0];
11272
11383
  }), AssignmentOpSymbol$25 = (0, import_lib2.$T)((0, import_lib2.$S)(CoffeeWordAssignmentOp), function(value) {
11273
11384
  return value[0];
@@ -11302,7 +11413,7 @@ ${js}`
11302
11413
  function IdentifierBinaryOp(ctx, state2) {
11303
11414
  return (0, import_lib2.$EVENT)(ctx, state2, "IdentifierBinaryOp", IdentifierBinaryOp$0);
11304
11415
  }
11305
- var BinaryOp$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R27, "BinaryOp /(?=\\p{ID_Start}|[_$^\u226A\u226B\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2A76\u2A75\u2016\u2047&|*\\/!?%\xF7<>\u29FA+-])/"), _BinaryOp), function(value) {
11416
+ var BinaryOp$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R28, "BinaryOp /(?=\\p{ID_Start}|[_$^\u226A\u226B\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2A76\u2A75\u2016\u2047&|*\\/!?%\xF7<>\u29FA+-])/"), _BinaryOp), function(value) {
11306
11417
  var op = value[1];
11307
11418
  return op;
11308
11419
  });
@@ -11398,7 +11509,7 @@ ${js}`
11398
11509
  special: !0,
11399
11510
  prec: "^^"
11400
11511
  };
11401
- }), BinaryOpSymbol$36 = (0, import_lib2.$TV)((0, import_lib2.$C)((0, import_lib2.$EXPECT)($R28, "BinaryOpSymbol /!\\^\\^?/"), (0, import_lib2.$S)((0, import_lib2.$EXPECT)($L109, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
11512
+ }), BinaryOpSymbol$36 = (0, import_lib2.$TV)((0, import_lib2.$C)((0, import_lib2.$EXPECT)($R29, "BinaryOpSymbol /!\\^\\^?/"), (0, import_lib2.$S)((0, import_lib2.$EXPECT)($L109, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
11402
11513
  return {
11403
11514
  call: getHelperRef("xnor"),
11404
11515
  special: !0,
@@ -11533,16 +11644,16 @@ ${js}`
11533
11644
  function Xor(ctx, state2) {
11534
11645
  return (0, import_lib2.$EVENT_C)(ctx, state2, "Xor", Xor$$);
11535
11646
  }
11536
- var Xnor$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R28, "Xnor /!\\^\\^?/")), Xnor$1 = (0, import_lib2.$EXPECT)($L109, 'Xnor "xnor"'), Xnor$$ = [Xnor$0, Xnor$1];
11647
+ var Xnor$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R29, "Xnor /!\\^\\^?/")), Xnor$1 = (0, import_lib2.$EXPECT)($L109, 'Xnor "xnor"'), Xnor$$ = [Xnor$0, Xnor$1];
11537
11648
  function Xnor(ctx, state2) {
11538
11649
  return (0, import_lib2.$EVENT_C)(ctx, state2, "Xnor", Xnor$$);
11539
11650
  }
11540
- var UnaryOp$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R29, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11651
+ var UnaryOp$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R30, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11541
11652
  return { $loc, token: $0 };
11542
- }), UnaryOp$1 = AwaitOp, UnaryOp$2 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$C)(Delete, Void, Typeof), (0, import_lib2.$N)((0, import_lib2.$EXPECT)($R30, "UnaryOp /[:.]/")), (0, import_lib2.$E)(_)), function($skip, $loc, $0, $1, $2, $3) {
11653
+ }), UnaryOp$1 = AwaitOp, UnaryOp$2 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$C)(Delete, Void, Typeof), (0, import_lib2.$N)((0, import_lib2.$EXPECT)($R31, "UnaryOp /[:.]/")), (0, import_lib2.$E)(_)), function($skip, $loc, $0, $1, $2, $3) {
11543
11654
  var op = $1, ws = $3;
11544
11655
  return ws ? [op, ws] : [op, [" "]];
11545
- }), UnaryOp$3 = (0, import_lib2.$T)((0, import_lib2.$S)(Not, (0, import_lib2.$N)((0, import_lib2.$EXPECT)($R30, "UnaryOp /[:.]/")), (0, import_lib2.$E)((0, import_lib2.$EXPECT)($L17, 'UnaryOp " "')), (0, import_lib2.$E)(_)), function(value) {
11656
+ }), UnaryOp$3 = (0, import_lib2.$T)((0, import_lib2.$S)(Not, (0, import_lib2.$N)((0, import_lib2.$EXPECT)($R31, "UnaryOp /[:.]/")), (0, import_lib2.$E)((0, import_lib2.$EXPECT)($L17, 'UnaryOp " "')), (0, import_lib2.$E)(_)), function(value) {
11546
11657
  return [value[0], value[3]];
11547
11658
  }), UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
11548
11659
  function UnaryOp(ctx, state2) {
@@ -11609,7 +11720,7 @@ ${js}`
11609
11720
  function PostfixedCommaExpression(ctx, state2) {
11610
11721
  return (0, import_lib2.$EVENT_C)(ctx, state2, "PostfixedCommaExpression", PostfixedCommaExpression$$);
11611
11722
  }
11612
- var PostfixStatement$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R31, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
11723
+ var PostfixStatement$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R32, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
11613
11724
  return value[1];
11614
11725
  });
11615
11726
  function PostfixStatement(ctx, state2) {
@@ -11691,7 +11802,7 @@ ${js}`
11691
11802
  name: id.name,
11692
11803
  children: [id]
11693
11804
  };
11694
- }), LabelIdentifier$1 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R32, "LabelIdentifier /(?:loop|while|until|for|do)(?!\\p{ID_Continue})/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11805
+ }), LabelIdentifier$1 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R33, "LabelIdentifier /(?:loop|while|until|for|do)(?!\\p{ID_Continue})/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11695
11806
  return {
11696
11807
  type: "Label",
11697
11808
  special: $0,
@@ -11757,7 +11868,7 @@ ${js}`
11757
11868
  function IfClause(ctx, state2) {
11758
11869
  return (0, import_lib2.$EVENT)(ctx, state2, "IfClause", IfClause$0);
11759
11870
  }
11760
- var IterationStatement$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R33, "IterationStatement /(?=loop|comptime|do|for|until|while)/"), _IterationStatement), function(value) {
11871
+ var IterationStatement$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R34, "IterationStatement /(?=loop|comptime|do|for|until|while)/"), _IterationStatement), function(value) {
11761
11872
  return value[1];
11762
11873
  });
11763
11874
  function IterationStatement(ctx, state2) {
@@ -11917,7 +12028,8 @@ ${js}`
11917
12028
  }
11918
12029
  var ForStatementControlWithWhen$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(ForStatementControlWithReduction, (0, import_lib2.$E)(WhenCondition)), function($skip, $loc, $0, $1, $2) {
11919
12030
  var control = $1, condition = $2;
11920
- if (!condition) return control;
12031
+ if (!condition)
12032
+ return control;
11921
12033
  let expressions = [["", {
11922
12034
  type: "ContinueStatement",
11923
12035
  children: ["continue"]
@@ -12142,17 +12254,19 @@ ${js}`
12142
12254
  var SwitchStatement$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Switch, ForbidNewlineBinaryOp, (0, import_lib2.$E)((0, import_lib2.$C)(EmptyCondition, Condition)), RestoreNewlineBinaryOp, CaseBlock), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12143
12255
  var s = $1, condition = $3, caseBlock = $5;
12144
12256
  return condition ? (condition.type === "EmptyCondition" && caseBlock.clauses.forEach(({ cases }) => {
12145
- cases && cases.forEach((c) => {
12146
- let exp = c[1];
12147
- switch (exp.type) {
12148
- case "Identifier":
12149
- case "Literal":
12150
- c.splice(1, 0, "!");
12151
- break;
12152
- default:
12153
- c.splice(1, 1, "!(", exp, ")");
12154
- }
12155
- });
12257
+ if (cases)
12258
+ return cases.forEach((c) => {
12259
+ let exp = c[1];
12260
+ switch (exp.type) {
12261
+ case "Identifier":
12262
+ case "Literal": {
12263
+ c.splice(1, 0, "!");
12264
+ break;
12265
+ }
12266
+ default:
12267
+ c.splice(1, 1, "!(", exp, ")");
12268
+ }
12269
+ });
12156
12270
  }), {
12157
12271
  type: "SwitchStatement",
12158
12272
  children: [s, condition, caseBlock],
@@ -12259,7 +12373,8 @@ ${js}`
12259
12373
  }
12260
12374
  var PatternExpression$0 = BindingPattern, PatternExpression$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(ForbidIndentedApplication, (0, import_lib2.$E)((0, import_lib2.$S)((0, import_lib2.$E)((0, import_lib2.$S)(BindingIdentifier, (0, import_lib2.$E)(Caret))), (0, import_lib2.$P)(SingleLineBinaryOpRHS))), RestoreIndentedApplication), function($skip, $loc, $0, $1, $2, $3) {
12261
12375
  var body = $2;
12262
- if (!body) return $skip;
12376
+ if (!body)
12377
+ return $skip;
12263
12378
  let [named, rhs] = body, binding;
12264
12379
  return named && ([binding] = named), {
12265
12380
  type: "ConditionFragment",
@@ -12291,7 +12406,8 @@ ${js}`
12291
12406
  return (0, import_lib2.$EVENT_C)(ctx, state2, "ImpliedColon", ImpliedColon$$);
12292
12407
  }
12293
12408
  var IgnoreColon$0 = (0, import_lib2.$TV)((0, import_lib2.$E)((0, import_lib2.$S)((0, import_lib2.$E)(_), Colon)), function($skip, $loc, $0, $1) {
12294
- if ($1) return $1[0];
12409
+ if ($1)
12410
+ return $1[0];
12295
12411
  });
12296
12412
  function IgnoreColon(ctx, state2) {
12297
12413
  return (0, import_lib2.$EVENT)(ctx, state2, "IgnoreColon", IgnoreColon$0);
@@ -12478,7 +12594,8 @@ ${js}`
12478
12594
  return (0, import_lib2.$EVENT)(ctx, state2, "RestoreClassImplicitCall", RestoreClassImplicitCall$0);
12479
12595
  }
12480
12596
  var ClassImplicitCallForbidden$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'ClassImplicitCallForbidden ""'), function($skip, $loc, $0, $1) {
12481
- if (!state.classImplicitCallForbidden) return $skip;
12597
+ if (!state.classImplicitCallForbidden)
12598
+ return $skip;
12482
12599
  });
12483
12600
  function ClassImplicitCallForbidden(ctx, state2) {
12484
12601
  return (0, import_lib2.$EVENT)(ctx, state2, "ClassImplicitCallForbidden", ClassImplicitCallForbidden$0);
@@ -12502,7 +12619,8 @@ ${js}`
12502
12619
  return (0, import_lib2.$EVENT)(ctx, state2, "RestoreBracedApplication", RestoreBracedApplication$0);
12503
12620
  }
12504
12621
  var BracedApplicationAllowed$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'BracedApplicationAllowed ""'), function($skip, $loc, $0, $1) {
12505
- if (config.verbose && console.log("forbidBracedApplication:", state.forbidBracedApplication), state.bracedApplicationForbidden) return $skip;
12622
+ if (config.verbose && console.log("forbidBracedApplication:", state.forbidBracedApplication), state.bracedApplicationForbidden)
12623
+ return $skip;
12506
12624
  });
12507
12625
  function BracedApplicationAllowed(ctx, state2) {
12508
12626
  return (0, import_lib2.$EVENT)(ctx, state2, "BracedApplicationAllowed", BracedApplicationAllowed$0);
@@ -12526,7 +12644,8 @@ ${js}`
12526
12644
  return (0, import_lib2.$EVENT)(ctx, state2, "RestoreIndentedApplication", RestoreIndentedApplication$0);
12527
12645
  }
12528
12646
  var IndentedApplicationAllowed$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'IndentedApplicationAllowed ""'), function($skip, $loc, $0, $1) {
12529
- if (config.verbose && console.log("forbidIndentedApplication:", state.forbidIndentedApplication), state.indentedApplicationForbidden) return $skip;
12647
+ if (config.verbose && console.log("forbidIndentedApplication:", state.forbidIndentedApplication), state.indentedApplicationForbidden)
12648
+ return $skip;
12530
12649
  });
12531
12650
  function IndentedApplicationAllowed(ctx, state2) {
12532
12651
  return (0, import_lib2.$EVENT)(ctx, state2, "IndentedApplicationAllowed", IndentedApplicationAllowed$0);
@@ -12550,7 +12669,8 @@ ${js}`
12550
12669
  return (0, import_lib2.$EVENT)(ctx, state2, "RestoreTrailingMemberProperty", RestoreTrailingMemberProperty$0);
12551
12670
  }
12552
12671
  var TrailingMemberPropertyAllowed$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'TrailingMemberPropertyAllowed ""'), function($skip, $loc, $0, $1) {
12553
- if (config.verbose && console.log("forbidTrailingMemberProperty:", state.forbidTrailingMemberProperty), state.trailingMemberPropertyForbidden) return $skip;
12672
+ if (config.verbose && console.log("forbidTrailingMemberProperty:", state.forbidTrailingMemberProperty), state.trailingMemberPropertyForbidden)
12673
+ return $skip;
12554
12674
  });
12555
12675
  function TrailingMemberPropertyAllowed(ctx, state2) {
12556
12676
  return (0, import_lib2.$EVENT)(ctx, state2, "TrailingMemberPropertyAllowed", TrailingMemberPropertyAllowed$0);
@@ -12574,7 +12694,8 @@ ${js}`
12574
12694
  return (0, import_lib2.$EVENT)(ctx, state2, "RestoreNestedBinaryOp", RestoreNestedBinaryOp$0);
12575
12695
  }
12576
12696
  var NestedBinaryOpAllowed$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'NestedBinaryOpAllowed ""'), function($skip, $loc, $0, $1) {
12577
- if (config.verbose && console.log("forbidNestedBinaryOp:", state.forbidNestedBinaryOp), state.nestedBinaryOpForbidden) return $skip;
12697
+ if (config.verbose && console.log("forbidNestedBinaryOp:", state.forbidNestedBinaryOp), state.nestedBinaryOpForbidden)
12698
+ return $skip;
12578
12699
  });
12579
12700
  function NestedBinaryOpAllowed(ctx, state2) {
12580
12701
  return (0, import_lib2.$EVENT)(ctx, state2, "NestedBinaryOpAllowed", NestedBinaryOpAllowed$0);
@@ -12598,7 +12719,8 @@ ${js}`
12598
12719
  return (0, import_lib2.$EVENT)(ctx, state2, "RestoreNewlineBinaryOp", RestoreNewlineBinaryOp$0);
12599
12720
  }
12600
12721
  var NewlineBinaryOpAllowed$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'NewlineBinaryOpAllowed ""'), function($skip, $loc, $0, $1) {
12601
- if (config.verbose && console.log("forbidNewlineBinaryOp:", state.forbidNewlineBinaryOp), state.newlineBinaryOpForbidden) return $skip;
12722
+ if (config.verbose && console.log("forbidNewlineBinaryOp:", state.forbidNewlineBinaryOp), state.newlineBinaryOpForbidden)
12723
+ return $skip;
12602
12724
  });
12603
12725
  function NewlineBinaryOpAllowed(ctx, state2) {
12604
12726
  return (0, import_lib2.$EVENT)(ctx, state2, "NewlineBinaryOpAllowed", NewlineBinaryOpAllowed$0);
@@ -12622,7 +12744,8 @@ ${js}`
12622
12744
  return (0, import_lib2.$EVENT)(ctx, state2, "RestoreImplicitFragment", RestoreImplicitFragment$0);
12623
12745
  }
12624
12746
  var ImplicitFragmentAllowed$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'ImplicitFragmentAllowed ""'), function($skip, $loc, $0, $1) {
12625
- if (config.verbose && console.log("forbidImplicitFragment:", state.forbidImplicitFragment), state.implicitFragmentForbidden) return $skip;
12747
+ if (config.verbose && console.log("forbidImplicitFragment:", state.forbidImplicitFragment), state.implicitFragmentForbidden)
12748
+ return $skip;
12626
12749
  });
12627
12750
  function ImplicitFragmentAllowed(ctx, state2) {
12628
12751
  return (0, import_lib2.$EVENT)(ctx, state2, "ImplicitFragmentAllowed", ImplicitFragmentAllowed$0);
@@ -12646,7 +12769,8 @@ ${js}`
12646
12769
  return (0, import_lib2.$EVENT)(ctx, state2, "RestorePipeline", RestorePipeline$0);
12647
12770
  }
12648
12771
  var PipelineAllowed$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'PipelineAllowed ""'), function($skip, $loc, $0, $1) {
12649
- if (config.verbose && console.log("forbidPipeline:", state.forbidPipeline), state.pipelineForbidden) return $skip;
12772
+ if (config.verbose && console.log("forbidPipeline:", state.forbidPipeline), state.pipelineForbidden)
12773
+ return $skip;
12650
12774
  });
12651
12775
  function PipelineAllowed(ctx, state2) {
12652
12776
  return (0, import_lib2.$EVENT)(ctx, state2, "PipelineAllowed", PipelineAllowed$0);
@@ -12810,7 +12934,7 @@ ${js}`
12810
12934
  var i = $1, behavior = $3, ws1 = $4, imports = $5, ws2 = $6, from = $7;
12811
12935
  let errors = [];
12812
12936
  return behavior?.error && errors.push(behavior.error), imports.specifiers.forEach((spec) => {
12813
- setOperatorBehavior(spec.binding.name, spec.behavior ?? behavior), spec.behavior?.error && errors.push(spec.behavior.error);
12937
+ if (setOperatorBehavior(spec.binding.name, spec.behavior ?? behavior), spec.behavior?.error) return errors.push(spec.behavior.error);
12814
12938
  }), {
12815
12939
  type: "ImportDeclaration",
12816
12940
  children: [i, ...errors, trimFirstSpace(ws1), imports, ws2, from],
@@ -12857,7 +12981,7 @@ ${js}`
12857
12981
  var from = $1, fws = $2, i = $3, iws = $4, behavior = $6, ows = $7, imports = $8;
12858
12982
  let errors = [];
12859
12983
  return behavior?.error && errors.push(behavior.error), imports.specifiers.forEach((spec) => {
12860
- setOperatorBehavior(spec.binding.name, spec.behavior ?? behavior), spec.behavior?.error && errors.push(spec.behavior.error);
12984
+ if (setOperatorBehavior(spec.binding.name, spec.behavior ?? behavior), spec.behavior?.error) return errors.push(spec.behavior.error);
12861
12985
  }), {
12862
12986
  type: "ImportDeclaration",
12863
12987
  children: [i, iws, ...errors, trimFirstSpace(ows), imports, fws, from],
@@ -13072,11 +13196,7 @@ ${js}`
13072
13196
  }
13073
13197
  var ModuleSpecifier$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(UnprocessedModuleSpecifier, (0, import_lib2.$E)(ImportAssertion)), function($skip, $loc, $0, $1, $2) {
13074
13198
  var module = $1, assertion = $2;
13075
- let { token } = module;
13076
- return config.rewriteTsImports && (token = token.replace(/\.([mc])?ts(['"])$/, ".$1js$2")), config.rewriteCivetImports && (token = token.replace(
13077
- /\.civet(['"])$/,
13078
- `${config.rewriteCivetImports.replace(/\$/g, "$$")}$1`
13079
- )), token !== module.token && (module = { ...module, token, input: module.token }), {
13199
+ return module = rewriteModuleSpecifier(module), {
13080
13200
  type: "ModuleSpecifier",
13081
13201
  module,
13082
13202
  assertion,
@@ -13090,7 +13210,7 @@ ${js}`
13090
13210
  function UnprocessedModuleSpecifier(ctx, state2) {
13091
13211
  return (0, import_lib2.$EVENT_C)(ctx, state2, "UnprocessedModuleSpecifier", UnprocessedModuleSpecifier$$);
13092
13212
  }
13093
- var UnquotedSpecifier$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($R34, `UnquotedSpecifier /[^;"'\\s=>]+/`), function($skip, $loc, $0, $1) {
13213
+ var UnquotedSpecifier$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($R35, `UnquotedSpecifier /[^;"'\\s=>]+/`), function($skip, $loc, $0, $1) {
13094
13214
  var spec = $0;
13095
13215
  return { $loc, token: `"${spec}"` };
13096
13216
  });
@@ -13189,9 +13309,10 @@ ${js}`
13189
13309
  }
13190
13310
  var Declaration$0 = (0, import_lib2.$TV)(ImportDeclaration, function($skip, $loc, $0, $1) {
13191
13311
  var decl = $0;
13192
- if (decl.ts || decl.module || !decl.imports || !decl.from) return $skip;
13312
+ if (decl.ts || decl.module || !decl.imports || !decl.from)
13313
+ return $skip;
13193
13314
  let { imports } = decl;
13194
- return !imports.binding && !imports.specifiers ? $skip : dynamizeImportDeclaration(decl);
13315
+ return imports.binding || imports.specifiers ? dynamizeImportDeclaration(decl) : $skip;
13195
13316
  }), Declaration$1 = HoistableDeclaration, Declaration$2 = ClassDeclaration, Declaration$3 = (0, import_lib2.$TV)(LexicalDeclaration, function($skip, $loc, $0, $1) {
13196
13317
  var d = $0;
13197
13318
  return d.thisAssignments?.length ? {
@@ -13221,11 +13342,16 @@ ${js}`
13221
13342
  splices: bindings.flatMap((b) => b.splices),
13222
13343
  thisAssignments: bindings.flatMap((b) => b.thisAssignments)
13223
13344
  };
13224
- }), LexicalDeclaration$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(Loc, (0, import_lib2.$C)(BindingPattern, BindingIdentifier), (0, import_lib2.$E)(TypeSuffix), __, (0, import_lib2.$C)(ConstAssignment, LetAssignment), MaybeNestedPostfixedCommaExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
13225
- var loc = $1, assign = $5;
13345
+ }), LexicalDeclaration$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(Loc, (0, import_lib2.$C)(BindingPattern, BindingIdentifier), (0, import_lib2.$E)(TypeSuffix), NotDedented, (0, import_lib2.$C)(ConstAssignment, LetAssignment), MaybeNestedPostfixedCommaExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
13346
+ var loc = $1, pattern = $2, typeSuffix = $3, ws = $4, assign = $5, e = $6;
13226
13347
  return processAssignmentDeclaration(
13227
13348
  { $loc: loc, token: assign.decl },
13228
- ...$0.slice(1)
13349
+ // like InsertConst or InsertLet
13350
+ pattern,
13351
+ typeSuffix,
13352
+ ws,
13353
+ assign,
13354
+ e
13229
13355
  );
13230
13356
  }), LexicalDeclaration$$ = [LexicalDeclaration$0, LexicalDeclaration$1];
13231
13357
  function LexicalDeclaration(ctx, state2) {
@@ -13309,7 +13435,7 @@ ${js}`
13309
13435
  function VariableDeclarationList(ctx, state2) {
13310
13436
  return (0, import_lib2.$EVENT)(ctx, state2, "VariableDeclarationList", VariableDeclarationList$0);
13311
13437
  }
13312
- var NumericLiteral$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R35, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
13438
+ var NumericLiteral$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R36, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
13313
13439
  var token = $2;
13314
13440
  return { type: "NumericLiteral", $loc, token };
13315
13441
  });
@@ -13320,33 +13446,33 @@ ${js}`
13320
13446
  function NumericLiteralKind(ctx, state2) {
13321
13447
  return (0, import_lib2.$EVENT_C)(ctx, state2, "NumericLiteralKind", NumericLiteralKind$$);
13322
13448
  }
13323
- var DecimalBigIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R36, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
13449
+ var DecimalBigIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R37, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
13324
13450
  function DecimalBigIntegerLiteral(ctx, state2) {
13325
13451
  return (0, import_lib2.$EVENT)(ctx, state2, "DecimalBigIntegerLiteral", DecimalBigIntegerLiteral$0);
13326
13452
  }
13327
- var DecimalLiteral$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$TEXT)((0, import_lib2.$EXPECT)($R37, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), (0, import_lib2.$N)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L7, 'DecimalLiteral "."'), ExponentPart))), function($skip, $loc, $0, $1, $2) {
13453
+ var DecimalLiteral$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$TEXT)((0, import_lib2.$EXPECT)($R38, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), (0, import_lib2.$N)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L7, 'DecimalLiteral "."'), ExponentPart))), function($skip, $loc, $0, $1, $2) {
13328
13454
  return $1 + ".";
13329
- }), DecimalLiteral$1 = (0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R38, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), (0, import_lib2.$E)(ExponentPart))), DecimalLiteral$2 = (0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R39, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), (0, import_lib2.$E)(ExponentPart))), DecimalLiteral$$ = [DecimalLiteral$0, DecimalLiteral$1, DecimalLiteral$2];
13455
+ }), DecimalLiteral$1 = (0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R39, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), (0, import_lib2.$E)(ExponentPart))), DecimalLiteral$2 = (0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R40, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), (0, import_lib2.$E)(ExponentPart))), DecimalLiteral$$ = [DecimalLiteral$0, DecimalLiteral$1, DecimalLiteral$2];
13330
13456
  function DecimalLiteral(ctx, state2) {
13331
13457
  return (0, import_lib2.$EVENT_C)(ctx, state2, "DecimalLiteral", DecimalLiteral$$);
13332
13458
  }
13333
- var ExponentPart$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R40, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
13459
+ var ExponentPart$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R41, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
13334
13460
  function ExponentPart(ctx, state2) {
13335
13461
  return (0, import_lib2.$EVENT)(ctx, state2, "ExponentPart", ExponentPart$0);
13336
13462
  }
13337
- var BinaryIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R41, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
13463
+ var BinaryIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R42, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
13338
13464
  function BinaryIntegerLiteral(ctx, state2) {
13339
13465
  return (0, import_lib2.$EVENT)(ctx, state2, "BinaryIntegerLiteral", BinaryIntegerLiteral$0);
13340
13466
  }
13341
- var OctalIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R42, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
13467
+ var OctalIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R43, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
13342
13468
  function OctalIntegerLiteral(ctx, state2) {
13343
13469
  return (0, import_lib2.$EVENT)(ctx, state2, "OctalIntegerLiteral", OctalIntegerLiteral$0);
13344
13470
  }
13345
- var HexIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R43, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
13471
+ var HexIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R44, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
13346
13472
  function HexIntegerLiteral(ctx, state2) {
13347
13473
  return (0, import_lib2.$EVENT)(ctx, state2, "HexIntegerLiteral", HexIntegerLiteral$0);
13348
13474
  }
13349
- var IntegerLiteral$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R44, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
13475
+ var IntegerLiteral$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R45, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
13350
13476
  var token = $2;
13351
13477
  return { $loc, token };
13352
13478
  });
@@ -13357,7 +13483,7 @@ ${js}`
13357
13483
  function IntegerLiteralKind(ctx, state2) {
13358
13484
  return (0, import_lib2.$EVENT_C)(ctx, state2, "IntegerLiteralKind", IntegerLiteralKind$$);
13359
13485
  }
13360
- var DecimalIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R45, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
13486
+ var DecimalIntegerLiteral$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R46, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
13361
13487
  function DecimalIntegerLiteral(ctx, state2) {
13362
13488
  return (0, import_lib2.$EVENT)(ctx, state2, "DecimalIntegerLiteral", DecimalIntegerLiteral$0);
13363
13489
  }
@@ -13379,19 +13505,19 @@ ${js}`
13379
13505
  function StringLiteral(ctx, state2) {
13380
13506
  return (0, import_lib2.$EVENT_C)(ctx, state2, "StringLiteral", StringLiteral$$);
13381
13507
  }
13382
- var DoubleStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R46, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13508
+ var DoubleStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R47, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13383
13509
  return { $loc, token: $0 };
13384
13510
  });
13385
13511
  function DoubleStringCharacters(ctx, state2) {
13386
13512
  return (0, import_lib2.$EVENT)(ctx, state2, "DoubleStringCharacters", DoubleStringCharacters$0);
13387
13513
  }
13388
- var SingleStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R47, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13514
+ var SingleStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R48, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13389
13515
  return { $loc, token: $0 };
13390
13516
  });
13391
13517
  function SingleStringCharacters(ctx, state2) {
13392
13518
  return (0, import_lib2.$EVENT)(ctx, state2, "SingleStringCharacters", SingleStringCharacters$0);
13393
13519
  }
13394
- var SingleLineStringLiteral$0 = (0, import_lib2.$TV)((0, import_lib2.$C)((0, import_lib2.$TEXT)((0, import_lib2.$S)(DoubleQuote, (0, import_lib2.$EXPECT)($R48, 'SingleLineStringLiteral /(?:\\\\.|[^"\\n])*/'), DoubleQuote)), (0, import_lib2.$TEXT)((0, import_lib2.$S)(SingleQuote, (0, import_lib2.$EXPECT)($R49, "SingleLineStringLiteral /(?:\\\\.|[^'\\n])*/"), SingleQuote))), function($skip, $loc, $0, $1) {
13520
+ var SingleLineStringLiteral$0 = (0, import_lib2.$TV)((0, import_lib2.$C)((0, import_lib2.$TEXT)((0, import_lib2.$S)(DoubleQuote, (0, import_lib2.$EXPECT)($R49, 'SingleLineStringLiteral /(?:\\\\.|[^"\\n])*/'), DoubleQuote)), (0, import_lib2.$TEXT)((0, import_lib2.$S)(SingleQuote, (0, import_lib2.$EXPECT)($R50, "SingleLineStringLiteral /(?:\\\\.|[^'\\n])*/"), SingleQuote))), function($skip, $loc, $0, $1) {
13395
13521
  return {
13396
13522
  type: "StringLiteral",
13397
13523
  token: $1,
@@ -13401,7 +13527,7 @@ ${js}`
13401
13527
  function SingleLineStringLiteral(ctx, state2) {
13402
13528
  return (0, import_lib2.$EVENT)(ctx, state2, "SingleLineStringLiteral", SingleLineStringLiteral$0);
13403
13529
  }
13404
- var UnclosedSingleLineStringLiteral$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$C)((0, import_lib2.$TEXT)((0, import_lib2.$S)(DoubleQuote, (0, import_lib2.$EXPECT)($R48, 'UnclosedSingleLineStringLiteral /(?:\\\\.|[^"\\n])*/'))), (0, import_lib2.$TEXT)((0, import_lib2.$S)(SingleQuote, (0, import_lib2.$EXPECT)($R49, "UnclosedSingleLineStringLiteral /(?:\\\\.|[^'\\n])*/")))), (0, import_lib2.$Y)(EOS)), function($skip, $loc, $0, $1, $2) {
13530
+ var UnclosedSingleLineStringLiteral$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$C)((0, import_lib2.$TEXT)((0, import_lib2.$S)(DoubleQuote, (0, import_lib2.$EXPECT)($R49, 'UnclosedSingleLineStringLiteral /(?:\\\\.|[^"\\n])*/'))), (0, import_lib2.$TEXT)((0, import_lib2.$S)(SingleQuote, (0, import_lib2.$EXPECT)($R50, "UnclosedSingleLineStringLiteral /(?:\\\\.|[^'\\n])*/")))), (0, import_lib2.$Y)(EOS)), function($skip, $loc, $0, $1, $2) {
13405
13531
  return [
13406
13532
  {
13407
13533
  type: "StringLiteral",
@@ -13425,19 +13551,19 @@ ${js}`
13425
13551
  function TripleDoubleStringContents(ctx, state2) {
13426
13552
  return (0, import_lib2.$EVENT_C)(ctx, state2, "TripleDoubleStringContents", TripleDoubleStringContents$$);
13427
13553
  }
13428
- var CoffeeTripleDoubleStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R50, 'CoffeeTripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13554
+ var CoffeeTripleDoubleStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R51, 'CoffeeTripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13429
13555
  return { $loc, token: $0 };
13430
13556
  });
13431
13557
  function CoffeeTripleDoubleStringCharacters(ctx, state2) {
13432
13558
  return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeTripleDoubleStringCharacters", CoffeeTripleDoubleStringCharacters$0);
13433
13559
  }
13434
- var TripleDoubleStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R51, 'TripleDoubleStringCharacters /(?:"(?!"")|\\\\.|[^"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13560
+ var TripleDoubleStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R52, 'TripleDoubleStringCharacters /(?:"(?!"")|\\\\.|[^"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13435
13561
  return { $loc, token: $0 };
13436
13562
  });
13437
13563
  function TripleDoubleStringCharacters(ctx, state2) {
13438
13564
  return (0, import_lib2.$EVENT)(ctx, state2, "TripleDoubleStringCharacters", TripleDoubleStringCharacters$0);
13439
13565
  }
13440
- var TripleSingleStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R52, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13566
+ var TripleSingleStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R53, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13441
13567
  return { $loc, token: $0 };
13442
13568
  });
13443
13569
  function TripleSingleStringCharacters(ctx, state2) {
@@ -13456,7 +13582,7 @@ ${js}`
13456
13582
  function CoffeeInterpolatedDoubleQuotedString(ctx, state2) {
13457
13583
  return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeInterpolatedDoubleQuotedString", CoffeeInterpolatedDoubleQuotedString$0);
13458
13584
  }
13459
- var CoffeeDoubleQuotedStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R53, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13585
+ var CoffeeDoubleQuotedStringCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R54, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13460
13586
  return { $loc, token: $0 };
13461
13587
  });
13462
13588
  function CoffeeDoubleQuotedStringCharacters(ctx, state2) {
@@ -13479,7 +13605,7 @@ ${js}`
13479
13605
  function RegularExpressionClass(ctx, state2) {
13480
13606
  return (0, import_lib2.$EVENT)(ctx, state2, "RegularExpressionClass", RegularExpressionClass$0);
13481
13607
  }
13482
- var RegularExpressionClassCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R54, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13608
+ var RegularExpressionClassCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R55, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13483
13609
  return { $loc, token: $0 };
13484
13610
  });
13485
13611
  function RegularExpressionClassCharacters(ctx, state2) {
@@ -13525,7 +13651,7 @@ ${js}`
13525
13651
  return { type: "Substitution", children: value[1] };
13526
13652
  }), HeregexPart$2 = (0, import_lib2.$T)((0, import_lib2.$S)(TemplateSubstitution), function(value) {
13527
13653
  return { type: "Substitution", children: value[0] };
13528
- }), HeregexPart$3 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R55, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13654
+ }), HeregexPart$3 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R56, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13529
13655
  let token = $0;
13530
13656
  switch ($0[1]) {
13531
13657
  case `
@@ -13542,11 +13668,11 @@ ${js}`
13542
13668
  return { $loc, token };
13543
13669
  }), HeregexPart$4 = (0, import_lib2.$TS)((0, import_lib2.$S)(HeregexComment), function($skip, $loc, $0, $1) {
13544
13670
  return { $loc, token: "" };
13545
- }), HeregexPart$5 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R56, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13671
+ }), HeregexPart$5 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R57, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13546
13672
  return { $loc, token: "" };
13547
- }), HeregexPart$6 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R57, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13673
+ }), HeregexPart$6 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R58, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13548
13674
  return { $loc, token: "\\/" };
13549
- }), HeregexPart$7 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R58, "HeregexPart /[^[\\/\\s#$\\\\]+|[#$]/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13675
+ }), HeregexPart$7 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R59, "HeregexPart /[^[\\/\\s#$\\\\]+|[#$]/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13550
13676
  return { $loc, token: $0 };
13551
13677
  }), HeregexPart$$ = [HeregexPart$0, HeregexPart$1, HeregexPart$2, HeregexPart$3, HeregexPart$4, HeregexPart$5, HeregexPart$6, HeregexPart$7];
13552
13678
  function HeregexPart(ctx, state2) {
@@ -13558,7 +13684,7 @@ ${js}`
13558
13684
  function HeregexComment(ctx, state2) {
13559
13685
  return (0, import_lib2.$EVENT_C)(ctx, state2, "HeregexComment", HeregexComment$$);
13560
13686
  }
13561
- var RegularExpressionBody$0 = (0, import_lib2.$S)((0, import_lib2.$N)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R59, "RegularExpressionBody /[*\\/\\r\\n]/"))), (0, import_lib2.$Q)(RegExpPart));
13687
+ var RegularExpressionBody$0 = (0, import_lib2.$S)((0, import_lib2.$N)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R60, "RegularExpressionBody /[*\\/\\r\\n]/"))), (0, import_lib2.$Q)(RegExpPart));
13562
13688
  function RegularExpressionBody(ctx, state2) {
13563
13689
  return (0, import_lib2.$EVENT)(ctx, state2, "RegularExpressionBody", RegularExpressionBody$0);
13564
13690
  }
@@ -13566,15 +13692,15 @@ ${js}`
13566
13692
  function RegExpPart(ctx, state2) {
13567
13693
  return (0, import_lib2.$EVENT_C)(ctx, state2, "RegExpPart", RegExpPart$$);
13568
13694
  }
13569
- var RegExpCharacter$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R60, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
13695
+ var RegExpCharacter$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R61, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
13570
13696
  function RegExpCharacter(ctx, state2) {
13571
13697
  return (0, import_lib2.$EVENT)(ctx, state2, "RegExpCharacter", RegExpCharacter$0);
13572
13698
  }
13573
- var RegularExpressionFlags$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R61, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
13699
+ var RegularExpressionFlags$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R62, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
13574
13700
  function RegularExpressionFlags(ctx, state2) {
13575
13701
  return (0, import_lib2.$EVENT)(ctx, state2, "RegularExpressionFlags", RegularExpressionFlags$0);
13576
13702
  }
13577
- var TemplateLiteral$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R62, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
13703
+ var TemplateLiteral$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R63, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
13578
13704
  return value[1];
13579
13705
  });
13580
13706
  function TemplateLiteral(ctx, state2) {
@@ -13605,23 +13731,23 @@ ${js}`
13605
13731
  function TemplateSubstitution(ctx, state2) {
13606
13732
  return (0, import_lib2.$EVENT)(ctx, state2, "TemplateSubstitution", TemplateSubstitution$0);
13607
13733
  }
13608
- var TemplateCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R63, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13734
+ var TemplateCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R64, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13609
13735
  return { $loc, token: $0 };
13610
13736
  });
13611
13737
  function TemplateCharacters(ctx, state2) {
13612
13738
  return (0, import_lib2.$EVENT)(ctx, state2, "TemplateCharacters", TemplateCharacters$0);
13613
13739
  }
13614
- var TemplateBlockCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R64, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13740
+ var TemplateBlockCharacters$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R65, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13615
13741
  return { $loc, token: $0 };
13616
13742
  });
13617
13743
  function TemplateBlockCharacters(ctx, state2) {
13618
13744
  return (0, import_lib2.$EVENT)(ctx, state2, "TemplateBlockCharacters", TemplateBlockCharacters$0);
13619
13745
  }
13620
- var ReservedWord$0 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R65, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled), ReservedWord$1 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R66, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled), ReservedWord$2 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R67, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled), ReservedWord$3 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R68, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled), ReservedWord$4 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R69, "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})/")), ReservedWord$$ = [ReservedWord$0, ReservedWord$1, ReservedWord$2, ReservedWord$3, ReservedWord$4];
13746
+ var ReservedWord$0 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R66, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled), ReservedWord$1 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R67, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled), ReservedWord$2 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R68, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled), ReservedWord$3 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R69, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled), ReservedWord$4 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R70, "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})/")), ReservedWord$$ = [ReservedWord$0, ReservedWord$1, ReservedWord$2, ReservedWord$3, ReservedWord$4];
13621
13747
  function ReservedWord(ctx, state2) {
13622
13748
  return (0, import_lib2.$EVENT_C)(ctx, state2, "ReservedWord", ReservedWord$$);
13623
13749
  }
13624
- var Comment$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R70, "Comment /(?=\\/|#)/"), _Comment), function(value) {
13750
+ var Comment$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R71, "Comment /(?=\\/|#)/"), _Comment), function(value) {
13625
13751
  return value[1];
13626
13752
  });
13627
13753
  function Comment(ctx, state2) {
@@ -13635,7 +13761,7 @@ ${js}`
13635
13761
  function SingleLineComment(ctx, state2) {
13636
13762
  return (0, import_lib2.$EVENT_C)(ctx, state2, "SingleLineComment", SingleLineComment$$);
13637
13763
  }
13638
- var JSSingleLineComment$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R71, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13764
+ var JSSingleLineComment$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R72, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13639
13765
  return { type: "Comment", $loc, token: $0 };
13640
13766
  });
13641
13767
  function JSSingleLineComment(ctx, state2) {
@@ -13645,29 +13771,29 @@ ${js}`
13645
13771
  function MultiLineComment(ctx, state2) {
13646
13772
  return (0, import_lib2.$EVENT_C)(ctx, state2, "MultiLineComment", MultiLineComment$$);
13647
13773
  }
13648
- var JSMultiLineComment$0 = (0, import_lib2.$TV)((0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L140, 'JSMultiLineComment "/*"'), (0, import_lib2.$Q)((0, import_lib2.$S)((0, import_lib2.$N)((0, import_lib2.$EXPECT)($L141, 'JSMultiLineComment "*/"')), (0, import_lib2.$EXPECT)($R72, "JSMultiLineComment /./"))), (0, import_lib2.$EXPECT)($L141, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
13774
+ var JSMultiLineComment$0 = (0, import_lib2.$TV)((0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L140, 'JSMultiLineComment "/*"'), (0, import_lib2.$Q)((0, import_lib2.$S)((0, import_lib2.$N)((0, import_lib2.$EXPECT)($L141, 'JSMultiLineComment "*/"')), (0, import_lib2.$EXPECT)($R73, "JSMultiLineComment /./"))), (0, import_lib2.$EXPECT)($L141, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
13649
13775
  return { type: "Comment", $loc, token: $1 };
13650
13776
  });
13651
13777
  function JSMultiLineComment(ctx, state2) {
13652
13778
  return (0, import_lib2.$EVENT)(ctx, state2, "JSMultiLineComment", JSMultiLineComment$0);
13653
13779
  }
13654
- var CoffeeSingleLineComment$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R73, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13780
+ var CoffeeSingleLineComment$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R74, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13655
13781
  return { type: "Comment", $loc, token: `//${$1}` };
13656
13782
  });
13657
13783
  function CoffeeSingleLineComment(ctx, state2) {
13658
13784
  return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeSingleLineComment", CoffeeSingleLineComment$0);
13659
13785
  }
13660
- var CoffeeMultiLineComment$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(CoffeeHereCommentStart, (0, import_lib2.$TEXT)((0, import_lib2.$EXPECT)($R74, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
13786
+ var CoffeeMultiLineComment$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(CoffeeHereCommentStart, (0, import_lib2.$TEXT)((0, import_lib2.$EXPECT)($R75, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
13661
13787
  return $2 = $2.slice(0, $2.length - 3).replace(/\*\//g, "* /"), { type: "Comment", $loc, token: `/*${$2}*/` };
13662
13788
  });
13663
13789
  function CoffeeMultiLineComment(ctx, state2) {
13664
13790
  return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeMultiLineComment", CoffeeMultiLineComment$0);
13665
13791
  }
13666
- var CoffeeHereCommentStart$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R75, "CoffeeHereCommentStart /###(?!#)/"));
13792
+ var CoffeeHereCommentStart$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R76, "CoffeeHereCommentStart /###(?!#)/"));
13667
13793
  function CoffeeHereCommentStart(ctx, state2) {
13668
13794
  return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeHereCommentStart", CoffeeHereCommentStart$0);
13669
13795
  }
13670
- var InlineComment$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R76, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13796
+ var InlineComment$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R77, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13671
13797
  return { $loc, token: $0 };
13672
13798
  }), InlineComment$1 = CoffeeMultiLineComment, InlineComment$$ = [InlineComment$0, InlineComment$1];
13673
13799
  function InlineComment(ctx, state2) {
@@ -13681,13 +13807,13 @@ ${js}`
13681
13807
  function TrailingComment(ctx, state2) {
13682
13808
  return (0, import_lib2.$EVENT)(ctx, state2, "TrailingComment", TrailingComment$0);
13683
13809
  }
13684
- var _$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R77, "_ /(?=[ \\t\\/\\\\#])/"), (0, import_lib2.$P)((0, import_lib2.$C)(NonNewlineWhitespace, InlineComment))), function(value) {
13810
+ var _$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R78, "_ /(?=[ \\t\\/\\\\#])/"), (0, import_lib2.$P)((0, import_lib2.$C)(NonNewlineWhitespace, InlineComment))), function(value) {
13685
13811
  return value[1];
13686
13812
  });
13687
13813
  function _(ctx, state2) {
13688
13814
  return (0, import_lib2.$EVENT)(ctx, state2, "_", _$0);
13689
13815
  }
13690
- var NonNewlineWhitespace$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R23, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13816
+ var NonNewlineWhitespace$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R24, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13691
13817
  return { $loc, token: $0 };
13692
13818
  }), NonNewlineWhitespace$1 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L142, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
13693
13819
  return " ";
@@ -13702,13 +13828,13 @@ ${js}`
13702
13828
  function Trimmed_(ctx, state2) {
13703
13829
  return (0, import_lib2.$EVENT)(ctx, state2, "Trimmed_", Trimmed_$0);
13704
13830
  }
13705
- var __$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R78, "__ /(?=\\s|\\/|#)/"), (0, import_lib2.$Q)((0, import_lib2.$C)(Whitespace, Comment))), function(value) {
13831
+ var __$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R79, "__ /(?=\\s|\\/|#)/"), (0, import_lib2.$Q)((0, import_lib2.$C)(Whitespace, Comment))), function(value) {
13706
13832
  return value[1];
13707
13833
  }), __$1 = (0, import_lib2.$EXPECT)($L0, '__ ""'), __$$ = [__$0, __$1];
13708
13834
  function __(ctx, state2) {
13709
13835
  return (0, import_lib2.$EVENT_C)(ctx, state2, "__", __$$);
13710
13836
  }
13711
- var Whitespace$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R56, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13837
+ var Whitespace$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R57, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13712
13838
  return { $loc, token: $0 };
13713
13839
  });
13714
13840
  function Whitespace(ctx, state2) {
@@ -13743,7 +13869,7 @@ ${js}`
13743
13869
  function SemicolonDelimiter(ctx, state2) {
13744
13870
  return (0, import_lib2.$EVENT)(ctx, state2, "SemicolonDelimiter", SemicolonDelimiter$0);
13745
13871
  }
13746
- var NonIdContinue$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R79, "NonIdContinue /(?!\\p{ID_Continue})/"));
13872
+ var NonIdContinue$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R80, "NonIdContinue /(?!\\p{ID_Continue})/"));
13747
13873
  function NonIdContinue(ctx, state2) {
13748
13874
  return (0, import_lib2.$EVENT)(ctx, state2, "NonIdContinue", NonIdContinue$0);
13749
13875
  }
@@ -13861,7 +13987,7 @@ ${js}`
13861
13987
  function CoffeeSubstitutionStart(ctx, state2) {
13862
13988
  return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeSubstitutionStart", CoffeeSubstitutionStart$0);
13863
13989
  }
13864
- var Colon$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L16, 'Colon ":"'), (0, import_lib2.$N)((0, import_lib2.$EXPECT)($R80, "Colon /[=:]/"))), function($skip, $loc, $0, $1, $2) {
13990
+ var Colon$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L16, 'Colon ":"'), (0, import_lib2.$N)((0, import_lib2.$EXPECT)($R81, "Colon /[=:]/"))), function($skip, $loc, $0, $1, $2) {
13865
13991
  return { $loc, token: $1 };
13866
13992
  });
13867
13993
  function Colon(ctx, state2) {
@@ -13911,7 +14037,7 @@ ${js}`
13911
14037
  }
13912
14038
  var Dot$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L7, 'Dot "."'), function($skip, $loc, $0, $1) {
13913
14039
  return { $loc, token: $1 };
13914
- }), Dot$1 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R81, "Dot /['\u2019]s/"), Trimmed_), function($skip, $loc, $0, $1, $2) {
14040
+ }), Dot$1 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R82, "Dot /['\u2019]s/"), Trimmed_), function($skip, $loc, $0, $1, $2) {
13915
14041
  var ws = $2;
13916
14042
  return [
13917
14043
  { $loc, token: "." },
@@ -14039,7 +14165,7 @@ ${js}`
14039
14165
  function If(ctx, state2) {
14040
14166
  return (0, import_lib2.$EVENT)(ctx, state2, "If", If$0);
14041
14167
  }
14042
- var Import$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L15, 'Import "import"'), (0, import_lib2.$Y)((0, import_lib2.$EXPECT)($R82, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
14168
+ var Import$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L15, 'Import "import"'), (0, import_lib2.$Y)((0, import_lib2.$EXPECT)($R83, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
14043
14169
  return { $loc, token: $1 };
14044
14170
  });
14045
14171
  function Import(ctx, state2) {
@@ -14396,7 +14522,7 @@ ${js}`
14396
14522
  function JSXImplicitFragment(ctx, state2) {
14397
14523
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXImplicitFragment", JSXImplicitFragment$0);
14398
14524
  }
14399
- var JSXTag$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R83, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
14525
+ var JSXTag$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R84, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
14400
14526
  return value[1];
14401
14527
  });
14402
14528
  function JSXTag(ctx, state2) {
@@ -14408,7 +14534,8 @@ ${js}`
14408
14534
  }
14409
14535
  var JSXElement$0 = JSXSelfClosingElement, JSXElement$1 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$N)(CoffeeJSXEnabled), PushJSXOpeningElement, (0, import_lib2.$E)(JSXMixedChildren), JSXOptionalClosingElement, PopJSXStack), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
14410
14536
  var open = $2, children = $3, close = $4;
14411
- if (!children) return $skip;
14537
+ if (!children)
14538
+ return $skip;
14412
14539
  let parts;
14413
14540
  return $0 = $0.slice(1), close ? parts = $0 : children.jsxChildren.length ? parts = [
14414
14541
  ...$0,
@@ -14503,13 +14630,13 @@ ${js}`
14503
14630
  function JSXElementName(ctx, state2) {
14504
14631
  return (0, import_lib2.$EVENT_C)(ctx, state2, "JSXElementName", JSXElementName$$);
14505
14632
  }
14506
- var JSXIdentifierName$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R84, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
14633
+ var JSXIdentifierName$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R85, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
14507
14634
  function JSXIdentifierName(ctx, state2) {
14508
14635
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXIdentifierName", JSXIdentifierName$0);
14509
14636
  }
14510
14637
  var JSXAttributes$0 = (0, import_lib2.$TV)((0, import_lib2.$Q)((0, import_lib2.$S)((0, import_lib2.$E)(Whitespace), JSXAttribute)), function($skip, $loc, $0, $1) {
14511
14638
  let classes = [], attrs = $0.filter((pair) => {
14512
- let [, attr] = pair;
14639
+ let attr = pair[1];
14513
14640
  return attr.type === "JSXClass" ? (classes.push(attr.class), !1) : !0;
14514
14641
  });
14515
14642
  if (classes.length) {
@@ -14523,10 +14650,10 @@ ${js}`
14523
14650
  var isBraced = isBraced2, unbrace = unbrace2, parseClass = parseClass2;
14524
14651
  let className = config.react ? "className" : "class";
14525
14652
  attrs = attrs.filter((pair) => {
14526
- let [, attr] = pair;
14653
+ let attr = pair[1];
14527
14654
  return (attr[0][0] === "class" || attr[0][0] === "className") && !attr[0][1] ? (className = attr[0][0], classes.push(attr[1][attr[1].length - 1]), !1) : !0;
14528
14655
  });
14529
- let strings = [], exprs = [];
14656
+ let [strings, exprs] = [[], []];
14530
14657
  classes.forEach((c) => {
14531
14658
  isBraced2(c) ? (exprs.push(unbrace2(c)), exprs.push(", ")) : strings.push(parseClass2(c));
14532
14659
  });
@@ -14569,7 +14696,8 @@ ${js}`
14569
14696
  type: "CallExpression",
14570
14697
  children
14571
14698
  }), last = lastAccessInCallExpression(expr);
14572
- if (!last) return $skip;
14699
+ if (!last)
14700
+ return $skip;
14573
14701
  let name;
14574
14702
  return last.type === "Index" ? [
14575
14703
  "{...{",
@@ -14587,7 +14715,8 @@ ${js}`
14587
14715
  if (expr.type === "ObjectExpression")
14588
14716
  return convertObjectToJSXAttributes(expr);
14589
14717
  let last = lastAccessInCallExpression(expr);
14590
- if (!last) return $skip;
14718
+ if (!last)
14719
+ return $skip;
14591
14720
  let name;
14592
14721
  return last.type === "Index" ? [
14593
14722
  "{...{",
@@ -14603,22 +14732,22 @@ ${js}`
14603
14732
  type: "JSXClass",
14604
14733
  class: $2
14605
14734
  };
14606
- }), JSXAttribute$7 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$TEXT)((0, import_lib2.$EXPECT)($R85, "JSXAttribute /[!+-]/")), JSXAttributeName, (0, import_lib2.$Y)(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
14735
+ }), JSXAttribute$7 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$TEXT)((0, import_lib2.$EXPECT)($R86, "JSXAttribute /[!+-]/")), JSXAttributeName, (0, import_lib2.$Y)(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
14607
14736
  var toggle = $1, id = $2;
14608
14737
  return [" ", id, "={", toggle === "+" ? "true" : "false", "}"];
14609
14738
  }), JSXAttribute$$ = [JSXAttribute$0, JSXAttribute$1, JSXAttribute$2, JSXAttribute$3, JSXAttribute$4, JSXAttribute$5, JSXAttribute$6, JSXAttribute$7];
14610
14739
  function JSXAttribute(ctx, state2) {
14611
14740
  return (0, import_lib2.$EVENT_C)(ctx, state2, "JSXAttribute", JSXAttribute$$);
14612
14741
  }
14613
- var JSXAttributeSpace$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R86, "JSXAttributeSpace /[\\s>]|\\/>/"));
14742
+ var JSXAttributeSpace$0 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R87, "JSXAttributeSpace /[\\s>]|\\/>/"));
14614
14743
  function JSXAttributeSpace(ctx, state2) {
14615
14744
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXAttributeSpace", JSXAttributeSpace$0);
14616
14745
  }
14617
- var JSXShorthandString$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R87, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14746
+ var JSXShorthandString$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R88, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14618
14747
  return quoteString($0);
14619
14748
  }), JSXShorthandString$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(TemplateLiteral), function($skip, $loc, $0, $1) {
14620
14749
  return ["{", $1, "}"];
14621
- }), JSXShorthandString$2 = StringLiteral, JSXShorthandString$3 = (0, import_lib2.$S)(OpenBrace, PostfixedExpression, (0, import_lib2.$E)(Whitespace), CloseBrace), JSXShorthandString$$ = [JSXShorthandString$0, JSXShorthandString$1, JSXShorthandString$2, JSXShorthandString$3];
14750
+ }), JSXShorthandString$2 = StringLiteral, JSXShorthandString$3 = (0, import_lib2.$S)(OpenBrace, PostfixedExpression, __, CloseBrace), JSXShorthandString$$ = [JSXShorthandString$0, JSXShorthandString$1, JSXShorthandString$2, JSXShorthandString$3];
14622
14751
  function JSXShorthandString(ctx, state2) {
14623
14752
  return (0, import_lib2.$EVENT_C)(ctx, state2, "JSXShorthandString", JSXShorthandString$$);
14624
14753
  }
@@ -14633,10 +14762,10 @@ ${js}`
14633
14762
  function JSXAttributeInitializer(ctx, state2) {
14634
14763
  return (0, import_lib2.$EVENT_C)(ctx, state2, "JSXAttributeInitializer", JSXAttributeInitializer$$);
14635
14764
  }
14636
- var JSXAttributeValue$0 = (0, import_lib2.$S)(OpenBrace, PostfixedExpression, (0, import_lib2.$E)(Whitespace), CloseBrace), JSXAttributeValue$1 = JSXElement, JSXAttributeValue$2 = JSXFragment, JSXAttributeValue$3 = (0, import_lib2.$TS)((0, import_lib2.$S)(InsertInlineOpenBrace, InlineJSXAttributeValue, InsertCloseBrace, (0, import_lib2.$Y)(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3, $4) {
14765
+ var JSXAttributeValue$0 = (0, import_lib2.$S)(OpenBrace, PostfixedExpression, __, CloseBrace), JSXAttributeValue$1 = JSXElement, JSXAttributeValue$2 = JSXFragment, JSXAttributeValue$3 = (0, import_lib2.$TS)((0, import_lib2.$S)(InsertInlineOpenBrace, InlineJSXAttributeValue, InsertCloseBrace, (0, import_lib2.$Y)(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3, $4) {
14637
14766
  var open = $1, value = $2, close = $3;
14638
14767
  return value.type === "StringLiteral" ? $skip : [open, value, close];
14639
- }), JSXAttributeValue$4 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R88, `JSXAttributeValue /"[^"]*"|'[^']*'/`)), JSXAttributeValue$$ = [JSXAttributeValue$0, JSXAttributeValue$1, JSXAttributeValue$2, JSXAttributeValue$3, JSXAttributeValue$4];
14768
+ }), JSXAttributeValue$4 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R89, `JSXAttributeValue /"[^"]*"|'[^']*'/`)), JSXAttributeValue$$ = [JSXAttributeValue$0, JSXAttributeValue$1, JSXAttributeValue$2, JSXAttributeValue$3, JSXAttributeValue$4];
14640
14769
  function JSXAttributeValue(ctx, state2) {
14641
14770
  return (0, import_lib2.$EVENT_C)(ctx, state2, "JSXAttributeValue", JSXAttributeValue$$);
14642
14771
  }
@@ -14646,7 +14775,7 @@ ${js}`
14646
14775
  function InlineJSXAttributeValue(ctx, state2) {
14647
14776
  return (0, import_lib2.$EVENT)(ctx, state2, "InlineJSXAttributeValue", InlineJSXAttributeValue$0);
14648
14777
  }
14649
- var InlineJSXBinaryOpRHS$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$N)((0, import_lib2.$EXPECT)($R89, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
14778
+ var InlineJSXBinaryOpRHS$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$N)((0, import_lib2.$EXPECT)($R90, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
14650
14779
  var op = $2, rhs = $3;
14651
14780
  return [[], op, [], rhs];
14652
14781
  });
@@ -14660,7 +14789,7 @@ ${js}`
14660
14789
  function InlineJSXUnaryExpression(ctx, state2) {
14661
14790
  return (0, import_lib2.$EVENT)(ctx, state2, "InlineJSXUnaryExpression", InlineJSXUnaryExpression$0);
14662
14791
  }
14663
- var InlineJSXUnaryOp$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R90, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14792
+ var InlineJSXUnaryOp$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R91, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14664
14793
  return { $loc, token: $0 };
14665
14794
  });
14666
14795
  function InlineJSXUnaryOp(ctx, state2) {
@@ -14692,7 +14821,7 @@ ${js}`
14692
14821
  type: "CallExpression",
14693
14822
  children: [
14694
14823
  $1,
14695
- args,
14824
+ rewriteDynamicImportCall(args),
14696
14825
  ...rest.flat()
14697
14826
  ]
14698
14827
  });
@@ -14727,7 +14856,7 @@ ${js}`
14727
14856
  }
14728
14857
  var InlineJSXMemberExpressionRest$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(OptionalShorthand), (0, import_lib2.$Q)(InlineComment), MemberBracketContent), function($skip, $loc, $0, $1, $2, $3) {
14729
14858
  var dot = $1, comments = $2, content = $3;
14730
- return !dot && !comments.length ? content : dot ? dot.type === "Optional" && content.type === "SliceExpression" ? [...dot.children.slice(0, -1), ...comments, content] : [dot, ...comments, content] : [...comments, content];
14859
+ return dot || comments.length ? dot ? dot.type === "Optional" && content.type === "SliceExpression" ? [...dot.children.slice(0, -1), ...comments, content] : [dot, ...comments, content] : [...comments, content] : content;
14731
14860
  }), InlineJSXMemberExpressionRest$1 = PropertyAccess, InlineJSXMemberExpressionRest$2 = PropertyGlob, InlineJSXMemberExpressionRest$3 = PropertyBindExplicitArguments, InlineJSXMemberExpressionRest$4 = NonNullAssertion, InlineJSXMemberExpressionRest$$ = [InlineJSXMemberExpressionRest$0, InlineJSXMemberExpressionRest$1, InlineJSXMemberExpressionRest$2, InlineJSXMemberExpressionRest$3, InlineJSXMemberExpressionRest$4];
14732
14861
  function InlineJSXMemberExpressionRest(ctx, state2) {
14733
14862
  return (0, import_lib2.$EVENT_C)(ctx, state2, "InlineJSXMemberExpressionRest", InlineJSXMemberExpressionRest$$);
@@ -14835,13 +14964,13 @@ ${js}`
14835
14964
  function JSXComment(ctx, state2) {
14836
14965
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXComment", JSXComment$0);
14837
14966
  }
14838
- var JSXCommentContent$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R91, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14967
+ var JSXCommentContent$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R92, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14839
14968
  return { $loc, token: $0.replace(/\*\//g, "* /") };
14840
14969
  });
14841
14970
  function JSXCommentContent(ctx, state2) {
14842
14971
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXCommentContent", JSXCommentContent$0);
14843
14972
  }
14844
- var JSXText$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R92, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14973
+ var JSXText$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R93, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14845
14974
  return {
14846
14975
  type: "JSXText",
14847
14976
  token: $0,
@@ -14902,7 +15031,8 @@ ${js}`
14902
15031
  return expression || $skip;
14903
15032
  }), JSXCodeChildExpression$1 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$Y)(JSXEOS), ImplicitNestedBlock), function($skip, $loc, $0, $1, $2) {
14904
15033
  var block = $2;
14905
- if (!block) return $skip;
15034
+ if (!block)
15035
+ return $skip;
14906
15036
  let statement = {
14907
15037
  type: "DoStatement",
14908
15038
  children: [block],
@@ -15286,11 +15416,11 @@ ${js}`
15286
15416
  function EnumProperty(ctx, state2) {
15287
15417
  return (0, import_lib2.$EVENT)(ctx, state2, "EnumProperty", EnumProperty$0);
15288
15418
  }
15289
- var TypeProperty$0 = (0, import_lib2.$S)((0, import_lib2.$E)((0, import_lib2.$S)(Readonly, NotDedented)), PropertyName);
15419
+ var TypeProperty$0 = (0, import_lib2.$S)((0, import_lib2.$E)(ReadonlyModifier), PropertyName);
15290
15420
  function TypeProperty(ctx, state2) {
15291
15421
  return (0, import_lib2.$EVENT)(ctx, state2, "TypeProperty", TypeProperty$0);
15292
15422
  }
15293
- var TypeIndexSignature$0 = (0, import_lib2.$S)((0, import_lib2.$E)((0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R93, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, (0, import_lib2.$E)((0, import_lib2.$S)(__, (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R14, "TypeIndexSignature /[+-]/")), (0, import_lib2.$Y)((0, import_lib2.$S)((0, import_lib2.$E)(_), QuestionMark)))));
15423
+ var TypeIndexSignature$0 = (0, import_lib2.$S)((0, import_lib2.$E)((0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R94, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, (0, import_lib2.$E)((0, import_lib2.$S)(__, (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R15, "TypeIndexSignature /[+-]/")), (0, import_lib2.$Y)((0, import_lib2.$S)((0, import_lib2.$E)(_), QuestionMark)))));
15294
15424
  function TypeIndexSignature(ctx, state2) {
15295
15425
  return (0, import_lib2.$EVENT)(ctx, state2, "TypeIndexSignature", TypeIndexSignature$0);
15296
15426
  }
@@ -15383,7 +15513,7 @@ ${js}`
15383
15513
  }
15384
15514
  var TypeBinary$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)((0, import_lib2.$S)(NotDedented, TypeBinaryOp, __)), TypeUnary, (0, import_lib2.$Q)((0, import_lib2.$S)(NotDedented, TypeBinaryOp, MaybeNestedTypeUnary))), function($skip, $loc, $0, $1, $2, $3) {
15385
15515
  var optionalPrefix = $1, t = $2, ops = $3;
15386
- return !ops.length && !optionalPrefix ? t : ops.length ? optionalPrefix ? [optionalPrefix, t, ops] : [t, ...ops] : [optionalPrefix, t];
15516
+ return ops.length || optionalPrefix ? ops.length ? optionalPrefix ? [optionalPrefix, t, ops] : [t, ...ops] : [optionalPrefix, t] : t;
15387
15517
  });
15388
15518
  function TypeBinary(ctx, state2) {
15389
15519
  return (0, import_lib2.$EVENT)(ctx, state2, "TypeBinary", TypeBinary$0);
@@ -15403,14 +15533,14 @@ ${js}`
15403
15533
  }
15404
15534
  var TypeUnary$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$Q)((0, import_lib2.$S)(__, TypeUnaryOp)), TypePrimary, (0, import_lib2.$Q)(TypeUnarySuffix)), function($skip, $loc, $0, $1, $2, $3) {
15405
15535
  var prefix = $1, t = $2, suffix = $3;
15406
- return !prefix.length && !suffix.length ? t : {
15536
+ return prefix.length || suffix.length ? {
15407
15537
  type: "TypeUnary",
15408
15538
  prefix,
15409
15539
  suffix,
15410
15540
  t,
15411
15541
  // omit empty prefix for trimming space
15412
15542
  children: prefix.length ? $0 : [t, suffix]
15413
- };
15543
+ } : t;
15414
15544
  });
15415
15545
  function TypeUnary(ctx, state2) {
15416
15546
  return (0, import_lib2.$EVENT)(ctx, state2, "TypeUnary", TypeUnary$0);
@@ -15592,7 +15722,8 @@ ${js}`
15592
15722
  }
15593
15723
  var NestedTypeBulletedTuple$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$S)(InsertSpace, InsertOpenBracket), PushIndent, (0, import_lib2.$Q)(NestedTypeBullet), InsertCloseBracket, PopIndent), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
15594
15724
  var open = $1, content = $3, close = $4;
15595
- if (!content.length) return $skip;
15725
+ if (!content.length)
15726
+ return $skip;
15596
15727
  content = content.flat();
15597
15728
  let last = content[content.length - 1], children = Array.isArray(last) ? last : last?.children;
15598
15729
  return children?.at(-1).implicit && (children = children.slice(0, -1), Array.isArray(last) ? content[content.length - 1] = children : content[content.length - 1] = { ...last, children }), {
@@ -15605,7 +15736,8 @@ ${js}`
15605
15736
  }
15606
15737
  var TypeBulletedTuple$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(InsertOpenBracket, (0, import_lib2.$E)((0, import_lib2.$S)(TypeBullet, (0, import_lib2.$Q)(NestedTypeBullet))), InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3) {
15607
15738
  var open = $1, content = $2, close = $3;
15608
- if (!content) return $skip;
15739
+ if (!content)
15740
+ return $skip;
15609
15741
  content = [
15610
15742
  ...trimFirstSpace(content[0]),
15611
15743
  // replace first space with bracket
@@ -15629,9 +15761,11 @@ ${js}`
15629
15761
  }
15630
15762
  var TypeBullet$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(BulletIndent, (0, import_lib2.$E)((0, import_lib2.$S)(TypeElementList, ArrayBulletDelimiter)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
15631
15763
  var bullet = $1, content = $2;
15632
- if (!content) return $skip;
15764
+ if (!content)
15765
+ return $skip;
15633
15766
  let [list, delimiter] = content;
15634
- if (!list.length) return $skip;
15767
+ if (!list.length)
15768
+ return $skip;
15635
15769
  if (list = list.slice(), list[0] = prepend(bullet, list[0]), delimiter) {
15636
15770
  let last = list.length - 1;
15637
15771
  list[last] = append(list[last], delimiter);
@@ -15651,7 +15785,7 @@ ${js}`
15651
15785
  function TypeWithPostfix(ctx, state2) {
15652
15786
  return (0, import_lib2.$EVENT)(ctx, state2, "TypeWithPostfix", TypeWithPostfix$0);
15653
15787
  }
15654
- var TypeConditional$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), (0, import_lib2.$EXPECT)($R94, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
15788
+ var TypeConditional$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), (0, import_lib2.$EXPECT)($R95, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
15655
15789
  return prepend($1, expressionizeTypeIf($3));
15656
15790
  }), TypeConditional$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(TypeCondition, NotDedented, QuestionMark, __, Type, __, Colon, __, Type), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15657
15791
  return $1.negated ? [$1, $2, $3, $4, $9, $6, $7, $8, $5] : $0;
@@ -15723,7 +15857,7 @@ ${js}`
15723
15857
  function CoffeeInterpolatedDoubleQuotedTypeLiteral(ctx, state2) {
15724
15858
  return (0, import_lib2.$EVENT)(ctx, state2, "CoffeeInterpolatedDoubleQuotedTypeLiteral", CoffeeInterpolatedDoubleQuotedTypeLiteral$0);
15725
15859
  }
15726
- var TypeLiteral$0 = TypeTemplateLiteral, TypeLiteral$1 = Literal, TypeLiteral$2 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R14, "TypeLiteral /[+-]/"), NumericLiteral), function($skip, $loc, $0, $1, $2) {
15860
+ var TypeLiteral$0 = TypeTemplateLiteral, TypeLiteral$1 = Literal, TypeLiteral$2 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R15, "TypeLiteral /[+-]/"), NumericLiteral), function($skip, $loc, $0, $1, $2) {
15727
15861
  var sign = $1, num = $2;
15728
15862
  return sign[0] === "+" ? num : $0;
15729
15863
  }), TypeLiteral$3 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L226, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
@@ -15758,9 +15892,9 @@ ${js}`
15758
15892
  function TypeBinaryOp(ctx, state2) {
15759
15893
  return (0, import_lib2.$EVENT_C)(ctx, state2, "TypeBinaryOp", TypeBinaryOp$$);
15760
15894
  }
15761
- var TypeFunction$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)((0, import_lib2.$S)(Abstract, (0, import_lib2.$E)(_))), (0, import_lib2.$E)((0, import_lib2.$S)(Async, (0, import_lib2.$E)(_))), (0, import_lib2.$E)((0, import_lib2.$S)(New, (0, import_lib2.$E)(_))), Parameters, __, TypeFunctionArrow, (0, import_lib2.$C)(ReturnType, Loc)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
15895
+ var TypeFunction$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)((0, import_lib2.$S)(Abstract, (0, import_lib2.$E)(_))), (0, import_lib2.$E)((0, import_lib2.$S)(Async, (0, import_lib2.$E)(_))), (0, import_lib2.$E)((0, import_lib2.$S)(New, (0, import_lib2.$E)(_))), Parameters, __, TypeFunctionArrow, (0, import_lib2.$C)(ReturnType, Loc), (0, import_lib2.$N)((0, import_lib2.$S)((0, import_lib2.$E)(_), (0, import_lib2.$C)(ConstAssignment, LetAssignment)))), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
15762
15896
  var abstract = $1, async = $2, new_ = $3, returnType = $7;
15763
- let children = [abstract, ...$0.slice(2)];
15897
+ let children = [abstract, ...$0.slice(2, -1)];
15764
15898
  if (abstract && !new_ && (children[1] = {
15765
15899
  type: "Error",
15766
15900
  message: "abstract function types must be constructors (abstract new)"
@@ -15830,7 +15964,7 @@ ${js}`
15830
15964
  function TypeApplicationStart(ctx, state2) {
15831
15965
  return (0, import_lib2.$EVENT_C)(ctx, state2, "TypeApplicationStart", TypeApplicationStart$$);
15832
15966
  }
15833
- var ForbiddenImplicitTypeCalls$0 = ReservedBinary, ForbiddenImplicitTypeCalls$1 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R95, "ForbiddenImplicitTypeCalls /[|&<!=\\-\u21D2\u2192]/")), ForbiddenImplicitTypeCalls$2 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R96, "ForbiddenImplicitTypeCalls /(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/")), ForbiddenImplicitTypeCalls$$ = [ForbiddenImplicitTypeCalls$0, ForbiddenImplicitTypeCalls$1, ForbiddenImplicitTypeCalls$2];
15967
+ var ForbiddenImplicitTypeCalls$0 = ReservedBinary, ForbiddenImplicitTypeCalls$1 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R96, "ForbiddenImplicitTypeCalls /[|&<!=\\-\u21D2\u2192]/")), ForbiddenImplicitTypeCalls$2 = (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R97, "ForbiddenImplicitTypeCalls /(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/")), ForbiddenImplicitTypeCalls$$ = [ForbiddenImplicitTypeCalls$0, ForbiddenImplicitTypeCalls$1, ForbiddenImplicitTypeCalls$2];
15834
15968
  function ForbiddenImplicitTypeCalls(ctx, state2) {
15835
15969
  return (0, import_lib2.$EVENT_C)(ctx, state2, "ForbiddenImplicitTypeCalls", ForbiddenImplicitTypeCalls$$);
15836
15970
  }
@@ -15911,7 +16045,7 @@ ${js}`
15911
16045
  function TypeParameters(ctx, state2) {
15912
16046
  return (0, import_lib2.$EVENT)(ctx, state2, "TypeParameters", TypeParameters$0);
15913
16047
  }
15914
- var TypeParameter$0 = (0, import_lib2.$S)(__, (0, import_lib2.$Q)((0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R97, "TypeParameter /const|in|out/")), _)), Identifier, (0, import_lib2.$E)(TypeConstraint), (0, import_lib2.$E)(TypeInitializer), TypeParameterDelimiter);
16048
+ var TypeParameter$0 = (0, import_lib2.$S)(__, (0, import_lib2.$Q)((0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R98, "TypeParameter /const|in|out/")), _)), Identifier, (0, import_lib2.$E)(TypeConstraint), (0, import_lib2.$E)(TypeInitializer), TypeParameterDelimiter);
15915
16049
  function TypeParameter(ctx, state2) {
15916
16050
  return (0, import_lib2.$EVENT)(ctx, state2, "TypeParameter", TypeParameter$0);
15917
16051
  }
@@ -15935,21 +16069,21 @@ ${js}`
15935
16069
  function ThisType(ctx, state2) {
15936
16070
  return (0, import_lib2.$EVENT)(ctx, state2, "ThisType", ThisType$0);
15937
16071
  }
15938
- var Shebang$0 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R98, "Shebang /#![^\\r\\n]*/")), EOL);
16072
+ var Shebang$0 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R99, "Shebang /#![^\\r\\n]*/")), EOL);
15939
16073
  function Shebang(ctx, state2) {
15940
16074
  return (0, import_lib2.$EVENT)(ctx, state2, "Shebang", Shebang$0);
15941
16075
  }
15942
- var CivetPrologue$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R99, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, (0, import_lib2.$EXPECT)($R22, "CivetPrologue /[ \\t]*/"), (0, import_lib2.$C)(EOL, (0, import_lib2.$Y)(RestOfLine))), function(value) {
16076
+ var CivetPrologue$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R100, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, (0, import_lib2.$EXPECT)($R23, "CivetPrologue /[ \\t]*/"), (0, import_lib2.$C)(EOL, (0, import_lib2.$Y)(RestOfLine))), function(value) {
15943
16077
  var content = value[2];
15944
16078
  return content;
15945
- }), CivetPrologue$1 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R99, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, (0, import_lib2.$EXPECT)($R22, "CivetPrologue /[ \\t]*/"), (0, import_lib2.$C)(EOL, (0, import_lib2.$Y)(RestOfLine))), function(value) {
16079
+ }), CivetPrologue$1 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R100, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, (0, import_lib2.$EXPECT)($R23, "CivetPrologue /[ \\t]*/"), (0, import_lib2.$C)(EOL, (0, import_lib2.$Y)(RestOfLine))), function(value) {
15946
16080
  var content = value[2];
15947
16081
  return content;
15948
16082
  }), CivetPrologue$$ = [CivetPrologue$0, CivetPrologue$1];
15949
16083
  function CivetPrologue(ctx, state2) {
15950
16084
  return (0, import_lib2.$EVENT_C)(ctx, state2, "CivetPrologue", CivetPrologue$$);
15951
16085
  }
15952
- var CivetPrologueContent$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L248, 'CivetPrologueContent "civet"'), NonIdContinue, (0, import_lib2.$Q)(CivetOption), (0, import_lib2.$EXPECT)($R100, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
16086
+ var CivetPrologueContent$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L248, 'CivetPrologueContent "civet"'), NonIdContinue, (0, import_lib2.$Q)(CivetOption), (0, import_lib2.$EXPECT)($R101, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
15953
16087
  var options = $3;
15954
16088
  return {
15955
16089
  type: "CivetPrologue",
@@ -15960,7 +16094,7 @@ ${js}`
15960
16094
  function CivetPrologueContent(ctx, state2) {
15961
16095
  return (0, import_lib2.$EVENT)(ctx, state2, "CivetPrologueContent", CivetPrologueContent$0);
15962
16096
  }
15963
- var CivetOption$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R101, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16097
+ var CivetOption$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R102, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15964
16098
  let optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => l ? l.toUpperCase() : ""), value = $3 ? $4 : $1 !== "-";
15965
16099
  switch (optionName) {
15966
16100
  case "tab":
@@ -15977,11 +16111,11 @@ ${js}`
15977
16111
  function CivetOption(ctx, state2) {
15978
16112
  return (0, import_lib2.$EVENT)(ctx, state2, "CivetOption", CivetOption$0);
15979
16113
  }
15980
- var UnknownPrologue$0 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R99, "UnknownPrologue /[\\t ]*/")), StringLiteral, (0, import_lib2.$TEXT)(SimpleStatementDelimiter), EOS);
16114
+ var UnknownPrologue$0 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R100, "UnknownPrologue /[\\t ]*/")), StringLiteral, (0, import_lib2.$TEXT)(SimpleStatementDelimiter), EOS);
15981
16115
  function UnknownPrologue(ctx, state2) {
15982
16116
  return (0, import_lib2.$EVENT)(ctx, state2, "UnknownPrologue", UnknownPrologue$0);
15983
16117
  }
15984
- var TripleSlashDirective$0 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R102, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), (0, import_lib2.$E)(EOS));
16118
+ var TripleSlashDirective$0 = (0, import_lib2.$S)((0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R103, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), (0, import_lib2.$E)(EOS));
15985
16119
  function TripleSlashDirective(ctx, state2) {
15986
16120
  return (0, import_lib2.$EVENT)(ctx, state2, "TripleSlashDirective", TripleSlashDirective$0);
15987
16121
  }
@@ -15995,13 +16129,13 @@ ${js}`
15995
16129
  function PrologueString(ctx, state2) {
15996
16130
  return (0, import_lib2.$EVENT_C)(ctx, state2, "PrologueString", PrologueString$$);
15997
16131
  }
15998
- var EOS$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R103, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), (0, import_lib2.$P)(RestOfLine)), function(value) {
16132
+ var EOS$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R104, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), (0, import_lib2.$P)(RestOfLine)), function(value) {
15999
16133
  return value[1];
16000
16134
  });
16001
16135
  function EOS(ctx, state2) {
16002
16136
  return (0, import_lib2.$EVENT)(ctx, state2, "EOS", EOS$0);
16003
16137
  }
16004
- var EOL$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R104, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16138
+ var EOL$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R105, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16005
16139
  return { $loc, token: $0 };
16006
16140
  });
16007
16141
  function EOL(ctx, state2) {
@@ -16272,7 +16406,8 @@ ${js}`
16272
16406
  return (0, import_lib2.$EVENT)(ctx, state2, "ObjectIsEnabled", ObjectIsEnabled$0);
16273
16407
  }
16274
16408
  var IsBare$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'IsBare ""'), function($skip, $loc, $0, $1) {
16275
- if (config.iife || config.repl) return $skip;
16409
+ if (config.iife || config.repl)
16410
+ return $skip;
16276
16411
  });
16277
16412
  function IsBare(ctx, state2) {
16278
16413
  return (0, import_lib2.$EVENT)(ctx, state2, "IsBare", IsBare$0);
@@ -16349,10 +16484,7 @@ ${js}`
16349
16484
  }
16350
16485
  }), Object.defineProperty(config, "jsxCode", {
16351
16486
  set(b) {
16352
- for (let option of [
16353
- "jsxCodeNested",
16354
- "jsxCodeSameLine"
16355
- ])
16487
+ for (let option of ["jsxCodeNested", "jsxCodeSameLine"])
16356
16488
  config[option] = b;
16357
16489
  }
16358
16490
  }), Object.defineProperty(config, "operators", {
@@ -16364,14 +16496,14 @@ ${js}`
16364
16496
  o.forEach((name) => {
16365
16497
  if (typeof name != "string")
16366
16498
  throw new Error("operators configuration array must contain only strings");
16367
- setOperatorBehavior(name, void 0);
16499
+ return setOperatorBehavior(name, void 0);
16368
16500
  });
16369
16501
  else
16370
16502
  for (let [name, behavior] of Object.entries(o)) {
16371
- if (typeof behavior == "string" && (behavior = behavior.trim(), behavior = behavior ? parse(behavior, {
16503
+ if (typeof behavior == "string" && (behavior = behavior.trim(), behavior ? behavior = parse(behavior, {
16372
16504
  startRule: "OperatorBehavior",
16373
16505
  filename: `operator config for ${name}`
16374
- }) : void 0), behavior && typeof behavior != "object")
16506
+ }) : behavior = void 0), behavior && typeof behavior != "object")
16375
16507
  throw new Error("operators configuration object must have string or object values");
16376
16508
  setOperatorBehavior(name, behavior);
16377
16509
  }
@@ -16385,7 +16517,8 @@ ${js}`
16385
16517
  var Init$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(Shebang), Prologue), function($skip, $loc, $0, $1, $2) {
16386
16518
  var directives = $2;
16387
16519
  return directives.forEach((directive) => {
16388
- directive.type === "CivetPrologue" && Object.assign(config, directive.config);
16520
+ if (directive.type === "CivetPrologue")
16521
+ return Object.assign(config, directive.config);
16389
16522
  }), config.strict && ($0 = [...$0, `"use strict";
16390
16523
  `]), $0;
16391
16524
  });
@@ -16396,11 +16529,11 @@ ${js}`
16396
16529
  function Prologue(ctx, state2) {
16397
16530
  return (0, import_lib2.$EVENT)(ctx, state2, "Prologue", Prologue$0);
16398
16531
  }
16399
- var ProloguePrefix$0 = (0, import_lib2.$S)(Prologue, (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R105, "ProloguePrefix /[^]*/")));
16532
+ var ProloguePrefix$0 = (0, import_lib2.$S)(Prologue, (0, import_lib2.$R$0)((0, import_lib2.$EXPECT)($R106, "ProloguePrefix /[^]*/")));
16400
16533
  function ProloguePrefix(ctx, state2) {
16401
16534
  return (0, import_lib2.$EVENT)(ctx, state2, "ProloguePrefix", ProloguePrefix$0);
16402
16535
  }
16403
- var Indent$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R22, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16536
+ var Indent$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R23, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16404
16537
  let level = getIndentLevel($0, config.tab);
16405
16538
  return {
16406
16539
  $loc,
@@ -16485,8 +16618,8 @@ ${js}`
16485
16618
  parse: (input, options = {}) => {
16486
16619
  let { fail, validate, reset } = (0, import_lib2.Validator)(), ctx = { expectation: "", fail };
16487
16620
  if (typeof input != "string") throw new Error("Input must be a string");
16488
- let parser2 = options.startRule != null ? grammar[options.startRule] : Object.values(grammar)[0];
16489
- if (!parser2) throw new Error(`Could not find rule with name '${options.startRule}'`);
16621
+ let parser2;
16622
+ if (options.startRule !== null && options.startRule !== void 0 ? parser2 = grammar[options.startRule] : parser2 = Object.values(grammar)[0], !parser2) throw new Error(`Could not find rule with name '${options.startRule}'`);
16490
16623
  let filename2 = options.filename || "<anonymous>";
16491
16624
  return reset(), Object.assign(ctx, { ...options.events, tokenize: options.tokenize }), validate(input, parser2(ctx, {
16492
16625
  input,
@@ -16605,14 +16738,15 @@ ${js}`
16605
16738
  "unscopables"
16606
16739
  ];
16607
16740
 
16608
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\sourcemap.civet.jsx
16609
- var sourcemap_civet_exports = {};
16610
- __export(sourcemap_civet_exports, {
16741
+ // source/sourcemap.civet
16742
+ var sourcemap_exports = {};
16743
+ __export(sourcemap_exports, {
16611
16744
  SourceMap: () => SourceMap,
16612
16745
  base64Encode: () => base64Encode,
16613
16746
  decodeVLQ: () => decodeVLQ,
16614
16747
  locationTable: () => locationTable,
16615
- lookupLineColumn: () => lookupLineColumn
16748
+ lookupLineColumn: () => lookupLineColumn,
16749
+ smRegexp: () => smRegexp
16616
16750
  });
16617
16751
  function locationTable(input) {
16618
16752
  let linesRe = /([^\r\n]*)(\r\n|\r|\n|$)/y, lines = [], line = 0, pos = 0, ref;
@@ -16626,7 +16760,7 @@ ${js}`
16626
16760
  prevEnd = table[l++];
16627
16761
  return [l, pos - prevEnd];
16628
16762
  }
16629
- var EOL2 = /\r?\n|\r/, SourceMap = class {
16763
+ var EOL2 = /\r?\n|\r/, SourceMap = class _SourceMap {
16630
16764
  lines;
16631
16765
  line;
16632
16766
  colOffset;
@@ -16635,8 +16769,9 @@ ${js}`
16635
16769
  srcColumn;
16636
16770
  srcTable;
16637
16771
  source;
16638
- constructor(source1) {
16639
- this.source = source1, this.lines = [[]], this.line = 0, this.colOffset = 0, this.srcLine = 0, this.srcColumn = 0, this.srcTable = locationTable(this.source);
16772
+ sourceFileName;
16773
+ constructor(source1, sourceFileName) {
16774
+ this.source = source1, this.sourceFileName = sourceFileName, this.lines = [[]], this.line = 0, this.colOffset = 0, this.srcLine = 0, this.srcColumn = 0, this.srcTable = locationTable(this.source);
16640
16775
  }
16641
16776
  renderMappings() {
16642
16777
  let lastSourceLine = 0, lastSourceColumn = 0;
@@ -16660,11 +16795,11 @@ ${js}`
16660
16795
  return results;
16661
16796
  })().join(";");
16662
16797
  }
16663
- json(srcFileName, outFileName) {
16798
+ json(outFileName) {
16664
16799
  return {
16665
16800
  version: 3,
16666
16801
  file: outFileName,
16667
- sources: [srcFileName],
16802
+ sources: [this.sourceFileName],
16668
16803
  mappings: this.renderMappings(),
16669
16804
  names: [],
16670
16805
  sourcesContent: [this.source],
@@ -16674,8 +16809,8 @@ ${js}`
16674
16809
  };
16675
16810
  }
16676
16811
  /** Generate a comment with the source mapping URL. */
16677
- comment(srcFileName, outFileName) {
16678
- return `//# sourceMappingURL=data:application/json;base64,${base64Encode(JSON.stringify(this.json(srcFileName, outFileName)))}`;
16812
+ comment(outFileName) {
16813
+ return `//# sourceMappingURL=data:application/json;base64,${base64Encode(JSON.stringify(this.json(outFileName)))}`;
16679
16814
  }
16680
16815
  updateSourceMap(outputStr, inputPos, colOffset = 0) {
16681
16816
  let outLines = outputStr.split(EOL2), srcLine, srcCol;
@@ -16687,37 +16822,47 @@ ${js}`
16687
16822
  this.colOffset = line.length, this.srcColumn += line.length, inputPos != null ? this.lines[this.line].push([l, 0, srcLine + i, srcCol]) : l != 0 && this.lines[this.line].push([l]);
16688
16823
  }
16689
16824
  }
16825
+ /** Compose this downstream source map with an upstream source map, modifying this */
16826
+ composeUpstream(upstreamMap) {
16827
+ (typeof upstreamMap == "string" || !("lines" in upstreamMap)) && (upstreamMap = _SourceMap.parseWithLines(upstreamMap)), this.lines = _SourceMap.composeLines(upstreamMap.lines, this.lines), upstreamMap.sourcesContent && (this.source = upstreamMap.sourcesContent[0]), upstreamMap.sources && (this.sourceFileName = upstreamMap.sources[0]);
16828
+ }
16829
+ /** Compose this upstream source map with a downstream source map, modifying this */
16830
+ composeDownstream(downstreamMap) {
16831
+ (typeof downstreamMap == "string" || !("lines" in downstreamMap)) && (downstreamMap = _SourceMap.parseWithLines(downstreamMap)), this.lines = _SourceMap.composeLines(this.lines, downstreamMap.lines);
16832
+ }
16690
16833
  /**
16691
- Remap a string with compiled code and a source map to use a new source map
16692
- referencing upstream source files.
16693
- This modifies the upstream map in place.
16834
+ Remap compiled code with an inline source map to use an upstream source map.
16835
+ This modifies the provided upstream map in place.
16694
16836
  */
16695
- static remap = (codeWithSourceMap, upstreamMap, sourcePath, targetPath) => {
16837
+ static remap = (codeWithSourceMap, upstreamMap, targetPath) => {
16696
16838
  let sourceMapText, codeWithoutSourceMap = codeWithSourceMap.replace(smRegexp, (_match, sm) => (sourceMapText = sm, ""));
16697
16839
  if (sourceMapText) {
16698
- let parsed = this.parseWithLines(sourceMapText), composedLines = this.composeLines(upstreamMap.lines, parsed.lines);
16699
- upstreamMap.lines = composedLines;
16840
+ let downstreamMap = this.parseWithLines(sourceMapText);
16841
+ upstreamMap.composeDownstream(downstreamMap);
16700
16842
  }
16701
16843
  return `${codeWithoutSourceMap}
16702
- ${upstreamMap.comment(sourcePath, targetPath)}`;
16844
+ ${upstreamMap.comment(targetPath)}`;
16703
16845
  };
16704
16846
  /**
16705
16847
  Compose lines from an upstream source map with lines from a downstream source map.
16848
+ Returns lines in the downstream generated coordinate space.
16706
16849
  */
16707
- static composeLines = (upstreamMapping, lines) => lines.map((line) => line.map((entry) => {
16850
+ static composeLines = (upstreamLines, downstreamLines) => downstreamLines.map((line) => line.map((entry) => {
16708
16851
  if (entry.length === 1)
16709
16852
  return entry;
16710
- let [colDelta, sourceFileIndex, srcLine, srcCol] = entry, srcPos = remapPosition([srcLine, srcCol], upstreamMapping);
16853
+ let [colDelta, sourceFileIndex, srcLine, srcCol] = entry, srcPos = remapPosition([srcLine, srcCol], upstreamLines);
16711
16854
  if (!srcPos)
16712
16855
  return [entry[0]];
16713
16856
  let [upstreamLine, upstreamCol] = srcPos;
16714
16857
  return entry.length === 4 ? [colDelta, sourceFileIndex, upstreamLine, upstreamCol] : [colDelta, sourceFileIndex, upstreamLine, upstreamCol, entry[4]];
16715
16858
  }));
16716
16859
  /**
16717
- Parse a base64 encoded source map string into a SourceMapJSON object with lines.
16718
- */
16719
- static parseWithLines = (base64encodedJSONstr) => {
16720
- let json = JSON.parse(Buffer.from(base64encodedJSONstr, "base64").toString("utf8")), sourceLine = 0, sourceColumn = 0, lines = json.mappings.split(";").map((line) => line.length === 0 ? [] : line.split(",").map((entry) => {
16860
+ * Parse a possibly-base64-encoded source map
16861
+ * into a SourceMapJSON object with lines.
16862
+ */
16863
+ static parseWithLines = (json) => {
16864
+ typeof json == "string" && (json = JSON.parse(Buffer.from(json, "base64").toString("utf8")));
16865
+ let sourceLine = 0, sourceColumn = 0, lines = json.mappings.split(";").map((line) => line.length === 0 ? [] : line.split(",").map((entry) => {
16721
16866
  let result = decodeVLQ(entry);
16722
16867
  switch (result.length) {
16723
16868
  case 1:
@@ -16770,7 +16915,7 @@ ${upstreamMap.comment(sourcePath, targetPath)}`;
16770
16915
  let c = mapping.charCodeAt(i);
16771
16916
  (c & 127) != c && decodeError(`Invalid mapping character: ${JSON.stringify(String.fromCharCode(c))}`);
16772
16917
  let index = vlqTable[c & 127];
16773
- if (index === 255 && decodeError(`Invalid mapping character: ${JSON.stringify(String.fromCharCode(c))}`), i++, vlq |= (index & 31) << shift, shift += 5, !(index & 32))
16918
+ if (index === 255 && decodeError(`Invalid mapping character: ${JSON.stringify(String.fromCharCode(c))}`), i++, vlq |= (index & 31) << shift, shift += 5, (index & 32) === 0)
16774
16919
  break;
16775
16920
  }
16776
16921
  vlq & 1 ? v = -(vlq >> 1) : v = vlq >> 1, result.push(v);
@@ -16783,15 +16928,15 @@ ${upstreamMap.comment(sourcePath, targetPath)}`;
16783
16928
  let i = 0, p = 0, l = textLine.length, lastMapping, lastMappingPosition = 0;
16784
16929
  for (; i < l; ) {
16785
16930
  let mapping = textLine[i];
16786
- if (p += mapping[0], mapping.length === 4 && (lastMapping = mapping, lastMappingPosition = p), p >= character)
16931
+ if (p += mapping[0], mapping.length === 4 && p <= character && (lastMapping = mapping, lastMappingPosition = p), p >= character)
16787
16932
  break;
16788
16933
  i++;
16789
16934
  }
16790
- if (character - lastMappingPosition == 0 && lastMapping)
16791
- return [lastMapping[2], lastMapping[3]];
16935
+ if (lastMapping)
16936
+ return [lastMapping[2], lastMapping[3] + character - lastMappingPosition];
16792
16937
  };
16793
16938
 
16794
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\state-cache.civet.jsx
16939
+ // source/state-cache.civet
16795
16940
  var StateCache = class {
16796
16941
  cache = /* @__PURE__ */ new Map();
16797
16942
  get(key) {
@@ -16814,8 +16959,7 @@ ${upstreamMap.comment(sourcePath, targetPath)}`;
16814
16959
  }
16815
16960
  };
16816
16961
 
16817
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\main.civet.jsx
16818
- var { SourceMap: SourceMap2 } = sourcemap_civet_exports;
16962
+ // source/main.civet
16819
16963
  var ParseErrors = class extends Error {
16820
16964
  name = "ParseErrors";
16821
16965
  errors;
@@ -16849,27 +16993,27 @@ ${upstreamMap.comment(sourcePath, targetPath)}`;
16849
16993
  "AllowClassImplicitCall",
16850
16994
  "AllowBracedApplication",
16851
16995
  "AllowIndentedApplication",
16852
- "AllowMultiLineImplicitObjectLiteral",
16853
16996
  "AllowNestedBinaryOp",
16854
16997
  "AllowNewlineBinaryOp",
16855
16998
  "AllowTrailingMemberProperty",
16999
+ "AllowImplicitFragment",
16856
17000
  "AllowPipeline",
16857
17001
  "ForbidClassImplicitCall",
16858
17002
  "ForbidBracedApplication",
16859
17003
  "ForbidIndentedApplication",
16860
- "ForbidMultiLineImplicitObjectLiteral",
16861
17004
  "ForbidNestedBinaryOp",
16862
17005
  "ForbidNewlineBinaryOp",
16863
17006
  "ForbidTrailingMemberProperty",
17007
+ "ForbidImplicitFragment",
16864
17008
  "ForbidPipeline",
16865
17009
  "RestoreAll",
16866
17010
  "RestoreClassImplicitCall",
16867
- "RestoreMultiLineImplicitObjectLiteral",
16868
17011
  "RestoreBracedApplication",
16869
17012
  "RestoreIndentedApplication",
16870
17013
  "RestoreTrailingMemberProperty",
16871
17014
  "RestoreNestedBinaryOp",
16872
17015
  "RestoreNewlineBinaryOp",
17016
+ "RestoreImplicitFragment",
16873
17017
  "RestorePipeline"
16874
17018
  ]);
16875
17019
  function decode(src) {
@@ -16889,7 +17033,7 @@ ${upstreamMap.comment(sourcePath, targetPath)}`;
16889
17033
  return src.toString("utf8");
16890
17034
  }
16891
17035
  function compile(src, options) {
16892
- src = decode(src), options ? options = { ...options } : options = {}, options.parseOptions = { ...options.parseOptions };
17036
+ src = decode(src), options ? options = { ...options } : options = {}, options.parseOptions = { ...options.parseOptions }, src = src.replace(smRegexp, (_match, sm) => (options.upstreamSourceMap ??= sm, ""));
16893
17037
  let filename2 = options.filename || "unknown";
16894
17038
  filename2.endsWith(".coffee") && !/^(#![^\r\n]*(\r\n|\n|\r))?\s*['"]civet/.test(src) && (options.parseOptions.coffeeCompat = !0);
16895
17039
  let { hits, trace, noCache } = options, events;
@@ -16935,20 +17079,17 @@ ${counts}`;
16935
17079
  throw new ParseErrors(options.errors);
16936
17080
  }
16937
17081
  if (options.sourceMap || options.inlineMap) {
16938
- options.sourceMap = new SourceMap2(src);
16939
- let code = generate_civet_default(ast2, options);
16940
- if (checkErrors(), options.inlineMap) {
17082
+ options.sourceMap = new SourceMap(src, filename2);
17083
+ let code = generate_default(ast2, options);
17084
+ if (checkErrors(), options.upstreamSourceMap != null && options.sourceMap.composeUpstream(options.upstreamSourceMap), options.inlineMap) {
16941
17085
  let outputFilename = options.outputFilename ?? (options.js ? filename2 + ".jsx" : filename2 + ".tsx");
16942
17086
  return `${code}
16943
- ${options.sourceMap.comment(filename2, outputFilename)}`;
17087
+ ${options.sourceMap.comment(outputFilename)}`;
16944
17088
  } else
16945
- return {
16946
- code,
16947
- sourceMap: options.sourceMap
16948
- };
17089
+ return { code, sourceMap: options.sourceMap };
16949
17090
  }
16950
- let result = generate_civet_default(ast2, options);
16951
- return options.errors?.length && (delete options.errors, options.sourceMap = new SourceMap2(src), generate_civet_default(ast2, options), checkErrors()), result;
17091
+ let result = generate_default(ast2, options);
17092
+ return options.errors?.length && (delete options.errors, options.sourceMap = new SourceMap(src, filename2), generate_default(ast2, options), checkErrors()), result;
16952
17093
  }
16953
17094
  return ast.then != null ? ast.then(rest) : rest(ast);
16954
17095
  }
@@ -16985,13 +17126,17 @@ ${options.sourceMap.comment(filename2, outputFilename)}`;
16985
17126
  return err instanceof import_lib2.ParseError || err instanceof ParseErrors;
16986
17127
  };
16987
17128
 
16988
- // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\browser.civet.jsx
17129
+ // source/browser.civet
16989
17130
  async function runScripts(type = "text/civet") {
16990
17131
  let scripts = window.document.querySelectorAll(`script[type=${JSON.stringify(type)}]`);
16991
- for (let i1 = 0, len3 = scripts.length; i1 < len3; i1++) {
16992
- let i = i1, script = scripts[i1];
16993
- runScript(script, `<script>${i}`);
16994
- }
17132
+ await Promise.all((() => {
17133
+ let results = [];
17134
+ for (let i1 = 0, len3 = scripts.length; i1 < len3; i1++) {
17135
+ let i = i1, script = scripts[i1];
17136
+ results.push(runScript(script, `<script>${i}`));
17137
+ }
17138
+ return results;
17139
+ })());
16995
17140
  }
16996
17141
  async function runScript(script, name = "<script>") {
16997
17142
  let options = {
@@ -17031,5 +17176,5 @@ ${options.sourceMap.comment(filename2, outputFilename)}`;
17031
17176
  return autoRunScripts([document.head, document.body]);
17032
17177
  });
17033
17178
  }
17034
- return __toCommonJS(browser_civet_exports);
17179
+ return __toCommonJS(browser_exports);
17035
17180
  })();