@mirascript/mirascript 0.1.70 → 0.1.74

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.
@@ -108,7 +108,7 @@ function isVmRecord(value) {
108
108
  value;
109
109
  return true;
110
110
  }
111
- function isVmArrayLikeRecordByEntires(entries2) {
111
+ function isVmArrayLikeRecordByEntries(entries2) {
112
112
  const { length } = entries2;
113
113
  if (length === 0) return true;
114
114
  if (length > VM_ARRAY_MAX_LENGTH) return false;
@@ -241,40 +241,20 @@ function getVmType(value) {
241
241
 
242
242
  // src/helpers/serialize.ts
243
243
  import { REG_IDENTIFIER_FULL, REG_ORDINAL_FULL } from "@mirascript/constants";
244
- var DEFAULT_OPTIONS = Object.freeze({
245
- maxDepth: 128,
246
- serializeNil,
247
- serializeBoolean,
248
- serializeNumber,
249
- serializeString: serializeStringImpl,
250
- serializeStringQuote: (value) => value,
251
- serializeStringEscape: (value) => value,
252
- serializeStringContent: (value) => value,
253
- serializeArray,
254
- serializeRecord,
255
- serializePropName: String,
256
- serializeFunction: serializeNil,
257
- serializeModule: serializeNil,
258
- serializeExtern: serializeNil
259
- });
260
- function isDefaultOptions(options) {
261
- return options == null || options === DEFAULT_OPTIONS;
244
+ function serializeNil() {
245
+ return "nil";
262
246
  }
263
- function mergeOptions(base, options) {
264
- if (options == null) return base;
265
- let opt = null;
266
- for (const key in options) {
267
- if (!hasOwn(options, key) || !hasOwn(base, key)) continue;
268
- const el = options[key];
269
- if (el == null) continue;
270
- opt ??= { ...base };
271
- opt[key] = el;
272
- }
273
- return opt ? Object.freeze(opt) : base;
247
+ function serializeBoolean(value) {
248
+ return value ? "true" : "false";
274
249
  }
275
- function getSerializeOptions(options) {
276
- if (isDefaultOptions(options)) return DEFAULT_OPTIONS;
277
- return mergeOptions(DEFAULT_OPTIONS, options);
250
+ function serializeNumber(value) {
251
+ if (isNaN(value)) return "nan";
252
+ if (!isFinite(value)) return value < 0 ? "-inf" : "inf";
253
+ if (value === 0) {
254
+ if (1 / value < 0) return "-0";
255
+ return "0";
256
+ }
257
+ return String(value);
278
258
  }
279
259
  function serializeStringEscaped(escaped, options) {
280
260
  return options.serializeStringEscape("\\" + escaped, options);
@@ -284,6 +264,7 @@ function serializeStringContent(value, options) {
284
264
  }
285
265
  var STRING_QUOTE = `'`;
286
266
  var STRING_REG = new RegExp(String.raw`[${STRING_QUOTE}\\\$\p{C}\u2028\u2029]`, "gu");
267
+ var STRING_MARK = /^[\p{M}]$/u;
287
268
  function serializeStringImpl(value, options) {
288
269
  const oq = options.serializeStringQuote(STRING_QUOTE, true, options);
289
270
  const cq = options.serializeStringQuote(STRING_QUOTE, false, options);
@@ -292,10 +273,13 @@ function serializeStringImpl(value, options) {
292
273
  }
293
274
  let ret = oq;
294
275
  let lastIndex = 0;
295
- while (value.length > lastIndex && /^[\p{M}]$/u.test(value[lastIndex])) {
296
- const c = serializeStringEscaped(`u{${value.codePointAt(lastIndex).toString(16)}}`, options);
276
+ while (value.length > lastIndex) {
277
+ const cp = value.codePointAt(lastIndex);
278
+ const ch = String.fromCodePoint(cp);
279
+ if (!STRING_MARK.test(ch)) break;
280
+ const c = serializeStringEscaped(`u{${cp.toString(16)}}`, options);
297
281
  ret += c;
298
- lastIndex += 1;
282
+ lastIndex += ch.length;
299
283
  }
300
284
  STRING_REG.lastIndex = lastIndex;
301
285
  let match;
@@ -365,31 +349,16 @@ function serializeRecordKey(key, options) {
365
349
  }
366
350
  return serializeRecordKeyOpt(key, getSerializeOptions(options));
367
351
  }
368
- function serializeNil() {
369
- return "nil";
370
- }
371
- function serializeBoolean(value) {
372
- return value ? "true" : "false";
373
- }
374
- function serializeNumber(value) {
375
- if (isNaN(value)) return "nan";
376
- if (!isFinite(value)) return value < 0 ? "-inf" : "inf";
377
- if (value === 0) {
378
- if (1 / value < 0) return "-0";
379
- return "0";
380
- }
381
- return String(value);
382
- }
383
352
  function serializeArray(value, depth, options) {
384
353
  if (depth > options.maxDepth) return `[]`;
385
354
  if (value.length === 0) return "[]";
386
- let str = "[";
355
+ let result = "[";
387
356
  for (let i = 0; i < value.length; i++) {
388
- if (i > 0) str += ", ";
389
- str += serializeImpl(value[i], depth, options);
357
+ if (i > 0) result += ", ";
358
+ result += serializeImpl(value[i], depth, options);
390
359
  }
391
- str += "]";
392
- return str;
360
+ result += "]";
361
+ return result;
393
362
  }
394
363
  var { valueOf } = Object.prototype;
395
364
  function customValueOf(value) {
@@ -416,18 +385,18 @@ function serializeRecord(value, depth, options) {
416
385
  }
417
386
  return `(${serializeRecordKeyOpt(k, options)}: ${serializeImpl(v, depth, options)})`;
418
387
  }
419
- const omitKey = isVmArrayLikeRecordByEntires(e);
420
- let str = "(";
388
+ const omitKey = isVmArrayLikeRecordByEntries(e);
389
+ let result = "(";
421
390
  for (const [key, val] of e) {
422
- if (str.length > 1) str += ", ";
391
+ if (result.length > 1) result += ", ";
423
392
  if (omitKey) {
424
- str += serializeImpl(val, depth, options);
393
+ result += serializeImpl(val, depth, options);
425
394
  } else {
426
- str += `${serializeRecordKeyOpt(key, options)}: ${serializeImpl(val, depth, options)}`;
395
+ result += `${serializeRecordKeyOpt(key, options)}: ${serializeImpl(val, depth, options)}`;
427
396
  }
428
397
  }
429
- str += ")";
430
- return str;
398
+ result += ")";
399
+ return result;
431
400
  }
432
401
  function serializeImpl(value, depth, options) {
433
402
  if (value == null) {
@@ -490,6 +459,45 @@ function displayExtern(value) {
490
459
  return `<extern>`;
491
460
  }
492
461
  }
462
+ function display(value, options) {
463
+ const opt = mergeOptions(DISPLAY_OPTIONS, options);
464
+ return serializeImpl(value, 0, opt);
465
+ }
466
+ function isDefaultOptions(options) {
467
+ return options == null || options === DEFAULT_OPTIONS;
468
+ }
469
+ function mergeOptions(base, options) {
470
+ if (options == null) return base;
471
+ let opt = null;
472
+ for (const key in options) {
473
+ if (!hasOwn(options, key) || !hasOwn(base, key)) continue;
474
+ const el = options[key];
475
+ if (el == null) continue;
476
+ opt ??= { ...base };
477
+ opt[key] = el;
478
+ }
479
+ return opt ? Object.freeze(opt) : base;
480
+ }
481
+ function getSerializeOptions(options) {
482
+ if (isDefaultOptions(options)) return DEFAULT_OPTIONS;
483
+ return mergeOptions(DEFAULT_OPTIONS, options);
484
+ }
485
+ var DEFAULT_OPTIONS = Object.freeze({
486
+ maxDepth: 128,
487
+ serializeNil,
488
+ serializeBoolean,
489
+ serializeNumber,
490
+ serializeString: serializeStringImpl,
491
+ serializeStringQuote: (value) => value,
492
+ serializeStringEscape: (value) => value,
493
+ serializeStringContent: (value) => value,
494
+ serializeArray,
495
+ serializeRecord,
496
+ serializePropName: String,
497
+ serializeFunction: serializeNil,
498
+ serializeModule: serializeNil,
499
+ serializeExtern: serializeNil
500
+ });
493
501
  var DISPLAY_OPTIONS = Object.freeze({
494
502
  maxDepth: 3,
495
503
  serializeNil,
@@ -506,10 +514,6 @@ var DISPLAY_OPTIONS = Object.freeze({
506
514
  serializeModule: displayModule,
507
515
  serializeExtern: displayExtern
508
516
  });
509
- function display(value, options) {
510
- const opt = mergeOptions(DISPLAY_OPTIONS, options);
511
- return serializeImpl(value, 0, opt);
512
- }
513
517
 
514
518
  // src/helpers/error.ts
515
519
  var VmError = class _VmError extends Error {
@@ -1790,7 +1794,7 @@ export {
1790
1794
  isVmPrimitive,
1791
1795
  isVmArray,
1792
1796
  isVmRecord,
1793
- isVmArrayLikeRecordByEntires,
1797
+ isVmArrayLikeRecordByEntries,
1794
1798
  isVmArrayLikeRecordByKeys,
1795
1799
  isVmArrayLikeRecord,
1796
1800
  isVmConst,
@@ -1798,11 +1802,11 @@ export {
1798
1802
  isVmAny,
1799
1803
  isVmValue,
1800
1804
  getVmType,
1801
- serializeString,
1802
- serializeRecordKey,
1803
1805
  serializeNil,
1804
1806
  serializeBoolean,
1805
1807
  serializeNumber,
1808
+ serializeString,
1809
+ serializeRecordKey,
1806
1810
  serializeArray,
1807
1811
  serializeRecord,
1808
1812
  serialize,
@@ -1820,4 +1824,4 @@ export {
1820
1824
  parseDiagnostics,
1821
1825
  formatDiagnostics
1822
1826
  };
1823
- //# sourceMappingURL=chunk-X4FUFXO6.js.map
1827
+ //# sourceMappingURL=chunk-VI74OKFU.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/helpers/constants.ts", "../src/helpers/utils.ts", "../src/helpers/types.ts", "../src/helpers/serialize.ts", "../src/helpers/error.ts", "../src/compiler/generate-bytecode.ts", "../src/compiler/emit/index.ts", "../src/helpers/convert/to-string.ts", "../src/compiler/emit/consts.ts", "../src/compiler/emit/sourcemap.ts", "../src/compiler/emit/constants.ts", "../src/compiler/diagnostic.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaA;AAAA,gCAAc;AAbP,IAAM,sBAAsB;AAE5B,IAAM,YAAY,uBAAO,IAAI,sBAAsB;AACnD,IAAM,cAAc,uBAAO,IAAI,wBAAwB;AACvD,IAAM,mBAAmB,uBAAO,IAAI,8BAA8B;AAClE,IAAM,aAAa,uBAAO,IAAI,uBAAuB;AACrD,IAAM,YAAY,uBAAO,IAAI,sBAAsB;AACnD,IAAM,YAAY,uBAAO,IAAI,sBAAsB;AACnD,IAAM,aAAa,uBAAO,IAAI,uBAAuB;AAErD,IAAM,iBAAiB;AACvB,IAAM,6BAA6B;;;ACXnC,IAAM,EAAE,QAAQ,IAAI;AACpB,IAAM;AAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,KAAK;AAAA,EACL,mBAAmB;AAAA,EACnB,mBAAmB;AACvB,IAAI;AACG,IAAM,EAAE,QAAQ,MAAM,QAAQ,SAAS,QAAQ,aAAa,gBAAgB,qBAAqB,OAAO,IAC3G;AACG,IAAM,EAAE,OAAO,eAAe,IAAI;AAIlC,IAAM,aACT,gBAAgB,UAAU,OAAO,OAAO,cAAc,aAC/C,OAAO,aACR,CAAC,MAAsB,KAAK,CAAC,EAAE;AAKlC,IAAM,mBAAmB,SAAS,KAAK;AAAA;AAAA,EAE1C,OAAO,UAAU;AACrB;;;ACGO,SAAS,WAAW,OAAmC;AAC1D,SAAO,OAAO,UAAU,cAAc,aAAa;AACvD;AAGO,SAAS,YAAY,SAAwC;AAChE,SAAO,WAAW,QAAQ,OAAO,WAAW,YAAY,cAAc;AAC1E;AAEO,SAAS,aAAuC,OAAwC;AAC3F,SAAO,OAAO,SAAS,cAAc,eAAe;AACxD;AAEO,SAAS,kBAAkB,OAA4C;AAC1E,MAAI,OAAO,SAAS,WAAY,QAAO;AACvC,SAAQ,MAAqB,WAAW;AAC5C;AAEO,SAAS,YAA8B,OAAuC;AACjF,SAAO,SAAS,QAAQ,OAAO,SAAS,YAAY,cAAc;AACtE;AAEO,SAAS,WAAkD,OAAsC;AACpG,SAAO,SAAS,QAAQ,OAAO,SAAS,YAAY,aAAa;AACrE;AAEO,SAAS,WAA6B,OAAsC;AAC/E,SAAO,SAAS,QAAQ,OAAO,SAAS,YAAY,aAAa;AACrE;AAIO,SAAS,aACZ,OACoC;AACpC,SAAO,aAAgB,KAAK,KAAM,WAAc,KAAK,KAAK,OAAO,MAAM,SAAS;AACpF;AAGO,SAAS,cAAc,OAAsC;AAChE,MAAI,UAAU,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY,OAAO,SAAS,WAAW;AAErG;AACA;AACA,WAAO;AAAA,EACX;AACA,SAAO;AACX;AAGO,SAAS,UAAU,OAAgC;AACtD,MAAI,CAAC,QAAQ,KAAK,EAAG,QAAO;AAC5B;AACA,SAAO;AACX;AAGO,SAAS,WAAW,OAAiC;AACxD,MAAI,SAAS,QAAQ,OAAO,UAAU,SAAU,QAAO;AACvD,MAAI,YAAY,KAAK,EAAG,QAAO;AAC/B,MAAI,UAAU,KAAK,EAAG,QAAO;AAC7B;AACA,SAAO;AACX;AAGO,SAAS,6BAA6BA,UAA6D;AACtG,QAAM,EAAE,OAAO,IAAIA;AACnB,MAAI,WAAW,EAAG,QAAO;AACzB,MAAI,SAAS,oBAAqB,QAAO;AACzC,QAAM,WAAWA,SAAQ,CAAC,EAAG,CAAC;AAC9B,MAAI,aAAa,IAAK,QAAO;AAC7B,QAAM,UAAUA,SAAQ,SAAS,CAAC,EAAG,CAAC;AACtC,MAAI,YAAY,OAAO,SAAS,CAAC,EAAG,QAAO;AAC3C,SAAO;AACX;AAGO,SAAS,0BAA0BC,OAAkC;AACxE,QAAM,EAAE,OAAO,IAAIA;AACnB,MAAI,WAAW,EAAG,QAAO;AACzB,MAAI,SAAS,oBAAqB,QAAO;AACzC,QAAM,WAAWA,MAAK,CAAC;AACvB,MAAI,aAAa,IAAK,QAAO;AAC7B,QAAM,UAAUA,MAAK,SAAS,CAAC;AAC/B,MAAI,YAAY,OAAO,SAAS,CAAC,EAAG,QAAO;AAC3C,SAAO;AACX;AAGO,SAAS,oBAAoB,OAA0B;AAC1D,SAAO,0BAA0B,KAAK,KAAK,CAAC;AAChD;AAEA,IAAM,YAAY;AAIlB,SAAS,cAAc,OAA2B,OAAiC;AAG/E,QAAM,SAAkB,eAAe,KAAK;AAC5C,MAAI,CAAC,QAAQ,MAAM,EAAG,QAAO;AAC7B,MAAI,CAAC,MAAO,QAAO;AACnB,SAAO,MAAM,MAAM,CAAC,SAAS,eAAe,MAAM,KAAK,CAAC;AAC5D;AAIA,SAAS,eAAe,OAAe,OAAkC;AAErE,MAAI;AAEJ,QAAM,SAAkB,eAAe,KAAK;AAC5C,MAAI,UAAU,MAAM;AAChB,eAAW;AAAA,EACf,OAAO;AAEH,UAAM,SAAkB,eAAe,MAAM;AAC7C,QAAI,UAAU,MAAM;AAChB,iBAAW;AAAA,IACf,OAAO;AACH,iBAAW,oBAAoB;AAAA,IACnC;AAAA,EACJ;AACA,MAAI,CAAC,SAAU,QAAO;AACtB,MAAI,CAAC,MAAO,QAAO;AACnB,SAAO,OAAO,KAAK,EAAE,MAAM,CAACC,WAAU,eAAeA,QAAO,KAAK,CAAC;AACtE;AAIA,SAAS,eAAe,OAAgB,OAAiC;AACrE,MAAI,WAAW,UAAW,QAAO;AACjC,UAAQ,OAAO,OAAO;AAAA,IAClB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACD,aAAO;AAAA,IACX,KAAK;AACD,UAAI,SAAS,KAAM,QAAO;AAC1B,UAAI,YAAY,KAAK,EAAG,QAAO;AAC/B,UAAI,QAAQ,KAAK,GAAG;AAChB,eAAO,cAAc,OAAO,KAAK;AAAA,MACrC,OAAO;AACH,eAAO,eAAe,OAAO,KAAK;AAAA,MACtC;AAAA,IACJ,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL;AACI,aAAO;AAAA,EACf;AACJ;AAaO,SAAS,UAAU,OAAgB,YAAY,OAAyB;AAC3E,UAAQ,OAAO,OAAO;AAAA,IAClB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACD,aAAO;AAAA,IACX,KAAK;AACD,UAAI,SAAS,KAAM,QAAO;AAC1B,UAAI,YAAY,KAAK,EAAG,QAAO;AAC/B,UAAI,CAAC,WAAW;AACZ,YAAI,QAAQ,KAAK,GAAG;AAChB,iBAAO,cAAc,OAAO,CAAC;AAAA,QACjC,OAAO;AACH,iBAAO,eAAe,OAAO,CAAC;AAAA,QAClC;AAAA,MACJ,OAAO;AACH,eAAO,eAAe,OAAO,CAAC;AAAA,MAClC;AAAA,IACJ,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL;AACI,aAAO;AAAA,EACf;AACJ;AAaO,SAAS,cAAc,OAAgB,YAAY,OAA6B;AACnF,SAAO,WAAW,KAAK,KAAK,aAAa,KAAK,KAAK,UAAU,OAAO,SAAS;AACjF;AAGO,SAAS,QAAQ,OAAgB,WAAoC;AACxE,UAAQ,OAAO,OAAO;AAAA,IAClB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACD,aAAO;AAAA,IACX,KAAK;AACD,UAAI,SAAS,KAAM,QAAO;AAC1B,UAAI,YAAY,KAAK,EAAG,QAAO;AAC/B,aAAO,UAAU,OAAO,SAAS;AAAA,IACrC,KAAK;AACD,aAAO,aAAa,KAAK;AAAA,IAC7B,KAAK;AAAA,IACL,KAAK;AAAA,IACL;AACI,aAAO;AAAA,EACf;AACJ;AAOO,SAAS,UAAU,OAAgB,YAAY,OAAyB;AAC3E,MAAI,UAAU,OAAW,QAAO;AAChC,SAAO,QAAQ,OAAO,SAAS;AACnC;AAOO,SAAS,UAAU,OAA4C;AAClE,MAAI,UAAU,OAAW,QAAO;AAChC,MAAI,UAAU,KAAM,QAAO;AAC3B,MAAI,YAAY,KAAK,EAAG,QAAO,MAAM;AACrC,MAAI,UAAU,KAAK,EAAG,QAAO;AAC7B,MAAI,OAAO,SAAS,SAAU,QAAO;AACrC,SAAO,OAAO;AAClB;;;AC1RA,SAAS,qBAAqB,wBAAwB;AAc/C,SAAS,eAAuB;AACnC,SAAO;AACX;AAGO,SAAS,iBAAiB,OAAwB;AACrD,SAAO,QAAQ,SAAS;AAC5B;AAGO,SAAS,gBAAgB,OAAuB;AACnD,MAAI,MAAM,KAAK,EAAG,QAAO;AACzB,MAAI,CAAC,SAAS,KAAK,EAAG,QAAO,QAAQ,IAAI,SAAS;AAClD,MAAI,UAAU,GAAG;AACb,QAAI,IAAI,QAAQ,EAAG,QAAO;AAC1B,WAAO;AAAA,EACX;AACA,SAAO,OAAO,KAAK;AACvB;AAKA,SAAS,uBAAuB,SAAiB,SAA6C;AAC1F,SAAO,QAAQ,sBAAsB,OAAO,SAAS,OAAO;AAChE;AAKA,SAAS,uBAAuB,OAAe,SAA6C;AACxF,SAAO,QAAQ,uBAAuB,OAAO,OAAO;AACxD;AAEA,IAAM,eAAe;AACrB,IAAM,aAAa,IAAI,OAAO,OAAO,OAAO,YAAY,0BAA0B,IAAI;AACtF,IAAM,cAAc;AAIpB,SAAS,oBAAoB,OAAe,SAA6C;AACrF,QAAM,KAAK,QAAQ,qBAAqB,cAAc,MAAM,OAAO;AACnE,QAAM,KAAK,QAAQ,qBAAqB,cAAc,OAAO,OAAO;AACpE,MAAI,MAAM,WAAW,GAAG;AACpB,WAAO,KAAK;AAAA,EAChB;AAEA,MAAI,MAAM;AACV,MAAI,YAAY;AAGhB,SAAO,MAAM,SAAS,WAAW;AAC7B,UAAM,KAAK,MAAM,YAAY,SAAS;AACtC,UAAM,KAAK,OAAO,cAAc,EAAE;AAClC,QAAI,CAAC,YAAY,KAAK,EAAE,EAAG;AAC3B,UAAM,IAAI,uBAAuB,KAAK,GAAG,SAAS,EAAE,CAAC,KAAK,OAAO;AACjE,WAAO;AACP,iBAAa,GAAG;AAAA,EACpB;AAGA,aAAW,YAAY;AACvB,MAAI;AACJ,UAAQ,QAAQ,WAAW,KAAK,KAAK,OAAO,MAAM;AAC9C,UAAM,OAAO,MAAM,CAAC;AACpB,WAAO,uBAAuB,MAAM,MAAM,WAAW,MAAM,KAAK,GAAG,OAAO;AAC1E,gBAAY,WAAW;AACvB,QAAI,SAAS,cAAc;AACvB,aAAO,uBAAuB,cAAc,OAAO;AAAA,IACvD,WAAW,SAAS,MAAM;AACtB,aAAO,uBAAuB,KAAK,OAAO;AAAA,IAC9C,WAAW,SAAS,MAAM;AACtB,aAAO,uBAAuB,KAAK,OAAO;AAAA,IAC9C,WAAW,SAAS,MAAM;AACtB,aAAO,uBAAuB,KAAK,OAAO;AAAA,IAC9C,WAAW,SAAS,KAAM;AACtB,aAAO,uBAAuB,KAAK,OAAO;AAAA,IAC9C,WAAW,SAAS,MAAM;AACtB,aAAO,uBAAuB,KAAK,OAAO;AAAA,IAC9C,WAAW,SAAS,MAAM;AACtB,aAAO,uBAAuB,KAAK,OAAO;AAAA,IAC9C,WAAW,SAAS,MAAM;AACtB,aAAO,uBAAuB,KAAK,OAAO;AAAA,IAC9C,WAAW,SAAS,MAAM;AACtB,aAAO,uBAAuB,MAAM,OAAO;AAAA,IAC/C,WAAW,SAAS,KAAK;AACrB,aAAO,uBAAuB,KAAK,OAAO;AAAA,IAC9C,OAAO;AACH,YAAM,OAAO,KAAK,YAAY,CAAC;AAC/B,UAAI,QAAQ,KAAM;AACd,eAAO,uBAAuB,IAAI,KAAK,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,IAAI,OAAO;AAAA,MACnF,WAAW,QAAQ,SAAU,QAAQ,OAAQ;AAEzC,eAAO,uBAAuB,KAAK,OAAO;AAAA,MAC9C,OAAO;AACH,eAAO,uBAAuB,KAAK,KAAK,SAAS,EAAE,CAAC,KAAK,OAAO;AAAA,MACpE;AAAA,IACJ;AAAA,EACJ;AACA,SAAO,uBAAuB,MAAM,MAAM,SAAS,GAAG,OAAO;AAC7D,SAAO;AACP,SAAO;AACX;AAKO,SAAS,gBAAgB,OAAe,SAA6C;AACxF,SAAO,oBAAoB,OAAO,oBAAoB,OAAO,CAAC;AAClE;AAGA,SAAS,0BAA0B,KAAqB;AACpD,MAAI,iBAAiB,KAAK,GAAG,KAAK,oBAAoB,KAAK,GAAG,GAAG;AAC7D,WAAO;AAAA,EACX;AACA,SAAO,oBAAoB,KAAK,eAAe;AACnD;AAGA,SAAS,sBAAsB,OAAe,SAA6C;AACvF,MAAI,iBAAiB,OAAO,GAAG;AAC3B,WAAO,0BAA0B,KAAK;AAAA,EAC1C;AACA,MAAI,iBAAiB,KAAK,KAAK,GAAG;AAE9B,WAAO,QAAQ,kBAAkB,OAAO,KAAK,GAAG,OAAO;AAAA,EAC3D;AACA,MAAI,oBAAoB,KAAK,KAAK,GAAG;AAEjC,WAAO,QAAQ,kBAAkB,OAAO,OAAO;AAAA,EACnD;AAEA,SAAO,QAAQ,gBAAgB,OAAO,OAAO;AACjD;AAGO,SAAS,mBAAmB,KAAa,SAA6C;AACzF,MAAI,iBAAiB,OAAO,GAAG;AAC3B,WAAO,0BAA0B,GAAG;AAAA,EACxC;AACA,SAAO,sBAAsB,KAAK,oBAAoB,OAAO,CAAC;AAClE;AAGO,SAAS,eAAe,OAAgB,OAAe,SAA6C;AACvG,MAAI,QAAQ,QAAQ,SAAU,QAAO;AACrC,MAAI,MAAM,WAAW,EAAG,QAAO;AAC/B,MAAI,SAAS;AACb,WAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACnC,QAAI,IAAI,EAAG,WAAU;AACrB,cAAU,cAAc,MAAM,CAAC,GAAG,OAAO,OAAO;AAAA,EACpD;AACA,YAAU;AACV,SAAO;AACX;AAGA,IAAM,EAAE,QAAQ,IAAI,OAAO;AAI3B,SAAS,cAAc,OAAoC;AAEvD,QAAM,cAAc,MAAM;AAC1B,MAAI,OAAO,eAAe,cAAc,gBAAgB,SAAS;AAC7D,WAAO;AAAA,EACX;AACA,QAAM,cAAc,YAAY,KAAK,KAAK;AAC1C,MAAI,gBAAgB,MAAO,QAAO;AAClC,SAAO;AACX;AAGO,SAAS,gBAAgB,OAAiB,OAAe,SAA6C;AACzG,QAAM,cAAc,cAAc,KAAK;AACvC,MAAI,gBAAgB,QAAW;AAC3B,WAAO,cAAc,aAAa,QAAQ,GAAG,OAAO;AAAA,EACxD;AACA,MAAI,QAAQ,QAAQ,SAAU,QAAO;AACrC,QAAM,IAAI,QAAQ,KAAK;AACvB,MAAI,EAAE,WAAW,EAAG,QAAO;AAC3B,MAAI,EAAE,WAAW,GAAG;AAChB,UAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;AAClB,QAAI,MAAM,KAAK;AACX,aAAO,IAAI,cAAc,GAAG,OAAO,OAAO,CAAC;AAAA,IAC/C;AACA,WAAO,IAAI,sBAAsB,GAAG,OAAO,CAAC,KAAK,cAAc,GAAG,OAAO,OAAO,CAAC;AAAA,EACrF;AAEA,QAAM,UAAU,6BAA6B,CAAC;AAC9C,MAAI,SAAS;AACb,aAAW,CAAC,KAAK,GAAG,KAAK,GAAG;AACxB,QAAI,OAAO,SAAS,EAAG,WAAU;AACjC,QAAI,SAAS;AACT,gBAAU,cAAc,KAAK,OAAO,OAAO;AAAA,IAC/C,OAAO;AACH,gBAAU,GAAG,sBAAsB,KAAK,OAAO,CAAC,KAAK,cAAc,KAAK,OAAO,OAAO,CAAC;AAAA,IAC3F;AAAA,EACJ;AACA,YAAU;AACV,SAAO;AACX;AAGA,SAAS,cAAc,OAA0B,OAAe,SAA6C;AACzG,MAAI,SAAS,MAAM;AACf,WAAO,QAAQ,aAAa,OAAO;AAAA,EACvC;AACA,MAAI,OAAO,SAAS,WAAW;AAC3B,WAAO,QAAQ,iBAAiB,OAAO,OAAO;AAAA,EAClD;AACA,MAAI,OAAO,SAAS,UAAU;AAC1B,WAAO,QAAQ,gBAAgB,OAAO,OAAO;AAAA,EACjD;AACA,MAAI,OAAO,SAAS,UAAU;AAC1B,WAAO,QAAQ,gBAAgB,OAAO,OAAO;AAAA,EACjD;AACA,MAAI,aAAa,KAAK,GAAG;AACrB,WAAO,QAAQ,kBAAkB,OAAO,OAAO;AAAA,EACnD;AACA,MAAI,WAAW,KAAK,GAAG;AACnB,WAAO,QAAQ,gBAAgB,OAAO,QAAQ,GAAG,OAAO;AAAA,EAC5D;AACA,MAAI,WAAW,KAAK,GAAG;AACnB,WAAO,QAAQ,gBAAgB,OAAO,QAAQ,GAAG,OAAO;AAAA,EAC5D;AACA,MAAI,UAAU,KAAK,GAAG;AAClB,WAAO,QAAQ,eAAe,OAAO,QAAQ,GAAG,OAAO;AAAA,EAC3D;AACA,MAAI,WAAW,KAAK,GAAG;AACnB,WAAO,QAAQ,gBAAgB,OAAO,QAAQ,GAAG,OAAO;AAAA,EAC5D;AAEA;AACA,SAAO,QAAQ,aAAa,OAAO;AACvC;AAKO,SAAS,UAAU,OAAc,SAA6C;AACjF,SAAO,cAAc,OAAO,GAAG,oBAAoB,OAAO,CAAC;AAC/D;AAGO,SAAS,gBAAgB,OAA2B;AACvD,MAAI;AACA,UAAM,OAAO,kBAAkB,KAAK,GAAG;AACvC,WAAO,OAAO,aAAa,IAAI,MAAM;AAAA,EAEzC,QAAQ;AACJ,WAAO;AAAA,EACX;AACJ;AAGO,SAAS,cAAc,OAAyB;AACnD,MAAI;AACA,WAAO,MAAM,SAAS,IAAI;AAAA,EAE9B,QAAQ;AACJ,WAAO;AAAA,EACX;AACJ;AAGO,SAAS,cAAc,OAAyB;AACnD,MAAI;AACA,UAAM,MAAM,WAAW,MAAM,GAAG;AAChC,UAAM,MAAM,MAAM,SAAS,IAAI;AAC/B,QAAI,QAAQ,OAAO,IAAI,SAAS,IAAI;AAChC,aAAO;AAAA,IACX;AACA,WAAO,GAAG,GAAG,IAAI,GAAG;AAAA,EAExB,QAAQ;AACJ,WAAO;AAAA,EACX;AACJ;AAKO,SAAS,QAAQ,OAAc,SAA6C;AAC/E,QAAM,MAAM,aAAa,iBAAiB,OAAO;AACjD,SAAO,cAAc,OAAO,GAAG,GAAG;AACtC;AAmCA,SAAS,iBAAiB,SAAyD;AAC/E,SAAO,WAAW,QAAQ,YAAY;AAC1C;AAGA,SAAS,aACL,MACA,SAC0B;AAC1B,MAAI,WAAW,KAAM,QAAO;AAC5B,MAAI,MAA+B;AACnC,aAAW,OAAO,SAAS;AACvB,QAAI,CAAC,OAAO,SAAS,GAAG,KAAK,CAAC,OAAO,MAAM,GAAG,EAAG;AACjD,UAAM,KAAK,QAAQ,GAA6B;AAChD,QAAI,MAAM,KAAM;AAChB,YAAQ,EAAE,GAAG,KAAK;AAClB,QAAI,GAA6B,IAAI;AAAA,EACzC;AACA,SAAO,MAAM,OAAO,OAAO,GAAG,IAAI;AACtC;AAGA,SAAS,oBAAoB,SAA4E;AACrG,MAAI,iBAAiB,OAAO,EAAG,QAAO;AACtC,SAAO,aAAa,iBAAiB,OAAO;AAChD;AAEA,IAAM,kBAAkB,OAAO,OAAO;AAAA,EAClC,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB,sBAAsB,CAAC,UAAU;AAAA,EACjC,uBAAuB,CAAC,UAAU;AAAA,EAClC,wBAAwB,CAAC,UAAU;AAAA,EACnC;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,iBAAiB;AACrB,CAA4B;AAE5B,IAAM,kBAAkB,OAAO,OAAO;AAAA,EAClC,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB,sBAAsB,CAAC,UAAU;AAAA,EACjC,uBAAuB,CAAC,UAAU;AAAA,EAClC,wBAAwB,CAAC,UAAU;AAAA,EACnC;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,iBAAiB;AACrB,CAA4B;;;ACtYrB,IAAM,UAAN,MAAM,iBAAgB,MAAM;AAAA,EAC/B,YACI,SACS,WACX;AACE,UAAM,OAAO;AAFJ;AAGT,SAAK,OAAO;AAAA,EAChB;AAAA;AAAA,EAGA,OAAO,KAAK,QAAgB,OAAgB,WAA2B;AACnE,QAAI,QAAQ;AACR,UAAI,OAAO,SAAS,GAAG,GAAG;AACtB,kBAAU;AAAA,MACd,WAAW,CAAC,OAAO,SAAS,IAAI,GAAG;AAC/B,kBAAU;AAAA,MACd;AAAA,IACJ;AACA,QAAI;AACJ,QAAI,iBAAiB,OAAO;AACxB,gBAAU,IAAI,SAAQ,GAAG,MAAM,GAAG,MAAM,OAAO,IAAI,SAAS;AAC5D,cAAQ,QAAQ,MAAM;AAAA,IAC1B,OAAO;AACH,gBAAU,IAAI,SAAQ,GAAG,MAAM,GAAG,OAAO,KAAK,CAAC,IAAI,SAAS;AAAA,IAChE;AACA,YAAQ,QAAQ;AAChB,WAAO;AAAA,EACX;AACJ;;;ACjCA,SAAS,WAAW,kBAAkB;AAS/B,SAAS,qBAAqB,QAAqB,SAA2C;AACjG,QAAM,SAAS,UAAU;AACzB,QAAM,SAAS,OAAO,YAAY,QAAQ,OAAO;AACjD,SAAO,CAAC,OAAO,OAAO,OAAO,WAAW;AAC5C;AAKA,eAAsB,iBAAiB,QAAqB,SAAoD;AAC5G,MAAI,WAAW,MAAM;AACjB,UAAM,IAAI,UAAU,0BAA0B;AAAA,EAClD;AACA,QAAM,SAAS,MAAM,WAAW;AAChC,QAAM,SAAS,aAAa,SAAS,MAAM,OAAO,QAAQ,QAAQ,OAAO,IAAI,OAAO,YAAY,QAAQ,OAAO;AAC/G,SAAO,CAAC,OAAO,OAAO,OAAO,WAAW;AAC5C;;;ACzBA,SAAS,cAAc;;;ACOvB,SAAS,eAAe,OAAuB;AAC3C,MAAI,MAAM,KAAK,EAAG,QAAO;AACzB,MAAI,UAAU,SAAU,QAAO;AAC/B,MAAI,UAAU,UAAW,QAAO;AAChC,SAAO,OAAO,KAAK;AACvB;AAGO,SAAS,cAAc,OAAc,WAA4B;AACpE,MAAI,SAAS,KAAM,QAAO;AAC1B,MAAI,OAAO,SAAS,SAAU,QAAO,eAAe,KAAK;AACzD,MAAI,OAAO,SAAS,YAAY,OAAO,SAAS,UAAW,QAAO,OAAO,KAAK;AAC9E,MAAI,OAAO,SAAS,WAAY,QAAO,gBAAgB,KAAK;AAC5D,MAAI,YAAY,KAAK,EAAG,QAAO,MAAM,SAAS,SAAS;AACvD,MAAI,UAAU,KAAK,GAAG;AAClB,UAAM,UAAoB,CAAC;AAC3B,eAAW,QAAQ,OAAO;AACtB,cAAQ,KAAK,cAAc,MAAM,IAAI,CAAC;AAAA,IAC1C;AAGA,UAAM,UAAU,QAAQ,KAAK,IAAI;AACjC,QAAI,CAAC,UAAW,QAAO;AACvB,WAAO,IAAI,OAAO;AAAA,EACtB,OAAO;AACH,UAAMC,WAAU,KAAK,KAAwB,EACxC,IAAI,CAAC,QAAQ,GAAG,GAAG,KAAK,cAAc,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,EACzD,KAAK,IAAI;AACd,QAAI,CAAC,UAAW,QAAOA;AACvB,WAAO,IAAIA,QAAO;AAAA,EACtB;AACJ;AAGO,SAAS,SAAwB,OAAc,UAA8C;AAChG,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,MAAI,SAAS,KAAM,QAAO;AAC1B,MAAI;AACA,WAAO,cAAc,OAAO,KAAK;AAAA,EACrC,SAAS,IAAI;AACT,QAAI,aAAa,QAAW;AACxB,YAAM,IAAI,IAAI,QAAQ,sCAAsC,QAAQ,KAAK,CAAC,IAAI,EAAE;AAChF,QAAE,QAAQ;AACV,YAAM;AAAA,IACV;AACA,WAAO;AAAA,EACX;AACJ;;;ACpDA,IAAM,EAAE,UAAU,IAAI;AAEf,SAAS,YAAY,OAAwC;AAEhE,MAAI,UAAU,KAAM,QAAO;AAC3B,MAAI,UAAU,OAAW,QAAO;AAChC,MAAI,OAAO,SAAS,UAAU;AAC1B,WAAO,UAAU,KAAK;AAAA,EAC1B;AAEA,MAAI,UAAU,GAAG;AACb,QAAI,IAAI,UAAU,UAAW,QAAO;AACpC,WAAO;AAAA,EACX;AACA,SAAO,OAAO,KAAgC;AAClD;AAEA,IAAM,UAAU,IAAI,YAAY;AAChC,IAAM,EAAE,aAAa,IAAI;AAEzB,SAAS,gBAAgB,KAAiB,OAAe,QAAoC;AACzF,MAAI,SAAS,GAAG;AACZ,QAAI,SAAS,GAAG;AACZ,UAAI,WAAW,EAAG,QAAO;AACzB,YAAMC,KAAI,IAAI,KAAK;AACnB,WAAKA,KAAI,OAAQ,GAAG;AAChB;AAAA,MACJ;AACA,aAAO,aAAaA,EAAC;AAAA,IACzB;AACA,UAAMA,KAAI,IAAI,OAAO;AACrB,UAAMC,KAAI,IAAI,OAAO;AACrB,SAAKD,KAAI,OAAQ,MAAMC,KAAI,OAAQ,GAAG;AAClC;AAAA,IACJ;AACA,QAAI,SAAS,EAAG,QAAO,aAAaD,IAAGC,EAAC;AACxC,UAAMC,KAAI,IAAI,OAAO;AACrB,SAAKA,KAAI,OAAQ,GAAG;AAChB;AAAA,IACJ;AACA,WAAO,aAAaF,IAAGC,IAAGC,EAAC;AAAA,EAC/B;AACA,QAAM,IAAI,IAAI,OAAO;AACrB,QAAM,IAAI,IAAI,OAAO;AACrB,QAAM,IAAI,IAAI,OAAO;AACrB,QAAM,IAAI,IAAI,OAAO;AACrB,OAAK,IAAI,OAAQ,MAAM,IAAI,OAAQ,MAAM,IAAI,OAAQ,MAAM,IAAI,OAAQ,GAAG;AACtE;AAAA,EACJ;AACA,MAAI,SAAS,GAAG;AACZ,QAAI,WAAW,EAAG,QAAO,aAAa,GAAG,GAAG,GAAG,CAAC;AAChD,UAAMC,KAAI,IAAI,OAAO;AACrB,SAAKA,KAAI,OAAQ,GAAG;AAChB;AAAA,IACJ;AACA,WAAO,aAAa,GAAG,GAAG,GAAG,GAAGA,EAAC;AAAA,EACrC;AACA,QAAM,IAAI,IAAI,OAAO;AACrB,QAAM,IAAI,IAAI,OAAO;AACrB,OAAK,IAAI,OAAQ,MAAM,IAAI,OAAQ,GAAG;AAClC;AAAA,EACJ;AACA,MAAI,SAAS,GAAG;AACZ,QAAI,SAAS,EAAG,QAAO,aAAa,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AACpD,UAAMC,KAAI,IAAI,OAAO;AACrB,SAAKA,KAAI,OAAQ,GAAG;AAChB;AAAA,IACJ;AACA,WAAO,aAAa,GAAG,GAAG,GAAG,GAAG,GAAG,GAAGA,EAAC;AAAA,EAC3C;AACA,QAAM,IAAI,IAAI,OAAO;AACrB,QAAM,IAAI,IAAI,OAAO;AACrB,OAAK,IAAI,OAAQ,MAAM,IAAI,OAAQ,GAAG;AAClC;AAAA,EACJ;AACA,MAAI,SAAS,IAAI;AACb,QAAI,WAAW,EAAG,QAAO,aAAa,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAC5D,UAAMC,KAAI,IAAI,OAAO;AACrB,SAAKA,KAAI,OAAQ,GAAG;AAChB;AAAA,IACJ;AACA,WAAO,aAAa,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAGA,EAAC;AAAA,EACjD;AACA,QAAM,IAAI,IAAI,OAAO;AACrB,QAAM,IAAI,IAAI,OAAO;AACrB,OAAK,IAAI,OAAQ,MAAM,IAAI,OAAQ,GAAG;AAClC;AAAA,EACJ;AACA,MAAI,SAAS,IAAI;AACb,QAAI,SAAS,GAAI,QAAO,aAAa,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AACjE,UAAMC,KAAI,IAAI,OAAO;AACrB,SAAKA,KAAI,OAAQ,GAAG;AAChB;AAAA,IACJ;AACA,WAAO,aAAa,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAGA,EAAC;AAAA,EACvD;AACA,QAAM,IAAI,IAAI,OAAO;AACrB,QAAM,IAAI,IAAI,OAAO;AACrB,OAAK,IAAI,OAAQ,MAAM,IAAI,OAAQ,GAAG;AAClC;AAAA,EACJ;AACA,MAAI,SAAS,IAAI;AACb,QAAI,WAAW,GAAI,QAAO,aAAa,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AACzE,UAAMC,KAAI,IAAI,OAAO;AACrB,SAAKA,KAAI,OAAQ,GAAG;AAChB,eAAS;AACT;AAAA,IACJ;AACA,WAAO,aAAa,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAGA,EAAC;AAAA,EAC7D;AACA,QAAM,IAAI,IAAI,OAAO;AACrB,QAAM,IAAI,IAAI,OAAO;AACrB,OAAK,IAAI,OAAQ,MAAM,IAAI,OAAQ,GAAG;AAClC;AAAA,EACJ;AACA,MAAI,SAAS,GAAI,QAAO,aAAa,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAC7E,QAAM,IAAI,IAAI,OAAO;AACrB,OAAK,IAAI,OAAQ,GAAG;AAChB;AAAA,EACJ;AACA,SAAO,aAAa,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AACnE;AAGA,SAAS,UAAU,QAAoB,QAAgB,QAAwB;AAE3E,MAAI,SAAS,IAAI;AACb,UAAM,WAAW,gBAAgB,QAAQ,QAAQ,MAAM;AACvD,QAAI,aAAa,QAAW;AACxB,aAAO;AAAA,IACX;AAAA,EACJ;AACA,SAAO,QAAQ,OAAO,OAAO,SAAS,QAAQ,SAAS,MAAM,CAAC;AAClE;AAGO,SAAS,WAAW,YAAuC;AAC9D,QAAM,SAAS,IAAI,SAAS,WAAW,QAAQ,WAAW,YAAY,WAAW,UAAU;AAC3F,QAAM,SAAwB,CAAC;AAC/B,MAAI,SAAS;AACb,QAAM,SAAS,OAAO;AACtB,SAAO,SAAS,QAAQ;AACpB,UAAM,OAAO,OAAO,SAAS,MAAM;AACnC,YAAQ,MAAM;AAAA;AAAA,MAEV,KAAK;AACD,eAAO,KAAK,IAAI;AAChB,kBAAU;AACV;AAAA,MACJ,KAAK;AACD,eAAO,KAAK,IAAI;AAChB,kBAAU;AACV;AAAA,MACJ,KAAK;AACD,eAAO,KAAK,KAAK;AACjB,kBAAU;AACV;AAAA,MACJ,KAAK,GAAG;AACJ,cAAM,UAAU,OAAO,SAAS,SAAS,GAAG,IAAI;AAChD,eAAO,KAAK,OAAO;AACnB,kBAAU;AACV;AAAA,MACJ;AAAA,MACA,KAAK,GAAG;AACJ,cAAM,MAAM,OAAO,WAAW,SAAS,GAAG,IAAI;AAC9C,eAAO,KAAK,GAAG;AACf,kBAAU;AACV;AAAA,MACJ;AAAA,MACA,KAAK,GAAG;AACJ,cAAM,MAAM,OAAO,UAAU,SAAS,GAAG,IAAI;AAC7C,cAAM,MAAM,UAAU,YAAY,SAAS,GAAG,GAAG;AACjD,eAAO,KAAK,GAAG;AACf,kBAAU,IAAI;AACd;AAAA,MACJ;AAAA;AAAA,MAEA;AACI,cAAM,IAAI,MAAM,0BAA0B,IAAI,EAAE;AAAA,IACxD;AAAA,EACJ;AACA,SAAO;AACX;;;ACxLA,SAAS,0BAA0B;AAMnC,IAAM,SAAS;AACf,IAAM,EAAE,YAAY,mBAAmB,KAAK,CAAC,QAAQ,SAAS,QAAQ;AAElE,QAAM,SAAS;AACf,SAAO;AAAA,IACH,YAAY,OAAO,OAAO,QAAQ,GAAG;AAAA,IACrC,oBAAoB,OAAO,OAAO,QAAQ,SAAS,GAAG;AAAA,EAC1D;AACJ,GAAG,UAAU,WAAW,KAAK;AAK7B,IAAM,gBAAgB;AAYtB,IAAM,YACF,OAAO,UAAU,cAAc,OAAO,OAAO,QAAQ,aAC/C,CAAC,MAAM,gCAAgC,OAAO,KAAK,GAAG,MAAM,EAAE,SAAS,QAAQ,CAAC,KAChF,CAAC,MAAM,uCAAuC,mBAAmB,CAAC,CAAC;AAE7E,IAAI,WAAW;AAER,SAAS,gBACZ,QACA,cACA,YACA,WACA,WACA,SACI;AACJ,MAAI,YAAY,QAAQ,YAAY,IAAI,KAAK;AAC7C,QAAM,YAAY,QAAQ,KAAK,QAAQ;AACvC,MAAI,CAAC,WAAW;AACZ,QAAI,SAAS,WAAW,GAAG,GAAG;AAC1B,iBAAW,SAAS,QAAQ,WAAW,EAAE;AAAA,IAC7C;AACA,QAAI,CAAC,UAAU;AACX,iBAAW,GAAG,UAAU,IAAI,QAAQ,eAAe,aAAa,YAAY,MAAM;AAAA,IACtF;AAAA,EACJ;AACA,QAAM,MAAM,IAAI,mBAAmB;AAAA,IAC/B,MAAM,WAAW;AAAA,EACrB,CAAC;AACD,MAAI,OAAO,WAAW,UAAU;AAC5B,QAAI,iBAAiB,UAAU,MAAM;AAAA,EACzC;AACA,MAAI,cAAc;AAClB,WAAS,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK;AACxC,UAAM,QAAQ,WAAW,CAAC;AAC1B,QAAI,CAAC,MAAO;AACZ,QAAI,CAAC,eAAe,MAAM,oBAAoB,KAAK,MAAM,gBAAgB,GAAG;AACxE,oBAAc;AAAA,IAClB;AACA,QAAI,WAAW;AAAA,MACX,WAAW;AAAA,QACP,MAAM,IAAI;AAAA,QACV,QAAQ;AAAA,MACZ;AAAA,MACA,UAAU;AAAA,QACN,MAAM,MAAM;AAAA,QACZ,QAAQ,MAAM,cAAc;AAAA,MAChC;AAAA,MACA,QAAQ;AAAA,IACZ,CAAC;AAAA,EACL;AACA,MAAI,CAAC,aAAa;AACd,QAAI,WAAW;AAAA,MACX,WAAW;AAAA,QACP,MAAM;AAAA,QACN,QAAQ,aAAa,SAAS,aAAa;AAAA,MAC/C;AAAA,MACA,UAAU;AAAA,QACN,MAAM;AAAA,QACN,QAAQ;AAAA,MACZ;AAAA,MACA,QAAQ;AAAA,IACZ,CAAC;AAAA,EACL;AACA,MAAI,OAAO,WAAW,UAAU;AAC5B,UAAM,QAAQ,OAAO,MAAM,OAAO;AAClC,eAAW,cAAc,WAAW;AAChC,YAAM,UAAU,WAAW,UAAU;AACrC,YAAM,aAAa,UAAU,MAAM,QAAQ,kBAAkB,CAAC,IAAI;AAClE,YAAM,SACF,WAAW,aAAa,WAAW,MAAM,QAAQ,cAAc,GAAG,QAAQ,YAAY,CAAC,IAAI;AAC/F,UAAI,CAAC,OAAQ;AACb,YAAM,WAAW,UAAU,UAAU;AACrC,gBAAU,UAAU,IAAI,SAAS,QAAQ,eAAe,SAAS,YAAY,MAAM,CAAC,GAAG;AAAA,IAC3F;AAAA,EACJ;AACA,QAAM,YAAY,YAAY,WAAW,GAAG,MAAM,GAAG,QAAQ;AAC7D,QAAM,UAAU,UAAU,IAAI,SAAS,CAAC;AACxC,YAAU;AAAA;AAAA,IAEN,GAAG,UAAU,IAAI,SAAS;AAAA,IAC1B,GAAG,kBAAkB,IAAI,OAAO;AAAA,EACpC;AACJ;;;ACjHO,IAAM,gBAAgB;AACtB,IAAM,0BAA0B;;;AJShC,SAAS,KACZ,QACA,OACA,YACA,SACM;AACN,QAAM,MAAM,IAAI,QAAQ,QAAQ,OAAO,YAAY,OAAO;AAC1D,MAAI,KAAK;AACT,QAAM,OAAO,IAAI,UAAU,KAAK,IAAI;AACpC,SAAO;AACX;AAGA,SAAS,YAAe,QAAgB,IAA+B;AAEnE,QAAM,SAAc,CAAC;AACrB,WAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAC7B,WAAO,KAAK,GAAG,CAAC,CAAC;AAAA,EACrB;AACA,SAAO;AACX;AAGO,IAAM,UAAN,MAAc;AAAA,EACjB,YACa,QACA,OACA,YACA,SACX;AAJW;AACA;AACA;AACA;AAyBb,SAAS,YAAsB,CAAC;AAIhC,SAAQ,aAAa;AACrB,SAAQ,iBAAiB;AACzB,SAAQ,eAAe;AAEvB;AAAA,SAAiB,YAAsB,CAAC;AASxC;AAAA,SAAQ,YAAY;AAcpB,SAAS,YAAsB,CAAC;AAtD5B,SAAK,SAAS,QAAQ,UAAU;AAEhC,UAAM,SAAS,IAAI,SAAS,MAAM,QAAQ,MAAM,YAAY,MAAM,UAAU;AAC5E,SAAK,YAAY,OAAO,UAAU,GAAG,IAAI;AACzC,SAAK,WAAW,OAAO,UAAU,GAAG,IAAI;AACxC,SAAK,YAAY,OAAO,UAAU,IAAI,KAAK,UAAU,IAAI;AAEzD,SAAK,aAAa,IAAI,SAAS,MAAM,QAAQ,MAAM,aAAa,GAAG,KAAK,QAAQ;AAChF,SAAK,YAAY;AAAA,MACb,IAAI,WAAW,MAAM,QAAQ,MAAM,aAAa,KAAK,KAAK,UAAU,KAAK,SAAS;AAAA,IACtF;AAAA,EACJ;AAAA;AAAA,EAKQ,aAAmB;AACvB,UAAM,EAAE,WAAW,UAAU,IAAI;AACjC,aAAS,IAAI,GAAG,MAAM,UAAU,QAAQ,IAAI,KAAK,KAAK;AAClD,gBAAU,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC;AAAA,IAC5C;AAAA,EACJ;AAAA;AAAA,EAaQ,MAAM,MAAM,GAAW;AAC3B,QAAI,CAAC,KAAK,OAAQ,QAAO;AACzB,WAAO,KAAK,OAAO,KAAK,eAAe,GAAG;AAAA,EAC9C;AAAA;AAAA,EAKQ,GAAG,UAA0B;AACjC,UAAM,YAAY,KAAK,UAAU,QAAQ;AACzC,QAAI;AACJ,QAAI,OAAO,aAAa,UAAU;AAC9B,YAAM,KAAK,UAAU,QAAQ;AAAA,IACjC,OAAO;AACH,YAAM,YAAY,SAAS,WAAW,MAAS,CAAC;AAAA,IACpD;AACA,SAAK,YAAY;AACjB,WAAO,cAAc,GAAG;AAAA,EAC5B;AAAA;AAAA,EAKQ,GAAG,GAAW,QAAQ,GAAW;AACrC,QAAI,CAAC,EAAG,QAAO;AACf,UAAM,IAAI,KAAK,iBAAiB;AAChC,WAAO,OAAO,CAAC,IAAI,CAAC;AAAA,EACxB;AAAA;AAAA,EAEQ,GAAG,GAAW,QAAQ,GAAW;AACrC,QAAI,CAAC,EAAG,QAAO;AACf,WAAO,KAAK,GAAG,GAAG,KAAK;AAAA,EAC3B;AAAA;AAAA,EAEQ,UAAU,MAAuB;AACrC,UAAM,QAAQ,OACR,KAAK,WAAW,UAAU,KAAK,YAAY,IAAI,IAC/C,KAAK,WAAW,SAAS,KAAK,UAAU;AAC9C,SAAK,cAAc,OAAO,IAAI;AAC9B,WAAO;AAAA,EACX;AAAA;AAAA,EAEQ,UAAU,MAAuB;AACrC,UAAM,QAAQ,OAAO,KAAK,WAAW,SAAS,KAAK,YAAY,IAAI,IAAI,KAAK,WAAW,QAAQ,KAAK,UAAU;AAC9G,SAAK,cAAc,OAAO,IAAI;AAC9B,WAAO;AAAA,EACX;AAAA;AAAA,EAEQ,cAAoB;AACxB,SAAK;AACL,SAAK;AACL,WAAO,KAAK,aAAa,KAAK,UAAU;AACpC,YAAM,aAAa,KAAK,WAAW,SAAS,KAAK,UAAU;AAC3D,YAAM,SAAS,aAAa;AAC5B,UAAI,WAAW,OAAO,SAAS;AAC3B,aAAK,SAAS;AACd;AAAA,MACJ;AACA,WAAK;AACL,YAAM,OAAO,KAAK,MAAM,EAAE,IAAI;AAC9B,WAAK,UAAU,KAAK,IAAI;AACxB,WAAK;AACL,WAAK;AACL;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA,EAGQ,aAAa,KAAmB;AACpC,WAAO,KAAK,aAAa,KAAK,UAAU;AACpC,YAAM,aAAa,KAAK,WAAW,SAAS,KAAK,UAAU;AAC3D,YAAM,SAAS,aAAa;AAC5B,UAAI,WAAW,KAAK;AAChB,aAAK,SAAS;AACd;AAAA,MACJ;AACA,WAAK;AACL,WAAK;AACL,UAAI,QAAQ,OAAO,SAAS;AACxB,aAAK;AAAA,MACT;AACA,YAAM,OAAO,KAAK,MAAM,IAAI;AAC5B,WAAK,UAAU,KAAK,IAAI;AACxB;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA,EAGQ,aAAmB;AACvB,SAAK;AACL,WAAO,KAAK,aAAa,KAAK,UAAU;AACpC,YAAM,aAAa,KAAK,WAAW,SAAS,KAAK,UAAU;AAC3D,YAAM,SAAS,aAAa;AAC5B,UAAI,WAAW,OAAO,OAAO;AACzB,eAAO,KAAK,aAAa,OAAO,KAAK;AAAA,MACzC;AACA,UAAI,WAAW,OAAO,MAAM;AACxB,aAAK;AACL,cAAM,OAAO,KAAK,MAAM,EAAE,IAAI;AAC9B,aAAK,UAAU,KAAK,IAAI;AACxB;AAAA,MACJ;AACA,UAAI,WAAW,OAAO,MAAM;AACxB,aAAK;AACL,cAAM,OAAO,KAAK,MAAM,EAAE,IAAI;AAC9B,aAAK,UAAU,KAAK,IAAI;AACxB,eAAO,KAAK,SAAS;AAAA,MACzB;AACA,WAAK,SAAS;AAAA,IAClB;AACA,WAAO,KAAK,aAAa,OAAO,KAAK;AAAA,EACzC;AAAA;AAAA,EAGQ,WAAW,KAAmB;AAClC,SAAK;AACL,WAAO,KAAK,aAAa,KAAK,UAAU;AACpC,YAAM,aAAa,KAAK,WAAW,SAAS,KAAK,YAAY;AAC7D,YAAM,SAAS,aAAa;AAC5B,YAAM,OAAO,cAAc;AAC3B,YAAM,OAAO,MAAM,KAAK,UAAU,IAAI;AACtC,UAAI;AACJ,cAAQ,QAAQ;AAAA,QACZ,KAAK,OAAO,OAAO;AACf,gBAAM,QAAQ,KAAK;AACnB,gBAAM,aAAa,KAAK,UAAU,KAAK;AAEvC,cAAI,CAAC,YAAY;AACb,kBAAM,IAAI,MAAM,iBAAiB,KAAK,EAAE;AAAA,UAC5C;AACA,gBAAM,QAAQ,KAAK;AACnB,iBAAO,IAAI,UAAU,qBAAqB,KAAK,GAAG,KAAK,CAAC;AACxD;AAAA,QACJ;AAAA,QACA,KAAK,OAAO,QAAQ;AAChB,eAAK;AACL,iBAAO;AACP;AAAA,QACJ;AAAA,QACA,SAAS;AACL,iBAAO,OAAO,OAAO,MAAM,KAAK,MAAM;AACtC;AAAA,QACJ;AAAA,MACJ;AACA,YAAM,QAAQ,KAAK,MAAM;AACzB,WAAK,UAAU,KAAK,QAAQ,IAAI;AAChC,UAAI,WAAW,OAAO,QAAQ;AAC1B;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA,EAGQ,WAAW,KAAmB;AAClC,SAAK;AACL,WAAO,KAAK,aAAa,KAAK,UAAU;AACpC,YAAM,aAAa,KAAK,WAAW,SAAS,KAAK,YAAY;AAC7D,YAAM,SAAS,aAAa;AAC5B,YAAM,OAAO,cAAc;AAC3B,YAAM,OAAO,MAAM,KAAK,UAAU,IAAI;AACtC,UAAI;AACJ,cAAQ,QAAQ;AAAA,QACZ,KAAK,OAAO;AAAA,QACZ,KAAK,OAAO,OAAO;AACf,gBAAM,QAAQ,KAAK;AACnB,gBAAM,aAAa,KAAK,UAAU,KAAK;AAEvC,cAAI,CAAC,YAAY;AACb,kBAAM,IAAI,MAAM,iBAAiB,KAAK,EAAE;AAAA,UAC5C;AACA,gBAAM,QAAQ,KAAK;AACnB,gBAAM,MAAM,WAAW,OAAO;AAE9B,iBAAO,MACD,aAAa,UAAU,KAAK,KAAK,GAAG,KAAK,CAAC,OAC1C,IAAI,UAAU,UAAU,KAAK,GAAG,KAAK,CAAC;AAC5C;AAAA,QACJ;AAAA,QACA,KAAK,OAAO;AAAA,QACZ,KAAK,OAAO,UAAU;AAClB,gBAAM,QAAQ,KAAK;AACnB,gBAAM,QAAQ,KAAK;AACnB,gBAAM,MAAM,WAAW,OAAO;AAC9B,iBAAO,MACD,aAAa,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,GAAG,KAAK,CAAC,OAC9C,IAAI,KAAK,GAAG,KAAK,CAAC,UAAU,KAAK,GAAG,KAAK,CAAC;AAChD;AAAA,QACJ;AAAA,QACA,KAAK,OAAO;AAAA,QACZ,KAAK,OAAO,YAAY;AACpB,gBAAM,QAAQ,KAAK,UAAU,IAAI;AACjC,gBAAM,QAAQ,KAAK;AACnB,gBAAM,MAAM,WAAW,OAAO;AAC9B,iBAAO,MAAM,aAAa,KAAK,KAAK,KAAK,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,UAAU,KAAK,GAAG,KAAK,CAAC;AAC1F;AAAA,QACJ;AAAA,QACA,KAAK,OAAO,QAAQ;AAChB,gBAAM,QAAQ,KAAK;AACnB,iBAAO,oBAAoB,KAAK,GAAG,KAAK,CAAC;AACzC;AAAA,QACJ;AAAA,QACA,KAAK,OAAO,QAAQ;AAChB,eAAK;AACL,iBAAO;AACP;AAAA,QACJ;AAAA,QACA,SAAS;AACL,iBAAO,OAAO,OAAO,MAAM,KAAK,MAAM;AACtC;AAAA,QACJ;AAAA,MACJ;AACA,YAAM,QAAQ,KAAK,MAAM;AACzB,WAAK,UAAU,KAAK,QAAQ,IAAI;AAChC,UAAI,WAAW,OAAO,QAAQ;AAC1B;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA,EAGQ,UAAU,KAAmB;AACjC,SAAK;AACL,WAAO,KAAK,aAAa,KAAK,UAAU;AACpC,YAAM,aAAa,KAAK,WAAW,SAAS,KAAK,YAAY;AAC7D,YAAM,SAAS,aAAa;AAC5B,YAAM,OAAO,cAAc;AAC3B,YAAM,OAAO,MAAM,KAAK,UAAU,IAAI;AACtC,UAAI;AACJ,cAAQ,QAAQ;AAAA,QACZ,KAAK,OAAO,MAAM;AACd,gBAAM,QAAQ,KAAK;AACnB,iBAAO,OAAO,KAAK,GAAG,KAAK,CAAC;AAC5B;AAAA,QACJ;AAAA,QACA,KAAK,OAAO,WAAW;AACnB,gBAAM,QAAQ,KAAK,UAAU,IAAI;AACjC,gBAAM,MAAM,KAAK,UAAU,IAAI;AAC/B,iBAAO,kBAAkB,KAAK,KAAK,GAAG;AACtC;AAAA,QACJ;AAAA,QACA,KAAK,OAAO,cAAc;AACtB,gBAAM,QAAQ,KAAK;AACnB,gBAAM,MAAM,KAAK;AACjB,iBAAO,kBAAkB,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,GAAG,GAAG,CAAC;AACxD;AAAA,QACJ;AAAA,QACA,KAAK,OAAO,uBAAuB;AAC/B,gBAAM,QAAQ,KAAK;AACnB,gBAAM,MAAM,KAAK;AACjB,iBAAO,2BAA2B,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,GAAG,GAAG,CAAC;AACjE;AAAA,QACJ;AAAA,QACA,KAAK,OAAO,QAAQ;AAChB,gBAAM,QAAQ,KAAK;AACnB,iBAAO,mBAAmB,KAAK,GAAG,KAAK,CAAC;AACxC;AAAA,QACJ;AAAA,QACA,KAAK,OAAO,QAAQ;AAChB,eAAK;AACL,iBAAO;AACP;AAAA,QACJ;AAAA,QACA,SAAS;AACL,iBAAO,OAAO,OAAO,MAAM,KAAK,MAAM;AACtC;AAAA,QACJ;AAAA,MACJ;AACA,YAAM,QAAQ,KAAK,MAAM;AACzB,WAAK,UAAU,KAAK,QAAQ,IAAI;AAChC,UAAI,WAAW,OAAO,QAAQ;AAC1B;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA,EAGQ,WAAiB;AACrB,UAAM,aAAa,KAAK,WAAW,SAAS,KAAK,YAAY;AAC7D,UAAM,SAAS,aAAa;AAC5B,UAAM,OAAO,cAAc;AAC3B,UAAM,OAAO,MAAM,KAAK,UAAU,IAAI;AACtC,UAAM,YAAY,MAAM,KAAK,UAAU,IAAI;AAC3C,UAAM,QAAQ,KAAK,MAAM;AACzB,QAAI;AACJ,QAAI,MAAM;AACV,YAAQ,QAAQ;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO,MAAM;AACd,cAAM,YAAY,KAAK,eAAe;AACtC,cAAM,KAAK;AACX,cAAM,OAAO,WAAW,OAAO;AAC/B,cAAM,OAAO,KAAK;AAClB,cAAM,OAAO,KAAK;AAClB,cAAM,OAAO,YAAY,MAAM,CAAC,MAAM;AAClC,gBAAM,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE;AAC5B,cAAI,QAAQ,MAAM,OAAO,GAAG;AAExB,mBAAO;AAAA,UACX;AACA,iBAAO,GAAG,EAAE;AAAA,QAChB,CAAC;AACD,YAAI,OAAO;AACX,iBAAS,IAAI,IAAI,MAAM,IAAI,OAAO,GAAG,KAAK;AACtC,kBAAQ,MAAM,KAAK,GAAG,GAAG,EAAE;AAAA,QAC/B;AACA,cAAM,SAAS,aAAa,CAAC,QAAQ,SAAS;AAC9C,YAAI,QAAQ;AACR,iBAAO,OAAO,IAAI;AAAA,QACtB,OAAO;AACH,cAAI,KAAK,QAAQ,WAAW;AACxB,iBAAK,UAAU,KAAK,KAAK,UAAU,MAAM;AAAA,UAC7C;AACA,iBAAO,GAAG,KAAK,GAAG,GAAG,CAAC,iBAAiB,KAAK,KAAK,IAAI,CAAC,gCAAgC,IAAI;AAAA,QAC9F;AACA,YAAI,MAAM;AACN,kBAAQ,QAAQ,KAAK,GAAG,MAAM,EAAE,CAAC;AAAA,QACrC;AACA;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,UAAU;AAClB,cAAM,KAAK;AACX,cAAM,IAAI,KAAK;AACf,cAAM,IAAI,KAAK,UAAU,CAAC;AAC1B,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;AAC7B;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,QAAQ;AAChB,cAAM,KAAK;AACX,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC;AACtB;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,QAAQ;AAChB,cAAM,KAAK;AACX,eAAO,UAAU,KAAK,GAAG,GAAG,CAAC;AAC7B;AAAA,MACJ;AAAA,MACA,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO,IAAI;AACZ,cAAM,KAAK;AACX,cAAM,OAAO,KAAK;AAClB,cAAM,QAAQ,KAAK;AACnB,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC,OAAO,OAAO,MAAM,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,GAAG,KAAK,CAAC;AAC/E;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,QAAQ;AAChB,cAAM,KAAK;AACX,cAAM,OAAO,KAAK;AAClB,cAAM,QAAQ,UAAU;AACxB,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC,OAAO,OAAO,MAAM,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,UAAU,KAAK,CAAC;AACtF;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,UAAU;AAClB,cAAM,KAAK;AACX,cAAM,OAAO,KAAK;AAClB,aAAK,YAAY;AACjB,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC,2BAA2B,KAAK,GAAG,IAAI,CAAC;AAC9D;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,QAAQ;AAChB,cAAM,KAAK;AACX,cAAM,IAAI,KAAK;AACf,cAAM,OAAO,YAAY,GAAG,MAAM,KAAK,CAAC;AACxC,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC,OAAO,OAAO,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC;AACrF;AAAA,MACJ;AAAA,MACA,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO,MAAM;AACd,cAAM,KAAK;AACX,cAAM,QAAQ,KAAK;AACnB,cAAM,IAAI,KAAK;AACf,cAAM,OAAO,YAAY,GAAG,MAAM,KAAK,UAAU,KAAK,CAAC,CAAE;AAEzD,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC,OAAO,OAAO,MAAM,CAAC,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC;AAClF;AAAA,MACJ;AAAA,MACA,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO,SAAS;AACjB,cAAM,KAAK;AACX,cAAM,OAAO,KAAK;AAClB,cAAM,IAAI,KAAK;AACf,cAAM,OAAO,YAAY,GAAG,MAAM,KAAK,CAAC;AACxC,cAAM,KAAK,KAAK;AAChB,cAAM,UAAU,YAAY,IAAI,MAAM,KAAK,CAAC;AAC5C,cAAM,aAAa,WAAW,OAAO,OAAO,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI;AACxE,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC,YAAY,UAAU,MAAM,KAC7C,IAAI,CAAC,GAAG,MAAM;AACX,cAAI,QAAQ,SAAS,CAAC,EAAG,QAAO,mBAAmB,KAAK,GAAG,CAAC,CAAC;AAAA,cACxD,QAAO,KAAK,GAAG,CAAC;AAAA,QACzB,CAAC,EACA,KAAK,IAAI,CAAC;AACf;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,QAAQ;AAChB,cAAM,KAAK;AACX,cAAM,QAAQ,KAAK;AACnB,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC;AAC1C;AAAA,MACJ;AAAA,MACA,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO,QAAQ;AAChB,cAAM,KAAK;AACX,cAAM,QAAQ,KAAK;AACnB,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC,OAAO,OAAO,MAAM,CAAC,IAAI,KAAK,GAAG,KAAK,CAAC;AAC7D;AAAA,MACJ;AAAA,MACA,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO,cAAc;AACtB,cAAM,KAAK;AACX,eAAO,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC;AACzC;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,KAAK;AACb,cAAM,KAAK;AACX,cAAM,MAAM,KAAK;AACjB,cAAM,OAAO,KAAK,UAAU,KAAK,CAAC;AAClC,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC,WAAW,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI;AACtD;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,UAAU;AAClB,cAAM,KAAK;AACX,cAAM,MAAM,KAAK;AACjB,cAAM,QAAQ,UAAU;AACxB,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC,WAAW,KAAK,GAAG,GAAG,CAAC,KAAK,KAAK;AACvD;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,QAAQ;AAChB,cAAM,KAAK;AACX,cAAM,MAAM,KAAK;AACjB,cAAM,QAAQ,KAAK;AACnB,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC,WAAW,KAAK,GAAG,GAAG,CAAC,KAAK,KAAK,GAAG,KAAK,CAAC;AAChE;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,KAAK;AACb,cAAM,KAAK;AACX,cAAM,MAAM,KAAK;AACjB,cAAM,OAAO,KAAK,UAAU,KAAK,CAAC;AAClC,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC,WAAW,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI;AACtD;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,UAAU;AAClB,cAAM,KAAK;AACX,cAAM,MAAM,KAAK;AACjB,cAAM,QAAQ,UAAU;AACxB,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC,WAAW,KAAK,GAAG,GAAG,CAAC,KAAK,KAAK;AACvD;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,QAAQ;AAChB,cAAM,KAAK;AACX,cAAM,MAAM,KAAK;AACjB,cAAM,QAAQ,KAAK;AACnB,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC,WAAW,KAAK,GAAG,GAAG,CAAC,KAAK,KAAK,GAAG,KAAK,CAAC;AAChE;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,KAAK;AACb,cAAM,KAAK;AACX,cAAM,MAAM,KAAK;AACjB,cAAM,OAAO,KAAK,UAAU,KAAK,CAAC;AAClC,eAAO,QAAQ,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,KAAK,KAAK,GAAG,GAAG,CAAC;AACrD;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,UAAU;AAClB,cAAM,KAAK;AACX,cAAM,MAAM,KAAK;AACjB,cAAM,QAAQ,UAAU;AACxB,eAAO,QAAQ,KAAK,GAAG,GAAG,CAAC,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,CAAC;AACtD;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,QAAQ;AAChB,cAAM,KAAK;AACX,cAAM,MAAM,KAAK;AACjB,cAAM,QAAQ,KAAK;AACnB,eAAO,QAAQ,KAAK,GAAG,GAAG,CAAC,KAAK,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,GAAG,GAAG,CAAC;AAC/D;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,WAAW;AACnB,cAAM,KAAK;AACX,cAAM,IAAI,KAAK;AACf,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;AACtC;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,cAAc;AACtB,cAAM,KAAK;AACX,cAAM,OAAO,KAAK;AAClB,aAAK,YAAY;AACjB,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC,2BAA2B,KAAK,GAAG,IAAI,CAAC;AAC9D;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,YAAY;AACpB,cAAM,KAAK;AACX,cAAM,QAAQ,KAAK;AACnB,cAAM,KAAK,KAAK;AAChB,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC,eAAe,KAAK,GAAG,IAAI,KAAK,CAAC;AACvD;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,YAAY;AACpB,cAAM,KAAK;AACX,cAAM,QAAQ,KAAK;AACnB,cAAM,KAAK,KAAK;AAChB,eAAO,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,GAAG,CAAC;AAC9C;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,OAAO;AACf,cAAM,KAAK;AACX,cAAM,MAAM,KAAK;AACjB,cAAM,QAAQ,UAAU;AACxB,cAAM,MAAM,UAAU;AACtB,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC,aAAa,KAAK,GAAG,GAAG,CAAC,KAAK,KAAK,KAAK,GAAG;AACjE;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,YAAY;AACpB,cAAM,KAAK;AACX,cAAM,MAAM,KAAK;AACjB,cAAM,MAAM,UAAU;AACtB,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC,aAAa,KAAK,GAAG,GAAG,CAAC,WAAW,GAAG;AAC7D;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,UAAU;AAClB,cAAM,KAAK;AACX,cAAM,MAAM,KAAK;AACjB,cAAM,QAAQ,UAAU;AACxB,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC,aAAa,KAAK,GAAG,GAAG,CAAC,KAAK,KAAK;AACzD;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,UAAU;AAClB,cAAM,KAAK;AACX,cAAM,MAAM,KAAK;AACjB,cAAM,QAAQ,KAAK;AACnB,cAAM,MAAM,KAAK;AACjB,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC,aAAa,KAAK,GAAG,GAAG,CAAC,KAAK,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,GAAG,GAAG,CAAC;AACnF;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,mBAAmB;AAC3B,cAAM,KAAK;AACX,cAAM,MAAM,KAAK;AACjB,cAAM,QAAQ,KAAK;AACnB,cAAM,MAAM,KAAK;AACjB,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC,sBAAsB,KAAK,GAAG,GAAG,CAAC,KAAK,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,GAAG,GAAG,CAAC;AAC5F;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,QAAQ;AAChB,cAAM,KAAK;AACX,cAAM,UAAU,UAAU;AAC1B,cAAM,OAAO,KAAK,UAAU,OAAO;AACnC,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC,cAAc,IAAI;AACxC;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,QAAQ;AAChB,cAAM,KAAK;AACX,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC;AACtB;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,OAAO;AACf,cAAM,KAAK;AACX,eAAO,GAAG,KAAK,GAAG,GAAG,CAAC;AACtB;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,IAAI;AACZ,cAAM,OAAO,KAAK;AAClB,eAAO,kBAAkB,KAAK,GAAG,IAAI,CAAC;AACtC;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,OAAO;AACf,cAAM,OAAO,KAAK;AAClB,eAAO,mBAAmB,KAAK,GAAG,IAAI,CAAC;AACvC;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,QAAQ;AAChB,cAAM,OAAO,KAAK;AAClB,eAAO,OAAO,KAAK,GAAG,IAAI,CAAC;AAC3B;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,WAAW;AACnB,cAAM,OAAO,KAAK;AAClB,eAAO,OAAO,KAAK,GAAG,IAAI,CAAC;AAC3B;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,OAAO;AACf,cAAM,OAAO,KAAK;AAClB,eAAO,OAAO,KAAK,GAAG,IAAI,CAAC;AAC3B;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,UAAU;AAClB,cAAM,OAAO,KAAK;AAClB,eAAO,OAAO,KAAK,GAAG,IAAI,CAAC;AAC3B;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,SAAS;AACjB,cAAM,OAAO,KAAK;AAClB,cAAM,WAAW,KAAK;AACtB,cAAM,OAAO,YAAY,OAAO,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;AAC5D,aAAK,QAAQ,GAAG;AAChB,cAAM,KAAK,KAAK,GAAG,GAAG,EAAE;AACxB,eAAO,YAAY,EAAE,iBAAiB,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,KAAK,KAAK,IAAI,CAAC;AACzG;AAAA,MACJ;AAAA,MACA,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO,oBAAoB;AAC5B,cAAM,OAAO,KAAK;AAClB,cAAM,QAAQ,KAAK;AACnB,cAAM,MAAM,KAAK;AACjB,cAAM,YAAY,WAAW,OAAO;AACpC,cAAM,OAAO,YAAY,OAAO,GAAG,CAACC,OAAM,KAAK,GAAGA,KAAI,GAAG,EAAE,CAAC;AAC5D,aAAK,QAAQ,GAAG;AAChB,cAAM,IAAI,KAAK,GAAG,GAAG,EAAE;AACvB,eAAO,8BAA8B,KAAK,GAAG,KAAK,CAAC,sBAAsB,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,YAAY,MAAM,IAAI,SAAS,CAAC,uBAAuB,KAAK,KAAK,IAAI,CAAC;AACpL;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,MAAM;AACd,cAAM,OAAO,KAAK;AAClB,cAAM,OAAO,YAAY,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;AACxD,aAAK,QAAQ,GAAG;AAChB,eAAO,6BAA6B,KAAK,KAAK,IAAI,CAAC;AACnD;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,OAAO;AACf,eAAO;AACP;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,UAAU;AAClB,eAAO;AACP;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,MAAM;AACd;AAAA,MACJ;AAAA,MACA,SAAS;AACL,eAAO,QAAQ,OAAO,MAAM,KAAK,MAAM;AACvC;AAAA,MACJ;AAAA,IACJ;AACA,SAAK,UAAU,KAAK,QAAQ,IAAI;AAChC,YAAQ,QAAQ;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO,MAAM;AACd,aAAK,YAAY;AACjB;AAAA,MACJ;AAAA,MACA,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO,WAAW;AACnB,aAAK,WAAW;AAChB;AAAA,MACJ;AAAA,MACA,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO,oBAAoB;AAC5B,aAAK;AACL,aAAK;AACL,aAAK,aAAa,OAAO,OAAO;AAChC;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,QAAQ;AAChB,aAAK,WAAW,GAAG;AACnB;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,QAAQ;AAChB,aAAK,WAAW,GAAG;AACnB;AAAA,MACJ;AAAA,MACA,KAAK,OAAO,OAAO;AACf,aAAK,UAAU,GAAG;AAClB;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA,EAGA,OAAa;AACT,SAAK,WAAW;AAChB,SAAK,SAAS;AACd,UAAM,SAAuB,KAAK,YAAY,gBAAgB;AAC9D,SAAK,UAAU,CAAC,IAAI,GAAG,MAAM,IAAI,KAAK,UAAU,CAAC,CAAC;AAClD,SAAK,aAAa,MAAM;AAAA,EAC5B;AAAA;AAAA,EAEA,aAAa,QAA4B;AACrC,QAAI,KAAK,QAAQ,WAAW;AACxB,sBAAgB,KAAK,QAAQ,QAAQ,KAAK,YAAY,KAAK,WAAW,KAAK,WAAW,KAAK,OAAO;AAAA,IACtG;AAAA,EACJ;AACJ;;;AKjxBA,SAAS,qBAAqB,sBAAsB;AAO7C,SAAS,qBAAqB,MAAqC;AACtE,MAAI,OAAO,KAAK,QAAQ,SAAU,CAAC,cAAc,IAAI,GAAG;AACpD,UAAM,IAAI,WAAW,2BAA2B,IAAI,EAAE;AAAA,EAC1D;AACA,SAAO,oBAAoB,IAAI,KAAK;AACxC;AAGO,SAAS,wBAAwB,MAAsB,IAAkD;AAC5G,MAAI,WAAW,qBAAqB,IAAI;AACxC,MAAI,CAAC,UAAU;AACX,WAAO,4BAA4B,IAAI;AAAA,EAC3C;AACA,MAAI,SAAS,SAAS,IAAI,GAAG;AACzB,UAAM,eAAe,OAAO,MAAM,aAAa,GAAG,IAAI,OAAO;AAI7D,eAAW,SAAS,WAAW,MAAM,YAAY,WAAW,KAAK,MAAM,CAAC;AAAA,EAC5E;AACA,SAAO;AACX;AAGO,SAAS,sBAAsB,MAAiF;AACnH,MAAI,OAAO,eAAe,cAAc,OAAO,eAAe,UAAU;AACpE,WAAO;AAAA,EACX,WAAW,OAAO,eAAe,gBAAgB,OAAO,eAAe,YAAY;AAC/E,WAAO;AAAA,EACX,WAAW,OAAO,eAAe,aAAa,OAAO,eAAe,SAAS;AACzE,WAAO;AAAA,EACX,WAAW,OAAO,eAAe,aAAa,OAAO,eAAe,SAAS;AACzE,WAAO;AAAA,EACX,WAAW,OAAO,eAAe,YAAY,OAAO,eAAe,QAAQ;AACvE,WAAO;AAAA,EACX,OAAO;AACH,WAAO;AAAA,EACX;AACJ;AAiEA,IAAM,EAAE,gBAAgB,cAAc,aAAa,WAAW,UAAU,IAAI;AAErE,SAAS,iBACZ,QACA,aACA,QACiB;AACjB,QAAM,SAA8D,CAAC;AACrE,QAAM,SAAS,YAAY;AAC3B,WAAS,IAAI,GAAG,IAAI,QAAQ,KAAK,GAAG;AAChC,UAAM,OAAuB,YAAY,IAAI,CAAC;AAC9C,QAAI,UAAU,CAAC,OAAO,IAAI,GAAG;AACzB;AAAA,IACJ;AACA,UAAM,kBAAkB,YAAY,CAAC;AACrC,UAAM,cAAc,YAAY,IAAI,CAAC;AACrC,UAAM,gBAAgB,YAAY,IAAI,CAAC;AACvC,UAAM,YAAY,YAAY,IAAI,CAAC;AACnC,WAAO,KAAK;AAAA,MACR;AAAA,MACA,OAAO;AAAA,QACH;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACJ;AAAA,IACJ,CAAiD;AAAA,EACrD;AAEA,QAAM,UAA8B,CAAC;AACrC,QAAM,YAAgC,CAAC;AACvC,QAAM,SAA6B,CAAC;AACpC,QAAM,SAA6B,CAAC;AACpC,QAAM,QAA4B,CAAC;AACnC,QAAM,cAAiC,CAAC;AACxC,QAAM,kBAAqC,CAAC;AAC5C,QAAM,cAAwB,CAAC;AAC/B,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACpC,UAAM,aAAa,OAAO,CAAC;AAC3B,UAAM,EAAE,KAAK,IAAI;AACjB,QAAI,SAAS,WAAW;AACpB,kBAAY,KAAK,WAAW,KAAK;AACjC;AAAA,IACJ;AACA,YAAQ,sBAAsB,IAAI,GAAG;AAAA,MACjC,KAAK;AACD,gBAAQ,KAAK,UAAU;AACvB;AAAA,MACJ,KAAK;AACD,kBAAU,KAAK,UAAU;AACzB;AAAA,MACJ,KAAK;AACD,eAAO,KAAK,UAAU;AACtB;AAAA,MACJ,KAAK;AACD,eAAO,KAAK,UAAU;AACtB;AAAA,MACJ,KAAK;AACD,cAAM,KAAK,UAAU;AACrB;AAAA,MACJ,KAAK;AAAA,MACL;AAEI;AAAA,IACR;AACA,eAAW,aAAa,CAAC;AACzB,WAAO,IAAI,IAAI,OAAO,QAAQ;AAC1B,YAAM,MAAM,OAAO,IAAI,CAAC;AACxB,UAAI,QAAQ;AACZ,UAAI,IAAI,OAAO,eAAe,IAAI,OAAO,WAAW;AAChD,gBAAQ;AACR,wBAAgB,KAAK,GAAG;AAAA,MAC5B;AACA,UAAI,IAAI,OAAO,kBAAkB,IAAI,OAAO,cAAc;AACtD,gBAAQ;AACR,oBAAY,KAAK,GAAG;AAAA,MACxB;AACA,UAAI,CAAC,OAAO;AACR;AAAA,MACJ;AACA;AACA,UAAI,aAAa;AACjB,MAAC,WAAW,WAAiC,KAAK,GAAG;AAAA,IACzD;AAAA,EACJ;AACA,SAAO;AAAA,IACH,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,IACP,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,YAAY;AAAA,EAChB;AACJ;AAGA,SAAS,YAAY,OAAuB;AACxC,MAAI,MAAM,oBAAoB,MAAM,eAAe;AAC/C,QAAI,MAAM,gBAAgB,MAAM,WAAW;AACvC,aAAO,GAAG,MAAM,eAAe,IAAI,MAAM,WAAW;AAAA,IACxD;AACA,WAAO,GAAG,MAAM,eAAe,IAAI,MAAM,WAAW,IAAI,MAAM,SAAS;AAAA,EAC3E;AACA,SAAO,GAAG,MAAM,eAAe,IAAI,MAAM,WAAW,IAAI,MAAM,aAAa,IAAI,MAAM,SAAS;AAClG;AAGO,SAAS,kBACZ,aACA,QACA,UACQ;AACR,QAAM,cAAc,WAAW,GAAG,QAAQ,MAAM;AAChD,QAAM,WAAqB,CAAC;AAC5B,aAAW,cAAc,aAAa;AAClC,UAAM,QAAQ,YAAY,WAAW,KAAK;AAC1C,UAAM,WAAW,eAAe,WAAW,IAAI,KAAK,WAAW,WAAW,IAAI;AAC9E,QAAI,UAAU,qBAAqB,WAAW,IAAI;AAClD,eAAW,OAAO,WAAW,YAAY;AACrC,YAAM,WAAW,YAAY,IAAI,KAAK;AACtC,iBAAW;AAAA,OAAU,QAAQ,MAAM,qBAAqB,IAAI,IAAI,CAAC;AAAA,IACrE;AACA,aAAS,KAAK,KAAK,QAAQ,IAAI,WAAW,GAAG,KAAK,MAAM,OAAO,EAAE;AAAA,EACrE;AACA,SAAO;AACX;",
5
+ "names": ["entries", "keys", "value", "entries", "a", "b", "c", "e", "g", "i", "k", "m", "i"]
6
+ }
@@ -3,7 +3,7 @@ import {
3
3
  emit,
4
4
  generateBytecode,
5
5
  parseDiagnostics
6
- } from "../chunk-X4FUFXO6.js";
6
+ } from "../chunk-VI74OKFU.js";
7
7
 
8
8
  // src/compiler/worker.ts
9
9
  import { expose, WorkerResult } from "@cloudpss/worker/pool";
@@ -1,4 +1,34 @@
1
1
  import type { VmArray, VmExtern, VmFunction, VmModule, VmAny, VmRecord } from '../vm/index.js';
2
+ /** 序列化 nil 值 */
3
+ export declare function serializeNil(): string;
4
+ /** 序列化布尔值 */
5
+ export declare function serializeBoolean(value: boolean): string;
6
+ /** 序列化数字 */
7
+ export declare function serializeNumber(value: number): string;
8
+ /**
9
+ * 将 MiraScript 字符串序列化为 MiraScript 字面量。
10
+ */
11
+ export declare function serializeString(value: string, options?: Partial<SerializeOptions>): string;
12
+ /** 序列化属性名 */
13
+ export declare function serializeRecordKey(key: string, options?: Partial<SerializeOptions>): string;
14
+ /** 序列化数组 */
15
+ export declare function serializeArray(value: VmArray, depth: number, options: Readonly<SerializeOptions>): string;
16
+ /** 序列化记录 */
17
+ export declare function serializeRecord(value: VmRecord, depth: number, options: Readonly<SerializeOptions>): string;
18
+ /**
19
+ * 将 MiraScript 值序列化为 MiraScript 字面量字符串,非常量值默认转换为 `nil`。
20
+ */
21
+ export declare function serialize(value: VmAny, options?: Partial<SerializeOptions>): string;
22
+ /** 将 MiraScript 函数转化为 MiraScript 字符串 */
23
+ export declare function displayFunction(value: VmFunction): string;
24
+ /** 将 MiraScript 模块转化为 MiraScript 字符串 */
25
+ export declare function displayModule(value: VmModule): string;
26
+ /** 将 MiraScript 外部值转化为 MiraScript 字符串 */
27
+ export declare function displayExtern(value: VmExtern): string;
28
+ /**
29
+ * 将 MiraScript 值转化为 MiraScript 字符串。
30
+ */
31
+ export declare function display(value: VmAny, options?: Partial<SerializeOptions>): string;
2
32
  /** 序列化设置 */
3
33
  export interface SerializeOptions {
4
34
  /** 最大递归深度,超过该深度的值将被序列化为 `nil`,默认值为 128 */
@@ -17,47 +47,17 @@ export interface SerializeOptions {
17
47
  serializeStringEscape: (value: string, options: SerializeOptions) => string;
18
48
  /** 序列化字符串常规内容 */
19
49
  serializeStringContent: (value: string, options: SerializeOptions) => string;
20
- /** 序列化函数 */
21
- serializeFunction: (value: VmFunction, options: SerializeOptions) => string;
22
50
  /** 序列化数组 */
23
51
  serializeArray: (value: VmArray, depth: number, options: SerializeOptions) => string;
24
52
  /** 序列化记录 */
25
53
  serializeRecord: (value: VmRecord, depth: number, options: SerializeOptions) => string;
26
54
  /** 序列化属性名 */
27
55
  serializePropName: (value: number | string, options: SerializeOptions) => string;
56
+ /** 序列化函数 */
57
+ serializeFunction: (value: VmFunction, options: SerializeOptions) => string;
28
58
  /** 序列化模块 */
29
59
  serializeModule: (value: VmModule, depth: number, options: SerializeOptions) => string;
30
60
  /** 序列化外部值 */
31
61
  serializeExtern: (value: VmExtern, depth: number, options: SerializeOptions) => string;
32
62
  }
33
- /**
34
- * 将 MiraScript 字符串序列化为 MiraScript 字面量。
35
- */
36
- export declare function serializeString(value: string, options?: Partial<SerializeOptions>): string;
37
- /** 序列化属性名 */
38
- export declare function serializeRecordKey(key: string, options?: Partial<SerializeOptions>): string;
39
- /** 序列化 nil 值 */
40
- export declare function serializeNil(): string;
41
- /** 序列化布尔值 */
42
- export declare function serializeBoolean(value: boolean): string;
43
- /** 序列化数字 */
44
- export declare function serializeNumber(value: number): string;
45
- /** 序列化数组 */
46
- export declare function serializeArray(value: VmArray, depth: number, options: Readonly<SerializeOptions>): string;
47
- /** 序列化记录 */
48
- export declare function serializeRecord(value: VmRecord, depth: number, options: Readonly<SerializeOptions>): string;
49
- /**
50
- * 将 MiraScript 值序列化为 MiraScript 字面量字符串,非常量值默认转换为 `nil`。
51
- */
52
- export declare function serialize(value: VmAny, options?: Partial<SerializeOptions>): string;
53
- /** 将 MiraScript 函数转化为 MiraScript 字符串 */
54
- export declare function displayFunction(value: VmFunction): string;
55
- /** 将 MiraScript 模块转化为 MiraScript 字符串 */
56
- export declare function displayModule(value: VmModule): string;
57
- /** 将 MiraScript 外部值转化为 MiraScript 字符串 */
58
- export declare function displayExtern(value: VmExtern): string;
59
- /**
60
- * 将 MiraScript 值转化为 MiraScript 字符串。
61
- */
62
- export declare function display(value: VmAny, options?: Partial<SerializeOptions>): string;
63
63
  //# sourceMappingURL=serialize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/helpers/serialize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/helpers/serialize.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ export declare function isVmArray(value: VmAny): value is VmArray;
24
24
  /** 检查值是否为 Mirascript 记录 */
25
25
  export declare function isVmRecord(value: VmAny): value is VmRecord;
26
26
  /** 检查是否为仅包含从 0 开始的连续数字键的 MiraScript 记录 */
27
- export declare function isVmArrayLikeRecordByEntires(entries: ReadonlyArray<readonly [string, unknown]>): boolean;
27
+ export declare function isVmArrayLikeRecordByEntries(entries: ReadonlyArray<readonly [string, unknown]>): boolean;
28
28
  /** 检查是否为仅包含从 0 开始的连续数字键的 MiraScript 记录 */
29
29
  export declare function isVmArrayLikeRecordByKeys(keys: readonly string[]): boolean;
30
30
  /** 检查是否为仅包含从 0 开始的连续数字键的 MiraScript 记录 */
package/dist/index.js CHANGED
@@ -12,7 +12,7 @@ import {
12
12
  unwrapFromVmValue,
13
13
  wrapScript,
14
14
  wrapToVmValue
15
- } from "./chunk-5MRXQCF7.js";
15
+ } from "./chunk-GONOUVUN.js";
16
16
  import {
17
17
  VmError,
18
18
  defineProperty,
@@ -24,7 +24,7 @@ import {
24
24
  isVmAny,
25
25
  isVmArray,
26
26
  isVmArrayLikeRecord,
27
- isVmArrayLikeRecordByEntires,
27
+ isVmArrayLikeRecordByEntries,
28
28
  isVmArrayLikeRecordByKeys,
29
29
  isVmCallable,
30
30
  isVmConst,
@@ -39,7 +39,7 @@ import {
39
39
  isVmValue,
40
40
  isVmWrapper,
41
41
  serialize
42
- } from "./chunk-X4FUFXO6.js";
42
+ } from "./chunk-VI74OKFU.js";
43
43
 
44
44
  // src/compiler/compile-fast.ts
45
45
  import { isKeyword } from "@mirascript/constants";
@@ -230,7 +230,7 @@ export {
230
230
  isVmAny,
231
231
  isVmArray,
232
232
  isVmArrayLikeRecord,
233
- isVmArrayLikeRecordByEntires,
233
+ isVmArrayLikeRecordByEntries,
234
234
  isVmArrayLikeRecordByKeys,
235
235
  isVmCallable,
236
236
  isVmConst,
package/dist/subtle.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  lib,
7
7
  operations_exports,
8
8
  wrapScript
9
- } from "./chunk-5MRXQCF7.js";
9
+ } from "./chunk-GONOUVUN.js";
10
10
  import {
11
11
  DiagnosticCode,
12
12
  constants_exports,
@@ -26,7 +26,7 @@ import {
26
26
  serializeRecord,
27
27
  serializeRecordKey,
28
28
  serializeString
29
- } from "./chunk-X4FUFXO6.js";
29
+ } from "./chunk-VI74OKFU.js";
30
30
 
31
31
  // src/subtle.ts
32
32
  import { OpCode, isKeyword } from "@mirascript/constants";
@@ -49,7 +49,7 @@ export interface VmValueMap {
49
49
  /** Mirascript 模块 */
50
50
  module: VmModule;
51
51
  }
52
- export { isVmAny, isVmArray, isVmArrayLikeRecord, isVmArrayLikeRecordByEntires, isVmArrayLikeRecordByKeys, isVmCallable, isVmConst, isVmContext, isVmExtern, isVmFunction, isVmImmutable, isVmModule, isVmPrimitive, isVmRecord, isVmScript, isVmValue, isVmWrapper, getVmFunctionInfo, getVmType, } from '../../helpers/types.js';
52
+ export { isVmAny, isVmArray, isVmArrayLikeRecord, isVmArrayLikeRecordByEntries, isVmArrayLikeRecordByKeys, isVmCallable, isVmConst, isVmContext, isVmExtern, isVmFunction, isVmImmutable, isVmModule, isVmPrimitive, isVmRecord, isVmScript, isVmValue, isVmWrapper, getVmFunctionInfo, getVmType, } from '../../helpers/types.js';
53
53
  export { wrapToVmValue, unwrapFromVmValue } from './boundary.js';
54
54
  export { type VmContext, type VmContextRecord, defineVmContextValue, createVmContext } from './context.js';
55
55
  export { VmExtern } from './extern.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirascript/mirascript",
3
- "version": "0.1.70",
3
+ "version": "0.1.74",
4
4
  "author": "CloudPSS",
5
5
  "license": "MIT",
6
6
  "description": "An expression based scripting language.",
@@ -42,13 +42,13 @@
42
42
  "@cloudpss/worker": "^0.1.11",
43
43
  "source-map-js": "^1.2.1",
44
44
  "supports-color": "^10.2.2",
45
- "@mirascript/bindings": "~0.1.70",
46
- "@mirascript/constants": "~0.1.70"
45
+ "@mirascript/bindings": "~0.1.74",
46
+ "@mirascript/constants": "~0.1.74"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@types/node": "^26.1.1",
50
50
  "ava": "^8.0.1",
51
- "c8": "^11.0.0",
51
+ "c8": "^12.0.0",
52
52
  "tinybench": "^6.0.2",
53
53
  "type-fest": "^5.8.0"
54
54
  },