@slopus/happy-agent-base 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -19,14 +19,14 @@ Drizzle SQLite or PostgreSQL/PGlite database plus a hard database-level lock. It
19
19
  record, key-value, and migration tables itself. `AgentSystem.close()` stops its agents and releases
20
20
  the lock; the runtime intentionally contains no CAS or multi-owner coordination.
21
21
 
22
- By default, storage uses Drizzle transactions and installs stdlib's universal `afterCommit` scope
23
- on their contexts, draining it only after the outer transaction succeeds. A host that composes
24
- agent writes into a wider transaction may provide `transaction`; its callback context must carry
25
- the host transaction's own stdlib `afterCommit` scope. Outside a transaction, stdlib starts
26
- post-commit callbacks on the next microtask.
27
-
28
- Storage, KV, migrations, and transactional module hooks compose with a host-owned outer
29
- transaction. Live `Agent` and `AgentSystem` commands do not: creating, resolving, messaging,
22
+ Storage uses Drizzle transactions and installs stdlib's universal `afterCommit` scope on their
23
+ contexts, draining it only after the outer transaction succeeds. Agent contexts expose the root or
24
+ active Drizzle facade as `ctx.db`; `ctx.inTx(work)` and the exported `inTx(ctx, work)` helper open
25
+ an outer transaction or reuse the one already carried by the context. Outside a transaction,
26
+ stdlib starts post-commit callbacks on the next microtask.
27
+
28
+ Storage, KV, migrations, and transactional module hooks compose with a context's outer transaction.
29
+ Live `Agent` and `AgentSystem` commands do not: creating, resolving, messaging,
30
30
  mutating, archiving, or closing a live agent from inside an outer storage transaction is rejected
31
31
  because the corresponding in-memory lifetime cannot be published until that transaction commits.
32
32
 
@@ -54,6 +54,9 @@ Every executable call receives an internally generated cuid2 `id`, the provider'
54
54
  atomically saves that result with the tool's writes. The first successful commit wins; later
55
55
  commits and the tool's eventual return or throw are ignored. Committed results survive a crash,
56
56
  remain ordered with their batch, and the call-bound KV is erased in the result transaction.
57
+ Setting a tool's optional `transactional` property to `true` wraps its `execute` call, result
58
+ validation, rendering, and automatic result commit in one outer transaction. It defaults to
59
+ `false`.
57
60
 
58
61
  Modules may provide an ordered array of `[key, migration]` tuples. Agent base tracks each
59
62
  successful key and runs every missing migration transactionally before any `beforeStart` hook; a
@@ -1 +1 @@
1
- {"version":3,"file":"AgentBase.d.ts","sourceRoot":"","sources":["../sources/AgentBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentBase.d.ts","sourceRoot":"","sources":["../sources/AgentBase.ts"],"names":[],"mappings":"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"}
package/dist/AgentBase.js CHANGED
@@ -2587,12 +2587,22 @@ export class AgentBase {
2587
2587
  const executionCtx = withLifetime(runCtx, AbortSignal.any(runCtx.lifetime === undefined
2588
2588
  ? [callLifetime.signal]
2589
2589
  : [runCtx.lifetime, callLifetime.signal]));
2590
- const execution = Promise.resolve(ran.execute(executionCtx, ranArguments, {
2590
+ const toolCall = {
2591
2591
  id: entry.id,
2592
2592
  providerCallId: entry.providerCallId,
2593
2593
  kv: boundedCallKV,
2594
2594
  commit,
2595
- })).then((result) => ({ type: "returned", result }), (error) => ({ type: "threw", error }));
2595
+ };
2596
+ const returned = ran.transactional === true
2597
+ ? this.#persistence.transaction(executionCtx, async (txCtx) => {
2598
+ const result = await ran.execute(txCtx, ranArguments, toolCall);
2599
+ if (!Value.Check(ran.returnType, result)) {
2600
+ throw new Error(`Tool "${ran.name}" returned an invalid result.`);
2601
+ }
2602
+ return await commit(txCtx, result);
2603
+ })
2604
+ : Promise.resolve(ran.execute(executionCtx, ranArguments, toolCall));
2605
+ const execution = returned.then((result) => ({ type: "returned", result }), (error) => ({ type: "threw", error }));
2596
2606
  const settled = await Promise.race([
2597
2607
  execution,
2598
2608
  committed.then((committed) => ({ type: "committed", committed })),
@@ -1 +1 @@
1
- {"version":3,"file":"AgentBase.js","sourceRoot":"","sources":["../sources/AgentBase.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAe,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EACH,WAAW,EACX,SAAS,EACT,sBAAsB,EACtB,sBAAsB,EACtB,YAAY,GAGf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACH,aAAa,EACb,OAAO,EACP,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,uBAAuB,EACvB,cAAc,EACd,8BAA8B,GACjC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAoB,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EACH,sBAAsB,EACtB,uBAAuB,GAG1B,MAAM,uBAAuB,CAAC;AAa/B,OAAO,EACH,WAAW,EACX,uBAAuB,EACvB,gBAAgB,GAInB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACH,6BAA6B,EAC7B,qBAAqB,GAExB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,mFAAmF;AACnF,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAElC;;;;GAIG;AACH,MAAM,UAAU,GAAG,sBAAsB,CAAoB,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAEpF;;;;;;;GAOG;AACH,MAAM,WAAW,GAAG,IAAI,iBAAiB,EAAqB,CAAC;AAC/D,6FAA6F;AAC7F,MAAM,sBAAsB,GAAG,IAAI,iBAAiB,EAAqB,CAAC;AAE1E;;;;GAIG;AACH,MAAM,sBAAsB,GAAG,EAAE,CAAC;AA6ElC,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC;IACrC,EAAE,EAAE,WAAW;IACf,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE;IAC7B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAC/B,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;QACxB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACvC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACzC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;KACxC,CAAC;IACF,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;CAC3C,CAAC,CAAC;AAGH,4EAA4E;AAC5E,MAAM,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC1B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACnC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACtC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;CACxC,CAAC,CAAC;AA2CH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2JG;AACH,MAAM,OAAO,SAAS;IAClB,4FAA4F;IACnF,EAAE,CAAS;IACpB;;;OAGG;IACM,KAAK,CAAiB;IAE/B;;;;OAIG;IACH,QAAQ,CAAU;IAClB,8FAA8F;IAC9F,IAAI,CAAU;IACd,0EAA0E;IAC1E,OAAO,CAAc;IACrB,wFAAwF;IAC/E,UAAU,CAAiB;IACpC,+FAA+F;IAC/F,WAAW,CAAS;IACpB,4FAA4F;IACnF,YAAY,CAAmB;IACxC,sFAAsF;IACtF,MAAM,CAAqB;IAC3B,qCAAqC;IACrC,OAAO,CAAqC;IAC5C,iCAAiC;IACjC,YAAY,CAAiC;IAC7C;;;OAGG;IACH,eAAe,CAAsB;IACrC,0FAA0F;IACjF,MAAM,CAAiB;IAChC;;;;OAIG;IACM,gBAAgB,CAAY;IAErC,qFAAqF;IAC5E,GAAG,CAAU;IACtB;;;;;OAKG;IACM,MAAM,CAAU;IACzB,+EAA+E;IACtE,aAAa,CAAqB;IAC3C,2EAA2E;IAClE,SAAS,CAAqB;IAEvC,0FAA0F;IAC1F,QAAQ,CAA0B;IAClC,8EAA8E;IAC9E,cAAc,CAAqB;IACnC,0FAA0F;IAC1F,SAAS,GAAqB,EAAE,CAAC;IACjC,8DAA8D;IAC9D,SAAS,GAAiB,EAAE,CAAC;IAC7B,0DAA0D;IAC1D,MAAM,GAAiB,EAAE,CAAC;IAC1B,+FAA+F;IAC/F,aAAa,GAAqB,EAAE,CAAC;IACrC;;;;OAIG;IACH,yBAAyB,GAAG,KAAK,CAAC;IAClC,8FAA8F;IAC9F,aAAa,GAAG,CAAC,CAAC;IAClB,+FAA+F;IAC/F,OAAO,CAA4B;IACnC;;;;;OAKG;IACH,eAAe,CAAkC;IACjD;;;;OAIG;IACH,gBAAgB,GAAG,KAAK,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAoC;IAC5C,mFAAmF;IACnF,OAAO,CAAqB;IAC5B,OAAO,CAAqB;IAC5B,YAAY,CAAqB;IACjC,aAAa,CAAqB;IAClC,sEAAsE;IACtE,WAAW,CAAkC;IAC7C;;;;OAIG;IACH,eAAe,CAAqB;IACpC;;;;;OAKG;IACH,UAAU,CAAoC;IAC9C,iGAAiG;IACjG,cAAc,GAAG,KAAK,CAAC;IACvB;;;;OAIG;IACH,WAAW,CAMK;IAChB,qFAAqF;IACrF,gBAAgB,CAA8B;IAC9C;;;;OAIG;IACM,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAC;IAClD;;;;OAIG;IACH,cAAc,CAAqB;IACnC,qEAAqE;IACrE,YAAY,GAAG,KAAK,CAAC;IACrB,8FAA8F;IAC9F,mBAAmB,GAAG,KAAK,CAAC;IAC5B,6EAA6E;IAC7E,cAAc,GAAG,KAAK,CAAC;IACvB,2FAA2F;IAC3F,WAAW,CAA4B;IACvC,+FAA+F;IAC/F,OAAO,GAAG,KAAK,CAAC;IAChB,2FAA2F;IAC3F,QAAQ,CAA4B;IACpC,2FAA2F;IAClF,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;IACjD;;;;;;OAMG;IACM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;IACjD;;;;OAIG;IACM,cAAc,GAAG,IAAI,GAAG,EAAoB,CAAC;IACtD,oFAAoF;IAC3E,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IAEhD;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,GAAY,EAAE,OAAyB;QACjD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAY,EAAE,OAAyB;QACrD,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,UAAU,CACnB,GAAY,EACZ,OAAyB;QAEzB,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QACpC,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB;QACnB,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC1D,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACzE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;YACvB,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,MAAM,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,MAAM,CAAC;YAC9B,IAAI,CAAC,YAAY,GAAG,MAAM,EAAE,WAAW,CAAC;YACxC,IAAI,CAAC,aAAa,GAAG,MAAM,EAAE,YAAY,CAAC;YAC1C,IAAI,CAAC,eAAe;gBAChB,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACH,YAAoB,GAAY,EAAE,OAAyB;QACvD,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,mFAAmF;QACnF,kFAAkF;QAClF,2EAA2E;QAC3E,IAAI,CAAC,QAAQ,GAAG,8BAA8B,CAC1C,iBAAiB,CACb,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAChE,OAAO,CAAC,WAAW,CAAC,QAAQ,CAC/B,CACJ,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG;YACT,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,YAAY,IAAI,EAAE;YACtD,KAAK,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;SAClD,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,IAAI,6BAA6B,CAAC;QAC/E,IAAI,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,qFAAqF;QACrF,qFAAqF;QACrF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,IAAI,eAAe,CAAC;QAC7D,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACH,UAAU;QACN,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,gGAAgG;IAChG,YAAY,CAAC,GAAY;QACrB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;QAClE,OAAO,cAAc,CACjB,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAC5D,IAAI,CAAC,MAAM,CACd,CAAC;IACN,CAAC;IAED,wFAAwF;IACxF,KAAK,CAAC,WAAW,CAAC,GAAY;QAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,aAAa,CAAC,EAAE,KAAK,CAAC;QACrE,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAChC,MAAM,MAAM,GAAG,cAAc,CAAC,KAAoB,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IAClC,CAAC;IAED,sFAAsF;IACtF,UAAU;QAQN,OAAO;YACH,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,QAAQ,EAAE,IAAI,CAAC,WAAW;YAC1B,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,cAAc,EAAE,IAAI,CAAC,eAAe;SACvC,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,GAAY,EAAE,KAA4B,EAAE,KAAK,GAAG,KAAK;QAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,KAAK,UAAU;YAAE,OAAO;QAC1D,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,sBAAsB,EAAE,OAAO,CAAC,CAAC;QACzE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;IACtC,CAAC;IAED,+EAA+E;IAC/E,aAAa,CAAC,KAA4B;QACtC,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO;YACH,KAAK;YACL,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/D,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;YAC9E,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;SACpF,CAAC;IACN,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,WAAW,CACb,KAA4B,EAC5B,QAAiD;QAEjD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,IACI,QAAQ,KAAK,SAAS;YACtB,sBAAsB,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,eAAe;YACxD,IAAI,CAAC,cAAc,EACrB,CAAC;YACC,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBACjE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;oBACvB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC3B,IAAI,CAAC,UAAU,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBAChF,CAAC;gBACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACzB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBAC1C,OAAO,SAAS,CAAC;gBACrB,CAAC;gBACD,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;oBAC1D,yEAAyE;oBACzE,4EAA4E;oBAC5E,qBAAqB;oBACrB,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC9C,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACjE,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,QAAQ,KAAK,SAAS;gBAAE,MAAM,KAAK,CAAC;YACxC,iFAAiF;YACjF,mEAAmE;YACnE,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,GAAY;QAC5B,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CACP,GAAY,EACZ,OAA2B,EAC3B,OAAyD;QAEzD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CACN,GAAY,EACZ,OAA2B,EAC3B,OAAyD;QAEzD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,GAAY,EAAE,MAAqB;QACpD,IAAI,CAAC,gCAAgC,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,WAAW,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACnF,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChE,IACI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,yBAAyB,EAAE,EAClC,CAAC;YACC,MAAM,IAAI,KAAK,CACX,8EAA8E;gBAC1E,0EAA0E,CACjF,CAAC;QACN,CAAC;QACD,IAAI,MAA4B,CAAC;QACjC,IAAI,IAAkB,CAAC;QACvB,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACpD,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YACvE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,EAAE,GAAG,gBAAgB,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;YAC3E,IAAI,gBAAgB,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3D,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,GAAG,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACrD,MAAM,GAAG;gBACL,OAAO,EAAE,IAAI,CAAC,EAAE;gBAChB,gBAAgB;gBAChB,MAAM,EAAE,WAAW;gBACnB,QAAQ;aACX,CAAC;YACF,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACzD,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC/D,MAAM,IAAI,CAAC,yBAAyB,CAChC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,EAC5B,KAAK,EAAE,OAAO,EAAE,EAAE,CACd,MAAM,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,CACvC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAC1B,MAAM,CACT,CACR,CAAC;YACN,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,aAAa,CACpB,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,EAC7C,IAAI,CAAC,MAAM,CAAC,eAAe,EAC3B,MAAM,CACT,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CACR,GAAY,EACZ,IAA0B,EAC1B,OAA2B,EAC3B,OAAsE;QAEtE,IAAI,CAAC,gCAAgC,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;QAC/D,MAAM,EACF,KAAK,EAAE,aAAa,EACpB,EAAE,GAAG,QAAQ,EAAE,EACf,QAAQ,EAAE,gBAAgB,EAC1B,GAAG,QAAQ,EACd,GAAG,OAAO,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,IAAI,GAAG,aAAa,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;QAC3D,wFAAwF;QACxF,0EAA0E;QAC1E,IAAI,CAAC,cAAc,CACf,GAAG,EACH,IAAI,EACJ,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,CAC/D,CAAC;QACF,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YAChC;gBACI,IAAI;gBACJ,EAAE;gBACF,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC;gBACjC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;gBAC/C,OAAO,EAAE,QAAQ;aACpB;SACJ,CAAC,CAAC;QACH,IAAI,IAAI,EAAE,CAAC;YACP,IAAI,CAAC;gBACD,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC;gBAChC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAC/D,CAAC;gBACD,OAAO,MAAM,CAAC;YAClB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,cAAc;oBAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxD,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC;QACD,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,cAAc;gBAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QACH,OAAO;YACH,EAAE;YACF,QAAQ,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YAChD,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;SACpD,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,GAAY,EAAE,IAAa,EAAE,SAAiB;QACzD,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO;QACnD,MAAM,IAAI,KAAK,CACX,eAAe,SAAS,yDAAyD;YAC7E,uEAAuE,CAC9E,CAAC;IACN,CAAC;IAED;;;;;;OAMG;IACH,cAAc;QACV,OAAO,WAAW,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9D,CAAC;IAED,2EAA2E;IAC3E,yBAAyB;QACrB,OAAO,sBAAsB,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IACzE,CAAC;IAED,2FAA2F;IAC3F,gCAAgC,CAAC,GAAY,EAAE,SAAiB;QAC5D,IAAI,uBAAuB,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CACX,SAAS,SAAS,uDAAuD,CAC5E,CAAC;QACN,CAAC;IACL,CAAC;IAED,wFAAwF;IACxF,KAAK,CAAC,qBAAqB,CACvB,GAAY,EACZ,IAA2C;QAE3C,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAChE,MAAM,IAAI,GAAG,sBAAsB,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;YACrD,OAAO,MAAM,sBAAsB,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE;gBACnE,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CACV,GAAY,EACZ,KAA8B;QAE9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChE,uFAAuF;QACvF,wEAAwE;QACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC/D,MAAM,QAAQ,GAA+D,EAAE,CAAC;YAChF,MAAM,OAAO,GAA6B,EAAE,CAAC;YAC7C,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACnD,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;oBAC1B,MAAM,WAAW,GAAG,WAAW,OAAO,CAAC,EAAE,EAAE,CAAC;oBAC5C,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;wBAC1E,OAAO,CAAC,IAAI,CAAC;4BACT,EAAE,EAAE,OAAO,CAAC,EAAE;4BACd,QAAQ,EAAE,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;4BACxD,QAAQ,EAAE,UAAU;yBACvB,CAAC,CAAC;wBACH,SAAS;oBACb,CAAC;oBACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;oBAC5D,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE;wBAC3C,EAAE,EAAE,OAAO,CAAC,EAAE;wBACd,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;wBACzE,OAAO,EAAE,OAAO,CAAC,OAAO;qBAC3B,CAAC,CAAC;oBACH,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;oBAChC,OAAO,CAAC,IAAI,CAAC;wBACT,EAAE,EAAE,OAAO,CAAC,EAAE;wBACd,QAAQ,EAAE,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;wBACxD,QAAQ,EAAE,SAAS;qBACtB,CAAC,CAAC;gBACP,CAAC;gBACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO;gBAClC,6EAA6E;gBAC7E,gFAAgF;gBAChF,gFAAgF;gBAChF,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;YACH,KAAK,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,QAAQ,EAAE,CAAC;gBACtC,iFAAiF;gBACjF,iFAAiF;gBACjF,2DAA2D;gBAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;gBACzE,KAAK,CAAC,IAAI,CAAC;oBACP,GAAG;oBACH,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACzE,OAAO,EAAE,OAAO,CAAC,OAAO;iBAC3B,CAAC,CAAC;YACP,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,SAAS,EAAE,CAAC;YACrB,CAAC;YACD,OAAO,OAAO,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC;YACD,OAAO,MAAM,QAAQ,CAAC;QAC1B,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK;QACD,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,EAAE,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAC/D,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,MAAM,IAAI,CAAC,WAAW,CAAC;QAC3B,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,OAAO,CAAC,GAAY,EAAE,OAA+B;QACvD,IAAI,CAAC,gCAAgC,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChE,qFAAqF;QACrF,uFAAuF;QACvF,wFAAwF;QACxF,yFAAyF;QACzF,yFAAyF;QACzF,sFAAsF;QACtF,qFAAqF;QACrF,uFAAuF;QACvF,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CACX,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,gDAAgD;gBAC5E,4EAA4E;gBAC5E,uEAAuE,CAC9E,CAAC;QACN,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC5C,IAAI,IAAI;YAAE,OAAO,UAAU,CAAC;QAC5B,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,wBAAwB,CAAC,MAAc;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;QACjC,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO;QAClC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,iBAAiB;QACb,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,OAAoB,CAAC;YACzB,IAAI,MAAiC,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC3C,OAAO,GAAG,GAAG,CAAC;gBACd,MAAM,GAAG,GAAG,CAAC;YACjB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAChD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,IAAsB,EAAE,IAAuB;QACxD,MAAM,OAAO,GAAG,IAAI;aACf,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;aACtB,OAAO,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC/B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QACP,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5B,wFAAwF;QACxF,yFAAyF;QACzF,8DAA8D;QAC9D,IAAI,IAAI,KAAK,QAAQ;YAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,+EAA+E;IAC/E,KAAK,CAAC,gBAAgB;QAClB,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACvD,CAAC;IACL,CAAC;IAED,yFAAyF;IACzF,KAAK,CAAC,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAClD,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa;QACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,IAAI,EAAE,CAAC;aACzC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aACjC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM;QACR,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;YACxD,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CACX,IAAI,CAAC,SAAS,KAAK,SAAS;oBACxB,CAAC,CAAC,gCAAgC,IAAI,CAAC,IAAI,IAAI;oBAC/C,CAAC,CAAC,gCAAgC,IAAI,CAAC,IAAI,mBAAmB,IAAI,CAAC,SAAS,IAAI,CACvF,CAAC;YACN,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,KAAK,CAAC,GAAY,EAAE,OAA+B;QACrD,IAAI,CAAC,gCAAgC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO;QAC9B,+EAA+E;QAC/E,uFAAuF;QACvF,sFAAsF;QACtF,oCAAoC;QACpC,IAAI,IAAI,EAAE,CAAC;YACP,MAAM,GAAG,CAAC;YACV,IAAI,CAAC,wBAAwB,CAAC,2CAA2C,CAAC,CAAC;YAC3E,OAAO;QACX,CAAC;QACD,KAAK,GAAG;aACH,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;aACtB,IAAI,CAAC,GAAG,EAAE;YACP,IAAI,CAAC,wBAAwB,CAAC,2CAA2C,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;IACX,CAAC;IAED;;;OAGG;IACH,YAAY;QACR,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;QAC7B,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,KAAK;QACP,yFAAyF;QACzF,0DAA0D;QAC1D,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,iBAAiB;YAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QACtD,oFAAoF;QACpF,yFAAyF;QACzF,gEAAgE;QAChE,IAAI,CAAC,QAAQ,KAAK,CAAC,KAAK,IAAI,EAAE;YAC1B,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACxB,mFAAmF;YACnF,+EAA+E;YAC/E,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC/D,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC9C,MAAM,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACnD,CAAC;YACD,IAAI,CAAC,wBAAwB,CAAC,iDAAiD,CAAC,CAAC;YACjF,6EAA6E;YAC7E,gFAAgF;YAChF,iEAAiE;YACjE,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC9B,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,QAAQ,CAAC;YACpB,OAAO;QACX,CAAC;QACD,wFAAwF;QACxF,mFAAmF;QACnF,sFAAsF;QACtF,+EAA+E;QAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC/B,GAAG,EAAE,CAAC,IAAI,EACV,GAAG,EAAE,CAAC,IAAI,CACb,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAC/B,QAAQ;YACR,IAAI,OAAO,CAAQ,CAAC,OAAO,EAAE,EAAE;gBAC3B,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,sBAAsB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YACvE,CAAC,CAAC;SACL,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,kFAAkF;YAClF,mFAAmF;YACnF,iFAAiF;YACjF,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACX,4EAA4E;gBACxE,sEAAsE;gBACtE,iBAAiB,CACxB,CAAC;QACN,CAAC;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACrF,MAAM,OAAO,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,SAAS;QACL,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO;QAC3C,wFAAwF;QACxF,uFAAuF;QACvF,IAAI,CAAC,WAAW,GAAG,WAAW;aACzB,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;aACrC,OAAO,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;YAC7B,kFAAkF;YAClF,kFAAkF;YAClF,4EAA4E;YAC5E,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACvC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,OAAO;YACX,CAAC;YACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACX,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ;QACV,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,KAAK,YAAY,EAAE,CAAC;YACxC,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,cAAc,CAAC;gBACtB,MAAM,EAAE,IAAI,CAAC,OAAO;gBACpB,YAAY,EAAE,IAAI,CAAC,aAAa;aACnC,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QACD,oFAAoF;QACpF,uDAAuD;QACvD,GAAG,CAAC;YACA,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAkB,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;YACrD,iFAAiF;YACjF,kFAAkF;YAClF,8EAA8E;YAC9E,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACnC,gFAAgF;YAChF,mFAAmF;YACnF,oFAAoF;YACpF,wDAAwD;YACxD,MAAM,IAAI,CAAC,WAAW,CAClB,WAAW,EACX,IAAI,CAAC,MAAM,CAAC,uBAAuB,KAAK,SAAS;gBAC7C,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAC1E,CAAC;YACF,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YAC1D,GAAG,CAAC;gBACA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;gBACjC,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC5B,2EAA2E;gBAC3E,6EAA6E;gBAC7E,2EAA2E;gBAC3E,aAAa;gBACb,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,gFAAgF;gBAChF,iEAAiE;gBACjE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;gBACzB,gFAAgF;gBAChF,4EAA4E;gBAC5E,6EAA6E;gBAC7E,4EAA4E;gBAC5E,kDAAkD;gBAClD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAC/C,GAAG,EAAE,CAAC,SAAS,EACf,CAAC,KAAc,EAAE,EAAE,CAAC,KAAK,CAC5B,CAAC;gBACF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC5B,MAAM,IAAI,CAAC,KAAK,CAAC;wBACb,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE,OAAO;wBACd,IAAI,EAAE,gBAAgB;wBACtB,OAAO,EACH,WAAW,YAAY,KAAK;4BACxB,CAAC,CAAC,WAAW,CAAC,OAAO;4BACrB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;qBAChC,CAAC,CAAC;oBACH,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;oBACzB,MAAM;gBACV,CAAC;gBACD,MAAM,SAAS,GAAG;oBACd,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,MAAM,EAAE,IAAI,CAAC,OAAO;oBACpB,aAAa,EAAE,IAAI,CAAC,cAAc;iBACrC,CAAC;gBACF,MAAM,IAAI,CAAC,WAAW,CAClB,WAAW,EACX,IAAI,CAAC,MAAM,CAAC,kBAAkB,KAAK,SAAS;oBACxC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAC1E,CAAC;gBACF,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC1E,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,IAAI,CAAC,mBAAmB;oBAAE,OAAO;gBACrC,MAAM,IAAI,GAAG;oBACT,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,aAAa,EAAE,IAAI,CAAC,cAAc;oBAClC,OAAO,EAAE,IAAI,CAAC,YAAY;iBAC7B,CAAC;gBACF,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;gBACrC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;gBACzB,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,WAAW,CAClB,WAAW,EACX,IAAI,CAAC,MAAM,CAAC,iBAAiB,KAAK,SAAS;wBACvC,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CACpE,CAAC;gBACN,CAAC;gBAAC,OAAO,KAAc,EAAE,CAAC;oBACtB,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC;oBAC/B,MAAM,KAAK,CAAC;gBAChB,CAAC;gBACD,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACpE,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO;oBAAE,MAAM;gBAChD,+EAA+E;gBAC/E,8EAA8E;gBAC9E,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACnC,CAAC,QAAQ,IAAI,EAAE;YACf,MAAM,IAAI,CAAC,WAAW,CAClB,WAAW,EACX,IAAI,CAAC,MAAM,CAAC,sBAAsB,KAAK,SAAS;gBAC5C,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CACzE,CAAC;YACF,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7E,CAAC,QAAQ,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;QAC/C,yFAAyF;QACzF,wFAAwF;QACxF,iFAAiF;QACjF,gDAAgD;QAChD,IAAI,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,CAAC;YACtB,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE;YAClC,YAAY,EAAE,IAAI,CAAC,aAAa;SACnC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,UAA+B;QAChD,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CACpD,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC7C,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAChC,MAAM,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;gBACzD,2EAA2E;gBAC3E,0EAA0E;gBAC1E,4EAA4E;gBAC5E,yCAAyC;gBACzC,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC,CAAC,CACL,CAAC;YACF,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACL,8EAA8E;QAClF,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,0BAA0B,CAC5B,KAAc,EACd,UAA+B;QAE/B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC;QACnD,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,MAAM,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CACxE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAC5B,CAAC;IACN,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,KAAc;QAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,eAAe;QACX,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;;;OAQG;IACH,gBAAgB;QACZ,MAAM,SAAS,GAAG,CAAC,KAAK,IAAI,EAAE;YAC1B,kFAAkF;YAClF,kFAAkF;YAClF,wBAAwB;YACxB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;YACpC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,aAAa,CACpB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,EAC7B,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAC7B,UAAU,CACb,CAAC;gBACF,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;YACjC,CAAC;QACL,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9B,KAAK,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,8FAA8F;IAC9F,KAAK,CAAC,aAAa,CACf,GAAY,EACZ,IAA4E,EAC5E,GAAG,IAAe;QAElB,IAAI,CAAC;YACD,MAAM,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACL,6CAA6C;QACjD,CAAC;IACL,CAAC;IAED,yDAAyD;IACzD,KAAK,CAAC,WAAW,CACb,IAA4E,EAC5E,GAAG,IAAe;QAElB,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,yBAAyB,CAC3B,KAAc,EACd,IAA4C;QAE5C,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACvC,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/C,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5D,CAAC;gBAAS,CAAC;YACP,QAAQ,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,aAAa,CACf,IAKe,EACf,MAAmB,EACnB,GAAG,IAAe;QAElB,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,IAAI,OAAiD,CAAC;QACtD,IAAI,CAAC;YACD,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACL,OAAO;QACX,CAAC;QACD,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO;QAC3B,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,mBAAmB,CACrB,IAKe,EACf,GAAG,IAAe;QAElB,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,IAAI,OAAiD,CAAC;QACtD,IAAI,CAAC;YACD,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACL,OAAO;QACX,CAAC;QACD,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAiD;QACpE,MAAM,KAAK,GAAmB,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,KAAK,IAAmB,EAAE;YACpC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACL,8CAA8C;YAClD,CAAC;QACL,CAAC,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;YACjC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,KAAK,EAAE,CAAC;gBACd,IAAI,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAChD,SAAS;YACb,CAAC;YACD,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBAAE,SAAS;YAC5C,IAAI,QAA0C,CAAC;YAC/C,IAAI,CAAC;gBACD,QAAQ,GAAG,uBAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACxD,CAAC;YAAC,MAAM,CAAC;gBACL,SAAS;YACb,CAAC;YACD,KAAK,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;gBACnD,EAAE;gBACF,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC;gBACxC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;gBAC/C,OAAO,EAAE,EAAE;aACd,CAAC,CAAC;QACP,CAAC;QACD,MAAM,KAAK,EAAE,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,KAAsB;QACtC,sFAAsF;QACtF,mFAAmF;QACnF,8EAA8E;QAC9E,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO;YACrC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;YAC1B,CAAC,CAAC,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,EAAE;gBACpC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACnF,CAAC,CAAC,CAAC;QACT,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3B,oFAAoF;YACpF,0EAA0E;YAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;YACnC,MAAM,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC;YACpD,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACvC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,+EAA+E;gBAC/E,+EAA+E;gBAC/E,iEAAiE;gBACjE,IAAI,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC;oBAC/E,OAAO;gBACX,CAAC;YACL,CAAC;YACD,+EAA+E;YAC/E,+EAA+E;YAC/E,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACxC,sFAAsF;YACtF,iFAAiF;YACjF,mFAAmF;YACnF,8EAA8E;YAC9E,IAAI,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACzB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,IAAI,MAAM,IAAI,CAAC,sBAAsB,EAAE;oBAAE,cAAc,GAAG,IAAI,CAAC;YACnE,CAAC;YACD,mFAAmF;YACnF,+EAA+E;YAC/E,iFAAiF;YACjF,kFAAkF;YAClF,gEAAgE;YAChE,iFAAiF;YACjF,iFAAiF;YACjF,kDAAkD;YAClD,IAAI,YAAgC,CAAC;YACrC,OAAO,IAAI,EAAE,CAAC;gBACV,gFAAgF;gBAChF,gFAAgF;gBAChF,8EAA8E;gBAC9E,6CAA6C;gBAC7C,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACvB,MAAM,cAAc,GAChB,cAAc,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;oBAC1E,IAAI,cAAc;wBAAE,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;oBAC3E,MAAM;gBACV,CAAC;gBACD,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CACnC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,EAClB,UAAU,CACb,CAAC;gBACF,IAAI,CAAC,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC/B,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAC7E,CAAC;gBACD,2EAA2E;gBAC3E,IAAI,CAAC,QAAQ,IAAI,CAAC,cAAc;oBAAE,MAAM;gBACxC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;gBAChD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;gBAC/D,4EAA4E;gBAC5E,gFAAgF;gBAChF,gFAAgF;gBAChF,UAAU;gBACV,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,OAAO;oBAAE,SAAS;gBAChF,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;gBACjC,MAAM,cAAc,GAA4B;oBAC5C,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE;oBAClC,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE;oBAClC,WAAW,EAAE,IAAI,CAAC,YAAY;oBAC9B,aAAa,EAAE,IAAI,CAAC,cAAc;iBACrC,CAAC;gBACF,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC;gBACrC,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC;gBACrC,MAAM,IAAI,CAAC,WAAW,CAClB,WAAW,EACX,IAAI,CAAC,MAAM,CAAC,uBAAuB,KAAK,SAAS;oBAC7C,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CACR,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,CAC3E,CAAC;gBACF,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;gBACpE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;oBAClC,OAAO,EAAE;wBACL,YAAY;wBACZ,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;qBAChC;oBACD,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC5D,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;oBAC/D,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;iBACjF,CAAC,CAAC;gBACH,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAChE,MAAM,EACN,YAAY,CACf,CAAC;gBACF,6EAA6E;gBAC7E,2EAA2E;gBAC3E,MAAM,SAAS,GAAG;oBACd,GAAG,cAAc;oBACjB,KAAK;oBACL,MAAM;oBACN,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;iBAC1D,CAAC;gBACF,MAAM,sBAAsB,GACxB,IAAI,CAAC,MAAM,CAAC,sBAAsB,KAAK,SAAS;oBAC5C,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,CAAC,OAAgB,EAAE,EAAE,CACjB,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACvE,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC;gBAC/C,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;gBAC9B,IAAI,CAAC;oBACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBACvB,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;oBAChE,CAAC;yBAAM,CAAC;wBACJ,MAAM,IAAI,CAAC,oBAAoB,CAC3B,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAC5B,sBAAsB,CACzB,CAAC;oBACN,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAc,EAAE,CAAC;oBACtB,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC;oBACzC,MAAM,KAAK,CAAC;gBAChB,CAAC;gBACD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;gBAC9D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;gBACxD,CAAC;gBACD,cAAc,GAAG,KAAK,CAAC;gBACvB,YAAY,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC5D,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;oBACxB,4EAA4E;oBAC5E,0EAA0E;oBAC1E,2EAA2E;oBAC3E,2EAA2E;oBAC3E,6CAA6C;oBAC7C,IACI,CAAC,CAAC,MAAM,IAAI,CAAC,sBAAsB,CAC/B,0DAA0D,CAC7D,CAAC,EACJ,CAAC;wBACC,MAAM;oBACV,CAAC;gBACL,CAAC;gBACD,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;oBACxB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CACxB,CAAC,KAAK,EAAiC,EAAE,CACrC,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAC1D,CAAC;oBACF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;wBAAE,SAAS;oBACjC,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,aAAa,CAC9C,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EAC3D,KAAK,EACL,KAAK,CAAC,MAAM,EACZ,YAAY,CACf,CAAC;oBACF,IAAI,iBAAiB;wBAAE,MAAM;oBAC7B,cAAc,GAAG,IAAI,CAAC;oBACtB,SAAS;gBACb,CAAC;gBACD,4EAA4E;gBAC5E,6EAA6E;gBAC7E,+EAA+E;gBAC/E,8EAA8E;gBAC9E,qDAAqD;gBACrD,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO;oBAAE,MAAM;YAC7E,CAAC;YACD,IACI,YAAY,KAAK,SAAS;gBAC1B,IAAI,CAAC,OAAO,KAAK,SAAS;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EACpD,CAAC;gBACC,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,KAAK,CAAC;gBACb,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAClE,CAAC,CAAC;YACH,mFAAmF;YACnF,kFAAkF;YAClF,qFAAqF;YACrF,gFAAgF;YAChF,gCAAgC;YAChC,IACI,MAAM,IAAI,CAAC,sBAAsB,CAAC,iDAAiD,CAAC,EACtF,CAAC;gBACC,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtF,CAAC;QACL,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7C,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,sBAAsB;QACxB,MAAM,IAAI,GACN,IAAI,CAAC,eAAe,KAAK,MAAM;YAC/B,IAAI,CAAC,eAAe,KAAK,MAAM;YAC/B,IAAI,CAAC,eAAe,KAAK,QAAQ,CAAC;QACtC,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,KAAK,WAAW,EAAE,CAAC;YACjD,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,0FAA0F;IAC1F,KAAK,CAAC,aAAa;QACf,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAC1D,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,MAAM,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,OAAO,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CACtB,MAA0B,EAC1B,QAA+C;QAE/C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC1D,MAAM,KAAK,GAAG,CAAC,QAAiB,EAAiB,EAAE,CAC/C,MAAM,KAAK,SAAS;oBAChB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC;oBACpD,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBACxE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACzB,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;oBACrB,OAAO;gBACX,CAAC;gBACD,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;oBACnD,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;oBACnB,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;oBACpD,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAC1D,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,iFAAiF;YACjF,oFAAoF;YACpF,qFAAqF;YACrF,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACrC,IAAI,QAAQ,KAAK,SAAS;gBAAE,MAAM,KAAK,CAAC;QAC5C,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,cAAc,CAAC,MAAmB;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;QACjC,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO;QAClC,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACrC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7E,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YACrC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,kFAAkF;YAClF,mFAAmF;YACnF,8BAA8B;YAC9B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;gBAClE,OAAO,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE;gBAC7C,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;aAC/D,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;oBAC1D,uEAAuE;oBACvE,2DAA2D;oBAC3D,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;wBACnD,MAAM,IAAI,CAAC,wBAAwB,CAC/B,KAAK,EACL,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CACtC,CAAC;wBACF,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;wBAC5C,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE;4BAClC,IAAI,EAAE,YAAY;4BAClB,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;yBACpC,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAC9C,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC;gBACxC,CAAC,CAAC,CAAC;gBACH,0EAA0E;gBAC1E,0DAA0D;gBAC1D,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAC/C,CAAC;YACD,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;YAC7B,OAAO,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;YAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,sBAAsB,CAAC,MAAc;QACvC,4EAA4E;QAC5E,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC1D,+EAA+E;gBAC/E,8EAA8E;gBAC9E,6DAA6D;gBAC7D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACrE,MAAM,UAAU,GAAG,IAAI,GAAG,CACtB,OAAO,CAAC,GAAG,CACP,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,cAAc,CACxE,CACJ,CAAC;gBACF,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;oBACnD,OAAO,GAAG,IAAI,CAAC;oBACf,OAAO;gBACX,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBACrC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC9C,OAAO;wBACH,GAAG,KAAK;wBACR,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC;qBACvD,CAAC;gBACN,CAAC,CAAC,CAAC;gBACH,gFAAgF;gBAChF,iFAAiF;gBACjF,6EAA6E;gBAC7E,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;oBACnD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;wBAC1B,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAC9B,KAAK,EACL,KAAK,CAAC,GAAG,EACT,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAC/B,CAAC;oBACN,CAAC;oBACD,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC9C,CAAC,CAAC,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC;gBACd,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;oBACnD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;wBAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;wBAC/B,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;wBACnE,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;wBACtD,uEAAuE;wBACvE,uEAAuE;wBACvE,sEAAsE;wBACtE,MAAM,IAAI,CAAC,uBAAuB,CAC9B,KAAK,EACL,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,cAAc,EACpB,IAAI,CAAC,MAAM,CAAC,qBAAqB,EACjC,MAAM,CACT,CAAC;wBACF,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACzD,CAAC;oBACD,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAClD,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;gBAClE,OAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,MAAM,CAAC;YACL,IAAI,MAAM;gBAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAC5C,iFAAiF;YACjF,+DAA+D;QACnE,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,GAAY,EAAE,MAAmB;QACjD,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,0FAA0F;IAC1F,KAAK,CAAC,wBAAwB,CAAC,GAAY,EAAE,OAA+B;QACxE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;gBACjE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC9C,CAAC;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CACpB,GAAY,EACZ,IAAuC;QAEvC,yFAAyF;QACzF,wFAAwF;QACxF,+DAA+D;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;YAChC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;YAClC,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,cAAc,CAAC,OAAe;QAChC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO;QACvC,MAAM,OAAO,GAAyB;YAClC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,OAAO,EAAE,EAAE,CAAC;SACxE,CAAC;QACF,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC1D,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,MAAM,CAAC;YACL,iEAAiE;QACrE,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CACf,KAAmB,EACnB,IAAwB,EACxB,IAA0B;QAE1B,MAAM,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC;QAC1B,6FAA6F;QAC7F,MAAM,QAAQ,GAA+B,EAAE,CAAC;QAChD,IAAI,gBAA2D,CAAC;QAChE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC3E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACrC,kFAAkF;YAClF,MAAM,OAAO,GAAG,IAAI,GAAG,CACnB,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAC9E,CAAC;YACF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAClE,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;gBAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;YACnF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACpC,kFAAkF;YAClF,iFAAiF;YACjF,oFAAoF;YACpF,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC;YAChC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;YACxB,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC1B,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;YACpC,IAAI,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;YAC1C,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;gBACxB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACvC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;oBAClC,OAAO,GAAG,IAAI,CAAC;gBACnB,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBACpC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBAC5B,OAAO,GAAG,IAAI,CAAC;gBACnB,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBACrC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;oBAC9B,OAAO,GAAG,IAAI,CAAC;gBACnB,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC1C,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;oBACxC,OAAO,GAAG,IAAI,CAAC;gBACnB,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;oBAC7C,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;oBAC9C,OAAO,GAAG,IAAI,CAAC;gBACnB,CAAC;YACL,CAAC;YACD,uFAAuF;YACvF,oFAAoF;YACpF,oDAAoD;YACpD,MAAM,UAAU,GACZ,cAAc,KAAK,IAAI,CAAC,eAAe;gBACnC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;YACvE,iFAAiF;YACjF,gFAAgF;YAChF,iFAAiF;YACjF,2EAA2E;YAC3E,iFAAiF;YACjF,qEAAqE;YACrE,MAAM,gBAAgB,GAAG,QAAQ,KAAK,IAAI,CAAC,WAAW,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC;YAChF,IAAI,KAAK,GAAG,KAAK,CAAC;YAClB,IAAI,QAA0C,CAAC;YAC/C,IAAI,gBAAgB,EAAE,CAAC;gBACnB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACnD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAClD,KAAK;wBACD,YAAY,KAAK,IAAI;4BACrB,QAAQ,KAAK,IAAI;4BACjB,CAAC,2BAA2B,CACxB;gCACI,OAAO,EAAE,IAAI,CAAC,MAAM;gCACpB,UAAU,EAAE,IAAI,CAAC,WAAW;gCAC5B,YAAY,EAAE,YAAY;6BAC7B,EACD;gCACI,OAAO,EAAE,KAAK;gCACd,UAAU,EAAE,QAAQ;gCACpB,YAAY,EAAE,QAAQ;6BACzB,CACJ,CAAC;gBACV,CAAC;qBAAM,CAAC;oBACJ,0EAA0E;oBAC1E,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC;gBAClC,CAAC;YACL,CAAC;YACD,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACnD,IAAI,gBAAgB,EAAE,CAAC;oBACnB,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBAChE,kEAAkE;wBAClE,yEAAyE;wBACzE,wEAAwE;wBACxE,yEAAyE;wBACzE,kEAAkE;wBAClE,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;wBACxC,kEAAkE;wBAClE,6DAA6D;wBAC7D,uCAAuC;wBACvC,MAAM,cAAc,GAAG,YAAY,CAC/B,gBAAgB,CAAC,KAAK,EAAE;4BACpB,EAAE,EAAE,IAAI,CAAC,EAAE;4BACX,QAAQ;4BACR,KAAK;4BACL,MAAM;4BACN,WAAW;4BACX,cAAc;yBACjB,CAAC,EACF,SAAS,CAAC,MAAM,CACnB,CAAC;wBACF,MAAM,SAAS,GAAG,cAAc,CAC5B,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,EACrC,IAAI,CAAC,MAAM,CACd,CAAC;wBACF,IAAI,CAAC;4BACD,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE;gCACjD,aAAa,EAAE,IAAI,CAAC,MAAM;gCAC1B,KAAK;gCACL,gBAAgB,EAAE,IAAI,CAAC,WAAW;gCAClC,QAAQ;gCACR,SAAS,EAAE,IAAI,CAAC,UAAU;gCAC1B,QAAQ,EAAE,KAAK;6BAClB,CAAC,CAAC;wBACP,CAAC;wBAAC,MAAM,CAAC;4BACL,oEAAoE;4BACpE,6DAA6D;4BAC7D,gEAAgE;4BAChE,uCAAuC;4BACvC,IAAI,KAAK,EAAE,CAAC;gCACR,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC;gCAC5B,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;gCACpB,KAAK,GAAG,KAAK,CAAC;4BAClB,CAAC;wBACL,CAAC;gCAAS,CAAC;4BACP,0DAA0D;4BAC1D,SAAS,CAAC,KAAK,EAAE,CAAC;wBACtB,CAAC;wBACD,IAAI,CAAC,KAAK;4BAAE,QAAQ,GAAG,SAAS,CAAC;oBACrC,CAAC;gBACL,CAAC;gBACD,8EAA8E;gBAC9E,4EAA4E;gBAC5E,kBAAkB;gBAClB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;oBACxB,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC1D,CAAC;gBACD,IAAI,KAAK,EAAE,CAAC;oBACR,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBAChF,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBAC5C,6DAA6D;oBAC7D,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;oBACtD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBACzB,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;4BAC5B,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,QAAQ;yBACpB,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;gBACD,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;oBACxB,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;wBAC5B,IAAI,EAAE,MAAM;wBACZ,EAAE,EAAE,KAAK,CAAC,EAAE;wBACZ,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;qBACxE,CAAC,CAAC;gBACP,CAAC;gBACD,IAAI,OAAO,EAAE,CAAC;oBACV,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE;wBAClD,QAAQ;wBACR,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;wBACzC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;wBAC3C,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;wBACrD,cAAc;qBACjB,CAAC,CAAC;gBACP,CAAC;gBACD,4EAA4E;gBAC5E,sEAAsE;gBACtE,uEAAuE;gBACvE,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAC9C,gFAAgF;gBAChF,8EAA8E;gBAC9E,sEAAsE;gBACtE,MAAM,SAAS,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;gBAC3E,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC3B,MAAM,IAAI,CAAC,mBAAmB,CAC1B,KAAK,EACL,SAAS,EACT,IAAI,CAAC,MAAM,CAAC,6BAA6B,EACzC,UAAU,CACb,CAAC;gBACN,CAAC;gBACD,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;oBACxB,MAAM,IAAI,CAAC,mBAAmB,CAC1B,KAAK,EACL,SAAS,EACT,IAAI,CAAC,MAAM,CAAC,uBAAuB,EACnC;wBACI,EAAE,EAAE,KAAK,CAAC,EAAE;wBACZ,IAAI;wBACJ,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;qBACxE,CACJ,CAAC;gBACN,CAAC;YACL,CAAC,CAAC,CAAC;YACH,oFAAoF;YACpF,8EAA8E;YAC9E,gBAAgB,GAAG,UAAU,CAAC;YAC9B,QAAQ,CAAC,IAAI,CACT,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACrB,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI;gBACJ,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;aACxE,CAAC,CAAC,CACN,CAAC;YACF,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACvB,IAAI,KAAK,EAAE,CAAC;gBACR,IAAI,CAAC,SAAS,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC1D,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YACpC,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5D,iFAAiF;YACjF,mFAAmF;YACnF,2EAA2E;YAC3E,IACI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBACxB,IAAI,CAAC,WAAW,KAAK,SAAS,EAChC,CAAC;gBACC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAChC,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;gBAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;gBAChC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;gBACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,qFAAqF;QACrF,2BAA2B;QAC3B,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;QAChF,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,mBAAmB,CACrB,KAAc,EACd,SAMC,EACD,IAA4E,EAC5E,QAAkB;QAElB,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;QACvE,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IACxF,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY;QACd,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC1D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,eAAe,GAAG,IAAI,EAAE,IAAI,CAAC;YAClC,IAAI,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC1E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACnE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACzE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACvE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC1B,kFAAkF;YAClF,8CAA8C;YAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,KAAgD,CAAC;YAC9E,IAAI,CAAC,cAAc,GAAG,QAAQ,EAAE,MAAM,CAAC;YACvC,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,KAAc,EAAc,EAAE;gBACtD,MAAM,QAAQ,GAAG,KAKhB,CAAC;gBACF,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;oBACzC,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,sBAAsB,CAAC,CAAC;gBAC5E,CAAC;gBACD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC5D,OAAO;oBACH,GAAG;oBACH,EAAE,EAAE,QAAQ,CAAC,EAAE;oBACf,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;oBAC/C,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;iBAClC,CAAC;YACN,CAAC,CAAC;YACF,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;YACrE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;YAC/D,oFAAoF;YACpF,6EAA6E;YAC7E,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,KAA4C,CAAC;YAC5E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC1B,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS;oBAAE,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC;gBAC5E,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC;gBAC9B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC;gBAChC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,WAAW,CAAC;gBAC1C,mFAAmF;gBACnF,+EAA+E;gBAC/E,kFAAkF;gBAClF,wEAAwE;gBACxE,IAAI,qBAAqB,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;oBAClD,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,cAAc,CAAC;gBACpD,CAAC;gBACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,CAAC;YACD,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CACrD,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CACrC,CAAC;YACF,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACvC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,8EAA8E;gBAC9E,+EAA+E;gBAC/E,4EAA4E;gBAC5E,wEAAwE;gBACxE,cAAc;gBACd,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAC7C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;oBAChF,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;gBAC1C,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,aAAa,CACf,OAAkC,EAClC,MAAe,EACf,MAAmB,EACnB,YAAqC;QAErC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CACpD,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC7C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC1B,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAC9B,KAAK,EACL,KAAK,CAAC,GAAG,EACT,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAC/B,CAAC;gBACN,CAAC;gBACD,yEAAyE;gBACzE,2EAA2E;gBAC3E,qDAAqD;gBACrD,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC1C,2EAA2E;gBAC3E,iCAAiC;gBACjC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC1B,MAAM,IAAI,CAAC,uBAAuB,CAC9B,KAAK,EACL,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,cAAc,EACpB,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAClC,KAAK,CAAC,IAAI,CACb,CAAC;gBACN,CAAC;YACL,CAAC,CAAC,CACL,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,OAAO,GAA6C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpF,wFAAwF;QACxF,MAAM,OAAO,GAAwC,EAAE,CAAC;QACxD,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAC9B,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,qFAAqF;QACrF,uFAAuF;QACvF,uFAAuF;QACvF,uFAAuF;QACvF,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,MAAM,WAAW,GAAG,KAAK,IAAmB,EAAE;YAC1C,IAAI,YAAY;gBAAE,OAAO;YACzB,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;oBAC1D,OAAO,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;wBAChC,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;wBACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;wBACpC,IAAI,KAAK,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS;4BAAE,OAAO;wBAC1D,IAAI,MAAM,GAAG,QAAQ,CAAC;wBACtB,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;4BACnD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;4BAChD,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;4BACvE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;4BACpE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,KAAK,CAAC;4BAClE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,EAAE,MAAM,CAAC,EAAE,CAAC;gCAC/C,MAAM,IAAI,KAAK,CACX,wCAAwC,KAAK,CAAC,EAAE,iBAAiB,CACpE,CAAC;4BACN,CAAC;4BACD,MAAM,MAAM,GAAG,MAAkC,CAAC;4BAClD,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,cAAc,EAAE,CAAC;gCACzC,MAAM,IAAI,KAAK,CACX,wCAAwC,KAAK,CAAC,EAAE,mCAAmC,CACtF,CAAC;4BACN,CAAC;4BACD,MAAM,GAAG,MAAM,CAAC;4BAChB,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;4BAC5B,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;gCAC5B,IAAI,EAAE,MAAM;gCACZ,OAAO,EAAE,MAAM;6BAClB,CAAC,CAAC;4BACH,mEAAmE;4BACnE,8DAA8D;4BAC9D,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;4BACtD,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;4BACtD,MAAM,IAAI,CAAC,uBAAuB,CAC9B,KAAK,EACL,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,cAAc,EACpB,IAAI,CAAC,MAAM,CAAC,qBAAqB,EACjC,MAAM,CACT,CAAC;4BACF,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACzD,CAAC,CAAC,CAAC;wBACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC5B,SAAS,IAAI,CAAC,CAAC;oBACnB,CAAC;oBACD,2EAA2E;oBAC3E,6EAA6E;oBAC7E,4EAA4E;oBAC5E,IAAI,SAAS,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;wBAC/B,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;oBACpD,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,YAAY,GAAG,IAAI,CAAC;gBACpB,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC,CAAC;QACF,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;QACxB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CACrB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC/B,IAAI,OAAkD,CAAC;YACvD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAChC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC;YAC9B,CAAC;iBAAM,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACxD,OAAO,GAAG,WAAW,CACjB,KAAK,CAAC,IAAI,CAAC,MAAM,EACjB,iEAAiE,CACpE,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CACnC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EACrC,KAAK,CACR,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxB,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YAClF,CAAC;YACD,IAAI,OAAO,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,iBAAiB,GAAG,IAAI,CAAC;YACrE,OAAO,CAAC,KAAK,CAAC;gBACV,OAAO,KAAK,OAAO;oBACf,CAAC,CAAC;wBACI,IAAI,EAAE,MAAM;wBACZ,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM;wBACzB,OAAO,EAAE;4BACL;gCACI,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,MAAM,CAAC,OAAO;oCAChB,CAAC,CAAC,4BAA4B;oCAC9B,CAAC,CAAC,oDAAoD;6BAC7D;yBACJ;wBACD,OAAO,EAAE,IAAI;qBAChB;oBACH,CAAC,CAAC,OAAO,CAAC;YAClB,MAAM,WAAW,EAAE,CAAC;QACxB,CAAC,CAAC,CACL,CAAC;QACF,IAAI,CAAC;YACD,MAAM,KAAK,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,sFAAsF;QACtF,wFAAwF;QACxF,uFAAuF;QACvF,6BAA6B;QAC7B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;QACvD,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,aAAa;QACT,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1E,OAAO,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,EAAE;YAC3C,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC3E,IAAI,EAAE,IAAI;aACb,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,4FAA4F;IAC5F,KAAK,CAAC,UAAU,CAAC,IAA0B;QACvC,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACnC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CACxF,CAAC;QACF,OAAO,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,QAAmC;QAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW;YAAE,OAAO,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACtB,CAAC,KAAK,EAAiC,EAAE,CACrC,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAC1D,CAAC;IACN,CAAC;IAED,oFAAoF;IACpF,aAAa,CAAC,KAAa,EAAE,IAA0B;QACnD,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;QACtB,OAAO;YACH,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;YAC7B,EAAE;YACF,cAAc,EAAE,IAAI,CAAC,MAAM;YAC3B,IAAI;SACP,CAAC;IACN,CAAC;IAED,8FAA8F;IAC9F,iBAAiB,CAAC,GAAW,EAAE,KAAc;QACzC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,iBAAiB,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,MAAM,GAAG,KAAuB,CAAC;QACvC,IACI,MAAM,CAAC,SAAS,KAAK,SAAS;YAC9B,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,EAAE,MAAM,CAAC,SAAS,CAAC,EACxD,CAAC;YACC,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,iBAAiB,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,IAAI,GAAyB;YAC/B,GAAG,MAAM,CAAC,IAAI;YACd,MAAM,EAAE,MAAM,CAAC,cAAc;SAChC,CAAC;QACF,OAAO;YACH,GAAG;YACH,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,IAAI;YACJ,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS;gBAC9B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAqC,EAAE,CAAC;SACrE,CAAC;IACN,CAAC;IAED,2FAA2F;IAC3F,gBAAgB,CAAC,KAAqB;QAClC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;QACzE,OAAO;YACH,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,IAAI;YACJ,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;SAC3E,CAAC;IACN,CAAC;IAED,iFAAiF;IACjF,QAAQ,CAAC,KAAa,EAAE,EAAU;QAC9B,OAAO,QAAQ,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IAC1D,CAAC;IAED,yFAAyF;IACzF,cAAc,CAAC,EAAU;QACrB,OAAO,cAAc,EAAE,EAAE,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,GAAY,EAAE,EAAU,EAAE,cAAsB;QACxD,OAAO,oBAAoB,CACvB,cAAc,CACV,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAC7C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CACjC,EACD,yBAAyB,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAC5D,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,uBAAuB,CACzB,KAAc,EACd,EAAU,EACV,cAAsB,EACtB,IAA4E,EAC5E,QAAkB;QAElB,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACvC,IAAI,CAAC;YACD,MAAM,IAAI,CACN,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,EAC1E,QAAQ,CACX,CAAC;QACN,CAAC;gBAAS,CAAC;YACP,QAAQ,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,GAAY,EAAE,KAAqB;QACtD,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACvB,MAAM,OAAO,GAAG,CAAC,IAAY,EAA4B,EAAE,CAAC,CAAC;YACzD,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACjC,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACnC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CACxF,CAAC;QACF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,qBAAqB,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,oDAAoD,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChF,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,OAAO,CAAC,sBAAsB,IAAI,CAAC,IAAI,wBAAwB,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC;YACvE,OAAO,OAAO,CAAC,sBAAsB,IAAI,CAAC,IAAI,6BAA6B,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;QAC9D,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;QAC3C,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,WAAW,CACvB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,EACrD,aAAa,CAChB,CAAC;QACF,wFAAwF;QACxF,yFAAyF;QACzF,mEAAmE;QACnE,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,IAAI,YAAY,GAAG,IAAI,CAAC;QACxB,IAAI,OAA6B,CAAC;QAClC,IAAI,gBAAkD,CAAC;QACvD,IAAI,aAA2C,CAAC;QAChD,IAAI,gBAA0D,CAAC;QAC/D,MAAM,SAAS,GAAG,IAAI,OAAO,CAAuB,CAAC,OAAO,EAAE,EAAE;YAC5D,gBAAgB,GAAG,OAAO,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,CAAC,MAAe,EAAwB,EAAE,CAAC,CAAC;YAC3D,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,GAAG;YACT,SAAS,EAAE,YAAY;YACvB,OAAO,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/B,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI;YACvC,MAAM;SACT,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,KAAK,EAAE,SAAkB,EAAE,MAAe,EAAoB,EAAE;YAC3E,IAAI,aAAa,KAAK,SAAS;gBAAE,OAAO,MAAM,aAAa,CAAC;YAC5D,IAAI,YAAY,CAAC,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;gBACtE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,IAAI,gCAAgC,CAAC,CAAC;YACvE,CAAC;YACD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YACrC,MAAM,OAAO,GAA6B;gBACtC,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,KAAK,CAAC,cAAc;gBAC5B,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClD,CAAC;YACF,UAAU,GAAG,IAAI,CAAC;YAClB,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;gBACxB,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/C,MAAM,IAAI,KAAK,CACX,qEAAqE,CACxE,CAAC;gBACN,CAAC;gBACD,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;oBAC3D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CACtD,KAAK,EACL,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,EAC7B,OAAO,CACV,CAAC;oBACF,IAAI,CAAC,OAAO,EAAE,CAAC;wBACX,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;oBACrE,CAAC;oBACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;oBACrE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC5D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBACvB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;oBAC/D,CAAC;oBACD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;oBAChE,IAAI,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;wBAC1B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;oBACxE,CAAC;oBACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;wBAClC,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAC9B,KAAK,EACL,KAAK,CAAC,GAAG,EACT,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAC1D,CAAC;wBACF,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC9B,CAAC;oBACD,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE;wBACpB,gBAAgB,GAAG,SAAS,CAAC;wBAC7B,YAAY,CAAC,KAAK,EAAE,CAAC;wBACrB,gBAAgB,CAAC,SAAS,CAAC,CAAC;oBAChC,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC;YAClB,CAAC,CAAC,EAAE,CAAC;YACL,aAAa,GAAG,OAAO,CAAC;YACxB,IAAI,CAAC;gBACD,OAAO,MAAM,OAAO,CAAC;YACzB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;oBAC5B,aAAa,GAAG,SAAS,CAAC;oBAC1B,UAAU,GAAG,KAAK,CAAC;gBACvB,CAAC;gBACD,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC,CAAC;QACF,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE;gBACzD,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI;gBACJ,SAAS,EAAE,IAAI;aAClB,CAAC,CAAC;YACH,IAAI,QAAQ,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9B,6EAA6E;gBAC7E,mDAAmD;gBACnD,OAAO,GAAG;oBACN,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,IAAI;oBACJ,SAAS,EAAE,IAAI;oBACf,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;oBAC9B,OAAO,EAAE,QAAQ,CAAC,OAAO,KAAK,IAAI;iBACrC,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,IAAI,QAAQ,EAAE,IAAI,KAAK,SAAS;oBAAE,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC;gBACtD,IAAI,QAAQ,EAAE,SAAS,KAAK,SAAS;oBAAE,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC;gBACzE,oFAAoF;gBACpF,6EAA6E;gBAC7E,IACI,CAAC,GAAG,KAAK,IAAI,IAAI,YAAY,KAAK,IAAI,CAAC;oBACvC,GAAG,CAAC,UAAU,KAAK,SAAS;oBAC5B,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,EAC5C,CAAC;oBACC,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,CAAC,IAAI,6BAA6B,CAAC,CAAC;gBACjF,CAAC;gBACD,MAAM,MAAM,GACR,QAAQ,EAAE,cAAc,KAAK,SAAS;oBAClC,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;gBACpE,MAAM,YAAY,GAAG,YAAY,CAC7B,MAAM,EACN,WAAW,CAAC,GAAG,CACX,MAAM,CAAC,QAAQ,KAAK,SAAS;oBACzB,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC;oBACvB,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,CAC/C,CACJ,CAAC;gBACF,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAC7B,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,EAAE;oBACpC,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,cAAc,EAAE,KAAK,CAAC,cAAc;oBACpC,EAAE,EAAE,aAAa;oBACjB,MAAM;iBACT,CAAC,CACL,CAAC,IAAI,CACF,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAU,EACnD,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAU,CAC1D,CAAC;gBACF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBAC/B,SAAS;oBACT,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAU,CAAC;iBAC7E,CAAC,CAAC;gBACH,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBAC/B,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;gBAChC,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAClC,MAAM,OAAO,CAAC,KAAK,CAAC;gBACxB,CAAC;qBAAM,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;oBACxC,OAAO,GAAG,gBAAgB,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC/C,MAAM,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,IAAI,+BAA+B,CAAC,CAAC;oBACtE,CAAC;oBACD,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACzC,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,OAAO;gBACH,gBAAgB;oBACf;wBACG,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,IAAI,EAAE,GAAG;wBACT,SAAS,EAAE,YAAY;wBACvB,OAAO,EAAE;4BACL;gCACI,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;6BAC/D;yBACJ;wBACD,OAAO,EAAE,IAAI;qBACgB,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YACtE,OAAO;gBACH,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChD,CAAC;QACN,CAAC;gBAAS,CAAC;YACP,YAAY,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,GAAY,EAAE,MAAc;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAU,EAAE,CACnD,GAAG,MAAM,GAAG,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QAC5D,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtE,IAAI,QAAQ,KAAK,SAAS,IAAI,IAAI,GAAG,QAAQ;YAAE,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnE,uFAAuF;QACvF,oFAAoF;QACpF,OAAO,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CACV,MAAmC,EACnC,YAAqC;QAQrC,MAAM,OAAO,GAA4B,EAAE,CAAC;QAC5C,uFAAuF;QACvF,+EAA+E;QAC/E,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;QAClD,MAAM,OAAO,GAAG,KAAK,EAAE,KAA0C,EAAiB,EAAE;YAChF,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO;YAChC,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC1D,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;oBAC5C,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC7E,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;wBACnD,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;wBACvE,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CACpD,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAChD,CAAC;oBACN,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC,CAAC,CAAC;YACH,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAChD,uFAAuF;QACvF,oFAAoF;QACpF,mFAAmF;QACnF,sFAAsF;QACtF,yDAAyD;QACzD,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC;YACD,OAAO,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;gBACjE,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;oBACnB,8CAA8C;oBAC9C,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;oBACvD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;gBACtD,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBACrB,SAAS,GAAG,IAAI,CAAC;oBACjB,MAAM;gBACV,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACzB,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACxB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;oBACjB,KAAK,YAAY;wBACb,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;wBACzC,MAAM;oBACV,KAAK,YAAY,EAAE,CAAC;wBAChB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBACzC,IAAI,IAAI,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;4BACxB,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG;gCAC1B,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK;6BAChC,CAAC;wBACN,CAAC;wBACD,MAAM;oBACV,CAAC;oBACD,KAAK,UAAU,EAAE,CAAC;wBACd,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBACzC,MAAM,OAAO,CACT,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAChE,CAAC;wBACF,MAAM;oBACV,CAAC;oBACD,KAAK,iBAAiB;wBAClB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;wBAC9C,MAAM;oBACV,KAAK,iBAAiB,EAAE,CAAC;wBACrB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBACzC,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;4BAC7B,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG;gCAC1B,GAAG,IAAI;gCACP,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK;6BACxC,CAAC;wBACN,CAAC;wBACD,MAAM;oBACV,CAAC;oBACD,KAAK,eAAe,EAAE,CAAC;wBACnB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBACzC,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;4BAC7B,MAAM,QAAQ,GAAG;gCACb,GAAG,IAAI;gCACP,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS;oCAC7B,CAAC,CAAC,EAAE;oCACJ,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;6BACxC,CAAC;4BACF,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;4BACvC,MAAM,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;wBACjD,CAAC;wBACD,MAAM;oBACV,CAAC;oBACD,KAAK,gBAAgB;wBACjB,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;wBAClD,OAAO,CAAC,IAAI,CAAC;4BACT,IAAI,EAAE,WAAW;4BACjB,MAAM,EAAE,KAAK,CAAC,MAAM;4BACpB,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,SAAS,EAAE,EAAE;4BACb,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS;gCAC7B,CAAC,CAAC,EAAE;gCACJ,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;4BACrC,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;4BAC/D,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;yBAClE,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,cAAc,EAAE,CAAC;wBAClB,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;wBAChD,MAAM,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBAC/D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;4BACrD,MAAM,QAAQ,GAAG;gCACb,GAAG,KAAK;gCACR,SAAS,EAAE,KAAK,CAAC,SAAS;gCAC1B,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;oCAC9B,CAAC,CAAC,EAAE;oCACJ,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;6BAC1C,CAAC;4BACF,OAAO,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;4BAC1B,MAAM,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;wBACjD,CAAC;wBACD,MAAM;oBACV,CAAC;oBACD,6EAA6E;oBAC7E,2EAA2E;oBAC3E,mEAAmE;oBACnE,KAAK,uBAAuB,CAAC;oBAC7B,KAAK,uBAAuB,CAAC;oBAC7B,KAAK,qBAAqB;wBACtB,MAAM;oBACV,KAAK,MAAM;wBACP,OAAO;4BACH,oEAAoE;4BACpE,+DAA+D;4BAC/D,iEAAiE;4BACjE,oEAAoE;4BACpE,0CAA0C;4BAC1C,OAAO,EAAE,SAAS;4BAClB,KAAK,EAAE,KAAK,CAAC,KAAK;4BAClB,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACnE,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ;gCAC5B,KAAK,CAAC,KAAK,KAAK,WAAW;gCAC3B,KAAK,CAAC,KAAK,KAAK,QAAQ;gCACpB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;gCAC1B,CAAC,CAAC,EAAE,CAAC;yBACZ,CAAC;oBACN;wBACI,MAAM;gBACd,CAAC;YACL,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACzC,CAAC;gBAAS,CAAC;YACP,mFAAmF;YACnF,gFAAgF;YAChF,oFAAoF;YACpF,kCAAkC;YAClC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;YACtE,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAChB,YAAoB,EACpB,KAA8B;QAE9B,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QACjF,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,KAAK,GAAG,EAAE,CAAC;YAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,mFAAmF;YACnF,qFAAqF;YACrF,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,IAAI,CAAC;gBACD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACL,6CAA6C;YACjD,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9E,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,WAAW,sBAAsB,CAAC,CAAC;YACzE,CAAC;YACD,IAAI,CAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;gBAC5C,YAAY;gBACZ,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,6FAA6F;IAC7F,KAAK,CAAC,KAAK,CAAC,KAAmB;QAC3B,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACL,mDAAmD;QACvD,CAAC;IACL,CAAC;CACJ;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,OAA+B;IACxD,IAAI,QAAQ,GAAqB,EAAE,CAAC;IACpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC/B,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChC,SAAS;QACb,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/E,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9B,SAAS;QACb,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;YAC7B,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG;gBAC5B,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;aAC3C,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,wFAAwF;AACxF,SAAS,WAAW,CAAC,MAAc,EAAE,MAAc;IAC/C,OAAO;QACH,IAAI,EAAE,MAAM;QACZ,MAAM;QACN,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACzC,OAAO,EAAE,IAAI;KAChB,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CACrB,QAAgB,EAChB,KAAyB,EACzB,YAAoB,EACpB,KAA8B;IAE9B,OAAO,sBAAsB,CAAC;QAC1B,QAAQ;QACR,KAAK,IAAI,IAAI;QACb,YAAY;QACZ,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,SAAS,IAAI,IAAI;YACtB,IAAI,CAAC,oBAAoB,IAAI,IAAI;YACjC,IAAI,CAAC,WAAW,IAAI,IAAI;YACxB,IAAI,CAAC,UAAU,IAAI,IAAI;YACvB,IAAI,CAAC,KAAK,IAAI,IAAI;YAClB,IAAI,CAAC,MAAM,IAAI,IAAI;YACnB,IAAI,CAAC,OAAO,IAAI,IAAI;SACvB,CAAC;KACL,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"AgentBase.js","sourceRoot":"","sources":["../sources/AgentBase.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,15 @@ import { type AgentPermissionMode } from "./AgentPermissionMode.js";
6
6
  /** Storage-owned identity and lifetime of an active transaction facade. */
7
7
  export interface AgentStorageTransactionContext {
8
8
  readonly database: AgentDatabase;
9
+ readonly root: AgentDatabase;
9
10
  readonly lifetime: AbortSignal;
10
- readonly owner: object;
11
+ }
12
+ declare global {
13
+ namespace stdlib {
14
+ interface ContextExtensions {
15
+ readonly db: AgentDatabase;
16
+ }
17
+ }
11
18
  }
12
19
  /**
13
20
  * Derive the agent's context carrying its ID, provider ID, model, effort, service tier, and
@@ -62,7 +69,7 @@ export declare function agentRunKV(ctx: Context): AgentKV | undefined;
62
69
  export declare function withAgentDatabase(ctx: Context, database: AgentDatabase): Context;
63
70
  /** The active Drizzle database or transaction facade, when this work has durable storage. */
64
71
  export declare function agentDatabase(ctx: Context): AgentDatabase | undefined;
65
- /** Install the active facade and its owning storage for the duration of one transaction callback. */
72
+ /** Install the active facade for the duration of one transaction callback. */
66
73
  export declare function withAgentStorageTransaction(ctx: Context, transaction: AgentStorageTransactionContext): Context;
67
74
  /** The storage transaction carried by this context, including its ended state when retained. */
68
75
  export declare function agentStorageTransaction(ctx: Context): AgentStorageTransactionContext | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"AgentContexts.d.ts","sourceRoot":"","sources":["../sources/AgentContexts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EAA0B,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAiC,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAgCnG,2EAA2E;AAC3E,MAAM,WAAW,8BAA8B;IAC3C,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B;AAKD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC5B,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE;IACJ,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAC;CAChD,GACF,OAAO,CAOT;AAED,+CAA+C;AAC/C,wBAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAExD;AAED,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAE3D;AAED,2FAA2F;AAC3F,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,sBAAsB,GAAG,SAAS,CAE5E;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAE9D;AAED,uFAAuF;AACvF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,kBAAkB,GAAG,SAAS,CAE7E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAExF;AAED,yFAAyF;AACzF,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO,CAE9D;AAED,uFAAuF;AACvF,wBAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO,CAEjE;AAED,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAE5D;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAEhF;AAED,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CAErE;AAED,qGAAqG;AACrG,wBAAgB,2BAA2B,CACvC,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,8BAA8B,GAC5C,OAAO,CAKT;AAED,gGAAgG;AAChG,wBAAgB,uBAAuB,CACnC,GAAG,EAAE,OAAO,GACb,8BAA8B,GAAG,SAAS,CAE5C;AAED,yFAAyF;AACzF,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAEpE"}
1
+ {"version":3,"file":"AgentContexts.d.ts","sourceRoot":"","sources":["../sources/AgentContexts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EAAoD,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEpG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAiC,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AA2BnG,2EAA2E;AAC3E,MAAM,WAAW,8BAA8B;IAC3C,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;CAClC;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM,CAAC;QACb,UAAU,iBAAiB;YACvB,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;SAC9B;KACJ;CACJ;AAoBD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC5B,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE;IACJ,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAC;CAChD,GACF,OAAO,CAOT;AAED,+CAA+C;AAC/C,wBAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAExD;AAED,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAE3D;AAED,2FAA2F;AAC3F,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,sBAAsB,GAAG,SAAS,CAE5E;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAE9D;AAED,uFAAuF;AACvF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,kBAAkB,GAAG,SAAS,CAE7E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAExF;AAED,yFAAyF;AACzF,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO,CAE9D;AAED,uFAAuF;AACvF,wBAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO,CAEjE;AAED,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAE5D;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAShF;AAED,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CAErE;AAED,8EAA8E;AAC9E,wBAAgB,2BAA2B,CACvC,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,8BAA8B,GAC5C,OAAO,CAQT;AAED,gGAAgG;AAChG,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,8BAA8B,GAAG,SAAS,CAEhG;AAED,yFAAyF;AACzF,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAMpE"}
@@ -1,4 +1,4 @@
1
- import { createContextNamespace } from "@steve.kite/stdlib";
1
+ import { createContextNamespace, registerContextExtension } from "@steve.kite/stdlib";
2
2
  import { DEFAULT_AGENT_PERMISSION_MODE } from "./AgentPermissionMode.js";
3
3
  /** Backing storage for `agentId`: the ID of the agent owning a context. */
4
4
  const idNamespace = createContextNamespace("agentId", undefined);
@@ -16,9 +16,18 @@ const permissionModeNamespace = createContextNamespace("agentPermissionMode", DE
16
16
  const kvNamespace = createContextNamespace("agentKV", undefined);
17
17
  /** Backing storage for `agentRunKV`: the run's own store, erased when the agent settles. */
18
18
  const runKVNamespace = createContextNamespace("agentRunKV", undefined);
19
- /** Backing storage for the active Drizzle database or transaction facade. */
20
19
  const databaseNamespace = createContextNamespace("agentDatabase", undefined);
21
20
  const storageTransactionNamespace = createContextNamespace("agentStorageTransaction", undefined);
21
+ registerContextExtension("db", (ctx) => {
22
+ const transaction = storageTransactionNamespace.get(ctx);
23
+ if (transaction?.lifetime.aborted === true) {
24
+ throw new Error("The agent storage transaction carried by this context has ended.");
25
+ }
26
+ const database = databaseNamespace.get(ctx);
27
+ if (database === undefined)
28
+ throw new Error("Context has no agent database.");
29
+ return database;
30
+ });
22
31
  /**
23
32
  * Derive the agent's context carrying its ID, provider ID, model, effort, service tier, and
24
33
  * permission mode — all serializable values. The agent applies this once at construction, so hooks
@@ -92,15 +101,23 @@ export function agentRunKV(ctx) {
92
101
  }
93
102
  /** Carry the active Drizzle database or transaction facade on a derived context. */
94
103
  export function withAgentDatabase(ctx, database) {
95
- return databaseNamespace.set(ctx, database);
104
+ const transaction = storageTransactionNamespace.get(ctx);
105
+ if (transaction !== undefined &&
106
+ (database === transaction.database || database === transaction.root)) {
107
+ return ctx;
108
+ }
109
+ return databaseNamespace.set(storageTransactionNamespace.set(ctx, undefined), database);
96
110
  }
97
111
  /** The active Drizzle database or transaction facade, when this work has durable storage. */
98
112
  export function agentDatabase(ctx) {
99
113
  return databaseNamespace.get(ctx);
100
114
  }
101
- /** Install the active facade and its owning storage for the duration of one transaction callback. */
115
+ /** Install the active facade for the duration of one transaction callback. */
102
116
  export function withAgentStorageTransaction(ctx, transaction) {
103
- return storageTransactionNamespace.set(withAgentDatabase(ctx, transaction.database), transaction);
117
+ if (databaseNamespace.get(ctx) !== transaction.root) {
118
+ throw new Error("A transaction context cannot be used with another agent storage.");
119
+ }
120
+ return storageTransactionNamespace.set(databaseNamespace.set(ctx, transaction.database), transaction);
104
121
  }
105
122
  /** The storage transaction carried by this context, including its ended state when retained. */
106
123
  export function agentStorageTransaction(ctx) {
@@ -108,6 +125,10 @@ export function agentStorageTransaction(ctx) {
108
125
  }
109
126
  /** Drop a caller's transaction lifetime when creating independently owned agent work. */
110
127
  export function withoutAgentStorageTransaction(ctx) {
111
- return storageTransactionNamespace.set(ctx, undefined);
128
+ const transaction = storageTransactionNamespace.get(ctx);
129
+ const withoutTransaction = storageTransactionNamespace.set(ctx, undefined);
130
+ return transaction === undefined
131
+ ? withoutTransaction
132
+ : databaseNamespace.set(withoutTransaction, transaction.root);
112
133
  }
113
134
  //# sourceMappingURL=AgentContexts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentContexts.js","sourceRoot":"","sources":["../sources/AgentContexts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentContexts.js","sourceRoot":"","sources":["../sources/AgentContexts.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,9 @@
1
1
  import type { Context } from "@steve.kite/stdlib";
2
- import { type AgentDatabase, type AgentStorageTransaction } from "./AgentDatabase.js";
2
+ import { type AgentDatabase } from "./AgentDatabase.js";
3
3
  import type { AgentPersistence, AgentRecord } from "./AgentPersistence.js";
4
- /** The database and transaction integration shared by every scope in one AgentStorage. */
4
+ /** The database shared by every persistence scope in one AgentStorage. */
5
5
  export interface AgentPersistenceDrizzleOptions<Database extends AgentDatabase = AgentDatabase> {
6
6
  readonly database: Database;
7
- readonly owner: object;
8
- readonly transaction: AgentStorageTransaction<Database>;
9
7
  }
10
8
  /**
11
9
  * Drizzle-backed records and key-value entries for either the collection root or one agent.
@@ -1 +1 @@
1
- {"version":3,"file":"AgentPersistenceDrizzle.d.ts","sourceRoot":"","sources":["../sources/AgentPersistenceDrizzle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAGH,KAAK,aAAa,EAElB,KAAK,uBAAuB,EAC/B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE3E,0FAA0F;AAC1F,MAAM,WAAW,8BAA8B,CAAC,QAAQ,SAAS,aAAa,GAAG,aAAa;IAC1F,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAC,QAAQ,CAAC,CAAC;CAC3D;AAED;;;;GAIG;AACH,qBAAa,uBAAuB,CAChC,QAAQ,SAAS,aAAa,GAAG,aAAa,CAChD,YAAW,gBAAgB;;IAIzB,YAAY,OAAO,EAAE,8BAA8B,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,EAG7E;IAED,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAEK,WAAW,CAAC,MAAM,EACpB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,GACxC,OAAO,CAAC,MAAM,CAAC,CAEjB;IAEK,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAWxD;IAEK,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAU7D;IAEK,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAO9C;IAEK,UAAU,CACZ,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,SAAS;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC,CAYvE;IAEK,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAYzE;IAEK,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAapF;IAEK,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ1D;CAoBJ"}
1
+ {"version":3,"file":"AgentPersistenceDrizzle.d.ts","sourceRoot":"","sources":["../sources/AgentPersistenceDrizzle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAGH,KAAK,aAAa,EAErB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAG3E,0EAA0E;AAC1E,MAAM,WAAW,8BAA8B,CAAC,QAAQ,SAAS,aAAa,GAAG,aAAa;IAC1F,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC/B;AAED;;;;GAIG;AACH,qBAAa,uBAAuB,CAChC,QAAQ,SAAS,aAAa,GAAG,aAAa,CAChD,YAAW,gBAAgB;;IAIzB,YAAY,OAAO,EAAE,8BAA8B,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,EAG7E;IAED,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAEK,WAAW,CAAC,MAAM,EACpB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,GACxC,OAAO,CAAC,MAAM,CAAC,CAEjB;IAEK,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAWxD;IAEK,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAU7D;IAEK,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAO9C;IAEK,UAAU,CACZ,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,SAAS;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC,CAYvE;IAEK,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAYzE;IAEK,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAapF;IAEK,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ1D;CAgCJ"}
@@ -1,6 +1,7 @@
1
1
  import { sql } from "drizzle-orm";
2
2
  import { agentDatabaseRows, agentDatabaseRun, } from "./AgentDatabase.js";
3
- import { agentStorageTransaction } from "./AgentContexts.js";
3
+ import { agentStorageTransaction, withAgentDatabase } from "./AgentContexts.js";
4
+ import { inTx } from "./inTx.js";
4
5
  /**
5
6
  * Drizzle-backed records and key-value entries for either the collection root or one agent.
6
7
  * Tables are shared by every instance; `ownerId` is empty for collection state and the cuid2
@@ -17,7 +18,7 @@ export class AgentPersistenceDrizzle {
17
18
  return this.#options.database;
18
19
  }
19
20
  async transaction(ctx, work) {
20
- return await this.#options.transaction(ctx, async (txCtx) => await work(txCtx));
21
+ return await inTx(this.#bound(ctx), work);
21
22
  }
22
23
  async load(ctx) {
23
24
  return await this.#operation(ctx, async (database) => {
@@ -86,14 +87,26 @@ export class AgentPersistenceDrizzle {
86
87
  if (transaction.lifetime.aborted) {
87
88
  throw new Error("The agent storage transaction carried by this context has ended.");
88
89
  }
89
- if (transaction.owner !== this.#options.owner) {
90
+ if (transaction.root !== this.#options.database) {
90
91
  throw new Error("A transaction context cannot be used with another agent storage.");
91
92
  }
92
93
  return await work(transaction.database);
93
94
  }
94
- return await this.#options.transaction(ctx, async (_txCtx, database) => {
95
- return await work(database);
95
+ return await inTx(withAgentDatabase(ctx, this.#options.database), async (txCtx) => {
96
+ return await work(txCtx.db);
96
97
  });
97
98
  }
99
+ #bound(ctx) {
100
+ const transaction = agentStorageTransaction(ctx);
101
+ if (transaction === undefined)
102
+ return withAgentDatabase(ctx, this.#options.database);
103
+ if (transaction.lifetime.aborted) {
104
+ throw new Error("The agent storage transaction carried by this context has ended.");
105
+ }
106
+ if (transaction.root !== this.#options.database) {
107
+ throw new Error("A transaction context cannot be used with another agent storage.");
108
+ }
109
+ return ctx;
110
+ }
98
111
  }
99
112
  //# sourceMappingURL=AgentPersistenceDrizzle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentPersistenceDrizzle.js","sourceRoot":"","sources":["../sources/AgentPersistenceDrizzle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentPersistenceDrizzle.js","sourceRoot":"","sources":["../sources/AgentPersistenceDrizzle.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { type Context } from "@steve.kite/stdlib";
2
- import { type AgentDatabase, type AgentDatabaseFacade, type AgentStorageTransaction } from "./AgentDatabase.js";
1
+ import type { Context } from "@steve.kite/stdlib";
2
+ import { type AgentDatabase, type AgentDatabaseFacade } from "./AgentDatabase.js";
3
3
  import type { AgentModule } from "./AgentModule.js";
4
4
  import { AgentKV } from "./AgentKV.js";
5
5
  import type { AgentPersistence } from "./AgentPersistence.js";
@@ -19,16 +19,10 @@ interface AgentStorageCommonOptions {
19
19
  */
20
20
  readonly acquireLock: (ctx: Context) => Promise<AgentStorageLock>;
21
21
  }
22
- /** Drizzle-owned storage with optional host transaction integration. */
22
+ /** Drizzle-owned storage. */
23
23
  export type AgentStorageOptions<Database extends AgentDatabase = AgentDatabase> = AgentStorageCommonOptions & {
24
24
  /** The engine-specific Drizzle facade; the same object is passed through to modules. */
25
25
  readonly database: Database;
26
- /**
27
- * Host transaction integration. It must pass the active Drizzle transaction facade and a
28
- * context carrying the host transaction's stdlib `afterCommit` scope to `work`. Omission
29
- * uses the Drizzle facade's own transaction method and installs that scope automatically.
30
- */
31
- readonly transaction?: AgentStorageTransaction<Database>;
32
26
  };
33
27
  /** Storage roots and Drizzle persistence shared by an `AgentSystemLocal` collection. */
34
28
  export declare class AgentStorage<Database extends AgentDatabase = AgentDatabase> {
@@ -46,7 +40,7 @@ export declare class AgentStorage<Database extends AgentDatabase = AgentDatabase
46
40
  acquireLock(ctx: Context): Promise<AgentStorageLock>;
47
41
  /** The isolated persistence for the given agent. */
48
42
  persistence(agentId: string): AgentPersistence;
49
- /** Run work in this storage's default or host-supplied transaction integration. */
43
+ /** Run work in this storage's internally managed transaction. */
50
44
  transaction<Result>(ctx: Context, work: (ctx: Context, database: AgentDatabaseFacade<Database>) => Promise<Result>): Promise<Result>;
51
45
  /**
52
46
  * Install the base schema and every module's ordered keyed migrations. Each migration and
@@ -1 +1 @@
1
- {"version":3,"file":"AgentStorage.d.ts","sourceRoot":"","sources":["../sources/AgentStorage.ts"],"names":[],"mappings":"AAEA,OAAO,EAA8B,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE9E,OAAO,EAIH,KAAK,aAAa,EAClB,KAAK,mBAAmB,EAExB,KAAK,uBAAuB,EAC/B,MAAM,oBAAoB,CAAC;AAM5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAMnD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B,kFAAkF;IAClF,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAED,UAAU,yBAAyB;IAC/B;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACrE;AAED,wEAAwE;AACxE,MAAM,MAAM,mBAAmB,CAAC,QAAQ,SAAS,aAAa,GAAG,aAAa,IAC1E,yBAAyB,GAAG;IACxB,wFAAwF;IACxF,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,uBAAuB,CAAC,QAAQ,CAAC,CAAC;CAC5D,CAAC;AAIN,wFAAwF;AACxF,qBAAa,YAAY,CAAC,QAAQ,SAAS,aAAa,GAAG,aAAa;;IACpE,+BAA+B;IAC/B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,mEAAmE;IACnE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAUrB,YAAY,OAAO,EAAE,mBAAmB,CAAC,QAAQ,CAAC,EAcjD;IAED;;;;OAIG;IACG,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmBzD;IAED,oDAAoD;IACpD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAE7C;IAED,mFAAmF;IAC7E,WAAW,CAAC,MAAM,EACpB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,GACjF,OAAO,CAAC,MAAM,CAAC,CAEjB;IAED;;;;OAIG;IACG,OAAO,CACT,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,SAAS,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,GACxD,OAAO,CAAC,IAAI,CAAC,CA6Cf;CA8CJ"}
1
+ {"version":3,"file":"AgentStorage.d.ts","sourceRoot":"","sources":["../sources/AgentStorage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAGH,KAAK,aAAa,EAClB,KAAK,mBAAmB,EAE3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B,kFAAkF;IAClF,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAED,UAAU,yBAAyB;IAC/B;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACrE;AAED,6BAA6B;AAC7B,MAAM,MAAM,mBAAmB,CAAC,QAAQ,SAAS,aAAa,GAAG,aAAa,IAC1E,yBAAyB,GAAG;IACxB,wFAAwF;IACxF,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC/B,CAAC;AAEN,wFAAwF;AACxF,qBAAa,YAAY,CAAC,QAAQ,SAAS,aAAa,GAAG,aAAa;;IACpE,+BAA+B;IAC/B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,mEAAmE;IACnE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAUrB,YAAY,OAAO,EAAE,mBAAmB,CAAC,QAAQ,CAAC,EASjD;IAED;;;;OAIG;IACG,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmBzD;IAED,oDAAoD;IACpD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAE7C;IAED,iEAAiE;IAC3D,WAAW,CAAC,MAAM,EACpB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,GACjF,OAAO,CAAC,MAAM,CAAC,CAKjB;IAED;;;;OAIG;IACG,OAAO,CACT,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,SAAS,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,GACxD,OAAO,CAAC,IAAI,CAAC,CA6Cf;CA8CJ"}
@@ -1,11 +1,7 @@
1
- import { AsyncLocalStorage } from "node:async_hooks";
2
1
  import { sql } from "drizzle-orm";
3
- import { asyncLock, withAfterCommit } from "@steve.kite/stdlib";
4
- import { agentDatabaseRows, agentDatabaseRun, isAgentSQLiteDatabase, } from "./AgentDatabase.js";
5
- import { agentStorageTransaction, withAgentStorageTransaction, } from "./AgentContexts.js";
2
+ import { agentDatabaseRows, agentDatabaseRun, } from "./AgentDatabase.js";
6
3
  import { AgentKV } from "./AgentKV.js";
7
- import { AgentPersistenceDrizzle, } from "./AgentPersistenceDrizzle.js";
8
- const storageTransactions = new AsyncLocalStorage();
4
+ import { AgentPersistenceDrizzle } from "./AgentPersistenceDrizzle.js";
9
5
  /** Storage roots and Drizzle persistence shared by an `AgentSystemLocal` collection. */
10
6
  export class AgentStorage {
11
7
  /** The root Drizzle facade. */
@@ -16,22 +12,18 @@ export class AgentStorage {
16
12
  #acquireLock;
17
13
  /** Produces the isolated persistence used by one agent. */
18
14
  #persistence;
19
- /** Drizzle transaction integration shared by every owned persistence scope. */
15
+ /** Root persistence used for storage-wide transactions and key-value state. */
20
16
  #drizzle;
21
17
  /** Prevents two systems from sharing even one AgentStorage instance. */
22
18
  #owned = false;
23
19
  constructor(options) {
24
20
  this.#acquireLock = options.acquireLock;
25
21
  this.database = options.database;
26
- const owner = {};
27
- const rawTransaction = options.transaction ?? defaultTransactionIntegration(options.database);
28
22
  const integration = {
29
23
  database: options.database,
30
- owner,
31
- transaction: storageTransactionIntegration(owner, rawTransaction),
32
24
  };
33
- this.#drizzle = integration;
34
- this.kv = new AgentKV(new AgentPersistenceDrizzle(integration, ""), "agentSystem.");
25
+ this.#drizzle = new AgentPersistenceDrizzle(integration, "");
26
+ this.kv = new AgentKV(this.#drizzle, "agentSystem.");
35
27
  this.#persistence = (agentId) => new AgentPersistenceDrizzle(integration, agentId);
36
28
  }
37
29
  /**
@@ -66,9 +58,9 @@ export class AgentStorage {
66
58
  persistence(agentId) {
67
59
  return this.#persistence(agentId);
68
60
  }
69
- /** Run work in this storage's default or host-supplied transaction integration. */
61
+ /** Run work in this storage's internally managed transaction. */
70
62
  async transaction(ctx, work) {
71
- return await this.#drizzle.transaction(ctx, work);
63
+ return await this.#drizzle.transaction(ctx, async (txCtx) => await work(txCtx, txCtx.db));
72
64
  }
73
65
  /**
74
66
  * Install the base schema and every module's ordered keyed migrations. Each migration and
@@ -80,8 +72,8 @@ export class AgentStorage {
80
72
  if (names.includes("@happy-agent-base") || new Set(names).size !== names.length) {
81
73
  throw new Error("Module names must be unique and cannot use the agent-base owner.");
82
74
  }
83
- await this.#drizzle.transaction(ctx, async (txCtx, database) => {
84
- await agentDatabaseRun(database, sql `CREATE TABLE IF NOT EXISTS happy_agent_migrations (
75
+ await this.#drizzle.transaction(ctx, async (txCtx) => {
76
+ await agentDatabaseRun(txCtx.db, sql `CREATE TABLE IF NOT EXISTS happy_agent_migrations (
85
77
  module_key TEXT NOT NULL,
86
78
  migration_key TEXT NOT NULL,
87
79
  position BIGINT NOT NULL,
@@ -132,89 +124,13 @@ export class AgentStorage {
132
124
  if (migration === undefined)
133
125
  continue;
134
126
  const [key, run] = migration;
135
- await this.#drizzle.transaction(ctx, async (txCtx, database) => {
136
- await run(txCtx, database);
137
- await agentDatabaseRun(database, sql `INSERT INTO happy_agent_migrations
127
+ await this.#drizzle.transaction(ctx, async (txCtx) => {
128
+ await run(txCtx, txCtx.db);
129
+ await agentDatabaseRun(txCtx.db, sql `INSERT INTO happy_agent_migrations
138
130
  (module_key, migration_key, position)
139
131
  VALUES (${module}, ${key}, ${index})`);
140
132
  });
141
133
  }
142
134
  }
143
135
  }
144
- function defaultTransactionIntegration(database) {
145
- const transactionLock = isAgentSQLiteDatabase(database) ? asyncLock() : undefined;
146
- const commitTransaction = async (ctx, work) => {
147
- let runAfterCommit;
148
- const result = await runDrizzleTransaction(database, async (activeDatabase) => {
149
- const [commitCtx, drainAfterCommit] = withAfterCommit(ctx);
150
- runAfterCommit = drainAfterCommit;
151
- return await work(commitCtx, activeDatabase);
152
- });
153
- return [result, runAfterCommit];
154
- };
155
- const transaction = async (ctx, work) => {
156
- const [result, runAfterCommit] = transactionLock === undefined
157
- ? await commitTransaction(ctx, work)
158
- : await transactionLock.runInLock(ctx, async (lockCtx) => {
159
- return await commitTransaction(lockCtx, work);
160
- });
161
- try {
162
- await runAfterCommit();
163
- }
164
- catch (error) {
165
- process.emitWarning(new AggregateError([error], "Agent storage committed, but post-commit work failed."));
166
- }
167
- return result;
168
- };
169
- return transaction;
170
- }
171
- /**
172
- * Own transaction identity and nesting independently of the supplied database integration.
173
- * A normal context from another storage remains a normal context, while an actual foreign
174
- * transaction can neither leak its facade into this store nor silently open a second commit.
175
- */
176
- function storageTransactionIntegration(owner, transaction) {
177
- return async (ctx, work) => {
178
- const carried = agentStorageTransaction(ctx);
179
- const ambient = storageTransactions.getStore();
180
- if (ambient !== undefined && !ambient.lifetime.aborted) {
181
- if (ambient.owner === owner && carried === ambient) {
182
- return await work(ctx, ambient.database);
183
- }
184
- throw new Error("Work started inside an agent storage transaction must use that transaction's context.");
185
- }
186
- if (carried !== undefined) {
187
- if (carried.lifetime.aborted) {
188
- throw new Error("The agent storage transaction carried by this context has ended.");
189
- }
190
- if (carried.owner !== owner) {
191
- throw new Error("A transaction context cannot be used with another agent storage.");
192
- }
193
- return await work(ctx, carried.database);
194
- }
195
- return await transaction(ctx, async (txCtx, database) => {
196
- const lifetime = new AbortController();
197
- const state = {
198
- database,
199
- lifetime: lifetime.signal,
200
- owner,
201
- };
202
- const activeCtx = withAgentStorageTransaction(txCtx, state);
203
- try {
204
- return await storageTransactions.run(state, async () => {
205
- return await work(activeCtx, database);
206
- });
207
- }
208
- finally {
209
- lifetime.abort();
210
- }
211
- });
212
- };
213
- }
214
- async function runDrizzleTransaction(database, work) {
215
- if (isAgentSQLiteDatabase(database)) {
216
- return await database.transaction(async (transaction) => await work(transaction));
217
- }
218
- return await database.transaction(async (transaction) => await work(transaction));
219
- }
220
136
  //# sourceMappingURL=AgentStorage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentStorage.js","sourceRoot":"","sources":["../sources/AgentStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentStorage.js","sourceRoot":"","sources":["../sources/AgentStorage.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type Context } from "@steve.kite/stdlib";
2
+ import type { AgentDatabase } from "./AgentDatabase.js";
2
3
  import type { AgentSystemRef } from "./AgentSystemRef.js";
3
4
  /**
4
5
  * Carry the collection that owns an agent and its modules, as a reference.
@@ -9,7 +10,7 @@ import type { AgentSystemRef } from "./AgentSystemRef.js";
9
10
  * every context it derives, and agents come back from it as `AgentRef`, so nothing reached
10
11
  * through a context can wait for the loop that is waiting for it.
11
12
  */
12
- export declare function withAgentSystem(ctx: Context, value: AgentSystemRef): Context;
13
+ export declare function withAgentSystem<Database extends AgentDatabase>(ctx: Context, value: AgentSystemRef<Database>): Context;
13
14
  /** The collection owning the current module or agent operation. */
14
15
  export declare function agentSystem(ctx: Context): AgentSystemRef | undefined;
15
16
  //# sourceMappingURL=AgentSystemContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentSystemContext.d.ts","sourceRoot":"","sources":["../sources/AgentSystemContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAQ1D;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAE5E;AAED,mEAAmE;AACnE,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,GAAG,SAAS,CAEpE"}
1
+ {"version":3,"file":"AgentSystemContext.d.ts","sourceRoot":"","sources":["../sources/AgentSystemContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAQ1D;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,QAAQ,SAAS,aAAa,EAC1D,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,GAChC,OAAO,CAET;AAED,mEAAmE;AACnE,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,GAAG,SAAS,CAEpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"AgentSystemContext.js","sourceRoot":"","sources":["../sources/AgentSystemContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAgB,MAAM,oBAAoB,CAAC;AAI1E,iGAAiG;AACjG,MAAM,oBAAoB,GAAG,sBAAsB,CAC/C,wBAAwB,EACxB,SAAS,CACZ,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,GAAY,EAAE,KAAqB;IAC/D,OAAO,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAChD,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,WAAW,CAAC,GAAY;IACpC,OAAO,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"AgentSystemContext.js","sourceRoot":"","sources":["../sources/AgentSystemContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAgB,MAAM,oBAAoB,CAAC;AAK1E,iGAAiG;AACjG,MAAM,oBAAoB,GAAG,sBAAsB,CAC/C,wBAAwB,EACxB,SAAS,CACZ,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAC3B,GAAY,EACZ,KAA+B;IAE/B,OAAO,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAkC,CAAC,CAAC;AAC7E,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,WAAW,CAAC,GAAY;IACpC,OAAO,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC"}
@@ -86,9 +86,16 @@ export interface AgentTool<Args extends TSchema = TSchema, Result extends TSchem
86
86
  * restarts. A non-durable call interrupted by a restart becomes an error tool result instead.
87
87
  */
88
88
  readonly durable?: boolean;
89
+ /**
90
+ * Whether Agent Base wraps `execute` and its returned-result commit in one Agent Storage
91
+ * transaction. A transactional tool commits only after `execute` returns successfully; a
92
+ * throw, invalid result, or rendering failure rolls the transaction back.
93
+ */
94
+ readonly transactional?: boolean;
89
95
  /**
90
96
  * The context's lifetime aborts when the turn is aborted, so a long-running tool can
91
- * observe cancellation and stop its own work.
97
+ * observe cancellation and stop its own work. For a transactional tool, `ctx.db` is the
98
+ * active transaction facade.
92
99
  */
93
100
  execute(ctx: Context, args: Static<Args>, call: AgentToolCall<Result>): Promise<Static<Result>>;
94
101
  /** Renders a validated result into the content blocks the model actually sees. */
@@ -1 +1 @@
1
- {"version":3,"file":"AgentTool.d.ts","sourceRoot":"","sources":["../sources/AgentTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentTool.d.ts","sourceRoot":"","sources":["../sources/AgentTool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AgentTool.js","sourceRoot":"","sources":["../sources/AgentTool.ts"],"names":[],"mappings":"AA2GA,qEAAqE;AACrE,MAAM,UAAU,eAAe,CAC3B,IAA6B;IAE7B,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"AgentTool.js","sourceRoot":"","sources":["../sources/AgentTool.ts"],"names":[],"mappings":"AAkHA,qEAAqE;AACrE,MAAM,UAAU,eAAe,CAC3B,IAA6B;IAE7B,OAAO,IAAI,CAAC;AAChB,CAAC"}
package/dist/inTx.d.ts ADDED
@@ -0,0 +1,17 @@
1
+ import { type Context } from "@steve.kite/stdlib";
2
+ /** Work whose database operations should share one outer Agent Storage transaction. */
3
+ export type AgentTransactionWork<Result> = (ctx: Context) => Result | PromiseLike<Result>;
4
+ declare global {
5
+ namespace stdlib {
6
+ interface ContextExtensions {
7
+ readonly inTx: <Result>(work: AgentTransactionWork<Result>) => Promise<Awaited<Result>>;
8
+ }
9
+ }
10
+ }
11
+ /**
12
+ * Run work inside the database transaction carried by `ctx`, or open the one outer transaction
13
+ * for its root database. Nested calls reuse the current transaction; transaction concurrency
14
+ * belongs to the Drizzle database and its driver.
15
+ */
16
+ export declare function inTx<Result>(ctx: Context, work: AgentTransactionWork<Result>): Promise<Awaited<Result>>;
17
+ //# sourceMappingURL=inTx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inTx.d.ts","sourceRoot":"","sources":["../sources/inTx.ts"],"names":[],"mappings":"AAEA,OAAO,EAA6C,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAU7F,uFAAuF;AACvF,MAAM,MAAM,oBAAoB,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;AAE1F,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM,CAAC;QACb,UAAU,iBAAiB;YACvB,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;SAC3F;KACJ;CACJ;AAWD;;;;GAIG;AACH,wBAAsB,IAAI,CAAC,MAAM,EAC7B,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,GACnC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAgD1B"}
package/dist/inTx.js ADDED
@@ -0,0 +1,65 @@
1
+ import { AsyncLocalStorage } from "node:async_hooks";
2
+ import { registerContextExtension, withAfterCommit } from "@steve.kite/stdlib";
3
+ import { isAgentSQLiteDatabase } from "./AgentDatabase.js";
4
+ import { agentDatabase, agentStorageTransaction, withAgentStorageTransaction, } from "./AgentContexts.js";
5
+ const activeTransactions = new AsyncLocalStorage();
6
+ registerContextExtension("inTx", (ctx) => async (work) => await inTx(ctx, work));
7
+ /**
8
+ * Run work inside the database transaction carried by `ctx`, or open the one outer transaction
9
+ * for its root database. Nested calls reuse the current transaction; transaction concurrency
10
+ * belongs to the Drizzle database and its driver.
11
+ */
12
+ export async function inTx(ctx, work) {
13
+ const carried = agentStorageTransaction(ctx);
14
+ const ambient = activeTransactions.getStore();
15
+ if (ambient !== undefined && !ambient.lifetime.aborted) {
16
+ if (carried === ambient)
17
+ return await work(ctx);
18
+ throw new Error("Work started inside an agent storage transaction must use that transaction's context.");
19
+ }
20
+ if (carried !== undefined) {
21
+ if (carried.lifetime.aborted) {
22
+ throw new Error("The agent storage transaction carried by this context has ended.");
23
+ }
24
+ return await work(ctx);
25
+ }
26
+ const root = agentDatabase(ctx);
27
+ if (root === undefined) {
28
+ throw new Error("Context has no agent database.");
29
+ }
30
+ const commit = async (transactionCtx) => {
31
+ let runAfterCommit;
32
+ const result = await runDrizzleTransaction(root, async (database) => {
33
+ const [afterCommitCtx, drain] = withAfterCommit(transactionCtx);
34
+ runAfterCommit = drain;
35
+ const lifetime = new AbortController();
36
+ const state = {
37
+ database,
38
+ root,
39
+ lifetime: lifetime.signal,
40
+ };
41
+ const txCtx = withAgentStorageTransaction(afterCommitCtx, state);
42
+ try {
43
+ return await activeTransactions.run(state, async () => await work(txCtx));
44
+ }
45
+ finally {
46
+ lifetime.abort();
47
+ }
48
+ });
49
+ try {
50
+ await runAfterCommit();
51
+ }
52
+ catch (error) {
53
+ transactionCtx.log.warn("Agent storage committed, but post-commit work failed.", error);
54
+ }
55
+ return result;
56
+ };
57
+ return await commit(ctx);
58
+ }
59
+ async function runDrizzleTransaction(database, work) {
60
+ if (isAgentSQLiteDatabase(database)) {
61
+ return await database.transaction(async (transaction) => await work(transaction));
62
+ }
63
+ return await database.transaction(async (transaction) => await work(transaction));
64
+ }
65
+ //# sourceMappingURL=inTx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inTx.js","sourceRoot":"","sources":["../sources/inTx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAgB,MAAM,oBAAoB,CAAC;AAE7F,OAAO,EAAE,qBAAqB,EAAsB,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EACH,aAAa,EACb,uBAAuB,EACvB,2BAA2B,GAE9B,MAAM,oBAAoB,CAAC;AAa5B,MAAM,kBAAkB,GAAG,IAAI,iBAAiB,EAAkC,CAAC;AAEnF,wBAAwB,CACpB,MAAM,EACN,CAAC,GAAG,EAAE,EAAE,CACJ,KAAK,EAAU,IAAkC,EAA4B,EAAE,CAC3E,MAAM,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAChC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CACtB,GAAY,EACZ,IAAkC;IAElC,MAAM,OAAO,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC;IAC9C,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrD,IAAI,OAAO,KAAK,OAAO;YAAE,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,IAAI,KAAK,CACX,uFAAuF,CAC1F,CAAC;IACN,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,EAAE,cAAuB,EAA4B,EAAE;QACvE,IAAI,cAAoC,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YAChE,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;YAChE,cAAc,GAAG,KAAK,CAAC;YACvB,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;YACvC,MAAM,KAAK,GAAmC;gBAC1C,QAAQ;gBACR,IAAI;gBACJ,QAAQ,EAAE,QAAQ,CAAC,MAAM;aAC5B,CAAC;YACF,MAAM,KAAK,GAAG,2BAA2B,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YACjE,IAAI,CAAC;gBACD,OAAO,MAAM,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9E,CAAC;oBAAS,CAAC;gBACP,QAAQ,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACD,MAAM,cAAc,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,uDAAuD,EAAE,KAAK,CAAC,CAAC;QAC5F,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,qBAAqB,CAChC,QAAuB,EACvB,IAAkD;IAElD,IAAI,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,OAAO,MAAM,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,MAAM,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACtF,CAAC"}
package/dist/index.d.ts CHANGED
@@ -17,6 +17,7 @@ export { AgentBase, type AgentBaseAwaitOptions, type AgentBaseMessageOptions, ty
17
17
  export { agentDatabase, agentEffort, agentId, agentKV, agentModel, agentPermissionMode, agentProvider, agentRunKV, agentServiceTier, withAgentContext, withAgentDatabase, withAgentKV, withAgentPermissionMode, withAgentRunKV, } from "./AgentContexts.js";
18
18
  export { agentPermissionModeLabel, agentPermissionModeSchema, isAgentPermissionMode, DEFAULT_AGENT_PERMISSION_MODE, type AgentPermissionMode, } from "./AgentPermissionMode.js";
19
19
  export { agentTaskContext, taskContextBeforeToolCall, withAgentTaskContext, } from "./AgentTaskContext.js";
20
+ export { inTx, type AgentTransactionWork } from "./inTx.js";
20
21
  export { AgentKV } from "./AgentKV.js";
21
22
  export { type AgentBaseAcceptedMessage, type AgentBaseHooks, type AgentBaseInference, type AgentBaseInferenceStart, type AgentBaseLoop, type AgentBaseModelChange, type AgentBasePermissionModeChange, type AgentBasePersistedEvent, type AgentBaseSettlement, type AgentBaseToolCall, type AgentBaseToolCallDecision, type AgentBaseToolOutcome, type AgentBaseTurn, type AgentBaseTurnStart, type MaybePromise, } from "./AgentBaseHooks.js";
22
23
  export { type AgentPersistence, type AgentRecord } from "./AgentPersistence.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../sources/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../sources/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -21,6 +21,7 @@ export { AgentBase, } from "./AgentBase.js";
21
21
  export { agentDatabase, agentEffort, agentId, agentKV, agentModel, agentPermissionMode, agentProvider, agentRunKV, agentServiceTier, withAgentContext, withAgentDatabase, withAgentKV, withAgentPermissionMode, withAgentRunKV, } from "./AgentContexts.js";
22
22
  export { agentPermissionModeLabel, agentPermissionModeSchema, isAgentPermissionMode, DEFAULT_AGENT_PERMISSION_MODE, } from "./AgentPermissionMode.js";
23
23
  export { agentTaskContext, taskContextBeforeToolCall, withAgentTaskContext, } from "./AgentTaskContext.js";
24
+ export { inTx } from "./inTx.js";
24
25
  export { AgentKV } from "./AgentKV.js";
25
26
  export {} from "./AgentBaseHooks.js";
26
27
  export {} from "./AgentPersistence.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../sources/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,8EAA8E;AAC9E,OAAO,EAAE,KAAK,EAAqB,MAAM,YAAY,CAAC;AACtD,OAAO,EAAoB,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAqD,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAgC,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEvE,gGAAgG;AAChG,OAAO,EACH,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,GAKlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,0BAA0B,EAC1B,mBAAmB,EACnB,wBAAwB,EACxB,WAAW,GAKd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAA+B,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAmD,MAAM,mBAAmB,CAAC;AAClG,OAAO,EACH,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GAOxB,MAAM,oBAAoB,CAAC;AAE5B,wDAAwD;AACxD,OAAO,EAAmB,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;AAEtD,+FAA+F;AAC/F,OAAO,EACH,SAAS,GAKZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACH,aAAa,EACb,WAAW,EACX,OAAO,EACP,OAAO,EACP,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,uBAAuB,EACvB,cAAc,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EACrB,6BAA6B,GAEhC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAgBN,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAA2C,MAAM,uBAAuB,CAAC;AAChF,OAAO,EACH,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,GAGzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAuB,MAAM,qBAAqB,CAAC;AAE1D,+FAA+F;AAC/F,OAAO,EAMN,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAA0B,MAAM,wBAAwB,CAAC;AAEhE,6EAA6E;AAC7E,OAAO,EACH,cAAc,GAGjB,MAAM,qBAAqB,CAAC;AAE7B,oBAAoB;AACpB,OAAO,EACH,eAAe,GAMlB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../sources/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,8EAA8E;AAC9E,OAAO,EAAE,KAAK,EAAqB,MAAM,YAAY,CAAC;AACtD,OAAO,EAAoB,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAqD,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAgC,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEvE,gGAAgG;AAChG,OAAO,EACH,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,GAKlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,0BAA0B,EAC1B,mBAAmB,EACnB,wBAAwB,EACxB,WAAW,GAKd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAA+B,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAmD,MAAM,mBAAmB,CAAC;AAClG,OAAO,EACH,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GAOxB,MAAM,oBAAoB,CAAC;AAE5B,wDAAwD;AACxD,OAAO,EAAmB,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;AAEtD,+FAA+F;AAC/F,OAAO,EACH,SAAS,GAKZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACH,aAAa,EACb,WAAW,EACX,OAAO,EACP,OAAO,EACP,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,uBAAuB,EACvB,cAAc,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EACrB,6BAA6B,GAEhC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,IAAI,EAA6B,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAgBN,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAA2C,MAAM,uBAAuB,CAAC;AAChF,OAAO,EACH,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,GAGzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAuB,MAAM,qBAAqB,CAAC;AAE1D,+FAA+F;AAC/F,OAAO,EAMN,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAA0B,MAAM,wBAAwB,CAAC;AAEhE,6EAA6E;AAC7E,OAAO,EACH,cAAc,GAGjB,MAAM,qBAAqB,CAAC;AAE7B,oBAAoB;AACpB,OAAO,EACH,eAAe,GAMlB,MAAM,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slopus/happy-agent-base",
3
- "version": "0.0.7",
3
+ "version": "0.0.8",
4
4
  "description": "Durable runtime for Happy agents.",
5
5
  "license": "MIT",
6
6
  "repository": {