@hypersoniclabs/helix-cli 0.1.27-helix3.574 → 0.1.27-helix3.576

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.
Files changed (35) hide show
  1. package/dist/city/convert/codeFingerprint.d.ts +7 -0
  2. package/dist/city/convert/codeFingerprint.js +55 -0
  3. package/dist/city/convert/codeFingerprint.js.map +1 -0
  4. package/dist/city/convert/command.js +2 -1
  5. package/dist/city/convert/command.js.map +1 -1
  6. package/dist/city/convert/receipt.d.ts +3 -0
  7. package/dist/city/convert/receipt.js.map +1 -1
  8. package/dist/city/convert/roadBudget.d.ts +11 -0
  9. package/dist/city/convert/roadBudget.js +17 -0
  10. package/dist/city/convert/roadBudget.js.map +1 -1
  11. package/dist/city/convert/run.d.ts +4 -0
  12. package/dist/city/convert/run.js +7 -3
  13. package/dist/city/convert/run.js.map +1 -1
  14. package/dist/city/convert/stages.d.ts +2 -0
  15. package/dist/city/convert/stages.js +21 -6
  16. package/dist/city/convert/stages.js.map +1 -1
  17. package/dist/city/import/cs2/areas.js +4 -1
  18. package/dist/city/import/cs2/areas.js.map +1 -1
  19. package/dist/tsconfig.build.tsbuildinfo +1 -1
  20. package/package.json +1 -1
  21. package/plugins/beamng-vehicle/bin/__pycache__/beamng_abs.cpython-312.pyc +0 -0
  22. package/plugins/beamng-vehicle/bin/__pycache__/beamng_audio.cpython-312.pyc +0 -0
  23. package/plugins/beamng-vehicle/bin/__pycache__/beamng_engine.cpython-312.pyc +0 -0
  24. package/plugins/beamng-vehicle/bin/__pycache__/beamng_expression.cpython-312.pyc +0 -0
  25. package/plugins/beamng-vehicle/bin/__pycache__/beamng_jbeam.cpython-312.pyc +0 -0
  26. package/plugins/beamng-vehicle/bin/__pycache__/beamng_materials.cpython-312.pyc +0 -0
  27. package/plugins/beamng-vehicle/bin/__pycache__/beamng_stock_events.cpython-312.pyc +0 -0
  28. package/plugins/beamng-vehicle/bin/__pycache__/fmod_studio.cpython-312.pyc +0 -0
  29. package/plugins/beamng-vehicle/bin/__pycache__/fsb5.cpython-312.pyc +0 -0
  30. package/plugins/beamng-vehicle/bin/__pycache__/sim_audio.cpython-312.pyc +0 -0
  31. package/plugins/beamng-vehicle/bin/__pycache__/sim_audio_ac.cpython-312.pyc +0 -0
  32. package/plugins/beamng-vehicle/bin/__pycache__/sim_audio_beamng.cpython-312.pyc +0 -0
  33. package/plugins/beamng-vehicle/bin/__pycache__/sim_audio_fixtures.cpython-312.pyc +0 -0
  34. package/plugins/beamng-vehicle/bin/__pycache__/test_beamng_engine.cpython-312.pyc +0 -0
  35. package/plugins/beamng-vehicle/bin/__pycache__/test_sim_audio.cpython-312.pyc +0 -0
@@ -0,0 +1,7 @@
1
+ /** sha256 over every code file's relative path and bytes under `roots` (sorted, so the same tree always hashes the same). */
2
+ export declare function hashCodeTree(roots: string[]): string;
3
+ /**
4
+ * The fingerprint of the CLI tree this module runs from (`dist/` when built, `src/` under the tests) plus the vendored validators beside it.
5
+ * Computed once per process: the tree does not change under a running conversion.
6
+ */
7
+ export declare function cliCodeFingerprint(): string;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ // A fingerprint of the CLI's own code. A conversion stage's output depends on the code that built it as much as on its config: `helix city
3
+ // convert cs2` reuses a stage whose signature is unchanged, and the package version does not move between commits, so a fix to (say) the road
4
+ // weld shipped nothing until somebody remembered `--force` (2026-10-21: a rebuild after a code fix silently kept the old output). Hashing the
5
+ // code that the stages spawn (`helix ...` children run this very tree) puts that fix into the stage signature, so the stage reruns on its own.
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.hashCodeTree = hashCodeTree;
8
+ exports.cliCodeFingerprint = cliCodeFingerprint;
9
+ const node_crypto_1 = require("node:crypto");
10
+ const node_fs_1 = require("node:fs");
11
+ const node_path_1 = require("node:path");
12
+ /** Files that are part of what a stage executes or ships: compiled/ts code, json tables, the bundled model runtime and its wasm. */
13
+ const CODE_FILE = /\.(?:m?js|cjs|ts|json|txt|bin|wasm)$/;
14
+ /** Tests, type declarations and maps do not change a stage's output. */
15
+ const NOT_CODE = /(?:\.(?:spec|test)\.(?:m?js|ts)|\.d\.ts|\.map|\.tsbuildinfo)$/;
16
+ function collect(dir, root, out) {
17
+ for (const entry of (0, node_fs_1.readdirSync)(dir, { withFileTypes: true }).sort((a, b) => (a.name < b.name ? -1 : 1))) {
18
+ if (entry.name === 'node_modules' || entry.name.startsWith('.'))
19
+ continue;
20
+ const path = (0, node_path_1.join)(dir, entry.name);
21
+ if (entry.isDirectory())
22
+ collect(path, root, out);
23
+ else if (entry.isFile() && CODE_FILE.test(entry.name) && !NOT_CODE.test(entry.name))
24
+ out.push((0, node_path_1.relative)(root, path));
25
+ }
26
+ }
27
+ /** sha256 over every code file's relative path and bytes under `roots` (sorted, so the same tree always hashes the same). */
28
+ function hashCodeTree(roots) {
29
+ const hash = (0, node_crypto_1.createHash)('sha256');
30
+ for (const root of roots) {
31
+ if (!(0, node_fs_1.existsSync)(root) || !(0, node_fs_1.statSync)(root).isDirectory())
32
+ continue;
33
+ const files = [];
34
+ collect(root, root, files);
35
+ for (const file of files) {
36
+ hash.update(`${file}\0`);
37
+ hash.update((0, node_fs_1.readFileSync)((0, node_path_1.join)(root, file)));
38
+ hash.update('\0');
39
+ }
40
+ }
41
+ return hash.digest('hex');
42
+ }
43
+ let cached;
44
+ /**
45
+ * The fingerprint of the CLI tree this module runs from (`dist/` when built, `src/` under the tests) plus the vendored validators beside it.
46
+ * Computed once per process: the tree does not change under a running conversion.
47
+ */
48
+ function cliCodeFingerprint() {
49
+ if (!cached) {
50
+ const codeRoot = (0, node_path_1.join)(__dirname, '..', '..');
51
+ cached = hashCodeTree([codeRoot, (0, node_path_1.join)(codeRoot, '..', 'vendor')]);
52
+ }
53
+ return cached;
54
+ }
55
+ //# sourceMappingURL=codeFingerprint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeFingerprint.js","sourceRoot":"","sources":["../../../src/city/convert/codeFingerprint.ts"],"names":[],"mappings":";AAAA,2IAA2I;AAC3I,8IAA8I;AAC9I,8IAA8I;AAC9I,+IAA+I;;AAqB/I,oCAaC;AAQD,gDAMC;AA9CD,6CAAyC;AACzC,qCAA0E;AAC1E,yCAA2C;AAE3C,oIAAoI;AACpI,MAAM,SAAS,GAAG,sCAAsC,CAAC;AACzD,wEAAwE;AACxE,MAAM,QAAQ,GAAG,+DAA+D,CAAC;AAEjF,SAAS,OAAO,CAAC,GAAW,EAAE,IAAY,EAAE,GAAa;IACvD,KAAK,MAAM,KAAK,IAAI,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzG,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAC1E,MAAM,IAAI,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,WAAW,EAAE;YAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;aAC7C,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,IAAA,oBAAQ,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACtH,CAAC;AACH,CAAC;AAED,6HAA6H;AAC7H,SAAgB,YAAY,CAAC,KAAe;IAC1C,MAAM,IAAI,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC,IAAI,CAAC,IAAA,kBAAQ,EAAC,IAAI,CAAC,CAAC,WAAW,EAAE;YAAE,SAAS;QACjE,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,IAAA,sBAAY,EAAC,IAAA,gBAAI,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,IAAI,MAA0B,CAAC;AAE/B;;;GAGG;AACH,SAAgB,kBAAkB;IAChC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7C,MAAM,GAAG,YAAY,CAAC,CAAC,QAAQ,EAAE,IAAA,gBAAI,EAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -41,6 +41,7 @@ function registerCityConvert(city, fail) {
41
41
  .option('--from <stage>', 'rerun this stage and everything after it')
42
42
  .option('--stop-after <stage>', 'stop after this stage')
43
43
  .option('--force', 'ignore the receipt and run every stage')
44
+ .option('--allow-over-budget <reason>', 'publish a root whose scene-memory audit fails (it is otherwise refused on both tiers); the reason is recorded in the receipt')
44
45
  .option('--unlisted', 'the publish plan says unlisted (the default)')
45
46
  .option('--public', 'the publish plan says public')
46
47
  .option('--private', 'the publish plan says private')
@@ -97,7 +98,7 @@ function registerCityConvert(city, fail) {
97
98
  const out = (0, node_path_1.resolve)(opts.out ?? `convert-${opts.name}`);
98
99
  const receipt = await (0, run_1.runConvert)({
99
100
  bundle: (0, node_path_1.resolve)(bundle), out, config, exec: (0, exec_1.childExec)({ out }), ...(opts.publish ? { run: (0, exec_1.externalExec)({ out }) } : {}), cliVersion: (0, lib_1.cliVersion)(), log: (line) => process.stderr.write(`${line}\n`),
100
- ...(opts.jobs ? { jobs: Math.max(1, Number(opts.jobs)) } : {}), ...(opts.from ? { from: opts.from } : {}), ...(opts.stopAfter ? { stopAfter: opts.stopAfter } : {}), ...(opts.force ? { force: true } : {}),
101
+ ...(opts.jobs ? { jobs: Math.max(1, Number(opts.jobs)) } : {}), ...(opts.from ? { from: opts.from } : {}), ...(opts.stopAfter ? { stopAfter: opts.stopAfter } : {}), ...(opts.force ? { force: true } : {}), ...(opts.allowOverBudget ? { allowOverBudget: opts.allowOverBudget } : {}),
101
102
  });
102
103
  if (opts.json) {
103
104
  console.log(JSON.stringify(receipt, null, 2));
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/city/convert/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/city/convert/command.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,8 @@ export interface StageReceipt {
17
17
  export interface ConvertReceipt {
18
18
  schema: typeof CONVERT_RECEIPT_SCHEMA;
19
19
  cliVersion: string;
20
+ /** Hash of the CLI code that built this output (codeFingerprint.ts); absent on a receipt written before stages were keyed on code. */
21
+ codeFingerprint?: string;
20
22
  bundle: string;
21
23
  out: string;
22
24
  config: unknown;
@@ -33,6 +35,7 @@ export interface ConvertReceipt {
33
35
  export declare const sha256Json: (value: unknown) => string;
34
36
  export declare function newReceipt(init: {
35
37
  cliVersion: string;
38
+ codeFingerprint: string;
36
39
  bundle: string;
37
40
  out: string;
38
41
  config: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../../src/city/convert/receipt.ts"],"names":[],"mappings":";AAAA,iIAAiI;AACjI,sFAAsF;;;AAuCtF,gCAEC;AAED,kCAKC;AAED,kCAIC;AAGD,wCAYC;AAED,oCAMC;AA3ED,6CAAyC;AACzC,qCAAyF;AACzF,yCAA0C;AAC1C,mDAAmD;AAEtC,QAAA,sBAAsB,GAAG,8BAAuC,CAAC;AACjE,QAAA,YAAY,GAAG,sBAAsB,CAAC;AA6B5C,MAAM,UAAU,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAA1G,QAAA,UAAU,cAAgG;AAEvH,SAAgB,UAAU,CAAC,IAA0E;IACnG,OAAO,EAAE,MAAM,EAAE,8BAAsB,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAClG,CAAC;AAED,SAAgB,WAAW,CAAC,GAAW;IACrC,MAAM,IAAI,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,oBAAY,CAAC,CAAC;IACrC,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAmB,CAAC;IACzE,OAAO,OAAO,CAAC,MAAM,KAAK,8BAAsB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AACpE,CAAC;AAED,SAAgB,WAAW,CAAC,OAAuB,EAAE,KAAmB;IACtE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9D,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;;QAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzE,cAAc,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC;AAED,sFAAsF;AACtF,SAAgB,cAAc,CAAC,OAAuB;IACpD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;IACrB,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC/B,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI;YAAE,SAAS;QAChC,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC3B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAA,gCAAgB,EAAC,EAAE,CAAC,CAAC;YAC1D,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAgB,YAAY,CAAC,GAAW,EAAE,OAAuB;IAC/D,MAAM,IAAI,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,oBAAY,CAAC,CAAC;IACrC,IAAA,mBAAS,EAAC,IAAA,mBAAO,EAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC;IAC1B,IAAA,uBAAa,EAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAA,oBAAU,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../../src/city/convert/receipt.ts"],"names":[],"mappings":"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"}
@@ -39,3 +39,14 @@ export interface RoadBudgetAudit {
39
39
  ok: boolean;
40
40
  }
41
41
  export declare function auditRoadBudget(root: BudgetRoot, tier: 'desktop' | 'phone', hasHlod: boolean, roadPrefix?: string): RoadBudgetAudit;
42
+ /**
43
+ * The pipeline's gate on the audit: a root whose worst camera position bills more than its authored budget does not get published, on either
44
+ * tier. (It was only the desktop that refused; a phone overshoot was "recorded", and two Leonida builds shipped with `ok: false` at up to
45
+ * 235.6 of 192 MiB. The engine does not save a phone from this: it admits the groups under the camera past the budget and reports the
46
+ * overshoot, so the player's phone holds the extra memory.) A person who accepts a specific overshoot passes the reason (`--allow-over-budget`);
47
+ * it is recorded in the receipt, never the default.
48
+ */
49
+ export declare function enforceRoadBudget(audit: RoadBudgetAudit, rootName: string, allowReason?: string): {
50
+ overByMiB: number;
51
+ overridden: string | null;
52
+ };
@@ -7,6 +7,7 @@
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.ROAD_AUDIT_CAMERA_Y_M = exports.HLOD_APPEARANCE_RESERVE_MIB = void 0;
9
9
  exports.auditRoadBudget = auditRoadBudget;
10
+ exports.enforceRoadBudget = enforceRoadBudget;
10
11
  /** The shared HLOD appearance (decoded city materials) the engine reserves once an HLOD layer is active, MiB (measured, systems/scene hlod/resources.ts). */
11
12
  exports.HLOD_APPEARANCE_RESERVE_MIB = { desktop: 66.7, phone: 13.6 };
12
13
  /** Camera height over the road used for the sweep, metres: a street-level to low-fly camera. */
@@ -47,4 +48,20 @@ function auditRoadBudget(root, tier, hasHlod, roadPrefix = 'stream.road') {
47
48
  }
48
49
  return { eagerMiB, hlodMiB, budgetMiB, streamRadiusM, worstMiB: worst, worstAt, worstRoadMiB: worstRoad, roadGroups: roads.length, headroomMiB: budgetMiB - worst, ok: worst <= budgetMiB };
49
50
  }
51
+ /**
52
+ * The pipeline's gate on the audit: a root whose worst camera position bills more than its authored budget does not get published, on either
53
+ * tier. (It was only the desktop that refused; a phone overshoot was "recorded", and two Leonida builds shipped with `ok: false` at up to
54
+ * 235.6 of 192 MiB. The engine does not save a phone from this: it admits the groups under the camera past the budget and reports the
55
+ * overshoot, so the player's phone holds the extra memory.) A person who accepts a specific overshoot passes the reason (`--allow-over-budget`);
56
+ * it is recorded in the receipt, never the default.
57
+ */
58
+ function enforceRoadBudget(audit, rootName, allowReason) {
59
+ if (audit.ok)
60
+ return { overByMiB: 0, overridden: null };
61
+ const overByMiB = Math.round((audit.worstMiB - audit.budgetMiB) * 10) / 10;
62
+ if (allowReason)
63
+ return { overByMiB, overridden: allowReason };
64
+ throw new Error(`${rootName} bills ${audit.worstMiB.toFixed(1)} MiB against its ${audit.budgetMiB} MiB scene budget near the roads (${overByMiB} MiB over) at ${audit.worstAt.map(Math.round).join(',')} (`
65
+ + `eager ${audit.eagerMiB}, HLOD ${audit.hlodMiB}, road groups ${audit.worstRoadMiB}, the rest ${Math.round((audit.worstMiB - audit.eagerMiB - audit.hlodMiB - audit.worstRoadMiB) * 10) / 10})`);
66
+ }
50
67
  //# sourceMappingURL=roadBudget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"roadBudget.js","sourceRoot":"","sources":["../../../src/city/convert/roadBudget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roadBudget.js","sourceRoot":"","sources":["../../../src/city/convert/roadBudget.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,8 @@ export interface RunOptions {
9
9
  /** External programs for the publish stages (`--publish`). */
10
10
  run?: ExternalRun;
11
11
  cliVersion: string;
12
+ /** Hash of the CLI code the stages run (default: this tree's). It is part of every stage's signature: a code fix reruns the stages it can change, with no `--force`. */
13
+ codeFingerprint?: string;
12
14
  log?: (line: string) => void;
13
15
  jobs?: number;
14
16
  /** Rerun this stage and everything after it. */
@@ -17,6 +19,8 @@ export interface RunOptions {
17
19
  stopAfter?: string;
18
20
  /** Ignore the receipt; run every stage. */
19
21
  force?: boolean;
22
+ /** A reason to publish a root whose road-budget audit fails (the validate stage otherwise refuses it); recorded in the receipt. */
23
+ allowOverBudget?: string;
20
24
  }
21
25
  export declare function listStages(config: ConvertConfig, meshMode?: Facts['meshMode'] | 'unknown', bakedRoads?: boolean): StageDef[];
22
26
  export declare function runConvert(options: RunOptions): Promise<ConvertReceipt>;
@@ -5,6 +5,7 @@ exports.listStages = listStages;
5
5
  exports.runConvert = runConvert;
6
6
  const node_fs_1 = require("node:fs");
7
7
  const node_path_1 = require("node:path");
8
+ const codeFingerprint_1 = require("./codeFingerprint");
8
9
  const receipt_1 = require("./receipt");
9
10
  const stages_1 = require("./stages");
10
11
  function listStages(config, meshMode = 'unknown', bakedRoads = false) {
@@ -16,12 +17,15 @@ async function runConvert(options) {
16
17
  (0, node_fs_1.mkdirSync)(out, { recursive: true });
17
18
  (0, node_fs_1.writeFileSync)((0, node_path_1.join)(out, 'convert.json'), `${JSON.stringify(config, null, 2)}\n`);
18
19
  const paths = (0, stages_1.convertPaths)(options.bundle, out, config.name);
19
- const ctx = { config, paths, exec: options.exec, ...(options.run ? { run: options.run } : {}), log, jobs: options.jobs ?? 4 };
20
+ const ctx = { config, paths, exec: options.exec, ...(options.run ? { run: options.run } : {}), log, jobs: options.jobs ?? 4, ...(options.allowOverBudget ? { allowOverBudget: options.allowOverBudget } : {}) };
20
21
  const prior = options.force ? null : (0, receipt_1.readReceipt)(out);
21
- const receipt = (0, receipt_1.newReceipt)({ cliVersion: options.cliVersion, bundle: options.bundle, out, config });
22
+ const codeFingerprint = options.codeFingerprint ?? (0, codeFingerprint_1.cliCodeFingerprint)();
23
+ const receipt = (0, receipt_1.newReceipt)({ cliVersion: options.cliVersion, codeFingerprint, bundle: options.bundle, out, config });
22
24
  if (prior && prior.bundle === options.bundle) {
23
25
  receipt.stages = prior.stages.filter((s) => s.status === 'ok');
24
26
  (0, receipt_1.refreshApplied)(receipt);
27
+ if (prior.cliVersion !== options.cliVersion || prior.codeFingerprint !== codeFingerprint)
28
+ log(`the CLI changed since this output was built (${prior.cliVersion} ${prior.codeFingerprint?.slice(0, 8) ?? 'unhashed'} -> ${options.cliVersion} ${codeFingerprint.slice(0, 8)}): every stage reruns`);
25
29
  }
26
30
  let meshMode = 'unknown';
27
31
  let stages = (0, stages_1.buildStages)(config, meshMode);
@@ -29,7 +33,7 @@ async function runConvert(options) {
29
33
  throw new Error(`--from ${options.from}: no such stage (${stages.map((s) => s.id).join(', ')})`);
30
34
  if (options.stopAfter && !stages.some((s) => s.id === options.stopAfter))
31
35
  throw new Error(`--stop-after ${options.stopAfter}: no such stage (${stages.map((s) => s.id).join(', ')})`);
32
- let chain = (0, receipt_1.sha256Json)({ bundle: options.bundle, cli: options.cliVersion });
36
+ let chain = (0, receipt_1.sha256Json)({ bundle: options.bundle, cli: options.cliVersion, code: codeFingerprint });
33
37
  let rerun = Boolean(options.force);
34
38
  for (let index = 0; index < stages.length; index += 1) {
35
39
  const stage = stages[index];
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/city/convert/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/city/convert/run.ts"],"names":[],"mappings":"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"}
@@ -82,6 +82,8 @@ export interface StageContext {
82
82
  /** HEADs URLs through the CDN with `Accept-Encoding: gzip`: the headers a client is served (replaced in tests; the upload stage defaults to a parallel HEAD). */
83
83
  headCdn?: (urls: string[]) => Promise<HeadRow[]>;
84
84
  log: (line: string) => void;
85
+ /** A person's reason for publishing a root whose road-budget audit fails (`--allow-over-budget`); recorded in the receipt. */
86
+ allowOverBudget?: string;
85
87
  /** Parallel child processes for sharded prototype builds. */
86
88
  jobs: number;
87
89
  }
@@ -424,10 +424,12 @@ function worldDataStage() {
424
424
  function validateStage() {
425
425
  return {
426
426
  id: 'validate', title: 'Perf-gate the final roots (P01-P14), desktop and phone', optimizations: ['perf.gate-both-tiers'],
427
- signature: (ctx) => ({ tiers: ctx.config.tiers, roadBudget: 1 }),
427
+ signature: (ctx) => ({ tiers: ctx.config.tiers, roadBudget: 2, allowOverBudget: ctx.allowOverBudget ?? null }),
428
428
  outputs: (ctx) => ctx.config.tiers.map((t) => (0, node_path_1.join)(ctx.paths.out, `validate-${t}.txt`)),
429
429
  async run(ctx) {
430
430
  const commands = [];
431
+ const facts = {};
432
+ const refused = [];
431
433
  for (const tier of ctx.config.tiers) {
432
434
  const args = ['scene', 'validate', '--perf', '--tier', tier, (0, node_path_1.join)(ctx.paths.publishScene, ctx.paths.finalRoot(tier))];
433
435
  const result = await ctx.exec(args, { id: `validate.${tier}`, memMiB: 8192 });
@@ -439,12 +441,25 @@ function validateStage() {
439
441
  const root = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(ctx.paths.publishScene, ctx.paths.finalRoot(tier), 'scene.helix-scene.json'), 'utf8'));
440
442
  const audit = (0, roadBudget_1.auditRoadBudget)(root, tier === 'mobile' ? 'phone' : 'desktop', root.capabilities.required.some((c) => c.startsWith('helix.scene-hlod/')));
441
443
  (0, node_fs_1.writeFileSync)((0, node_path_1.join)(ctx.paths.out, `validate-${tier}-road-budget.json`), JSON.stringify(audit, null, 2));
442
- // Desktop refuses to start over its budget (the shared HLOD appearance is reserved on top); a phone is billed over its 192 MiB by the engine's forced
443
- // admission (the replaced build already sat at 197 near its roads), so a phone overshoot is recorded for the report, not refused.
444
- if (!audit.ok && tier === 'desktop')
445
- throw new Error(`${ctx.paths.finalRoot(tier)} exceeds its ${audit.budgetMiB} MiB scene budget near the roads: worst ${audit.worstMiB.toFixed(1)} MiB at ${audit.worstAt.map(Math.round).join(',')} (eager ${audit.eagerMiB}, HLOD ${audit.hlodMiB}, road groups ${audit.worstRoadMiB})`);
444
+ // Both tiers are a gate. Desktop refuses to start over its budget (the shared HLOD appearance is reserved on top); a phone is billed over its
445
+ // 192 MiB by the engine's forced admission and holds that memory. An override needs a reason and is recorded.
446
+ let verdict;
447
+ try {
448
+ verdict = (0, roadBudget_1.enforceRoadBudget)(audit, ctx.paths.finalRoot(tier), ctx.allowOverBudget);
449
+ }
450
+ catch (error) {
451
+ refused.push(error instanceof Error ? error.message : String(error));
452
+ continue;
453
+ }
454
+ if (verdict.overridden) {
455
+ facts[`${tier}OverBudgetMiB`] = verdict.overByMiB;
456
+ facts[`${tier}OverBudgetAllowed`] = verdict.overridden;
457
+ ctx.log(`validate: ${ctx.paths.finalRoot(tier)} is ${verdict.overByMiB} MiB over its budget; published anyway: ${verdict.overridden}`);
458
+ }
446
459
  }
447
- return { commands };
460
+ if (refused.length)
461
+ throw new Error(`${refused.join('\n')}\nNothing is published. Shrink what is resident (the building mounts, the road groups) or, to accept the overshoot knowingly, rerun with --allow-over-budget "<reason>".`);
462
+ return { commands, ...(Object.keys(facts).length ? { facts } : {}) };
448
463
  },
449
464
  };
450
465
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stages.js","sourceRoot":"","sources":["../../../src/city/convert/stages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stages.js","sourceRoot":"","sources":["../../../src/city/convert/stages.ts"],"names":[],"mappings":";AAAA,6HAA6H;AAC7H,gIAAgI;AAChI,oCAAoC;;;AAiDpC,oCAQC;AA0DD,8BAGC;AAuFD,sCAeC;AA0JD,8BAGC;AAgKD,4CAmBC;AAqBD,kCAUC;AAzkBD,iDAA4D;AAC5D,6CAAmF;AACnF,qCAAoI;AACpI,yCAAiC;AACjC,6CAAyC;AACzC,qEAAsE;AAEtE,yCAAqD;AACrD,iEAA6D;AAC7D,2CAA+C;AAC/C,2CAA0D;AAC1D,uDAA0D;AAC1D,sCAA2C;AAC3C,qDAA2D;AAC3D,2DAAqF;AACrF,uCAAoD;AACpD,mDAA6D;AAC7D,6CAAiH;AA8BjH,SAAgB,YAAY,CAAC,MAAc,EAAE,GAAW,EAAE,IAAY;IACpE,MAAM,IAAI,GAAG,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAA,gBAAI,EAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAA,gBAAI,EAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,IAAA,gBAAI,EAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACjJ,MAAM,QAAQ,GAAG,CAAC,CAAc,EAAU,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxF,OAAO;QACL,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,IAAA,gBAAI,EAAC,GAAG,EAAE,aAAa,CAAC,EAAE,UAAU,EAAE,IAAA,gBAAI,EAAC,GAAG,EAAE,aAAa,CAAC,EAAE,UAAU,EAAE,IAAA,gBAAI,EAAC,GAAG,EAAE,aAAa,CAAC,EAAE,KAAK,EAAE,IAAA,gBAAI,EAAC,GAAG,EAAE,YAAY,CAAC,EAAE,KAAK,EAAE,IAAA,gBAAI,EAAC,GAAG,EAAE,YAAY,CAAC;QAC7L,QAAQ,EAAE,IAAA,gBAAI,EAAC,GAAG,EAAE,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAA,gBAAI,EAAC,GAAG,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,IAAA,gBAAI,EAAC,GAAG,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,IAAA,gBAAI,EAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,IAAA,gBAAI,EAAC,GAAG,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,IAAA,gBAAI,EAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC;QAC1M,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK;KACtD,CAAC;AACJ,CAAC;AAwDD,MAAM,QAAQ,GAAG,CAAI,IAAY,EAAK,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAM,CAAC;AAErF,SAAgB,SAAS,CAAC,KAAmB;IAC3C,IAAI,CAAC,IAAA,oBAAU,EAAC,KAAK,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,GAAG,iCAAiC,CAAC,CAAC;IACnH,OAAO,QAAQ,CAAQ,KAAK,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,IAAI,CAAC,GAAiB,EAAE,EAAU,EAAE,IAAc,EAAE,MAAe;IAChF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3E,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACpH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,SAAS,GAAG,KAAK,CAAC;AAExB,SAAS,WAAW;IAClB,OAAO;QACL,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,wCAAwC,EAAE,aAAa,EAAE,CAAC,wBAAwB,EAAE,sBAAsB,EAAE,6BAA6B,CAAC;QAC/J,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,YAAY,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7I,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAClE,KAAK,CAAC,GAAG,CAAC,GAAG;YACX,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,YAAY,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ;gBACrK,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3E,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YAC1D,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,iBAAiB,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACxG,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC;QACrE,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,UAAU;IACjB,OAAO;QACL,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,kDAAkD,EAAE,aAAa,EAAE,EAAE;QACzF,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACpG,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;QACnC,KAAK,CAAC,GAAG,CAAC,GAAG;YACX,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAc,EAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;YACzC,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,MAAM,CAAC;YAC/F,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;YAC1E,MAAM,UAAU,GAAG,IAAA,oBAAU,EAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE,cAAc,GAAG,IAAA,oBAAU,EAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;YACxI,6HAA6H;YAC7H,IAAI,UAAU,KAAK,cAAc,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,UAAU,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,+BAA+B,4GAA4G,CAAC,CAAC;YAC7S,MAAM,eAAe,GAAG,UAAU,IAAI,cAAc,CAAC;YACrD,IAAI,QAAQ,GAAsB,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/F,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM;gBAAE,QAAQ,GAAG,eAAe,IAAI,eAAe,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC/J,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,eAAe,IAAI,eAAe,GAAG,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,4GAA4G,CAAC,CAAC;YACvN,MAAM,aAAa,GAAG,IAAA,oBAAU,EAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,iCAAiC,CAAC,CAAC,IAAI,IAAA,oBAAU,EAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;YAC3K,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,aAAa;gBAAE,MAAM,IAAI,KAAK,CAAC,6JAA6J,CAAC,CAAC;YACnO,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,WAAW,IAAI,aAAa,CAAC;YACrE,MAAM,KAAK,GAAU,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YAC9O,IAAA,uBAAa,EAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACtE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAA2C,EAAE,CAAC;QACnH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,UAAU;IACjB,OAAO;QACL,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,8BAA8B,EAAE,aAAa,EAAE,CAAC,oBAAoB,CAAC;QACzF,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;QACzD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;QACnC,KAAK,CAAC,GAAG,CAAC,GAAG;YACX,IAAI,KAA8B,CAAC;YACnC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACrB,KAAK,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;YAClK,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAc,EAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC1D,MAAM,MAAM,GAAG,IAAA,4BAAgB,EAAC,MAAM,CAAC,CAAC;gBACxC,IAAI,CAAC,MAAM;oBAAE,MAAM,IAAI,KAAK,CAAC,sGAAsG,CAAC,CAAC;gBACrI,KAAK,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;YACxB,CAAC;YACD,IAAA,uBAAa,EAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACtE,GAAG,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,QAAQ,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAC/E,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC7E,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,eAAe;IACtB,OAAO;QACL,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,kCAAkC,EAAE,aAAa,EAAE,CAAC,iCAAiC,CAAC;QAChH,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAClE,KAAK,CAAC,GAAG,CAAC,GAAG;YACX,MAAM,MAAM,GAAG,MAAM,IAAA,uCAAqB,EAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACvF,GAAG,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,gBAAgB,YAAY,CAAC,CAAC;YACrE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC;QACzE,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAAC,MAAqB,EAAE,KAAY,EAAE,KAAiE,EAAE,UAAkB,EAAE,UAAmB;IAC3K,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC;IACvC,OAAO;QACL,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE;QACnG,EAAE,EAAE,SAAS,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK;QAC/G,2IAA2I;QAC3I,4HAA4H;QAC5H,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa;QACvD,sHAAsH;QACtH,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE;QAClF,OAAO,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE;QACzK,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE;QACrG,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE;QAC/J,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,yBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrG,CAAC;AACJ,CAAC;AAED;;;GAGG;AACU,QAAA,wBAAwB,GAAG,OAAO,CAAC;AAChD,mJAAmJ;AACtI,QAAA,uBAAuB,GAAG,GAAG,CAAC;AAC3C,+IAA+I;AAClI,QAAA,qBAAqB,GAAG,IAAI,CAAC;AAC1C,6QAA6Q;AAChQ,QAAA,iBAAiB,GAAG,GAAG,CAAC;AACrC,uKAAuK;AAC1J,QAAA,4BAA4B,GAAG,MAAM,CAAC;AAEnD,SAAS,eAAe;IACtB,OAAO;QACL,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,qHAAqH,EAAE,aAAa,EAAE,CAAC,iBAAiB,CAAC;QACnL,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,gCAAwB,EAAE,SAAS,EAAE,+BAAuB,EAAE,OAAO,EAAE,6BAAqB,EAAE,QAAQ,EAAE,oCAA4B,EAAE,CAAC;QAC7K,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAC1E,KAAK,CAAC,GAAG,CAAC,GAAG;YACX,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,sBAAsB,EAAE,MAAM,CAAC,gCAAwB,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,+BAAuB,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,6BAAqB,CAAC,EAAE,0BAA0B,EAAE,MAAM,CAAC,oCAA4B,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YACrV,OAAO,EAAE,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC;QACxH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,UAAU,GAAG,KAAK;IACxC,OAAO;QACL,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,+DAA+D;QACvF,aAAa,EAAE,CAAC,+BAA+B,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,8BAA8B,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,0BAA0B,CAAC,CAAC,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;QAC1Y,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,+BAAqB,EAAE,SAAS,EAAE,yBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACjU,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;QAClE,KAAK,CAAC,GAAG,CAAC,GAAG;YACX,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,QAAQ,CAA2D,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAClG,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC;YACvF,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACjI,IAAA,uBAAa,EAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACxE,uHAAuH;YACvH,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC7I,OAAO,EAAE,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;QACpI,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,IAAY,EAAY,EAAE,CAAC,IAAA,qBAAW,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gBAAI,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAEnJ,SAAS,UAAU,CAAC,IAAiB;IACnC,MAAM,OAAO,GAAG,wBAAa,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,IAAA,0BAAW,EAAC,IAAI,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IACjD,MAAM,UAAU,GAAa;QAC3B,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,SAAS,IAAI,sBAAsB,EAAE,aAAa,EAAE,CAAC,8BAA8B,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,gCAAgC,EAAE,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1R,mJAAmJ;QACnJ,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;YACjB,MAAM,OAAO,GAAG,IAAA,mCAAkB,EAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACrD,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,IAAA,oBAAU,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;QACpN,CAAC;QACD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;QACnF,KAAK,CAAC,GAAG,CAAC,GAAG;YACX,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YACvC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;YAC3C,MAAM,QAAQ,GAAe,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,CAAC,CAAS,EAAY,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;YACjN,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;gBAC9E,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;oBAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACrB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC3F,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;wBAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1F,CAAC;YACH,CAAC,CAAC,CAAC,CAAC;YACJ,IAAI,QAAQ,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzF,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7G,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;QACzC,CAAC;KACF,CAAC;IACF,MAAM,KAAK,GAAa;QACtB,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,IAAI,mCAAmC,EAAE,aAAa,EAAE,CAAC,qBAAqB,CAAC;QAC9G,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,eAAe,GAAG,IAAI,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;QACjI,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAA,oBAAU,EAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC;QACrK,KAAK,CAAC,GAAG,CAAC,GAAG;YACX,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YACvC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnC,uIAAuI;YACvI,mIAAmI;YACnI,qIAAqI;YACrI,gFAAgF;YAChF,MAAM,KAAK,GAAG,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,KAAK,GAAG,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC7G,IAAI,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC;YAC7B,MAAM,OAAO,GAAG,GAAa,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACrI,MAAM,QAAQ,GAAe,EAAE,CAAC;YAChC,oHAAoH;YACpH,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC;gBAAE,IAAA,gBAAM,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACpE,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,GAAG,CAAC,MAAM,CAAC,IAAI,YAAY,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,YAAY,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;gBAC1M,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBACvH,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oBACtB,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5C,IAAI,KAAK,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;4BAAC,KAAK,IAAI,CAAC,CAAC;4BAAC,SAAS;wBAAC,CAAC;wBAClD,oIAAoI;wBACpI,qHAAqH;wBACrH,IAAI,KAAK,GAAG,KAAK,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;4BAAC,KAAK,IAAI,CAAC,CAAC;4BAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC;4BAAC,SAAS;wBAAC,CAAC;oBAChH,CAAC;oBACD,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/F,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvH,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,IAAI,EAAE;oBAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBAC9I,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;QACH,CAAC;KACF,CAAC;IACF,MAAM,IAAI,GAAa;QACrB,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,YAAY,IAAI,0BAA0B,EAAE,aAAa,EAAE,CAAC,oBAAoB,CAAC;QACxG,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5C,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACpE,KAAK,CAAC,GAAG,CAAC,GAAG;YACX,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YACvC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;YAC5E,uIAAuI;YACvI,MAAM,QAAQ,GAAe,EAAE,CAAC;YAChC,IAAI,IAAI,GAAG,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,SAAS,CAAC;YACpC,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBACnH,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;oBAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACjF,IAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,GAAG;oBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnK,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;KACF,CAAC;IACF,MAAM,OAAO,GAAa;QACxB,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,eAAe,IAAI,aAAa,EAAE,aAAa,EAAE,CAAC,oBAAoB,CAAC;QACjG,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QAClF,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,wBAAwB,CAAC,CAAC;QACxG,KAAK,CAAC,GAAG,CAAC,GAAG;YACX,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI;gBAC5K,MAAM,EAAE,SAAS,GAAG,CAAC,MAAM,CAAC,IAAI,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzE,OAAO,EAAE,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;QACzE,CAAC;KACF,CAAC;IACF,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,+FAA+F;AAC/F,SAAgB,SAAS,CAAC,IAAY,EAAE,EAAU;IAChD,IAAA,mBAAS,EAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnC,IAAA,gBAAM,EAAC,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,WAAW;IAClB,OAAO;QACL,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,+BAA+B,EAAE,aAAa,EAAE,EAAE;QACvE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACjD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC;QACzH,KAAK,CAAC,GAAG,CAAC,GAAG;YACX,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnC,IAAA,gBAAM,EAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,IAAA,mBAAS,EAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM;gBAAE,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK;oBAAE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/H,6HAA6H;;gBACxH,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK;oBAAE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7D,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,UAAU,GAAG,KAAK;IACxC,OAAO;QACL,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,yEAAyE,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,EAAE,0BAA0B,CAAC;QAC5M,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC;QAClG,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC;QAC7H,KAAK,CAAC,GAAG,CAAC,GAAG;YACX,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAe,EAAE,CAAC;YAChC,IAAA,gBAAM,EAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,IAAA,mBAAS,EAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACtC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACxC,MAAM,GAAG,GAAG,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC;gBACrD,IAAA,gBAAM,EAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC9C,MAAM,KAAK,GAAG,CAAC,MAAe,EAAY,EAAE,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ;oBACjK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;oBACzF,gHAAgH;oBAChH,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtD,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC9C,IAAI,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,aAAa,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBAClF,mJAAmJ;gBACnJ,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7F,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpB,IAAA,gBAAM,EAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC9C,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;oBACpB,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBACtF,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpH,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpB,+GAA+G;gBAC/G,SAAS,CAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;gBAChF,SAAS,CAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACtD,IAAA,gBAAM,EAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC;YACD,4GAA4G;YAC5G,KAAK,MAAM,KAAK,IAAI,IAAA,qBAAW,EAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrD,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;oBAAE,SAAS;gBAC5E,SAAS,CAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;YACnF,CAAC;YACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/D,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO;QACL,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,qFAAqF;QAClH,aAAa,EAAE,CAAC,8BAA8B,CAAC;QAC/C,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACjD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC;QAC7H,KAAK,CAAC,GAAG,CAAC,GAAG;YACX,MAAM,MAAM,GAAG,IAAA,0CAA0B,EAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAClE,oJAAoJ;YACpJ,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAE,GAAG,CAAC,GAAG,CAAC,mBAAmB,IAAI,oDAAoD,CAAC,CAAC;YACvI,GAAG,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,wCAAwC,CAAC,CAAC;YACzG,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QACjH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc;IACrB,OAAO;QACL,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,iFAAiF;QAC1G,aAAa,EAAE,CAAC,sBAAsB,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,sBAAsB,CAAC;QACjH,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;QAC7G,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACzI,KAAK,CAAC,GAAG,CAAC,GAAG;YACX,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAc,EAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,IAAA,iCAAkB,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpD,MAAM,OAAO,GAA2B,EAAE,CAAC;YAC3C,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACvC,MAAM,KAAK,GAAG,IAAA,8BAAkB,EAAC,MAAM,EAAE,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC/F,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ;oBAAE,GAAG,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;gBACnE,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;gBACnF,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,GAAG,IAAA,oCAAqB,EAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YACvF,CAAC;YACD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClG,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/F,IAAA,uBAAa,EAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,OAAO,IAAI,MAAM,EAAE,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1M,0LAA0L;YAC1L,MAAM,MAAM,GAAG,IAAA,wBAAY,EAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YAC7D,IAAA,uBAAa,EAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAA,yBAAa,EAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACjH,IAAA,uBAAa,EAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,IAAI,EAAE,4GAA4G,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACjP,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1E,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAC5C,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa;IACpB,OAAO;QACL,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,wDAAwD,EAAE,aAAa,EAAE,CAAC,sBAAsB,CAAC;QACxH,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC;QAC9G,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;QACvF,KAAK,CAAC,GAAG,CAAC,GAAG;YACX,MAAM,QAAQ,GAAe,EAAE,CAAC;YAChC,MAAM,KAAK,GAA4B,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACtH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,YAAY,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC9E,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpB,IAAA,uBAAa,EAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,IAAI,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBACxE,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,YAAY,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1J,qJAAqJ;gBACrJ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,wBAAwB,CAAC,EAAE,MAAM,CAAC,CAA0D,CAAC;gBAC1L,MAAM,KAAK,GAAG,IAAA,4BAAe,EAAC,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;gBACxJ,IAAA,uBAAa,EAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,IAAI,mBAAmB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxG,8IAA8I;gBAC9I,8GAA8G;gBAC9G,IAAI,OAA6C,CAAC;gBAClD,IAAI,CAAC;oBAAC,OAAO,GAAG,IAAA,8BAAiB,EAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;gBAAC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAC7L,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;oBAAC,KAAK,CAAC,GAAG,IAAI,eAAe,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;oBAAC,KAAK,CAAC,GAAG,IAAI,mBAAmB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;oBAAC,GAAG,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,SAAS,2CAA2C,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;gBAAC,CAAC;YAChR,CAAC;YACD,IAAI,OAAO,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,0KAA0K,CAAC,CAAC;YACrO,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACvE,CAAC;KACF,CAAC;AACJ,CAAC;AAqBD,SAAgB,gBAAgB,CAAC,MAAqB,EAAE,KAAmB,EAAE,SAAiI,EAAE;IAC9M,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1F,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvF,OAAO;QACL,MAAM,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK;QAC3E,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,GAAG,MAAM,CAAC,KAAK,yGAAyG;QAC3J,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU;QACrC,MAAM,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAC1E,IAAI,EAAE,KAAK,CAAC,OAAO;QACnB,MAAM,EAAE,kBAAkB,KAAK,CAAC,YAAY,qJAAqJ;QACjM,KAAK,EAAE,iJAAiJ,MAAM,CAAC,IAAI,aAAa,MAAM,CAAC,KAAK,aAAa,OAAO,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC,0BAA0B,MAAM,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY;QAC9b,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,kBAAkB,IAAA,gBAAI,EAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,gMAAgM;kBACvP,kBAAkB,IAAA,gBAAI,EAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,mJAAmJ;SACtM,CAAC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,GAAG,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,4BAA4B,EAAE,MAAM,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtH,CAAC;AACJ,CAAC;AAED,SAAS,WAAW;IAClB,OAAO;QACL,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,wBAAwB,EAAE,aAAa,EAAE,CAAC,gBAAgB,CAAC;QAChF,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;QAClG,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC3D,KAAK,CAAC,GAAG,CAAC,GAAG;YACX,MAAM,KAAK,GAAG,IAAA,oCAAuB,EAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAA,8BAAiB,EAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG;gBACb,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9G,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,EAAE,GAAG,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,4BAA4B,EAAE,QAAQ,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClM,CAAC;YACF,IAAA,uBAAa,EAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACxI,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC;QAC7F,CAAC;KACF,CAAC;AACJ,CAAC;AAED,wGAAwG;AACxG,SAAgB,WAAW,CAAC,MAAqB,EAAE,QAAuC,EAAE,UAAU,GAAG,KAAK;IAC5G,MAAM,MAAM,GAAe,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,QAAQ,KAAK,QAAQ,CAAC;IACnC,IAAI,IAAI;QAAE,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACzC,IAAI,UAAU;QAAE,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IACxC,IAAI,IAAI;QAAE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,cAAc,CAAC,UAAU,CAAC,EAAE,kBAAkB,EAAE,EAAE,cAAc,EAAE,EAAE,aAAa,EAAE,EAAE,IAAA,8BAAiB,GAAE,EAAE,IAAA,+BAAkB,GAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC1K,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,IAAA,qBAAW,GAAE,EAAE,IAAA,oBAAU,GAAE,CAAC,CAAC;IACpE,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -13,6 +13,9 @@ const source_1 = require("../../source");
13
13
  const poly_1 = require("./poly");
14
14
  const tables_1 = require("./tables");
15
15
  const MIN_AREA_M2 = 0.5;
16
+ /** A traced hole smaller than this encloses no area the source validator accepts (its floor is 0.01 m²); it is a rasterisation sliver, not a pond. */
17
+ const MIN_HOLE_M2 = 0.05;
18
+ const ringAreaAbs = (ring) => Math.abs(ring.reduce((s, p, i) => s + (p[0] * ring[(i + 1) % ring.length][1] - ring[(i + 1) % ring.length][0] * p[1]), 0) / 2);
16
19
  const SIMPLIFY_M = 0.15;
17
20
  /** Split a closed vertex loop wherever a vertex repeats, so each piece visits every vertex at most once. */
18
21
  function splitAtPinches(loop) {
@@ -303,7 +306,7 @@ function cleanPolygon(polygon) {
303
306
  let tracedHoles = [];
304
307
  for (const tolerance of [SIMPLIFY_M, SIMPLIFY_M / 3, 0]) {
305
308
  const ring = (0, poly_1.cleanRing)(round((0, poly_1.cleanRing)((0, poly_1.simplifyClosed)(polygon.ring, tolerance))));
306
- const holes = polygon.holes.map((h) => (0, poly_1.cleanRing)(round((0, poly_1.cleanRing)((0, poly_1.simplifyClosed)(h, tolerance))))).filter((h) => h.length >= 3);
309
+ const holes = polygon.holes.map((h) => (0, poly_1.cleanRing)(round((0, poly_1.cleanRing)((0, poly_1.simplifyClosed)(h, tolerance))))).filter((h) => h.length >= 3 && ringAreaAbs(h) >= MIN_HOLE_M2);
307
310
  if (ring.length < 3)
308
311
  continue;
309
312
  if ((0, poly_1.polygonIsClean)({ ring, holes }))