@markw65/monkeyc-optimizer 1.1.79 → 1.1.81

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.
@@ -26,8 +26,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_PVNDN7BB_exports = {};
30
- __export(chunk_PVNDN7BB_exports, {
29
+ var chunk_W4QVHCFN_exports = {};
30
+ __export(chunk_W4QVHCFN_exports, {
31
31
  EnumTagsConst: () => EnumTagsConst,
32
32
  LastTypeTag: () => LastTypeTag,
33
33
  ObjectLikeTagsConst: () => ObjectLikeTagsConst,
@@ -139,8 +139,8 @@ __export(chunk_PVNDN7BB_exports, {
139
139
  visitorNode: () => visitorNode,
140
140
  xml_util_exports: () => xml_util_exports
141
141
  });
142
- module.exports = __toCommonJS(chunk_PVNDN7BB_exports);
143
- var import_chunk_NHZRKHZO = require("./chunk-NHZRKHZO.cjs");
142
+ module.exports = __toCommonJS(chunk_W4QVHCFN_exports);
143
+ var import_chunk_X7QCZR3F = require("./chunk-X7QCZR3F.cjs");
144
144
  var import_chunk_JDC43A3I = require("./chunk-JDC43A3I.cjs");
145
145
  var import_chunk_ABYVSU2C = require("./chunk-ABYVSU2C.cjs");
146
146
  var import_node_assert = __toESM(require("node:assert"));
@@ -7033,7 +7033,7 @@ function buildReducedGraph(state, root, refsForUpdate, notice) {
7033
7033
  switch (node.type) {
7034
7034
  case "ImportModule":
7035
7035
  case "Using":
7036
- (0, import_chunk_NHZRKHZO.forEach)(
7036
+ (0, import_chunk_X7QCZR3F.forEach)(
7037
7037
  notice(node, node, false, () => []),
7038
7038
  (e) => allEvents.push(e)
7039
7039
  );
@@ -7042,7 +7042,7 @@ function buildReducedGraph(state, root, refsForUpdate, notice) {
7042
7042
  case "ModuleDeclaration":
7043
7043
  if (rootNode !== node)
7044
7044
  return [];
7045
- (0, import_chunk_NHZRKHZO.forEach)(
7045
+ (0, import_chunk_X7QCZR3F.forEach)(
7046
7046
  notice(node, node, false, () => []),
7047
7047
  (e) => {
7048
7048
  addEvent(localState.curBlock, e);
@@ -7367,9 +7367,9 @@ function buildReducedGraph(state, root, refsForUpdate, notice) {
7367
7367
  );
7368
7368
  }
7369
7369
  } else {
7370
- (0, import_chunk_NHZRKHZO.forEach)(events, (e) => e.mayThrow = false);
7370
+ (0, import_chunk_X7QCZR3F.forEach)(events, (e) => e.mayThrow = false);
7371
7371
  }
7372
- (0, import_chunk_NHZRKHZO.forEach)(events, (event) => {
7372
+ (0, import_chunk_X7QCZR3F.forEach)(events, (event) => {
7373
7373
  if (event.mayThrow) {
7374
7374
  for (let i = localState.stack.length; i--; ) {
7375
7375
  const target = localState.stack[i].throw;
@@ -7524,7 +7524,7 @@ var init_control_flow = (0, import_chunk_ABYVSU2C.__esm)({
7524
7524
  "src/control-flow.ts"() {
7525
7525
  "use strict";
7526
7526
  (0, import_chunk_JDC43A3I.init_ast)();
7527
- (0, import_chunk_NHZRKHZO.init_util)();
7527
+ (0, import_chunk_X7QCZR3F.init_util)();
7528
7528
  Terminals = {
7529
7529
  BreakStatement: "break",
7530
7530
  ContinueStatement: "continue",
@@ -7551,12 +7551,12 @@ var init_control_flow = (0, import_chunk_ABYVSU2C.__esm)({
7551
7551
  if (!from.succs) {
7552
7552
  from.succs = [to];
7553
7553
  } else {
7554
- (0, import_chunk_NHZRKHZO.pushUnique)(from.succs, to);
7554
+ (0, import_chunk_X7QCZR3F.pushUnique)(from.succs, to);
7555
7555
  }
7556
7556
  if (!to.preds) {
7557
7557
  to.preds = [from];
7558
7558
  } else {
7559
- (0, import_chunk_NHZRKHZO.pushUnique)(to.preds, from);
7559
+ (0, import_chunk_X7QCZR3F.pushUnique)(to.preds, from);
7560
7560
  }
7561
7561
  }
7562
7562
  newBlock(block) {
@@ -7859,11 +7859,10 @@ function mergeSingle(pair) {
7859
7859
  const fromE = pair.bvalue;
7860
7860
  if (toE.enum !== fromE.enum) {
7861
7861
  if (toE.value && fromE.value) {
7862
- const toValue2 = tryUnion(toE.value, fromE.value);
7863
- if (toValue2) {
7864
- const e = { value: toValue2 };
7865
- return [e, true];
7866
- }
7862
+ const result = cloneType(toE.value);
7863
+ unionInto(result, fromE.value);
7864
+ const e = { value: result };
7865
+ return [e, true];
7867
7866
  }
7868
7867
  return [null, true];
7869
7868
  }
@@ -7917,8 +7916,8 @@ function mergeObjectValues(to, from) {
7917
7916
  function mergeStateDecls(to, from) {
7918
7917
  let changed = false;
7919
7918
  let result = to;
7920
- (0, import_chunk_NHZRKHZO.forEach)(from, (v) => {
7921
- if ((0, import_chunk_NHZRKHZO.some)(to, (t) => t === v)) {
7919
+ (0, import_chunk_X7QCZR3F.forEach)(from, (v) => {
7920
+ if ((0, import_chunk_X7QCZR3F.some)(to, (t) => t === v)) {
7922
7921
  return;
7923
7922
  }
7924
7923
  if (Array.isArray(result)) {
@@ -8085,7 +8084,7 @@ var init_union_type = (0, import_chunk_ABYVSU2C.__esm)({
8085
8084
  "use strict";
8086
8085
  (0, import_chunk_JDC43A3I.init_ast)();
8087
8086
  init_data_flow();
8088
- (0, import_chunk_NHZRKHZO.init_util)();
8087
+ (0, import_chunk_X7QCZR3F.init_util)();
8089
8088
  init_could_be();
8090
8089
  init_intersection_type();
8091
8090
  init_sub_type();
@@ -8100,7 +8099,7 @@ function expandTypedef(t) {
8100
8099
  );
8101
8100
  const tExpanded = cloneType(t);
8102
8101
  clearValuesUnder(tExpanded, 262144, true);
8103
- (0, import_chunk_NHZRKHZO.forEach)(decls, (decl) => unionInto(tExpanded, decl.resolvedType));
8102
+ (0, import_chunk_X7QCZR3F.forEach)(decls, (decl) => unionInto(tExpanded, decl.resolvedType));
8104
8103
  return tExpanded;
8105
8104
  }
8106
8105
  function intersectEnum(t, e) {
@@ -8294,9 +8293,9 @@ function intersectionValue(pair) {
8294
8293
  case 4096:
8295
8294
  case 8192: {
8296
8295
  const common = /* @__PURE__ */ new Set();
8297
- (0, import_chunk_NHZRKHZO.forEach)(
8296
+ (0, import_chunk_X7QCZR3F.forEach)(
8298
8297
  pair.avalue,
8299
- (sna) => (0, import_chunk_NHZRKHZO.some)(pair.bvalue, (snb) => sna === snb) && common.add(sna)
8298
+ (sna) => (0, import_chunk_X7QCZR3F.some)(pair.bvalue, (snb) => sna === snb) && common.add(sna)
8300
8299
  );
8301
8300
  if (!common.size)
8302
8301
  return null;
@@ -8305,9 +8304,9 @@ function intersectionValue(pair) {
8305
8304
  }
8306
8305
  case 16384: {
8307
8306
  const common = /* @__PURE__ */ new Set();
8308
- (0, import_chunk_NHZRKHZO.forEach)(pair.avalue, (sna) => {
8307
+ (0, import_chunk_X7QCZR3F.forEach)(pair.avalue, (sna) => {
8309
8308
  const superA = getSuperClasses(sna);
8310
- (0, import_chunk_NHZRKHZO.forEach)(pair.bvalue, (snb) => {
8309
+ (0, import_chunk_X7QCZR3F.forEach)(pair.bvalue, (snb) => {
8311
8310
  if (sna === snb || superA && superA.has(snb)) {
8312
8311
  common.add(sna);
8313
8312
  }
@@ -8554,7 +8553,7 @@ function restrictExactTypesByEquality(a, b) {
8554
8553
  }
8555
8554
  case 262144:
8556
8555
  return restrictByEquality(
8557
- (0, import_chunk_NHZRKHZO.reduce)(
8556
+ (0, import_chunk_X7QCZR3F.reduce)(
8558
8557
  a.value,
8559
8558
  (cur, decl) => {
8560
8559
  unionInto(cur, decl.resolvedType);
@@ -8621,7 +8620,7 @@ var init_intersection_type = (0, import_chunk_ABYVSU2C.__esm)({
8621
8620
  "use strict";
8622
8621
  init_api();
8623
8622
  init_data_flow();
8624
- (0, import_chunk_NHZRKHZO.init_util)();
8623
+ (0, import_chunk_X7QCZR3F.init_util)();
8625
8624
  init_could_be();
8626
8625
  init_interp();
8627
8626
  init_types();
@@ -8735,14 +8734,14 @@ function subtypeOfValue(pair) {
8735
8734
  case 8192: {
8736
8735
  const asd = pair.avalue;
8737
8736
  const bsd = pair.bvalue;
8738
- return (0, import_chunk_NHZRKHZO.every)(asd, (sna) => (0, import_chunk_NHZRKHZO.some)(bsd, (snb) => sna === snb));
8737
+ return (0, import_chunk_X7QCZR3F.every)(asd, (sna) => (0, import_chunk_X7QCZR3F.some)(bsd, (snb) => sna === snb));
8739
8738
  }
8740
8739
  case 16384: {
8741
8740
  const asd = pair.avalue;
8742
8741
  const bsd = pair.bvalue;
8743
- return (0, import_chunk_NHZRKHZO.every)(asd, (sna) => {
8742
+ return (0, import_chunk_X7QCZR3F.every)(asd, (sna) => {
8744
8743
  const superA = getSuperClasses(sna);
8745
- return (0, import_chunk_NHZRKHZO.some)(bsd, (snb) => {
8744
+ return (0, import_chunk_X7QCZR3F.some)(bsd, (snb) => {
8746
8745
  if (sna === snb || superA && superA.has(snb)) {
8747
8746
  return true;
8748
8747
  }
@@ -8778,7 +8777,7 @@ var init_sub_type = (0, import_chunk_ABYVSU2C.__esm)({
8778
8777
  "use strict";
8779
8778
  init_api();
8780
8779
  init_data_flow();
8781
- (0, import_chunk_NHZRKHZO.init_util)();
8780
+ (0, import_chunk_X7QCZR3F.init_util)();
8782
8781
  init_could_be();
8783
8782
  init_intersection_type();
8784
8783
  init_types();
@@ -9199,13 +9198,13 @@ function isTypeStateKey(decl) {
9199
9198
  return Array.isArray(decl) || decl.type !== "MemberDecl" && decl.type !== "Unknown";
9200
9199
  }
9201
9200
  function declIsLocal(decl) {
9202
- return (0, import_chunk_NHZRKHZO.some)(
9201
+ return (0, import_chunk_X7QCZR3F.some)(
9203
9202
  decl,
9204
9203
  (d) => d.type === "BinaryExpression" || d.type === "Identifier" || d.type === "VariableDeclarator" && isLocal(d)
9205
9204
  );
9206
9205
  }
9207
9206
  function declIsNonLocal(decl) {
9208
- return (0, import_chunk_NHZRKHZO.some)(decl, (d) => d.type === "VariableDeclarator" && !isLocal(d));
9207
+ return (0, import_chunk_X7QCZR3F.some)(decl, (d) => d.type === "VariableDeclarator" && !isLocal(d));
9209
9208
  }
9210
9209
  function localDeclName(decl) {
9211
9210
  if (Array.isArray(decl))
@@ -9218,12 +9217,12 @@ function localDeclName(decl) {
9218
9217
  case "VariableDeclarator":
9219
9218
  return variableDeclarationName(decl.node.id);
9220
9219
  }
9221
- throw new import_chunk_NHZRKHZO.AwaitedError(
9220
+ throw new import_chunk_X7QCZR3F.AwaitedError(
9222
9221
  declFullName(decl).then((declStr) => `Invalid local decl: ${declStr}`)
9223
9222
  );
9224
9223
  }
9225
9224
  function tsKey(key) {
9226
- return `${(0, import_chunk_NHZRKHZO.map)(key, (k) => {
9225
+ return `${(0, import_chunk_X7QCZR3F.map)(key, (k) => {
9227
9226
  if (k.type === "Literal") {
9228
9227
  return k.raw;
9229
9228
  } else if (isStateNode(k)) {
@@ -9242,7 +9241,7 @@ function sourceLocation(loc) {
9242
9241
  return loc ? `${loc.source || "??"}:${loc.start.line}:${loc.start.column}` : "??";
9243
9242
  }
9244
9243
  function printBlockHeader(block) {
9245
- (0, import_chunk_NHZRKHZO.log)(
9244
+ (0, import_chunk_X7QCZR3F.log)(
9246
9245
  block.order,
9247
9246
  `(${block.node?.loc?.source || "??"}:${block.node?.loc?.start.line || "??"})`,
9248
9247
  `Preds: ${(block.preds || []).map((block2) => block2.order).join(", ")}`
@@ -9268,10 +9267,10 @@ function describeEvent(event) {
9268
9267
  ).then((desc) => `${event.type}: ${desc}`);
9269
9268
  }
9270
9269
  function printBlockEvents(block, extra) {
9271
- (0, import_chunk_NHZRKHZO.log)("Events:");
9272
- (0, import_chunk_NHZRKHZO.forEach)(
9270
+ (0, import_chunk_X7QCZR3F.log)("Events:");
9271
+ (0, import_chunk_X7QCZR3F.forEach)(
9273
9272
  block.events,
9274
- (event) => (0, import_chunk_NHZRKHZO.log)(
9273
+ (event) => (0, import_chunk_X7QCZR3F.log)(
9275
9274
  describeEvent(event).then(
9276
9275
  (eventStr) => ` ${eventStr} ${extra ? extra(event) : ""}`
9277
9276
  )
@@ -9279,7 +9278,7 @@ function printBlockEvents(block, extra) {
9279
9278
  );
9280
9279
  }
9281
9280
  function printBlockTrailer(block) {
9282
- (0, import_chunk_NHZRKHZO.log)(
9281
+ (0, import_chunk_X7QCZR3F.log)(
9283
9282
  `Succs: ${(block.succs || []).map((block2) => block2.order).join(", ")} ExSucc: ${block.exsucc ? block.exsucc.order : ""}`
9284
9283
  );
9285
9284
  }
@@ -9406,7 +9405,7 @@ var init_type_flow_util = (0, import_chunk_ABYVSU2C.__esm)({
9406
9405
  "use strict";
9407
9406
  init_api();
9408
9407
  init_data_flow();
9409
- (0, import_chunk_NHZRKHZO.init_util)();
9408
+ (0, import_chunk_X7QCZR3F.init_util)();
9410
9409
  init_intersection_type();
9411
9410
  init_sub_type();
9412
9411
  init_types();
@@ -9460,7 +9459,7 @@ function calleeObjectType(istate, callee) {
9460
9459
  }
9461
9460
  function checkCallArgs(istate, node, callees, args) {
9462
9461
  const allDiags = [];
9463
- const resultType = (0, import_chunk_NHZRKHZO.reduce)(
9462
+ const resultType = (0, import_chunk_X7QCZR3F.reduce)(
9464
9463
  callees,
9465
9464
  (result, cur) => {
9466
9465
  const curDiags = [];
@@ -9619,7 +9618,7 @@ function isOverride(cur, funcs) {
9619
9618
  const cls = cur.stack?.[cur.stack.length - 1]?.sn;
9620
9619
  if (cls?.type === "ClassDeclaration" && cls.superClasses) {
9621
9620
  const supers = getSuperClasses(cls);
9622
- if (supers && (0, import_chunk_NHZRKHZO.some)(funcs, (func) => {
9621
+ if (supers && (0, import_chunk_X7QCZR3F.some)(funcs, (func) => {
9623
9622
  if (func === cur)
9624
9623
  return false;
9625
9624
  const fcls = func.stack?.[func.stack.length - 1].sn;
@@ -10187,7 +10186,7 @@ var init_interp_call = (0, import_chunk_ABYVSU2C.__esm)({
10187
10186
  "use strict";
10188
10187
  init_api();
10189
10188
  init_optimizer_types();
10190
- (0, import_chunk_NHZRKHZO.init_util)();
10189
+ (0, import_chunk_X7QCZR3F.init_util)();
10191
10190
  init_interp();
10192
10191
  init_sub_type();
10193
10192
  init_type_flow_util();
@@ -10958,7 +10957,7 @@ function evaluateNode(istate, node) {
10958
10957
  byteArray = true;
10959
10958
  }
10960
10959
  }
10961
- if (objectType.value && !(objectType.type & (4096 | 16384 | (byteArray ? 0 : 32768)))) {
10960
+ if (objectType.value && !(objectType.type & (16384 | (byteArray ? 0 : 32768)))) {
10962
10961
  let result = null;
10963
10962
  if (objectType.type & 512) {
10964
10963
  const avalue = getUnionComponent(
@@ -10995,6 +10994,42 @@ function evaluateNode(istate, node) {
10995
10994
  result.type |= 1;
10996
10995
  }
10997
10996
  }
10997
+ if (objectType.type & 4096 && couldBe(property.value, {
10998
+ type: 131072
10999
+ /* Symbol */
11000
+ })) {
11001
+ const mvalue = getUnionComponent(
11002
+ objectType,
11003
+ 4096
11004
+ /* Module */
11005
+ );
11006
+ if (!mvalue) {
11007
+ result = {
11008
+ type: 524287
11009
+ /* Any */
11010
+ };
11011
+ push({
11012
+ value: result,
11013
+ embeddedEffects: object.embeddedEffects || property.embeddedEffects,
11014
+ node
11015
+ });
11016
+ break;
11017
+ }
11018
+ if (result)
11019
+ result = cloneType(result);
11020
+ (0, import_chunk_X7QCZR3F.forEach)(mvalue, (m) => {
11021
+ if (m.decls) {
11022
+ Object.values(m.decls).forEach((sn) => {
11023
+ const t = typeFromTypeStateNodes(istate.state, sn, true);
11024
+ if (result) {
11025
+ unionInto(result, t);
11026
+ } else {
11027
+ result = cloneType(t);
11028
+ }
11029
+ });
11030
+ }
11031
+ });
11032
+ }
10998
11033
  if (byteArray) {
10999
11034
  const t = {
11000
11035
  type: 8
@@ -11121,7 +11156,7 @@ function evaluateNode(istate, node) {
11121
11156
  if (isExact(klass.value) && klass.value.type === 16384) {
11122
11157
  obj.value = { klass: klass.value };
11123
11158
  if (istate.checkTypes && klass.value.value) {
11124
- const callees = (0, import_chunk_NHZRKHZO.map)(
11159
+ const callees = (0, import_chunk_X7QCZR3F.map)(
11125
11160
  klass.value.value,
11126
11161
  (klass2) => klass2.decls?.initialize
11127
11162
  ).flat().filter(
@@ -11323,7 +11358,7 @@ function mustBeIdentical(a, b) {
11323
11358
  return false;
11324
11359
  }
11325
11360
  function isByteArrayData(objectData) {
11326
- return objectData.klass.value && (0, import_chunk_NHZRKHZO.every)(
11361
+ return objectData.klass.value && (0, import_chunk_X7QCZR3F.every)(
11327
11362
  objectData.klass.value,
11328
11363
  (klass) => klass.fullName === "$.Toybox.Lang.ByteArray"
11329
11364
  );
@@ -11335,7 +11370,7 @@ var init_interp = (0, import_chunk_ABYVSU2C.__esm)({
11335
11370
  (0, import_chunk_JDC43A3I.init_ast)();
11336
11371
  init_data_flow();
11337
11372
  init_optimizer_types();
11338
- (0, import_chunk_NHZRKHZO.init_util)();
11373
+ (0, import_chunk_X7QCZR3F.init_util)();
11339
11374
  init_could_be();
11340
11375
  init_interp_binary();
11341
11376
  init_interp_call();
@@ -11574,7 +11609,7 @@ function typeFromTypeStateNode(state, sn, classVsObj) {
11574
11609
  );
11575
11610
  if (value2) {
11576
11611
  const a = [];
11577
- (0, import_chunk_NHZRKHZO.forEach)(value2, (v) => {
11612
+ (0, import_chunk_X7QCZR3F.forEach)(value2, (v) => {
11578
11613
  if (v !== sn)
11579
11614
  a.push(v);
11580
11615
  });
@@ -12068,7 +12103,7 @@ function mustBeFalse(arg) {
12068
12103
  return arg.type === 1 || arg.type === 2 || (arg.type === 8 || arg.type === 16) && arg.value != null && Number(arg.value) === 0;
12069
12104
  }
12070
12105
  function display(type) {
12071
- const names = (v, fn) => (0, import_chunk_NHZRKHZO.map)(v, fn).sort().filter((s, i, arr) => !i || s !== arr[i - 1]).join(" or ");
12106
+ const names = (v, fn) => (0, import_chunk_X7QCZR3F.map)(v, fn).sort().filter((s, i, arr) => !i || s !== arr[i - 1]).join(" or ");
12072
12107
  const parts = [];
12073
12108
  const displayOne = (tv) => {
12074
12109
  switch (tv.type) {
@@ -12226,7 +12261,7 @@ function getStateNodeDeclsWithExactFromType(state, object) {
12226
12261
  switch (type.type) {
12227
12262
  case 32768:
12228
12263
  if (type.value.klass.type === 16384 && type.value.klass.value) {
12229
- (0, import_chunk_NHZRKHZO.forEach)(
12264
+ (0, import_chunk_X7QCZR3F.forEach)(
12230
12265
  type.value.klass.value,
12231
12266
  (sn) => decls.push({ sn, exact: false })
12232
12267
  );
@@ -12234,7 +12269,7 @@ function getStateNodeDeclsWithExactFromType(state, object) {
12234
12269
  break;
12235
12270
  case 4096:
12236
12271
  case 16384:
12237
- (0, import_chunk_NHZRKHZO.forEach)(type.value, (sn) => decls.push({ sn, exact: true }));
12272
+ (0, import_chunk_X7QCZR3F.forEach)(type.value, (sn) => decls.push({ sn, exact: true }));
12238
12273
  break;
12239
12274
  }
12240
12275
  }
@@ -12267,7 +12302,7 @@ var init_types = (0, import_chunk_ABYVSU2C.__esm)({
12267
12302
  init_api();
12268
12303
  (0, import_chunk_JDC43A3I.init_ast)();
12269
12304
  init_data_flow();
12270
- (0, import_chunk_NHZRKHZO.init_util)();
12305
+ (0, import_chunk_X7QCZR3F.init_util)();
12271
12306
  init_interp();
12272
12307
  init_intersection_type();
12273
12308
  init_union_type();
@@ -12327,7 +12362,7 @@ function couldBeHelper(a, b, shallow) {
12327
12362
  262144
12328
12363
  /* Typedef */
12329
12364
  );
12330
- return typedef && (0, import_chunk_NHZRKHZO.some)(typedef, (td) => {
12365
+ return typedef && (0, import_chunk_X7QCZR3F.some)(typedef, (td) => {
12331
12366
  if (!td.resolvedType) {
12332
12367
  throw new Error(`No resolved type for ${td.fullName} in 'couldBe'`);
12333
12368
  }
@@ -12399,15 +12434,15 @@ function couldBeValue(pair, shallow) {
12399
12434
  }
12400
12435
  case 4096:
12401
12436
  case 8192: {
12402
- return (0, import_chunk_NHZRKHZO.some)(
12437
+ return (0, import_chunk_X7QCZR3F.some)(
12403
12438
  pair.avalue,
12404
- (sna) => (0, import_chunk_NHZRKHZO.some)(pair.bvalue, (snb) => sna === snb)
12439
+ (sna) => (0, import_chunk_X7QCZR3F.some)(pair.bvalue, (snb) => sna === snb)
12405
12440
  );
12406
12441
  }
12407
12442
  case 16384: {
12408
- return (0, import_chunk_NHZRKHZO.some)(pair.avalue, (sna) => {
12443
+ return (0, import_chunk_X7QCZR3F.some)(pair.avalue, (sna) => {
12409
12444
  const superA = getSuperClasses(sna);
12410
- return (0, import_chunk_NHZRKHZO.some)(pair.bvalue, (snb) => {
12445
+ return (0, import_chunk_X7QCZR3F.some)(pair.bvalue, (snb) => {
12411
12446
  if (sna === snb || superA && superA.has(snb)) {
12412
12447
  return true;
12413
12448
  }
@@ -12440,7 +12475,7 @@ var init_could_be = (0, import_chunk_ABYVSU2C.__esm)({
12440
12475
  "use strict";
12441
12476
  init_api();
12442
12477
  init_data_flow();
12443
- (0, import_chunk_NHZRKHZO.init_util)();
12478
+ (0, import_chunk_X7QCZR3F.init_util)();
12444
12479
  init_types();
12445
12480
  }
12446
12481
  });
@@ -12547,7 +12582,7 @@ function findDeadStores(func, graph, nodeEquivs, findCopyPropCandidates, logThis
12547
12582
  }
12548
12583
  addAnt(curState.partiallyAnticipated, key, node);
12549
12584
  if (logThisRun) {
12550
- (0, import_chunk_NHZRKHZO.log)(
12585
+ (0, import_chunk_X7QCZR3F.log)(
12551
12586
  ` antrefs: ${curState.partiallyAnticipated.get(key) !== false} ${curState.anticipated.get(key) !== false}`
12552
12587
  );
12553
12588
  }
@@ -12570,7 +12605,7 @@ function findDeadStores(func, graph, nodeEquivs, findCopyPropCandidates, logThis
12570
12605
  const curState = cloneState(blockStates[top.order]);
12571
12606
  if (logThisRun) {
12572
12607
  printBlockHeader(top);
12573
- curState.dead.forEach((decl) => (0, import_chunk_NHZRKHZO.log)(` - anticipated: ${tsKey(decl)}`));
12608
+ curState.dead.forEach((decl) => (0, import_chunk_X7QCZR3F.log)(` - anticipated: ${tsKey(decl)}`));
12574
12609
  }
12575
12610
  if (top.events) {
12576
12611
  for (let i = top.events.length; i--; ) {
@@ -12582,12 +12617,12 @@ function findDeadStores(func, graph, nodeEquivs, findCopyPropCandidates, logThis
12582
12617
  case "ref":
12583
12618
  if (isTypeStateKey(event.decl)) {
12584
12619
  if (logThisRun) {
12585
- (0, import_chunk_NHZRKHZO.log)(
12620
+ (0, import_chunk_X7QCZR3F.log)(
12586
12621
  describeEvent(event).then(
12587
12622
  (eventStr) => `${eventStr} (${sourceLocation(event.node.loc)})`
12588
12623
  )
12589
12624
  );
12590
- (0, import_chunk_NHZRKHZO.log)(` kill => ${tsKey(event.decl)}`);
12625
+ (0, import_chunk_X7QCZR3F.log)(` kill => ${tsKey(event.decl)}`);
12591
12626
  }
12592
12627
  copyPropRef(curState, event.decl, event.node);
12593
12628
  curState.dead.delete(event.decl);
@@ -12596,7 +12631,7 @@ function findDeadStores(func, graph, nodeEquivs, findCopyPropCandidates, logThis
12596
12631
  case "def":
12597
12632
  if (isTypeStateKey(event.decl) && (event.node.type !== "VariableDeclarator" || event.node.init)) {
12598
12633
  if (logThisRun) {
12599
- (0, import_chunk_NHZRKHZO.log)(
12634
+ (0, import_chunk_X7QCZR3F.log)(
12600
12635
  describeEvent(event).then(
12601
12636
  (eventStr) => `${eventStr} (${sourceLocation(event.node.loc)})`
12602
12637
  )
@@ -12612,7 +12647,7 @@ function findDeadStores(func, graph, nodeEquivs, findCopyPropCandidates, logThis
12612
12647
  const pant = curState.partiallyAnticipated.get(event.decl);
12613
12648
  if (pant) {
12614
12649
  if (logThisRun) {
12615
- (0, import_chunk_NHZRKHZO.log)(
12650
+ (0, import_chunk_X7QCZR3F.log)(
12616
12651
  ` is copy-prop-candidate ${curState.anticipated?.get(event.decl) === pant}`
12617
12652
  );
12618
12653
  }
@@ -12644,7 +12679,7 @@ function findDeadStores(func, graph, nodeEquivs, findCopyPropCandidates, logThis
12644
12679
  if (assignNode) {
12645
12680
  curState.dead.add(event.decl);
12646
12681
  if (logThisRun) {
12647
- (0, import_chunk_NHZRKHZO.log)(` anticipated => ${tsKey(event.decl)}`);
12682
+ (0, import_chunk_X7QCZR3F.log)(` anticipated => ${tsKey(event.decl)}`);
12648
12683
  }
12649
12684
  } else if (event.node.type === "UpdateExpression") {
12650
12685
  copyPropRef(curState, event.decl, event.node.argument);
@@ -12655,7 +12690,7 @@ function findDeadStores(func, graph, nodeEquivs, findCopyPropCandidates, logThis
12655
12690
  if (isTypeStateKey(event.decl)) {
12656
12691
  curState.dead.add(event.decl);
12657
12692
  if (logThisRun) {
12658
- (0, import_chunk_NHZRKHZO.log)(` anticipated => ${tsKey(event.decl)}`);
12693
+ (0, import_chunk_X7QCZR3F.log)(` anticipated => ${tsKey(event.decl)}`);
12659
12694
  }
12660
12695
  }
12661
12696
  break;
@@ -12718,9 +12753,9 @@ function eliminateDeadStores(state, func, graph, logThisRun) {
12718
12753
  if (!deadStores.size)
12719
12754
  return { changes: false, copyPropStores };
12720
12755
  if (logThisRun) {
12721
- (0, import_chunk_NHZRKHZO.log)("====== Dead Stores =====");
12756
+ (0, import_chunk_X7QCZR3F.log)("====== Dead Stores =====");
12722
12757
  deadStores.forEach(
12723
- (dead) => (dead.type === "AssignmentExpression" || dead.type === "UpdateExpression" || dead.type === "VariableDeclarator") && (0, import_chunk_NHZRKHZO.log)(
12758
+ (dead) => (dead.type === "AssignmentExpression" || dead.type === "UpdateExpression" || dead.type === "VariableDeclarator") && (0, import_chunk_X7QCZR3F.log)(
12724
12759
  formatAstLongLines(dead).then(
12725
12760
  (deadStr) => `${deadStr} (${sourceLocation(dead.loc)})`
12726
12761
  )
@@ -12775,7 +12810,7 @@ var init_dead_store = (0, import_chunk_ABYVSU2C.__esm)({
12775
12810
  init_control_flow();
12776
12811
  init_data_flow();
12777
12812
  init_inliner();
12778
- (0, import_chunk_NHZRKHZO.init_util)();
12813
+ (0, import_chunk_X7QCZR3F.init_util)();
12779
12814
  init_minimize_locals();
12780
12815
  init_type_flow_util();
12781
12816
  }
@@ -13143,13 +13178,13 @@ function typeStateEntry(value2, key) {
13143
13178
  return `${tsKey(key)} = ${display(value2.curType)}`;
13144
13179
  }
13145
13180
  function printBlockState(block, state, indent = "") {
13146
- (0, import_chunk_NHZRKHZO.log)(indent + "State:");
13181
+ (0, import_chunk_X7QCZR3F.log)(indent + "State:");
13147
13182
  if (!state) {
13148
- (0, import_chunk_NHZRKHZO.log)(indent + "Not visited!");
13183
+ (0, import_chunk_X7QCZR3F.log)(indent + "Not visited!");
13149
13184
  return;
13150
13185
  }
13151
13186
  state.map.forEach((value2, key) => {
13152
- (0, import_chunk_NHZRKHZO.log)(
13187
+ (0, import_chunk_X7QCZR3F.log)(
13153
13188
  `${indent} - ${typeStateEntry(value2, key)}${value2.equivSet ? ` [(${Array.from(value2.equivSet).map(tsKey).join(", ")})]` : ""}`
13154
13189
  );
13155
13190
  });
@@ -13356,7 +13391,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
13356
13391
  type: 0
13357
13392
  /* Never */
13358
13393
  };
13359
- (0, import_chunk_NHZRKHZO.forEach)(avalue, (v) => unionInto(n, v));
13394
+ (0, import_chunk_X7QCZR3F.forEach)(avalue, (v) => unionInto(n, v));
13360
13395
  next = n;
13361
13396
  }
13362
13397
  } else {
@@ -13461,7 +13496,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
13461
13496
  }
13462
13497
  if (!isStatic && selfClassDecl) {
13463
13498
  const baseObj = getObjectValue(baseElem.type);
13464
- if (baseObj && baseObj.klass.type === 16384 && (0, import_chunk_NHZRKHZO.some)(
13499
+ if (baseObj && baseObj.klass.type === 16384 && (0, import_chunk_X7QCZR3F.some)(
13465
13500
  baseObj.klass.value,
13466
13501
  (cls) => cls === selfClassDecl || getSuperClasses(cls)?.has(selfClassDecl) || getSuperClasses(selfClassDecl)?.has(cls) || false
13467
13502
  )) {
@@ -13506,7 +13541,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
13506
13541
  return [cur, updateAny];
13507
13542
  }
13508
13543
  function typeConstraint(decls, blockState) {
13509
- return (0, import_chunk_NHZRKHZO.reduce)(
13544
+ return (0, import_chunk_X7QCZR3F.reduce)(
13510
13545
  decls,
13511
13546
  (cur, decl) => {
13512
13547
  if (decl.type === "Identifier" || decl.type === "BinaryExpression") {
@@ -13616,9 +13651,9 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
13616
13651
  root,
13617
13652
  dependencies
13618
13653
  };
13619
- const modifiableDecl = (decls, callees) => (0, import_chunk_NHZRKHZO.some)(
13654
+ const modifiableDecl = (decls, callees) => (0, import_chunk_X7QCZR3F.some)(
13620
13655
  decls,
13621
- (decl) => decl.type === "VariableDeclarator" && decl.node.kind === "var" && !isLocal(decl) && (!callees || (0, import_chunk_NHZRKHZO.some)(callees, (callee) => functionMayModify(state, callee, decl)))
13656
+ (decl) => decl.type === "VariableDeclarator" && decl.node.kind === "var" && !isLocal(decl) && (!callees || (0, import_chunk_X7QCZR3F.some)(callees, (callee) => functionMayModify(state, callee, decl)))
13622
13657
  );
13623
13658
  const mergeSuccState = (top, curState) => {
13624
13659
  top.succs?.forEach((succ) => {
@@ -13627,7 +13662,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
13627
13662
  }
13628
13663
  if (mergeTypeState(blockStates, succ.order, curState, nodeCopyProp)) {
13629
13664
  if (logThisRun) {
13630
- (0, import_chunk_NHZRKHZO.log)(`re-merge: ${top.order} -> ${succ.order}`);
13665
+ (0, import_chunk_X7QCZR3F.log)(`re-merge: ${top.order} -> ${succ.order}`);
13631
13666
  }
13632
13667
  queue.enqueue(succ);
13633
13668
  }
@@ -13637,7 +13672,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
13637
13672
  const calleeObj = getStateType(curState, calleeObjDecl);
13638
13673
  let calleeResult = null;
13639
13674
  let effectFree = true;
13640
- (0, import_chunk_NHZRKHZO.forEach)(callees, (callee) => {
13675
+ (0, import_chunk_X7QCZR3F.forEach)(callees, (callee) => {
13641
13676
  const info = sysCallInfo(istate.state, callee);
13642
13677
  if (!info) {
13643
13678
  effectFree = false;
@@ -13914,7 +13949,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
13914
13949
  });
13915
13950
  } else {
13916
13951
  if (logThisRun) {
13917
- (0, import_chunk_NHZRKHZO.log)(` Flow (true): merge to ${trueSucc.order || -1}`);
13952
+ (0, import_chunk_X7QCZR3F.log)(` Flow (true): merge to ${trueSucc.order || -1}`);
13918
13953
  printBlockState(top, sTrue || curState, " >true ");
13919
13954
  }
13920
13955
  if (mergeTypeState(
@@ -13924,7 +13959,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
13924
13959
  nodeCopyProp
13925
13960
  )) {
13926
13961
  if (logThisRun) {
13927
- (0, import_chunk_NHZRKHZO.log)(`re-merge: ${top.order} -> ${trueSucc.order}`);
13962
+ (0, import_chunk_X7QCZR3F.log)(`re-merge: ${top.order} -> ${trueSucc.order}`);
13928
13963
  }
13929
13964
  queue.enqueue(trueSucc);
13930
13965
  }
@@ -13936,7 +13971,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
13936
13971
  });
13937
13972
  } else {
13938
13973
  if (logThisRun) {
13939
- (0, import_chunk_NHZRKHZO.log)(` Flow (false): merge to: ${falseSucc.order || -1}`);
13974
+ (0, import_chunk_X7QCZR3F.log)(` Flow (false): merge to: ${falseSucc.order || -1}`);
13940
13975
  printBlockState(top, sFalse || curState, " >false ");
13941
13976
  }
13942
13977
  if (mergeTypeState(
@@ -13946,7 +13981,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
13946
13981
  nodeCopyProp
13947
13982
  )) {
13948
13983
  if (logThisRun) {
13949
- (0, import_chunk_NHZRKHZO.log)(`re-merge: ${top.order} -> ${falseSucc.order}`);
13984
+ (0, import_chunk_X7QCZR3F.log)(`re-merge: ${top.order} -> ${falseSucc.order}`);
13950
13985
  }
13951
13986
  queue.enqueue(falseSucc);
13952
13987
  }
@@ -14036,7 +14071,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14036
14071
  }
14037
14072
  }
14038
14073
  if (logThisRun) {
14039
- (0, import_chunk_NHZRKHZO.log)(
14074
+ (0, import_chunk_X7QCZR3F.log)(
14040
14075
  describeEvent(event).then(
14041
14076
  (eventStr) => ` ${eventStr} == ${display(curEntry.curType)}`
14042
14077
  )
@@ -14046,7 +14081,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14046
14081
  }
14047
14082
  case "mod": {
14048
14083
  if (logThisRun) {
14049
- (0, import_chunk_NHZRKHZO.log)(describeEvent(event).then((eventStr) => ` ${eventStr}`));
14084
+ (0, import_chunk_X7QCZR3F.log)(describeEvent(event).then((eventStr) => ` ${eventStr}`));
14050
14085
  }
14051
14086
  modInterference(curState, event, true, (callees, calleeObj) => {
14052
14087
  clearRelatedCopyPropEvents(curState, null, nodeCopyProp);
@@ -14062,7 +14097,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14062
14097
  );
14063
14098
  }
14064
14099
  }
14065
- if (nodeCopyProp.size && event.node.type === "CallExpression" && (0, import_chunk_NHZRKHZO.some)(callees, (callee) => inlineRequested(state, callee))) {
14100
+ if (nodeCopyProp.size && event.node.type === "CallExpression" && (0, import_chunk_X7QCZR3F.some)(callees, (callee) => inlineRequested(state, callee))) {
14066
14101
  event.node.arguments.forEach((arg) => {
14067
14102
  const def = nodeCopyProp.get(arg);
14068
14103
  if (def && nodeCopyProp.get(def) !== false) {
@@ -14074,7 +14109,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14074
14109
  let calleeEffects;
14075
14110
  curState.map.forEach((tsv, decl) => {
14076
14111
  let type = tsv.curType;
14077
- if ((type.value == null || !(type.type & (32768 | 512 | 1024))) && !(0, import_chunk_NHZRKHZO.some)(decl, (d) => d.type === "VariableDeclarator" && !isLocal(d))) {
14112
+ if ((type.value == null || !(type.type & (32768 | 512 | 1024))) && !(0, import_chunk_X7QCZR3F.some)(decl, (d) => d.type === "VariableDeclarator" && !isLocal(d))) {
14078
14113
  return;
14079
14114
  }
14080
14115
  if (modifiableDecl(decl, callees)) {
@@ -14089,7 +14124,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14089
14124
  curState.map.set(decl, {
14090
14125
  curType: typeConstraint(decl, curState)
14091
14126
  });
14092
- } else if (type.type & (32768 | 512 | 1024) && (calleeEffects == null ? calleeEffects = !callees || !(0, import_chunk_NHZRKHZO.every)(callees, (callee) => callee.info === false) : calleeEffects)) {
14127
+ } else if (type.type & (32768 | 512 | 1024) && (calleeEffects == null ? calleeEffects = !callees || !(0, import_chunk_X7QCZR3F.every)(callees, (callee) => callee.info === false) : calleeEffects)) {
14093
14128
  if (type.value != null && type.type & 32768) {
14094
14129
  const odata = getObjectValue(tsv.curType);
14095
14130
  if (odata?.obj) {
@@ -14159,13 +14194,13 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14159
14194
  );
14160
14195
  if (type.type !== 524287) {
14161
14196
  if (event.node.type === "EnumStringMember" || event.node.type === "VariableDeclarator" && event.node.kind === "const") {
14162
- (0, import_chunk_NHZRKHZO.forEach)(
14197
+ (0, import_chunk_X7QCZR3F.forEach)(
14163
14198
  event.decl,
14164
14199
  (decl) => (decl.type === "VariableDeclarator" ? decl.node === event.node : decl === event.node) && (decl.resolvedType = type)
14165
14200
  );
14166
14201
  }
14167
14202
  }
14168
- (0, import_chunk_NHZRKHZO.some)(event.decl, (decl) => {
14203
+ (0, import_chunk_X7QCZR3F.some)(event.decl, (decl) => {
14169
14204
  if (decl.type !== "VariableDeclarator" || decl.node.kind !== "var" || !isClassVariable(decl)) {
14170
14205
  return false;
14171
14206
  }
@@ -14173,7 +14208,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14173
14208
  if (affected) {
14174
14209
  const objType = typeFromTypeStateNodes(
14175
14210
  istate.state,
14176
- (0, import_chunk_NHZRKHZO.map)(
14211
+ (0, import_chunk_X7QCZR3F.map)(
14177
14212
  event.decl,
14178
14213
  (decl2) => decl2.type === "VariableDeclarator" && decl2.stack[decl2.stack.length - 1].sn
14179
14214
  ).filter(
@@ -14194,7 +14229,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14194
14229
  });
14195
14230
  if (wasComputedDecl) {
14196
14231
  curState.map.forEach((value2, decls) => {
14197
- if ((0, import_chunk_NHZRKHZO.some)(
14232
+ if ((0, import_chunk_X7QCZR3F.some)(
14198
14233
  decls,
14199
14234
  (decl) => decl.type === "VariableDeclarator" && decl.node.kind === "var" && !isLocal(decl)
14200
14235
  )) {
@@ -14240,14 +14275,14 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14240
14275
  }
14241
14276
  if (!copyPropCandidate.ant || // If the ref isn't anticipated, we can't propagate it
14242
14277
  // in case it has side effects.
14243
- (0, import_chunk_NHZRKHZO.some)(
14278
+ (0, import_chunk_X7QCZR3F.some)(
14244
14279
  event2.calleeDecl,
14245
14280
  (callee) => callee.type === "FunctionDeclaration" && inlineRequested(state, callee)
14246
14281
  )) {
14247
14282
  return false;
14248
14283
  }
14249
14284
  }
14250
- if (!event2.decl || isTypeStateKey(event2.decl) && (0, import_chunk_NHZRKHZO.some)(
14285
+ if (!event2.decl || isTypeStateKey(event2.decl) && (0, import_chunk_X7QCZR3F.some)(
14251
14286
  event2.decl,
14252
14287
  (decl) => decl.type === "VariableDeclarator" && decl.node.kind === "var" || decl.type === "BinaryExpression" || decl.type === "Identifier"
14253
14288
  )) {
@@ -14286,13 +14321,13 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14286
14321
  }
14287
14322
  }
14288
14323
  if (uninitClassDecls?.size) {
14289
- (0, import_chunk_NHZRKHZO.forEach)(
14324
+ (0, import_chunk_X7QCZR3F.forEach)(
14290
14325
  event.decl,
14291
14326
  (decl) => uninitClassDecls.has(decl) && curState.inited?.add(decl)
14292
14327
  );
14293
14328
  }
14294
14329
  if (logThisRun) {
14295
- (0, import_chunk_NHZRKHZO.log)(
14330
+ (0, import_chunk_X7QCZR3F.log)(
14296
14331
  describeEvent(event).then(
14297
14332
  (eventStr) => ` ${eventStr} := ${display(type)}`
14298
14333
  )
@@ -14310,7 +14345,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14310
14345
  );
14311
14346
  }
14312
14347
  if (logThisRun) {
14313
- (0, import_chunk_NHZRKHZO.log)(
14348
+ (0, import_chunk_X7QCZR3F.log)(
14314
14349
  describeEvent(event).then(
14315
14350
  (eventStr) => ` ${eventStr} : ${!Array.isArray(event.left) && event.left.type === "MemberDecl" ? `${display(
14316
14351
  curState.map.get(event.left.base)?.curType || {
@@ -14370,8 +14405,8 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14370
14405
  }
14371
14406
  if (!successorsHandled) {
14372
14407
  if (logThisRun) {
14373
- (0, import_chunk_NHZRKHZO.log)(
14374
- ` merge to: ${(0, import_chunk_NHZRKHZO.map)(
14408
+ (0, import_chunk_X7QCZR3F.log)(
14409
+ ` merge to: ${(0, import_chunk_X7QCZR3F.map)(
14375
14410
  top.succs,
14376
14411
  (succ) => succ.order || -1
14377
14412
  ).join(", ")}`
@@ -14396,7 +14431,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14396
14431
  (block) => block.events?.forEach((event) => {
14397
14432
  if (event.type !== "ref")
14398
14433
  return;
14399
- (0, import_chunk_NHZRKHZO.forEach)(event.decl, (decl) => {
14434
+ (0, import_chunk_X7QCZR3F.forEach)(event.decl, (decl) => {
14400
14435
  if (decl.type === "VariableDeclarator" && decl.node.kind === "const" && (!decl.resolvedType || !hasValue(decl.resolvedType))) {
14401
14436
  const root2 = decl.stack.at(-1)?.sn;
14402
14437
  if (!root2 || root2.type !== "ModuleDeclaration" && root2.type !== "ClassDeclaration" && root2.type !== "Program") {
@@ -14436,17 +14471,17 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14436
14471
  );
14437
14472
  printBlockTrailer(block);
14438
14473
  });
14439
- (0, import_chunk_NHZRKHZO.log)("====== TypeMap =====");
14474
+ (0, import_chunk_X7QCZR3F.log)("====== TypeMap =====");
14440
14475
  typeMap.forEach((value2, key) => {
14441
- (0, import_chunk_NHZRKHZO.log)(
14476
+ (0, import_chunk_X7QCZR3F.log)(
14442
14477
  formatAstLongLines(key).then(
14443
14478
  (keyStr) => `${keyStr} = ${display(value2)} ${key.loc && key.loc.source ? ` (${sourceLocation(key.loc)})` : ""}`
14444
14479
  )
14445
14480
  );
14446
14481
  });
14447
- (0, import_chunk_NHZRKHZO.log)("====== EquivMap =====");
14482
+ (0, import_chunk_X7QCZR3F.log)("====== EquivMap =====");
14448
14483
  nodeEquivs.forEach((value2, key) => {
14449
- (0, import_chunk_NHZRKHZO.log)(
14484
+ (0, import_chunk_X7QCZR3F.log)(
14450
14485
  formatAstLongLines(key).then(
14451
14486
  (keyStr) => `${keyStr} = [${value2.equiv.map(
14452
14487
  (equiv) => tsKey(equiv)
@@ -14454,7 +14489,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14454
14489
  )
14455
14490
  );
14456
14491
  });
14457
- (0, import_chunk_NHZRKHZO.log)("====== Copy Prop =====");
14492
+ (0, import_chunk_X7QCZR3F.log)("====== Copy Prop =====");
14458
14493
  nodeCopyProp.forEach((value2, key) => {
14459
14494
  (0, import_node_assert3.default)(value2 !== false);
14460
14495
  if (key.type === "VariableDeclarator" || key.type === "AssignmentExpression") {
@@ -14464,7 +14499,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14464
14499
  value2.type === "VariableDeclarator" && value2.init || value2.type === "AssignmentExpression"
14465
14500
  );
14466
14501
  const node = value2.type === "VariableDeclarator" ? value2.init : value2.right;
14467
- (0, import_chunk_NHZRKHZO.log)(
14502
+ (0, import_chunk_X7QCZR3F.log)(
14468
14503
  formatAstLongLines(key).then(
14469
14504
  (keyStr) => formatAstLongLines(node).then(
14470
14505
  (nodeStr) => `${keyStr} = [${nodeStr}] ${key.loc && key.loc.source ? ` (${sourceLocation(key.loc)})` : ""}`
@@ -14473,13 +14508,13 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14473
14508
  );
14474
14509
  });
14475
14510
  if (root.nodes) {
14476
- root.nodes.forEach((stack, node) => (0, import_chunk_NHZRKHZO.log)(formatAstLongLines(node)));
14511
+ root.nodes.forEach((stack, node) => (0, import_chunk_X7QCZR3F.log)(formatAstLongLines(node)));
14477
14512
  } else {
14478
- (0, import_chunk_NHZRKHZO.log)(formatAstLongLines(root.node));
14513
+ (0, import_chunk_X7QCZR3F.log)(formatAstLongLines(root.node));
14479
14514
  }
14480
14515
  if (copyPropStores) {
14481
14516
  copyPropStores.forEach(({ ref, ant }, node) => {
14482
- (0, import_chunk_NHZRKHZO.log)(
14517
+ (0, import_chunk_X7QCZR3F.log)(
14483
14518
  formatAstLongLines(node).then(
14484
14519
  (nodeStr) => `copy-prop-store: ${nodeStr}${ant ? "!" : ""} => ${nodeCopyProp.get(node) !== ref ? "Failed" : "Success"}`
14485
14520
  )
@@ -14493,9 +14528,9 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14493
14528
  }
14494
14529
  if (logThisRun) {
14495
14530
  if (selfAssignments.size) {
14496
- (0, import_chunk_NHZRKHZO.log)("====== Self Assignments =====");
14531
+ (0, import_chunk_X7QCZR3F.log)("====== Self Assignments =====");
14497
14532
  selfAssignments.forEach(
14498
- (self) => (0, import_chunk_NHZRKHZO.log)(
14533
+ (self) => (0, import_chunk_X7QCZR3F.log)(
14499
14534
  formatAstLongLines(self).then(
14500
14535
  (selfStr) => `${selfStr} (${sourceLocation(self.loc)})`
14501
14536
  )
@@ -14560,7 +14595,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14560
14595
  if (copyNode) {
14561
14596
  if (node.type === "AssignmentExpression") {
14562
14597
  if (logThisRun) {
14563
- (0, import_chunk_NHZRKHZO.log)(
14598
+ (0, import_chunk_X7QCZR3F.log)(
14564
14599
  formatAstLongLines(node).then(
14565
14600
  (nodeStr) => `Killing copy-prop assignment ${nodeStr}`
14566
14601
  )
@@ -14575,7 +14610,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14575
14610
  if (node.type === "VariableDeclarator") {
14576
14611
  (0, import_node_assert3.default)(node.init);
14577
14612
  if (logThisRun) {
14578
- (0, import_chunk_NHZRKHZO.log)(
14613
+ (0, import_chunk_X7QCZR3F.log)(
14579
14614
  formatAstLongLines(node).then(
14580
14615
  (nodeStr) => `Killing copy-prop variable initialization ${nodeStr}`
14581
14616
  )
@@ -14596,7 +14631,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14596
14631
  right: copyNode.right
14597
14632
  };
14598
14633
  if (logThisRun) {
14599
- (0, import_chunk_NHZRKHZO.log)(
14634
+ (0, import_chunk_X7QCZR3F.log)(
14600
14635
  formatAstLongLines(node).then(
14601
14636
  (nodeStr) => formatAstLongLines(replacement2).then(
14602
14637
  (repStr) => `copy-prop ${nodeStr} => ${repStr}`
@@ -14609,7 +14644,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14609
14644
  const init = copyNode.init;
14610
14645
  (0, import_node_assert3.default)(init);
14611
14646
  if (logThisRun) {
14612
- (0, import_chunk_NHZRKHZO.log)(
14647
+ (0, import_chunk_X7QCZR3F.log)(
14613
14648
  formatAstLongLines(node).then(
14614
14649
  (nodeStr) => formatAstLongLines(init).then(
14615
14650
  (initStr) => `copy-prop ${nodeStr} => ${initStr}`
@@ -14623,7 +14658,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14623
14658
  }
14624
14659
  if (selfAssignments.has(node)) {
14625
14660
  if (logThisRun) {
14626
- (0, import_chunk_NHZRKHZO.log)(
14661
+ (0, import_chunk_X7QCZR3F.log)(
14627
14662
  formatAstLongLines(node).then(
14628
14663
  (nodeStr) => `Deleting self assignment: ${nodeStr} (${sourceLocation(
14629
14664
  node.loc
@@ -14667,7 +14702,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14667
14702
  }, curInfo);
14668
14703
  if (rep === curInfo)
14669
14704
  return null;
14670
- const name = (0, import_chunk_NHZRKHZO.reduce)(
14705
+ const name = (0, import_chunk_X7QCZR3F.reduce)(
14671
14706
  rep.decl,
14672
14707
  (cur, decl) => decl.type === "VariableDeclarator" ? decl.name : cur,
14673
14708
  null
@@ -14675,7 +14710,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
14675
14710
  if (!name)
14676
14711
  return null;
14677
14712
  if (logThisRun) {
14678
- (0, import_chunk_NHZRKHZO.log)(
14713
+ (0, import_chunk_X7QCZR3F.log)(
14679
14714
  formatAstLongLines(node).then(
14680
14715
  (nodeStr) => `Replacing ${nodeStr} with ${name} at ${sourceLocation(
14681
14716
  node.loc
@@ -14806,7 +14841,7 @@ var init_type_flow = (0, import_chunk_ABYVSU2C.__esm)({
14806
14841
  init_type_flow_util();
14807
14842
  init_types();
14808
14843
  init_union_type();
14809
- (0, import_chunk_NHZRKHZO.init_util)();
14844
+ (0, import_chunk_X7QCZR3F.init_util)();
14810
14845
  logging = true;
14811
14846
  missingNullWorkaround = true;
14812
14847
  }
@@ -14858,9 +14893,9 @@ function minimizeLocals(state, func) {
14858
14893
  if (!didMerge)
14859
14894
  return;
14860
14895
  if (logThisRun) {
14861
- (0, import_chunk_NHZRKHZO.log)(`>>> Merging locals in ${func.fullName}`);
14896
+ (0, import_chunk_X7QCZR3F.log)(`>>> Merging locals in ${func.fullName}`);
14862
14897
  merge.forEach(
14863
- (merged) => merged.length > 1 && (0, import_chunk_NHZRKHZO.log)(` - merging ${merged.map((k) => tsKey(k)).join(" | ")}`)
14898
+ (merged) => merged.length > 1 && (0, import_chunk_X7QCZR3F.log)(` - merging ${merged.map((k) => tsKey(k)).join(" | ")}`)
14864
14899
  );
14865
14900
  }
14866
14901
  const remap = /* @__PURE__ */ new Map();
@@ -15130,7 +15165,7 @@ var init_minimize_locals = (0, import_chunk_ABYVSU2C.__esm)({
15130
15165
  (0, import_chunk_JDC43A3I.init_ast)();
15131
15166
  init_control_flow();
15132
15167
  init_type_flow();
15133
- (0, import_chunk_NHZRKHZO.init_util)();
15168
+ (0, import_chunk_X7QCZR3F.init_util)();
15134
15169
  init_variable_renamer();
15135
15170
  init_type_flow_util();
15136
15171
  }
@@ -15141,12 +15176,12 @@ function logAntState(s, decl) {
15141
15176
  defs2++;
15142
15177
  return defs2;
15143
15178
  }, 0);
15144
- (0, import_chunk_NHZRKHZO.log)(
15179
+ (0, import_chunk_X7QCZR3F.log)(
15145
15180
  declFullName(decl).then(
15146
15181
  (declStr) => ` - ${declStr}: ${candidateCost(s)} bytes, ${s.ant.size - defs} refs, ${defs} defs, ${s.live ? "" : "!"}live, ${s.isIsolated ? "" : "!"}isolated`
15147
15182
  )
15148
15183
  );
15149
- (0, import_chunk_NHZRKHZO.log)(
15184
+ (0, import_chunk_X7QCZR3F.log)(
15150
15185
  ` - members: ${Array.from(s.members).map(([block, live]) => block.order + (live ? "t" : "f")).join(", ")}`
15151
15186
  );
15152
15187
  }
@@ -15163,7 +15198,7 @@ async function sizeBasedPRE(state, func) {
15163
15198
  const candidates = computeAttributes(state, head);
15164
15199
  if (candidates) {
15165
15200
  if (logging2) {
15166
- (0, import_chunk_NHZRKHZO.log)(`Found ${candidates.size} candidates in ${func.fullName}`);
15201
+ (0, import_chunk_X7QCZR3F.log)(`Found ${candidates.size} candidates in ${func.fullName}`);
15167
15202
  logAntDecls(candidates);
15168
15203
  }
15169
15204
  const nodeMap = /* @__PURE__ */ new Map();
@@ -15256,7 +15291,7 @@ function buildPREGraph(state, func) {
15256
15291
  const event = block.events[i];
15257
15292
  switch (event.type) {
15258
15293
  case "ref":
15259
- if ((0, import_chunk_NHZRKHZO.some)(
15294
+ if ((0, import_chunk_X7QCZR3F.some)(
15260
15295
  event.decl,
15261
15296
  (decl) => decl.type === "Literal" || decl.type === "VariableDeclarator" && decl.node.kind === "const"
15262
15297
  )) {
@@ -15274,7 +15309,7 @@ function buildPREGraph(state, func) {
15274
15309
  defs.add(event.decl);
15275
15310
  break;
15276
15311
  case "mod":
15277
- if (event.callees && (0, import_chunk_NHZRKHZO.every)(event.callees, (callee) => callee.info === false)) {
15312
+ if (event.callees && (0, import_chunk_X7QCZR3F.every)(event.callees, (callee) => callee.info === false)) {
15278
15313
  block.events.splice(i, 1);
15279
15314
  break;
15280
15315
  }
@@ -15433,21 +15468,21 @@ function computeAttributes(state, head) {
15433
15468
  });
15434
15469
  if (logging2) {
15435
15470
  order.forEach((block) => {
15436
- (0, import_chunk_NHZRKHZO.log)(
15471
+ (0, import_chunk_X7QCZR3F.log)(
15437
15472
  block.order,
15438
15473
  `(${block.node ? block.node.loc?.start.line : "??"})`,
15439
15474
  `Preds: ${(block.preds || []).map((block2) => block2.order).join(", ")}`
15440
15475
  );
15441
15476
  if (block.events) {
15442
15477
  block.events.forEach(
15443
- (event) => event.type !== "exn" && (0, import_chunk_NHZRKHZO.log)(
15478
+ (event) => event.type !== "exn" && (0, import_chunk_X7QCZR3F.log)(
15444
15479
  Promise.resolve(
15445
15480
  event.decl ? declFullName(event.decl) : event.node ? formatAstLongLines(event.node) : "??"
15446
15481
  ).then((eventDetails) => ` ${event.type}: ${eventDetails}`)
15447
15482
  )
15448
15483
  );
15449
15484
  }
15450
- (0, import_chunk_NHZRKHZO.log)(
15485
+ (0, import_chunk_X7QCZR3F.log)(
15451
15486
  `Succs: ${(block.succs || []).map((block2) => block2.order).join(", ")} ExSucc: ${block.exsucc ? block.exsucc.order : ""}`
15452
15487
  );
15453
15488
  });
@@ -15515,7 +15550,7 @@ function computeAttributes(state, head) {
15515
15550
  }
15516
15551
  case "mod": {
15517
15552
  curState.forEach((candidates, decls) => {
15518
- if ((0, import_chunk_NHZRKHZO.some)(
15553
+ if ((0, import_chunk_X7QCZR3F.some)(
15519
15554
  decls,
15520
15555
  (decl) => decl.type === "VariableDeclarator" && decl.node.kind === "var" && candidates.live && (!event.callees || event.callees.some(
15521
15556
  (callee) => functionMayModify(state, callee, decl)
@@ -15557,7 +15592,7 @@ function computeAttributes(state, head) {
15557
15592
  }
15558
15593
  blockStates[top.order] = curState;
15559
15594
  if (logging2) {
15560
- (0, import_chunk_NHZRKHZO.log)(`Updated block ${top.order}`);
15595
+ (0, import_chunk_X7QCZR3F.log)(`Updated block ${top.order}`);
15561
15596
  logAntDecls(curState);
15562
15597
  }
15563
15598
  if (top.preds) {
@@ -15659,7 +15694,7 @@ function applyReplacements(func, nodeMap, declMap) {
15659
15694
  }
15660
15695
  const name = declMap.get(event.decl);
15661
15696
  if (!name) {
15662
- throw new import_chunk_NHZRKHZO.AwaitedError(
15697
+ throw new import_chunk_X7QCZR3F.AwaitedError(
15663
15698
  formatAstLongLines(node).then(
15664
15699
  (targetStr) => `No replacement found for "${targetStr}"`
15665
15700
  )
@@ -15681,7 +15716,7 @@ function applyReplacements(func, nodeMap, declMap) {
15681
15716
  const target = node.type === "AssignmentExpression" ? node.left : node.argument;
15682
15717
  const name = declMap.get(event.decl);
15683
15718
  if (!name) {
15684
- throw new import_chunk_NHZRKHZO.AwaitedError(
15719
+ throw new import_chunk_X7QCZR3F.AwaitedError(
15685
15720
  formatAstLongLines(target).then(
15686
15721
  (targetStr) => `No replacement found for "${targetStr}"`
15687
15722
  )
@@ -15744,14 +15779,14 @@ function applyReplacements(func, nodeMap, declMap) {
15744
15779
  const decl = event.decl;
15745
15780
  const name = declMap.get(decl);
15746
15781
  if (!name) {
15747
- throw new import_chunk_NHZRKHZO.AwaitedError(
15782
+ throw new import_chunk_X7QCZR3F.AwaitedError(
15748
15783
  declFullName(decl).then(
15749
15784
  (declStr) => `No replacement found for "${declStr}"`
15750
15785
  )
15751
15786
  );
15752
15787
  }
15753
15788
  if (!event.id) {
15754
- throw new import_chunk_NHZRKHZO.AwaitedError(
15789
+ throw new import_chunk_X7QCZR3F.AwaitedError(
15755
15790
  declFullName(decl).then(
15756
15791
  (declStr) => `Missing id for mod event for "${declStr}"`
15757
15792
  )
@@ -15816,7 +15851,7 @@ var init_pre = (0, import_chunk_ABYVSU2C.__esm)({
15816
15851
  init_data_flow();
15817
15852
  init_function_info();
15818
15853
  init_minimize_locals();
15819
- (0, import_chunk_NHZRKHZO.init_util)();
15854
+ (0, import_chunk_X7QCZR3F.init_util)();
15820
15855
  logging2 = false;
15821
15856
  LocalRefCost = 2;
15822
15857
  }
@@ -16188,7 +16223,7 @@ function beforeEvaluate(istate, node) {
16188
16223
  break;
16189
16224
  }
16190
16225
  const id = node.right.argument;
16191
- if ((0, import_chunk_NHZRKHZO.every)(left.value.value, (m) => {
16226
+ if ((0, import_chunk_X7QCZR3F.every)(left.value.value, (m) => {
16192
16227
  if ((0, import_chunk_JDC43A3I.hasProperty)(m.decls, id.name))
16193
16228
  return false;
16194
16229
  return istate.state.lookup({
@@ -16634,7 +16669,7 @@ var init_optimize = (0, import_chunk_ABYVSU2C.__esm)({
16634
16669
  (0, import_chunk_JDC43A3I.init_ast)();
16635
16670
  init_inliner();
16636
16671
  init_type_flow();
16637
- (0, import_chunk_NHZRKHZO.init_util)();
16672
+ (0, import_chunk_X7QCZR3F.init_util)();
16638
16673
  init_interp();
16639
16674
  init_interp_binary();
16640
16675
  init_types();
@@ -17221,11 +17256,11 @@ function markFunctionCalled(state, func) {
17221
17256
  state.calledFunctions[func.id.name] = [func];
17222
17257
  return;
17223
17258
  }
17224
- (0, import_chunk_NHZRKHZO.pushUnique)(state.calledFunctions[func.id.name], func);
17259
+ (0, import_chunk_X7QCZR3F.pushUnique)(state.calledFunctions[func.id.name], func);
17225
17260
  }
17226
17261
  function optimizeMonkeyC(fnMap, resourcesMap, manifestXML, config) {
17227
17262
  return optimizeMonkeyCHelper(fnMap, resourcesMap, manifestXML, config).catch(
17228
- (ex) => Promise.reject(ex instanceof import_chunk_NHZRKHZO.AwaitedError ? ex.resolve() : ex)
17263
+ (ex) => Promise.reject(ex instanceof import_chunk_X7QCZR3F.AwaitedError ? ex.resolve() : ex)
17229
17264
  );
17230
17265
  }
17231
17266
  async function optimizeMonkeyCHelper(fnMap, resourcesMap, manifestXML, config) {
@@ -17993,7 +18028,7 @@ var init_mc_rewrite = (0, import_chunk_ABYVSU2C.__esm)({
17993
18028
  init_sub_type();
17994
18029
  init_types();
17995
18030
  init_unused_exprs();
17996
- (0, import_chunk_NHZRKHZO.init_util)();
18031
+ (0, import_chunk_X7QCZR3F.init_util)();
17997
18032
  init_variable_renamer();
17998
18033
  }
17999
18034
  });
@@ -18972,7 +19007,7 @@ async function getApiMapping(state, resourcesMap, manifestXML) {
18972
19007
  throw `Negative constant ${fixup} was not a Literal`;
18973
19008
  }
18974
19009
  if (typeof init.value !== "number") {
18975
- (0, import_chunk_NHZRKHZO.log)(`Negative fixup ${fixup} was not a number!`);
19010
+ (0, import_chunk_X7QCZR3F.log)(`Negative fixup ${fixup} was not a number!`);
18976
19011
  } else if (init.value > 0) {
18977
19012
  init.value = -init.value;
18978
19013
  init.raw = "-" + init.raw;
@@ -19062,11 +19097,11 @@ function sameStateNodeDecl(a, b) {
19062
19097
  function sameLookupDefinition(a, b) {
19063
19098
  return (
19064
19099
  // sameStateNodeDecl(a.parent, b.parent) &&
19065
- (0, import_chunk_NHZRKHZO.sameArrays)(a.results, b.results, (ar, br) => sameStateNodeDecl(ar, br))
19100
+ (0, import_chunk_X7QCZR3F.sameArrays)(a.results, b.results, (ar, br) => sameStateNodeDecl(ar, br))
19066
19101
  );
19067
19102
  }
19068
19103
  function sameLookupResult(a, b) {
19069
- return (0, import_chunk_NHZRKHZO.sameArrays)(a, b, sameLookupDefinition);
19104
+ return (0, import_chunk_X7QCZR3F.sameArrays)(a, b, sameLookupDefinition);
19070
19105
  }
19071
19106
  function declKey(decl) {
19072
19107
  return isStateNode(decl) ? decl.type === "ModuleDeclaration" ? decl.fullName : decl.node : decl;
@@ -19655,7 +19690,7 @@ function stateFuncs() {
19655
19690
  if (!(0, import_chunk_JDC43A3I.hasProperty)(this.index, name)) {
19656
19691
  this.index[name] = [];
19657
19692
  }
19658
- (0, import_chunk_NHZRKHZO.pushUnique)(this.index[name], parent);
19693
+ (0, import_chunk_X7QCZR3F.pushUnique)(this.index[name], parent);
19659
19694
  }
19660
19695
  });
19661
19696
  break;
@@ -19710,7 +19745,7 @@ function stateFuncs() {
19710
19745
  if (!(0, import_chunk_JDC43A3I.hasProperty)(values, name)) {
19711
19746
  values[name] = [];
19712
19747
  }
19713
- if ((0, import_chunk_NHZRKHZO.pushUnique)(values[name], m) && currentEnum) {
19748
+ if ((0, import_chunk_X7QCZR3F.pushUnique)(values[name], m) && currentEnum) {
19714
19749
  if (!this.enumMap)
19715
19750
  this.enumMap = /* @__PURE__ */ new Map();
19716
19751
  this.enumMap.set(m, currentEnum);
@@ -19718,7 +19753,7 @@ function stateFuncs() {
19718
19753
  if (!(0, import_chunk_JDC43A3I.hasProperty)(this.index, name)) {
19719
19754
  this.index[name] = [];
19720
19755
  }
19721
- (0, import_chunk_NHZRKHZO.pushUnique)(this.index[name], parent);
19756
+ (0, import_chunk_X7QCZR3F.pushUnique)(this.index[name], parent);
19722
19757
  });
19723
19758
  break;
19724
19759
  }
@@ -20249,7 +20284,7 @@ var init_api = (0, import_chunk_ABYVSU2C.__esm)({
20249
20284
  init_sdk_util();
20250
20285
  init_type_flow_util();
20251
20286
  init_types();
20252
- (0, import_chunk_NHZRKHZO.init_util)();
20287
+ (0, import_chunk_X7QCZR3F.init_util)();
20253
20288
  init_visitor();
20254
20289
  }
20255
20290
  });
@@ -20333,7 +20368,7 @@ function buildDataFlowGraph(state, root, wantsLiteral, trackInsertionPoints, wan
20333
20368
  return decls;
20334
20369
  }
20335
20370
  if (canon.length !== decls.length || !canon.every((v, i) => v === decls[i])) {
20336
- throw new import_chunk_NHZRKHZO.AwaitedError(
20371
+ throw new import_chunk_X7QCZR3F.AwaitedError(
20337
20372
  declFullName(canon).then(
20338
20373
  (canonStr) => `Canonical representation of ${canonStr} did not match`
20339
20374
  )
@@ -20367,7 +20402,7 @@ function buildDataFlowGraph(state, root, wantsLiteral, trackInsertionPoints, wan
20367
20402
  }
20368
20403
  const decl = lookupDefToDecl(results);
20369
20404
  if (decl && path7.length) {
20370
- if (wantsAllRefs && (0, import_chunk_NHZRKHZO.every)(
20405
+ if (wantsAllRefs && (0, import_chunk_X7QCZR3F.every)(
20371
20406
  decl,
20372
20407
  (d) => d.type === "VariableDeclarator" || d.type === "BinaryExpression" || d.type === "Identifier"
20373
20408
  )) {
@@ -20419,7 +20454,7 @@ function buildDataFlowGraph(state, root, wantsLiteral, trackInsertionPoints, wan
20419
20454
  }
20420
20455
  const v = liveDefs.get(def);
20421
20456
  if (!v || !v.has(node)) {
20422
- throw new import_chunk_NHZRKHZO.AwaitedError(
20457
+ throw new import_chunk_X7QCZR3F.AwaitedError(
20423
20458
  Promise.resolve(def ? declFullName(def) : "null").then(
20424
20459
  (defStr) => `No stmt in liveDef for ${defStr}`
20425
20460
  )
@@ -20491,7 +20526,7 @@ function buildDataFlowGraph(state, root, wantsLiteral, trackInsertionPoints, wan
20491
20526
  const decls = findDecl(node);
20492
20527
  if (!decls)
20493
20528
  break;
20494
- if (trackInsertionPoints && (0, import_chunk_NHZRKHZO.some)(decls, (decl) => {
20529
+ if (trackInsertionPoints && (0, import_chunk_X7QCZR3F.some)(decls, (decl) => {
20495
20530
  if (decl.type === "VariableDeclarator") {
20496
20531
  const defStmts = decl.node.kind === "var" && liveDefs.get(null) || liveDefs.get(decl);
20497
20532
  if (defStmts) {
@@ -20758,8 +20793,8 @@ var init_data_flow = (0, import_chunk_ABYVSU2C.__esm)({
20758
20793
  init_control_flow();
20759
20794
  init_function_info();
20760
20795
  init_type_flow_util();
20761
- (0, import_chunk_NHZRKHZO.init_util)();
20762
- DataflowQueue = class extends import_chunk_NHZRKHZO.GenericQueue {
20796
+ (0, import_chunk_X7QCZR3F.init_util)();
20797
+ DataflowQueue = class extends import_chunk_X7QCZR3F.GenericQueue {
20763
20798
  constructor() {
20764
20799
  super((b, a) => (a.order || 0) - (b.order || 0));
20765
20800
  }
@@ -21554,7 +21589,7 @@ function computeJsrMap(func) {
21554
21589
  }
21555
21590
  function postOrderPropagate(func, preBlock, processBc, postBlock, merge) {
21556
21591
  const order = /* @__PURE__ */ new Map();
21557
- const queue = new import_chunk_NHZRKHZO.GenericQueue(
21592
+ const queue = new import_chunk_X7QCZR3F.GenericQueue(
21558
21593
  (b, a) => order.get(a) - order.get(b)
21559
21594
  );
21560
21595
  postOrderTraverse2(func, (block) => {
@@ -21613,7 +21648,7 @@ function rpoPropagate(func, preBlock, processBc, postBlock, merge) {
21613
21648
  });
21614
21649
  blocks.reverse().forEach((block, i) => order.set(block, i));
21615
21650
  }
21616
- const queue = new import_chunk_NHZRKHZO.GenericQueue(
21651
+ const queue = new import_chunk_X7QCZR3F.GenericQueue(
21617
21652
  (b, a) => order.get(a) - order.get(b)
21618
21653
  );
21619
21654
  queue.enqueue(func.blocks.get(func.offset));
@@ -21667,7 +21702,7 @@ function rpoPropagate(func, preBlock, processBc, postBlock, merge) {
21667
21702
  var init_cflow = (0, import_chunk_ABYVSU2C.__esm)({
21668
21703
  "src/readprg/cflow.ts"() {
21669
21704
  "use strict";
21670
- (0, import_chunk_NHZRKHZO.init_util)();
21705
+ (0, import_chunk_X7QCZR3F.init_util)();
21671
21706
  init_opcodes();
21672
21707
  }
21673
21708
  });
@@ -22130,12 +22165,12 @@ function interpFunc(func, context) {
22130
22165
  const selfStores = /* @__PURE__ */ new Set();
22131
22166
  const liveInState = /* @__PURE__ */ new Map();
22132
22167
  const replacements = /* @__PURE__ */ new Map();
22133
- const interpLogging = (0, import_chunk_NHZRKHZO.wouldLog)("interp", 1);
22168
+ const interpLogging = (0, import_chunk_X7QCZR3F.wouldLog)("interp", 1);
22134
22169
  if (interpLogging) {
22135
- if ((0, import_chunk_NHZRKHZO.wouldLog)("interp", 7)) {
22136
- (0, import_chunk_NHZRKHZO.setBanner)(functionBanner(func, context, "interp"));
22137
- } else if ((0, import_chunk_NHZRKHZO.wouldLog)("interp", 3)) {
22138
- (0, import_chunk_NHZRKHZO.setBanner)(
22170
+ if ((0, import_chunk_X7QCZR3F.wouldLog)("interp", 7)) {
22171
+ (0, import_chunk_X7QCZR3F.setBanner)(functionBanner(func, context, "interp"));
22172
+ } else if ((0, import_chunk_X7QCZR3F.wouldLog)("interp", 3)) {
22173
+ (0, import_chunk_X7QCZR3F.setBanner)(
22139
22174
  () => `+++++++++++++ interp-prepare ${func.name} ++++++++++++++`
22140
22175
  );
22141
22176
  }
@@ -22169,20 +22204,20 @@ function interpFunc(func, context) {
22169
22204
  func,
22170
22205
  (block) => {
22171
22206
  if (interpLogging) {
22172
- (0, import_chunk_NHZRKHZO.logger)(
22207
+ (0, import_chunk_X7QCZR3F.logger)(
22173
22208
  "interp",
22174
22209
  3,
22175
22210
  `${offsetToString(block.offset)}: ${block.bytecodes[0]?.lineNum ? lineInfoToString(block.bytecodes[0]?.lineNum, context) : ""}
22176
22211
  ${interpStateToString(liveInState.get(block.offset))}`
22177
22212
  );
22178
- (0, import_chunk_NHZRKHZO.logger)("interp", 9, () => blockToString(block, context));
22213
+ (0, import_chunk_X7QCZR3F.logger)("interp", 9, () => blockToString(block, context));
22179
22214
  }
22180
22215
  return cloneState2(liveInState.get(block.offset));
22181
22216
  },
22182
22217
  (block, bc, localState) => {
22183
22218
  if (interpLogging) {
22184
- if ((0, import_chunk_NHZRKHZO.wouldLog)("interp", 8)) {
22185
- (0, import_chunk_NHZRKHZO.log)(
22219
+ if ((0, import_chunk_X7QCZR3F.wouldLog)("interp", 8)) {
22220
+ (0, import_chunk_X7QCZR3F.log)(
22186
22221
  `${interpStateToString(localState)}
22187
22222
  ${bytecodeToString(
22188
22223
  bc,
@@ -22347,14 +22382,14 @@ function interpFunc(func, context) {
22347
22382
  if (!mergeInto(localState, succState))
22348
22383
  return false;
22349
22384
  if (interpLogging) {
22350
- (0, import_chunk_NHZRKHZO.logger)("interp", 3, `Re-Merge to ${offsetToString(succBlock.offset)}`);
22385
+ (0, import_chunk_X7QCZR3F.logger)("interp", 3, `Re-Merge to ${offsetToString(succBlock.offset)}`);
22351
22386
  }
22352
22387
  return true;
22353
22388
  }
22354
22389
  );
22355
22390
  if (interpLogging) {
22356
- if ((0, import_chunk_NHZRKHZO.wouldLog)("interp", 5)) {
22357
- (0, import_chunk_NHZRKHZO.setBanner)(
22391
+ if ((0, import_chunk_X7QCZR3F.wouldLog)("interp", 5)) {
22392
+ (0, import_chunk_X7QCZR3F.setBanner)(
22358
22393
  functionBanner(func, context, "interp", (block, footer) => {
22359
22394
  if (footer)
22360
22395
  return "";
@@ -22362,44 +22397,44 @@ function interpFunc(func, context) {
22362
22397
  })
22363
22398
  );
22364
22399
  } else {
22365
- (0, import_chunk_NHZRKHZO.setBanner)(() => `=============== interp ${func.name} ==============`);
22400
+ (0, import_chunk_X7QCZR3F.setBanner)(() => `=============== interp ${func.name} ==============`);
22366
22401
  }
22367
22402
  if (equivSets.size) {
22368
- (0, import_chunk_NHZRKHZO.log)(`====== equivSets =====`);
22403
+ (0, import_chunk_X7QCZR3F.log)(`====== equivSets =====`);
22369
22404
  equivSets.forEach(
22370
- (value2, key) => (0, import_chunk_NHZRKHZO.log)(
22405
+ (value2, key) => (0, import_chunk_X7QCZR3F.log)(
22371
22406
  `L${key.arg} === ${Array.from(value2).sort().join(" ")} ${key.lineNum ? lineInfoToString(key.lineNum, context) : ""}`
22372
22407
  )
22373
22408
  );
22374
22409
  }
22375
22410
  if (selfStores.size) {
22376
- (0, import_chunk_NHZRKHZO.log)(`====== selfStores =====`);
22411
+ (0, import_chunk_X7QCZR3F.log)(`====== selfStores =====`);
22377
22412
  selfStores.forEach(
22378
- (value2) => (0, import_chunk_NHZRKHZO.log)(`${bytecodeToString(value2, symbolTable)}`)
22413
+ (value2) => (0, import_chunk_X7QCZR3F.log)(`${bytecodeToString(value2, symbolTable)}`)
22379
22414
  );
22380
22415
  }
22381
22416
  if (replacements.size) {
22382
- (0, import_chunk_NHZRKHZO.log)(`====== replacements =====`);
22417
+ (0, import_chunk_X7QCZR3F.log)(`====== replacements =====`);
22383
22418
  replacements.forEach(
22384
22419
  (blockRep) => blockRep.forEach(
22385
- (rep, bc) => (0, import_chunk_NHZRKHZO.log)(
22420
+ (rep, bc) => (0, import_chunk_X7QCZR3F.log)(
22386
22421
  `${bytecodeToString(bc, symbolTable)} => ${rep.invert ? "~" : ""}${bytecodeToString(rep, symbolTable)} ${bc.lineNum ? lineInfoToString(bc.lineNum, context) : ""}`
22387
22422
  )
22388
22423
  )
22389
22424
  );
22390
22425
  }
22391
22426
  if (resolvedBranches.size) {
22392
- (0, import_chunk_NHZRKHZO.log)(`====== resolved branches =====`);
22427
+ (0, import_chunk_X7QCZR3F.log)(`====== resolved branches =====`);
22393
22428
  resolvedBranches.forEach(
22394
- (isTaken, block) => (0, import_chunk_NHZRKHZO.log)(
22429
+ (isTaken, block) => (0, import_chunk_X7QCZR3F.log)(
22395
22430
  `block ${offsetToString(block.offset)} is ${isTaken ? "always" : "never"} taken`
22396
22431
  )
22397
22432
  );
22398
22433
  }
22399
22434
  if (branchRedirects.size) {
22400
- (0, import_chunk_NHZRKHZO.log)(`====== redirected branches =====`);
22435
+ (0, import_chunk_X7QCZR3F.log)(`====== redirected branches =====`);
22401
22436
  branchRedirects.forEach(
22402
- ({ to, from }, block) => (0, import_chunk_NHZRKHZO.log)(
22437
+ ({ to, from }, block) => (0, import_chunk_X7QCZR3F.log)(
22403
22438
  `block ${offsetToString(
22404
22439
  block.offset
22405
22440
  )} redirects from ${offsetToString(from)} to ${offsetToString(to)}${safeBranchBlocks.get(from) ? ` popping ${safeBranchBlocks.get(from)}` : ""}`
@@ -22462,7 +22497,7 @@ function interpFunc(func, context) {
22462
22497
  }
22463
22498
  });
22464
22499
  if (interpLogging)
22465
- (0, import_chunk_NHZRKHZO.setBanner)(null);
22500
+ (0, import_chunk_X7QCZR3F.setBanner)(null);
22466
22501
  return {
22467
22502
  liveInState,
22468
22503
  equivSets,
@@ -22512,7 +22547,7 @@ var init_interp2 = (0, import_chunk_ABYVSU2C.__esm)({
22512
22547
  "src/readprg/interp.ts"() {
22513
22548
  "use strict";
22514
22549
  init_interp_binary();
22515
- (0, import_chunk_NHZRKHZO.init_logger)();
22550
+ (0, import_chunk_X7QCZR3F.init_logger)();
22516
22551
  init_interp();
22517
22552
  init_types();
22518
22553
  init_union_type();
@@ -22624,7 +22659,7 @@ function optimizeArrayInit(func, block, index, context, interpState) {
22624
22659
  i = found;
22625
22660
  }
22626
22661
  if (initType && (block.bytecodes[index].op === 20 ? initType.type === 1 : initType.type === 8 && initType.value === 0)) {
22627
- (0, import_chunk_NHZRKHZO.logger)(
22662
+ (0, import_chunk_X7QCZR3F.logger)(
22628
22663
  "array-init",
22629
22664
  1,
22630
22665
  () => `${func.name}: Removing initialization of default initialized ${putvStarts.length} element array init at block ${offsetToString(
@@ -22661,7 +22696,7 @@ function optimizeArrayInit(func, block, index, context, interpState) {
22661
22696
  convertAputv(offset - 1);
22662
22697
  }
22663
22698
  }
22664
- (0, import_chunk_NHZRKHZO.logger)(
22699
+ (0, import_chunk_X7QCZR3F.logger)(
22665
22700
  "array-init",
22666
22701
  1,
22667
22702
  () => `${func.name}: Optimizing unused ${putvStarts.length} element array init at block ${offsetToString(
@@ -22670,8 +22705,8 @@ function optimizeArrayInit(func, block, index, context, interpState) {
22670
22705
  block.bytecodes[index].offset
22671
22706
  )}`
22672
22707
  );
22673
- if ((0, import_chunk_NHZRKHZO.wouldLog)("array-init", 5)) {
22674
- (0, import_chunk_NHZRKHZO.log)(blockToString(block, context));
22708
+ if ((0, import_chunk_X7QCZR3F.wouldLog)("array-init", 5)) {
22709
+ (0, import_chunk_X7QCZR3F.log)(blockToString(block, context));
22675
22710
  }
22676
22711
  return true;
22677
22712
  }
@@ -22711,7 +22746,7 @@ function optimizeArrayInit(func, block, index, context, interpState) {
22711
22746
  if (putvStarts.length < 3)
22712
22747
  return false;
22713
22748
  tryLocal(3);
22714
- (0, import_chunk_NHZRKHZO.logger)(
22749
+ (0, import_chunk_X7QCZR3F.logger)(
22715
22750
  "array-init",
22716
22751
  1,
22717
22752
  () => `${func.name}: Optimizing ${putvStarts.length} element array init with constant initializer ${bytecodeToString(
@@ -22737,7 +22772,7 @@ function optimizeArrayInit(func, block, index, context, interpState) {
22737
22772
  block.bytecodes[index + 1].arg = putvStarts.length;
22738
22773
  }
22739
22774
  }
22740
- (0, import_chunk_NHZRKHZO.logger)(
22775
+ (0, import_chunk_X7QCZR3F.logger)(
22741
22776
  "array-init",
22742
22777
  5,
22743
22778
  () => `index: ${index}, i: ${i}
@@ -22790,7 +22825,7 @@ ${blockToString(block, context)}`
22790
22825
  for (let i2 = putvStarts.length; i2-- > 1; ) {
22791
22826
  block.bytecodes.splice(putvStarts[i2], 2);
22792
22827
  }
22793
- (0, import_chunk_NHZRKHZO.logger)(
22828
+ (0, import_chunk_X7QCZR3F.logger)(
22794
22829
  "array-init",
22795
22830
  1,
22796
22831
  () => `${func.name}: Optimizing ${putvStarts.length} element array init at block ${offsetToString(
@@ -22849,15 +22884,15 @@ var init_array_init = (0, import_chunk_ABYVSU2C.__esm)({
22849
22884
  "src/readprg/array-init.ts"() {
22850
22885
  "use strict";
22851
22886
  init_types();
22852
- (0, import_chunk_NHZRKHZO.init_util)();
22887
+ (0, import_chunk_X7QCZR3F.init_util)();
22853
22888
  init_bytecode();
22854
22889
  init_interp2();
22855
22890
  init_opcodes();
22856
22891
  }
22857
22892
  });
22858
22893
  function localDCE(func, context) {
22859
- if ((0, import_chunk_NHZRKHZO.wouldLog)("dce", 5)) {
22860
- (0, import_chunk_NHZRKHZO.setBanner)(
22894
+ if ((0, import_chunk_X7QCZR3F.wouldLog)("dce", 5)) {
22895
+ (0, import_chunk_X7QCZR3F.setBanner)(
22861
22896
  functionBanner(
22862
22897
  func,
22863
22898
  context,
@@ -22890,7 +22925,7 @@ function localDCE(func, context) {
22890
22925
  };
22891
22926
  func.blocks.forEach((block) => {
22892
22927
  const reportPopv = (i, item, kill) => {
22893
- (0, import_chunk_NHZRKHZO.logger)(
22928
+ (0, import_chunk_X7QCZR3F.logger)(
22894
22929
  "dce",
22895
22930
  2,
22896
22931
  () => `${func.name}: Convert ${i}:${bytecodeToString(
@@ -22905,7 +22940,7 @@ function localDCE(func, context) {
22905
22940
  );
22906
22941
  };
22907
22942
  const reportNop = (item) => {
22908
- (0, import_chunk_NHZRKHZO.logger)(
22943
+ (0, import_chunk_X7QCZR3F.logger)(
22909
22944
  "dce",
22910
22945
  2,
22911
22946
  () => `${func.name}: Kill ${item.deps.map(
@@ -22924,7 +22959,7 @@ function localDCE(func, context) {
22924
22959
  case 19: {
22925
22960
  const liveLocal = dceInfo.locals.has(bytecode.arg);
22926
22961
  if (!liveLocal && (bytecode.arg || context.config.allowForbiddenOpts)) {
22927
- (0, import_chunk_NHZRKHZO.logger)(
22962
+ (0, import_chunk_X7QCZR3F.logger)(
22928
22963
  "dce",
22929
22964
  2,
22930
22965
  () => `${func.name}: Killing store to unused local ${bytecode.arg} at ${offsetToString(block.offset)}:${i}`
@@ -23084,10 +23119,10 @@ function localDCE(func, context) {
23084
23119
  (bc) => bc.op !== 0
23085
23120
  /* nop */
23086
23121
  );
23087
- (0, import_chunk_NHZRKHZO.logger)("dce", 3, functionBanner(func, context, "local-dce-end"));
23122
+ (0, import_chunk_X7QCZR3F.logger)("dce", 3, functionBanner(func, context, "local-dce-end"));
23088
23123
  }
23089
23124
  });
23090
- (0, import_chunk_NHZRKHZO.setBanner)(null);
23125
+ (0, import_chunk_X7QCZR3F.setBanner)(null);
23091
23126
  return anyChanges;
23092
23127
  }
23093
23128
  function computeLiveLocals(func) {
@@ -23138,7 +23173,7 @@ var init_dce = (0, import_chunk_ABYVSU2C.__esm)({
23138
23173
  "src/readprg/dce.ts"() {
23139
23174
  "use strict";
23140
23175
  init_data_flow();
23141
- (0, import_chunk_NHZRKHZO.init_util)();
23176
+ (0, import_chunk_X7QCZR3F.init_util)();
23142
23177
  init_bytecode();
23143
23178
  init_cflow();
23144
23179
  init_opcodes();
@@ -23178,7 +23213,7 @@ function minimizeLocals2(func, equivSets, context) {
23178
23213
  const splitRanges = computeSplitRanges(func, equivSets);
23179
23214
  const locals = mergeSplitRanges(splitRanges);
23180
23215
  const numLocals = Math.max(...Array.from(splitRanges.keys())) + 1;
23181
- (0, import_chunk_NHZRKHZO.logger)("locals", 10, functionBanner(func, context, "Minimize Locals"));
23216
+ (0, import_chunk_X7QCZR3F.logger)("locals", 10, functionBanner(func, context, "Minimize Locals"));
23182
23217
  let argc = func.argc ?? null;
23183
23218
  const colors = /* @__PURE__ */ new Map();
23184
23219
  const merge = [];
@@ -23245,15 +23280,15 @@ function minimizeLocals2(func, equivSets, context) {
23245
23280
  }
23246
23281
  }
23247
23282
  }
23248
- if ((0, import_chunk_NHZRKHZO.wouldLog)("locals", 1)) {
23249
- if (!(0, import_chunk_NHZRKHZO.wouldLog)("locals", 10)) {
23250
- (0, import_chunk_NHZRKHZO.logger)("locals", 5, functionBanner(func, context, "Minimize Locals"));
23283
+ if ((0, import_chunk_X7QCZR3F.wouldLog)("locals", 1)) {
23284
+ if (!(0, import_chunk_X7QCZR3F.wouldLog)("locals", 10)) {
23285
+ (0, import_chunk_X7QCZR3F.logger)("locals", 5, functionBanner(func, context, "Minimize Locals"));
23251
23286
  }
23252
- (0, import_chunk_NHZRKHZO.log)(
23287
+ (0, import_chunk_X7QCZR3F.log)(
23253
23288
  `>>> Merging locals in ${func.name} (in: ${numLocals} => out: ${merge.length})`
23254
23289
  );
23255
23290
  merge.slice().sort((a, b) => (colors.get(a[0]) ?? 0) - (colors.get(b[0]) ?? 0)).forEach(
23256
- (merged) => (0, import_chunk_NHZRKHZO.log)(
23291
+ (merged) => (0, import_chunk_X7QCZR3F.log)(
23257
23292
  ` ${colors.get(merged[0])} - ${merged.map((k) => bytecodeToString(k, context.symbolTable)).join(" | ")}`
23258
23293
  )
23259
23294
  );
@@ -23552,7 +23587,7 @@ function mergeSplitRanges(splitRanges) {
23552
23587
  var init_locals = (0, import_chunk_ABYVSU2C.__esm)({
23553
23588
  "src/readprg/locals.ts"() {
23554
23589
  "use strict";
23555
- (0, import_chunk_NHZRKHZO.init_logger)();
23590
+ (0, import_chunk_X7QCZR3F.init_logger)();
23556
23591
  init_bytecode();
23557
23592
  init_cflow();
23558
23593
  init_opcodes();
@@ -23665,16 +23700,16 @@ function sizeBasedPRE2(func, context) {
23665
23700
  delete bc.arg;
23666
23701
  return bc;
23667
23702
  };
23668
- if ((0, import_chunk_NHZRKHZO.wouldLog)("pre", 1)) {
23669
- if ((0, import_chunk_NHZRKHZO.wouldLog)("pre", 5)) {
23670
- (0, import_chunk_NHZRKHZO.log)(functionBanner(func, context, "PRE")());
23703
+ if ((0, import_chunk_X7QCZR3F.wouldLog)("pre", 1)) {
23704
+ if ((0, import_chunk_X7QCZR3F.wouldLog)("pre", 5)) {
23705
+ (0, import_chunk_X7QCZR3F.log)(functionBanner(func, context, "PRE")());
23671
23706
  } else {
23672
- (0, import_chunk_NHZRKHZO.log)(`================ PRE : ${func.name} ================
23707
+ (0, import_chunk_X7QCZR3F.log)(`================ PRE : ${func.name} ================
23673
23708
  `);
23674
23709
  }
23675
23710
  insertionBlocks.forEach((o, key) => {
23676
23711
  const bcs = canonicalMap.get(key);
23677
- (0, import_chunk_NHZRKHZO.log)(
23712
+ (0, import_chunk_X7QCZR3F.log)(
23678
23713
  `Replacing ${bcs.size} instances of ${bytecodeToString(
23679
23714
  bcs.values().next().value,
23680
23715
  context.symbolTable
@@ -23757,13 +23792,13 @@ function sizeBasedPRE2(func, context) {
23757
23792
  bytecode(1, insertionBlocks.size)
23758
23793
  );
23759
23794
  }
23760
- (0, import_chunk_NHZRKHZO.logger)("pre", 5, functionBanner(func, context, "post-PRE"));
23795
+ (0, import_chunk_X7QCZR3F.logger)("pre", 5, functionBanner(func, context, "post-PRE"));
23761
23796
  return true;
23762
23797
  }
23763
23798
  var init_pre2 = (0, import_chunk_ABYVSU2C.__esm)({
23764
23799
  "src/readprg/pre.ts"() {
23765
23800
  "use strict";
23766
- (0, import_chunk_NHZRKHZO.init_logger)();
23801
+ (0, import_chunk_X7QCZR3F.init_logger)();
23767
23802
  init_bytecode();
23768
23803
  init_cflow();
23769
23804
  init_opcodes();
@@ -23796,9 +23831,9 @@ function blockSharing(func, context) {
23796
23831
  if (!any)
23797
23832
  return false;
23798
23833
  any = false;
23799
- const logging3 = (0, import_chunk_NHZRKHZO.wouldLog)("sharing", 1);
23800
- if (logging3 && (0, import_chunk_NHZRKHZO.wouldLog)("sharing", 10)) {
23801
- (0, import_chunk_NHZRKHZO.setBanner)(functionBanner(func, context, "sharing"));
23834
+ const logging3 = (0, import_chunk_X7QCZR3F.wouldLog)("sharing", 1);
23835
+ if (logging3 && (0, import_chunk_X7QCZR3F.wouldLog)("sharing", 10)) {
23836
+ (0, import_chunk_X7QCZR3F.setBanner)(functionBanner(func, context, "sharing"));
23802
23837
  }
23803
23838
  candidates.forEach((blocks) => {
23804
23839
  while (blocks.size > 1) {
@@ -23934,9 +23969,9 @@ function blockSharing(func, context) {
23934
23969
  block2.offset
23935
23970
  )})` : `block(${offsetToString(block2.offset)})`;
23936
23971
  };
23937
- (0, import_chunk_NHZRKHZO.log)(`Sharing ${showBlock(block)} with ${showBlock(target)}`);
23938
- if ((0, import_chunk_NHZRKHZO.wouldLog)("sharing", 5)) {
23939
- (0, import_chunk_NHZRKHZO.log)(blockToString(target, context));
23972
+ (0, import_chunk_X7QCZR3F.log)(`Sharing ${showBlock(block)} with ${showBlock(target)}`);
23973
+ if ((0, import_chunk_X7QCZR3F.wouldLog)("sharing", 5)) {
23974
+ (0, import_chunk_X7QCZR3F.log)(blockToString(target, context));
23940
23975
  }
23941
23976
  }
23942
23977
  if (target.bytecodes.length > length2) {
@@ -23963,13 +23998,13 @@ function blockSharing(func, context) {
23963
23998
  });
23964
23999
  }
23965
24000
  });
23966
- (0, import_chunk_NHZRKHZO.setBanner)(null);
24001
+ (0, import_chunk_X7QCZR3F.setBanner)(null);
23967
24002
  return any;
23968
24003
  }
23969
24004
  var init_sharing = (0, import_chunk_ABYVSU2C.__esm)({
23970
24005
  "src/readprg/sharing.ts"() {
23971
24006
  "use strict";
23972
- (0, import_chunk_NHZRKHZO.init_util)();
24007
+ (0, import_chunk_X7QCZR3F.init_util)();
23973
24008
  init_bytecode();
23974
24009
  init_opcodes();
23975
24010
  }
@@ -24033,7 +24068,7 @@ function doArrayInits(func, liveInState, context) {
24033
24068
  }
24034
24069
  function simpleOpts(func, context) {
24035
24070
  const equalsSym = 8388787;
24036
- const logging3 = (0, import_chunk_NHZRKHZO.wouldLog)("optimize", 5);
24071
+ const logging3 = (0, import_chunk_X7QCZR3F.wouldLog)("optimize", 5);
24037
24072
  return Array.from(func.blocks.values()).reduce((changes, block) => {
24038
24073
  for (let i = block.bytecodes.length; i--; ) {
24039
24074
  const cur = block.bytecodes[i];
@@ -24041,7 +24076,7 @@ function simpleOpts(func, context) {
24041
24076
  block.bytecodes.splice(i, 1);
24042
24077
  changes = true;
24043
24078
  if (logging3) {
24044
- (0, import_chunk_NHZRKHZO.log)(`${func.name}: deleting ${bytecodeToString(cur, null)}`);
24079
+ (0, import_chunk_X7QCZR3F.log)(`${func.name}: deleting ${bytecodeToString(cur, null)}`);
24045
24080
  }
24046
24081
  } else if (cur.op === 74 && context.config.removeArgc && context.config.allowForbiddenOpts) {
24047
24082
  const arg = cur.arg.incsp;
@@ -24050,7 +24085,7 @@ function simpleOpts(func, context) {
24050
24085
  incsp.arg = arg;
24051
24086
  changes = true;
24052
24087
  if (logging3) {
24053
- (0, import_chunk_NHZRKHZO.log)(`${func.name}: argcincsp => incsp`);
24088
+ (0, import_chunk_X7QCZR3F.log)(`${func.name}: argcincsp => incsp`);
24054
24089
  }
24055
24090
  } else if (i && cur.op === 39 && cur.arg === equalsSym) {
24056
24091
  changes = equalSymbolToEq(block, i) || changes;
@@ -24061,7 +24096,7 @@ function simpleOpts(func, context) {
24061
24096
  if (!shift && prev.op === 37) {
24062
24097
  block.bytecodes.splice(i - 1, 2);
24063
24098
  changes = true;
24064
- logging3 && (0, import_chunk_NHZRKHZO.log)(`${func.name}: deleting no-op shift (${shift})`);
24099
+ logging3 && (0, import_chunk_X7QCZR3F.log)(`${func.name}: deleting no-op shift (${shift})`);
24065
24100
  continue;
24066
24101
  }
24067
24102
  if (shift === 1n && prev.op === 37) {
@@ -24071,7 +24106,7 @@ function simpleOpts(func, context) {
24071
24106
  const add = cur;
24072
24107
  add.op = 3;
24073
24108
  delete add.arg;
24074
- logging3 && (0, import_chunk_NHZRKHZO.log)(`${func.name}: converting "ipush 1; shlv" to "dup 0; addv"`);
24109
+ logging3 && (0, import_chunk_X7QCZR3F.log)(`${func.name}: converting "ipush 1; shlv" to "dup 0; addv"`);
24075
24110
  continue;
24076
24111
  }
24077
24112
  if (shift < (prev.op === 49 ? 64n : 31n)) {
@@ -24081,7 +24116,7 @@ function simpleOpts(func, context) {
24081
24116
  } else {
24082
24117
  prev.arg = BigInt.asIntN(64, mul);
24083
24118
  }
24084
- logging3 && (0, import_chunk_NHZRKHZO.log)(
24119
+ logging3 && (0, import_chunk_X7QCZR3F.log)(
24085
24120
  `${func.name}: converting shlv(${shift}) to mulv(${prev.arg})`
24086
24121
  );
24087
24122
  changes = true;
@@ -24095,14 +24130,14 @@ function simpleOpts(func, context) {
24095
24130
  func.blocks.get(block.taken).preds.delete(block.offset);
24096
24131
  delete block.taken;
24097
24132
  changes = true;
24098
- logging3 && (0, import_chunk_NHZRKHZO.log)(`${func.name}: deleting empty finally handler`);
24133
+ logging3 && (0, import_chunk_X7QCZR3F.log)(`${func.name}: deleting empty finally handler`);
24099
24134
  } else if (isCondBranch(cur.op)) {
24100
24135
  const next = func.blocks.get(block.next);
24101
24136
  const taken = func.blocks.get(block.taken);
24102
24137
  if (next.preds.size > 1 && taken.preds.size === 1) {
24103
24138
  const newOp = cur.op === 40 ? 41 : 40;
24104
24139
  if (logging3) {
24105
- (0, import_chunk_NHZRKHZO.log)(
24140
+ (0, import_chunk_X7QCZR3F.log)(
24106
24141
  `${func.name}: converting ${Opcodes[cur.op]} to ${Opcodes[newOp]}`
24107
24142
  );
24108
24143
  }
@@ -24115,7 +24150,7 @@ function simpleOpts(func, context) {
24115
24150
  const isBool = i >= 2 && isBoolOp(block.bytecodes[i - 2].op);
24116
24151
  if (next.next === block.taken && next.taken == null && taken.bytecodes.length === 1 && isCondBranch(taken.bytecodes[0].op) && next.bytecodes.length > 1 && next.bytecodes[next.bytecodes.length - 1].op === (cur.op === 41 ? 7 : 8) && (isBool || next.bytecodes.length > 2 && isBoolOp(next.bytecodes[next.bytecodes.length - 2].op)) && next.preds?.size === 1 && taken.preds?.size === 2) {
24117
24152
  if (logging3) {
24118
- (0, import_chunk_NHZRKHZO.log)(
24153
+ (0, import_chunk_X7QCZR3F.log)(
24119
24154
  `${func.name}: simplifying ${next.bytecodes[next.bytecodes.length - 1].op === 7 ? "'&&'" : "'||'"} at ${offsetToString(block.offset)}:${offsetToString(
24120
24155
  next.offset
24121
24156
  )}:${offsetToString(taken.offset)}:`
@@ -24132,7 +24167,7 @@ function simpleOpts(func, context) {
24132
24167
  changes = true;
24133
24168
  } else if (taken.next === block.next && taken.taken == null && next.bytecodes.length === 1 && isCondBranch(next.bytecodes[0].op) && taken.bytecodes.length > 1 && taken.bytecodes[taken.bytecodes.length - 1].op === (cur.op === 40 ? 7 : 8) && (isBool || taken.bytecodes.length > 2 && isBoolOp(taken.bytecodes[taken.bytecodes.length - 2].op)) && next.preds?.size === 2 && taken.preds?.size === 1) {
24134
24169
  if (logging3) {
24135
- (0, import_chunk_NHZRKHZO.log)(
24170
+ (0, import_chunk_X7QCZR3F.log)(
24136
24171
  `${func.name}: simplifying ${taken.bytecodes[taken.bytecodes.length - 1].op === 7 ? "'&&'" : "'||'"} at ${offsetToString(block.offset)}:${offsetToString(
24137
24172
  taken.offset
24138
24173
  )}:${offsetToString(next.offset)}:`
@@ -24180,7 +24215,7 @@ function equalSymbolToEq(block, equalsIndex) {
24180
24215
  op: 26,
24181
24216
  offset: invokem.offset
24182
24217
  });
24183
- (0, import_chunk_NHZRKHZO.logger)(
24218
+ (0, import_chunk_X7QCZR3F.logger)(
24184
24219
  "optimize",
24185
24220
  1,
24186
24221
  `Replacing <thing>.equals(:symbol) with <thing> eq :symbol at ${offsetToString(
@@ -24240,7 +24275,7 @@ function removeUnreachableCatches(func, context) {
24240
24275
  const next = func.blocks.get(block.next);
24241
24276
  if (block.try === next.try) {
24242
24277
  if (next.preds.size === 1) {
24243
- (0, import_chunk_NHZRKHZO.logger)(
24278
+ (0, import_chunk_X7QCZR3F.logger)(
24244
24279
  "cfg",
24245
24280
  1,
24246
24281
  () => `${func.name}: ${offsetToString(
@@ -24263,7 +24298,7 @@ function removeUnreachableCatches(func, context) {
24263
24298
  delete next.preds;
24264
24299
  removeBlock(func, next.offset);
24265
24300
  } else if (next.next == null && next.bytecodes.length < 3 && next.bytecodes.reduce((size, bc) => size + opcodeSize(bc.op), 0) < 3 && countFallthroughPreds(func, next) > 1) {
24266
- (0, import_chunk_NHZRKHZO.logger)(
24301
+ (0, import_chunk_X7QCZR3F.logger)(
24267
24302
  "cfg",
24268
24303
  1,
24269
24304
  () => `${func.name}: ${offsetToString(
@@ -24288,7 +24323,7 @@ function removeUnreachableCatches(func, context) {
24288
24323
  switch (last.op) {
24289
24324
  case 41:
24290
24325
  case 40:
24291
- (0, import_chunk_NHZRKHZO.logger)(
24326
+ (0, import_chunk_X7QCZR3F.logger)(
24292
24327
  "cfg",
24293
24328
  1,
24294
24329
  () => `${func.name}: killing no-op ${bytecodeToString(
@@ -24311,7 +24346,7 @@ function removeUnreachableCatches(func, context) {
24311
24346
  for (let i = block.try.length; i--; ) {
24312
24347
  const handler = block.try[i].handler;
24313
24348
  if (!func.blocks.get(handler)?.preds?.size) {
24314
- (0, import_chunk_NHZRKHZO.logger)(
24349
+ (0, import_chunk_X7QCZR3F.logger)(
24315
24350
  "cfg",
24316
24351
  1,
24317
24352
  `${func.name}: killing unused try-catch at ${offsetToString(
@@ -24328,8 +24363,8 @@ function removeUnreachableCatches(func, context) {
24328
24363
  });
24329
24364
  }
24330
24365
  function cleanCfg2(func, context) {
24331
- if ((0, import_chunk_NHZRKHZO.wouldLog)("cfg", 10)) {
24332
- (0, import_chunk_NHZRKHZO.setBanner)(functionBanner(func, context, "sharing"));
24366
+ if ((0, import_chunk_X7QCZR3F.wouldLog)("cfg", 10)) {
24367
+ (0, import_chunk_X7QCZR3F.setBanner)(functionBanner(func, context, "sharing"));
24333
24368
  }
24334
24369
  removeNoOpBlocks(func);
24335
24370
  removeUnreachableCatches(func, context);
@@ -24344,12 +24379,12 @@ function cleanCfg2(func, context) {
24344
24379
  (0, import_node_assert12.default)(!block.preds?.size);
24345
24380
  func.blocks.delete(block.offset);
24346
24381
  });
24347
- (0, import_chunk_NHZRKHZO.setBanner)(null);
24382
+ (0, import_chunk_X7QCZR3F.setBanner)(null);
24348
24383
  }
24349
24384
  var init_optimize2 = (0, import_chunk_ABYVSU2C.__esm)({
24350
24385
  "src/readprg/optimize.ts"() {
24351
24386
  "use strict";
24352
- (0, import_chunk_NHZRKHZO.init_util)();
24387
+ (0, import_chunk_X7QCZR3F.init_util)();
24353
24388
  init_array_init();
24354
24389
  init_bytecode();
24355
24390
  init_cflow();
@@ -24964,21 +24999,21 @@ function optimizeBytecode(context) {
24964
24999
  functions.forEach(callback);
24965
25000
  return;
24966
25001
  }
24967
- (0, import_chunk_NHZRKHZO.bumpLogging)(null, 10);
25002
+ (0, import_chunk_X7QCZR3F.bumpLogging)(null, 10);
24968
25003
  functions.forEach((func) => {
24969
25004
  if (loggerFunc.test(func.name ?? "<null>")) {
24970
- (0, import_chunk_NHZRKHZO.bumpLogging)(null, -10);
25005
+ (0, import_chunk_X7QCZR3F.bumpLogging)(null, -10);
24971
25006
  callback(func);
24972
- (0, import_chunk_NHZRKHZO.bumpLogging)(null, 10);
25007
+ (0, import_chunk_X7QCZR3F.bumpLogging)(null, 10);
24973
25008
  return;
24974
25009
  }
24975
25010
  callback(func);
24976
25011
  });
24977
- (0, import_chunk_NHZRKHZO.bumpLogging)(null, -10);
25012
+ (0, import_chunk_X7QCZR3F.bumpLogging)(null, -10);
24978
25013
  };
24979
- if ((0, import_chunk_NHZRKHZO.wouldLog)("list-input", 1)) {
25014
+ if ((0, import_chunk_X7QCZR3F.wouldLog)("list-input", 1)) {
24980
25015
  forEachFunction(
24981
- (func) => (0, import_chunk_NHZRKHZO.wouldLog)("list-input", 1) && printFunction(func, context)
25016
+ (func) => (0, import_chunk_X7QCZR3F.wouldLog)("list-input", 1) && printFunction(func, context)
24982
25017
  );
24983
25018
  }
24984
25019
  forEachFunction((func) => optimizeFunc(func, context));
@@ -24996,7 +25031,7 @@ function optimizeBytecode(context) {
24996
25031
  forEachFunction((func) => {
24997
25032
  if (!func.name)
24998
25033
  return;
24999
- (0, import_chunk_NHZRKHZO.logger)(
25034
+ (0, import_chunk_X7QCZR3F.logger)(
25000
25035
  "bytecode",
25001
25036
  5,
25002
25037
  `${func.name}: ${offset.toString(16)} ${offset - func.offset}`
@@ -25005,7 +25040,7 @@ function optimizeBytecode(context) {
25005
25040
  });
25006
25041
  const { offsetMap } = updateInfo;
25007
25042
  offsetMap.set(code.byteLength, offset);
25008
- (0, import_chunk_NHZRKHZO.logger)(
25043
+ (0, import_chunk_X7QCZR3F.logger)(
25009
25044
  "bytecode",
25010
25045
  1,
25011
25046
  `${context.filepath}: code size: ${context.sections[
@@ -25017,9 +25052,9 @@ function optimizeBytecode(context) {
25017
25052
  ].length - offset}`
25018
25053
  );
25019
25054
  fixSectionSize(-1059145026, context.sections, offset);
25020
- if ((0, import_chunk_NHZRKHZO.wouldLog)("list-output", 1)) {
25055
+ if ((0, import_chunk_X7QCZR3F.wouldLog)("list-output", 1)) {
25021
25056
  forEachFunction(
25022
- (func) => (0, import_chunk_NHZRKHZO.wouldLog)("list-output", 1) && printFunction(func, context)
25057
+ (func) => (0, import_chunk_X7QCZR3F.wouldLog)("list-output", 1) && printFunction(func, context)
25023
25058
  );
25024
25059
  }
25025
25060
  fixupHeader(context, updateInfo);
@@ -25109,7 +25144,7 @@ ${functionToString(
25109
25144
  ---------------- ${func.name} ----------------`;
25110
25145
  }
25111
25146
  function printFunction(func, context) {
25112
- (0, import_chunk_NHZRKHZO.log)(functionToString(func, context));
25147
+ (0, import_chunk_X7QCZR3F.log)(functionToString(func, context));
25113
25148
  }
25114
25149
  function functionToString(func, context, extra) {
25115
25150
  const parts = [];
@@ -25540,7 +25575,7 @@ var init_bytecode = (0, import_chunk_ABYVSU2C.__esm)({
25540
25575
  "use strict";
25541
25576
  (0, import_chunk_JDC43A3I.init_ast)();
25542
25577
  init_sdk_util();
25543
- (0, import_chunk_NHZRKHZO.init_util)();
25578
+ (0, import_chunk_X7QCZR3F.init_util)();
25544
25579
  init_data();
25545
25580
  init_emit();
25546
25581
  init_exceptions();
@@ -25826,10 +25861,10 @@ async function build_project(product, options, lineCallback) {
25826
25861
  ].flat();
25827
25862
  if (!returnCommand) {
25828
25863
  const handlers = [
25829
- lineCallback || ((line) => (0, import_chunk_NHZRKHZO.log)(line)),
25864
+ lineCallback || ((line) => (0, import_chunk_X7QCZR3F.log)(line)),
25830
25865
  (line) => console.error(line)
25831
25866
  ];
25832
- await (0, import_chunk_NHZRKHZO.spawnByLine)(exe, args, handlers, {
25867
+ await (0, import_chunk_X7QCZR3F.spawnByLine)(exe, args, handlers, {
25833
25868
  cwd: workspace
25834
25869
  });
25835
25870
  }
@@ -25839,7 +25874,7 @@ var init_build = (0, import_chunk_ABYVSU2C.__esm)({
25839
25874
  "src/build.ts"() {
25840
25875
  "use strict";
25841
25876
  init_sdk_util();
25842
- (0, import_chunk_NHZRKHZO.init_util)();
25877
+ (0, import_chunk_X7QCZR3F.init_util)();
25843
25878
  }
25844
25879
  });
25845
25880
  var require_ms = (0, import_chunk_ABYVSU2C.__commonJS)({
@@ -27104,7 +27139,7 @@ function peg$parse2(input, options) {
27104
27139
  var peg$r1 = /^[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u09FC\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7B9\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD-\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/;
27105
27140
  var peg$r2 = /^[0-9A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D3-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7-\u09C8\u09CB-\u09CE\u09D7\u09DC-\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B56-\u0B57\u0B5C-\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82-\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1-\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18-\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772-\u1773\u1780-\u17D3\u17D7\u17DC-\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F-\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7B9\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC-\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33-\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/;
27106
27141
  var peg$r3 = /^[\-\u200C-\u200D]/;
27107
- var peg$r4 = /^[*.-\/]/;
27142
+ var peg$r4 = /^[*.-\/:]/;
27108
27143
  var peg$r5 = /^[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u09FC\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7B9\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD-\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/;
27109
27144
  var peg$r6 = /^[\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A70-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2-\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B56-\u0B57\u0B62-\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CE2-\u0CE3\u0D00-\u0D03\u0D3B-\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62-\u0D63\u0D82-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2-\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0F18-\u0F19\u0F35\u0F37\u0F39\u0F3E-\u0F3F\u0F71-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885-\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099-\u309A\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880-\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C-\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5-\uAAF6\uABE3-\uABEA\uABEC-\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/;
27110
27145
  var peg$r7 = /^[\t\v-\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/;
@@ -27140,7 +27175,7 @@ function peg$parse2(input, options) {
27140
27175
  var peg$e16 = peg$literalExpectation("$", false);
27141
27176
  var peg$e17 = peg$literalExpectation("(", false);
27142
27177
  var peg$e18 = peg$classExpectation(["-", ["\u200C", "\u200D"]], false, false);
27143
- var peg$e19 = peg$classExpectation(["*", [".", "/"]], false, false);
27178
+ var peg$e19 = peg$classExpectation(["*", [".", "/"], ":"], false, false);
27144
27179
  var peg$e20 = peg$classExpectation([["A", "Z"], ["a", "z"], "\xAA", "\xB5", "\xBA", ["\xC0", "\xD6"], ["\xD8", "\xF6"], ["\xF8", "\u02C1"], ["\u02C6", "\u02D1"], ["\u02E0", "\u02E4"], "\u02EC", "\u02EE", ["\u0370", "\u0374"], ["\u0376", "\u0377"], ["\u037A", "\u037D"], "\u037F", "\u0386", ["\u0388", "\u038A"], "\u038C", ["\u038E", "\u03A1"], ["\u03A3", "\u03F5"], ["\u03F7", "\u0481"], ["\u048A", "\u052F"], ["\u0531", "\u0556"], "\u0559", ["\u0560", "\u0588"], ["\u05D0", "\u05EA"], ["\u05EF", "\u05F2"], ["\u0620", "\u064A"], ["\u066E", "\u066F"], ["\u0671", "\u06D3"], "\u06D5", ["\u06E5", "\u06E6"], ["\u06EE", "\u06EF"], ["\u06FA", "\u06FC"], "\u06FF", "\u0710", ["\u0712", "\u072F"], ["\u074D", "\u07A5"], "\u07B1", ["\u07CA", "\u07EA"], ["\u07F4", "\u07F5"], "\u07FA", ["\u0800", "\u0815"], "\u081A", "\u0824", "\u0828", ["\u0840", "\u0858"], ["\u0860", "\u086A"], ["\u08A0", "\u08B4"], ["\u08B6", "\u08BD"], ["\u0904", "\u0939"], "\u093D", "\u0950", ["\u0958", "\u0961"], ["\u0971", "\u0980"], ["\u0985", "\u098C"], ["\u098F", "\u0990"], ["\u0993", "\u09A8"], ["\u09AA", "\u09B0"], "\u09B2", ["\u09B6", "\u09B9"], "\u09BD", "\u09CE", ["\u09DC", "\u09DD"], ["\u09DF", "\u09E1"], ["\u09F0", "\u09F1"], "\u09FC", ["\u0A05", "\u0A0A"], ["\u0A0F", "\u0A10"], ["\u0A13", "\u0A28"], ["\u0A2A", "\u0A30"], ["\u0A32", "\u0A33"], ["\u0A35", "\u0A36"], ["\u0A38", "\u0A39"], ["\u0A59", "\u0A5C"], "\u0A5E", ["\u0A72", "\u0A74"], ["\u0A85", "\u0A8D"], ["\u0A8F", "\u0A91"], ["\u0A93", "\u0AA8"], ["\u0AAA", "\u0AB0"], ["\u0AB2", "\u0AB3"], ["\u0AB5", "\u0AB9"], "\u0ABD", "\u0AD0", ["\u0AE0", "\u0AE1"], "\u0AF9", ["\u0B05", "\u0B0C"], ["\u0B0F", "\u0B10"], ["\u0B13", "\u0B28"], ["\u0B2A", "\u0B30"], ["\u0B32", "\u0B33"], ["\u0B35", "\u0B39"], "\u0B3D", ["\u0B5C", "\u0B5D"], ["\u0B5F", "\u0B61"], "\u0B71", "\u0B83", ["\u0B85", "\u0B8A"], ["\u0B8E", "\u0B90"], ["\u0B92", "\u0B95"], ["\u0B99", "\u0B9A"], "\u0B9C", ["\u0B9E", "\u0B9F"], ["\u0BA3", "\u0BA4"], ["\u0BA8", "\u0BAA"], ["\u0BAE", "\u0BB9"], "\u0BD0", ["\u0C05", "\u0C0C"], ["\u0C0E", "\u0C10"], ["\u0C12", "\u0C28"], ["\u0C2A", "\u0C39"], "\u0C3D", ["\u0C58", "\u0C5A"], ["\u0C60", "\u0C61"], "\u0C80", ["\u0C85", "\u0C8C"], ["\u0C8E", "\u0C90"], ["\u0C92", "\u0CA8"], ["\u0CAA", "\u0CB3"], ["\u0CB5", "\u0CB9"], "\u0CBD", "\u0CDE", ["\u0CE0", "\u0CE1"], ["\u0CF1", "\u0CF2"], ["\u0D05", "\u0D0C"], ["\u0D0E", "\u0D10"], ["\u0D12", "\u0D3A"], "\u0D3D", "\u0D4E", ["\u0D54", "\u0D56"], ["\u0D5F", "\u0D61"], ["\u0D7A", "\u0D7F"], ["\u0D85", "\u0D96"], ["\u0D9A", "\u0DB1"], ["\u0DB3", "\u0DBB"], "\u0DBD", ["\u0DC0", "\u0DC6"], ["\u0E01", "\u0E30"], ["\u0E32", "\u0E33"], ["\u0E40", "\u0E46"], ["\u0E81", "\u0E82"], "\u0E84", ["\u0E87", "\u0E88"], "\u0E8A", "\u0E8D", ["\u0E94", "\u0E97"], ["\u0E99", "\u0E9F"], ["\u0EA1", "\u0EA3"], "\u0EA5", "\u0EA7", ["\u0EAA", "\u0EAB"], ["\u0EAD", "\u0EB0"], ["\u0EB2", "\u0EB3"], "\u0EBD", ["\u0EC0", "\u0EC4"], "\u0EC6", ["\u0EDC", "\u0EDF"], "\u0F00", ["\u0F40", "\u0F47"], ["\u0F49", "\u0F6C"], ["\u0F88", "\u0F8C"], ["\u1000", "\u102A"], "\u103F", ["\u1050", "\u1055"], ["\u105A", "\u105D"], "\u1061", ["\u1065", "\u1066"], ["\u106E", "\u1070"], ["\u1075", "\u1081"], "\u108E", ["\u10A0", "\u10C5"], "\u10C7", "\u10CD", ["\u10D0", "\u10FA"], ["\u10FC", "\u1248"], ["\u124A", "\u124D"], ["\u1250", "\u1256"], "\u1258", ["\u125A", "\u125D"], ["\u1260", "\u1288"], ["\u128A", "\u128D"], ["\u1290", "\u12B0"], ["\u12B2", "\u12B5"], ["\u12B8", "\u12BE"], "\u12C0", ["\u12C2", "\u12C5"], ["\u12C8", "\u12D6"], ["\u12D8", "\u1310"], ["\u1312", "\u1315"], ["\u1318", "\u135A"], ["\u1380", "\u138F"], ["\u13A0", "\u13F5"], ["\u13F8", "\u13FD"], ["\u1401", "\u166C"], ["\u166F", "\u167F"], ["\u1681", "\u169A"], ["\u16A0", "\u16EA"], ["\u16EE", "\u16F8"], ["\u1700", "\u170C"], ["\u170E", "\u1711"], ["\u1720", "\u1731"], ["\u1740", "\u1751"], ["\u1760", "\u176C"], ["\u176E", "\u1770"], ["\u1780", "\u17B3"], "\u17D7", "\u17DC", ["\u1820", "\u1878"], ["\u1880", "\u1884"], ["\u1887", "\u18A8"], "\u18AA", ["\u18B0", "\u18F5"], ["\u1900", "\u191E"], ["\u1950", "\u196D"], ["\u1970", "\u1974"], ["\u1980", "\u19AB"], ["\u19B0", "\u19C9"], ["\u1A00", "\u1A16"], ["\u1A20", "\u1A54"], "\u1AA7", ["\u1B05", "\u1B33"], ["\u1B45", "\u1B4B"], ["\u1B83", "\u1BA0"], ["\u1BAE", "\u1BAF"], ["\u1BBA", "\u1BE5"], ["\u1C00", "\u1C23"], ["\u1C4D", "\u1C4F"], ["\u1C5A", "\u1C7D"], ["\u1C80", "\u1C88"], ["\u1C90", "\u1CBA"], ["\u1CBD", "\u1CBF"], ["\u1CE9", "\u1CEC"], ["\u1CEE", "\u1CF1"], ["\u1CF5", "\u1CF6"], ["\u1D00", "\u1DBF"], ["\u1E00", "\u1F15"], ["\u1F18", "\u1F1D"], ["\u1F20", "\u1F45"], ["\u1F48", "\u1F4D"], ["\u1F50", "\u1F57"], "\u1F59", "\u1F5B", "\u1F5D", ["\u1F5F", "\u1F7D"], ["\u1F80", "\u1FB4"], ["\u1FB6", "\u1FBC"], "\u1FBE", ["\u1FC2", "\u1FC4"], ["\u1FC6", "\u1FCC"], ["\u1FD0", "\u1FD3"], ["\u1FD6", "\u1FDB"], ["\u1FE0", "\u1FEC"], ["\u1FF2", "\u1FF4"], ["\u1FF6", "\u1FFC"], "\u2071", "\u207F", ["\u2090", "\u209C"], "\u2102", "\u2107", ["\u210A", "\u2113"], "\u2115", ["\u2119", "\u211D"], "\u2124", "\u2126", "\u2128", ["\u212A", "\u212D"], ["\u212F", "\u2139"], ["\u213C", "\u213F"], ["\u2145", "\u2149"], "\u214E", ["\u2160", "\u2188"], ["\u2C00", "\u2C2E"], ["\u2C30", "\u2C5E"], ["\u2C60", "\u2CE4"], ["\u2CEB", "\u2CEE"], ["\u2CF2", "\u2CF3"], ["\u2D00", "\u2D25"], "\u2D27", "\u2D2D", ["\u2D30", "\u2D67"], "\u2D6F", ["\u2D80", "\u2D96"], ["\u2DA0", "\u2DA6"], ["\u2DA8", "\u2DAE"], ["\u2DB0", "\u2DB6"], ["\u2DB8", "\u2DBE"], ["\u2DC0", "\u2DC6"], ["\u2DC8", "\u2DCE"], ["\u2DD0", "\u2DD6"], ["\u2DD8", "\u2DDE"], "\u2E2F", ["\u3005", "\u3007"], ["\u3021", "\u3029"], ["\u3031", "\u3035"], ["\u3038", "\u303C"], ["\u3041", "\u3096"], ["\u309D", "\u309F"], ["\u30A1", "\u30FA"], ["\u30FC", "\u30FF"], ["\u3105", "\u312F"], ["\u3131", "\u318E"], ["\u31A0", "\u31BA"], ["\u31F0", "\u31FF"], ["\u3400", "\u4DB5"], ["\u4E00", "\u9FEF"], ["\uA000", "\uA48C"], ["\uA4D0", "\uA4FD"], ["\uA500", "\uA60C"], ["\uA610", "\uA61F"], ["\uA62A", "\uA62B"], ["\uA640", "\uA66E"], ["\uA67F", "\uA69D"], ["\uA6A0", "\uA6EF"], ["\uA717", "\uA71F"], ["\uA722", "\uA788"], ["\uA78B", "\uA7B9"], ["\uA7F7", "\uA801"], ["\uA803", "\uA805"], ["\uA807", "\uA80A"], ["\uA80C", "\uA822"], ["\uA840", "\uA873"], ["\uA882", "\uA8B3"], ["\uA8F2", "\uA8F7"], "\uA8FB", ["\uA8FD", "\uA8FE"], ["\uA90A", "\uA925"], ["\uA930", "\uA946"], ["\uA960", "\uA97C"], ["\uA984", "\uA9B2"], "\uA9CF", ["\uA9E0", "\uA9E4"], ["\uA9E6", "\uA9EF"], ["\uA9FA", "\uA9FE"], ["\uAA00", "\uAA28"], ["\uAA40", "\uAA42"], ["\uAA44", "\uAA4B"], ["\uAA60", "\uAA76"], "\uAA7A", ["\uAA7E", "\uAAAF"], "\uAAB1", ["\uAAB5", "\uAAB6"], ["\uAAB9", "\uAABD"], "\uAAC0", "\uAAC2", ["\uAADB", "\uAADD"], ["\uAAE0", "\uAAEA"], ["\uAAF2", "\uAAF4"], ["\uAB01", "\uAB06"], ["\uAB09", "\uAB0E"], ["\uAB11", "\uAB16"], ["\uAB20", "\uAB26"], ["\uAB28", "\uAB2E"], ["\uAB30", "\uAB5A"], ["\uAB5C", "\uAB65"], ["\uAB70", "\uABE2"], ["\uAC00", "\uD7A3"], ["\uD7B0", "\uD7C6"], ["\uD7CB", "\uD7FB"], ["\uF900", "\uFA6D"], ["\uFA70", "\uFAD9"], ["\uFB00", "\uFB06"], ["\uFB13", "\uFB17"], "\uFB1D", ["\uFB1F", "\uFB28"], ["\uFB2A", "\uFB36"], ["\uFB38", "\uFB3C"], "\uFB3E", ["\uFB40", "\uFB41"], ["\uFB43", "\uFB44"], ["\uFB46", "\uFBB1"], ["\uFBD3", "\uFD3D"], ["\uFD50", "\uFD8F"], ["\uFD92", "\uFDC7"], ["\uFDF0", "\uFDFB"], ["\uFE70", "\uFE74"], ["\uFE76", "\uFEFC"], ["\uFF21", "\uFF3A"], ["\uFF41", "\uFF5A"], ["\uFF66", "\uFFBE"], ["\uFFC2", "\uFFC7"], ["\uFFCA", "\uFFCF"], ["\uFFD2", "\uFFD7"], ["\uFFDA", "\uFFDC"]], false, false);
27145
27180
  var peg$e21 = peg$classExpectation([["\u0300", "\u036F"], ["\u0483", "\u0487"], ["\u0591", "\u05BD"], "\u05BF", ["\u05C1", "\u05C2"], ["\u05C4", "\u05C5"], "\u05C7", ["\u0610", "\u061A"], ["\u064B", "\u065F"], "\u0670", ["\u06D6", "\u06DC"], ["\u06DF", "\u06E4"], ["\u06E7", "\u06E8"], ["\u06EA", "\u06ED"], "\u0711", ["\u0730", "\u074A"], ["\u07A6", "\u07B0"], ["\u07EB", "\u07F3"], "\u07FD", ["\u0816", "\u0819"], ["\u081B", "\u0823"], ["\u0825", "\u0827"], ["\u0829", "\u082D"], ["\u0859", "\u085B"], ["\u08D3", "\u08E1"], ["\u08E3", "\u0903"], ["\u093A", "\u093C"], ["\u093E", "\u094F"], ["\u0951", "\u0957"], ["\u0962", "\u0963"], ["\u0981", "\u0983"], "\u09BC", ["\u09BE", "\u09C4"], ["\u09C7", "\u09C8"], ["\u09CB", "\u09CD"], "\u09D7", ["\u09E2", "\u09E3"], "\u09FE", ["\u0A01", "\u0A03"], "\u0A3C", ["\u0A3E", "\u0A42"], ["\u0A47", "\u0A48"], ["\u0A4B", "\u0A4D"], "\u0A51", ["\u0A70", "\u0A71"], "\u0A75", ["\u0A81", "\u0A83"], "\u0ABC", ["\u0ABE", "\u0AC5"], ["\u0AC7", "\u0AC9"], ["\u0ACB", "\u0ACD"], ["\u0AE2", "\u0AE3"], ["\u0AFA", "\u0AFF"], ["\u0B01", "\u0B03"], "\u0B3C", ["\u0B3E", "\u0B44"], ["\u0B47", "\u0B48"], ["\u0B4B", "\u0B4D"], ["\u0B56", "\u0B57"], ["\u0B62", "\u0B63"], "\u0B82", ["\u0BBE", "\u0BC2"], ["\u0BC6", "\u0BC8"], ["\u0BCA", "\u0BCD"], "\u0BD7", ["\u0C00", "\u0C04"], ["\u0C3E", "\u0C44"], ["\u0C46", "\u0C48"], ["\u0C4A", "\u0C4D"], ["\u0C55", "\u0C56"], ["\u0C62", "\u0C63"], ["\u0C81", "\u0C83"], "\u0CBC", ["\u0CBE", "\u0CC4"], ["\u0CC6", "\u0CC8"], ["\u0CCA", "\u0CCD"], ["\u0CD5", "\u0CD6"], ["\u0CE2", "\u0CE3"], ["\u0D00", "\u0D03"], ["\u0D3B", "\u0D3C"], ["\u0D3E", "\u0D44"], ["\u0D46", "\u0D48"], ["\u0D4A", "\u0D4D"], "\u0D57", ["\u0D62", "\u0D63"], ["\u0D82", "\u0D83"], "\u0DCA", ["\u0DCF", "\u0DD4"], "\u0DD6", ["\u0DD8", "\u0DDF"], ["\u0DF2", "\u0DF3"], "\u0E31", ["\u0E34", "\u0E3A"], ["\u0E47", "\u0E4E"], "\u0EB1", ["\u0EB4", "\u0EB9"], ["\u0EBB", "\u0EBC"], ["\u0EC8", "\u0ECD"], ["\u0F18", "\u0F19"], "\u0F35", "\u0F37", "\u0F39", ["\u0F3E", "\u0F3F"], ["\u0F71", "\u0F84"], ["\u0F86", "\u0F87"], ["\u0F8D", "\u0F97"], ["\u0F99", "\u0FBC"], "\u0FC6", ["\u102B", "\u103E"], ["\u1056", "\u1059"], ["\u105E", "\u1060"], ["\u1062", "\u1064"], ["\u1067", "\u106D"], ["\u1071", "\u1074"], ["\u1082", "\u108D"], "\u108F", ["\u109A", "\u109D"], ["\u135D", "\u135F"], ["\u1712", "\u1714"], ["\u1732", "\u1734"], ["\u1752", "\u1753"], ["\u1772", "\u1773"], ["\u17B4", "\u17D3"], "\u17DD", ["\u180B", "\u180D"], ["\u1885", "\u1886"], "\u18A9", ["\u1920", "\u192B"], ["\u1930", "\u193B"], ["\u1A17", "\u1A1B"], ["\u1A55", "\u1A5E"], ["\u1A60", "\u1A7C"], "\u1A7F", ["\u1AB0", "\u1ABD"], ["\u1B00", "\u1B04"], ["\u1B34", "\u1B44"], ["\u1B6B", "\u1B73"], ["\u1B80", "\u1B82"], ["\u1BA1", "\u1BAD"], ["\u1BE6", "\u1BF3"], ["\u1C24", "\u1C37"], ["\u1CD0", "\u1CD2"], ["\u1CD4", "\u1CE8"], "\u1CED", ["\u1CF2", "\u1CF4"], ["\u1CF7", "\u1CF9"], ["\u1DC0", "\u1DF9"], ["\u1DFB", "\u1DFF"], ["\u20D0", "\u20DC"], "\u20E1", ["\u20E5", "\u20F0"], ["\u2CEF", "\u2CF1"], "\u2D7F", ["\u2DE0", "\u2DFF"], ["\u302A", "\u302F"], ["\u3099", "\u309A"], "\uA66F", ["\uA674", "\uA67D"], ["\uA69E", "\uA69F"], ["\uA6F0", "\uA6F1"], "\uA802", "\uA806", "\uA80B", ["\uA823", "\uA827"], ["\uA880", "\uA881"], ["\uA8B4", "\uA8C5"], ["\uA8E0", "\uA8F1"], "\uA8FF", ["\uA926", "\uA92D"], ["\uA947", "\uA953"], ["\uA980", "\uA983"], ["\uA9B3", "\uA9C0"], "\uA9E5", ["\uAA29", "\uAA36"], "\uAA43", ["\uAA4C", "\uAA4D"], ["\uAA7B", "\uAA7D"], "\uAAB0", ["\uAAB2", "\uAAB4"], ["\uAAB7", "\uAAB8"], ["\uAABE", "\uAABF"], "\uAAC1", ["\uAAEB", "\uAAEF"], ["\uAAF5", "\uAAF6"], ["\uABE3", "\uABEA"], ["\uABEC", "\uABED"], "\uFB1E", ["\uFE00", "\uFE0F"], ["\uFE20", "\uFE2F"]], false, false);
27146
27181
  var peg$e22 = peg$otherExpectation("whitespace");
@@ -28812,7 +28847,7 @@ async function resolve_literals(qualifier, default_source, deviceInfo, cache) {
28812
28847
  );
28813
28848
  if (!(0, import_chunk_JDC43A3I.hasProperty)(cache.resolvedPaths, resolved)) {
28814
28849
  if (/[*?[\]{}]/.test(resolved)) {
28815
- cache.resolvedPaths[resolved] = (0, import_chunk_NHZRKHZO.globSome)(resolved, () => true);
28850
+ cache.resolvedPaths[resolved] = (0, import_chunk_X7QCZR3F.globSome)(resolved, () => true);
28816
28851
  } else {
28817
28852
  cache.resolvedPaths[resolved] = fs5.stat(resolved).then(
28818
28853
  () => true,
@@ -28891,12 +28926,12 @@ async function read_resource_files(targets, cache) {
28891
28926
  if (!(0, import_chunk_JDC43A3I.hasProperty)(resourceGroupPromises, key)) {
28892
28927
  resourceGroupPromises[key] = Promise.all(
28893
28928
  p.qualifier.resourcePath.map(
28894
- (pattern) => (0, import_chunk_NHZRKHZO.globa)(pattern, { mark: true })
28929
+ (pattern) => (0, import_chunk_X7QCZR3F.globa)(pattern, { mark: true })
28895
28930
  )
28896
28931
  ).then(
28897
28932
  (patterns) => Promise.all(
28898
28933
  patterns.flat().map(
28899
- (path7) => path7.endsWith("/") ? (0, import_chunk_NHZRKHZO.globa)(`${path7}**/*.xml`, { mark: true }) : path7
28934
+ (path7) => path7.endsWith("/") ? (0, import_chunk_X7QCZR3F.globa)(`${path7}**/*.xml`, { mark: true }) : path7
28900
28935
  )
28901
28936
  )
28902
28937
  ).then(
@@ -28956,7 +28991,7 @@ async function find_build_instructions_in_resource(file, rez, buildDependencies)
28956
28991
  const sourceExcludes = excludes.map((e) => e.file?.value.value).filter((f) => f != null).map((f) => path2.resolve(dir, f).replace(/\\/g, "/"));
28957
28992
  const filePatterns = excludes.map((e) => e.dir?.value.value).filter((f) => f != null).map((f) => path2.join(dir, f, "**", "*.mc").replace(/\\/g, "/"));
28958
28993
  if (filePatterns.length) {
28959
- const files = (await Promise.all(filePatterns.map((p) => (0, import_chunk_NHZRKHZO.globa)(p)))).flat();
28994
+ const files = (await Promise.all(filePatterns.map((p) => (0, import_chunk_X7QCZR3F.globa)(p)))).flat();
28960
28995
  sourceExcludes.push(...files);
28961
28996
  }
28962
28997
  const excludeAnnotations = excludes.map((e) => e.annotation?.value.value).filter((f) => f != null);
@@ -29133,15 +29168,15 @@ function identify_optimizer_groups(targets, options) {
29133
29168
  function find_barrels(barrelPath, buildDependencies) {
29134
29169
  return (Array.isArray(barrelPath) ? (
29135
29170
  // This is a sublist. The barrel has more than one jungle file.
29136
- Promise.all(barrelPath.map((path7) => (0, import_chunk_NHZRKHZO.globa)(path7, { mark: true }))).then(
29171
+ Promise.all(barrelPath.map((path7) => (0, import_chunk_X7QCZR3F.globa)(path7, { mark: true }))).then(
29137
29172
  (paths) => [
29138
29173
  paths.flat().filter((path7) => path7.endsWith(".jungle")).join(";")
29139
29174
  ]
29140
29175
  )
29141
- ) : (0, import_chunk_NHZRKHZO.globa)(barrelPath, { mark: true }).then(
29176
+ ) : (0, import_chunk_X7QCZR3F.globa)(barrelPath, { mark: true }).then(
29142
29177
  (paths) => Promise.all(
29143
29178
  paths.map(
29144
- (path7) => path7.endsWith("/") ? (0, import_chunk_NHZRKHZO.globa)(`${path7}**/*.barrel`) : path7
29179
+ (path7) => path7.endsWith("/") ? (0, import_chunk_X7QCZR3F.globa)(`${path7}**/*.barrel`) : path7
29145
29180
  )
29146
29181
  )
29147
29182
  ).then(
@@ -29149,7 +29184,7 @@ function find_barrels(barrelPath, buildDependencies) {
29149
29184
  (path7) => path7.endsWith(".jungle") || path7.endsWith(".barrel")
29150
29185
  )
29151
29186
  )).then((paths) => {
29152
- (0, import_chunk_NHZRKHZO.forEach)(
29187
+ (0, import_chunk_X7QCZR3F.forEach)(
29153
29188
  barrelPath,
29154
29189
  (path7) => /[*?[\]{}]/.test(path7) || (buildDependencies[path7] = true)
29155
29190
  );
@@ -29426,7 +29461,7 @@ var init_jungles = (0, import_chunk_ABYVSU2C.__esm)({
29426
29461
  init_api();
29427
29462
  init_manifest();
29428
29463
  init_sdk_util();
29429
- (0, import_chunk_NHZRKHZO.init_util)();
29464
+ (0, import_chunk_X7QCZR3F.init_util)();
29430
29465
  depth = 0;
29431
29466
  }
29432
29467
  });
@@ -29454,7 +29489,7 @@ async function launchSimulator(force = true) {
29454
29489
  await new Promise((r) => setTimeout(r, 200));
29455
29490
  }
29456
29491
  } catch (e) {
29457
- (0, import_chunk_NHZRKHZO.log)(e);
29492
+ (0, import_chunk_X7QCZR3F.log)(e);
29458
29493
  }
29459
29494
  }
29460
29495
  function checkIfSimulatorRunning() {
@@ -29485,10 +29520,10 @@ function simulateProgram(prg, device, test = false, logger2) {
29485
29520
  }
29486
29521
  }
29487
29522
  return getSdkPath().then(
29488
- (sdk) => (0, import_chunk_NHZRKHZO.spawnByLine)(
29523
+ (sdk) => (0, import_chunk_X7QCZR3F.spawnByLine)(
29489
29524
  path3.resolve(sdk, "bin", isWin ? "monkeydo.bat" : "monkeydo"),
29490
29525
  args,
29491
- logger2 || ((line) => (0, import_chunk_NHZRKHZO.log)(line))
29526
+ logger2 || ((line) => (0, import_chunk_X7QCZR3F.log)(line))
29492
29527
  ).then(() => {
29493
29528
  return;
29494
29529
  })
@@ -29498,7 +29533,7 @@ var init_launch = (0, import_chunk_ABYVSU2C.__esm)({
29498
29533
  "src/launch.ts"() {
29499
29534
  "use strict";
29500
29535
  init_sdk_util();
29501
- (0, import_chunk_NHZRKHZO.init_util)();
29536
+ (0, import_chunk_X7QCZR3F.init_util)();
29502
29537
  }
29503
29538
  });
29504
29539
  async function analyze_module_types(state) {
@@ -29519,7 +29554,7 @@ async function analyze_module_types(state) {
29519
29554
  for (const module2 of modulesSet) {
29520
29555
  modulesSet.delete(module2);
29521
29556
  const istate = buildTypeInfo(state, module2, false);
29522
- await (0, import_chunk_NHZRKHZO.log)();
29557
+ await (0, import_chunk_X7QCZR3F.log)();
29523
29558
  if (istate?.typeMap) {
29524
29559
  moduleMap.set(module2, istate);
29525
29560
  istate.dependencies?.forEach((flags, other) => {
@@ -29598,7 +29633,7 @@ var init_module_types = (0, import_chunk_ABYVSU2C.__esm)({
29598
29633
  init_interp();
29599
29634
  init_sub_type();
29600
29635
  init_types();
29601
- (0, import_chunk_NHZRKHZO.init_logger)();
29636
+ (0, import_chunk_X7QCZR3F.init_logger)();
29602
29637
  }
29603
29638
  });
29604
29639
  function relative_path_no_dotdot(relative2) {
@@ -29619,7 +29654,7 @@ async function getCodeWorkspaceSettings(folder) {
29619
29654
  let curDir = folder;
29620
29655
  try {
29621
29656
  while (curDir) {
29622
- const code_workspaces = await (0, import_chunk_NHZRKHZO.globa)(
29657
+ const code_workspaces = await (0, import_chunk_X7QCZR3F.globa)(
29623
29658
  path4.resolve(curDir, "*.code-workspace"),
29624
29659
  { onlyFiles: true }
29625
29660
  );
@@ -29747,7 +29782,7 @@ async function createLocalBarrels(targets, options) {
29747
29782
  optBarrelDir
29748
29783
  };
29749
29784
  return promise2.then(
29750
- () => (0, import_chunk_NHZRKHZO.copyRecursiveAsNeeded)(
29785
+ () => (0, import_chunk_X7QCZR3F.copyRecursiveAsNeeded)(
29751
29786
  rawBarrelDir,
29752
29787
  optBarrelDir,
29753
29788
  (src) => !src.endsWith(".mc")
@@ -30048,7 +30083,7 @@ async function filesFromPaths(workspace, buildDir, inPaths, extension) {
30048
30083
  const filter = buildDir.startsWith(workspace);
30049
30084
  const paths = (await Promise.all(
30050
30085
  inPaths?.map(
30051
- (pattern) => (0, import_chunk_NHZRKHZO.globa)(pattern, { cwd: workspace, mark: true }).then(
30086
+ (pattern) => (0, import_chunk_X7QCZR3F.globa)(pattern, { cwd: workspace, mark: true }).then(
30052
30087
  (paths2) => paths2.map((p) => ({
30053
30088
  path: p,
30054
30089
  filter: filter && /^\*\*[\\/]\*\.mc$/i.test(path4.relative(workspace, pattern))
@@ -30058,7 +30093,7 @@ async function filesFromPaths(workspace, buildDir, inPaths, extension) {
30058
30093
  )).flat();
30059
30094
  const files = await Promise.all(
30060
30095
  paths.map(
30061
- (result) => result.path.endsWith("/") ? (0, import_chunk_NHZRKHZO.globa)(`${result.path}**/*${extension}`, {
30096
+ (result) => result.path.endsWith("/") ? (0, import_chunk_X7QCZR3F.globa)(`${result.path}**/*${extension}`, {
30062
30097
  cwd: workspace,
30063
30098
  mark: true
30064
30099
  }).then(
@@ -30185,7 +30220,7 @@ async function generateOneConfig(buildConfig, manifestXML, dependencyFiles, conf
30185
30220
  })
30186
30221
  );
30187
30222
  }
30188
- const actualOptimizedFiles = (await (0, import_chunk_NHZRKHZO.globa)(path4.join(output, "**", "*.mc"), { mark: true })).filter((file) => !file.endsWith("/")).sort();
30223
+ const actualOptimizedFiles = (await (0, import_chunk_X7QCZR3F.globa)(path4.join(output, "**", "*.mc"), { mark: true })).filter((file) => !file.endsWith("/")).sort();
30189
30224
  const {
30190
30225
  hasTests,
30191
30226
  diagnostics: prevDiagnostics,
@@ -30201,13 +30236,13 @@ async function generateOneConfig(buildConfig, manifestXML, dependencyFiles, conf
30201
30236
  const sdk = await getSdkPath();
30202
30237
  const match = sdk.match(/-(\d+\.\d+\.\d+)/);
30203
30238
  if ((match && parseSdkVersion(match[1])) === prevSdkVersion) {
30204
- const source_time = await (0, import_chunk_NHZRKHZO.last_modified)(
30239
+ const source_time = await (0, import_chunk_X7QCZR3F.last_modified)(
30205
30240
  Object.keys(fnMap).concat(dependencyFiles)
30206
30241
  );
30207
- const opt_time = await (0, import_chunk_NHZRKHZO.first_modified)(
30242
+ const opt_time = await (0, import_chunk_X7QCZR3F.first_modified)(
30208
30243
  Object.values(fnMap).map((v) => v.output)
30209
30244
  );
30210
- if (source_time < opt_time && 1731172425727 < opt_time) {
30245
+ if (source_time < opt_time && 1732126457866 < opt_time) {
30211
30246
  return {
30212
30247
  hasTests,
30213
30248
  diagnostics: prevDiagnostics,
@@ -30245,7 +30280,7 @@ async function generateOneConfig(buildConfig, manifestXML, dependencyFiles, conf
30245
30280
  hasTests: hasTests2,
30246
30281
  diagnostics,
30247
30282
  sdkVersion,
30248
- optimizerVersion: "1.1.79",
30283
+ optimizerVersion: "1.1.81",
30249
30284
  ...Object.fromEntries(
30250
30285
  configOptionsToCheck.map((option) => [option, config[option]])
30251
30286
  )
@@ -30259,7 +30294,7 @@ function getProjectAnalysis(targets, analysis, manifestXML, options) {
30259
30294
  return getConfig(options).then(
30260
30295
  (options2) => getProjectAnalysisHelper(targets, analysis, manifestXML, options2)
30261
30296
  ).catch(
30262
- (ex) => Promise.reject(ex instanceof import_chunk_NHZRKHZO.AwaitedError ? ex.resolve() : ex)
30297
+ (ex) => Promise.reject(ex instanceof import_chunk_X7QCZR3F.AwaitedError ? ex.resolve() : ex)
30263
30298
  );
30264
30299
  }
30265
30300
  async function getProjectAnalysisHelper(targets, analysis, manifestXML, options) {
@@ -30384,7 +30419,7 @@ var init_optimizer = (0, import_chunk_ABYVSU2C.__esm)({
30384
30419
  init_sdk_util();
30385
30420
  init_interp();
30386
30421
  init_module_types();
30387
- (0, import_chunk_NHZRKHZO.init_util)();
30422
+ (0, import_chunk_X7QCZR3F.init_util)();
30388
30423
  init_worker_pool();
30389
30424
  init_optimizer_types();
30390
30425
  init_types();
@@ -30444,7 +30479,7 @@ async function performTask(task) {
30444
30479
  throw new Error(`Invalid task type ${type}`);
30445
30480
  }
30446
30481
  return Promise.resolve(handler(task.data)).then(
30447
- (result) => import_chunk_NHZRKHZO.logPromise.then(() => result)
30482
+ (result) => import_chunk_X7QCZR3F.logPromise.then(() => result)
30448
30483
  );
30449
30484
  }
30450
30485
  var workerTaskHandlers;
@@ -30454,7 +30489,7 @@ var init_worker_task = (0, import_chunk_ABYVSU2C.__esm)({
30454
30489
  init_optimizer();
30455
30490
  init_readprg();
30456
30491
  init_sdk_util();
30457
- (0, import_chunk_NHZRKHZO.init_logger)();
30492
+ (0, import_chunk_X7QCZR3F.init_logger)();
30458
30493
  workerTaskHandlers = {
30459
30494
  buildOptimizedProject(data) {
30460
30495
  return buildOptimizedProject(data.product, data.options);
@@ -30672,7 +30707,7 @@ async function optimizeProgram(filepath, devKey, output, config) {
30672
30707
  }
30673
30708
  function optimizeProgramBuffer(filepath, view, debugXml, apiDebugXml, key, config) {
30674
30709
  const { sections } = readPrgWithOffsets(view);
30675
- (0, import_chunk_NHZRKHZO.logger)("readprg", 5, sections);
30710
+ (0, import_chunk_X7QCZR3F.logger)("readprg", 5, sections);
30676
30711
  const symbolTable = new SymbolTable();
30677
30712
  if ((0, import_chunk_JDC43A3I.hasProperty)(sections, 1461170197 .toString())) {
30678
30713
  symbolTable.parse(sections[
@@ -30972,7 +31007,7 @@ var init_readprg = (0, import_chunk_ABYVSU2C.__esm)({
30972
31007
  init_signer();
30973
31008
  init_symbols();
30974
31009
  init_sdk_util();
30975
- (0, import_chunk_NHZRKHZO.init_util)();
31010
+ (0, import_chunk_X7QCZR3F.init_util)();
30976
31011
  init_worker_pool();
30977
31012
  }
30978
31013
  });
@@ -30984,7 +31019,7 @@ function getSdkPath() {
30984
31019
  });
30985
31020
  }
30986
31021
  async function getDeviceInfo() {
30987
- const files = await (0, import_chunk_NHZRKHZO.globa)(`${connectiq}/Devices/*/compiler.json`);
31022
+ const files = await (0, import_chunk_X7QCZR3F.globa)(`${connectiq}/Devices/*/compiler.json`);
30988
31023
  if (!files.length) {
30989
31024
  throw new Error(
30990
31025
  `No devices found at '${connectiq}/Devices'. Check your sdk is correctly installed`
@@ -31052,7 +31087,7 @@ async function getFunctionDocumentation() {
31052
31087
  var isWin, appSupport, connectiq;
31053
31088
  var init_sdk_util = (0, import_chunk_ABYVSU2C.__esm)({
31054
31089
  "src/sdk-util.ts"() {
31055
- (0, import_chunk_NHZRKHZO.init_util)();
31090
+ (0, import_chunk_X7QCZR3F.init_util)();
31056
31091
  init_xml_util();
31057
31092
  init_readprg();
31058
31093
  init_bytecode();