@plurnk/plurnk-service 1.3.2 → 1.3.3

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 (101) hide show
  1. package/README.md +9 -0
  2. package/SPEC.md +49 -17
  3. package/dist/build-info.json +1 -1
  4. package/dist/core/ChannelWrite.d.ts +2 -1
  5. package/dist/core/ChannelWrite.d.ts.map +1 -1
  6. package/dist/core/ChannelWrite.js +7 -6
  7. package/dist/core/ChannelWrite.js.map +1 -1
  8. package/dist/core/CoreSchemeServices.d.ts +31 -0
  9. package/dist/core/CoreSchemeServices.d.ts.map +1 -0
  10. package/dist/core/CoreSchemeServices.js +37 -0
  11. package/dist/core/CoreSchemeServices.js.map +1 -0
  12. package/dist/core/Dispatcher.d.ts +5 -2
  13. package/dist/core/Dispatcher.d.ts.map +1 -1
  14. package/dist/core/Dispatcher.js +115 -44
  15. package/dist/core/Dispatcher.js.map +1 -1
  16. package/dist/core/Engine.d.ts +4 -2
  17. package/dist/core/Engine.d.ts.map +1 -1
  18. package/dist/core/Engine.js +29 -10
  19. package/dist/core/Engine.js.map +1 -1
  20. package/dist/core/Engine.sql +1 -40
  21. package/dist/core/LiveSubscriptions.d.ts +8 -0
  22. package/dist/core/LiveSubscriptions.d.ts.map +1 -0
  23. package/dist/core/LiveSubscriptions.js +32 -0
  24. package/dist/core/LiveSubscriptions.js.map +1 -0
  25. package/dist/core/LoopLifecycle.d.ts +20 -0
  26. package/dist/core/LoopLifecycle.d.ts.map +1 -0
  27. package/dist/core/LoopLifecycle.js +56 -0
  28. package/dist/core/LoopLifecycle.js.map +1 -0
  29. package/dist/core/LoopLifecycle.sql +60 -0
  30. package/dist/core/ProposalLifecycle.d.ts +3 -1
  31. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  32. package/dist/core/ProposalLifecycle.js +4 -2
  33. package/dist/core/ProposalLifecycle.js.map +1 -1
  34. package/dist/core/SchemeRegistry.d.ts +3 -0
  35. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  36. package/dist/core/SchemeRegistry.js +23 -0
  37. package/dist/core/SchemeRegistry.js.map +1 -1
  38. package/dist/core/caps/DbSubscriptionCaps.d.ts +3 -2
  39. package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
  40. package/dist/core/caps/DbSubscriptionCaps.js +20 -9
  41. package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
  42. package/dist/core/caps/SchemeCtxImpl.d.ts +3 -16
  43. package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
  44. package/dist/core/caps/SchemeCtxImpl.js +4 -23
  45. package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
  46. package/dist/core/run-ops.sql +1 -1
  47. package/dist/core/scheme-types.d.ts.map +1 -1
  48. package/dist/core/scheme-types.js +3 -4
  49. package/dist/core/scheme-types.js.map +1 -1
  50. package/dist/schemes/Exec.d.ts +11 -10
  51. package/dist/schemes/Exec.d.ts.map +1 -1
  52. package/dist/schemes/Exec.js +40 -37
  53. package/dist/schemes/Exec.js.map +1 -1
  54. package/dist/schemes/ExecOutputScheme.d.ts +8 -6
  55. package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
  56. package/dist/schemes/ExecOutputScheme.js +11 -6
  57. package/dist/schemes/ExecOutputScheme.js.map +1 -1
  58. package/dist/schemes/File.d.ts +11 -9
  59. package/dist/schemes/File.d.ts.map +1 -1
  60. package/dist/schemes/File.js +24 -16
  61. package/dist/schemes/File.js.map +1 -1
  62. package/dist/schemes/Log.d.ts +9 -7
  63. package/dist/schemes/Log.d.ts.map +1 -1
  64. package/dist/schemes/Log.js +12 -8
  65. package/dist/schemes/Log.js.map +1 -1
  66. package/dist/schemes/Prompt.d.ts +0 -3
  67. package/dist/schemes/Prompt.d.ts.map +1 -1
  68. package/dist/schemes/Prompt.js +0 -5
  69. package/dist/schemes/Prompt.js.map +1 -1
  70. package/dist/schemes/Skill.d.ts +0 -5
  71. package/dist/schemes/Skill.d.ts.map +1 -1
  72. package/dist/schemes/Skill.js +0 -10
  73. package/dist/schemes/Skill.js.map +1 -1
  74. package/dist/schemes/Worker.d.ts +12 -10
  75. package/dist/schemes/Worker.d.ts.map +1 -1
  76. package/dist/schemes/Worker.js +30 -28
  77. package/dist/schemes/Worker.js.map +1 -1
  78. package/dist/server/Daemon.d.ts +9 -1
  79. package/dist/server/Daemon.d.ts.map +1 -1
  80. package/dist/server/Daemon.js +161 -74
  81. package/dist/server/Daemon.js.map +1 -1
  82. package/dist/server/DaemonLock.d.ts +7 -0
  83. package/dist/server/DaemonLock.d.ts.map +1 -0
  84. package/dist/server/DaemonLock.js +85 -0
  85. package/dist/server/DaemonLock.js.map +1 -0
  86. package/dist/server/clientTurn.d.ts.map +1 -1
  87. package/dist/server/clientTurn.js +2 -3
  88. package/dist/server/clientTurn.js.map +1 -1
  89. package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
  90. package/dist/server/dispatch-as-plurnk.js +20 -2
  91. package/dist/server/dispatch-as-plurnk.js.map +1 -1
  92. package/dist/server/drain.sql +4 -8
  93. package/dist/server/envelope.d.ts.map +1 -1
  94. package/dist/server/envelope.js +2 -3
  95. package/dist/server/envelope.js.map +1 -1
  96. package/dist/server/lifecycle-recovery.sql +68 -0
  97. package/dist/service.d.ts.map +1 -1
  98. package/dist/service.js +61 -40
  99. package/dist/service.js.map +1 -1
  100. package/migrations/0000-00-00.01_schema.sql +5 -5
  101. package/package.json +16 -15
@@ -17,6 +17,7 @@ import ClientTurn from "./clientTurn.js";
17
17
  import LoopDocs from "./loopDocs.js";
18
18
  import GitMembership from "../core/git-membership.js";
19
19
  import Fork from "../core/fork.js";
20
+ import LoopLifecycle from "../core/LoopLifecycle.js";
20
21
  import { promptLoopPrefix } from "../core/plurnk-uri.js";
21
22
  import { rulerCount } from "../core/token-ruler.js";
22
23
  import { parseAliasesFromEnv, resolveActiveAlias } from "@plurnk/plurnk-providers";
@@ -28,6 +29,7 @@ import { DEFAULT_LOOP_FLAGS } from "../core/scheme-types.js";
28
29
  export default class Daemon {
29
30
  #db;
30
31
  #engine;
32
+ #lifecycle;
31
33
  #schemes;
32
34
  #mimetypes;
33
35
  #provider;
@@ -69,6 +71,7 @@ export default class Daemon {
69
71
  #owedWakes = new Set();
70
72
  constructor({ db, schemes, mimetypes, provider, nodeModulesPath, }) {
71
73
  this.#db = db;
74
+ this.#lifecycle = new LoopLifecycle(db);
72
75
  this.#schemes = schemes ?? new SchemeRegistry();
73
76
  this.#provider = provider ?? null;
74
77
  // Plugin discovery resolves from the SERVICE's node_modules (its exec/scheme/mimetype
@@ -111,10 +114,10 @@ export default class Daemon {
111
114
  const { action, loopId } = await this.inject({ workspaceId, workerId, prompt, providerSpec, systemPrompt, ...(flags === undefined ? {} : { flags }) });
112
115
  return { action, loopId };
113
116
  },
114
- // worker:// KILL (terminate) — abort any worker's in-flight work by id. One
115
- // abort, one scope (Daemon.cancelDrain): the active loop closes 499,
116
- // background streams tear down. Whoever holds the address may end it.
117
- cancelWorker: (workerId) => this.cancelDrain(workerId, "killed via worker:// KILL"),
117
+ // worker:// KILL (terminate) — cancel the addressed worker subtree and
118
+ // tear down its held streams before the operation completes.
119
+ cancelWorker: async (workerId, reason) => this.#cancelWorkerTree(workerId, reason),
120
+ cancelDescendants: async (workerId, reason) => this.#cancelTree(workerId, reason, false),
118
121
  telemetryEventNotify: (workspaceId, payload) => this.notifyTelemetryEvent(workspaceId, payload),
119
122
  });
120
123
  // Wire proposal-pending events to the loop/proposal WS notification.
@@ -259,10 +262,44 @@ export default class Daemon {
259
262
  async dispatchAsClient(args) {
260
263
  const { workspaceId, workerId, statement } = args;
261
264
  const clientLoopId = await Envelope.ensureClientLoop(this.#db, workerId);
262
- const turnId = await ClientTurn.insertClientTurn(this.#db, clientLoopId);
265
+ try {
266
+ const result = await this.#dispatchClientStatement({ workspaceId, workerId, loopId: clientLoopId, statement });
267
+ await Envelope.closeClientLoop(this.#db, clientLoopId, 200);
268
+ return result;
269
+ }
270
+ catch (error) {
271
+ await Envelope.closeClientLoop(this.#db, clientLoopId, 499);
272
+ throw error;
273
+ }
274
+ }
275
+ // The client-interface action contract: one AG-UI action owns one journal segment,
276
+ // regardless of how many statements op.parse produced. A proposed statement may
277
+ // keep this promise (and segment) open across interrupt/resume; settlement closes
278
+ // it. The journal is durable evidence for the action, not a second client lifecycle.
279
+ async dispatchClientAction(args) {
280
+ const { workspaceId, workerId, statements } = args;
281
+ if (statements.length === 0)
282
+ return [];
283
+ const clientLoopId = await Envelope.ensureClientLoop(this.#db, workerId);
284
+ try {
285
+ const results = [];
286
+ for (const statement of statements) {
287
+ results.push(await this.#dispatchClientStatement({ workspaceId, workerId, loopId: clientLoopId, statement }));
288
+ }
289
+ await Envelope.closeClientLoop(this.#db, clientLoopId, 200);
290
+ return results;
291
+ }
292
+ catch (error) {
293
+ await Envelope.closeClientLoop(this.#db, clientLoopId, 499);
294
+ throw error;
295
+ }
296
+ }
297
+ async #dispatchClientStatement(args) {
298
+ const { workspaceId, workerId, loopId, statement } = args;
299
+ const turnId = await ClientTurn.insertClientTurn(this.#db, loopId);
263
300
  const entryIds = [];
264
301
  const result = await this.#engine.dispatch({
265
- statement, workspaceId, workerId, loopId: clientLoopId, turnId, sequence: 1,
302
+ statement, workspaceId, workerId, loopId, turnId, sequence: 1,
266
303
  origin: "client", onDispatch: (logEntryId) => { entryIds.push(logEntryId); },
267
304
  });
268
305
  for (const logEntryId of entryIds) {
@@ -274,12 +311,21 @@ export default class Daemon {
274
311
  // op.look (#283/#358) — the pure READ-projection query on the seam: resolve a READ through the
275
312
  // full scheme resolver and return its content, writing NO log row — the client's off-run
276
313
  // inspection primitive (the module rewrites LOOK→READ and parses at its edge, exactly like
277
- // dispatchAsClient). Rides the client loop so log:/// coordinates resolve run-relative;
278
- // invisible to the model. Engine.look enforces READ-only.
314
+ // dispatchClientAction). Its closed observation segment supplies the numeric loop coordinate
315
+ // required by plugin context and relative log:/// addresses without impersonating an active
316
+ // client lifecycle. It creates no turn or log row. Engine.look enforces READ-only.
279
317
  async look(args) {
280
318
  const { workspaceId, workerId, statement } = args;
281
319
  const clientLoopId = await Envelope.ensureClientLoop(this.#db, workerId);
282
- return await this.#engine.look({ statement, workspaceId, workerId, loopId: clientLoopId });
320
+ try {
321
+ const result = await this.#engine.look({ statement, workspaceId, workerId, loopId: clientLoopId });
322
+ await Envelope.closeClientLoop(this.#db, clientLoopId, 200);
323
+ return result;
324
+ }
325
+ catch (error) {
326
+ await Envelope.closeClientLoop(this.#db, clientLoopId, 499);
327
+ throw error;
328
+ }
283
329
  }
284
330
  // The log-read hook (#355) — a workspace's journal, the module's primary render input. The worker is
285
331
  // ownership-verified against the workspace (a workspace reads only its own runs — the model worker included,
@@ -512,16 +558,42 @@ export default class Daemon {
512
558
  // (agnostic, by plurnk.kind:"scheme"). They light up http://, etc. with
513
559
  // no further engine change — #run wraps their ctx in SchemeCtxImpl (#195).
514
560
  await this.#schemes.discoverExternal(this.#discoveryCwd);
561
+ await this.#schemes.ready();
515
562
  // Reconcile the kernel-published documentation surface once per existing workspace.
516
563
  // Installed capabilities and operator configuration are now fully known; model loops
517
564
  // consume this workspace state but never republish it.
518
565
  for (const workspace of await Envelope.listWorkspaces(this.#db)) {
519
566
  await LoopDocs.materialize(this.#engine, this.#db, workspace.id);
520
567
  }
568
+ await this.#recoverLifecycle();
521
569
  // #364 — the daemon opens NO transport, ever: plugin modules open theirs via the seam.
522
570
  for (const init of this.#moduleInits)
523
571
  await init(this);
524
572
  }
573
+ async #recoverLifecycle() {
574
+ await this.#db.recovery_fail_active_loops.run({});
575
+ await this.#db.recovery_error_orphan_subscription_channels.run({});
576
+ await this.#db.recovery_fail_orphan_subscriptions.run({});
577
+ await this.#db.recovery_resume_unblocked_parks.run({});
578
+ const systemPrompt = await readFile(Paths.instructionsSystem, "utf8");
579
+ const maxTurns = Number(process.env.PLURNK_SERVICE_MAX_TURNS ?? "50");
580
+ const queued = await this.#db.recovery_queued_workers.all({});
581
+ for (const row of queued) {
582
+ const started = await this.#ensureDrain({
583
+ workspaceId: row.workspace_id,
584
+ workerId: row.worker_id,
585
+ systemPrompt,
586
+ maxTurns,
587
+ });
588
+ started?.drainPromise.catch((err) => {
589
+ console.error(`recovered drain failed for worker ${row.worker_id}:`, err);
590
+ });
591
+ }
592
+ const parked = await this.#db.recovery_parked_workers.all({});
593
+ for (const row of parked) {
594
+ await this.#schedulePollWake(row.workspace_id, row.worker_id, systemPrompt);
595
+ }
596
+ }
525
597
  async stop() {
526
598
  if (!this.#started)
527
599
  return;
@@ -639,7 +711,7 @@ export default class Daemon {
639
711
  await this.#assertFoldPosture(workerId, args.flags, slept.id); // #368 — the resume path drops nothing silently either
640
712
  await this.#assertLoopProvider(slept.id, args.providerSpec);
641
713
  const injected = await this.#engine.inject(workerId, prompt);
642
- await this.#db.drain_resume_slept_loop.run({ loop_id: slept.id });
714
+ await this.#lifecycle.wake(slept.id);
643
715
  const started = await this.#ensureDrain({
644
716
  workspaceId, workerId, systemPrompt: args.systemPrompt,
645
717
  maxTurns: args.maxTurns ?? Number(process.env.PLURNK_SERVICE_MAX_TURNS ?? "50"),
@@ -793,7 +865,7 @@ export default class Daemon {
793
865
  // so a worker-run hibernation always returns. The loop is 202 here; reset to
794
866
  // claimable and the drain re-runs it on the next claim below.
795
867
  if (this.#owedWakes.delete(workerId)) {
796
- await this.#db.drain_resume_slept_loop.run({ loop_id: loopRow.id });
868
+ await this.#lifecycle.wake(loopRow.id);
797
869
  continue;
798
870
  }
799
871
  // The loop is blocked at 202 on a live obligation (§wait-obligation-matrix);
@@ -803,17 +875,19 @@ export default class Daemon {
803
875
  }
804
876
  this.#owedWakes.delete(workerId); // the loop concluded (non-202) — no park to honor a held wake at
805
877
  const usage = await this.#engine.loopUsage(loopRow.id);
878
+ const turnIds = await this.#lifecycle.turnIds(loopRow.id);
806
879
  this.#broadcast({ workspaceId }, "loop/terminated", {
880
+ workerId,
807
881
  loopId: loopRow.id,
808
882
  finalStatus: result.finalStatus,
809
883
  hitMaxTurns: result.hitMaxTurns,
810
- turnIds: result.turnIds,
884
+ turnIds,
811
885
  usage,
812
886
  });
813
887
  loopsDrained++;
814
888
  const loopResult = {
815
889
  loopId: loopRow.id,
816
- turnIds: result.turnIds,
890
+ turnIds,
817
891
  finalStatus: result.finalStatus,
818
892
  hitMaxTurns: result.hitMaxTurns,
819
893
  usage,
@@ -844,10 +918,18 @@ export default class Daemon {
844
918
  // the broadcast carries the same message. The abort reason is the client's
845
919
  // loop.cancel reason (cancelDrain threads it through scope.abort).
846
920
  const message = String(controller.signal.reason ?? "user_cancelled").slice(0, 500);
847
- await this.#db.engine_loop_cancel_external.run({ loop_id: currentLoopId, message });
848
- this.#broadcast({ workspaceId }, "loop/terminated", {
849
- loopId: currentLoopId, finalStatus: 499, hitMaxTurns: false, turnIds: [], usage, message,
850
- });
921
+ const cancelled = await this.#lifecycle.finish(currentLoopId, 499, message, "cancel");
922
+ if (cancelled) {
923
+ this.#broadcast({ workspaceId }, "loop/terminated", {
924
+ workerId,
925
+ loopId: currentLoopId,
926
+ finalStatus: 499,
927
+ hitMaxTurns: false,
928
+ turnIds: await this.#lifecycle.turnIds(currentLoopId),
929
+ usage,
930
+ message,
931
+ });
932
+ }
851
933
  }
852
934
  if (!firstSettled) {
853
935
  firstSettled = true;
@@ -873,10 +955,10 @@ export default class Daemon {
873
955
  // the same message so a backend 400 (context overflow, auth, …) reaches the
874
956
  // client as text, never a contentless 500.
875
957
  const message = (err instanceof Error ? err.message : String(err)).slice(0, 500);
876
- await this.#db.engine_loop_set_status.run({ loop_id: currentLoopId, status: 500, message });
958
+ await this.#lifecycle.finish(currentLoopId, 500, message);
877
959
  const usage = await this.#engine.loopUsage(currentLoopId);
878
960
  this.#broadcast({ workspaceId }, "loop/terminated", {
879
- loopId: currentLoopId, finalStatus: 500, hitMaxTurns: false, turnIds: [], usage, message,
961
+ workerId, loopId: currentLoopId, finalStatus: 500, hitMaxTurns: false, turnIds: [], usage, message,
880
962
  });
881
963
  }
882
964
  if (!firstSettled) {
@@ -901,7 +983,9 @@ export default class Daemon {
901
983
  // Topology join (§run-lifecycle): when this drain exits having CONCLUDED the worker, wake its parent
902
984
  // if parked. Runs after the drain fully tears down (settled promise) so the quiescence check sees
903
985
  // final state; speculative (#onDrainExit no-ops unless the worker concluded AND the parent is parked).
904
- drainPromise.then(() => this.#onDrainExit(workspaceId, workerId, systemPrompt)).catch(() => { });
986
+ void drainPromise.then(() => this.#onDrainExit(workspaceId, workerId, systemPrompt), () => this.#onDrainExit(workspaceId, workerId, systemPrompt)).catch((err) => {
987
+ console.error(`parent wake after worker ${workerId} settlement failed:`, err);
988
+ });
905
989
  // Swallow unhandled rejections (drain aborts with no awaiter); the
906
990
  // error already surfaced via firstLoopPromise or was logged inside.
907
991
  drainPromise.catch(() => { });
@@ -972,6 +1056,45 @@ export default class Daemon {
972
1056
  this.#workerAborts.set(workerId, fresh);
973
1057
  return fresh;
974
1058
  }
1059
+ async #cancelTree(workerId, reason, includeRoot) {
1060
+ const cancelled = await this.#lifecycle.cancelTree(workerId, reason, includeRoot);
1061
+ for (const targetWorkerId of cancelled.workerIds) {
1062
+ const pollTimer = this.#pollTimers.get(targetWorkerId);
1063
+ if (pollTimer !== undefined) {
1064
+ clearTimeout(pollTimer);
1065
+ this.#pollTimers.delete(targetWorkerId);
1066
+ }
1067
+ const parkTimer = this.#parkTimers.get(targetWorkerId);
1068
+ if (parkTimer !== undefined) {
1069
+ clearTimeout(parkTimer);
1070
+ this.#parkTimers.delete(targetWorkerId);
1071
+ }
1072
+ this.#pollBackoff.delete(targetWorkerId);
1073
+ this.#owedWakes.delete(targetWorkerId);
1074
+ const scope = this.#workerAborts.get(targetWorkerId);
1075
+ if (scope !== undefined && !scope.signal.aborted)
1076
+ scope.abort(reason);
1077
+ }
1078
+ await Promise.all(cancelled.workerIds.map(async (targetWorkerId) => this.#reapWorkerStreams(targetWorkerId)));
1079
+ for (const { loopId, workerId: targetWorkerId } of cancelled.loops) {
1080
+ const row = await this.#db.drain_get_worker_workspace.get({ worker_id: targetWorkerId });
1081
+ if (row === undefined)
1082
+ continue;
1083
+ const usage = await this.#engine.loopUsage(loopId);
1084
+ this.#broadcast({ workspaceId: row.workspace_id }, "loop/terminated", {
1085
+ workerId: targetWorkerId,
1086
+ loopId,
1087
+ finalStatus: 499,
1088
+ hitMaxTurns: false,
1089
+ turnIds: await this.#lifecycle.turnIds(loopId),
1090
+ usage,
1091
+ message: reason.slice(0, 500),
1092
+ });
1093
+ }
1094
+ }
1095
+ async #cancelWorkerTree(workerId, reason) {
1096
+ await this.#cancelTree(workerId, reason, true);
1097
+ }
975
1098
  /**
976
1099
  * Cancel the worker's in-flight work (loop.cancel). One abort, one scope: the
977
1100
  * run signal stops the running loop's turn generation AND tears down every
@@ -990,42 +1113,10 @@ export default class Daemon {
990
1113
  }
991
1114
  // Stop the active drain's turn-generation (its loop closes 499). The worker
992
1115
  // signal is the optimization path — the fast, listener-driven reap.
993
- const scope = this.#workerAborts.get(workerId);
994
- if (scope !== undefined && !scope.signal.aborted)
995
- scope.abort(reason);
996
- // #380, the PARKED case — a 202-blocked loop has no drain to observe the abort (the
997
- // drain tears down on 202), so before this a cancelled park stayed 202 forever with no
998
- // terminal and no broadcast. Terminalize the worker's live loops (102/202; queued 100 stays
999
- // enqueued) with provenance and broadcast each. With a live drain its abort catch does
1000
- // this instead — skipping here keeps the broadcast single.
1001
- if (!hadDrain) {
1002
- void (async () => {
1003
- const message = reason.slice(0, 500);
1004
- const dead = await this.#db.engine_worker_cancel_live_loops.all({ worker_id: workerId, message });
1005
- if (dead.length === 0)
1006
- return;
1007
- const srow = await this.#db.drain_get_worker_workspace.get({ worker_id: workerId });
1008
- if (srow === undefined)
1009
- return;
1010
- for (const { id } of dead) {
1011
- const usage = await this.#engine.loopUsage(id);
1012
- this.#broadcast({ workspaceId: srow.workspace_id }, "loop/terminated", {
1013
- loopId: id, finalStatus: 499, hitMaxTurns: false, turnIds: [], usage, message,
1014
- });
1015
- }
1016
- })().catch((err) => {
1017
- console.error(`cancelDrain(${workerId}) live-loop terminalize failed:`, err);
1018
- });
1019
- }
1020
- // Total reap by the REGISTRY (§worker-lifecycle-total-reap): the durable source
1021
- // of truth. Every open subscription the worker holds, aborted via its owning
1022
- // scheme — independent of the signal-listener timing, so an exec mid-spawn
1023
- // (registry row written before it is killable) is reaped too. A late spawn
1024
- // (registering after this) self-aborts against its captured, now-aborted
1025
- // epoch (§exec-timeout). Idempotent; fire-and-forget (the
1026
- // abort is sync, the registry read async; the 499 conclusion surfaces async).
1027
- void this.#reapWorkerStreams(workerId).catch((err) => {
1028
- console.error(`reapWorkerStreams(${workerId}) failed:`, err);
1116
+ // Durable structured cancellation: one recursive transition claims the
1117
+ // worker and every unresolved descendant, then reaps each process-local scope.
1118
+ void this.#cancelWorkerTree(workerId, reason).catch((err) => {
1119
+ console.error(`cancelTree(${workerId}) failed:`, err);
1029
1120
  });
1030
1121
  return hadWork;
1031
1122
  }
@@ -1036,18 +1127,14 @@ export default class Daemon {
1036
1127
  const exec = this.#schemes.get("exec");
1037
1128
  return exec?.hasActiveSpawns?.(workerId) ?? false;
1038
1129
  }
1039
- // The registry-routed reap (§worker-lifecycle-total-reap): every open subscription
1040
- // the worker holds, aborted via its owning scheme. The durable answer to "reap
1041
- // everything" the in-process AbortSignal listener is the optimization, this is
1042
- // the source of truth: an exec mid-spawn (registry row written before it is
1043
- // killable) or a background exec from any past loop is caught regardless of
1044
- // listener timing. Idempotent — a stream the signal already reaped is a no-op.
1130
+ // The contract-routed reap (§worker-lifecycle-total-reap): durable rows enumerate
1131
+ // every open subscription; the live registry invokes its exact callable owner.
1132
+ // The worker signal is only the fast path. An exec mid-spawn or a background exec
1133
+ // from a past loop is caught regardless of listener timing. Idempotent a stream
1134
+ // the signal already reaped shares the same registry cancellation.
1045
1135
  async #reapWorkerStreams(workerId) {
1046
1136
  const open = await ChannelWrite.findOpenSubscriptionsForWorker(this.#db, workerId);
1047
- for (const { id, scheme } of open) {
1048
- const handler = this.#schemes.get(scheme);
1049
- handler?.abortSubscription?.(id);
1050
- }
1137
+ await Promise.all(open.map(({ id }) => this.#engine.cancelSubscription(id)));
1051
1138
  }
1052
1139
  /**
1053
1140
  * Wake-on-completion handler. Streaming schemes call this when a
@@ -1097,7 +1184,7 @@ export default class Daemon {
1097
1184
  // the manifest. §worker-lifecycle-wake-liveness.
1098
1185
  const slept = await this.#db.drain_find_slept_loop.get({ worker_id: payload.workerId });
1099
1186
  if (slept !== undefined) {
1100
- await this.#db.drain_resume_slept_loop.run({ loop_id: slept.id });
1187
+ await this.#lifecycle.wake(slept.id);
1101
1188
  const started = await this.#ensureDrain({
1102
1189
  workspaceId: payload.workspaceId, workerId: payload.workerId,
1103
1190
  systemPrompt, maxTurns: Number(process.env.PLURNK_SERVICE_MAX_TURNS ?? "50"),
@@ -1144,6 +1231,10 @@ export default class Daemon {
1144
1231
  this.#pollTimers.delete(workerId);
1145
1232
  }
1146
1233
  const row = await this.#db.drain_worker_min_poll.get({ worker_id: workerId });
1234
+ if ((row?.open_count ?? 0) === 0) {
1235
+ this.#pollBackoff.delete(workerId);
1236
+ return;
1237
+ }
1147
1238
  const pollSec = row?.poll_seconds ?? null;
1148
1239
  // #521 (§exec-poll, owner-ruled) — the poll cadence for a parked exec stream:
1149
1240
  // explicit <,P> (P>0) → fixed cadence P, reset the backoff (today's behavior).
@@ -1163,12 +1254,8 @@ export default class Daemon {
1163
1254
  return; // explicit opt-out
1164
1255
  }
1165
1256
  else {
1166
- // #521 (universal, owner-ruled) ANY unbounded park backs off; no park is ever blind.
1167
- // A child-join and a hung exec wake on the SAME ladder, so a lost wake edge (a dropped
1168
- // child-terminal/stream conclusion) self-heals within one step and the model regains a
1169
- // turn to inspect + KILL. The primary wake edge still resumes it immediately when it fires;
1170
- // the backoff timer then no-ops (the loop is no longer slept). Non-striking — shares the
1171
- // explicit-poll wake primitive, so a correctly-waiting parent never strikes out.
1257
+ // An open stream without an explicit cadence uses the stream polling floor.
1258
+ // Child joins never enter this branch: durable child settlement is their only wake edge.
1172
1259
  const base = Number(process.env.PLURNK_SERVICE_EXEC_POLL_SEC ?? "60");
1173
1260
  const turns = Number(process.env.PLURNK_SERVICE_EXEC_POLL_TURNS ?? "8");
1174
1261
  const step = this.#pollBackoff.get(workerId) ?? 0;
@@ -1203,7 +1290,7 @@ export default class Daemon {
1203
1290
  this.#owedWakes.add(workerId);
1204
1291
  return;
1205
1292
  }
1206
- await this.#db.drain_resume_slept_loop.run({ loop_id: slept.id });
1293
+ await this.#lifecycle.wake(slept.id);
1207
1294
  const started = await this.#ensureDrain({
1208
1295
  workspaceId, workerId, systemPrompt,
1209
1296
  maxTurns: Number(process.env.PLURNK_SERVICE_MAX_TURNS ?? "50"),
@@ -1 +1 @@
1
- {"version":3,"file":"Daemon.js","sourceRoot":"","sources":["../../src/server/Daemon.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,+DAA+D;AAC/D,aAAa;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,YAAwC,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAQrD,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAE5C,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,IAAI,MAAM,iBAAiB,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAkC7D,MAAM,CAAC,OAAO,OAAO,MAAM;IACvB,GAAG,CAAK;IACR,OAAO,CAAS;IAChB,QAAQ,CAAiB;IACzB,UAAU,CAAY;IACtB,SAAS,CAAkB;IAC3B,gBAAgB,CAAS;IACzB,aAAa,CAAS;IACtB,QAAQ,GAAG,KAAK,CAAC,CAAC,iFAAiF;IACnG,4FAA4F;IAC5F,8FAA8F;IAC9F,yFAAyF;IACzF,iBAAiB,GAAG,IAAI,GAAG,EAAyE,CAAC;IAErG,4EAA4E;IAC5E,0EAA0E;IAC1E,qEAAqE;IACrE,sEAAsE;IACtE,2EAA2E;IAC3E,sEAAsE;IACtE,uCAAuC;IACvC,aAAa,GAAG,IAAI,GAAG,EAAsE,CAAC;IAC9F,uEAAuE;IACvE,uEAAuE;IACvE,4EAA4E;IAC5E,4EAA4E;IAC5E,sEAAsE;IACtE,oDAAoD;IACpD,aAAa,GAAG,IAAI,GAAG,EAA2B,CAAC;IACnD,8FAA8F;IAC9F,4FAA4F;IAC5F,kFAAkF;IAClF,WAAW,GAAgC,IAAI,GAAG,EAAE,CAAC;IACrD,WAAW,GAAG,IAAI,GAAG,EAAyC,CAAC;IAC/D,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,0DAA0D;IACpG,4FAA4F;IAC5F,WAAW,GAAG,IAAI,GAAG,EAA4B,CAAC;IAClD,wGAAwG;IACxG,mGAAmG;IACnG,kGAAkG;IAClG,kGAAkG;IAClG,iGAAiG;IACjG,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,YAAY,EACR,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,GAOpD;QACG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,IAAI,cAAc,EAAE,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,QAAQ,IAAI,IAAI,CAAC;QAClC,sFAAsF;QACtF,yFAAyF;QACzF,oFAAoF;QACpF,sFAAsF;QACtF,IAAI,CAAC,gBAAgB,GAAG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;QAClF,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpD,wFAAwF;QACxF,+EAA+E;QAC/E,IAAI,CAAC,UAAU,GAAG,SAAS,IAAI,IAAI,SAAS,CAAC;YACzC,eAAe,EAAE,eAAe;YAChC,eAAe,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE;SAC/C,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC/C,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC;YACtB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU;YACtD,mFAAmF;YACnF,sFAAsF;YACtF,sFAAsF;YACtF,qDAAqD;YACrD,QAAQ,EAAE,UAAU;YACpB,iBAAiB,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC;YACrF,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACxE,kEAAkE;YAClE,oEAAoE;YACpE,uEAAuE;YACvE,oEAAoE;YACpE,mEAAmE;YACnE,YAAY,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC7D,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBACrF,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;gBACtE,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;gBAC1C,IAAI,YAAY,KAAK,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;gBACpG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBACvJ,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,CAAC;YACD,4EAA4E;YAC5E,qEAAqE;YACrE,sEAAsE;YACtE,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,2BAA2B,CAAC;YACnF,oBAAoB,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,OAAO,CAAC;SAClG,CAAC,CAAC;QACH,qEAAqE;QACrE,mEAAmE;QACnE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,EAAE;YACrC,IAAI,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,eAAe,EAAE;gBACjE,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,2DAA2D;gBAC3D,uDAAuD;gBACvD,yDAAyD;gBACzD,sCAAsC;gBACtC,KAAK,EAAE,KAAK,CAAC,KAAK;aACrB,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QACH,8EAA8E;QAC9E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,mEAAmE;QACnE,uEAAuE;QACvE,kEAAkE;QAClE,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1D,CAAC;IAGD,6FAA6F;IAC7F,mGAAmG;IACnG,6FAA6F;IAC7F,4GAA4G;IAC5G,yEAAyE;IACzE,iBAAiB,CAAC,OAA8E;QAC5F,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,+FAA+F;IAC/F,qGAAqG;IACrG,mGAAmG;IACnG,iGAAiG;IACjG,KAAK,CAAC,gBAAgB,CAAC,WAAmB;QACtC,OAAQ,IAAI,CAAC,GAAG,CAAC,qBAAoC,CAAC,GAAG,CAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED,eAAe,CAAC,UAAkB,EAAE,UAA8B;QAC9D,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACzD,CAAC;IAED,wGAAwG;IACxG,oGAAoG;IACpG,wGAAwG;IACxG,gGAAgG;IAChG,KAAK,CAAC,OAAO,CAAC,IAAoK;QAC9K,MAAM,KAAK,GAAG,WAAW,CAAC,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAmC,CAAC;QACvG,sFAAsF;QACtF,2FAA2F;QAC3F,qFAAqF;QACrF,gFAAgF;QAChF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1E,IAAI,SAAS,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC3E,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;QACtE,4FAA4F;QAC5F,oGAAoG;QACpG,8FAA8F;QAC9F,MAAM,MAAM,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,yBAAwC,CAAC,GAAG,CAA2C,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7I,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,QAAQ,YAAY,CAAC,CAAC;QACrF,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,QAAQ,wHAAwH,CAAC,CAAC;QACvM,0FAA0F;QAC1F,6FAA6F;QAC7F,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,IAAI,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC;QAC3C,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QACpG,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QAC7C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;YAClD,GAAG,IAAI;YACP,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,YAAY,EAAE,SAAS;YACvB,YAAY;SACf,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC7E,CAAC;IAED,qFAAqF;IACrF,wFAAwF;IACxF,8FAA8F;IAC9F,wDAAwD;IACxD,KAAK,CAAC,oBAAoB,CAAC,KAAyB,EAAE,KAAyB;QAC3E,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACxE,IAAI,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC/D,MAAM,IAAI,GAAG,SAAS,IAAI,kBAAkB,EAAE,CAAC;QAC/C,IAAI,IAAI,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACrF,qEAAqE;QACrE,sEAAsE;QACtE,sDAAsD;QACtD,MAAM,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,MAAc;QACrC,MAAM,GAAG,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,wBAAuC,CAAC,GAAG,CAA4B,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACxH,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,qCAAqC,CAAC,CAAC;QAC5F,IAAI,MAAqC,CAAC;QAC1C,IAAI,CAAC;YACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAkC,CAAC;QAC5E,CAAC;QAAC,MAAM,CAAC;YACL,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,kFAAkF,CAAC,CAAC;QACtH,CAAC;QACD,IAAI,MAAM,KAAK,IAAI;eACZ,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;eAC7D,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;eACnE,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;eAC7D,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,2FAA2F,CAAC,CAAC;QAC/H,CAAC;QACD,OAAO,MAAuB,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAc;QACjC,OAAO,mBAAmB,CAAC,mBAAmB,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAc,EAAE,SAAwB;QAC9D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CACX,QAAQ,MAAM,sCAAsC,QAAQ,CAAC,KAAK,MAAM,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK;kBAC9G,cAAc,SAAS,CAAC,KAAK,MAAM,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,KAAK;kBAC7E,yDAAyD,CAC9D,CAAC;QACN,CAAC;IACL,CAAC;IAED,qGAAqG;IACrG,iGAAiG;IACjG,iBAAiB,CAAC,WAAmB;QACjC,OAAO,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC7D,CAAC;IAED,4FAA4F;IAC5F,mGAAmG;IACnG,8FAA8F;IAC9F,qGAAqG;IACrG,oGAAoG;IACpG,KAAK,CAAC,gBAAgB,CAAC,IAA2E;QAC9F,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAClD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACzE,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YACvC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;YAC3E,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,UAAkB,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SACvF,CAAC,CAAC;QACH,KAAK,MAAM,UAAU,IAAI,QAAQ,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YACjE,IAAI,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,MAAoD,CAAC;IAChE,CAAC;IAED,+FAA+F;IAC/F,yFAAyF;IACzF,2FAA2F;IAC3F,wFAAwF;IACxF,0DAA0D;IAC1D,KAAK,CAAC,IAAI,CAAC,IAA2E;QAClF,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAClD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACzE,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,CAA+C,CAAC;IAC7I,CAAC;IAED,qGAAqG;IACrG,6GAA6G;IAC7G,kGAAkG;IAClG,0FAA0F;IAC1F,KAAK,CAAC,OAAO,CAAC,IAIb;QACG,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QACvC,MAAM,MAAM,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,yBAAwC,CAAC,GAAG,CAA2B,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxH,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,QAAQ,YAAY,CAAC,CAAC;QACvE,IAAI,MAAM,CAAC,YAAY,KAAK,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,QAAQ,8BAA8B,WAAW,GAAG,CAAC,CAAC;QACtH,MAAM,IAAI,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,mBAAkC,CAAC,GAAG,CAAiB;YAChF,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;YAC1F,QAAQ,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;YAC/F,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE,IAAI,CAAC;SAC3C,CAAC,CAAC;QACH,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjF,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,oGAAoG;IACpG,0GAA0G;IAC1G,aAAa;QACT,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACpC,OAAO;YACH,OAAO,EAAE,mBAAmB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACrC,MAAM,QAAQ,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC;gBAC7D,OAAO;oBACH,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ;oBACtE,2GAA2G;oBAC3G,8EAA8E;oBAC9E,YAAY,EAAE,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;iBAC1G,CAAC;YACN,CAAC,CAAC;SACL,CAAC;IACN,CAAC;IAED,cAAc,KAAK,OAAO,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9D,WAAW,CAAC,WAAmB,IAAI,OAAO,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACpG,WAAW,CAAC,WAAmB,EAAE,KAAK,GAAW,GAAG,IAAI,OAAO,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChI,WAAW,CAAC,WAAmB,IAAI,OAAO,aAAa,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACrH,eAAe,CAAC,WAAmB;QAC/B,OAAQ,IAAI,CAAC,GAAG,CAAC,+BAA8C,CAAC,GAAG,CAAmC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;IACzI,CAAC;IACD,yBAAyB,CAAC,WAAmB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;IAC/D,CAAC;IAED,yGAAyG;IACzG,qGAAqG;IACrG,kGAAkG;IAClG,uGAAuG;IACvG,yEAAyE;IACzE,KAAK,CAAC,eAAe,CAAC,IAAuI;QACzJ,sFAAsF;QACtF,wFAAwF;QACxF,4CAA4C;QAC5C,MAAM,WAAW,GAAG,WAAW,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACxF,MAAM,QAAQ,GAAG,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3G,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC;YACzC,MAAO,IAAI,CAAC,GAAG,CAAC,gCAA+C,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9H,CAAC;QACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAChH,MAAM,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QACzE,KAAK,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,mBAAmB,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,aAAa,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3I,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAqE;QACvF,wGAAwG;QACxG,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACxI,KAAK,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACjF,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,WAAmB,EAAE,IAAY;QACnD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC,CAAC,wBAAwB;QACjJ,MAAM,KAAK,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,8BAA6C,CAAC,GAAG,CAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1G,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,EAAE,KAAK,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,iCAAiC,CAAC,CAAC;QAClI,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC;IACtG,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,WAAmB,EAAE,MAAc,EAAE,IAAY;QAC7D,WAAW,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAClE,2FAA2F;QAC3F,0FAA0F;QAC1F,0FAA0F;QAC1F,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACpB,MAAM,CAAC,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,sBAAqC,CAAC,GAAG,CAAkC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;YAC1H,IAAI,CAAC,EAAE,YAAY,IAAI,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,mMAAmM,CAAC,CAAC;QACtP,CAAC;QACD,MAAO,IAAI,CAAC,GAAG,CAAC,gCAA+C,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACjH,MAAM,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAC3E,uFAAuF;QACvF,0FAA0F;QAC1F,oFAAoF;QACpF,KAAK,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACxE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,WAAmB,EAAE,MAAc,EAAE,IAAY;QAC/D,WAAW,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACpE,MAAO,IAAI,CAAC,GAAG,CAAC,gCAA+C,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACjH,MAAM,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAC3E,KAAK,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACxE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,uGAAuG;IACvG,oGAAoG;IACpG,qGAAqG;IACrG,KAAK,CAAC,SAAS,CAAC,IAAgF;QAC5F,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,kEAAkE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACjH,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAC5I,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,iBAAgC,CAAC,GAAG,CAAwF,EAAE,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9M,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,WAAyB,CAAC;QAC9B,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC7B,WAAW,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,mBAAkC,CAAC,GAAG,CAAa,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3G,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,wBAAuC,CAAC,GAAG,CAAa,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;YACzJ,WAAW,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,KAAK,MAAM,CAAC,IAAI,WAAW;YAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/J,MAAM,OAAO,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,cAA6B,CAAC,GAAG,CAAkB,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACzG,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;IAC1L,CAAC;IAED,2GAA2G;IAC3G,qGAAqG;IACrG,8GAA8G;IAC9G,oGAAoG;IACpG,mGAAmG;IACnG,+FAA+F;IAC/F,uFAAuF;IACvF,KAAK,CAAC,wBAAwB,CAAC,IAA4C;QACvE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACnC,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC1I,MAAM,SAAS,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,sBAAqC,CAAC,GAAG,CAAiB,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QACjH,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,WAAW,YAAY,CAAC,CAAC;QAC/F,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,IAAI,QAAQ,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,sCAAsC,CAAC,CAAC;YAC1I,MAAM,KAAK,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,2BAA0C,CAAC,GAAG,CAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAClI,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,6DAA6D,CAAC,CAAC;QAC/I,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAC1E,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IACtD,CAAC;IAED,wGAAwG;IACxG,KAAK,CAAC,UAAU,CAAC,IAA8D;QAC3E,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAC,wBAAwB;QAChL,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,yBAAwC,CAAC,GAAG,CAA2B,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvH,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,YAAY,CAAC,CAAC;QAClF,IAAI,KAAK,CAAC,YAAY,KAAK,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,wBAAwB,WAAW,EAAE,CAAC,CAAC;QAC1H,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,IAAI,QAAQ,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,sCAAsC,CAAC,CAAC;YAC1I,MAAM,KAAK,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,2BAA0C,CAAC,GAAG,CAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAClI,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,6DAA6D,CAAC,CAAC;QAC/I,CAAC;QACD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,yBAAwC,CAAC,GAAG,CAAmB,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;QACtH,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;IACpG,CAAC;IAED,mGAAmG;IACnG,mGAAmG;IACnG,qGAAqG;IACrG,oGAAoG;IACpG,6FAA6F;IAC7F,8EAA8E;IAC9E,cAAc,CAAC,GAAiF;QAC5F,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE;YACnC,QAAQ;YACR,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE;YACvC,SAAS,EAAE,YAAY,CAAC,SAAS;YACjC,MAAM,EAAE,YAAY,CAAC,MAAM;SACN,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,MAAM,KAAa,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAsB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1D,IAAI,OAAO,KAAqB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,IAAI,SAAS,KAAgB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAEtD,gGAAgG;IAChG,sGAAsG;IACtG,kGAAkG;IAClG,yFAAyF;IACzF,YAAY,GAAuC,EAAE,CAAC;IACtD,cAAc,CAAC,IAAiC;QAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,KAAK;QACP,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,wEAAwE;QACxE,oEAAoE;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAE9B,kEAAkE;QAClE,qEAAqE;QACrE,kEAAkE;QAClE,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAClG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACrC,8EAA8E;QAC9E,6EAA6E;QAC7E,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAChD,sEAAsE;QACtE,wEAAwE;QACxE,2EAA2E;QAC3E,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEzD,oFAAoF;QACpF,qFAAqF;QACrF,uDAAuD;QACvD,KAAK,MAAM,SAAS,IAAI,MAAM,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9D,MAAM,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,uFAAuF;QACvF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,IAAI;QACN,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAGtB,8DAA8D;QAC9D,gEAAgE;QAChE,8DAA8D;QAC9D,+DAA+D;QAC/D,gEAAgE;QAChE,0EAA0E;QAC1E,wEAAwE;QACxE,qEAAqE;QACrE,iCAAiC;QACjC,2FAA2F;QAC3F,yFAAyF;QACzF,gFAAgF;QAChF,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;QACnD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;YAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO;gBAAE,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAAC,CAAC;QAC/G,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,sCAAsC;QAClG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,6FAA6F;QAC7F,0FAA0F;QAC1F,yFAAyF;QACzF,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC7E,MAAM,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,8DAA8D;QACrG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,mEAAmE;IACnE,8CAA8C;IAC9C,KAAK,CAAC,sBAAsB;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAA+C,CAAC;QACrF,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACpD,CAAC;IAID;;;;OAIG;IACH,iBAAiB,CAAC,WAAmB,EAAE,KAAiF;QACpH,IAAI,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;OAMG;IACH,oBAAoB,CAAC,WAAmB,EAAE,OAA0C;QAChF,IAAI,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;;;;;;OAWG;IACH,kGAAkG;IAClG,kGAAkG;IAClG,6FAA6F;IAC7F,4FAA4F;IAC5F,2BAA2B;IAC3B,KAAK,CAAC,kBAAkB,CAAC,QAAgB,EAAE,KAAqC,EAAE,MAAe;QAC7F,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACnE,MAAM,GAAG,GAAG,MAAM,KAAK,SAAS;YAC5B,CAAC,CAAC,MAAO,IAAI,CAAC,GAAG,CAAC,qBAAoC,CAAC,GAAG,CAAoB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAClG,CAAC,CAAC,MAAO,IAAI,CAAC,GAAG,CAAC,uBAAsC,CAAC,GAAG,CAAgC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzH,MAAM,SAAS,GAA4B,EAAE,GAAG,kBAAkB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,IAAI,IAAI,CAAW,EAAE,CAAC;QAClH,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClL,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,sEAAsE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,mLAAmL,CAAC,CAAC;QACnS,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAIZ;QAOG,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC/C,qEAAqE;QACrE,qEAAqE;QACrE,8DAA8D;QAC9D,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,+CAA+C;YACpG,MAAM,MAAM,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,6BAA4C,CAAC,GAAG,CAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzH,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACvF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC3D,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClB,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YAC5F,CAAC;QACL,CAAC;QAED,oGAAoG;QACpG,8FAA8F;QAC9F,gGAAgG;QAChG,0FAA0F;QAC1F,kFAAkF;QAClF,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,qBAAoC,CAAC,GAAG,CAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChH,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,uDAAuD;gBACtH,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC5D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC7D,MAAO,IAAI,CAAC,GAAG,CAAC,uBAAsC,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC;oBACpC,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY;oBACtD,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,IAAI,CAAC;iBAClF,CAAC,CAAC;gBACH,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;YAC7J,CAAC;QACL,CAAC;QAED,kDAAkD;QAClD,MAAM,MAAM,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,sBAAqC,CAAC,GAAG,CAAmB,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpH,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACzF,MAAM,OAAO,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,kBAAiC,CAAC,GAAG,CAAiB;YAClF,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM;YAClD,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;SACnD,CAAC,CAAC;QACH,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACnF,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,EAAE,GAAG,kBAAkB,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YACxD,MAAO,IAAI,CAAC,GAAG,CAAC,qBAAoC,CAAC,GAAG,CAAC;gBACrD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;aACjD,CAAC,CAAC;QACP,CAAC;QACD,oGAAoG;QACpG,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,MAAO,IAAI,CAAC,GAAG,CAAC,0BAAyC,CAAC,GAAG,CAAC;gBAC1D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;aAC9D,CAAC,CAAC;QACP,CAAC;QAED,4EAA4E;QAC5E,oFAAoF;QACpF,+EAA+E;QAC/E,yEAAyE;QACzE,oEAAoE;QACpE,+EAA+E;QAC/E,uCAAuC;QACvC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC;YACpC,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY;YACtD,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,IAAI,CAAC;SAClF,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;IACvE,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,IAGX;QAIG,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC/D,wEAAwE;QACxE,sEAAsE;QACtE,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,MAAM,GAA+D;YACvE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;SACzC,CAAC;QAEF,IAAI,YAAY,GAAiC,GAAG,EAAE,GAAE,CAAC,CAAC;QAC1D,IAAI,WAAW,GAAyB,GAAG,EAAE,GAAE,CAAC,CAAC;QACjD,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC/D,YAAY,GAAG,GAAG,CAAC;YAAC,WAAW,GAAG,GAAG,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,IAAI,YAAY,GAAG,KAAK,CAAC;QAEzB,MAAM,KAAK,GAAG,GAAG,EAAE,CAAE,IAAI,CAAC,GAAG,CAAC,qBAAoC,CAAC,GAAG,CAEnE,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAE5B,MAAM,YAAY,GAAG,CAAC,KAAK,IAAI,EAAE;YAC7B,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,UAAU,GAA2B,IAAI,CAAC;YAC9C,IAAI,aAAa,GAAkB,IAAI,CAAC,CAAC,mEAAmE;YAC5G,IAAI,CAAC;gBACD,OAAO,IAAI,EAAE,CAAC;oBACV,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;oBACnC,IAAI,OAAO,GAAG,MAAM,KAAK,EAAE,CAAC;oBAC5B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;wBACxB,oEAAoE;wBACpE,+DAA+D;wBAC/D,iEAAiE;wBACjE,8DAA8D;wBAC9D,6DAA6D;wBAC7D,yDAAyD;wBACzD,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;4BACrD,MAAM,OAAO,GAAG,MAAM,KAAK,EAAE,CAAC;4BAC9B,IAAI,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,MAAM,EAAE,CAAC;gCACvE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;4BACxC,CAAC;4BACD,OAAO,OAAO,CAAC;wBACnB,CAAC,CAAC,CAAC;wBACH,IAAI,OAAO,KAAK,SAAS;4BAAE,MAAM;oBACrC,CAAC;oBACD,aAAa,GAAG,OAAO,CAAC,EAAE,CAAC;oBAC3B,gEAAgE;oBAChE,gEAAgE;oBAChE,iEAAiE;oBACjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACzD,MAAM,UAAU,GAAG,CAAC,UAAkB,EAAQ,EAAE;wBAC5C,4EAA4E;wBAC5E,6EAA6E;wBAC7E,KAAK,CAAC,KAAK,IAAI,EAAE;4BACb,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;4BACjE,IAAI,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;wBAC7D,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACzH,CAAC,CAAC;oBACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;wBACtC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ;wBAC7D,QAAQ,EAAE;4BACN,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;4BACzC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE;yBAC5C;wBACD,MAAM,EAAE,OAAO;wBACf,UAAU;wBACV,MAAM,EAAE,UAAU,CAAC,MAAM;qBAC5B,CAAC,CAAC;oBACH,IAAI,MAAM,CAAC,WAAW,KAAK,GAAG,EAAE,CAAC;wBAC7B,yFAAyF;wBACzF,4EAA4E;wBAC5E,kFAAkF;wBAClF,6EAA6E;wBAC7E,KAAK,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC1L,+EAA+E;wBAC/E,yEAAyE;wBACzE,4EAA4E;wBAC5E,+EAA+E;wBAC/E,uDAAuD;wBACvD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;4BACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;4BAC/D,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;4BACjD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BAC7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gCAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gCAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;4BAAC,CAAC;4BACpF,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gCACzC,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;oCACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oCAClC,KAAK,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gCAC5L,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAC;gCACpB,CAAC,CAAC,KAAK,EAAE,CAAC;gCACV,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;4BACtC,CAAC;wBACL,CAAC;wBACD,oFAAoF;wBACpF,sFAAsF;wBACtF,6EAA6E;wBAC7E,8DAA8D;wBAC9D,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;4BACnC,MAAO,IAAI,CAAC,GAAG,CAAC,uBAAsC,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;4BACpF,SAAS;wBACb,CAAC;wBACD,6EAA6E;wBAC7E,gFAAgF;wBAChF,2FAA2F;wBAC3F,SAAS;oBACb,CAAC;oBACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,iEAAiE;oBACnG,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACvD,IAAI,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,EAAE,iBAAiB,EAAE;wBAChD,MAAM,EAAE,OAAO,CAAC,EAAE;wBAClB,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,KAAK;qBACR,CAAC,CAAC;oBACH,YAAY,EAAE,CAAC;oBACf,MAAM,UAAU,GAAoB;wBAChC,MAAM,EAAE,OAAO,CAAC,EAAE;wBAClB,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,KAAK;qBACR,CAAC;oBACF,UAAU,GAAG,UAAU,CAAC;oBACxB,IAAI,CAAC,YAAY,EAAE,CAAC;wBAChB,YAAY,GAAG,IAAI,CAAC;wBACpB,YAAY,CAAC,UAAU,CAAC,CAAC;oBAC7B,CAAC;oBACD,yDAAyD;oBACzD,6DAA6D;oBAC7D,sDAAsD;oBACtD,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC5D,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC5B,iFAAiF;oBACjF,iFAAiF;oBACjF,yEAAyE;oBACzE,MAAM,KAAK,GAAG,aAAa,KAAK,IAAI;wBAChC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;wBACvG,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;oBAClD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;wBACzB,4EAA4E;wBAC5E,wEAAwE;wBACxE,4EAA4E;wBAC5E,2EAA2E;wBAC3E,mEAAmE;wBACnE,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;wBACnF,MAAO,IAAI,CAAC,GAAG,CAAC,2BAA0C,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;wBACpG,IAAI,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,EAAE,iBAAiB,EAAE;4BAChD,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO;yBAC3F,CAAC,CAAC;oBACP,CAAC;oBACD,IAAI,CAAC,YAAY,EAAE,CAAC;wBAChB,YAAY,GAAG,IAAI,CAAC;wBACpB,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC3G,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,qFAAqF;oBACrF,uFAAuF;oBACvF,qFAAqF;oBACrF,yFAAyF;oBACzF,6EAA6E;oBAC7E,iFAAiF;oBACjF,+EAA+E;oBAC/E,mFAAmF;oBACnF,+EAA+E;oBAC/E,OAAO,CAAC,KAAK,CAAC,0BAA0B,WAAW,YAAY,QAAQ,UAAU,aAAa,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;oBAChH,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;wBACzB,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;wBACpM,6EAA6E;wBAC7E,6EAA6E;wBAC7E,6EAA6E;wBAC7E,4EAA4E;wBAC5E,2CAA2C;wBAC3C,MAAM,OAAO,GAAG,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;wBACjF,MAAO,IAAI,CAAC,GAAG,CAAC,sBAAqC,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;wBAC5G,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;wBAC1D,IAAI,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,EAAE,iBAAiB,EAAE;4BAChD,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO;yBAC3F,CAAC,CAAC;oBACP,CAAC;oBACD,IAAI,CAAC,YAAY,EAAE,CAAC;wBAChB,YAAY,GAAG,IAAI,CAAC;wBACpB,WAAW,CAAC,GAAG,CAAC,CAAC;oBACrB,CAAC;gBACL,CAAC;gBACD,MAAM,GAAG,CAAC;YACd,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC,YAAY,EAAE,CAAC;oBAChB,YAAY,GAAG,IAAI,CAAC;oBACpB,WAAW,CAAC,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAC;gBACtE,CAAC;gBACD,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,MAAM;oBAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzF,CAAC;YACD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;QACxC,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,CAAC,OAAO,GAAG,YAAY,CAAC;QAC9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACzC,qGAAqG;QACrG,kGAAkG;QAClG,uGAAuG;QACvG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAChG,mEAAmE;QACnE,oEAAoE;QACpE,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC7B,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACjC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC;IAC9C,CAAC;IAED,sFAAsF;IACtF,oFAAoF;IACpF,uFAAuF;IACvF,mFAAmF;IACnF,mFAAmF;IACnF,6DAA6D;IAC7D,cAAc,CAAI,QAAgB,EAAE,EAAoB;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACjE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI;YAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1G,OAAO,GAAG,CAAC;IACf,CAAC;IAED,mFAAmF;IACnF,6EAA6E;IAC7E,oFAAoF;IACpF,mFAAmF;IACnF,kFAAkF;IAClF,0EAA0E;IAC1E,YAAY,CAAC,IAGZ;QAIG,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvD,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;YAC/E,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,4EAA4E;IAC5E,yEAAyE;IACzE,0EAA0E;IAC1E,uEAAuE;IACvE,qEAAqE;IACrE,KAAK,CAAC,sBAAsB,CAAC,QAAgB,EAAE,WAAmB;QAC9D,MAAM,QAAQ,GAAG,CAAC,MAAO,IAAI,CAAC,GAAG,CAAC,oBAAmC,CAAC,GAAG,CAAuB,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,IAAI,WAAW,CAAC;QACpJ,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,8BAA6C,CAAC,GAAG,CAE7E,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC;QACxE,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACjC,MAAM,MAAM,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,sBAAqC,CAAC,GAAG,CAAmB,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpH,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QACxG,MAAM,KAAK,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,kBAAiC,CAAC,GAAG,CAAiB;YAChF,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI;YAC/D,aAAa,EAAE,MAAM,CAAC,aAAa;SACtC,CAAC,CAAC;QACH,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAC3F,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACxB,MAAO,IAAI,CAAC,GAAG,CAAC,qBAAoC,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACzG,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,4EAA4E;IAC5E,0BAA0B;IAC1B,aAAa,CAAC,QAAgB;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,QAAQ,CAAC;QACxE,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,QAAgB,EAAE,MAAM,GAAW,gBAAgB;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,QAAQ,IAAI,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACnE,oGAAoG;QACpG,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAAC,CAAC;QAC5F,4EAA4E;QAC5E,oEAAoE;QACpE,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO;YAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtE,oFAAoF;QACpF,uFAAuF;QACvF,4FAA4F;QAC5F,uFAAuF;QACvF,2DAA2D;QAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,KAAK,CAAC,KAAK,IAAI,EAAE;gBACb,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACrC,MAAM,IAAI,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,+BAA8C,CAAC,GAAG,CAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;gBAClI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO;gBAC9B,MAAM,IAAI,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,0BAAyC,CAAC,GAAG,CAA2B,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC9H,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO;gBAC/B,KAAK,MAAM,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC;oBACxB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;oBAC/C,IAAI,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,iBAAiB,EAAE;wBACnE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO;qBAChF,CAAC,CAAC;gBACP,CAAC;YACL,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBACxB,OAAO,CAAC,KAAK,CAAC,eAAe,QAAQ,iCAAiC,EAAE,GAAG,CAAC,CAAC;YACjF,CAAC,CAAC,CAAC;QACP,CAAC;QACD,gFAAgF;QAChF,6EAA6E;QAC7E,2EAA2E;QAC3E,2EAA2E;QAC3E,yEAAyE;QACzE,0DAA0D;QAC1D,8EAA8E;QAC9E,KAAK,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YAC1D,OAAO,CAAC,KAAK,CAAC,qBAAqB,QAAQ,WAAW,EAAE,GAAG,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,8EAA8E;IAC9E,2EAA2E;IAC3E,sDAAsD;IACtD,uBAAuB,CAAC,QAAgB;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAoE,CAAC;QAC1G,OAAO,IAAI,EAAE,eAAe,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;IACtD,CAAC;IAED,mFAAmF;IACnF,+EAA+E;IAC/E,iFAAiF;IACjF,4EAA4E;IAC5E,4EAA4E;IAC5E,+EAA+E;IAC/E,KAAK,CAAC,kBAAkB,CAAC,QAAgB;QACrC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,8BAA8B,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACnF,KAAK,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAyE,CAAC;YAClH,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAA0B;QAC9C,qFAAqF;QACrF,yFAAyF;QACzF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACzH,yDAAyD;QACzD,IAAI,OAAO,CAAC,WAAW,KAAK,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,kBAAkB,EAAE;gBACtE,GAAG,OAAO,EAAE,UAAU,EAAE,iBAAiB;aAC5C,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QAED,kFAAkF;QAClF,8EAA8E;QAC9E,+EAA+E;QAC/E,kFAAkF;QAClF,+EAA+E;QAC/E,+EAA+E;QAC/E,eAAe;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,KAAK,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9E,IAAI,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,kBAAkB,EAAE;gBACtE,GAAG,OAAO,EAAE,UAAU,EAAE,mBAAmB;aAC9C,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;YAEtE,4FAA4F;YAC5F,sFAAsF;YACtF,oFAAoF;YACpF,uFAAuF;YACvF,sFAAsF;YACtF,iDAAiD;YACjD,MAAM,KAAK,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,qBAAoC,CAAC,GAAG,CAAiB,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YACxH,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAO,IAAI,CAAC,GAAG,CAAC,uBAAsC,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC;oBACpC,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC5D,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,IAAI,CAAC;iBAC/E,CAAC,CAAC;gBACH,IAAI,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,kBAAkB,EAAE;oBACtE,GAAG,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE;iBAC/D,CAAC,CAAC;gBACH,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;oBAC1C,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjG,CAAC,CAAC,CAAC;gBACH,OAAO;YACX,CAAC;YAED,6EAA6E;YAC7E,wFAAwF;YACxF,kFAAkF;YAClF,wFAAwF;YACxF,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,kBAAkB,EAAE;oBACtE,GAAG,OAAO,EAAE,UAAU,EAAE,mBAAmB;iBAC9C,CAAC,CAAC;gBACH,OAAO;YACX,CAAC;YAED,sFAAsF;YACtF,sEAAsE;YACtE,IAAI,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,kBAAkB,EAAE;gBACtE,GAAG,OAAO,EAAE,UAAU,EAAE,SAAS;aACpC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACxG,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB,CAAC,WAAmB,EAAE,QAAgB,EAAE,YAAoB;QAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAAC,CAAC;QAC1F,MAAM,GAAG,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,qBAAoC,CAAC,GAAG,CAAkC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/H,MAAM,OAAO,GAAG,GAAG,EAAE,YAAY,IAAI,IAAI,CAAC;QAC1C,8EAA8E;QAC9E,kFAAkF;QAClF,oGAAoG;QACpG,4FAA4F;QAC5F,wFAAwF;QACxF,6FAA6F;QAC7F,sEAAsE;QACtE,gGAAgG;QAChG,IAAI,OAAe,CAAC;QACpB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnC,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;QAC7B,CAAC;aAAM,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnC,OAAO,CAAC,mBAAmB;QAC/B,CAAC;aAAM,CAAC;YACJ,uFAAuF;YACvF,uFAAuF;YACvF,uFAAuF;YACvF,4FAA4F;YAC5F,yFAAyF;YACzF,iFAAiF;YACjF,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,IAAI,CAAC,CAAC;YACtE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,GAAG,CAAC,CAAC;YACxE,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClD,OAAO,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,iGAAiG;QACjG,2CAA2C;QAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,GAAG,CAAC,CAAC;QAC1E,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClC,KAAK,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QACrE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;QAClC,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED;;;oGAGgG;IAChG,KAAK,CAAC,iBAAiB,CAAC,WAAmB,EAAE,QAAgB,EAAE,YAAoB;QAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,CAAC,8BAA8B;QAC/G,MAAM,KAAK,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,qBAAoC,CAAC,GAAG,CAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChH,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,yFAAyF;YACzF,6FAA6F;YAC7F,gGAAgG;YAChG,kEAAkE;YAClE,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpE,OAAO;QACX,CAAC;QACD,MAAO,IAAI,CAAC,GAAG,CAAC,uBAAsC,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAClF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC;YACpC,WAAW,EAAE,QAAQ,EAAE,YAAY;YACnC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,IAAI,CAAC;SACjE,CAAC,CAAC;QACH,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YAC1C,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACxG,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;6GAKyG;IACzG,KAAK,CAAC,YAAY,CAAC,WAAmB,EAAE,QAAgB,EAAE,YAAoB;QAC1E,MAAM,KAAK,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,qBAAoC,CAAC,GAAG,CAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChH,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,2DAA2D;QAC5F,MAAM,QAAQ,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,kCAAiD,CAAC,GAAG,CAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChI,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,mEAAmE;QACpG,MAAM,MAAM,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,gBAA+B,CAAC,GAAG,CAAsC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjI,IAAI,MAAM,EAAE,gBAAgB,IAAI,IAAI;YAAE,OAAO,CAAC,8BAA8B;QAC5E,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACrF,CAAC;IAED,uFAAuF;IACvF,sFAAsF;IACtF,0FAA0F;IAC1F,+DAA+D;IAC/D,OAAO,CAAC,WAA0B,EAAE,MAAc,EAAE,MAAgB;QAChE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvC,IAAI,CAAC;gBAAC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAAC,CAAC;YACzC,OAAO,CAAC,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,6BAA6B,MAAM,GAAG,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;QACpH,CAAC;IACL,CAAC;IAED,UAAU,CAAC,MAAoB,EAAE,MAAc,EAAE,MAAgB;QAC7D,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACnB,qGAAqG;YACrG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACnC,OAAO;QACX,CAAC;QACD,4FAA4F;QAC5F,+FAA+F;QAC/F,8FAA8F;QAC9F,4FAA4F;QAC5F,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;CACJ"}
1
+ {"version":3,"file":"Daemon.js","sourceRoot":"","sources":["../../src/server/Daemon.ts"],"names":[],"mappings":"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"}