@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 +11 -8
- package/dist/AgentBase.d.ts.map +1 -1
- package/dist/AgentBase.js +12 -2
- package/dist/AgentBase.js.map +1 -1
- package/dist/AgentContexts.d.ts +9 -2
- package/dist/AgentContexts.d.ts.map +1 -1
- package/dist/AgentContexts.js +27 -6
- package/dist/AgentContexts.js.map +1 -1
- package/dist/AgentPersistenceDrizzle.d.ts +2 -4
- package/dist/AgentPersistenceDrizzle.d.ts.map +1 -1
- package/dist/AgentPersistenceDrizzle.js +18 -5
- package/dist/AgentPersistenceDrizzle.js.map +1 -1
- package/dist/AgentStorage.d.ts +4 -10
- package/dist/AgentStorage.d.ts.map +1 -1
- package/dist/AgentStorage.js +12 -96
- package/dist/AgentStorage.js.map +1 -1
- package/dist/AgentSystemContext.d.ts +2 -1
- package/dist/AgentSystemContext.d.ts.map +1 -1
- package/dist/AgentSystemContext.js.map +1 -1
- package/dist/AgentTool.d.ts +8 -1
- package/dist/AgentTool.d.ts.map +1 -1
- package/dist/AgentTool.js.map +1 -1
- package/dist/inTx.d.ts +17 -0
- package/dist/inTx.d.ts.map +1 -0
- package/dist/inTx.js +65 -0
- package/dist/inTx.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
post-commit callbacks on the next microtask.
|
|
27
|
-
|
|
28
|
-
Storage, KV, migrations, and transactional module hooks compose with a
|
|
29
|
-
|
|
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
|
package/dist/AgentBase.d.ts.map
CHANGED
|
@@ -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
|
|
2590
|
+
const toolCall = {
|
|
2591
2591
|
id: entry.id,
|
|
2592
2592
|
providerCallId: entry.providerCallId,
|
|
2593
2593
|
kv: boundedCallKV,
|
|
2594
2594
|
commit,
|
|
2595
|
-
}
|
|
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 })),
|
package/dist/AgentBase.js.map
CHANGED
|
@@ -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":"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,QAAQ,GAAG;oBACb,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,cAAc,EAAE,KAAK,CAAC,cAAc;oBACpC,EAAE,EAAE,aAAa;oBACjB,MAAM;iBACT,CAAC;gBACF,MAAM,QAAQ,GACV,GAAG,CAAC,aAAa,KAAK,IAAI;oBACtB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;wBACxD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;wBAChE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;4BACvC,MAAM,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,IAAI,+BAA+B,CAAC,CAAC;wBACtE,CAAC;wBACD,OAAO,MAAM,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBACvC,CAAC,CAAC;oBACJ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAC7E,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAC3B,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"}
|
package/dist/AgentContexts.d.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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,
|
|
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"}
|
package/dist/AgentContexts.js
CHANGED
|
@@ -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
|
-
|
|
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
|
|
115
|
+
/** Install the active facade for the duration of one transaction callback. */
|
|
102
116
|
export function withAgentStorageTransaction(ctx, transaction) {
|
|
103
|
-
|
|
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
|
-
|
|
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":"AACA,OAAO,EAAE,sBAAsB,EAAgB,MAAM,oBAAoB,CAAC;
|
|
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
|
|
2
|
+
import { type AgentDatabase } from "./AgentDatabase.js";
|
|
3
3
|
import type { AgentPersistence, AgentRecord } from "./AgentPersistence.js";
|
|
4
|
-
/** The database
|
|
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,
|
|
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.#
|
|
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.
|
|
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.
|
|
95
|
-
return await work(
|
|
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":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAGlC,OAAO,EACH,iBAAiB,EACjB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"AgentPersistenceDrizzle.js","sourceRoot":"","sources":["../sources/AgentPersistenceDrizzle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAGlC,OAAO,EACH,iBAAiB,EACjB,gBAAgB,GAGnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEhF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAOjC;;;;GAIG;AACH,MAAM,OAAO,uBAAuB;IAGvB,QAAQ,CAA2C;IACnD,QAAQ,CAAS;IAE1B,YAAY,OAAiD,EAAE,OAAe;QAC1E,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,WAAW,CACb,GAAY,EACZ,IAAuC;QAEvC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAY;QACnB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YACjD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAChC,QAAQ,EACR,GAAG,CAAA;;uCAEoB,IAAI,CAAC,QAAQ;sCACd,CACzB,CAAC;YACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAgB,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAY,EAAE,MAAmB;QAC1C,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC1C,MAAM,gBAAgB,CAClB,QAAQ,EACR,GAAG,CAAA;6BACU,IAAI,CAAC,QAAQ,sCAAsC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;;uCAE/D,IAAI,CAAC,QAAQ,EAAE,CACzC,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAY;QAC3B,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC1C,MAAM,gBAAgB,CAClB,QAAQ,EACR,GAAG,CAAA,oDAAoD,IAAI,CAAC,QAAQ,EAAE,CACzE,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,UAAU,CACZ,GAAY,EACZ,MAAc;QAEd,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YACjD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAChC,QAAQ,EACR,GAAG,CAAA;;uCAEoB,IAAI,CAAC,QAAQ;kDACF,MAAM,QAAQ,MAAM;iCACrC,CACpB,CAAC;YACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAY,EAAE,GAAW,EAAE,KAAc;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACtF,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC1C,MAAM,gBAAgB,CAClB,QAAQ,EACR,GAAG,CAAA;8BACW,IAAI,CAAC,QAAQ,KAAK,GAAG,KAAK,OAAO;;mEAEI,CACtD,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,GAAY,EAAE,GAAW,EAAE,KAAc;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACtF,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YACjD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAChC,QAAQ,EACR,GAAG,CAAA;8BACW,IAAI,CAAC,QAAQ,KAAK,GAAG,KAAK,OAAO;;kCAE7B,CACrB,CAAC;YACF,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAY,EAAE,GAAW;QACvC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC1C,MAAM,gBAAgB,CAClB,QAAQ,EACR,GAAG,CAAA;uCACoB,IAAI,CAAC,QAAQ,cAAc,GAAG,EAAE,CAC1D,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,UAAU,CACZ,GAAY,EACZ,IAAkE;QAElE,MAAM,WAAW,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;YACxF,CAAC;YACD,IAAI,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;YACxF,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,QAAyC,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9E,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,EAAmC,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,GAAY;QACf,MAAM,WAAW,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrF,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;CACJ"}
|
package/dist/AgentStorage.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { type AgentDatabase, type AgentDatabaseFacade
|
|
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
|
|
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
|
|
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":"
|
|
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"}
|
package/dist/AgentStorage.js
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
1
|
import { sql } from "drizzle-orm";
|
|
3
|
-
import {
|
|
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
|
|
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
|
-
/**
|
|
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(
|
|
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
|
|
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
|
|
84
|
-
await agentDatabaseRun(
|
|
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
|
|
136
|
-
await run(txCtx,
|
|
137
|
-
await agentDatabaseRun(
|
|
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
|
package/dist/AgentStorage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentStorage.js","sourceRoot":"","sources":["../sources/AgentStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
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,
|
|
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;
|
|
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"}
|
package/dist/AgentTool.d.ts
CHANGED
|
@@ -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. */
|
package/dist/AgentTool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentTool.d.ts","sourceRoot":"","sources":["../sources/AgentTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,8EAA8E;AAC9E,MAAM,WAAW,aAAa,CAAC,MAAM,SAAS,OAAO,GAAG,OAAO;IAC3D,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,0FAA0F;IAC1F,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;CACzE;AAED,kFAAkF;AAClF,MAAM,MAAM,gCAAgC,CAAC,IAAI,IAAI;IACjD,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxE,CAAC,gBAAgB,CAAC,CAAC;AAEpB,sFAAsF;AACtF,MAAM,MAAM,sCAAsC,CAAC,IAAI,IAAI;IACvD,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC;CACpD,CAAC,gBAAgB,CAAC,CAAC;AAEpB;;;;;;GAMG;AACH,MAAM,WAAW,SAAS,CAAC,IAAI,SAAS,OAAO,GAAG,OAAO,EAAE,MAAM,SAAS,OAAO,GAAG,OAAO;IACvF,qCAAqC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,6EAA6E;IAC7E,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC7E,yEAAyE;IACzE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,sFAAsF;IACtF,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC;IAC3B,oFAAoF;IACpF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,kFAAkF;IAClF,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,oEAAoE;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IAC1C;;;OAGG;IACH,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAC7C;;;OAGG;IACH,QAAQ,CAAC,4BAA4B,CAAC,EAAE,sCAAsC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7F;;;OAGG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAC5C;;;OAGG;IACH,QAAQ,CAAC,sBAAsB,EAAE,gCAAgC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAChF;;;OAGG;IACH,QAAQ,CAAC,+BAA+B,CAAC,EAAE,gCAAgC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1F;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B
|
|
1
|
+
{"version":3,"file":"AgentTool.d.ts","sourceRoot":"","sources":["../sources/AgentTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,8EAA8E;AAC9E,MAAM,WAAW,aAAa,CAAC,MAAM,SAAS,OAAO,GAAG,OAAO;IAC3D,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,0FAA0F;IAC1F,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;CACzE;AAED,kFAAkF;AAClF,MAAM,MAAM,gCAAgC,CAAC,IAAI,IAAI;IACjD,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxE,CAAC,gBAAgB,CAAC,CAAC;AAEpB,sFAAsF;AACtF,MAAM,MAAM,sCAAsC,CAAC,IAAI,IAAI;IACvD,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC;CACpD,CAAC,gBAAgB,CAAC,CAAC;AAEpB;;;;;;GAMG;AACH,MAAM,WAAW,SAAS,CAAC,IAAI,SAAS,OAAO,GAAG,OAAO,EAAE,MAAM,SAAS,OAAO,GAAG,OAAO;IACvF,qCAAqC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,6EAA6E;IAC7E,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC7E,yEAAyE;IACzE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,sFAAsF;IACtF,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC;IAC3B,oFAAoF;IACpF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,kFAAkF;IAClF,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,oEAAoE;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IAC1C;;;OAGG;IACH,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAC7C;;;OAGG;IACH,QAAQ,CAAC,4BAA4B,CAAC,EAAE,sCAAsC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7F;;;OAGG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAC5C;;;OAGG;IACH,QAAQ,CAAC,sBAAsB,EAAE,gCAAgC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAChF;;;OAGG;IACH,QAAQ,CAAC,+BAA+B,CAAC,EAAE,gCAAgC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1F;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAChG,kFAAkF;IAClF,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,kBAAkB,EAAE,CAAC;IAC7D,+EAA+E;IAC/E,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;CAC7C;AAMD,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAE/C,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,KAAK,CAAC,IAAI,SAAS,OAAO,EAAE,KAAK,CAAC,MAAM,SAAS,OAAO,EACpF,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,GAC9B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAEzB"}
|
package/dist/AgentTool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentTool.js","sourceRoot":"","sources":["../sources/AgentTool.ts"],"names":[],"mappings":"
|
|
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
|
package/dist/inTx.js.map
ADDED
|
@@ -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";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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"}
|