patchwork-os 1.2.0-beta.2.canary.824 → 1.2.0-beta.2.canary.826
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/dist/recipes/chainedRunner.d.ts +3 -2
- package/dist/recipes/chainedRunner.js +31 -5
- package/dist/recipes/chainedRunner.js.map +1 -1
- package/dist/recipes/fanOutChild.d.ts +39 -0
- package/dist/recipes/fanOutChild.js +71 -0
- package/dist/recipes/fanOutChild.js.map +1 -0
- package/dist/recipes/toolPolicyCheck.d.ts +23 -0
- package/dist/recipes/toolPolicyCheck.js +42 -0
- package/dist/recipes/toolPolicyCheck.js.map +1 -0
- package/dist/recipes/tools/fanOut.js +30 -11
- package/dist/recipes/tools/fanOut.js.map +1 -1
- package/dist/recipes/yamlRunner.js +26 -39
- package/dist/recipes/yamlRunner.js.map +1 -1
- package/package.json +1 -1
|
@@ -269,8 +269,9 @@ export interface ExecutionDeps {
|
|
|
269
269
|
requireApprovalFn?: import("./approvalRequest.js").ApprovalFn;
|
|
270
270
|
/**
|
|
271
271
|
* Set exactly when `buildWorkerAutonomyGate` returned a fn, i.e. when
|
|
272
|
-
* `requireApprovalFn` IS the worker gate rather than the tier gate.
|
|
273
|
-
*
|
|
272
|
+
* `requireApprovalFn` IS the worker gate rather than the tier gate. Forwarded
|
|
273
|
+
* explicitly by `buildChainedDeps` (yamlRunner.ts) alongside that fn — it was
|
|
274
|
+
* once assumed to arrive by spread, and did not.
|
|
274
275
|
*
|
|
275
276
|
* Load-bearing for one reason: a recipe's own `requireApproval: false` must
|
|
276
277
|
* not be able to switch off the machinery that governs it. The flag suppresses
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* - Conditional step execution (when)
|
|
7
7
|
* - Dry-run mode
|
|
8
8
|
*/
|
|
9
|
-
import { approvalIdentityMatches, executionEvidence, } from "../approvalIdentity.js";
|
|
9
|
+
import { approvalIdentityMatches, computeApprovedActionIdentity, executionEvidence, } from "../approvalIdentity.js";
|
|
10
10
|
import { computeEffectivePolicy } from "../governance/effectivePolicy.js";
|
|
11
11
|
import { readKillSwitch } from "../governance/killSwitchPolicy.js";
|
|
12
12
|
import { activeProfile, COMPAT_PROFILE, resolveAgentContainment, } from "../governance/profile.js";
|
|
@@ -16,6 +16,7 @@ import { classifyTool } from "../riskTier.js";
|
|
|
16
16
|
import { stepSandboxRequest } from "./agentExecutor.js";
|
|
17
17
|
import { normaliseApprovalVerdict, recipeApprovalIdentityMatches, } from "./approvalRequest.js";
|
|
18
18
|
import { buildDependencyGraph, executeWithDependencies, } from "./dependencyGraph.js";
|
|
19
|
+
import { fanOutApprovalSummary, fanOutChildReversibilityCeiling, fanOutChildToolId, } from "./fanOutChild.js";
|
|
19
20
|
import { reversibilityCeilingFor } from "./fileWriteRollbackability.js";
|
|
20
21
|
import { approvalHaltFor, categoriseHaltReason, deriveHaltReasonFromError, } from "./haltCategory.js";
|
|
21
22
|
import { mockNestedRecipe, resolveNestedVars, validateNestedRecipe, } from "./nestedRecipeStep.js";
|
|
@@ -440,7 +441,12 @@ export async function executeChainedStep(ctx, deps) {
|
|
|
440
441
|
const stepRollback = !step.agent && step.tool && deps.assessRollback
|
|
441
442
|
? deps.assessRollback(step.tool, resolved)
|
|
442
443
|
: undefined;
|
|
443
|
-
|
|
444
|
+
// A fan_out step is gated as the tool it runs per item (fanOutChild.ts);
|
|
445
|
+
// identity below still hashes the dispatched `fan_out` call.
|
|
446
|
+
const fanOutChild = step.agent ? undefined : fanOutChildToolId(step);
|
|
447
|
+
const stepReversibilityCeiling = fanOutChild
|
|
448
|
+
? fanOutChildReversibilityCeiling(fanOutChild)
|
|
449
|
+
: reversibilityCeilingFor(stepRollback);
|
|
444
450
|
const effective = depth === 0 && (step.agent || step.tool)
|
|
445
451
|
? computeEffectivePolicy({
|
|
446
452
|
profile: governance,
|
|
@@ -453,7 +459,7 @@ export async function executeChainedStep(ctx, deps) {
|
|
|
453
459
|
}),
|
|
454
460
|
},
|
|
455
461
|
trigger: "manual",
|
|
456
|
-
tool: toolFactsFor(step.agent ? "agent" : (step.tool ?? "unknown"), step.agent
|
|
462
|
+
tool: toolFactsFor(step.agent ? "agent" : (fanOutChild ?? step.tool ?? "unknown"), step.agent
|
|
457
463
|
? {
|
|
458
464
|
containment: resolveAgentContainment(governance, stepSandboxRequest({
|
|
459
465
|
...(step.agent.sandbox !== undefined && {
|
|
@@ -493,13 +499,33 @@ export async function executeChainedStep(ctx, deps) {
|
|
|
493
499
|
let stepApprovalEvidence;
|
|
494
500
|
let stepApprovalGrant;
|
|
495
501
|
if (deps.requireApprovalFn && effective?.consultsApproval) {
|
|
496
|
-
const approvalToolId = step.agent
|
|
502
|
+
const approvalToolId = step.agent
|
|
503
|
+
? "agent"
|
|
504
|
+
: (fanOutChild ?? step.tool ?? "unknown");
|
|
497
505
|
const approvalInput = {
|
|
498
506
|
toolId: approvalToolId,
|
|
499
507
|
tier: classifyTool(approvalToolId),
|
|
500
508
|
effective: effective.final,
|
|
501
|
-
summary: step.agent
|
|
509
|
+
summary: step.agent
|
|
510
|
+
? "agent step"
|
|
511
|
+
: fanOutChild
|
|
512
|
+
? fanOutApprovalSummary(fanOutChild, resolved)
|
|
513
|
+
: `tool ${approvalToolId}`,
|
|
502
514
|
params: step.agent ? undefined : resolved,
|
|
515
|
+
// fan_out: `toolId` names the child for classification, so the
|
|
516
|
+
// identity must be supplied — hashed over the DISPATCHED call, with
|
|
517
|
+
// exactly the fields the tool-step dispatch check below re-verifies.
|
|
518
|
+
...(fanOutChild &&
|
|
519
|
+
step.tool && {
|
|
520
|
+
proposedActionIdentity: computeApprovedActionIdentity({
|
|
521
|
+
toolName: step.tool,
|
|
522
|
+
params: resolved,
|
|
523
|
+
sessionId: "recipe",
|
|
524
|
+
tier: classifyTool(step.tool),
|
|
525
|
+
correlationId: ctx.runTaskId ?? "",
|
|
526
|
+
recipeName: recipe.name,
|
|
527
|
+
}),
|
|
528
|
+
}),
|
|
503
529
|
...(stepReversibilityCeiling && {
|
|
504
530
|
reversibilityCeiling: stepReversibilityCeiling,
|
|
505
531
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chainedRunner.js","sourceRoot":"","sources":["../../src/recipes/chainedRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EACL,aAAa,EACb,cAAc,EACd,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EACL,iBAAiB,EACjB,YAAY,EAEZ,aAAa,GACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EACL,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAmB,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAU9C,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,GACf,MAAM,iBAAiB,CAAC;AA+NzB,oEAAoE;AACpE,SAAS,oBAAoB,CAAC,CAAuB;IACnD,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC;AA4DD,SAAS,eAAe,CAAC,IAAiB;IACxC,OAAO,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;QACpC,CAAC,CAAC,IAAI,CAAC,MAAM;QACb,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;YAC9B,CAAC,CAAC,IAAI,CAAC,KAAK;YACZ,CAAC,CAAC,SAAS,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,6BAA6B,GAAG,IAAI,OAAO,EAG9C,CAAC;AAEJ,SAAS,sBAAsB,CAC7B,QAAwB;IAExB,IAAI,CAAC,GAAG,6BAA6B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;QACd,6BAA6B,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,oBAAoB,CAClC,QAAwB,EACxB,GAAuC;IAEvC,OAAO,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,oBAAoB,CAClC,IAAiB,EACjB,OAAwB,EACxB,UAAgC;AAChC,oFAAoF;AACpF,aAAuC;IAMvC,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAoB,EAAE,CAAC;IAEnC,qDAAqD;IACrD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;QAC7B,IAAI;QACJ,MAAM;QACN,OAAO;QACP,QAAQ;QACR,OAAO;QACP,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,MAAM;QACN,UAAU;QACV,MAAM;QACN,WAAW;QACX,OAAO;QACP,YAAY;QACZ,UAAU;QACV,sEAAsE;QACtE,2EAA2E;QAC3E,gEAAgE;QAChE,QAAQ;QACR,YAAY;QACZ,qBAAqB;KACtB,CAAC,CAAC;IAEH,sBAAsB;IACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1B,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,wCAAwC;gBACxC,IAAI,CAAC;oBACH,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3C,CAAC;gBAAC,MAAM,CAAC;oBACP,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,2EAA2E;IAC3E,oEAAoE;IACpE,sEAAsE;IACtE,sEAAsE;IACtE,gEAAgE;IAChE,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,IACE,CAAC,MAAM,KAAK,WAAW;QACrB,MAAM,KAAK,YAAY;QACvB,MAAM,KAAK,aAAa,CAAC;QAC3B,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,EACjC,CAAC;QACD,iEAAiE;QACjE,uEAAuE;QACvE,+DAA+D;QAC/D,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,KAAK,WAAW,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,mCAAmC;IACnC,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpD,4EAA4E;QAC5E,wEAAwE;QACxE,oEAAoE;QACpE,6EAA6E;QAC7E,MAAM,aAAa,GACjB,UAAU,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC;YAC/B,CAAC,CAAC;gBACE,GAAG,OAAO;gBACV,GAAG,EAAE,sBAAsB,CACzB,OAAO,CAAC,GAA6B,EACrC,UAAU,CACX;aACF;YACH,CAAC,CAAC,OAAO,CAAC;QACd,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QAC/D,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;QACtC,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAI,eAAe,GAAG,IAAI,CAAC;IAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,2EAA2E;QAC3E,4EAA4E;QAC5E,IAAK,IAAI,CAAC,IAAgB,KAAK,KAAK,EAAE,CAAC;YACrC,eAAe,GAAG,KAAK,CAAC;QAC1B,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,uEAAuE;YACvE,yEAAyE;YACzE,yEAAyE;YACzE,yEAAyE;YACzE,kBAAkB;YAClB,wEAAwE;YACxE,wEAAwE;YACxE,sDAAsD;YACtD,IAAI,aAAwC,CAAC;YAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;gBAC5C,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC/C,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;oBACjB,aAAa,KAAK,CAAC,CAAC,KAAK,CAAC;oBAC1B,OAAO,EAAE,CAAC;gBACZ,CAAC;gBACD,OAAO,CAAC,CAAC,KAAK,CAAC;YACjB,CAAC,CAAC,CAAC;YACH,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC3B,eAAe,GAAG,KAAK,CAAC;YAC1B,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC1C,mEAAmE;gBACnE,uEAAuE;gBACvE,gEAAgE;gBAChE,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,eAAe;oBACrB,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,OAAO,EAAE,OAAO,CAAC,MAAM;iBACxB,CAAC,CAAC;gBACH,eAAe,GAAG,KAAK,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;AAC/C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CACtB,IAAgB,EAChB,SAA6B,EAC7B,KAAa,EACb,MAAoB;IAEpB,MAAM,UAAU,GAAG,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,GAAG,CAAC,CAAC;IAClE,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAExC,sEAAsE;IACtE,2EAA2E;IAC3E,2EAA2E;IAC3E,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;QACpB,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,4CAA4C,KAAK,aAAa,CAAC,CAC1E,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,IAAI,KAAgD,CAAC;IACrD,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CACT,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YAC/B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,MAAM,CACJ,IAAI,KAAK,CACP,0BAA0B,SAAS,eAAe,KAAK,GAAG,CAC3D,CACF,CAAC;YACJ,CAAC,EAAE,SAAS,CAAC,CAAC;QAChB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACD,IAAI,OAAiC,CAAC;IACtC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CACT,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YAC/B,OAAO,GAAG,GAAG,EAAE,CACb,MAAM,CACJ,IAAI,KAAK,CAAC,4CAA4C,KAAK,GAAG,CAAC,CAChE,CAAC;YACJ,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;QAClD,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,MAAM,IAAI,OAAO;YAAE,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,4BAA4B;AAC5B,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,GAAyB,EACzB,IAAmB;IAyBnB,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACvD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE3B,yBAAyB;IACzB,MAAM,eAAe,GAAG,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpE,6EAA6E;IAC7E,0EAA0E;IAC1E,iEAAiE;IACjE,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CACpD,CAAC;IAEF,oBAAoB;IACpB,yEAAyE;IACzE,uEAAuE;IACvE,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,aAAa,EAAE,CAAC,CAAC,iBAAiB,CAAC;IAC9E,0EAA0E;IAC1E,0EAA0E;IAC1E,iDAAiD;IACjD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,MAAM,aAAa,GAAwC,cAAc;QACvE,CAAC,CAAC;YACE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACtB,MAAM,IAAI,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC1D,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO,SAAS,CAAC;gBACzC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO;oBAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnD,OAAO,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;SACF;QACH,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAChE,IAAI,EACJ,eAAe,EACf,UAAU,EACV,aAAa,CACd,CAAC;IAEF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,oBAAoB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACrE,CAAC;IACJ,CAAC;IAED,uBAAuB;IACvB,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,uEAAuE;QACvE,oEAAoE;QACpE,yEAAyE;QACzE,2EAA2E;QAC3E,yCAAyC;QACzC,IAAI,IAAI,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,EAAE,CAAC;YACnC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EACH,oFAAoF;aACvF,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,sBAAsB,EAAE;SACxD,CAAC;IACJ,CAAC;IAED,yCAAyC;IACzC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;gBAC9D,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBAC9D,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;aACxE;SACF,CAAC;IACJ,CAAC;IAED,kFAAkF;IAClF,SAAS,cAAc,CACrB,QAAgB,EAChB,SAAkB,EAClB,GAAoB;QAEpB,MAAM,SAAS,GACb,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACxE,MAAM,OAAO,GAA2B,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAC/D,kBAAkB;QAClB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,KAAK,SAAS;gBAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;QACD,mFAAmF;QACnF,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACzD,IAAI,MAAM,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,OAAO,GACX,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;oBAC7B,CAAC,CAAC,MAAM,CAAC,IAAI;oBACb,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAClC,OAAO,CAAC,SAAS,MAAM,OAAO,CAAC,GAAG,OAAO,CAAC;gBAC1C,6EAA6E;gBAC7E,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;gBAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBACxB,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,sEAAsE;IACtE,qEAAqE;IACrE,gEAAgE;IAChE,kEAAkE;IAClE,oEAAoE;IACpE,iEAAiE;IACjE,IAAI,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACxC,IAAI,UAAU,GAAY,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7D,sEAAsE;QACtE,uEAAuE;QACvE,qEAAqE;QACrE,2BAA2B;QAC3B,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC1E,IAAI,mBAAmB,EAAE,CAAC;YACxB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,gBAAgB,EAAE,IAAI;gBACtB,KAAK,EAAE,mBAAmB,CAAC,OAAO;gBAClC,IAAI,EAAE,UAAU;gBAChB,cAAc,EAAE,QAAQ;aACzB,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,UAAU,GAAG,cAAc,CACzB,IAAI,CAAC,SAAS,EACd,UAAU,EACV,eAAe,CAChB,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,UAAU;YAChB,cAAc,EAAE,QAAQ;SACzB,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,yEAAyE;IACzE,mEAAmE;IACnE,0EAA0E;IAC1E,wEAAwE;IACxE,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAChC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,oBAAoB,CACzB,CAAC,IAAI,CAAC,EAAE,CAAC,EACT,IAAI,CAAC,KAAK;gBACR,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,IAAI,CAAC,IAAI;oBACT,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE;oBACrB,CAAC,CAAC,eAAe,CACtB;YACD,cAAc,EAAE,QAAQ;SACzB,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,IAAI,CAAC;QACH,yEAAyE;QACzE,0EAA0E;QAC1E,2EAA2E;QAC3E,2EAA2E;QAC3E,iEAAiE;QACjE,0EAA0E;QAC1E,4EAA4E;QAC5E,2BAA2B;QAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACxB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EACH,SAAS,CAAC,MAAM,IAAI,4CAA4C;oBAClE,cAAc,EAAE,QAAQ;iBACzB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,0EAA0E;QAC1E,2EAA2E;QAC3E,2EAA2E;QAC3E,kEAAkE;QAClE,2EAA2E;QAC3E,0EAA0E;QAC1E,0EAA0E;QAC1E,yEAAyE;QACzE,yEAAyE;QACzE,2EAA2E;QAC3E,0EAA0E;QAC1E,sEAAsE;QACtE,sEAAsE;QACtE,+DAA+D;QAC/D,yEAAyE;QACzE,oEAAoE;QACpE,oEAAoE;QACpE,oEAAoE;QACpE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,cAAc,CAAC;QACrD,mEAAmE;QACnE,MAAM,YAAY,GAChB,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc;YAC7C,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC1C,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,wBAAwB,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;QACvE,MAAM,SAAS,GACb,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC;YACtC,CAAC,CAAC,sBAAsB,CAAC;gBACrB,OAAO,EAAE,UAAU;gBACnB,MAAM,EAAE;oBACN,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,GAAG,CAAE,MAAwC,CAAC,eAAe;wBAC3D,SAAS,IAAI;wBACb,eAAe,EAAG,MAAwC;6BACvD,eAAe;qBACnB,CAAC;iBACH;gBACD,OAAO,EAAE,QAAQ;gBACjB,IAAI,EAAE,YAAY,CAChB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,EAC/C,IAAI,CAAC,KAAK;oBACR,CAAC,CAAC;wBACE,WAAW,EAAE,uBAAuB,CAClC,UAAU,EACV,kBAAkB,CAAC;4BACjB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI;gCACtC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;6BAC5B,CAAC;4BACF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI;gCACpC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;6BAC/B,CAAC;4BACF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI;gCAC9C,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;6BAC5C,CAAC;4BACF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI;gCACxC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;6BAChC,CAAC;yBACH,CAAC,CACH;qBACF;oBACH,CAAC,CAAC,SAAS,EACb,wBAAwB;oBACtB,CAAC,CAAC,EAAE,oBAAoB,EAAE,wBAAwB,EAAE;oBACpD,CAAC,CAAC,SAAS,CACd;gBACD,UAAU,EAAE,cAAc,CAAC,UAAU,CAAC;gBACtC,IAAI,EAAE;oBACJ,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,KAAK,SAAS;oBACxD,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,KAAK,IAAI;iBACpD;aACF,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,SAAS,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC;YACtE,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EACH,QAAQ,EAAE,KAAK,KAAK,aAAa;oBAC/B,CAAC,CAAC,uDAAuD,QAAQ,CAAC,MAAM,EAAE;oBAC1E,CAAC,CAAC,wBAAwB,QAAQ,EAAE,MAAM,IAAI,SAAS,EAAE;gBAC7D,cAAc,EAAE,QAAQ;aACzB,CAAC;QACJ,CAAC;QACD,IAAI,oBAES,CAAC;QACd,IAAI,iBAES,CAAC;QACd,IAAI,IAAI,CAAC,iBAAiB,IAAI,SAAS,EAAE,gBAAgB,EAAE,CAAC;YAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;YACvE,MAAM,aAAa,GAAG;gBACpB,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,YAAY,CAAC,cAAc,CAAC;gBAClC,SAAS,EAAE,SAAS,CAAC,KAAK;gBAC1B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,cAAc,EAAE;gBAC7D,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,QAAoC;gBACtE,GAAG,CAAC,wBAAwB,IAAI;oBAC9B,oBAAoB,EAAE,wBAAwB;iBAC/C,CAAC;gBACF,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjD,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE;gBAC9B,UAAU,EAAE,MAAM,CAAC,IAAI;aACxB,CAAC;YACF,MAAM,OAAO,GAAG,wBAAwB,CACtC,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAC5C,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACtB,sEAAsE;gBACtE,wEAAwE;gBACxE,iEAAiE;gBACjE,+DAA+D;gBAC/D,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM;oBAC9C,cAAc,EAAE,QAAQ;iBACzB,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,6BAA6B,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC;gBAC3D,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EACH,sFAAsF;oBACxF,cAAc,EAAE,QAAQ;iBACzB,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC;gBAClC,oBAAoB,GAAG,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,SAAS,EAAE,CAAC;YACd,qBAAqB;YACrB,MAAM,YAAY,GAAuB;gBACvC,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE;gBAC9B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,EAAE,EAAE,IAAI,CAAC,EAAE;aACZ,CAAC;YAEF,MAAM,aAAa,GAAwB;gBACzC,cAAc,EAAE,QAAQ;gBACxB,SAAS,EAAE,OAAO,CAAC,GAAG;gBACtB,cAAc,EAAE,OAAO,CAAC,QAAQ;gBAChC,YAAY,EAAE,KAAK;gBACnB,MAAM;aACP,CAAC;YAEF,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;gBACnE,OAAO;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;iBACpB,CAAC;YACJ,CAAC;YAED,iCAAiC;YACjC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAC9C,SAAS,EACT,OAAO,CAAC,UAAU,CACnB,CAAC;YACF,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,kBAAkB,SAAS,aAAa;iBAChD,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,oBAAoB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;YACrE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;YACrD,CAAC;YAED,yBAAyB;YACzB,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,iBAAiB,CACrE,IAAI,CAAC,IAAI,IAAI,EAAE,EACf,eAAe,CAChB,CAAC;YAEF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,6BAA6B,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACjF,CAAC;YACJ,CAAC;YAED,8CAA8C;YAC9C,MAAM,aAAa,GAAG,oBAAoB,EAAE,CAAC;YAC7C,MAAM,YAAY,GAAe;gBAC/B,GAAG,OAAO;gBACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,UAAU,EAAE,YAAY,CAAC,UAAU;gBACnC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,YAAY,EAAE,EAAE,+BAA+B;gBACzE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,kDAAkD;gBACtE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,oCAAoC;aACjE,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,gBAAgB,CACxC,YAAY,CAAC,MAAM,EACnB,YAAY,EACZ,IAAI,EACJ,aAAa,EACb,KAAK,GAAG,CAAC,CACV,CAAC;YAEF,MAAM,YAAY,GAAG;gBACnB,GAAG,IAAI,GAAG,CACR,CAAC,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CACzD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CACjB,CACF;aACF,CAAC;YACF,sEAAsE;YACtE,uEAAuE;YACvE,+DAA+D;YAC/D,kEAAkE;YAClE,MAAM,cAAc,GAAG,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACtE,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAC5B,CAAC;YACF,MAAM,aAAa,GAAG,WAAW,CAAC,YAAY;gBAC5C,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACjE,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,gBAAgB,GAAG,aAAa,CAAC,IAAI,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,CACtD,EAAE,KAAK,EAAE,OAAO,CAAC;YAClB,MAAM,gBAAgB,GAAG,aAAa,CAAC,IAAI,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,IAAI,CAC9B,CAAC;YACF,OAAO;gBACL,OAAO,EAAE,CAAC,WAAW,CAAC,YAAY;gBAClC,GAAG,CAAC,CAAC,cAAc;oBACjB,gBAAgB,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;gBAChE,GAAG,CAAC,gBAAgB,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;gBACnD,GAAG,CAAC,WAAW,CAAC,YAAY,IAAI,cAAc;oBAC5C,CAAC,CAAC;wBACE,KAAK,EAAE,GAAG,uBAAuB,mBAAmB,SAAS,MAAM,WAAW,CAAC,YAAY,yDAAyD;wBACpJ,OAAO,EAAE,WAAoB;qBAC9B;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,IAAI,EAAE;oBACJ,MAAM,EAAE,SAAS;oBACjB,YAAY,EAAE,aAAa,CAAC,OAAO,EAAE;oBACrC,YAAY,EAAE,MAAM,CAAC,WAAW,CAC9B,aAAa,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CACjE;iBACF;gBACD,wEAAwE;gBACxE,uEAAuE;gBACvE,wEAAwE;gBACxE,sEAAsE;gBACtE,6DAA6D;gBAC7D,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrE,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACtB,aAAa;YACb,MAAM,MAAM,GAAI,QAAQ,CAAC,WAAsB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAErE,iEAAiE;YACjE,sEAAsE;YACtE,wEAAwE;YAExE,iEAAiE;YACjE,2DAA2D;YAC3D,IAAI,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACvC,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACrC,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG,cAAc,CAC3B,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EACtD,IAAI,CAAC,KAAK,CAAC,SAAS,EACpB,MAAM,EACN,MAAM,CACP,CAAC;gBACF,cAAc,GAAG,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBACvE,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;YAC/B,CAAC;YAED,MAAM,WAAW,GAAG,oBAAoB,CACtC,MAAM,eAAe,CACnB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE;gBACvD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI;oBACxC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;iBAChC,CAAC;gBACF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI;oBACtC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;iBAC5B,CAAC;gBACF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI;oBACpC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;iBAC/B,CAAC;gBACF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI;oBAC9C,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;iBAC5C,CAAC;gBACF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI;oBAC1C,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;iBACjD,CAAC;aACH,CAAC,EACF,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,EAAE,EACP,OAAO,CAAC,MAAM,CACf,CACF,CAAC;YAEF,mEAAmE;YACnE,oEAAoE;YACpE,gDAAgD;YAChD,IAAI,MAAM,EAAE,CAAC;gBACX,uEAAuE;gBACvE,qCAAqC;gBACrC,mEAAmE;gBACnE,qEAAqE;gBACrE,sEAAsE;gBACtE,uEAAuE;gBACvE,2DAA2D;gBAC3D,6DAA6D;gBAC7D,8DAA8D;gBAC9D,iEAAiE;gBACjE,mEAAmE;gBACnE,sEAAsE;gBACtE,sEAAsE;gBACtE,qEAAqE;gBACrE,kEAAkE;gBAClE,iEAAiE;gBACjE,iEAAiE;gBACjE,mEAAmE;gBACnE,8CAA8C;gBAC9C,MAAM,eAAe,GACnB,WAAW,CAAC,QAAQ,EAAE,MAAM;oBAC5B,CAAC,cAAc,KAAK,KAAK,IAAI,cAAc,KAAK,SAAS;wBACvD,CAAC,CAAC,WAAW;wBACb,CAAC,CAAC,cAAc,CAAC,CAAC;gBACtB,MAAM,CAAC,SAAS,CACd,eAAe,EACf,WAAW,CAAC,KAAK,EACjB,WAAW,CAAC,QAAQ,EAAE,KAAK,IAAI,aAAa,EAC5C;oBACE,UAAU,EAAE,MAAM,CAAC,MAAM;oBACzB,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM;iBACrC,CACF,CAAC;YACJ,CAAC;YAED,sEAAsE;YACtE,uEAAuE;YACvE,kEAAkE;YAClE,iEAAiE;YACjE,MAAM,KAAK,GAAG,qBAAqB,CACjC,WAAW,CAAC,KAAK,EACjB,WAAW,CAAC,QAAQ,EACpB,GAAG,CAAC,UAAU,CACf,CAAC;YAEF,IAAI,MAAM,GAAY,WAAW,CAAC,IAAI,CAAC;YACvC,4EAA4E;YAC5E,IACE,OAAO,MAAM,KAAK,QAAQ;gBAC1B,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,EACxC,CAAC;gBACD,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,MAAM;oBACb,cAAc,EAAE,QAAQ;oBACxB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC5B,CAAC;YACJ,CAAC;YACD,MAAM,eAAe,GACnB,IAAI,CAAC,mBAAmB,KAAK,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACvE,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,yBAAyB,eAAe,CAAC,MAAM,MAAM,eAAe,CAAC,OAAO,EAAE,CAAC;gBAC9F,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,MAAM;oBACb,cAAc,EAAE,QAAQ;oBACxB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC5B,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC;oBACH,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;gBACnE,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;YACD,IAAI,mBAAyC,CAAC;YAC9C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC/D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC;wBAC/C,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,kBAAkB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;4BAC9C,cAAc,EAAE,QAAQ;4BACxB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBAC5B,CAAC;oBACJ,CAAC;oBACD,iEAAiE;oBACjE,gEAAgE;oBAChE,mBAAmB,GAAG,QAAQ,CAAC;gBACjC,CAAC;YACH,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,MAAM;gBACZ,cAAc,EAAE,QAAQ;gBACxB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3B,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC;oBACxB,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE;oBACxC,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,YAAY;YACZ,IACE,iBAAiB;gBACjB,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,sBAAsB,EAAE;oBACjE,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,QAAQ;oBACnB,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC7B,aAAa,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE;oBAClC,UAAU,EAAE,MAAM,CAAC,IAAI;iBACxB,CAAC,EACF,CAAC;gBACD,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EACH,kFAAkF;oBACpF,cAAc,EAAE,QAAQ;iBACzB,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,GAAY,MAAM,eAAe,CACzC,YAAY,KAAK,SAAS;gBACxB,CAAC,CAAC,IAAI,CAAC,WAAW,CACd,IAAI,CAAC,IAAI,EACT,QAAQ,EACR,oBAAoB,EACpB,YAAY,CACb;gBACH,CAAC,CAAC,oBAAoB;oBACpB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,oBAAoB,CAAC;oBAC7D,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,EAC3C,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,EAAE,EACP,OAAO,CAAC,MAAM,CACf,CAAC;YACF,0FAA0F;YAC1F,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAA4B,CAAC;oBAC7D,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC5D,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,cAAc,EAAE,QAAQ;yBACzB,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,6BAA6B;gBAC/B,CAAC;YACH,CAAC;YACD,qEAAqE;YACrE,mEAAmE;YACnE,MAAM,WAAW,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9D,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,gBAAgB,EAAE,IAAI;oBACtB,KAAK,EAAE,WAAW,CAAC,OAAO;oBAC1B,IAAI,EAAE,MAAM;oBACZ,cAAc,EAAE,QAAQ;iBACzB,CAAC;YACJ,CAAC;YACD,MAAM,cAAc,GAClB,IAAI,CAAC,mBAAmB,KAAK,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACvE,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,yBAAyB,cAAc,CAAC,MAAM,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;gBAC5F,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;YACrE,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC;oBACH,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;gBACnE,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;YACD,IAAI,kBAAwC,CAAC;YAC7C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC/D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC;wBAC/C,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,kBAAkB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;4BAC9C,cAAc,EAAE,QAAQ;yBACzB,CAAC;oBACJ,CAAC;oBACD,iEAAiE;oBACjE,gEAAgE;oBAChE,kBAAkB,GAAG,QAAQ,CAAC;gBAChC,CAAC;YACH,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,MAAM;gBACZ,cAAc,EAAE,QAAQ;gBACxB,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC;QACzE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,GAAG;YACV,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;gBACvC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE;gBAC5B,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;AACH,CAAC;AAoCD;;0BAE0B;AAC1B,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB,KAAK,UAAU,SAAS,CACtB,EAAiC,EACjC,UAAkB,EAClB,OAAe;IAEf,4EAA4E;IAC5E,2EAA2E;IAC3E,6EAA6E;IAC7E,8EAA8E;IAC9E,8BAA8B;IAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC7C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC,CAAC;IACN,IAAI,IAAI,GAAmB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC9C,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACxD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,GAAG,MAAM,EAAE,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC9B,oEAAoE;QACpE,kEAAkE;QAClE,sEAAsE;QACtE,kEAAkE;QAClE,IACE,IAAI,CAAC,OAAO,KAAK,WAAW;YAC5B,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC;YAE/D,OAAO,IAAI,CAAC;QACd,yEAAyE;QACzE,sEAAsE;QACtE,yEAAyE;QACzE,kEAAkE;QAClE,yEAAyE;QACzE,uEAAuE;QACvE,0EAA0E;QAC1E,4EAA4E;QAC5E,IAAI,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC;YAAE,OAAO,IAAI,CAAC;QAEzD,oEAAoE;QACpE,IAAI,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC;YAAE,OAAO,IAAI,CAAC;IAC7D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAiCD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAoB;IACtD,MAAM,IAAI,GAAkB,EAAE,CAAC;IAC/B,kEAAkE;IAClE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAoB,CAAC;IAClD,0DAA0D;IAC1D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7D,mEAAmE;YACnE,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,IAAI,YAAY,CAAC,EAAE,CAAC;YAC3C,yEAAyE;YACzE,mEAAmE;YACnE,wEAAwE;YACxE,mDAAmD;YACnD,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,2CAA2C,OAAO,iCAAiC,CACpF,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAa,EAAE,CAAC;YAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,IAAI,GAAG,OAAO,IAAI,CAAC,EAAE,CAAC;gBAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACzB,MAAM,IAAI,KAAK,CACb,2CAA2C,OAAO,4DAA4D,CAC/G,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACrB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvB,0DAA0D;gBAC1D,MAAM,QAAQ,GAAG,mBAAmB,CAAC;oBACnC;wBACE,GAAG,KAAK;wBACR,EAAE,EAAE,OAAO;wBACX,MAAM,EAAE,CAAC,GAAG,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;qBAClD;iBACF,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YACzB,CAAC;YAED,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACvC,CAAC;aAAM,IACL,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;YACjC,IAAI,CAAC,QAAQ,KAAK,IAAI;YACtB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC7B,MAAM,IAAK,IAAI,CAAC,QAAoC,EACpD,CAAC;YACD,0EAA0E;YAC1E,0EAA0E;YAC1E,yEAAyE;YACzE,0EAA0E;YAC1E,sEAAsE;YACtE,6DAA6D;YAC7D,oBAAoB;YACpB,MAAM,IAAI,KAAK,CACb,SAAS,IAAI,CAAC,EAAE,IAAI,YAAY,CAAC,EAAE,2BAA2B;gBAC5D,4DAA4D;gBAC5D,qEAAqE;gBACrE,6CAA6C,CAChD,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CACb,2CAA2C,IAAI,CAAC,EAAE,iCAAiC,CACpF,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CACnC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CACzC,CAAC;QACF,sCAAsC;QACtC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YACtC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC/B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,6CAA6C;AAC7C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAqB,EACrB,OAAmB,EACnB,IAAmB,EACnB,gBAAiC,EACjC,KAAK,GAAG,CAAC;IAET,yEAAyE;IACzE,wFAAwF;IACxF,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAC9D,MAAM,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mEAAmE;YACnE,kEAAkE;YAClE,+DAA+D;YAC/D,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAmB;gBAAE,MAAM,GAAG,CAAC;YACxE,4EAA4E;QAC9E,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,IAAI,oBAAoB,EAAE,CAAC;IAE5D,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,wEAAwE;IACxE,kEAAkE;IAClE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D,iEAAiE;IACjE,4EAA4E;IAC5E,kEAAkE;IAClE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC;IAEhD,0EAA0E;IAC1E,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,cAAc,EAAE,CAAC;IAE1D,+EAA+E;IAC/E,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEhD,yBAAyB;IACzB,MAAM,QAAQ,GAAG,oBAAoB,CACnC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CACrE,CAAC;IAEF,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEhC,wEAAwE;IACxE,uEAAuE;IACvE,oEAAoE;IACpE,MAAM,iBAAiB,GACpB,MAAqD,CAAC,OAAO,EAAE,IAAI;QACpE,QAAQ,CAAC;IACX,MAAM,WAAW,GAAG,CAClB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACvD,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,QAAQ,CACoB,CAAC;IACnC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,SAAS,CAAC;IACvD,MAAM,SAAS,GAAG,GAAG,YAAY,IAAI,MAAM,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;IACnE,6EAA6E;IAC7E,4EAA4E;IAC5E,6EAA6E;IAC7E,yEAAyE;IACzE,2CAA2C;IAC3C,IAAI,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;IAC7D,IAAI,MAA0B,CAAC;IAC/B,IAAI,KAAK,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC/B,MAAM,EAAE,SAAS;gBACjB,UAAU,EAAE,MAAM,CAAC,IAAI;gBACvB,OAAO,EAAE,WAAW;gBACpB,SAAS,EAAE,YAAY;gBACvB,SAAS,EAAE,YAAY;gBACvB,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI;oBACrC,SAAS,EAAE,OAAO,CAAC,SAAS;iBAC7B,CAAC;aACH,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;QACpE,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,oEAAoE;IACpE,wEAAwE;IACxE,wEAAwE;IACxE,uCAAuC;IACvC,MAAM,eAAe,GACnB,QAAQ,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC;QACrC,CAAC,CAAC,gDAAgD,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC3F,CAAC,CAAC,QAAQ,CAAC,SAAS;YAClB,CAAC,CAAC,kCAAkC;YACpC,CAAC,CAAC,SAAS,CAAC;IAElB,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,MAAM,GAAG,YAAY,CAAC;YACzC,IAAI,CAAC;gBACH,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC3C,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE;wBACjC,MAAM,EAAE,OAAO;wBACf,MAAM;wBACN,UAAU;wBACV,WAAW,EAAE,EAAE;wBACf,YAAY,EAAE,eAAe;qBAC9B,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBAC7B,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CACzC,6BAA6B,CAC9B,CAAC;oBACF,MAAM,GAAG,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,YAAY,CAAC;wBACf,MAAM,EAAE,SAAS;wBACjB,UAAU,EAAE,MAAM,CAAC,IAAI;wBACvB,OAAO,EAAE,WAAW;wBACpB,MAAM,EAAE,OAAO;wBACf,SAAS,EAAE,YAAY;wBACvB,SAAS,EAAE,YAAY;wBACvB,MAAM;wBACN,UAAU;wBACV,YAAY,EAAE,eAAe;wBAC7B,WAAW,EAAE,EAAE;qBAChB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,kEAAkE;YACpE,CAAC;QACH,CAAC;QACD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,IAAI,GAAG,EAAE;YACtB,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;YAC1D,YAAY,EAAE,eAAe;YAC7B,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,IAAI,QAAQ,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,kEAAkE;IAClE,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxD,6DAA6D;IAC7D,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,MAAM,cAAc,GAAG,CAAC,EAAU,EAAqB,EAAE;QACvD,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9C,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,GAAG,EAGxB,CAAC;IAEJ,yEAAyE;IACzE,sEAAsE;IACtE,mEAAmE;IACnE,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAQ7B,CAAC;IACJ,0EAA0E;IAC1E,qEAAqE;IACrE,sEAAsE;IACtE,MAAM,aAAa,GAAG,IAAI,GAAG,EAG1B,CAAC;IACJ,4EAA4E;IAC5E,yEAAyE;IACzE,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE3D,2EAA2E;IAC3E,8DAA8D;IAC9D,oEAAoE;IACpE,2DAA2D;IAC3D,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;IAC9C,MAAM,YAAY,GAAG,MAAM,CAAC;IAC5B,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC;IAClC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjD,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEzC,qEAAqE;IACrE,iEAAiE;IACjE,oBAAoB;IACpB,IAAI,iBAAiB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QACpD,IAAI,CAAC;YACH,iBAAiB,CAAC,WAAW,CAAC,gBAAgB,EAAE;gBAC9C,MAAM,EAAE,YAAY;gBACpB,UAAU,EAAE,aAAa;gBACzB,UAAU,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;gBACrC,EAAE,EAAE,qBAAqB;aAC1B,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;IACH,CAAC;IAED,MAAM,kBAAkB,GACtB,iBAAiB,IAAI,YAAY,KAAK,SAAS;QAC7C,CAAC,CAAC,CAAC,MAAc,EAAE,EAAE;YACjB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC/B,IAAI,CAAC;gBACH,iBAAiB,CAAC,WAAW,CAAC,mBAAmB,EAAE;oBACjD,MAAM,EAAE,YAAY;oBACpB,UAAU,EAAE,aAAa;oBACzB,MAAM;oBACN,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI;oBAC/B,EAAE;iBACH,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,4CAA4C;YAC9C,CAAC;YACD,OAAO,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QACH,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAE1B,MAAM,qBAAqB,GACzB,iBAAiB,IAAI,YAAY,KAAK,SAAS;QAC7C,CAAC,CAAC,CAAC,MAAc,EAAE,QAAgB,EAAE,EAAE;YACnC,MAAM,KAAK,GAAG,QAAQ,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACpC,MAAM,UAAU,GACd,KAAK,EAAE,OAAO,KAAK,SAAS;oBAC1B,CAAC,CAAC,yBAAyB,CAAC;wBACxB,MAAM;wBACN,QAAQ,EAAE,OAAO,EAAE,IAAI;wBACvB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK;wBACzB,MAAM,EAAE,OAAO;wBACf,KAAK,EAAE,KAAK,CAAC,OAAO;qBACrB,CAAC;oBACJ,CAAC,CAAC,SAAS,CAAC;gBAChB,iBAAiB,CAAC,WAAW,CAAC,kBAAkB,EAAE;oBAChD,MAAM,EAAE,YAAY;oBACpB,UAAU,EAAE,aAAa;oBACzB,MAAM;oBACN,IAAI,EAAE,OAAO,EAAE,IAAI;oBACnB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;oBAC9B,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;oBAC7D,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI;wBAC7B,UAAU,EAAE,EAAE,GAAG,SAAS;qBAC3B,CAAC;oBACF,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI;wBAC9B,UAAU;wBACV,YAAY,EAAE,oBAAoB,CAAC,UAAU,CAAC;qBAC/C,CAAC;oBACF,EAAE;iBACH,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,4CAA4C;YAC9C,CAAC;YACD,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;QACH,CAAC,CAAC,OAAO,CAAC,cAAc;YACtB,CAAC,CAAC,CAAC,MAAc,EAAE,QAAgB,EAAE,EAAE,CACnC,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,QAAQ,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;YACxE,CAAC,CAAC,SAAS,CAAC;IAElB,mCAAmC;IACnC,wEAAwE;IACxE,0EAA0E;IAC1E,wEAAwE;IACxE,sCAAsC;IACtC,MAAM,aAAa,GACjB,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,MAAM,CAClE,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAC7B,CAAC;IACF,MAAM,eAAe,GACnB,aAAa,CAAC,MAAM,KAAK,CAAC;QACxB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;YAC1B,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACvC,8EAA8E;IAC9E,+EAA+E;IAC/E,0EAA0E;IAC1E,OAAO,CAAC,MAAM,GAAG,eAAe,CAAC;IAEjC,MAAM,WAAW,GAAqB;QACpC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,WAAW,EAAE,kBAAkB;QAC/B,cAAc,EAAE,qBAAqB;QACrC,MAAM,EAAE,eAAe;KACxB,CAAC;IAEF,MAAM,YAAY,GAAiB,KAAK,EAAE,MAAc,EAAE,EAAE;QAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,YAAY,CAAC,CAAC;QAEvD,0EAA0E;QAC1E,wEAAwE;QACxE,iEAAiE;QACjE,8CAA8C;QAC9C,IAAI,UAAU;YAAE,MAAM,CAAC,aAAa,EAAE,CAAC;QAEvC,MAAM,GAAG,GAAyB;YAChC,QAAQ;YACR,IAAI;YACJ,OAAO;YACP,MAAM;YACN,KAAK;YACL,MAAM;YACN,UAAU;YACV,SAAS;SACV,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,UAAU,IAAI,IAAI,CAAC;QAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,SAAS,CAC5B,GAAG,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,EACnC,UAAU,EACV,UAAU,CACX,CAAC;QACF,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE;YACtB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;QACH,0EAA0E;QAC1E,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QACD,uEAAuE;QACvE,wEAAwE;QACxE,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;YACjD,sBAAsB,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;QAC5D,CAAC;QAED,yEAAyE;QACzE,mEAAmE;QACnE,yEAAyE;QACzE,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACjD,MAAM,sBAAsB,GAC1B,cAAc,KAAK,UAAU,IAAI,cAAc,KAAK,kBAAkB,CAAC;QACzE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,sBAAsB,CAAC;QACpE,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,IAAI,UAAU,CAAC;QACtD,wEAAwE;QACxE,wEAAwE;QACxE,iEAAiE;QACjE,MAAM,UAAU,GACd,CAAC,MAAM,CAAC,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,UAAU;YAAE,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;YAC7B,qBAAqB,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,sBAAsB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChE,OAAO,CAAC,IAAI,CACV,QAAQ,MAAM,iCAAiC,cAAc,6BAC3D,MAAM,CAAC,KAAK,IAAI,eAClB,EAAE,CACH,CAAC;QACJ,CAAC;QAED,gDAAgD;QAChD,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE;YACnB,MAAM,EAAE,MAAM,CAAC,OAAO;gBACpB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,MAAM,CAAC,OAAO;oBACd,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,UAAU,IAAI,CAAC,UAAU;wBACzB,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,OAAO;YACf,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC,CAAC;QACH,sEAAsE;QACtE,wEAAwE;QACxE,sEAAsE;QACtE,qEAAqE;QACrE,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,aAAa,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC;YAC3D,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;YAChE,IAAI,OAAO;gBAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC;QACD,iEAAiE;QACjE,IACE,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAC7B,CAAC,IAAI,CAAC,UAAU,IAAI,aAAa,EAAE,CAAC,CAAC,iBAAiB;YACtD,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5B,CAAC;YACD,yDAAyD;YACzD,sBAAsB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE;gBAC3C,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;gBACpB,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;QACL,CAAC;QAED,kEAAkE;QAClE,qEAAqE;QACrE,iEAAiE;QACjE,iEAAiE;QACjE,qBAAqB;QACrB,IAAI,KAAK,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1D,IAAI,CAAC;gBACH,MAAM,QAAQ,GAA4B,EAAE,CAAC;gBAC7C,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;oBAChC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC1B,IAAI,CAAC,KAAK,SAAS;wBAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACvC,CAAC;gBACD,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE;oBAC3B,cAAc,EAAE,gBAAgB,CAAC,MAAM,CAAC,cAAc,CAAC;oBACvD,MAAM,EAAE,gBAAgB,CACtB,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAC5D;oBACD,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,CAE9B;oBACb,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,6DAA6D;gBAC7D,iBAAiB;YACnB,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,MAAM,SAAS,CAAC,CAAC;YACnE,iEAAiE;YACjE,oEAAoE;YACpE,MAAM,MAAM,CAAC,OAAO,KAAK,WAAW;gBAClC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC;gBAC/B,CAAC,CAAC,OAAO,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,WAA6D,CAAC;IAClE,IAAI,CAAC;QACH,WAAW,GAAG,MAAM,uBAAuB,CACzC,QAAQ,EACR,YAAY,EACZ,WAAW,CACZ,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,yEAAyE;QACzE,yEAAyE;QACzE,oEAAoE;QACpE,IAAI,aAAa,IAAI,MAAM,KAAK,SAAS;YAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IAED,kCAAkC;IAClC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAgC,CAAC;IAChE,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChD,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE;YACtB,GAAG,MAAM;YACT,uEAAuE;YACvE,qEAAqE;YACrE,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI;gBAC7B,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC;gBAC3B,SAAS,EAAE,IAAI;aAChB,CAAC;YACF,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YACrD,OAAO,EAAE,MAAM,EAAE,OAAO;YACxB,UAAU,EAAE,MAAM,EAAE,UAAU;SAC/B,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,gEAAgE;IAChE,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,KAAK,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;oBAC5B,CAAC,CAAC,KAAK,CAAC,IAAI;oBACZ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;IAE1C,6EAA6E;IAC7E,4EAA4E;IAC5E,qEAAqE;IACrE,EAAE;IACF,0EAA0E;IAC1E,6DAA6D;IAC7D,IAAI,iBAAiB,GAAuB,EAAE,CAAC;IAC/C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAC3D,iBAAiB,GAAG,cAAc,CAChC;gBACE,kEAAkE;gBAClE,iDAAiD;gBACjD,QAAQ,EAAE,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,OAAO;gBACvD,gEAAgE;gBAChE,oEAAoE;gBACpE,wCAAwC;gBACxC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC7B,OAAO;gBACP,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpE,EACD,MAAM,CAAC,MAAM,CACd,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;YACvE,6BAA6B;QAC/B,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAqB;QAC/B,OAAO,EAAE,MAAM,KAAK,CAAC;QACrB,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,cAAc;QACvB,YAAY,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,iBAAiB,CAAC,CAAC,CAAC,SAAS;QACjE,OAAO;QACP,GAAG,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/D,CAAC;IAEF,6EAA6E;IAC7E,6EAA6E;IAC7E,uEAAuE;IACvE,EAAE;IACF,aAAa;IACb,2EAA2E;IAC3E,4EAA4E;IAC5E,wEAAwE;IACxE,+DAA+D;IAC/D,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1B,MAAM,eAAe,GAmBhB,EAAE,CAAC;YACR,mEAAmE;YACnE,MAAM,MAAM,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACpE,IAAI,UAA8B,CAAC;YACnC,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC7B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC1C,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;gBAClE,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC;gBAClC,iEAAiE;gBACjE,gEAAgE;gBAChE,kBAAkB;gBAClB,MAAM,UAAU,GAAG,yBAAyB,CAAC;oBAC3C,MAAM,EAAE,EAAE;oBACV,QAAQ,EAAE,IAAI,EAAE,IAAI;oBACpB,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK;oBACtB,MAAM;oBACN,KAAK,EAAE,QAAQ;iBAChB,CAAC,CAAC;gBACH,MAAM,cAAc,GAAG,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtD,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACpC,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACvB,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC;oBACxC,MAAM,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC;oBAC1C,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;wBACtC,UAAU,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;oBACjD,CAAC;gBACH,CAAC;gBACD,eAAe,CAAC,IAAI,CAAC;oBACnB,EAAE;oBACF,IAAI,EAAE,IAAI,EAAE,IAAI;oBAChB,MAAM;oBACN,KAAK,EAAE,QAAQ;oBACf,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC;oBAC/C,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC;oBAC7B,GAAG,CAAC,QAAQ,EAAE,cAAc,KAAK,SAAS,IAAI;wBAC5C,cAAc,EAAE,QAAQ,CAAC,cAAc;qBACxC,CAAC;oBACF,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;oBAClE,GAAG,CAAC,QAAQ,EAAE,gBAAgB,KAAK,SAAS,IAAI;wBAC9C,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;qBAC5C,CAAC;oBACF,GAAG,CAAC,QAAQ,EAAE,SAAS,KAAK,SAAS,IAAI;wBACvC,SAAS,EAAE,QAAQ,CAAC,SAAS;qBAC9B,CAAC;oBACF,iEAAiE;oBACjE,GAAG,CAAC,KAAK;wBACP,CAAC,CAAC;4BACE,WAAW,EAAE,KAAK,CAAC,WAAW;4BAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;4BAChC,GAAG,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;gCACnC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;gCAC5B,CAAC,CAAC,EAAE,CAAC;yBACR;wBACH,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACtD,CAAC,CAAC;YACL,CAAC;YACD,sEAAsE;YACtE,qDAAqD;YACrD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ;gBACjC,CAAC,CAAC;oBACE,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,GAAG,CAAC,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnE;gBACH,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACjE,MAAM,UAAU,GAAG,eAAe;iBAC/B,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACpE;iBACA,IAAI,CAAC,IAAI,CAAC;iBACV,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAClB,oEAAoE;YACpE,oEAAoE;YACpE,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;YAC9C,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC3C,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE;oBACjC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;oBACzC,MAAM;oBACN,UAAU,EAAE,MAAM,GAAG,YAAY;oBACjC,WAAW,EAAE,eAAe;oBAC5B,UAAU;oBACV,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;oBACpD,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI;wBACvC,YAAY,EAAE,MAAM,CAAC,YAAY;qBAClC,CAAC;oBACF,GAAG,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9D,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC1C,CAAC,CAAC;gBACH,IAAI,iBAAiB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBACpD,IAAI,CAAC;wBACH,iBAAiB,CAAC,WAAW,CAAC,aAAa,EAAE;4BAC3C,MAAM,EAAE,YAAY;4BACpB,UAAU,EAAE,aAAa;4BACzB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;4BACzC,UAAU,EAAE,MAAM,GAAG,YAAY;4BACjC,SAAS,EAAE,eAAe,CAAC,MAAM;4BACjC,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI;gCACvC,YAAY,EAAE,MAAM,CAAC,YAAY;6BAClC,CAAC;4BACF,EAAE,EAAE,MAAM;yBACX,CAAC,CAAC;oBACL,CAAC;oBAAC,MAAM,CAAC;wBACP,2CAA2C;oBAC7C,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC7B,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CACzC,6BAA6B,CAC9B,CAAC;gBACF,MAAM,GAAG,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,YAAY,CAAC;oBACf,MAAM,EAAE,SAAS;oBACjB,UAAU,EAAE,MAAM,CAAC,IAAI;oBACvB,OAAO,EAAE,WAAW;oBACpB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;oBACzC,SAAS,EAAE,YAAY;oBACvB,SAAS,EAAE,YAAY;oBACvB,MAAM;oBACN,UAAU,EAAE,MAAM,GAAG,YAAY;oBACjC,UAAU;oBACV,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,WAAW,EAAE,eAAe;oBAC5B,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;oBACpD,GAAG,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9D,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC1C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sEAAsE;QACxE,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,qBAAqB,CAAC,MAAqB;IAsBzD,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,oBAAoB,CACnC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3B,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,EAAE;QACvB,MAAM,EAAE,CAAC,CAAC,MAAM;KACjB,CAAC,CAAC,CACJ,CAAC;IAEF,+CAA+C;IAC/C,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,OAAO,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAC5C,CAAC,EAAE,EAAE,EAAE,CACL,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,QAAQ,CAAC,KAAK;iBACX,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC;gBAC7B,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAChD,CAAC;QACF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM;QAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,KAAK,MAAM,EAAE,IAAI,KAAK;YAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7B,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,QAAQ,GAAgC,SAAS;gBACrD,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,MAAM,CAAC;YACb,OAAO;gBACL,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;gBAC5B,SAAS,EAAE,CAAC,CAAC,IAAI;gBACjB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK;gBACrB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnD,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnD,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;aACtD,CAAC;QACJ,CAAC,CAAC;QACF,cAAc,EAAE,MAAM;QACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC;KAC/B,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"chainedRunner.js","sourceRoot":"","sources":["../../src/recipes/chainedRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EACL,aAAa,EACb,cAAc,EACd,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EACL,iBAAiB,EACjB,YAAY,EAEZ,aAAa,GACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EACL,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,qBAAqB,EACrB,+BAA+B,EAC/B,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAmB,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAU9C,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,GACf,MAAM,iBAAiB,CAAC;AA+NzB,oEAAoE;AACpE,SAAS,oBAAoB,CAAC,CAAuB;IACnD,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC;AA6DD,SAAS,eAAe,CAAC,IAAiB;IACxC,OAAO,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;QACpC,CAAC,CAAC,IAAI,CAAC,MAAM;QACb,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;YAC9B,CAAC,CAAC,IAAI,CAAC,KAAK;YACZ,CAAC,CAAC,SAAS,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,6BAA6B,GAAG,IAAI,OAAO,EAG9C,CAAC;AAEJ,SAAS,sBAAsB,CAC7B,QAAwB;IAExB,IAAI,CAAC,GAAG,6BAA6B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;QACd,6BAA6B,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,oBAAoB,CAClC,QAAwB,EACxB,GAAuC;IAEvC,OAAO,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,oBAAoB,CAClC,IAAiB,EACjB,OAAwB,EACxB,UAAgC;AAChC,oFAAoF;AACpF,aAAuC;IAMvC,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAoB,EAAE,CAAC;IAEnC,qDAAqD;IACrD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;QAC7B,IAAI;QACJ,MAAM;QACN,OAAO;QACP,QAAQ;QACR,OAAO;QACP,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,MAAM;QACN,UAAU;QACV,MAAM;QACN,WAAW;QACX,OAAO;QACP,YAAY;QACZ,UAAU;QACV,sEAAsE;QACtE,2EAA2E;QAC3E,gEAAgE;QAChE,QAAQ;QACR,YAAY;QACZ,qBAAqB;KACtB,CAAC,CAAC;IAEH,sBAAsB;IACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1B,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,wCAAwC;gBACxC,IAAI,CAAC;oBACH,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3C,CAAC;gBAAC,MAAM,CAAC;oBACP,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,2EAA2E;IAC3E,oEAAoE;IACpE,sEAAsE;IACtE,sEAAsE;IACtE,gEAAgE;IAChE,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,IACE,CAAC,MAAM,KAAK,WAAW;QACrB,MAAM,KAAK,YAAY;QACvB,MAAM,KAAK,aAAa,CAAC;QAC3B,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,EACjC,CAAC;QACD,iEAAiE;QACjE,uEAAuE;QACvE,+DAA+D;QAC/D,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,KAAK,WAAW,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,mCAAmC;IACnC,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpD,4EAA4E;QAC5E,wEAAwE;QACxE,oEAAoE;QACpE,6EAA6E;QAC7E,MAAM,aAAa,GACjB,UAAU,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC;YAC/B,CAAC,CAAC;gBACE,GAAG,OAAO;gBACV,GAAG,EAAE,sBAAsB,CACzB,OAAO,CAAC,GAA6B,EACrC,UAAU,CACX;aACF;YACH,CAAC,CAAC,OAAO,CAAC;QACd,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QAC/D,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;QACtC,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAI,eAAe,GAAG,IAAI,CAAC;IAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,2EAA2E;QAC3E,4EAA4E;QAC5E,IAAK,IAAI,CAAC,IAAgB,KAAK,KAAK,EAAE,CAAC;YACrC,eAAe,GAAG,KAAK,CAAC;QAC1B,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,uEAAuE;YACvE,yEAAyE;YACzE,yEAAyE;YACzE,yEAAyE;YACzE,kBAAkB;YAClB,wEAAwE;YACxE,wEAAwE;YACxE,sDAAsD;YACtD,IAAI,aAAwC,CAAC;YAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;gBAC5C,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC/C,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;oBACjB,aAAa,KAAK,CAAC,CAAC,KAAK,CAAC;oBAC1B,OAAO,EAAE,CAAC;gBACZ,CAAC;gBACD,OAAO,CAAC,CAAC,KAAK,CAAC;YACjB,CAAC,CAAC,CAAC;YACH,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC3B,eAAe,GAAG,KAAK,CAAC;YAC1B,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC1C,mEAAmE;gBACnE,uEAAuE;gBACvE,gEAAgE;gBAChE,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,eAAe;oBACrB,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,OAAO,EAAE,OAAO,CAAC,MAAM;iBACxB,CAAC,CAAC;gBACH,eAAe,GAAG,KAAK,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;AAC/C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CACtB,IAAgB,EAChB,SAA6B,EAC7B,KAAa,EACb,MAAoB;IAEpB,MAAM,UAAU,GAAG,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,GAAG,CAAC,CAAC;IAClE,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAExC,sEAAsE;IACtE,2EAA2E;IAC3E,2EAA2E;IAC3E,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;QACpB,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,4CAA4C,KAAK,aAAa,CAAC,CAC1E,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,IAAI,KAAgD,CAAC;IACrD,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CACT,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YAC/B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,MAAM,CACJ,IAAI,KAAK,CACP,0BAA0B,SAAS,eAAe,KAAK,GAAG,CAC3D,CACF,CAAC;YACJ,CAAC,EAAE,SAAS,CAAC,CAAC;QAChB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACD,IAAI,OAAiC,CAAC;IACtC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CACT,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YAC/B,OAAO,GAAG,GAAG,EAAE,CACb,MAAM,CACJ,IAAI,KAAK,CAAC,4CAA4C,KAAK,GAAG,CAAC,CAChE,CAAC;YACJ,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;QAClD,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,MAAM,IAAI,OAAO;YAAE,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,4BAA4B;AAC5B,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,GAAyB,EACzB,IAAmB;IAyBnB,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACvD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE3B,yBAAyB;IACzB,MAAM,eAAe,GAAG,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpE,6EAA6E;IAC7E,0EAA0E;IAC1E,iEAAiE;IACjE,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CACpD,CAAC;IAEF,oBAAoB;IACpB,yEAAyE;IACzE,uEAAuE;IACvE,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,aAAa,EAAE,CAAC,CAAC,iBAAiB,CAAC;IAC9E,0EAA0E;IAC1E,0EAA0E;IAC1E,iDAAiD;IACjD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,MAAM,aAAa,GAAwC,cAAc;QACvE,CAAC,CAAC;YACE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACtB,MAAM,IAAI,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC1D,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO,SAAS,CAAC;gBACzC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO;oBAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnD,OAAO,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;SACF;QACH,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAChE,IAAI,EACJ,eAAe,EACf,UAAU,EACV,aAAa,CACd,CAAC;IAEF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,oBAAoB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACrE,CAAC;IACJ,CAAC;IAED,uBAAuB;IACvB,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,uEAAuE;QACvE,oEAAoE;QACpE,yEAAyE;QACzE,2EAA2E;QAC3E,yCAAyC;QACzC,IAAI,IAAI,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,EAAE,CAAC;YACnC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EACH,oFAAoF;aACvF,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,sBAAsB,EAAE;SACxD,CAAC;IACJ,CAAC;IAED,yCAAyC;IACzC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;gBAC9D,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBAC9D,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;aACxE;SACF,CAAC;IACJ,CAAC;IAED,kFAAkF;IAClF,SAAS,cAAc,CACrB,QAAgB,EAChB,SAAkB,EAClB,GAAoB;QAEpB,MAAM,SAAS,GACb,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACxE,MAAM,OAAO,GAA2B,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAC/D,kBAAkB;QAClB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,KAAK,SAAS;gBAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;QACD,mFAAmF;QACnF,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACzD,IAAI,MAAM,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,OAAO,GACX,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;oBAC7B,CAAC,CAAC,MAAM,CAAC,IAAI;oBACb,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAClC,OAAO,CAAC,SAAS,MAAM,OAAO,CAAC,GAAG,OAAO,CAAC;gBAC1C,6EAA6E;gBAC7E,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;gBAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBACxB,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,sEAAsE;IACtE,qEAAqE;IACrE,gEAAgE;IAChE,kEAAkE;IAClE,oEAAoE;IACpE,iEAAiE;IACjE,IAAI,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACxC,IAAI,UAAU,GAAY,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7D,sEAAsE;QACtE,uEAAuE;QACvE,qEAAqE;QACrE,2BAA2B;QAC3B,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC1E,IAAI,mBAAmB,EAAE,CAAC;YACxB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,gBAAgB,EAAE,IAAI;gBACtB,KAAK,EAAE,mBAAmB,CAAC,OAAO;gBAClC,IAAI,EAAE,UAAU;gBAChB,cAAc,EAAE,QAAQ;aACzB,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,UAAU,GAAG,cAAc,CACzB,IAAI,CAAC,SAAS,EACd,UAAU,EACV,eAAe,CAChB,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,UAAU;YAChB,cAAc,EAAE,QAAQ;SACzB,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,yEAAyE;IACzE,mEAAmE;IACnE,0EAA0E;IAC1E,wEAAwE;IACxE,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAChC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,oBAAoB,CACzB,CAAC,IAAI,CAAC,EAAE,CAAC,EACT,IAAI,CAAC,KAAK;gBACR,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,IAAI,CAAC,IAAI;oBACT,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE;oBACrB,CAAC,CAAC,eAAe,CACtB;YACD,cAAc,EAAE,QAAQ;SACzB,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,IAAI,CAAC;QACH,yEAAyE;QACzE,0EAA0E;QAC1E,2EAA2E;QAC3E,2EAA2E;QAC3E,iEAAiE;QACjE,0EAA0E;QAC1E,4EAA4E;QAC5E,2BAA2B;QAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACxB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EACH,SAAS,CAAC,MAAM,IAAI,4CAA4C;oBAClE,cAAc,EAAE,QAAQ;iBACzB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,0EAA0E;QAC1E,2EAA2E;QAC3E,2EAA2E;QAC3E,kEAAkE;QAClE,2EAA2E;QAC3E,0EAA0E;QAC1E,0EAA0E;QAC1E,yEAAyE;QACzE,yEAAyE;QACzE,2EAA2E;QAC3E,0EAA0E;QAC1E,sEAAsE;QACtE,sEAAsE;QACtE,+DAA+D;QAC/D,yEAAyE;QACzE,oEAAoE;QACpE,oEAAoE;QACpE,oEAAoE;QACpE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,cAAc,CAAC;QACrD,mEAAmE;QACnE,MAAM,YAAY,GAChB,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc;YAC7C,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC1C,CAAC,CAAC,SAAS,CAAC;QAChB,yEAAyE;QACzE,6DAA6D;QAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,wBAAwB,GAAG,WAAW;YAC1C,CAAC,CAAC,+BAA+B,CAAC,WAAW,CAAC;YAC9C,CAAC,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;QAC1C,MAAM,SAAS,GACb,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC;YACtC,CAAC,CAAC,sBAAsB,CAAC;gBACrB,OAAO,EAAE,UAAU;gBACnB,MAAM,EAAE;oBACN,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,GAAG,CAAE,MAAwC,CAAC,eAAe;wBAC3D,SAAS,IAAI;wBACb,eAAe,EAAG,MAAwC;6BACvD,eAAe;qBACnB,CAAC;iBACH;gBACD,OAAO,EAAE,QAAQ;gBACjB,IAAI,EAAE,YAAY,CAChB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,EAC9D,IAAI,CAAC,KAAK;oBACR,CAAC,CAAC;wBACE,WAAW,EAAE,uBAAuB,CAClC,UAAU,EACV,kBAAkB,CAAC;4BACjB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI;gCACtC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;6BAC5B,CAAC;4BACF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI;gCACpC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;6BAC/B,CAAC;4BACF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI;gCAC9C,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;6BAC5C,CAAC;4BACF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI;gCACxC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;6BAChC,CAAC;yBACH,CAAC,CACH;qBACF;oBACH,CAAC,CAAC,SAAS,EACb,wBAAwB;oBACtB,CAAC,CAAC,EAAE,oBAAoB,EAAE,wBAAwB,EAAE;oBACpD,CAAC,CAAC,SAAS,CACd;gBACD,UAAU,EAAE,cAAc,CAAC,UAAU,CAAC;gBACtC,IAAI,EAAE;oBACJ,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,KAAK,SAAS;oBACxD,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,KAAK,IAAI;iBACpD;aACF,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,SAAS,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC;YACtE,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EACH,QAAQ,EAAE,KAAK,KAAK,aAAa;oBAC/B,CAAC,CAAC,uDAAuD,QAAQ,CAAC,MAAM,EAAE;oBAC1E,CAAC,CAAC,wBAAwB,QAAQ,EAAE,MAAM,IAAI,SAAS,EAAE;gBAC7D,cAAc,EAAE,QAAQ;aACzB,CAAC;QACJ,CAAC;QACD,IAAI,oBAES,CAAC;QACd,IAAI,iBAES,CAAC;QACd,IAAI,IAAI,CAAC,iBAAiB,IAAI,SAAS,EAAE,gBAAgB,EAAE,CAAC;YAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK;gBAC/B,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;YAC5C,MAAM,aAAa,GAAG;gBACpB,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,YAAY,CAAC,cAAc,CAAC;gBAClC,SAAS,EAAE,SAAS,CAAC,KAAK;gBAC1B,OAAO,EAAE,IAAI,CAAC,KAAK;oBACjB,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,WAAW;wBACX,CAAC,CAAC,qBAAqB,CACnB,WAAW,EACX,QAAmC,CACpC;wBACH,CAAC,CAAC,QAAQ,cAAc,EAAE;gBAC9B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,QAAoC;gBACtE,+DAA+D;gBAC/D,oEAAoE;gBACpE,qEAAqE;gBACrE,GAAG,CAAC,WAAW;oBACb,IAAI,CAAC,IAAI,IAAI;oBACX,sBAAsB,EAAE,6BAA6B,CAAC;wBACpD,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,MAAM,EAAE,QAAmC;wBAC3C,SAAS,EAAE,QAAQ;wBACnB,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC7B,aAAa,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE;wBAClC,UAAU,EAAE,MAAM,CAAC,IAAI;qBACxB,CAAC;iBACH,CAAC;gBACJ,GAAG,CAAC,wBAAwB,IAAI;oBAC9B,oBAAoB,EAAE,wBAAwB;iBAC/C,CAAC;gBACF,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjD,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE;gBAC9B,UAAU,EAAE,MAAM,CAAC,IAAI;aACxB,CAAC;YACF,MAAM,OAAO,GAAG,wBAAwB,CACtC,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAC5C,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACtB,sEAAsE;gBACtE,wEAAwE;gBACxE,iEAAiE;gBACjE,+DAA+D;gBAC/D,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM;oBAC9C,cAAc,EAAE,QAAQ;iBACzB,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,6BAA6B,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC;gBAC3D,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EACH,sFAAsF;oBACxF,cAAc,EAAE,QAAQ;iBACzB,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC;gBAClC,oBAAoB,GAAG,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,SAAS,EAAE,CAAC;YACd,qBAAqB;YACrB,MAAM,YAAY,GAAuB;gBACvC,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE;gBAC9B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,EAAE,EAAE,IAAI,CAAC,EAAE;aACZ,CAAC;YAEF,MAAM,aAAa,GAAwB;gBACzC,cAAc,EAAE,QAAQ;gBACxB,SAAS,EAAE,OAAO,CAAC,GAAG;gBACtB,cAAc,EAAE,OAAO,CAAC,QAAQ;gBAChC,YAAY,EAAE,KAAK;gBACnB,MAAM;aACP,CAAC;YAEF,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;gBACnE,OAAO;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;iBACpB,CAAC;YACJ,CAAC;YAED,iCAAiC;YACjC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAC9C,SAAS,EACT,OAAO,CAAC,UAAU,CACnB,CAAC;YACF,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,kBAAkB,SAAS,aAAa;iBAChD,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,oBAAoB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;YACrE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;YACrD,CAAC;YAED,yBAAyB;YACzB,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,iBAAiB,CACrE,IAAI,CAAC,IAAI,IAAI,EAAE,EACf,eAAe,CAChB,CAAC;YAEF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,6BAA6B,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACjF,CAAC;YACJ,CAAC;YAED,8CAA8C;YAC9C,MAAM,aAAa,GAAG,oBAAoB,EAAE,CAAC;YAC7C,MAAM,YAAY,GAAe;gBAC/B,GAAG,OAAO;gBACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,UAAU,EAAE,YAAY,CAAC,UAAU;gBACnC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,YAAY,EAAE,EAAE,+BAA+B;gBACzE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,kDAAkD;gBACtE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,oCAAoC;aACjE,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,gBAAgB,CACxC,YAAY,CAAC,MAAM,EACnB,YAAY,EACZ,IAAI,EACJ,aAAa,EACb,KAAK,GAAG,CAAC,CACV,CAAC;YAEF,MAAM,YAAY,GAAG;gBACnB,GAAG,IAAI,GAAG,CACR,CAAC,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CACzD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CACjB,CACF;aACF,CAAC;YACF,sEAAsE;YACtE,uEAAuE;YACvE,+DAA+D;YAC/D,kEAAkE;YAClE,MAAM,cAAc,GAAG,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACtE,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAC5B,CAAC;YACF,MAAM,aAAa,GAAG,WAAW,CAAC,YAAY;gBAC5C,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACjE,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,gBAAgB,GAAG,aAAa,CAAC,IAAI,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,CACtD,EAAE,KAAK,EAAE,OAAO,CAAC;YAClB,MAAM,gBAAgB,GAAG,aAAa,CAAC,IAAI,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,IAAI,CAC9B,CAAC;YACF,OAAO;gBACL,OAAO,EAAE,CAAC,WAAW,CAAC,YAAY;gBAClC,GAAG,CAAC,CAAC,cAAc;oBACjB,gBAAgB,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;gBAChE,GAAG,CAAC,gBAAgB,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;gBACnD,GAAG,CAAC,WAAW,CAAC,YAAY,IAAI,cAAc;oBAC5C,CAAC,CAAC;wBACE,KAAK,EAAE,GAAG,uBAAuB,mBAAmB,SAAS,MAAM,WAAW,CAAC,YAAY,yDAAyD;wBACpJ,OAAO,EAAE,WAAoB;qBAC9B;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,IAAI,EAAE;oBACJ,MAAM,EAAE,SAAS;oBACjB,YAAY,EAAE,aAAa,CAAC,OAAO,EAAE;oBACrC,YAAY,EAAE,MAAM,CAAC,WAAW,CAC9B,aAAa,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CACjE;iBACF;gBACD,wEAAwE;gBACxE,uEAAuE;gBACvE,wEAAwE;gBACxE,sEAAsE;gBACtE,6DAA6D;gBAC7D,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrE,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACtB,aAAa;YACb,MAAM,MAAM,GAAI,QAAQ,CAAC,WAAsB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAErE,iEAAiE;YACjE,sEAAsE;YACtE,wEAAwE;YAExE,iEAAiE;YACjE,2DAA2D;YAC3D,IAAI,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACvC,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACrC,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG,cAAc,CAC3B,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EACtD,IAAI,CAAC,KAAK,CAAC,SAAS,EACpB,MAAM,EACN,MAAM,CACP,CAAC;gBACF,cAAc,GAAG,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBACvE,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;YAC/B,CAAC;YAED,MAAM,WAAW,GAAG,oBAAoB,CACtC,MAAM,eAAe,CACnB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE;gBACvD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI;oBACxC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;iBAChC,CAAC;gBACF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI;oBACtC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;iBAC5B,CAAC;gBACF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI;oBACpC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;iBAC/B,CAAC;gBACF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI;oBAC9C,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;iBAC5C,CAAC;gBACF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI;oBAC1C,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;iBACjD,CAAC;aACH,CAAC,EACF,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,EAAE,EACP,OAAO,CAAC,MAAM,CACf,CACF,CAAC;YAEF,mEAAmE;YACnE,oEAAoE;YACpE,gDAAgD;YAChD,IAAI,MAAM,EAAE,CAAC;gBACX,uEAAuE;gBACvE,qCAAqC;gBACrC,mEAAmE;gBACnE,qEAAqE;gBACrE,sEAAsE;gBACtE,uEAAuE;gBACvE,2DAA2D;gBAC3D,6DAA6D;gBAC7D,8DAA8D;gBAC9D,iEAAiE;gBACjE,mEAAmE;gBACnE,sEAAsE;gBACtE,sEAAsE;gBACtE,qEAAqE;gBACrE,kEAAkE;gBAClE,iEAAiE;gBACjE,iEAAiE;gBACjE,mEAAmE;gBACnE,8CAA8C;gBAC9C,MAAM,eAAe,GACnB,WAAW,CAAC,QAAQ,EAAE,MAAM;oBAC5B,CAAC,cAAc,KAAK,KAAK,IAAI,cAAc,KAAK,SAAS;wBACvD,CAAC,CAAC,WAAW;wBACb,CAAC,CAAC,cAAc,CAAC,CAAC;gBACtB,MAAM,CAAC,SAAS,CACd,eAAe,EACf,WAAW,CAAC,KAAK,EACjB,WAAW,CAAC,QAAQ,EAAE,KAAK,IAAI,aAAa,EAC5C;oBACE,UAAU,EAAE,MAAM,CAAC,MAAM;oBACzB,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM;iBACrC,CACF,CAAC;YACJ,CAAC;YAED,sEAAsE;YACtE,uEAAuE;YACvE,kEAAkE;YAClE,iEAAiE;YACjE,MAAM,KAAK,GAAG,qBAAqB,CACjC,WAAW,CAAC,KAAK,EACjB,WAAW,CAAC,QAAQ,EACpB,GAAG,CAAC,UAAU,CACf,CAAC;YAEF,IAAI,MAAM,GAAY,WAAW,CAAC,IAAI,CAAC;YACvC,4EAA4E;YAC5E,IACE,OAAO,MAAM,KAAK,QAAQ;gBAC1B,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,EACxC,CAAC;gBACD,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,MAAM;oBACb,cAAc,EAAE,QAAQ;oBACxB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC5B,CAAC;YACJ,CAAC;YACD,MAAM,eAAe,GACnB,IAAI,CAAC,mBAAmB,KAAK,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACvE,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,yBAAyB,eAAe,CAAC,MAAM,MAAM,eAAe,CAAC,OAAO,EAAE,CAAC;gBAC9F,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,MAAM;oBACb,cAAc,EAAE,QAAQ;oBACxB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC5B,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC;oBACH,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;gBACnE,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;YACD,IAAI,mBAAyC,CAAC;YAC9C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC/D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC;wBAC/C,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,kBAAkB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;4BAC9C,cAAc,EAAE,QAAQ;4BACxB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBAC5B,CAAC;oBACJ,CAAC;oBACD,iEAAiE;oBACjE,gEAAgE;oBAChE,mBAAmB,GAAG,QAAQ,CAAC;gBACjC,CAAC;YACH,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,MAAM;gBACZ,cAAc,EAAE,QAAQ;gBACxB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3B,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC;oBACxB,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE;oBACxC,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,YAAY;YACZ,IACE,iBAAiB;gBACjB,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,sBAAsB,EAAE;oBACjE,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,QAAQ;oBACnB,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC7B,aAAa,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE;oBAClC,UAAU,EAAE,MAAM,CAAC,IAAI;iBACxB,CAAC,EACF,CAAC;gBACD,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EACH,kFAAkF;oBACpF,cAAc,EAAE,QAAQ;iBACzB,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,GAAY,MAAM,eAAe,CACzC,YAAY,KAAK,SAAS;gBACxB,CAAC,CAAC,IAAI,CAAC,WAAW,CACd,IAAI,CAAC,IAAI,EACT,QAAQ,EACR,oBAAoB,EACpB,YAAY,CACb;gBACH,CAAC,CAAC,oBAAoB;oBACpB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,oBAAoB,CAAC;oBAC7D,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,EAC3C,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,EAAE,EACP,OAAO,CAAC,MAAM,CACf,CAAC;YACF,0FAA0F;YAC1F,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAA4B,CAAC;oBAC7D,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC5D,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,cAAc,EAAE,QAAQ;yBACzB,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,6BAA6B;gBAC/B,CAAC;YACH,CAAC;YACD,qEAAqE;YACrE,mEAAmE;YACnE,MAAM,WAAW,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9D,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,gBAAgB,EAAE,IAAI;oBACtB,KAAK,EAAE,WAAW,CAAC,OAAO;oBAC1B,IAAI,EAAE,MAAM;oBACZ,cAAc,EAAE,QAAQ;iBACzB,CAAC;YACJ,CAAC;YACD,MAAM,cAAc,GAClB,IAAI,CAAC,mBAAmB,KAAK,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACvE,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,yBAAyB,cAAc,CAAC,MAAM,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;gBAC5F,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;YACrE,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC;oBACH,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;gBACnE,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;YACD,IAAI,kBAAwC,CAAC;YAC7C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC/D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC;wBAC/C,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,kBAAkB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;4BAC9C,cAAc,EAAE,QAAQ;yBACzB,CAAC;oBACJ,CAAC;oBACD,iEAAiE;oBACjE,gEAAgE;oBAChE,kBAAkB,GAAG,QAAQ,CAAC;gBAChC,CAAC;YACH,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,MAAM;gBACZ,cAAc,EAAE,QAAQ;gBACxB,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC;QACzE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,GAAG;YACV,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;gBACvC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE;gBAC5B,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;AACH,CAAC;AAoCD;;0BAE0B;AAC1B,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB,KAAK,UAAU,SAAS,CACtB,EAAiC,EACjC,UAAkB,EAClB,OAAe;IAEf,4EAA4E;IAC5E,2EAA2E;IAC3E,6EAA6E;IAC7E,8EAA8E;IAC9E,8BAA8B;IAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC7C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC,CAAC;IACN,IAAI,IAAI,GAAmB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC9C,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACxD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,GAAG,MAAM,EAAE,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC9B,oEAAoE;QACpE,kEAAkE;QAClE,sEAAsE;QACtE,kEAAkE;QAClE,IACE,IAAI,CAAC,OAAO,KAAK,WAAW;YAC5B,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC;YAE/D,OAAO,IAAI,CAAC;QACd,yEAAyE;QACzE,sEAAsE;QACtE,yEAAyE;QACzE,kEAAkE;QAClE,yEAAyE;QACzE,uEAAuE;QACvE,0EAA0E;QAC1E,4EAA4E;QAC5E,IAAI,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC;YAAE,OAAO,IAAI,CAAC;QAEzD,oEAAoE;QACpE,IAAI,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC;YAAE,OAAO,IAAI,CAAC;IAC7D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAiCD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAoB;IACtD,MAAM,IAAI,GAAkB,EAAE,CAAC;IAC/B,kEAAkE;IAClE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAoB,CAAC;IAClD,0DAA0D;IAC1D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7D,mEAAmE;YACnE,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,IAAI,YAAY,CAAC,EAAE,CAAC;YAC3C,yEAAyE;YACzE,mEAAmE;YACnE,wEAAwE;YACxE,mDAAmD;YACnD,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,2CAA2C,OAAO,iCAAiC,CACpF,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAa,EAAE,CAAC;YAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,IAAI,GAAG,OAAO,IAAI,CAAC,EAAE,CAAC;gBAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACzB,MAAM,IAAI,KAAK,CACb,2CAA2C,OAAO,4DAA4D,CAC/G,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACrB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvB,0DAA0D;gBAC1D,MAAM,QAAQ,GAAG,mBAAmB,CAAC;oBACnC;wBACE,GAAG,KAAK;wBACR,EAAE,EAAE,OAAO;wBACX,MAAM,EAAE,CAAC,GAAG,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;qBAClD;iBACF,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YACzB,CAAC;YAED,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACvC,CAAC;aAAM,IACL,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;YACjC,IAAI,CAAC,QAAQ,KAAK,IAAI;YACtB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC7B,MAAM,IAAK,IAAI,CAAC,QAAoC,EACpD,CAAC;YACD,0EAA0E;YAC1E,0EAA0E;YAC1E,yEAAyE;YACzE,0EAA0E;YAC1E,sEAAsE;YACtE,6DAA6D;YAC7D,oBAAoB;YACpB,MAAM,IAAI,KAAK,CACb,SAAS,IAAI,CAAC,EAAE,IAAI,YAAY,CAAC,EAAE,2BAA2B;gBAC5D,4DAA4D;gBAC5D,qEAAqE;gBACrE,6CAA6C,CAChD,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CACb,2CAA2C,IAAI,CAAC,EAAE,iCAAiC,CACpF,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CACnC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CACzC,CAAC;QACF,sCAAsC;QACtC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YACtC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC/B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,6CAA6C;AAC7C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAqB,EACrB,OAAmB,EACnB,IAAmB,EACnB,gBAAiC,EACjC,KAAK,GAAG,CAAC;IAET,yEAAyE;IACzE,wFAAwF;IACxF,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAC9D,MAAM,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mEAAmE;YACnE,kEAAkE;YAClE,+DAA+D;YAC/D,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAmB;gBAAE,MAAM,GAAG,CAAC;YACxE,4EAA4E;QAC9E,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,IAAI,oBAAoB,EAAE,CAAC;IAE5D,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,wEAAwE;IACxE,kEAAkE;IAClE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D,iEAAiE;IACjE,4EAA4E;IAC5E,kEAAkE;IAClE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC;IAEhD,0EAA0E;IAC1E,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,cAAc,EAAE,CAAC;IAE1D,+EAA+E;IAC/E,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEhD,yBAAyB;IACzB,MAAM,QAAQ,GAAG,oBAAoB,CACnC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CACrE,CAAC;IAEF,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEhC,wEAAwE;IACxE,uEAAuE;IACvE,oEAAoE;IACpE,MAAM,iBAAiB,GACpB,MAAqD,CAAC,OAAO,EAAE,IAAI;QACpE,QAAQ,CAAC;IACX,MAAM,WAAW,GAAG,CAClB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACvD,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,QAAQ,CACoB,CAAC;IACnC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,SAAS,CAAC;IACvD,MAAM,SAAS,GAAG,GAAG,YAAY,IAAI,MAAM,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;IACnE,6EAA6E;IAC7E,4EAA4E;IAC5E,6EAA6E;IAC7E,yEAAyE;IACzE,2CAA2C;IAC3C,IAAI,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;IAC7D,IAAI,MAA0B,CAAC;IAC/B,IAAI,KAAK,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC/B,MAAM,EAAE,SAAS;gBACjB,UAAU,EAAE,MAAM,CAAC,IAAI;gBACvB,OAAO,EAAE,WAAW;gBACpB,SAAS,EAAE,YAAY;gBACvB,SAAS,EAAE,YAAY;gBACvB,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI;oBACrC,SAAS,EAAE,OAAO,CAAC,SAAS;iBAC7B,CAAC;aACH,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;QACpE,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,oEAAoE;IACpE,wEAAwE;IACxE,wEAAwE;IACxE,uCAAuC;IACvC,MAAM,eAAe,GACnB,QAAQ,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC;QACrC,CAAC,CAAC,gDAAgD,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC3F,CAAC,CAAC,QAAQ,CAAC,SAAS;YAClB,CAAC,CAAC,kCAAkC;YACpC,CAAC,CAAC,SAAS,CAAC;IAElB,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,MAAM,GAAG,YAAY,CAAC;YACzC,IAAI,CAAC;gBACH,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC3C,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE;wBACjC,MAAM,EAAE,OAAO;wBACf,MAAM;wBACN,UAAU;wBACV,WAAW,EAAE,EAAE;wBACf,YAAY,EAAE,eAAe;qBAC9B,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBAC7B,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CACzC,6BAA6B,CAC9B,CAAC;oBACF,MAAM,GAAG,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,YAAY,CAAC;wBACf,MAAM,EAAE,SAAS;wBACjB,UAAU,EAAE,MAAM,CAAC,IAAI;wBACvB,OAAO,EAAE,WAAW;wBACpB,MAAM,EAAE,OAAO;wBACf,SAAS,EAAE,YAAY;wBACvB,SAAS,EAAE,YAAY;wBACvB,MAAM;wBACN,UAAU;wBACV,YAAY,EAAE,eAAe;wBAC7B,WAAW,EAAE,EAAE;qBAChB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,kEAAkE;YACpE,CAAC;QACH,CAAC;QACD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,IAAI,GAAG,EAAE;YACtB,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;YAC1D,YAAY,EAAE,eAAe;YAC7B,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,IAAI,QAAQ,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,kEAAkE;IAClE,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxD,6DAA6D;IAC7D,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,MAAM,cAAc,GAAG,CAAC,EAAU,EAAqB,EAAE;QACvD,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9C,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,GAAG,EAGxB,CAAC;IAEJ,yEAAyE;IACzE,sEAAsE;IACtE,mEAAmE;IACnE,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAQ7B,CAAC;IACJ,0EAA0E;IAC1E,qEAAqE;IACrE,sEAAsE;IACtE,MAAM,aAAa,GAAG,IAAI,GAAG,EAG1B,CAAC;IACJ,4EAA4E;IAC5E,yEAAyE;IACzE,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE3D,2EAA2E;IAC3E,8DAA8D;IAC9D,oEAAoE;IACpE,2DAA2D;IAC3D,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;IAC9C,MAAM,YAAY,GAAG,MAAM,CAAC;IAC5B,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC;IAClC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjD,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEzC,qEAAqE;IACrE,iEAAiE;IACjE,oBAAoB;IACpB,IAAI,iBAAiB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QACpD,IAAI,CAAC;YACH,iBAAiB,CAAC,WAAW,CAAC,gBAAgB,EAAE;gBAC9C,MAAM,EAAE,YAAY;gBACpB,UAAU,EAAE,aAAa;gBACzB,UAAU,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;gBACrC,EAAE,EAAE,qBAAqB;aAC1B,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;IACH,CAAC;IAED,MAAM,kBAAkB,GACtB,iBAAiB,IAAI,YAAY,KAAK,SAAS;QAC7C,CAAC,CAAC,CAAC,MAAc,EAAE,EAAE;YACjB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC/B,IAAI,CAAC;gBACH,iBAAiB,CAAC,WAAW,CAAC,mBAAmB,EAAE;oBACjD,MAAM,EAAE,YAAY;oBACpB,UAAU,EAAE,aAAa;oBACzB,MAAM;oBACN,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI;oBAC/B,EAAE;iBACH,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,4CAA4C;YAC9C,CAAC;YACD,OAAO,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QACH,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAE1B,MAAM,qBAAqB,GACzB,iBAAiB,IAAI,YAAY,KAAK,SAAS;QAC7C,CAAC,CAAC,CAAC,MAAc,EAAE,QAAgB,EAAE,EAAE;YACnC,MAAM,KAAK,GAAG,QAAQ,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACpC,MAAM,UAAU,GACd,KAAK,EAAE,OAAO,KAAK,SAAS;oBAC1B,CAAC,CAAC,yBAAyB,CAAC;wBACxB,MAAM;wBACN,QAAQ,EAAE,OAAO,EAAE,IAAI;wBACvB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK;wBACzB,MAAM,EAAE,OAAO;wBACf,KAAK,EAAE,KAAK,CAAC,OAAO;qBACrB,CAAC;oBACJ,CAAC,CAAC,SAAS,CAAC;gBAChB,iBAAiB,CAAC,WAAW,CAAC,kBAAkB,EAAE;oBAChD,MAAM,EAAE,YAAY;oBACpB,UAAU,EAAE,aAAa;oBACzB,MAAM;oBACN,IAAI,EAAE,OAAO,EAAE,IAAI;oBACnB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;oBAC9B,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;oBAC7D,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI;wBAC7B,UAAU,EAAE,EAAE,GAAG,SAAS;qBAC3B,CAAC;oBACF,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI;wBAC9B,UAAU;wBACV,YAAY,EAAE,oBAAoB,CAAC,UAAU,CAAC;qBAC/C,CAAC;oBACF,EAAE;iBACH,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,4CAA4C;YAC9C,CAAC;YACD,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;QACH,CAAC,CAAC,OAAO,CAAC,cAAc;YACtB,CAAC,CAAC,CAAC,MAAc,EAAE,QAAgB,EAAE,EAAE,CACnC,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,QAAQ,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;YACxE,CAAC,CAAC,SAAS,CAAC;IAElB,mCAAmC;IACnC,wEAAwE;IACxE,0EAA0E;IAC1E,wEAAwE;IACxE,sCAAsC;IACtC,MAAM,aAAa,GACjB,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,MAAM,CAClE,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAC7B,CAAC;IACF,MAAM,eAAe,GACnB,aAAa,CAAC,MAAM,KAAK,CAAC;QACxB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;YAC1B,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACvC,8EAA8E;IAC9E,+EAA+E;IAC/E,0EAA0E;IAC1E,OAAO,CAAC,MAAM,GAAG,eAAe,CAAC;IAEjC,MAAM,WAAW,GAAqB;QACpC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,WAAW,EAAE,kBAAkB;QAC/B,cAAc,EAAE,qBAAqB;QACrC,MAAM,EAAE,eAAe;KACxB,CAAC;IAEF,MAAM,YAAY,GAAiB,KAAK,EAAE,MAAc,EAAE,EAAE;QAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,YAAY,CAAC,CAAC;QAEvD,0EAA0E;QAC1E,wEAAwE;QACxE,iEAAiE;QACjE,8CAA8C;QAC9C,IAAI,UAAU;YAAE,MAAM,CAAC,aAAa,EAAE,CAAC;QAEvC,MAAM,GAAG,GAAyB;YAChC,QAAQ;YACR,IAAI;YACJ,OAAO;YACP,MAAM;YACN,KAAK;YACL,MAAM;YACN,UAAU;YACV,SAAS;SACV,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,UAAU,IAAI,IAAI,CAAC;QAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,SAAS,CAC5B,GAAG,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,EACnC,UAAU,EACV,UAAU,CACX,CAAC;QACF,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE;YACtB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;QACH,0EAA0E;QAC1E,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QACD,uEAAuE;QACvE,wEAAwE;QACxE,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;YACjD,sBAAsB,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;QAC5D,CAAC;QAED,yEAAyE;QACzE,mEAAmE;QACnE,yEAAyE;QACzE,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACjD,MAAM,sBAAsB,GAC1B,cAAc,KAAK,UAAU,IAAI,cAAc,KAAK,kBAAkB,CAAC;QACzE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,sBAAsB,CAAC;QACpE,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,IAAI,UAAU,CAAC;QACtD,wEAAwE;QACxE,wEAAwE;QACxE,iEAAiE;QACjE,MAAM,UAAU,GACd,CAAC,MAAM,CAAC,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,UAAU;YAAE,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;YAC7B,qBAAqB,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,sBAAsB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChE,OAAO,CAAC,IAAI,CACV,QAAQ,MAAM,iCAAiC,cAAc,6BAC3D,MAAM,CAAC,KAAK,IAAI,eAClB,EAAE,CACH,CAAC;QACJ,CAAC;QAED,gDAAgD;QAChD,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE;YACnB,MAAM,EAAE,MAAM,CAAC,OAAO;gBACpB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,MAAM,CAAC,OAAO;oBACd,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,UAAU,IAAI,CAAC,UAAU;wBACzB,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,OAAO;YACf,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC,CAAC;QACH,sEAAsE;QACtE,wEAAwE;QACxE,sEAAsE;QACtE,qEAAqE;QACrE,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,aAAa,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC;YAC3D,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;YAChE,IAAI,OAAO;gBAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC;QACD,iEAAiE;QACjE,IACE,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAC7B,CAAC,IAAI,CAAC,UAAU,IAAI,aAAa,EAAE,CAAC,CAAC,iBAAiB;YACtD,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5B,CAAC;YACD,yDAAyD;YACzD,sBAAsB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE;gBAC3C,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;gBACpB,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;QACL,CAAC;QAED,kEAAkE;QAClE,qEAAqE;QACrE,iEAAiE;QACjE,iEAAiE;QACjE,qBAAqB;QACrB,IAAI,KAAK,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1D,IAAI,CAAC;gBACH,MAAM,QAAQ,GAA4B,EAAE,CAAC;gBAC7C,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;oBAChC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC1B,IAAI,CAAC,KAAK,SAAS;wBAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACvC,CAAC;gBACD,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE;oBAC3B,cAAc,EAAE,gBAAgB,CAAC,MAAM,CAAC,cAAc,CAAC;oBACvD,MAAM,EAAE,gBAAgB,CACtB,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAC5D;oBACD,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,CAE9B;oBACb,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,6DAA6D;gBAC7D,iBAAiB;YACnB,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,MAAM,SAAS,CAAC,CAAC;YACnE,iEAAiE;YACjE,oEAAoE;YACpE,MAAM,MAAM,CAAC,OAAO,KAAK,WAAW;gBAClC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC;gBAC/B,CAAC,CAAC,OAAO,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,WAA6D,CAAC;IAClE,IAAI,CAAC;QACH,WAAW,GAAG,MAAM,uBAAuB,CACzC,QAAQ,EACR,YAAY,EACZ,WAAW,CACZ,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,yEAAyE;QACzE,yEAAyE;QACzE,oEAAoE;QACpE,IAAI,aAAa,IAAI,MAAM,KAAK,SAAS;YAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IAED,kCAAkC;IAClC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAgC,CAAC;IAChE,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChD,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE;YACtB,GAAG,MAAM;YACT,uEAAuE;YACvE,qEAAqE;YACrE,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI;gBAC7B,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC;gBAC3B,SAAS,EAAE,IAAI;aAChB,CAAC;YACF,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YACrD,OAAO,EAAE,MAAM,EAAE,OAAO;YACxB,UAAU,EAAE,MAAM,EAAE,UAAU;SAC/B,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,gEAAgE;IAChE,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,KAAK,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;oBAC5B,CAAC,CAAC,KAAK,CAAC,IAAI;oBACZ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;IAE1C,6EAA6E;IAC7E,4EAA4E;IAC5E,qEAAqE;IACrE,EAAE;IACF,0EAA0E;IAC1E,6DAA6D;IAC7D,IAAI,iBAAiB,GAAuB,EAAE,CAAC;IAC/C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAC3D,iBAAiB,GAAG,cAAc,CAChC;gBACE,kEAAkE;gBAClE,iDAAiD;gBACjD,QAAQ,EAAE,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,OAAO;gBACvD,gEAAgE;gBAChE,oEAAoE;gBACpE,wCAAwC;gBACxC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC7B,OAAO;gBACP,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpE,EACD,MAAM,CAAC,MAAM,CACd,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;YACvE,6BAA6B;QAC/B,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAqB;QAC/B,OAAO,EAAE,MAAM,KAAK,CAAC;QACrB,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,cAAc;QACvB,YAAY,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,iBAAiB,CAAC,CAAC,CAAC,SAAS;QACjE,OAAO;QACP,GAAG,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/D,CAAC;IAEF,6EAA6E;IAC7E,6EAA6E;IAC7E,uEAAuE;IACvE,EAAE;IACF,aAAa;IACb,2EAA2E;IAC3E,4EAA4E;IAC5E,wEAAwE;IACxE,+DAA+D;IAC/D,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1B,MAAM,eAAe,GAmBhB,EAAE,CAAC;YACR,mEAAmE;YACnE,MAAM,MAAM,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACpE,IAAI,UAA8B,CAAC;YACnC,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC7B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC1C,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;gBAClE,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC;gBAClC,iEAAiE;gBACjE,gEAAgE;gBAChE,kBAAkB;gBAClB,MAAM,UAAU,GAAG,yBAAyB,CAAC;oBAC3C,MAAM,EAAE,EAAE;oBACV,QAAQ,EAAE,IAAI,EAAE,IAAI;oBACpB,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK;oBACtB,MAAM;oBACN,KAAK,EAAE,QAAQ;iBAChB,CAAC,CAAC;gBACH,MAAM,cAAc,GAAG,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtD,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACpC,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACvB,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC;oBACxC,MAAM,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC;oBAC1C,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;wBACtC,UAAU,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;oBACjD,CAAC;gBACH,CAAC;gBACD,eAAe,CAAC,IAAI,CAAC;oBACnB,EAAE;oBACF,IAAI,EAAE,IAAI,EAAE,IAAI;oBAChB,MAAM;oBACN,KAAK,EAAE,QAAQ;oBACf,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC;oBAC/C,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC;oBAC7B,GAAG,CAAC,QAAQ,EAAE,cAAc,KAAK,SAAS,IAAI;wBAC5C,cAAc,EAAE,QAAQ,CAAC,cAAc;qBACxC,CAAC;oBACF,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;oBAClE,GAAG,CAAC,QAAQ,EAAE,gBAAgB,KAAK,SAAS,IAAI;wBAC9C,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;qBAC5C,CAAC;oBACF,GAAG,CAAC,QAAQ,EAAE,SAAS,KAAK,SAAS,IAAI;wBACvC,SAAS,EAAE,QAAQ,CAAC,SAAS;qBAC9B,CAAC;oBACF,iEAAiE;oBACjE,GAAG,CAAC,KAAK;wBACP,CAAC,CAAC;4BACE,WAAW,EAAE,KAAK,CAAC,WAAW;4BAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;4BAChC,GAAG,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;gCACnC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;gCAC5B,CAAC,CAAC,EAAE,CAAC;yBACR;wBACH,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACtD,CAAC,CAAC;YACL,CAAC;YACD,sEAAsE;YACtE,qDAAqD;YACrD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ;gBACjC,CAAC,CAAC;oBACE,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,GAAG,CAAC,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnE;gBACH,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACjE,MAAM,UAAU,GAAG,eAAe;iBAC/B,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACpE;iBACA,IAAI,CAAC,IAAI,CAAC;iBACV,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAClB,oEAAoE;YACpE,oEAAoE;YACpE,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;YAC9C,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC3C,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE;oBACjC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;oBACzC,MAAM;oBACN,UAAU,EAAE,MAAM,GAAG,YAAY;oBACjC,WAAW,EAAE,eAAe;oBAC5B,UAAU;oBACV,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;oBACpD,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI;wBACvC,YAAY,EAAE,MAAM,CAAC,YAAY;qBAClC,CAAC;oBACF,GAAG,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9D,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC1C,CAAC,CAAC;gBACH,IAAI,iBAAiB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBACpD,IAAI,CAAC;wBACH,iBAAiB,CAAC,WAAW,CAAC,aAAa,EAAE;4BAC3C,MAAM,EAAE,YAAY;4BACpB,UAAU,EAAE,aAAa;4BACzB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;4BACzC,UAAU,EAAE,MAAM,GAAG,YAAY;4BACjC,SAAS,EAAE,eAAe,CAAC,MAAM;4BACjC,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI;gCACvC,YAAY,EAAE,MAAM,CAAC,YAAY;6BAClC,CAAC;4BACF,EAAE,EAAE,MAAM;yBACX,CAAC,CAAC;oBACL,CAAC;oBAAC,MAAM,CAAC;wBACP,2CAA2C;oBAC7C,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC7B,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CACzC,6BAA6B,CAC9B,CAAC;gBACF,MAAM,GAAG,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,YAAY,CAAC;oBACf,MAAM,EAAE,SAAS;oBACjB,UAAU,EAAE,MAAM,CAAC,IAAI;oBACvB,OAAO,EAAE,WAAW;oBACpB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;oBACzC,SAAS,EAAE,YAAY;oBACvB,SAAS,EAAE,YAAY;oBACvB,MAAM;oBACN,UAAU,EAAE,MAAM,GAAG,YAAY;oBACjC,UAAU;oBACV,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,WAAW,EAAE,eAAe;oBAC5B,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;oBACpD,GAAG,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9D,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC1C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sEAAsE;QACxE,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,qBAAqB,CAAC,MAAqB;IAsBzD,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,oBAAoB,CACnC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3B,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,EAAE;QACvB,MAAM,EAAE,CAAC,CAAC,MAAM;KACjB,CAAC,CAAC,CACJ,CAAC;IAEF,+CAA+C;IAC/C,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,OAAO,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAC5C,CAAC,EAAE,EAAE,EAAE,CACL,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,QAAQ,CAAC,KAAK;iBACX,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC;gBAC7B,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAChD,CAAC;QACF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM;QAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,KAAK,MAAM,EAAE,IAAI,KAAK;YAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7B,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,QAAQ,GAAgC,SAAS;gBACrD,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,MAAM,CAAC;YACb,OAAO;gBACL,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;gBAC5B,SAAS,EAAE,CAAC,CAAC,IAAI;gBACjB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK;gBACrB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnD,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnD,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;aACtD,CAAC;QACJ,CAAC,CAAC;QACF,cAAc,EAAE,MAAM;QACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC;KAC/B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* fanOutChild — what a `fan_out` step actually does, for the gates that decide
|
|
3
|
+
* whether it may.
|
|
4
|
+
*
|
|
5
|
+
* `fan_out` dispatches its child tool once per item through `executeTool`
|
|
6
|
+
* directly, never through `executeStep`. Every step-level gate that keyed on
|
|
7
|
+
* the step's own tool id therefore saw `fan_out` — registered `isWrite: false`
|
|
8
|
+
* with no declared tier, so "medium" — and never the tool it runs. Under
|
|
9
|
+
* approvalGate "high" a high-tier write wrapped in `fan_out` reached no human,
|
|
10
|
+
* while the same write as a direct step queued; the worker gate classified it
|
|
11
|
+
* as a medium read; and `patchwork.policy.yml` was checked against `fan_out`
|
|
12
|
+
* rather than the child's own params.
|
|
13
|
+
*
|
|
14
|
+
* The rule this module encodes: a gate classifies a `fan_out` step as its
|
|
15
|
+
* CHILD tool. What is HASHED for approval identity stays the dispatched call
|
|
16
|
+
* (`fan_out` + its params) — that is what `executeStep` re-verifies at
|
|
17
|
+
* dispatch, and one approval covers the whole batch it names.
|
|
18
|
+
*
|
|
19
|
+
* `do.agent` children are out of scope here: they run through the injected
|
|
20
|
+
* agent executor, which has its own boundary checks.
|
|
21
|
+
*/
|
|
22
|
+
import type { Reversibility } from "../workers/actionClass.js";
|
|
23
|
+
export declare const FAN_OUT_TOOL_ID = "fan_out";
|
|
24
|
+
/**
|
|
25
|
+
* The tool a `fan_out` step dispatches per item, or `undefined` when the step
|
|
26
|
+
* is not a tool fan_out. `fan_out` itself rejects a missing, templated-empty
|
|
27
|
+
* or nested child before the loop, so a string here is the id that runs.
|
|
28
|
+
*/
|
|
29
|
+
export declare function fanOutChildToolId(step: unknown): string | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Reversibility ceiling for a fan_out child. A rollback-backed file write is
|
|
32
|
+
* reversible only with a rollback confirmed for ITS path at decision time; a
|
|
33
|
+
* fan_out's per-item paths are not assessed then, so the batch is treated as
|
|
34
|
+
* unconfirmed — `irreversible`, exactly as an unconfirmed direct write is.
|
|
35
|
+
* Any other child keeps its own classification.
|
|
36
|
+
*/
|
|
37
|
+
export declare function fanOutChildReversibilityCeiling(childToolId: string): Reversibility | undefined;
|
|
38
|
+
/** Approval summary naming the child and, when known, how many times it runs. */
|
|
39
|
+
export declare function fanOutApprovalSummary(childToolId: string, params: Record<string, unknown> | undefined): string;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* fanOutChild — what a `fan_out` step actually does, for the gates that decide
|
|
3
|
+
* whether it may.
|
|
4
|
+
*
|
|
5
|
+
* `fan_out` dispatches its child tool once per item through `executeTool`
|
|
6
|
+
* directly, never through `executeStep`. Every step-level gate that keyed on
|
|
7
|
+
* the step's own tool id therefore saw `fan_out` — registered `isWrite: false`
|
|
8
|
+
* with no declared tier, so "medium" — and never the tool it runs. Under
|
|
9
|
+
* approvalGate "high" a high-tier write wrapped in `fan_out` reached no human,
|
|
10
|
+
* while the same write as a direct step queued; the worker gate classified it
|
|
11
|
+
* as a medium read; and `patchwork.policy.yml` was checked against `fan_out`
|
|
12
|
+
* rather than the child's own params.
|
|
13
|
+
*
|
|
14
|
+
* The rule this module encodes: a gate classifies a `fan_out` step as its
|
|
15
|
+
* CHILD tool. What is HASHED for approval identity stays the dispatched call
|
|
16
|
+
* (`fan_out` + its params) — that is what `executeStep` re-verifies at
|
|
17
|
+
* dispatch, and one approval covers the whole batch it names.
|
|
18
|
+
*
|
|
19
|
+
* `do.agent` children are out of scope here: they run through the injected
|
|
20
|
+
* agent executor, which has its own boundary checks.
|
|
21
|
+
*/
|
|
22
|
+
import { ROLLBACK_BACKED_TOOLS } from "./fileWriteRollbackability.js";
|
|
23
|
+
export const FAN_OUT_TOOL_ID = "fan_out";
|
|
24
|
+
/**
|
|
25
|
+
* The tool a `fan_out` step dispatches per item, or `undefined` when the step
|
|
26
|
+
* is not a tool fan_out. `fan_out` itself rejects a missing, templated-empty
|
|
27
|
+
* or nested child before the loop, so a string here is the id that runs.
|
|
28
|
+
*/
|
|
29
|
+
export function fanOutChildToolId(step) {
|
|
30
|
+
if (!step || typeof step !== "object")
|
|
31
|
+
return undefined;
|
|
32
|
+
const s = step;
|
|
33
|
+
if (s.tool !== FAN_OUT_TOOL_ID)
|
|
34
|
+
return undefined;
|
|
35
|
+
const d = s.do;
|
|
36
|
+
if (!d || typeof d !== "object" || Array.isArray(d))
|
|
37
|
+
return undefined;
|
|
38
|
+
const t = d.tool;
|
|
39
|
+
return typeof t === "string" && t.length > 0 ? t : undefined;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Reversibility ceiling for a fan_out child. A rollback-backed file write is
|
|
43
|
+
* reversible only with a rollback confirmed for ITS path at decision time; a
|
|
44
|
+
* fan_out's per-item paths are not assessed then, so the batch is treated as
|
|
45
|
+
* unconfirmed — `irreversible`, exactly as an unconfirmed direct write is.
|
|
46
|
+
* Any other child keeps its own classification.
|
|
47
|
+
*/
|
|
48
|
+
export function fanOutChildReversibilityCeiling(childToolId) {
|
|
49
|
+
return ROLLBACK_BACKED_TOOLS.has(childToolId) ? "irreversible" : undefined;
|
|
50
|
+
}
|
|
51
|
+
/** Approval summary naming the child and, when known, how many times it runs. */
|
|
52
|
+
export function fanOutApprovalSummary(childToolId, params) {
|
|
53
|
+
const items = params?.items;
|
|
54
|
+
let count;
|
|
55
|
+
if (Array.isArray(items))
|
|
56
|
+
count = items.length;
|
|
57
|
+
else if (typeof items === "string") {
|
|
58
|
+
try {
|
|
59
|
+
const parsed = JSON.parse(items);
|
|
60
|
+
if (Array.isArray(parsed))
|
|
61
|
+
count = parsed.length;
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
// unparseable — fan_out itself will refuse it; no count to show
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return count === undefined
|
|
68
|
+
? `fan_out → tool ${childToolId} (once per item)`
|
|
69
|
+
: `fan_out → tool ${childToolId} × ${count}`;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=fanOutChild.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fanOutChild.js","sourceRoot":"","sources":["../../src/recipes/fanOutChild.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC;AAEzC;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAa;IAC7C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACxD,MAAM,CAAC,GAAG,IAA+B,CAAC;IAC1C,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe;QAAE,OAAO,SAAS,CAAC;IACjD,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;IACf,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACtE,MAAM,CAAC,GAAI,CAA6B,CAAC,IAAI,CAAC;IAC9C,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,+BAA+B,CAC7C,WAAmB;IAEnB,OAAO,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,qBAAqB,CACnC,WAAmB,EACnB,MAA2C;IAE3C,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,CAAC;IAC5B,IAAI,KAAyB,CAAC;IAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;SAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;IACH,CAAC;IACD,OAAO,KAAK,KAAK,SAAS;QACxB,CAAC,CAAC,kBAAkB,WAAW,kBAAkB;QACjD,CAAC,CAAC,kBAAkB,WAAW,MAAM,KAAK,EAAE,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* toolPolicyCheck — the `patchwork.policy.yml` check for one in-process tool
|
|
3
|
+
* call, shared by every site that dispatches one.
|
|
4
|
+
*
|
|
5
|
+
* Recipe and worker tool calls dispatch in-process via toolRegistry.executeTool
|
|
6
|
+
* and NEVER pass through McpTransport, so the bridge's CLI/HTTP chokepoint
|
|
7
|
+
* (bridge.ts / streamableHttp.ts) never sees them. That makes the sites that
|
|
8
|
+
* call executeTool the only policy enforcement points: `executeStep` for a
|
|
9
|
+
* normal step, and `fan_out` for each of its children, which used to be
|
|
10
|
+
* checked against `fan_out` and its step params instead of the child tool and
|
|
11
|
+
* the params it is actually called with.
|
|
12
|
+
*
|
|
13
|
+
* Runs whenever FLAG_ENFORCE_POLICY is on, independent of whether a worker owns
|
|
14
|
+
* the recipe: `checkPolicy`'s base rules (forbiddenPaths / allowedNetworkHosts
|
|
15
|
+
* / allowedCommands) apply to every tool call regardless of workerId; only its
|
|
16
|
+
* 4th check (per-worker allowedTools) needs one, and that check no-ops when
|
|
17
|
+
* workerId is undefined. Deny is fail-closed on a malformed policy file.
|
|
18
|
+
*/
|
|
19
|
+
/** Throws a `policy_denied`-coded Error when the policy refuses the call. */
|
|
20
|
+
export declare function enforceToolPolicy(toolId: string, params: Record<string, unknown>, deps: {
|
|
21
|
+
workdir: string;
|
|
22
|
+
workerId?: string;
|
|
23
|
+
}): void;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* toolPolicyCheck — the `patchwork.policy.yml` check for one in-process tool
|
|
3
|
+
* call, shared by every site that dispatches one.
|
|
4
|
+
*
|
|
5
|
+
* Recipe and worker tool calls dispatch in-process via toolRegistry.executeTool
|
|
6
|
+
* and NEVER pass through McpTransport, so the bridge's CLI/HTTP chokepoint
|
|
7
|
+
* (bridge.ts / streamableHttp.ts) never sees them. That makes the sites that
|
|
8
|
+
* call executeTool the only policy enforcement points: `executeStep` for a
|
|
9
|
+
* normal step, and `fan_out` for each of its children, which used to be
|
|
10
|
+
* checked against `fan_out` and its step params instead of the child tool and
|
|
11
|
+
* the params it is actually called with.
|
|
12
|
+
*
|
|
13
|
+
* Runs whenever FLAG_ENFORCE_POLICY is on, independent of whether a worker owns
|
|
14
|
+
* the recipe: `checkPolicy`'s base rules (forbiddenPaths / allowedNetworkHosts
|
|
15
|
+
* / allowedCommands) apply to every tool call regardless of workerId; only its
|
|
16
|
+
* 4th check (per-worker allowedTools) needs one, and that check no-ops when
|
|
17
|
+
* workerId is undefined. Deny is fail-closed on a malformed policy file.
|
|
18
|
+
*/
|
|
19
|
+
import { FLAG_ENFORCE_POLICY, isEnabled } from "../featureFlags.js";
|
|
20
|
+
import { checkPolicy, loadPolicyFile } from "../policy.js";
|
|
21
|
+
/** Throws a `policy_denied`-coded Error when the policy refuses the call. */
|
|
22
|
+
export function enforceToolPolicy(toolId, params, deps) {
|
|
23
|
+
if (!isEnabled(FLAG_ENFORCE_POLICY))
|
|
24
|
+
return;
|
|
25
|
+
const loaded = loadPolicyFile(deps.workdir);
|
|
26
|
+
if (!loaded.ok) {
|
|
27
|
+
const err = new Error(`policy_denied: ${loaded.error}`);
|
|
28
|
+
err.code = "policy_denied";
|
|
29
|
+
throw err;
|
|
30
|
+
}
|
|
31
|
+
const verdict = checkPolicy(loaded.policy, {
|
|
32
|
+
toolName: toolId,
|
|
33
|
+
params,
|
|
34
|
+
...(deps.workerId !== undefined && { workerId: deps.workerId }),
|
|
35
|
+
});
|
|
36
|
+
if (!verdict.allowed) {
|
|
37
|
+
const err = new Error(`policy_denied: ${verdict.reason}`);
|
|
38
|
+
err.code = "policy_denied";
|
|
39
|
+
throw err;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=toolPolicyCheck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolPolicyCheck.js","sourceRoot":"","sources":["../../src/recipes/toolPolicyCheck.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE3D,6EAA6E;AAC7E,MAAM,UAAU,iBAAiB,CAC/B,MAAc,EACd,MAA+B,EAC/B,IAA4C;IAE5C,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;QAAE,OAAO;IAC5C,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,kBAAkB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACvD,GAAiC,CAAC,IAAI,GAAG,eAAe,CAAC;QAC1D,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE;QACzC,QAAQ,EAAE,MAAM;QAChB,MAAM;QACN,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;KAChE,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,kBAAkB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACzD,GAAiC,CAAC,IAAI,GAAG,eAAe,CAAC;QAC1D,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
import { FLAG_CIRCUIT_BREAKER, isEnabled } from "../../featureFlags.js";
|
|
27
27
|
import { deriveBreakerKey, getCircuitBreaker } from "../circuitBreaker.js";
|
|
28
28
|
import { isReturnValueFailure } from "../idempotencyKey.js";
|
|
29
|
+
import { enforceToolPolicy } from "../toolPolicyCheck.js";
|
|
29
30
|
import { executeTool, hasTool, registerTool } from "../toolRegistry.js";
|
|
30
31
|
import { isUncertainOutcome, markUncertainOutcome, } from "../uncertainOutcome.js";
|
|
31
32
|
import { classifyHttpStepResult, httpFailureEvidence, } from "./httpOutcome.js";
|
|
@@ -216,16 +217,39 @@ registerTool({
|
|
|
216
217
|
// module after the first load so correctness is unaffected, but resolving
|
|
217
218
|
// the same promise on every iteration adds async overhead for each item.
|
|
218
219
|
const { render } = await import("../yamlRunner.js");
|
|
219
|
-
|
|
220
|
+
// Build per-iter ctx clone. Bind the loop variable as the raw item
|
|
221
|
+
// (objects get JSON-stringified by `render`'s value coercion at use
|
|
222
|
+
// sites; dot-notation `{{row.id}}` works because render JSON-parses
|
|
223
|
+
// string intermediates).
|
|
224
|
+
const iterContextFor = (i) => {
|
|
220
225
|
const item = items[i];
|
|
221
|
-
// Build per-iter ctx clone. Bind the loop variable as the raw item
|
|
222
|
-
// (objects get JSON-stringified by `render`'s value coercion at use
|
|
223
|
-
// sites; dot-notation `{{row.id}}` works because render JSON-parses
|
|
224
|
-
// string intermediates).
|
|
225
226
|
const iterCtx = { ...ctx };
|
|
226
227
|
iterCtx[loopVar] = typeof item === "string" ? item : JSON.stringify(item);
|
|
227
228
|
iterCtx[`${loopVar}_index`] = String(i);
|
|
228
229
|
iterCtx[`${loopVar}_total`] = String(items.length);
|
|
230
|
+
return iterCtx;
|
|
231
|
+
};
|
|
232
|
+
const renderInnerParams = (iterCtx) => {
|
|
233
|
+
const innerParams = {};
|
|
234
|
+
for (const [k, v] of Object.entries(doObj)) {
|
|
235
|
+
if (k === "tool")
|
|
236
|
+
continue;
|
|
237
|
+
innerParams[k] = deepRenderForIter(v, iterCtx, render);
|
|
238
|
+
}
|
|
239
|
+
return innerParams;
|
|
240
|
+
};
|
|
241
|
+
// patchwork.policy.yml, per CHILD call and BEFORE the first dispatch.
|
|
242
|
+
// Children go straight to executeTool, so executeStep's check only ever
|
|
243
|
+
// saw `fan_out` and the step's own params. Checking every item up front
|
|
244
|
+
// means a denied item stops the batch before any of it has run, rather
|
|
245
|
+
// than after the items ahead of it already have (toolPolicyCheck.ts).
|
|
246
|
+
if (!agentCfg) {
|
|
247
|
+
for (let i = 0; i < items.length; i++) {
|
|
248
|
+
enforceToolPolicy(toolId, renderInnerParams(iterContextFor(i)), deps);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
for (let i = 0; i < items.length; i++) {
|
|
252
|
+
const iterCtx = iterContextFor(i);
|
|
229
253
|
// Agent iteration: render the prompt against this item's context and
|
|
230
254
|
// run it through the injected executor, which owns budget admission and
|
|
231
255
|
// usage reconciliation. Checked before the tool path so the breaker /
|
|
@@ -272,12 +296,7 @@ registerTool({
|
|
|
272
296
|
}
|
|
273
297
|
continue;
|
|
274
298
|
}
|
|
275
|
-
const innerParams =
|
|
276
|
-
for (const [k, v] of Object.entries(doObj)) {
|
|
277
|
-
if (k === "tool")
|
|
278
|
-
continue;
|
|
279
|
-
innerParams[k] = deepRenderForIter(v, iterCtx, render);
|
|
280
|
-
}
|
|
299
|
+
const innerParams = renderInnerParams(iterCtx);
|
|
281
300
|
// Circuit breaker — fan_out calls executeTool DIRECTLY, bypassing
|
|
282
301
|
// executeStep's own breaker check/record (that logic lives in the
|
|
283
302
|
// step loop, not in executeTool). Without this, a fan_out whose
|