@timetotest/cli 0.3.1 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/README.md +12 -2
  2. package/dist/bin/ttt.js +0 -6
  3. package/dist/bin/ttt.js.map +1 -1
  4. package/dist/package.json +1 -1
  5. package/dist/src/commands/chat/ChatApp.js +229 -124
  6. package/dist/src/commands/chat/ChatApp.js.map +1 -1
  7. package/dist/src/commands/chat/OnboardingApp.js +13 -6
  8. package/dist/src/commands/chat/OnboardingApp.js.map +1 -1
  9. package/dist/src/commands/chat/components/ChatInput.js +22 -9
  10. package/dist/src/commands/chat/components/ChatInput.js.map +1 -1
  11. package/dist/src/commands/chat/components/ModelPicker.js +62 -0
  12. package/dist/src/commands/chat/components/ModelPicker.js.map +1 -0
  13. package/dist/src/commands/chat/components/TodoPanel.js +71 -0
  14. package/dist/src/commands/chat/components/TodoPanel.js.map +1 -0
  15. package/dist/src/commands/chat/components/ToolCallDisplay.js +45 -28
  16. package/dist/src/commands/chat/components/ToolCallDisplay.js.map +1 -1
  17. package/dist/src/commands/chat/tool-message-matcher.js +20 -0
  18. package/dist/src/commands/chat/tool-message-matcher.js.map +1 -0
  19. package/dist/src/commands/chat-ink.js +200 -341
  20. package/dist/src/commands/chat-ink.js.map +1 -1
  21. package/dist/src/commands/login.js +21 -5
  22. package/dist/src/commands/login.js.map +1 -1
  23. package/dist/src/lib/__tests__/code-mode-integration.test.js +45 -356
  24. package/dist/src/lib/__tests__/code-mode-integration.test.js.map +1 -1
  25. package/dist/src/lib/__tests__/login-auth-flow.test.js +14 -0
  26. package/dist/src/lib/__tests__/login-auth-flow.test.js.map +1 -0
  27. package/dist/src/lib/__tests__/model-picker-window.test.js +20 -0
  28. package/dist/src/lib/__tests__/model-picker-window.test.js.map +1 -0
  29. package/dist/src/lib/__tests__/tool-executor-mode-gating.test.js +46 -0
  30. package/dist/src/lib/__tests__/tool-executor-mode-gating.test.js.map +1 -0
  31. package/dist/src/lib/__tests__/tool-message-matcher.test.js +26 -0
  32. package/dist/src/lib/__tests__/tool-message-matcher.test.js.map +1 -0
  33. package/dist/src/lib/__tests__/ui-browser-integration.test.js +35 -0
  34. package/dist/src/lib/__tests__/ui-browser-integration.test.js.map +1 -0
  35. package/dist/src/lib/agent-orchestrator.js +16 -717
  36. package/dist/src/lib/agent-orchestrator.js.map +1 -1
  37. package/dist/src/lib/backend-loop-client.js +377 -0
  38. package/dist/src/lib/backend-loop-client.js.map +1 -0
  39. package/dist/src/lib/cli-tool-manifest.js +71 -0
  40. package/dist/src/lib/cli-tool-manifest.js.map +1 -0
  41. package/dist/src/lib/config.js +60 -9
  42. package/dist/src/lib/config.js.map +1 -1
  43. package/dist/src/lib/conversation/turns.js +58 -0
  44. package/dist/src/lib/conversation/turns.js.map +1 -0
  45. package/dist/src/lib/events.js +20 -4
  46. package/dist/src/lib/events.js.map +1 -1
  47. package/dist/src/lib/http.js +7 -2
  48. package/dist/src/lib/http.js.map +1 -1
  49. package/dist/src/lib/prompts/templates.js +18 -0
  50. package/dist/src/lib/prompts/templates.js.map +1 -1
  51. package/dist/src/lib/session-manager.js +74 -33
  52. package/dist/src/lib/session-manager.js.map +1 -1
  53. package/dist/src/lib/socket.js +15 -3
  54. package/dist/src/lib/socket.js.map +1 -1
  55. package/dist/src/lib/todo.js +7 -0
  56. package/dist/src/lib/todo.js.map +1 -0
  57. package/dist/src/lib/tool-executor.js +196 -51
  58. package/dist/src/lib/tool-executor.js.map +1 -1
  59. package/dist/src/lib/tui/events.js +10 -9
  60. package/dist/src/lib/tui/events.js.map +1 -1
  61. package/dist/src/lib/tui/ink/components/TimetoTestLogo.js +1 -1
  62. package/dist/src/lib/tui/ink/components/TimetoTestLogo.js.map +1 -1
  63. package/dist/src/lib/utils/json.js +15 -0
  64. package/dist/src/lib/utils/json.js.map +1 -0
  65. package/package.json +1 -1
  66. package/dist/src/commands/report.js +0 -25
  67. package/dist/src/commands/report.js.map +0 -1
  68. package/dist/src/commands/restart.js +0 -17
  69. package/dist/src/commands/restart.js.map +0 -1
  70. package/dist/src/commands/share.js +0 -18
  71. package/dist/src/commands/share.js.map +0 -1
  72. package/dist/src/lib/context-compactor.js +0 -310
  73. package/dist/src/lib/context-compactor.js.map +0 -1
  74. package/dist/src/lib/tool-registry.js +0 -971
  75. package/dist/src/lib/tool-registry.js.map +0 -1
  76. package/dist/src/lib/tool-result-pruner.js +0 -384
  77. package/dist/src/lib/tool-result-pruner.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"code-mode-integration.test.js","sourceRoot":"","sources":["../../../../src/lib/__tests__/code-mode-integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-mode-integration.test.js","sourceRoot":"","sources":["../../../../src/lib/__tests__/code-mode-integration.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { formatAuthFlowError } from "../../commands/login.js";
3
+ describe("formatAuthFlowError", () => {
4
+ it("returns timeout guidance for auth callback timeout", () => {
5
+ const message = formatAuthFlowError(new Error("Timed out waiting for browser authentication"));
6
+ expect(message).toContain("Timed out waiting for browser authentication");
7
+ expect(message).toContain("Keep this terminal open");
8
+ });
9
+ it("returns generic message for unknown errors", () => {
10
+ const message = formatAuthFlowError(new Error("connection reset"));
11
+ expect(message).toBe("connection reset");
12
+ });
13
+ });
14
+ //# sourceMappingURL=login-auth-flow.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login-auth-flow.test.js","sourceRoot":"","sources":["../../../../src/lib/__tests__/login-auth-flow.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAC,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAC,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AAE5D,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,OAAO,GAAG,mBAAmB,CACjC,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAC1D,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,8CAA8C,CAAC,CAAC;QAC1E,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACnE,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { getModelPickerWindow } from "../../commands/chat/components/ModelPicker.js";
3
+ describe("getModelPickerWindow", () => {
4
+ it("anchors to the beginning near top of list", () => {
5
+ const { start, end } = getModelPickerWindow(20, 1, 8);
6
+ expect(start).toBe(0);
7
+ expect(end).toBe(8);
8
+ });
9
+ it("centers selection in middle ranges", () => {
10
+ const { start, end } = getModelPickerWindow(20, 10, 8);
11
+ expect(start).toBe(6);
12
+ expect(end).toBe(14);
13
+ });
14
+ it("anchors to end near bottom of list", () => {
15
+ const { start, end } = getModelPickerWindow(20, 19, 8);
16
+ expect(start).toBe(12);
17
+ expect(end).toBe(20);
18
+ });
19
+ });
20
+ //# sourceMappingURL=model-picker-window.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-picker-window.test.js","sourceRoot":"","sources":["../../../../src/lib/__tests__/model-picker-window.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAC,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAC,oBAAoB,EAAC,MAAM,+CAA+C,CAAC;AAEnF,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,EAAC,KAAK,EAAE,GAAG,EAAC,GAAG,oBAAoB,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,EAAC,KAAK,EAAE,GAAG,EAAC,GAAG,oBAAoB,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,EAAC,KAAK,EAAE,GAAG,EAAC,GAAG,oBAAoB,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { beforeEach, describe, expect, it } from "vitest";
2
+ import { ToolExecutor } from "../tool-executor.js";
3
+ describe("ToolExecutor mode gating", () => {
4
+ let executor;
5
+ beforeEach(() => {
6
+ const context = {
7
+ testingMode: "code",
8
+ codeContext: { workingDirectory: process.cwd() },
9
+ apiContext: {},
10
+ browserContext: {},
11
+ };
12
+ executor = new ToolExecutor(context);
13
+ });
14
+ it("returns structured failure when tool is called in wrong mode", async () => {
15
+ const result = await executor.execute({
16
+ name: "api_request",
17
+ arguments: { method: "GET", url: "https://example.com" },
18
+ });
19
+ expect(result.success).toBe(false);
20
+ expect(String(result.error || "")).toMatch(/only in api mode/i);
21
+ expect(result.current_mode).toBe("code");
22
+ });
23
+ it("switches mode and then unlocks tools for that mode", async () => {
24
+ const switched = await executor.execute({
25
+ name: "set_testing_mode",
26
+ arguments: { mode: "api" },
27
+ });
28
+ expect(switched.success).toBe(true);
29
+ expect(switched.mode).toBe("api");
30
+ const result = await executor.execute({
31
+ name: "build_api_request",
32
+ arguments: { method: "GET", url: "https://example.com", headers: {} },
33
+ });
34
+ expect(result.success).not.toBe(false);
35
+ expect(String(result.error || "")).not.toMatch(/only in api mode/i);
36
+ });
37
+ it("gates browser tools outside ui mode", async () => {
38
+ const result = await executor.execute({
39
+ name: "browser_navigate",
40
+ arguments: { url: "https://google.com" },
41
+ });
42
+ expect(result.success).toBe(false);
43
+ expect(String(result.error || "")).toMatch(/only in ui mode/i);
44
+ });
45
+ });
46
+ //# sourceMappingURL=tool-executor-mode-gating.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-executor-mode-gating.test.js","sourceRoot":"","sources":["../../../../src/lib/__tests__/tool-executor-mode-gating.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAC,MAAM,QAAQ,CAAC;AAExD,OAAO,EAAC,YAAY,EAAwB,MAAM,qBAAqB,CAAC;AAExE,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,IAAI,QAAsB,CAAC;IAE3B,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,OAAO,GAAqB;YAChC,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,EAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG,EAAE,EAAC;YAC9C,UAAU,EAAE,EAAE;YACd,cAAc,EAAE,EAAE;SACnB,CAAC;QACF,QAAQ,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;YACpC,IAAI,EAAE,aAAa;YACnB,SAAS,EAAE,EAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,qBAAqB,EAAC;SACvD,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAChE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;YACtC,IAAI,EAAE,kBAAkB;YACxB,SAAS,EAAE,EAAC,IAAI,EAAE,KAAK,EAAC;SACzB,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAElC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;YACpC,IAAI,EAAE,mBAAmB;YACzB,SAAS,EAAE,EAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,EAAC;SACpE,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;YACpC,IAAI,EAAE,kBAAkB;YACxB,SAAS,EAAE,EAAC,GAAG,EAAE,oBAAoB,EAAC;SACvC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { resolveToolMessageIndex } from "../../commands/chat/tool-message-matcher.js";
3
+ describe("resolveToolMessageIndex", () => {
4
+ it("matches by call id when repeated tools exist", () => {
5
+ const messages = [
6
+ { metadata: { isTool: true, toolName: "run_command", toolCallId: "call-1" } },
7
+ { metadata: { isTool: true, toolName: "run_command", toolCallId: "call-2" } },
8
+ { metadata: { isTool: true, toolName: "run_command", toolCallId: "call-3" } },
9
+ ];
10
+ const index = resolveToolMessageIndex(messages, {
11
+ toolName: "run_command",
12
+ callId: "call-2",
13
+ });
14
+ expect(index).toBe(1);
15
+ });
16
+ it("falls back to latest tool name when call id is missing", () => {
17
+ const messages = [
18
+ { metadata: { isTool: true, toolName: "read_file" } },
19
+ { metadata: { isTool: true, toolName: "grep_search" } },
20
+ { metadata: { isTool: true, toolName: "read_file" } },
21
+ ];
22
+ const index = resolveToolMessageIndex(messages, { toolName: "read_file" });
23
+ expect(index).toBe(2);
24
+ });
25
+ });
26
+ //# sourceMappingURL=tool-message-matcher.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-message-matcher.test.js","sourceRoot":"","sources":["../../../../src/lib/__tests__/tool-message-matcher.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAC,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAC,uBAAuB,EAAC,MAAM,6CAA6C,CAAC;AAEpF,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,QAAQ,GAAG;YACf,EAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAC,EAAC;YACzE,EAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAC,EAAC;YACzE,EAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAC,EAAC;SAC1E,CAAC;QACF,MAAM,KAAK,GAAG,uBAAuB,CAAC,QAAQ,EAAE;YAC9C,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,QAAQ,GAAG;YACf,EAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAC,EAAC;YACjD,EAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAC,EAAC;YACnD,EAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAC,EAAC;SAClD,CAAC;QACF,MAAM,KAAK,GAAG,uBAAuB,CAAC,QAAQ,EAAE,EAAC,QAAQ,EAAE,WAAW,EAAC,CAAC,CAAC;QACzE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { ToolExecutor } from "../tool-executor.js";
3
+ const RUN_UI_INTEGRATION = process.env.RUN_UI_INTEGRATION === "1";
4
+ describe("UI browser integration", () => {
5
+ const runOrSkip = RUN_UI_INTEGRATION ? it : it.skip;
6
+ runOrSkip("starts a real browser session and navigates", async () => {
7
+ const context = {
8
+ testingMode: "ui",
9
+ browserContext: {},
10
+ };
11
+ const executor = new ToolExecutor(context);
12
+ const started = await executor.execute({
13
+ name: "browser_session",
14
+ arguments: { action: "start", start_url: "https://www.google.com" },
15
+ });
16
+ if (!started.success) {
17
+ throw new Error(`browser_session failed: ${started.error || "unknown error"}`);
18
+ }
19
+ try {
20
+ const navigated = await executor.execute({
21
+ name: "browser_navigate",
22
+ arguments: { url: "https://www.google.com" },
23
+ });
24
+ expect(navigated.success).toBe(true);
25
+ }
26
+ finally {
27
+ const stopped = await executor.execute({
28
+ name: "browser_session",
29
+ arguments: { action: "stop" },
30
+ });
31
+ expect(stopped.success).toBe(true);
32
+ }
33
+ }, 120_000);
34
+ });
35
+ //# sourceMappingURL=ui-browser-integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-browser-integration.test.js","sourceRoot":"","sources":["../../../../src/lib/__tests__/ui-browser-integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAC,MAAM,QAAQ,CAAC;AAE5C,OAAO,EAAC,YAAY,EAAwB,MAAM,qBAAqB,CAAC;AAExE,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG,CAAC;AAElE,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,MAAM,SAAS,GAAG,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;IAEpD,SAAS,CACP,6CAA6C,EAC7C,KAAK,IAAI,EAAE;QACT,MAAM,OAAO,GAAqB;YAChC,WAAW,EAAE,IAAI;YACjB,cAAc,EAAE,EAAE;SACnB,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;QAE3C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;YACrC,IAAI,EAAE,iBAAiB;YACvB,SAAS,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAC;SAClE,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;gBACvC,IAAI,EAAE,kBAAkB;gBACxB,SAAS,EAAE,EAAC,GAAG,EAAE,wBAAwB,EAAC;aAC3C,CAAC,CAAC;YAEH,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;gBACrC,IAAI,EAAE,iBAAiB;gBACvB,SAAS,EAAE,EAAC,MAAM,EAAE,MAAM,EAAC;aAC5B,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,EACD,OAAO,CACR,CAAC;AACJ,CAAC,CAAC,CAAC"}