@scotthuang/agent-knock-knock 0.13.0 → 0.13.2
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/CHANGELOG.md +30 -0
- package/dist/src/claude-lifecycle-compatibility.js +49 -2
- package/dist/src/claude-lifecycle-compatibility.js.map +1 -1
- package/dist/src/claude-terminal-agent-adapter.d.ts +1 -1
- package/dist/src/claude-terminal-agent-adapter.js +2 -2
- package/dist/src/claude-terminal-agent-adapter.js.map +1 -1
- package/dist/src/codex-lifecycle-compatibility.js +2 -1
- package/dist/src/codex-lifecycle-compatibility.js.map +1 -1
- package/dist/src/native-thread-transition-verification-adapter.js +1 -0
- package/dist/src/native-thread-transition-verification-adapter.js.map +1 -1
- package/dist/src/openclaw-plugin-command-adapter.js +3 -3
- package/dist/src/openclaw-plugin-command-adapter.js.map +1 -1
- package/dist/src/openclaw-plugin-schemas.js +1 -1
- package/dist/src/openclaw-plugin-schemas.js.map +1 -1
- package/dist/src/terminal-agent-bridge.d.ts +11 -0
- package/dist/src/terminal-agent-bridge.js +248 -2
- package/dist/src/terminal-agent-bridge.js.map +1 -1
- package/dist/src/terminal-dispatch-recovery-cli-adapter.js +63 -1
- package/dist/src/terminal-dispatch-recovery-cli-adapter.js.map +1 -1
- package/dist/src/terminal-dispatch-recovery-service.d.ts +1 -0
- package/dist/src/terminal-dispatch-recovery-service.js +7 -0
- package/dist/src/terminal-dispatch-recovery-service.js.map +1 -1
- package/dist/src/terminal-monitor-state-reconciliation-service.js +15 -1
- package/dist/src/terminal-monitor-state-reconciliation-service.js.map +1 -1
- package/dist/src/terminal-questionnaire-adapter.d.ts +6 -2
- package/dist/src/terminal-questionnaire-adapter.js +61 -40
- package/dist/src/terminal-questionnaire-adapter.js.map +1 -1
- package/dist/src/terminal-watch-store.js +135 -9
- package/dist/src/terminal-watch-store.js.map +1 -1
- package/docs/quickstart-tmux.md +2 -2
- package/package.json +1 -1
- package/templates/openclaw-skills/agent-knock-knock/SKILL.md +4 -4
|
@@ -1,10 +1,30 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
|
+
export const CLAUDE_NATIVE_QUESTIONNAIRE_PROFILES = Object.freeze({
|
|
3
|
+
"2.1.263": "claude-code/2.1.263/ask-user-question-v1",
|
|
4
|
+
"2.1.266": "claude-code/2.1.266/ask-user-question-v1",
|
|
5
|
+
"2.1.267": "claude-code/2.1.267/ask-user-question-v1"
|
|
6
|
+
});
|
|
7
|
+
export const CODEX_NATIVE_QUESTIONNAIRE_PROFILES = Object.freeze({
|
|
8
|
+
"0.153.4": "codex/0.153.4/request-user-input-v3",
|
|
9
|
+
"0.154.0": "codex/0.154.0/request-user-input-v3"
|
|
10
|
+
});
|
|
2
11
|
export const NATIVE_QUESTIONNAIRE_PROFILES = Object.freeze({
|
|
3
|
-
|
|
4
|
-
|
|
12
|
+
// Compatibility export for the original questionnaire profile. New Claude
|
|
13
|
+
// versions resolve through claudeNativeQuestionnaireProfile so their
|
|
14
|
+
// fingerprints and durable interaction ids stay version-bound.
|
|
15
|
+
claude: CLAUDE_NATIVE_QUESTIONNAIRE_PROFILES["2.1.263"],
|
|
16
|
+
codex: CODEX_NATIVE_QUESTIONNAIRE_PROFILES["0.153.4"]
|
|
5
17
|
});
|
|
6
|
-
|
|
7
|
-
|
|
18
|
+
export function claudeNativeQuestionnaireProfile(version) {
|
|
19
|
+
return Object.hasOwn(CLAUDE_NATIVE_QUESTIONNAIRE_PROFILES, version)
|
|
20
|
+
? CLAUDE_NATIVE_QUESTIONNAIRE_PROFILES[version]
|
|
21
|
+
: undefined;
|
|
22
|
+
}
|
|
23
|
+
export function codexNativeQuestionnaireProfile(version) {
|
|
24
|
+
return Object.hasOwn(CODEX_NATIVE_QUESTIONNAIRE_PROFILES, version)
|
|
25
|
+
? CODEX_NATIVE_QUESTIONNAIRE_PROFILES[version]
|
|
26
|
+
: undefined;
|
|
27
|
+
}
|
|
8
28
|
const MAX_CAPTURE_CHARACTERS = 128 * 1024;
|
|
9
29
|
const MAX_CAPTURE_LINES = 240;
|
|
10
30
|
const MAX_TEXT_ANSWER_CHARACTERS = 4_096;
|
|
@@ -157,13 +177,14 @@ function inspectClaudeQuestionnaire(options, screen) {
|
|
|
157
177
|
return { status: "none", agent: "claude", reason: "no_questionnaire_surface" };
|
|
158
178
|
}
|
|
159
179
|
const bounds = candidateBounds(screen.lines, (line) => /^← [☐☒]/u.test(line) || /^ [☐☒] \S/u.test(line));
|
|
160
|
-
|
|
180
|
+
const profile = claudeNativeQuestionnaireProfile(options.version);
|
|
181
|
+
if (!profile) {
|
|
161
182
|
return manualCandidate("claude", `claude-code/${options.version}/unsupported-questionnaire`, screen.lines, bounds, "unsupported_version");
|
|
162
183
|
}
|
|
163
184
|
if (screen.hadUnsafeControl) {
|
|
164
|
-
return manualCandidate("claude",
|
|
185
|
+
return manualCandidate("claude", profile, screen.lines, bounds, "changed_shape");
|
|
165
186
|
}
|
|
166
|
-
const finalReview = parseClaudeFinalReview(screen.lines);
|
|
187
|
+
const finalReview = parseClaudeFinalReview(screen.lines, profile);
|
|
167
188
|
if (finalReview) {
|
|
168
189
|
return options.secret === true ||
|
|
169
190
|
SECRET_INPUT_PATTERN.test(finalReview.prompt_evidence.exact_region)
|
|
@@ -175,7 +196,7 @@ function inspectClaudeQuestionnaire(options, screen) {
|
|
|
175
196
|
}
|
|
176
197
|
: finalReview;
|
|
177
198
|
}
|
|
178
|
-
const customTextEdit = parseClaudeCustomTextEdit(screen.lines);
|
|
199
|
+
const customTextEdit = parseClaudeCustomTextEdit(screen.lines, profile);
|
|
179
200
|
if (customTextEdit) {
|
|
180
201
|
return isSecretQuestion(options.secret, customTextEdit.question)
|
|
181
202
|
? {
|
|
@@ -188,9 +209,9 @@ function inspectClaudeQuestionnaire(options, screen) {
|
|
|
188
209
|
}
|
|
189
210
|
const choiceRegion = parseClaudeChoiceRegion(screen.lines);
|
|
190
211
|
if (!choiceRegion) {
|
|
191
|
-
return manualCandidate("claude",
|
|
212
|
+
return manualCandidate("claude", profile, screen.lines, bounds, "changed_shape");
|
|
192
213
|
}
|
|
193
|
-
return claudeChoiceInspection(choiceRegion, screen.lines, options.secret);
|
|
214
|
+
return claudeChoiceInspection(choiceRegion, screen.lines, options.secret, profile);
|
|
194
215
|
}
|
|
195
216
|
function parseClaudeHeader(line) {
|
|
196
217
|
const single = /^ ☐ (\S.*)$/u.exec(line);
|
|
@@ -331,21 +352,21 @@ function normalizedOptions(profile, prompt, rows) {
|
|
|
331
352
|
...(row.description === undefined ? {} : { description: row.description })
|
|
332
353
|
}));
|
|
333
354
|
}
|
|
334
|
-
function claudeChoiceInspection(region, lines, explicitSecret) {
|
|
355
|
+
function claudeChoiceInspection(region, lines, explicitSecret, profile) {
|
|
335
356
|
const multiSelect = region.options.every((option) => /^\[(?: |\u2714)\] /u.test(option.label));
|
|
336
357
|
const mixedKinds = !multiSelect && region.options.some((option) => /^\[[^\]]*\] /u.test(option.label));
|
|
337
|
-
const options = normalizedOptions(
|
|
358
|
+
const options = normalizedOptions(profile, region.prompt, region.options);
|
|
338
359
|
const question = {
|
|
339
|
-
question_id: semanticId("question",
|
|
360
|
+
question_id: semanticId("question", profile, region.prompt, region.header.currentStep),
|
|
340
361
|
prompt: region.prompt,
|
|
341
362
|
response_kind: multiSelect ? "multi_select" : "single_select",
|
|
342
363
|
required: true,
|
|
343
364
|
options
|
|
344
365
|
};
|
|
345
|
-
const evidence = promptEvidence(
|
|
366
|
+
const evidence = promptEvidence(profile, lines, region.start, region.end, region.footer);
|
|
346
367
|
const base = {
|
|
347
368
|
agent: "claude",
|
|
348
|
-
profile
|
|
369
|
+
profile,
|
|
349
370
|
current_step: region.header.currentStep,
|
|
350
371
|
total_steps: region.header.totalSteps,
|
|
351
372
|
question,
|
|
@@ -378,7 +399,7 @@ function claudeChoiceInspection(region, lines, explicitSecret) {
|
|
|
378
399
|
}
|
|
379
400
|
};
|
|
380
401
|
}
|
|
381
|
-
function parseClaudeFinalReview(lines) {
|
|
402
|
+
function parseClaudeFinalReview(lines, profile) {
|
|
382
403
|
const readyIndex = lastIndexMatching(lines, (line) => line === "Ready to submit your answers?");
|
|
383
404
|
const afterReady = lines.slice(readyIndex + 1).filter((line) => line !== "");
|
|
384
405
|
if (readyIndex < 2 ||
|
|
@@ -403,7 +424,7 @@ function parseClaudeFinalReview(lines) {
|
|
|
403
424
|
}
|
|
404
425
|
const end = lines.length - 1;
|
|
405
426
|
const question = {
|
|
406
|
-
question_id: semanticId("question",
|
|
427
|
+
question_id: semanticId("question", profile, "final-review", header.totalSteps),
|
|
407
428
|
prompt: "Ready to submit your answers?",
|
|
408
429
|
response_kind: "confirm",
|
|
409
430
|
required: true
|
|
@@ -411,11 +432,11 @@ function parseClaudeFinalReview(lines) {
|
|
|
411
432
|
return {
|
|
412
433
|
status: "actionable",
|
|
413
434
|
agent: "claude",
|
|
414
|
-
profile
|
|
435
|
+
profile,
|
|
415
436
|
current_step: header.currentStep,
|
|
416
437
|
total_steps: header.totalSteps,
|
|
417
438
|
question,
|
|
418
|
-
prompt_evidence: promptEvidence(
|
|
439
|
+
prompt_evidence: promptEvidence(profile, lines, start, end),
|
|
419
440
|
action_plan: {
|
|
420
441
|
kind: "confirm",
|
|
421
442
|
confirm_stages: [{ kind: "key", key: "1" }],
|
|
@@ -423,7 +444,7 @@ function parseClaudeFinalReview(lines) {
|
|
|
423
444
|
}
|
|
424
445
|
};
|
|
425
446
|
}
|
|
426
|
-
function parseClaudeCustomTextEdit(lines) {
|
|
447
|
+
function parseClaudeCustomTextEdit(lines, profile) {
|
|
427
448
|
const editIndex = lastIndexMatching(lines, (line) => line.includes("ctrl+g to edit in Vim"));
|
|
428
449
|
if (editIndex < 0 ||
|
|
429
450
|
editIndex !== lines.length - 1 ||
|
|
@@ -456,7 +477,7 @@ function parseClaudeCustomTextEdit(lines) {
|
|
|
456
477
|
return undefined;
|
|
457
478
|
}
|
|
458
479
|
const question = {
|
|
459
|
-
question_id: semanticId("question",
|
|
480
|
+
question_id: semanticId("question", profile, prompt, "custom-text"),
|
|
460
481
|
prompt,
|
|
461
482
|
response_kind: "free_text",
|
|
462
483
|
required: true
|
|
@@ -464,11 +485,11 @@ function parseClaudeCustomTextEdit(lines) {
|
|
|
464
485
|
return {
|
|
465
486
|
status: "actionable",
|
|
466
487
|
agent: "claude",
|
|
467
|
-
profile
|
|
488
|
+
profile,
|
|
468
489
|
current_step: header.currentStep,
|
|
469
490
|
total_steps: header.totalSteps,
|
|
470
491
|
question,
|
|
471
|
-
prompt_evidence: promptEvidence(
|
|
492
|
+
prompt_evidence: promptEvidence(profile, lines, start, editIndex),
|
|
472
493
|
action_plan: {
|
|
473
494
|
kind: "free_text",
|
|
474
495
|
stages: [
|
|
@@ -488,13 +509,14 @@ function inspectCodexQuestionnaire(options, screen) {
|
|
|
488
509
|
}
|
|
489
510
|
const bounds = candidateBounds(screen.lines, (line) => /^ Question \d+\/\d+ \(/u.test(line) ||
|
|
490
511
|
line === " Submit with unanswered questions?");
|
|
491
|
-
|
|
512
|
+
const profile = codexNativeQuestionnaireProfile(options.version);
|
|
513
|
+
if (!profile) {
|
|
492
514
|
return manualCandidate("codex", `codex/${options.version}/unsupported-questionnaire`, screen.lines, bounds, "unsupported_version");
|
|
493
515
|
}
|
|
494
516
|
if (screen.hadUnsafeControl) {
|
|
495
|
-
return manualCandidate("codex",
|
|
517
|
+
return manualCandidate("codex", profile, screen.lines, bounds, "changed_shape");
|
|
496
518
|
}
|
|
497
|
-
const unanswered = parseCodexUnansweredConfirmation(screen.lines);
|
|
519
|
+
const unanswered = parseCodexUnansweredConfirmation(screen.lines, profile);
|
|
498
520
|
if (unanswered) {
|
|
499
521
|
return options.secret
|
|
500
522
|
? { ...unanswered, status: "manual_required", reason: "secret_input", action_plan: { kind: "manual_only" } }
|
|
@@ -502,9 +524,9 @@ function inspectCodexQuestionnaire(options, screen) {
|
|
|
502
524
|
}
|
|
503
525
|
const region = parseCodexQuestionRegion(screen.lines);
|
|
504
526
|
if (!region) {
|
|
505
|
-
return manualCandidate("codex",
|
|
527
|
+
return manualCandidate("codex", profile, screen.lines, bounds, "changed_shape");
|
|
506
528
|
}
|
|
507
|
-
return codexQuestionInspection(region, screen.lines, options.secret);
|
|
529
|
+
return codexQuestionInspection(region, screen.lines, options.secret, profile);
|
|
508
530
|
}
|
|
509
531
|
function parseCodexHeader(line) {
|
|
510
532
|
const match = /^ Question ([1-3])\/([1-3]) \(([0-3]+) unanswered\)$/u.exec(line);
|
|
@@ -647,8 +669,7 @@ function codexOpenCustomTextStages(options) {
|
|
|
647
669
|
{ kind: "key", key: "C-m" }
|
|
648
670
|
];
|
|
649
671
|
}
|
|
650
|
-
function codexProjectedChoices(prompt, options) {
|
|
651
|
-
const profile = NATIVE_QUESTIONNAIRE_PROFILES.codex;
|
|
672
|
+
function codexProjectedChoices(prompt, options, profile) {
|
|
652
673
|
const normalized = normalizedOptions(profile, prompt, options);
|
|
653
674
|
const nativeChoices = normalized.map((option, index) => {
|
|
654
675
|
const customText = isCodexCustomTextOption(options[index], index, options);
|
|
@@ -788,17 +809,17 @@ function parseCodexQuestionRegion(lines) {
|
|
|
788
809
|
}
|
|
789
810
|
: undefined;
|
|
790
811
|
}
|
|
791
|
-
function codexQuestionInspection(region, lines, explicitSecret) {
|
|
812
|
+
function codexQuestionInspection(region, lines, explicitSecret, profile) {
|
|
792
813
|
const nativeNormalized = region.options
|
|
793
|
-
? normalizedOptions(
|
|
814
|
+
? normalizedOptions(profile, region.prompt, region.options)
|
|
794
815
|
: undefined;
|
|
795
816
|
const projectedChoices = region.mode === "options" && region.options
|
|
796
|
-
? codexProjectedChoices(region.prompt, region.options)
|
|
817
|
+
? codexProjectedChoices(region.prompt, region.options, profile)
|
|
797
818
|
: undefined;
|
|
798
819
|
const publicOptions = projectedChoices?.map((choice) => choice.option);
|
|
799
820
|
const textMode = region.mode !== "options";
|
|
800
821
|
const question = {
|
|
801
|
-
question_id: semanticId("question",
|
|
822
|
+
question_id: semanticId("question", profile, region.prompt, region.header.currentStep, ...(region.mode === "custom_text"
|
|
802
823
|
? ["custom-text", region.customTextOption?.number, region.customTextOption?.label]
|
|
803
824
|
: [])),
|
|
804
825
|
prompt: region.prompt,
|
|
@@ -810,11 +831,11 @@ function codexQuestionInspection(region, lines, explicitSecret) {
|
|
|
810
831
|
};
|
|
811
832
|
const base = {
|
|
812
833
|
agent: "codex",
|
|
813
|
-
profile
|
|
834
|
+
profile,
|
|
814
835
|
current_step: region.header.currentStep,
|
|
815
836
|
total_steps: region.header.totalSteps,
|
|
816
837
|
question,
|
|
817
|
-
prompt_evidence: promptEvidence(
|
|
838
|
+
prompt_evidence: promptEvidence(profile, lines, region.start, region.end, region.footer)
|
|
818
839
|
};
|
|
819
840
|
const secretProbe = nativeNormalized === undefined
|
|
820
841
|
? question
|
|
@@ -853,7 +874,7 @@ function codexQuestionInspection(region, lines, explicitSecret) {
|
|
|
853
874
|
}
|
|
854
875
|
};
|
|
855
876
|
}
|
|
856
|
-
function parseCodexUnansweredConfirmation(lines) {
|
|
877
|
+
function parseCodexUnansweredConfirmation(lines, profile) {
|
|
857
878
|
const end = lines.length - 1;
|
|
858
879
|
if (lines[end] !== CODEX_UNANSWERED_FOOTER) {
|
|
859
880
|
return undefined;
|
|
@@ -874,16 +895,16 @@ function parseCodexUnansweredConfirmation(lines) {
|
|
|
874
895
|
return {
|
|
875
896
|
status: "actionable",
|
|
876
897
|
agent: "codex",
|
|
877
|
-
profile
|
|
898
|
+
profile,
|
|
878
899
|
current_step: 1,
|
|
879
900
|
total_steps: 1,
|
|
880
901
|
question: {
|
|
881
|
-
question_id: semanticId("question",
|
|
902
|
+
question_id: semanticId("question", profile, prompt, countMatch[1]),
|
|
882
903
|
prompt,
|
|
883
904
|
response_kind: "confirm",
|
|
884
905
|
required: true
|
|
885
906
|
},
|
|
886
|
-
prompt_evidence: promptEvidence(
|
|
907
|
+
prompt_evidence: promptEvidence(profile, lines, start, end, CODEX_UNANSWERED_FOOTER),
|
|
887
908
|
action_plan: {
|
|
888
909
|
kind: "confirm",
|
|
889
910
|
confirm_stages: [{ kind: "key", key: "C-m" }],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-questionnaire-adapter.js","sourceRoot":"","sources":["../../src/terminal-questionnaire-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"terminal-questionnaire-adapter.js","sourceRoot":"","sources":["../../src/terminal-questionnaire-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,CAAC,MAAM,oCAAoC,GAE7C,MAAM,CAAC,MAAM,CAAC;IAChB,SAAS,EAAE,0CAA0C;IACrD,SAAS,EAAE,0CAA0C;IACrD,SAAS,EAAE,0CAA0C;CACtD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mCAAmC,GAE5C,MAAM,CAAC,MAAM,CAAC;IAChB,SAAS,EAAE,qCAAqC;IAChD,SAAS,EAAE,qCAAqC;CACjD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC,MAAM,CAAC;IACzD,0EAA0E;IAC1E,qEAAqE;IACrE,+DAA+D;IAC/D,MAAM,EAAE,oCAAoC,CAAC,SAAS,CAAC;IACvD,KAAK,EAAE,mCAAmC,CAAC,SAAS,CAAC;CAC7C,CAAC,CAAC;AAEZ,MAAM,UAAU,gCAAgC,CAC9C,OAAe;IAEf,OAAO,MAAM,CAAC,MAAM,CAAC,oCAAoC,EAAE,OAAO,CAAC;QACjE,CAAC,CAAC,oCAAoC,CAAC,OAAO,CAAC;QAC/C,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,OAAe;IAEf,OAAO,MAAM,CAAC,MAAM,CAAC,mCAAmC,EAAE,OAAO,CAAC;QAChE,CAAC,CAAC,mCAAmC,CAAC,OAAO,CAAC;QAC9C,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAqKD,MAAM,sBAAsB,GAAG,GAAG,GAAG,IAAI,CAAC;AAC1C,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,0BAA0B,GAAG,KAAK,CAAC;AACzC,yEAAyE;AACzE,4EAA4E;AAC5E,kDAAkD;AAClD,MAAM,iCAAiC,GAAG,GAAG,CAAC;AAC9C,MAAM,qBAAqB,GACzB,mFAAmF,CAAC;AACtF,MAAM,sBAAsB,GAC1B,wDAAwD,CAAC;AAC3D,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC;IACtC,UAAU;IACV,YAAY;IACZ,cAAc;IACd,QAAQ;IACR,mBAAmB;IACnB,YAAY;IACZ,kBAAkB;IAClB,0CAA0C;IAC1C,wBAAwB;IACxB,oBAAoB;IACpB,kBAAkB;IAClB,UAAU;IACV,iBAAiB;IACjB,+BAA+B;IAC/B,yDAAyD;IACzD,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;CACN,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;AACnB,MAAM,uBAAuB,GAC3B,8DAA8D,CAAC;AACjE,MAAM,8BAA8B,GAClC,mDAAmD,CAAC;AACtD,MAAM,yBAAyB,GAC7B,2EAA2E,CAAC;AAC9E,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AAC/C,MAAM,qBAAqB,GAAG,2BAA2B,CAAC;AAC1D,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AACzD,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AACnD,MAAM,2BAA2B,GAAG,2BAA2B,CAAC;AAChE,MAAM,8BAA8B,GAClC,qCAAqC,CAAC;AACxC,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AAC/C,MAAM,uBAAuB,GAC3B,4CAA4C,CAAC;AAC/C,MAAM,uBAAuB,GAAG,eAAe,CAAC;AAChD,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;AAClD,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;AACrD,MAAM,8BAA8B,GAClC,yCAAyC,CAAC;AAE5C,MAAM,UAAU,0BAA0B,CACxC,OAA0C;IAE1C,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;QAC/B,CAAC,CAAC,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC;QAC7C,CAAC,CAAC,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAc;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,sBAAsB;QACjD,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC;QACvC,CAAC,CAAC,MAAM,CAAC;IACX,MAAM,WAAW,GAAG,IAAI;SACrB,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC;SAClC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC;SACzB,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACxB,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACvE,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QAC9B,QAAQ,CAAC,GAAG,EAAE,CAAC;IACjB,CAAC;IACD,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC;QACzC,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,OAAe,EAAE,MAAc;IAClD,OAAO,UAAU,CAAC,QAAQ,CAAC;SACxB,MAAM,CAAC,GAAG,OAAO,KAAK,MAAM,EAAE,EAAE,MAAM,CAAC;SACvC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CACrB,OAAe,EACf,KAAwB,EACxB,KAAa,EACb,GAAW,EACX,MAAe;IAEf,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,OAAO;QACL,OAAO;QACP,YAAY,EAAE,WAAW;QACzB,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC;QACzC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,MAA6B,EAAE,GAAG,KAAgB;IACpE,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC;SAChC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;SACrC,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,OAAO,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,+BAA+B,CAAC,KAAwB;IAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,IAAI,KAAK,aAAa,CAAC;AACtE,CAAC;AAED,SAAS,8BAA8B,CAAC,KAAwB;IAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACtC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QACpE,+CAA+C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,eAAe,CACtB,KAAwB,EACxB,MAAiC;IAEjC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IACf,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1D,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAC/B,KAAK,GAAG,KAAK,CAAC;YACd,MAAM;QACR,CAAC;IACH,CAAC;IACD,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC;QACzB,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,KAA+B,EAC/B,KAAwB,EACxB,MAAsC;IAEtC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;SACrD,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QACvC,EAAE,IAAI,EAAE,IAAI,mCAAmC,CAAC;IAClD,OAAO;QACL,WAAW,EAAE,UAAU,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;QAChE,MAAM;QACN,aAAa,EAAE,SAAS;QACxB,QAAQ,EAAE,IAAI;KACf,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,KAA+B,EAC/B,OAAe,EACf,KAAwB,EACxB,MAAsC,EACtC,MAAuC,EACvC,QAAsC,EACtC,WAAW,GAAG,CAAC,EACf,UAAU,GAAG,CAAC;IAEd,OAAO;QACL,MAAM,EAAE,iBAAiB;QACzB,MAAM;QACN,KAAK;QACL,OAAO;QACP,YAAY,EAAE,WAAW;QACzB,WAAW,EAAE,UAAU;QACvB,QAAQ,EAAE,QAAQ,IAAI,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC;QAC5D,eAAe,EAAE,cAAc,CAC7B,OAAO,EACP,KAAK,EACL,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,GAAG,CACX;QACD,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;KACrC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,cAAmC,EACnC,QAAqC;IAErC,OAAO,cAAc,KAAK,IAAI;QAC5B,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC1C,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAChC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACvC,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS;gBAC/B,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CACjD,KAAK,IAAI,CAAC;AACf,CAAC;AAED,SAAS,0BAA0B,CACjC,OAA0C,EAC1C,MAAmB;IAEnB,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC;IACjF,CAAC;IACD,MAAM,MAAM,GAAG,eAAe,CAC5B,MAAM,CAAC,KAAK,EACZ,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAC5D,CAAC;IACF,MAAM,OAAO,GAAG,gCAAgC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,eAAe,CACpB,QAAQ,EACR,eAAe,OAAO,CAAC,OAAO,4BAA4B,EAC1D,MAAM,CAAC,KAAK,EACZ,MAAM,EACN,qBAAqB,CACtB,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,OAAO,eAAe,CACpB,QAAQ,EACR,OAAO,EACP,MAAM,CAAC,KAAK,EACZ,MAAM,EACN,eAAe,CAChB,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,sBAAsB,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAClE,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,OAAO,CAAC,MAAM,KAAK,IAAI;YAC1B,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC;YACrE,CAAC,CAAC;gBACE,GAAG,WAAW;gBACd,MAAM,EAAE,iBAAiB;gBACzB,MAAM,EAAE,cAAc;gBACtB,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;aACrC;YACH,CAAC,CAAC,WAAW,CAAC;IAClB,CAAC;IACD,MAAM,cAAc,GAAG,yBAAyB,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxE,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC;YAC9D,CAAC,CAAC;gBACE,GAAG,cAAc;gBACjB,MAAM,EAAE,iBAAiB;gBACzB,MAAM,EAAE,cAAc;gBACtB,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;aACrC;YACH,CAAC,CAAC,cAAc,CAAC;IACrB,CAAC;IACD,MAAM,YAAY,GAAG,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,eAAe,CACpB,QAAQ,EACR,OAAO,EACP,MAAM,CAAC,KAAK,EACZ,MAAM,EACN,eAAe,CAChB,CAAC;IACJ,CAAC;IACD,OAAO,sBAAsB,CAC3B,YAAY,EACZ,MAAM,CAAC,KAAK,EACZ,OAAO,CAAC,MAAM,EACd,OAAO,CACR,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,OAAO;YACL,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,WAAW,EAAE,CAAC;YACd,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,YAAY,GAAG,iCAAiC,CAAC;IACvD,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7D,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;QAC1B,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;KAC9B,CAAC,CAAC,CAAC;IACJ,IACE,IAAI,CAAC,MAAM,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,EAClF,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/D,IACE,eAAe,IAAI,CAAC;QACpB,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EACvD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACnC,OAAO;QACL,IAAI;QACJ,WAAW,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC;QACnE,UAAU;QACV,WAAW,EAAE,eAAe,GAAG,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAAwB,EACxB,IAAsC;IAEtC,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,QAAQ,IAAI,UAAU,CAAC;QACnC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;gBAC3B,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;aACd,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,KAAK,cAAc;YACzC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACpE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,CAAC;IAC7D,CAAC;IACD,IACE,OAAO,CAAC,MAAM,KAAK,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,GAAG,CAAC,CAAC;QAC5D,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EACxD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAwB,EACxB,SAAoC,EACpC,MAAM,GAAG,KAAK,CAAC,MAAM;IAErB,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC5E,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAAwB;IAExB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAChC,IACE,GAAG,GAAG,CAAC;QACP,CAAC,MAAM,KAAK,uBAAuB;YACjC,MAAM,KAAK,8BAA8B,CAAC,EAC5C,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,GAAG,GAAG,CAAC,GAAG,SAAS,CAAC;IACtC,MAAM,SAAS,GAAG,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACnF,MAAM,cAAc,GAAG,SAAS,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACrE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,cAAc,CAAC,CAAC;IACxG,MAAM,YAAY,GAAG,KAAK,IAAI,CAAC;QAC7B,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACvC,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IAC7C,MAAM,WAAW,GAAG,KAAK,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACxC,MAAM,WAAW,GAAG,WAAW,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,IACE,CAAC,YAAY;QACb,MAAM,CAAC,MAAM,KAAK,CAAC;QACnB,MAAM,KAAK,MAAM,CAAC,IAAI,EAAE;QACxB,CAAC,YAAY,CAAC,UAAU,KAAK,CAAC,CAAC;YAC7B,CAAC,MAAM,KAAK,8BAA8B,CAAC,EAC7C,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5C,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChD,CAAC;IACF,MAAM,OAAO,GAAG,sBAAsB,CACpC,WAAW,EACX,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAC/C,CAAC;IACF,MAAM,mBAAmB,GAAG,WAAW;QACrC,CAAC,CAAC,oBAAoB;QACtB,CAAC,CAAC,iBAAiB,CAAC;IACtB,IACE,CAAC,OAAO;QACR,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC;QAC3C,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,mBAAmB;QAC7C,OAAO,CAAC,MAAM,GAAG,CAAC;QAClB,OAAO,CAAC,MAAM,GAAG,CAAC;QAClB,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EACzC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW;QACrC,CAAC,CAAC;YACE,GAAG,YAAY;YACf,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM;YACrC,WAAW,EAAE,KAAK;SACnB;QACH,CAAC,CAAC,YAAY,CAAC;IACjB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAe,EACf,MAAc,EACd,IAAgC;IAEhC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxB,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;QACvE,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC;KAC3E,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,sBAAsB,CAC7B,MAA0B,EAC1B,KAAwB,EACxB,cAAmC,EACnC,OAAe;IAEf,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAClD,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CACzC,CAAC;IACF,MAAM,UAAU,GAAG,CAAC,WAAW,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACvG,MAAM,OAAO,GAAG,iBAAiB,CAC/B,OAAO,EACP,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,OAAO,CACf,CAAC;IACF,MAAM,QAAQ,GAAgC;QAC5C,WAAW,EAAE,UAAU,CACrB,UAAU,EACV,OAAO,EACP,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,MAAM,CAAC,WAAW,CAC1B;QACD,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe;QAC7D,QAAQ,EAAE,IAAI;QACd,OAAO;KACR,CAAC;IACF,MAAM,QAAQ,GAAG,cAAc,CAC7B,OAAO,EACP,KAAK,EACL,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,GAAG,EACV,MAAM,CAAC,MAAM,CACd,CAAC;IACF,MAAM,IAAI,GAAG;QACX,KAAK,EAAE,QAAiB;QACxB,OAAO;QACP,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW;QACvC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;QACrC,QAAQ;QACR,eAAe,EAAE,QAAQ;KAC1B,CAAC;IACF,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC;IAC/G,CAAC;IACD,IAAI,gBAAgB,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC/C,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC;IAC9G,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,0BAA0B,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC;IAC1H,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QACjC,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC;IACnH,CAAC;IACD,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,YAAY;QACpB,WAAW,EAAE;YACX,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBACvC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,OAAO,EAAE,KAAK,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC;oBACnC,CAAC,CAAC,kBAA2B;oBAC7B,CAAC,CAAC,mBAA4B;gBAChC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAc,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;aAC3D,CAAC,CAAC;SACJ;KACF,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAAwB,EACxB,OAAe;IAEf,MAAM,UAAU,GAAG,iBAAiB,CAClC,KAAK,EACL,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,+BAA+B,CACnD,CAAC;IACF,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IAC7E,IACE,UAAU,GAAG,CAAC;QACd,UAAU,CAAC,MAAM,KAAK,CAAC;QACvB,UAAU,CAAC,CAAC,CAAC,KAAK,qBAAqB;QACvC,UAAU,CAAC,CAAC,CAAC,KAAK,aAAa,EAC/B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,UAAU,CAAC,CAAC;IACpG,MAAM,MAAM,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,UAAU,CAAC;SACnD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,EAAE,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,qBAAqB,EAAE,CAAC;QACrE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxC,IACE,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QAC5C,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC;YAC9C,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5B,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAC/B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,MAAM,QAAQ,GAAgC;QAC5C,WAAW,EAAE,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,UAAU,CAAC;QAC/E,MAAM,EAAE,+BAA+B;QACvC,aAAa,EAAE,SAAS;QACxB,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,OAAO;QACL,MAAM,EAAE,YAAY;QACpB,KAAK,EAAE,QAAQ;QACf,OAAO;QACP,YAAY,EAAE,MAAM,CAAC,WAAW;QAChC,WAAW,EAAE,MAAM,CAAC,UAAU;QAC9B,QAAQ;QACR,eAAe,EAAE,cAAc,CAC7B,OAAO,EACP,KAAK,EACL,KAAK,EACL,GAAG,CACJ;QACD,WAAW,EAAE;YACX,IAAI,EAAE,SAAS;YACf,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YAC3C,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;SAC3C;KACF,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,KAAwB,EACxB,OAAe;IAEf,MAAM,SAAS,GAAG,iBAAiB,CACjC,KAAK,EACL,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CACjD,CAAC;IACF,IACE,SAAS,GAAG,CAAC;QACb,SAAS,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;QAC9B,KAAK,CAAC,SAAS,CAAC,KAAK,yBAAyB,EAC9C,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,SAAS,CAAC,CAAC;IACnG,MAAM,MAAM,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,MAAM,WAAW,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACxC,MAAM,WAAW,GAAG,WAAW,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC;IAC5C,MAAM,IAAI,GAAG,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9E,MAAM,cAAc,GAAG,SAAS,GAAG,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,sBAAsB,CACpC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,cAAc,CAAC,EACxC,eAAe,CAChB,CAAC;IACF,IACE,CAAC,MAAM;QACP,MAAM,CAAC,WAAW;QAClB,MAAM,CAAC,MAAM,KAAK,CAAC;QACnB,MAAM,KAAK,MAAM,CAAC,IAAI,EAAE;QACxB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACV,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAClD,CAAC,OAAO;QACR,OAAO,CAAC,MAAM,GAAG,CAAC;QAClB,OAAO,CAAC,MAAM,GAAG,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC;QACtC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM;QACzC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI;QACjC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,iBAAiB,EAC3C,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,QAAQ,GAAgC;QAC5C,WAAW,EAAE,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC;QACnE,MAAM;QACN,aAAa,EAAE,WAAW;QAC1B,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,OAAO;QACL,MAAM,EAAE,YAAY;QACpB,KAAK,EAAE,QAAQ;QACf,OAAO;QACP,YAAY,EAAE,MAAM,CAAC,WAAW;QAChC,WAAW,EAAE,MAAM,CAAC,UAAU;QAC9B,QAAQ;QACR,eAAe,EAAE,cAAc,CAC7B,OAAO,EACP,KAAK,EACL,KAAK,EACL,SAAS,CACV;QACD,WAAW,EAAE;YACX,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,aAAa;oBACnB,WAAW,EAAE,IAAI;oBACjB,cAAc,EAAE,iCAAiC;iBAClD;gBACD,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;aAC5B;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,OAA0C,EAC1C,MAAmB;IAEnB,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC;IAChF,CAAC;IACD,MAAM,MAAM,GAAG,eAAe,CAC5B,MAAM,CAAC,KAAK,EACZ,CAAC,IAAI,EAAE,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC;QAC7C,IAAI,KAAK,qCAAqC,CACjD,CAAC;IACF,MAAM,OAAO,GAAG,+BAA+B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACjE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,eAAe,CACpB,OAAO,EACP,SAAS,OAAO,CAAC,OAAO,4BAA4B,EACpD,MAAM,CAAC,KAAK,EACZ,MAAM,EACN,qBAAqB,CACtB,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,OAAO,eAAe,CACpB,OAAO,EACP,OAAO,EACP,MAAM,CAAC,KAAK,EACZ,MAAM,EACN,eAAe,CAChB,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,gCAAgC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3E,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,OAAO,CAAC,MAAM;YACnB,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE;YAC5G,CAAC,CAAC,UAAU,CAAC;IACjB,CAAC;IACD,MAAM,MAAM,GAAG,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,eAAe,CACpB,OAAO,EACP,OAAO,EACP,MAAM,CAAC,KAAK,EACZ,MAAM,EACN,eAAe,CAChB,CAAC;IACJ,CAAC;IACD,OAAO,uBAAuB,CAC5B,MAAM,EACN,MAAM,CAAC,KAAK,EACZ,OAAO,CAAC,MAAM,EACd,OAAO,CACR,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,KAAK,GAAG,wDAAwD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClF,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,OAAO,WAAW,IAAI,UAAU,IAAI,UAAU,IAAI,UAAU;QAC1D,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE;QAC7B,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAwB;IAExB,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjE,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,YAAY,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,OAAO,YAAY,GAAG,aAAa,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;QACzE,YAAY,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;IACjE,sEAAsE;IACtE,4EAA4E;IAC5E,wDAAwD;IACxD,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAClD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,kBAAkB,GAA8B,EAAE,CAAC;IACzD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;YACxC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;YAC5D,IACE,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBAClB,CAAC,YAAY,CAAC,CAAC,CAAC;gBAChB,CAAC,QAAQ,EAAE,WAAW;gBACtB,iBAAiB,KAAK,SAAS;gBAC/B,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,iBAAiB,EAC5C,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,CAAC,aAAa,CAAC,GAAG;gBACvB,GAAG,QAAQ;gBACX,WAAW,EAAE,GAAG,QAAQ,CAAC,WAAW,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE;aAC1D,CAAC;YACF,SAAS;QACX,CAAC;QACD,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC;YACX,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxB,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;YAC3B,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;YACtB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D,CAAC,CAAC;QACH,kBAAkB,CAAC,IAAI,CACrB,SAAS,EAAE,KAAK,KAAK,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM;YACvE,CAAC,CAAC,SAAS,CACd,CAAC;IACJ,CAAC;IACD,IACE,OAAO,CAAC,MAAM,GAAG,CAAC;QAClB,OAAO,CAAC,MAAM,GAAG,CAAC;QAClB,kBAAkB,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAC5C,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IACE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,GAAG,CAAC,CAAC;QAC5D,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EACxD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAQD,SAAS,cAAc,CAAC,MAAmB;IACzC,OAAO,MAAM,CAAC,UAAU,GAAG,CAAC,IAAI,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,UAAU;QACtE,CAAC,CAAC,oBAAoB;QACtB,CAAC,CAAC,uBAAuB,CAAC;AAC9B,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAmB;IAChD,OAAO;QACL,mBAAmB;QACnB,cAAc,CAAC,MAAM,CAAC;QACtB,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,mBAAmB;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAmB;IAClD,OAAO;QACL,cAAc,CAAC,MAAM,CAAC;QACtB,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,mBAAmB;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAmB;IACpD,OAAO,CAAC,qBAAqB,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAmC;IACjE,MAAM,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,KAAK,EAAE,KAAK,KAAK,wBAAwB;QAC9C,KAAK,CAAC,WAAW,KAAK,8BAA8B,CAAC;AACzD,CAAC;AAED,SAAS,4BAA4B,CACnC,OAAmC;IAEnC,OAAO,sBAAsB,CAAC,OAAO,CAAC;QACpC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,uBAAuB,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,mCAAmC,CAC1C,OAAmC;IAEnC,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAC/C,MAAM,CAAC,KAAK,KAAK,uBAAuB;QACxC,MAAM,CAAC,KAAK,KAAK,wBAAwB,CAC1C,CAAC;IACF,OAAO,gBAAgB,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;GAMG;AACH,SAAS,uBAAuB,CAC9B,MAAuB,EACvB,MAAc,EACd,OAAmC;IAEnC,OAAO,4BAA4B,CAAC,OAAO,CAAC;QAC1C,MAAM,CAAC,KAAK,KAAK,uBAAuB,CAAC;AAC7C,CAAC;AAED,SAAS,yBAAyB,CAChC,OAAmC;IAEnC,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrE,yEAAyE;IACzE,2EAA2E;IAC3E,uEAAuE;IACvE,4EAA4E;IAC5E,yEAAyE;IACzE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACvC,IAAI,aAAa,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1E,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,SAAS,GAAG,CAAC,WAAW,GAAG,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAClF,OAAO;QACL,GAAG,KAAK,CAAC,IAAI,CACX,EAAE,MAAM,EAAE,SAAS,EAAE,EACrB,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAc,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAC9C;QACD,EAAE,IAAI,EAAE,KAAc,EAAE,GAAG,EAAE,KAAK,EAAE;KACrC,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAAc,EACd,OAAmC,EACnC,OAAe;IAEf,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/D,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAwB,EAAE;QAC3E,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,KAAK,CAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC5E,OAAO;YACL,MAAM;YACN,MAAM,EAAE;gBACN,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,mBAAmB;gBAC9D,MAAM,EAAE,UAAU;oBAChB,CAAC,CAAC,yBAAyB,CAAC,OAAO,CAAC;oBACpC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAE,CAAC,MAAM,CAAC,EAAE,CAAC;aAC3D;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IACE,CAAC,4BAA4B,CAAC,OAAO,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,uBAAuB,CAAC,EAClE,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACtC,MAAM,YAAY,GAA8B;QAC9C,SAAS,EAAE,UAAU,CACnB,QAAQ,EACR,OAAO,EACP,MAAM,EACN,oBAAoB,EACpB,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,EAC3B,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,CAC3B;QACD,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,+CAA+C;KAC7D,CAAC;IACF,MAAM,YAAY,GAAyB;QACzC,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE;YACN,SAAS,EAAE,YAAY,CAAC,SAAS;YACjC,OAAO,EAAE,kBAAkB;YAC3B,MAAM,EAAE,yBAAyB,CAAC,OAAO,CAAC;SAC3C;KACF,CAAC;IACF,OAAO;QACL,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC;QACrC,YAAY;QACZ,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC;KACnC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAC5B,KAAwB,EACxB,YAA+B;IAE/B,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,IAAI,YAAY,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,EAAE,CAAC;QACzE,MAAM,KAAK,GAAG,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC;QAClC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM;QACR,CAAC;QACD,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACtD,SAAS;QACX,CAAC;QACD,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAC9C,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAC3B,CAAC;QACF,IACE,UAAU,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;YACzC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,YAAY,CAAC,KAAK,CAAC,CAAC,EAC7D,CAAC;YACD,OAAO;gBACL,KAAK;gBACL,GAAG;gBACH,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;aAC5B,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,wBAAwB,CAC/B,KAAwB;IAExB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,GAAG,CAAC,CAAC;IAClG,MAAM,MAAM,GAAG,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,cAAc,GAAG,qBAAqB,CAC1C,KAAK,EACL,uBAAuB,CAAC,MAAM,CAAC,CAChC,CAAC;IACF,MAAM,aAAa,GAAG,cAAc;QAClC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC;aACjD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACpC,CAAC,CAAC,EAAE,CAAC;IACP,IACE,cAAc;QACd,aAAa,CAAC,MAAM,KAAK,CAAC;QAC1B,aAAa,CAAC,CAAC,CAAC,KAAK,iCAAiC,EACtD,CAAC;QACD,OAAO;YACL,KAAK,EAAE,WAAW;YAClB,GAAG;YACH,MAAM,EAAE,cAAc,CAAC,GAAG;YAC1B,MAAM;YACN,MAAM;YACN,IAAI,EAAE,WAAW;SAClB,CAAC;IACJ,CAAC;IACD,MAAM,gBAAgB,GAAG,qBAAqB,CAC5C,KAAK,EACL,yBAAyB,CAAC,MAAM,CAAC,CAClC,CAAC;IACF,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACnD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAC/B,CAAC;QACF,MAAM,gBAAgB,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,gBAAgB,KAAK,SAAS;YAC1C,IAAI,CAAC,gBAAgB,CAAC,KAAK,uBAAuB;YACpD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC3D,MAAM,aAAa,GAAG,OAAO,EAAE,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC;QAC1C,IACE,OAAO;YACP,QAAQ;YACR,sBAAsB,CAAC,OAAO,CAAC;YAC/B,aAAa,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,EACpC,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,WAAW;gBAClB,GAAG;gBACH,MAAM,EAAE,gBAAgB,CAAC,GAAG;gBAC5B,MAAM;gBACN,MAAM;gBACN,OAAO;gBACP,IAAI,EAAE,aAAa;gBACnB,gBAAgB,EAAE,QAAQ;aAC3B,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,YAAY,GAAG,qBAAqB,CACxC,KAAK,EACL,qBAAqB,CAAC,MAAM,CAAC,CAC9B,CAAC;IACF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,OAAO;QACZ,CAAC,CAAC;YACE,KAAK,EAAE,WAAW;YAClB,GAAG;YACH,MAAM,EAAE,YAAY,CAAC,GAAG;YACxB,MAAM;YACN,MAAM;YACN,OAAO;YACP,IAAI,EAAE,SAAS;SAChB;QACH,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,uBAAuB,CAC9B,MAA2B,EAC3B,KAAwB,EACxB,cAAmC,EACnC,OAAe;IAEf,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO;QACrC,CAAC,CAAC,iBAAiB,CACjB,OAAO,EACP,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,OAAO,CACf;QACD,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO;QAClE,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;QAC/D,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,aAAa,GAAG,gBAAgB,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;IAC3C,MAAM,QAAQ,GAAgC;QAC5C,WAAW,EAAE,UAAU,CACrB,UAAU,EACV,OAAO,EACP,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,MAAM,CAAC,WAAW,EACzB,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa;YAC/B,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC;YAClF,CAAC,CAAC,EAAE,CAAC,CACR;QACD,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe;QACvD,QAAQ,EAAE,MAAM,CAAC,IAAI,KAAK,WAAW;QACrC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS;YAC1D,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;KAChC,CAAC;IACF,MAAM,IAAI,GAAG;QACX,KAAK,EAAE,OAAgB;QACvB,OAAO;QACP,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW;QACvC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;QACrC,QAAQ;QACR,eAAe,EAAE,cAAc,CAC7B,OAAO,EACP,KAAK,EACL,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,GAAG,EACV,MAAM,CAAC,MAAM,CACd;KACF,CAAC;IACF,MAAM,WAAW,GAAG,gBAAgB,KAAK,SAAS;QAChD,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC/C,IAAI,gBAAgB,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE,CAAC;QAClD,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC;IAC9G,CAAC;IACD,IACE,MAAM,CAAC,IAAI,KAAK,SAAS;QACzB,MAAM,CAAC,OAAO,KAAK,SAAS;QAC5B,mCAAmC,CAAC,MAAM,CAAC,OAAO,CAAC,EACnD,CAAC;QACD,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC;IAC/G,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,YAAY;YACpB,WAAW,EAAE;gBACX,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,IAAI;wBACjB,cAAc,EAAE,0BAA0B;qBAC3C;oBACD,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;iBAC5B;aACF;SACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,YAAY;QACpB,WAAW,EAAE;YACX,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;SACjE;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gCAAgC,CACvC,KAAwB,EACxB,OAAe;IAKf,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,uBAAuB,EAAE,CAAC;QAC3C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,iBAAiB,CAC7B,KAAK,EACL,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,qCAAqC,EACxD,GAAG,CACJ,CAAC;IACF,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,UAAU,GAAG,oCAAoC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACrF,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3E,IACE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,MAAM,KAAK,CAAC;QACjB,IAAI,CAAC,CAAC,CAAC,KAAK,+BAA+B,UAAU,CAAC,CAAC,CAAC,wBAAwB;QAChF,IAAI,CAAC,CAAC,CAAC,KAAK,0DAA0D,EACtE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,mCAAmC,CAAC;IACnD,OAAO;QACL,MAAM,EAAE,YAAY;QACpB,KAAK,EAAE,OAAO;QACd,OAAO;QACP,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,CAAC;QACd,QAAQ,EAAE;YACR,WAAW,EAAE,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM;YACN,aAAa,EAAE,SAAS;YACxB,QAAQ,EAAE,IAAI;SACf;QACD,eAAe,EAAE,cAAc,CAC7B,OAAO,EACP,KAAK,EACL,KAAK,EACL,GAAG,EACH,uBAAuB,CACxB;QACD,WAAW,EAAE;YACX,IAAI,EAAE,SAAS;YACf,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;YAC7C,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;SAChD;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -307,6 +307,114 @@ export function terminalWatchCallbackMessage(input) {
|
|
|
307
307
|
: [])
|
|
308
308
|
].join("\n");
|
|
309
309
|
}
|
|
310
|
+
/**
|
|
311
|
+
* v1 and early-v2 Watches persisted the complete callback envelope before the
|
|
312
|
+
* callback presentation gained `watch_origin`, `watch_mode`, and `confidence`.
|
|
313
|
+
* Keep the two exact predecessor presentations readable: the route, delivery
|
|
314
|
+
* identity, Watch/terminal source, event identity, and response bit remain
|
|
315
|
+
* validated separately and are never inferred or relaxed.
|
|
316
|
+
*
|
|
317
|
+
* Do not reuse `terminalWatchCallbackMessage` here. This is intentionally a
|
|
318
|
+
* frozen compatibility projection for envelopes already persisted by
|
|
319
|
+
* 8d0db82 (human-started Watch) and 23fe415 (user-explicit fallback Watch).
|
|
320
|
+
*/
|
|
321
|
+
function predecessorTerminalWatchCallbackEnvelope(watch, notification, route) {
|
|
322
|
+
if (notification.kind === "interaction_required" ||
|
|
323
|
+
notification.kind === "interaction_manual_required" ||
|
|
324
|
+
isTerminalActivityWatch(watch)) {
|
|
325
|
+
return undefined;
|
|
326
|
+
}
|
|
327
|
+
const humanStarted = watch.anchor.schema ===
|
|
328
|
+
"agent-knock-knock/codex-human-started-active-task-anchor" ||
|
|
329
|
+
watch.anchor.schema ===
|
|
330
|
+
"agent-knock-knock/claude-human-started-active-task-anchor";
|
|
331
|
+
const userExplicitFallback = isUserExplicitFallbackWatch(watch);
|
|
332
|
+
if (!humanStarted && !userExplicitFallback)
|
|
333
|
+
return undefined;
|
|
334
|
+
const event = notification.kind === "approval"
|
|
335
|
+
? "approval_required"
|
|
336
|
+
: notification.kind;
|
|
337
|
+
const reasonCode = notification.kind === "approval"
|
|
338
|
+
? notification.reason_code
|
|
339
|
+
: notification.reason_code ?? watch.settlement?.reason_code;
|
|
340
|
+
const eventInstruction = event === "approval_required"
|
|
341
|
+
? "Tell the user that the observed TUI task is waiting for approval and ask the human to inspect and decide in the named live TUI. Do not call any AKK approval tool or action, do not send approval keys, and do not use autoApprove."
|
|
342
|
+
: event === "completed"
|
|
343
|
+
? userExplicitFallback
|
|
344
|
+
? "Tell the user that the request delivered through AKK's user-explicit unmanaged fallback completed and summarize only the bounded completion text below."
|
|
345
|
+
: "Tell the user that the human-started TUI task completed and summarize only the bounded completion text below."
|
|
346
|
+
: "Tell the user that Terminal Watch stopped without a verified successful completion and explain the exact reason below.";
|
|
347
|
+
const completionText = notification.kind === "completed" ||
|
|
348
|
+
notification.kind === "failed"
|
|
349
|
+
? watch.settlement?.completion_text
|
|
350
|
+
: undefined;
|
|
351
|
+
const body = [
|
|
352
|
+
"Continue this controller conversation from the Agent Knock Knock Terminal Watch event below.",
|
|
353
|
+
userExplicitFallback
|
|
354
|
+
? "AKK delivered this exact request through terminal_user_explicit unmanaged fallback and then attached Terminal Watch. It is not a managed AKK Turn."
|
|
355
|
+
: "This is an observation of a task started by the human directly in Codex or Claude Code. It is not an AKK Turn and AKK did not send terminal input.",
|
|
356
|
+
eventInstruction,
|
|
357
|
+
"Do not poll files, processes, terminal panes, stdout, or stderr. Use only this structured event.",
|
|
358
|
+
"",
|
|
359
|
+
`[AKK Terminal Watch: ${event}]`,
|
|
360
|
+
`Watch: ${watch.watch_id}`,
|
|
361
|
+
`Terminal: ${watch.terminal.terminal_id}`,
|
|
362
|
+
`Agent: ${watch.agent}`,
|
|
363
|
+
...(reasonCode ? [`Detail: ${reasonCode}`] : []),
|
|
364
|
+
...(completionText
|
|
365
|
+
? ["", "Bounded completion text:", completionText]
|
|
366
|
+
: [])
|
|
367
|
+
].join("\n");
|
|
368
|
+
return createCallbackEnvelope({
|
|
369
|
+
route,
|
|
370
|
+
deliveryId: notification.notification_id,
|
|
371
|
+
idempotencyKey: notification.idempotency_key,
|
|
372
|
+
source: {
|
|
373
|
+
kind: "terminal_watch",
|
|
374
|
+
watch_id: watch.watch_id,
|
|
375
|
+
terminal_id: watch.terminal.terminal_id
|
|
376
|
+
},
|
|
377
|
+
event: {
|
|
378
|
+
id: notification.notification_id,
|
|
379
|
+
type: event,
|
|
380
|
+
body,
|
|
381
|
+
requires_response: true,
|
|
382
|
+
metadata: {
|
|
383
|
+
agent: watch.agent,
|
|
384
|
+
...(reasonCode ? { reason_code: reasonCode } : {}),
|
|
385
|
+
...(completionText ? { completion_text: completionText } : {})
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
});
|
|
389
|
+
}
|
|
390
|
+
/**
|
|
391
|
+
* A predecessor file is validated against its exact historical presentation
|
|
392
|
+
* before this in-memory migration runs. Returning the current deterministic
|
|
393
|
+
* envelope keeps all public validation and every subsequently-saved v3 record
|
|
394
|
+
* strict; merely reading a legacy file does not rewrite Store history.
|
|
395
|
+
*/
|
|
396
|
+
function upgradePredecessorCallbackPresentations(watch) {
|
|
397
|
+
let changed = false;
|
|
398
|
+
const notificationOutbox = watch.notification_outbox.map((notification) => {
|
|
399
|
+
if (notification.callback_route === undefined ||
|
|
400
|
+
notification.callback_envelope === undefined) {
|
|
401
|
+
return notification;
|
|
402
|
+
}
|
|
403
|
+
const route = parseCallbackRoute(notification.callback_route);
|
|
404
|
+
const predecessor = predecessorTerminalWatchCallbackEnvelope(watch, notification, route);
|
|
405
|
+
if (predecessor === undefined ||
|
|
406
|
+
canonicalJson(notification.callback_envelope) !==
|
|
407
|
+
canonicalJson(predecessor)) {
|
|
408
|
+
return notification;
|
|
409
|
+
}
|
|
410
|
+
changed = true;
|
|
411
|
+
return {
|
|
412
|
+
...notification,
|
|
413
|
+
callback_envelope: terminalWatchCallbackEnvelope(watch, notification, route)
|
|
414
|
+
};
|
|
415
|
+
});
|
|
416
|
+
return changed ? { ...watch, notification_outbox: notificationOutbox } : watch;
|
|
417
|
+
}
|
|
310
418
|
export class TerminalWatchConflictError extends Error {
|
|
311
419
|
code = "AKK_TERMINAL_WATCH_CONFLICT";
|
|
312
420
|
watchId;
|
|
@@ -570,6 +678,9 @@ const NOTIFICATION_SHAPES = {
|
|
|
570
678
|
superseded: [0, ["superseded_at"]]
|
|
571
679
|
};
|
|
572
680
|
export function assertTerminalWatch(value, expectedWatchId, options = {}) {
|
|
681
|
+
assertTerminalWatchRecord(value, expectedWatchId, options);
|
|
682
|
+
}
|
|
683
|
+
function assertTerminalWatchRecord(value, expectedWatchId, options) {
|
|
573
684
|
assertStrictRecord(value, "terminal Watch", WATCH_FIELDS);
|
|
574
685
|
if (expectedWatchId !== undefined && value.watch_id !== expectedWatchId) {
|
|
575
686
|
throw new Error(`terminal Watch id ${String(value.watch_id)} does not match ${expectedWatchId}`);
|
|
@@ -642,7 +753,7 @@ export function assertTerminalWatch(value, expectedWatchId, options = {}) {
|
|
|
642
753
|
Date.parse(watch.updated_at)))) {
|
|
643
754
|
throw new Error("terminal Watch settlement cannot be newer than its state");
|
|
644
755
|
}
|
|
645
|
-
assertNotificationOutbox(watch);
|
|
756
|
+
assertNotificationOutbox(watch, options.allowPredecessorCallbackPresentation === true);
|
|
646
757
|
}
|
|
647
758
|
export function saveTerminalWatch(storeDir, watch, options) {
|
|
648
759
|
assertTerminalWatch(watch, undefined, { allowMissingRevision: true });
|
|
@@ -770,11 +881,18 @@ function scanTerminalWatchDirectory(storeDir, isolateInvalidRecord) {
|
|
|
770
881
|
function decodeTerminalWatch(value, expectedWatchId) {
|
|
771
882
|
const sourceVersion = isRecord(value) ? value.version : undefined;
|
|
772
883
|
const normalized = normalizeLegacyTerminalWatch(value);
|
|
773
|
-
|
|
884
|
+
const predecessorPresentation = sourceVersion === 1 || sourceVersion === 2;
|
|
885
|
+
assertTerminalWatchRecord(normalized, expectedWatchId, {
|
|
886
|
+
allowPredecessorCallbackPresentation: predecessorPresentation
|
|
887
|
+
});
|
|
888
|
+
const presentationUpgraded = predecessorPresentation
|
|
889
|
+
? upgradePredecessorCallbackPresentations(normalized)
|
|
890
|
+
: normalized;
|
|
891
|
+
assertTerminalWatch(presentationUpgraded, expectedWatchId);
|
|
774
892
|
const repaired = sourceVersion === 2 ||
|
|
775
893
|
sourceVersion === TERMINAL_WATCH_VERSION
|
|
776
|
-
? repairMisroutedUserExplicitFallbackCallback(
|
|
777
|
-
:
|
|
894
|
+
? repairMisroutedUserExplicitFallbackCallback(presentationUpgraded)
|
|
895
|
+
: presentationUpgraded;
|
|
778
896
|
assertTerminalWatch(repaired, expectedWatchId);
|
|
779
897
|
return repaired;
|
|
780
898
|
}
|
|
@@ -1146,12 +1264,12 @@ function assertSettlement(value, status) {
|
|
|
1146
1264
|
throw new Error("only completed or failed terminal Watches may carry completion output");
|
|
1147
1265
|
}
|
|
1148
1266
|
}
|
|
1149
|
-
function assertNotificationOutbox(watch) {
|
|
1267
|
+
function assertNotificationOutbox(watch, allowPredecessorCallbackPresentation = false) {
|
|
1150
1268
|
const seenIds = new Set();
|
|
1151
1269
|
const seenEvidence = new Set();
|
|
1152
1270
|
let previousCreatedAt = Date.parse(watch.created_at);
|
|
1153
1271
|
for (const notification of watch.notification_outbox) {
|
|
1154
|
-
assertNotification(notification, watch);
|
|
1272
|
+
assertNotification(notification, watch, allowPredecessorCallbackPresentation);
|
|
1155
1273
|
if (seenIds.has(notification.notification_id)) {
|
|
1156
1274
|
throw new Error("terminal Watch notification ids must be unique");
|
|
1157
1275
|
}
|
|
@@ -1182,7 +1300,7 @@ function assertNotificationOutbox(watch) {
|
|
|
1182
1300
|
throw new Error("an active terminal Watch cannot have an outcome notification");
|
|
1183
1301
|
}
|
|
1184
1302
|
}
|
|
1185
|
-
function assertNotification(value, watch) {
|
|
1303
|
+
function assertNotification(value, watch, allowPredecessorCallbackPresentation) {
|
|
1186
1304
|
assertStrictRecord(value, "terminal Watch notification", NOTIFICATION_FIELDS);
|
|
1187
1305
|
const notification = value;
|
|
1188
1306
|
if (notification.kind === "interaction_manual_required") {
|
|
@@ -1199,7 +1317,7 @@ function assertNotification(value, watch) {
|
|
|
1199
1317
|
}
|
|
1200
1318
|
const [minimumAttempts, receiptFields] = NOTIFICATION_SHAPES[notification.status];
|
|
1201
1319
|
assertNotificationShape(value, minimumAttempts, receiptFields);
|
|
1202
|
-
|
|
1320
|
+
parseTerminalWatchNotificationCallbackSnapshot(watch, notification, allowPredecessorCallbackPresentation);
|
|
1203
1321
|
}
|
|
1204
1322
|
export function assertTerminalWatchManualInteractionSummary(value) {
|
|
1205
1323
|
assertStrictRecord(value, "terminal Watch manual interaction", {
|
|
@@ -1330,6 +1448,9 @@ function assertBoundedInteractionText(value, label, maxCharacters) {
|
|
|
1330
1448
|
* fields; a partial or malformed snapshot is never treated as legacy.
|
|
1331
1449
|
*/
|
|
1332
1450
|
export function terminalWatchNotificationCallbackSnapshot(watch, notification) {
|
|
1451
|
+
return parseTerminalWatchNotificationCallbackSnapshot(watch, notification, false);
|
|
1452
|
+
}
|
|
1453
|
+
function parseTerminalWatchNotificationCallbackSnapshot(watch, notification, allowPredecessorCallbackPresentation) {
|
|
1333
1454
|
const hasRoute = Object.hasOwn(notification, "callback_route");
|
|
1334
1455
|
const hasEnvelope = Object.hasOwn(notification, "callback_envelope");
|
|
1335
1456
|
if (hasRoute !== hasEnvelope) {
|
|
@@ -1365,6 +1486,11 @@ export function terminalWatchNotificationCallbackSnapshot(watch, notification) {
|
|
|
1365
1486
|
? "approval_required"
|
|
1366
1487
|
: notification.kind;
|
|
1367
1488
|
const expectedEnvelope = terminalWatchCallbackEnvelope(watch, notification, expectedRoute);
|
|
1489
|
+
const predecessorEnvelope = predecessorTerminalWatchCallbackEnvelope(watch, notification, expectedRoute);
|
|
1490
|
+
const hasKnownPresentation = canonicalJson(envelope) === canonicalJson(expectedEnvelope) ||
|
|
1491
|
+
(allowPredecessorCallbackPresentation &&
|
|
1492
|
+
predecessorEnvelope !== undefined &&
|
|
1493
|
+
canonicalJson(envelope) === canonicalJson(predecessorEnvelope));
|
|
1368
1494
|
const watchRoute = watch.callback_route === undefined
|
|
1369
1495
|
? undefined
|
|
1370
1496
|
: parseCallbackRoute(watch.callback_route);
|
|
@@ -1385,7 +1511,7 @@ export function terminalWatchNotificationCallbackSnapshot(watch, notification) {
|
|
|
1385
1511
|
envelope.event.id !== notification.notification_id ||
|
|
1386
1512
|
envelope.event.type !== expectedEvent ||
|
|
1387
1513
|
envelope.event.requires_response !== true ||
|
|
1388
|
-
|
|
1514
|
+
!hasKnownPresentation) {
|
|
1389
1515
|
throw new Error("terminal Watch notification callback snapshot does not match its immutable identity");
|
|
1390
1516
|
}
|
|
1391
1517
|
return { route, envelope };
|