@keyou007/agent-bot 0.1.10 → 0.1.12

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 (121) hide show
  1. package/.env.example +1 -1
  2. package/CHANGELOG.md +25 -0
  3. package/README.md +55 -43
  4. package/README.zh.md +55 -43
  5. package/assets/agent-bot-logo.png +0 -0
  6. package/config.example.yaml +11 -1
  7. package/dist/acp/AcpSessionManager.js +78 -46
  8. package/dist/acp/AcpSessionManager.js.map +1 -1
  9. package/dist/cli/FeishuAppConfiguration.js +1 -1
  10. package/dist/cli/FeishuAppConfiguration.js.map +1 -1
  11. package/dist/cli/FeishuAppRegistration.js +2 -2
  12. package/dist/cli/FeishuAppRegistration.js.map +1 -1
  13. package/dist/cli/Initializer.js +1 -1
  14. package/dist/cli/Initializer.js.map +1 -1
  15. package/dist/cli/ServerStarter.js +7 -2
  16. package/dist/cli/ServerStarter.js.map +1 -1
  17. package/dist/cli/controlProtocol.js.map +1 -1
  18. package/dist/cli/help.js +20 -16
  19. package/dist/cli/help.js.map +1 -1
  20. package/dist/cli/taskGroupOptions.js +95 -0
  21. package/dist/cli/taskGroupOptions.js.map +1 -0
  22. package/dist/cli.js +74 -2
  23. package/dist/cli.js.map +1 -1
  24. package/dist/codex/AppServerConnection.js +15 -1
  25. package/dist/codex/AppServerConnection.js.map +1 -1
  26. package/dist/codex/CodexLocalActivityDetector.js +4 -1
  27. package/dist/codex/CodexLocalActivityDetector.js.map +1 -1
  28. package/dist/codex/CodexProcessManager.js +1 -0
  29. package/dist/codex/CodexProcessManager.js.map +1 -1
  30. package/dist/codex/CodexRuntime.js +112 -11
  31. package/dist/codex/CodexRuntime.js.map +1 -1
  32. package/dist/commands/CommandRouter.js +64 -49
  33. package/dist/commands/CommandRouter.js.map +1 -1
  34. package/dist/config/loadConfig.js +11 -1
  35. package/dist/config/loadConfig.js.map +1 -1
  36. package/dist/config/schema.js +6 -1
  37. package/dist/config/schema.js.map +1 -1
  38. package/dist/console/ConsoleConnector.js +1 -1
  39. package/dist/console/ConsoleConnector.js.map +1 -1
  40. package/dist/console/ConsoleTurnPresenter.js +15 -8
  41. package/dist/console/ConsoleTurnPresenter.js.map +1 -1
  42. package/dist/deprecated-cli.js +5 -0
  43. package/dist/deprecated-cli.js.map +1 -0
  44. package/dist/feishu/CardRenderer.js +350 -15
  45. package/dist/feishu/CardRenderer.js.map +1 -1
  46. package/dist/feishu/FeishuMessageClient.js +51 -5
  47. package/dist/feishu/FeishuMessageClient.js.map +1 -1
  48. package/dist/feishu/FeishuTurnPresenter.js +17 -8
  49. package/dist/feishu/FeishuTurnPresenter.js.map +1 -1
  50. package/dist/feishu/transport.js +1 -1
  51. package/dist/feishu/transport.js.map +1 -1
  52. package/dist/index.js +38 -19
  53. package/dist/index.js.map +1 -1
  54. package/dist/presentation/OutboundRouter.js +2 -2
  55. package/dist/presentation/OutboundRouter.js.map +1 -1
  56. package/dist/presentation/TurnStateReducer.js +2 -1
  57. package/dist/presentation/TurnStateReducer.js.map +1 -1
  58. package/dist/proxy/ProxySessionController.js +665 -225
  59. package/dist/proxy/ProxySessionController.js.map +1 -1
  60. package/dist/runtime/AcpRuntimeAdapter.js +1 -0
  61. package/dist/runtime/AcpRuntimeAdapter.js.map +1 -1
  62. package/dist/runtime/AgentRuntimeRegistry.js +7 -4
  63. package/dist/runtime/AgentRuntimeRegistry.js.map +1 -1
  64. package/dist/runtime/createAgentRuntimeRegistry.js +22 -0
  65. package/dist/runtime/createAgentRuntimeRegistry.js.map +1 -0
  66. package/dist/startup/SessionMetadataHydrator.js +2 -2
  67. package/dist/startup/SessionMetadataHydrator.js.map +1 -1
  68. package/dist/startup/StartupNotifier.js +1 -0
  69. package/dist/startup/StartupNotifier.js.map +1 -1
  70. package/dist/state/StateStore.js +21 -15
  71. package/dist/state/StateStore.js.map +1 -1
  72. package/dist/supervision/SafeRestartScheduler.js +5 -0
  73. package/dist/supervision/SafeRestartScheduler.js.map +1 -1
  74. package/dist/supervision/systemEnvironment.js +129 -0
  75. package/dist/supervision/systemEnvironment.js.map +1 -0
  76. package/dist/supervisor.js +13 -1
  77. package/dist/supervisor.js.map +1 -1
  78. package/docs/technical-reference.md +35 -21
  79. package/docs/technical-reference.zh.md +35 -21
  80. package/npm-shrinkwrap.json +4 -3
  81. package/package.json +4 -2
  82. package/skills/agent-bot/SKILL.md +73 -30
  83. package/src/acp/AcpSessionManager.ts +73 -54
  84. package/src/cli/FeishuAppConfiguration.ts +2 -2
  85. package/src/cli/FeishuAppRegistration.ts +4 -4
  86. package/src/cli/Initializer.ts +2 -2
  87. package/src/cli/ServerStarter.ts +8 -3
  88. package/src/cli/controlProtocol.ts +21 -1
  89. package/src/cli/help.ts +20 -16
  90. package/src/cli/taskGroupOptions.ts +149 -0
  91. package/src/cli.ts +98 -4
  92. package/src/codex/AppServerConnection.ts +21 -1
  93. package/src/codex/CodexLocalActivityDetector.ts +8 -1
  94. package/src/codex/CodexProcessManager.ts +1 -0
  95. package/src/codex/CodexRuntime.ts +137 -15
  96. package/src/commands/CommandRouter.ts +71 -49
  97. package/src/commands/commandTypes.ts +6 -11
  98. package/src/config/loadConfig.ts +11 -1
  99. package/src/config/schema.ts +7 -1
  100. package/src/console/ConsoleConnector.ts +1 -1
  101. package/src/console/ConsoleTurnPresenter.ts +21 -8
  102. package/src/deprecated-cli.ts +9 -0
  103. package/src/feishu/CardRenderer.ts +423 -15
  104. package/src/feishu/FeishuMessageClient.ts +66 -3
  105. package/src/feishu/FeishuTurnPresenter.ts +22 -3
  106. package/src/feishu/transport.ts +1 -1
  107. package/src/index.ts +54 -24
  108. package/src/presentation/OutboundRouter.ts +15 -3
  109. package/src/presentation/TurnStateReducer.ts +2 -0
  110. package/src/presentation/turnViewTypes.ts +1 -0
  111. package/src/proxy/ProxySessionController.ts +870 -228
  112. package/src/runtime/AcpRuntimeAdapter.ts +1 -0
  113. package/src/runtime/AgentRuntimeRegistry.ts +7 -6
  114. package/src/runtime/createAgentRuntimeRegistry.ts +25 -0
  115. package/src/runtime/types.ts +18 -0
  116. package/src/startup/SessionMetadataHydrator.ts +2 -2
  117. package/src/startup/StartupNotifier.ts +1 -0
  118. package/src/state/StateStore.ts +29 -15
  119. package/src/supervision/SafeRestartScheduler.ts +5 -0
  120. package/src/supervision/systemEnvironment.ts +174 -0
  121. package/src/supervisor.ts +12 -1
@@ -1,5 +1,6 @@
1
1
  import { appendGeneratedImageMarkdown } from "../utils/generatedImageMarkdown.js";
2
2
  import { normalizeTaskTitle } from "../utils/taskTitle.js";
3
+ import { AppServerRequestError } from "./AppServerConnection.js";
3
4
  import { mapCodexNotification } from "./CodexEventMapper.js";
4
5
  import { CodexLocalActivityDetector } from "./CodexLocalActivityDetector.js";
5
6
  import { detectProjectlessWorkspace } from "./ProjectlessWorkspace.js";
@@ -11,7 +12,7 @@ const WINDOWS_SCREENSHOT_DEVELOPER_INSTRUCTIONS = [
11
12
  "Never crop a window with DPI-virtualized coordinates from an unaware process or with UI Automation BoundingRectangle coordinates.",
12
13
  "Call Graphics.CopyFromScreen with those physical coordinates and validate that the saved bitmap dimensions exactly equal the selected physical capture bounds.",
13
14
  ].join(" ");
14
- const SESSION_REQUEST_TIMEOUT_MS = 30_000;
15
+ const SESSION_REQUEST_TIMEOUT_MS = 60_000;
15
16
  const CONTROL_REQUEST_TIMEOUT_MS = 10_000;
16
17
  const SYNC_REQUEST_TIMEOUT_MS = 5_000;
17
18
  // A timed-out fork keeps running in App Server and can create an orphan thread.
@@ -29,6 +30,7 @@ export class CodexRuntime {
29
30
  unsubscribeDisconnect;
30
31
  sessionSyncs = new Map();
31
32
  localActivityDetector;
33
+ threadListSortKey = "recency_at";
32
34
  constructor(provider, logger) {
33
35
  this.provider = provider;
34
36
  this.logger = logger;
@@ -45,6 +47,7 @@ export class CodexRuntime {
45
47
  const response = await client.request("thread/start", {
46
48
  cwd: input.cwd,
47
49
  model: input.model,
50
+ ...(input.modelProvider ? { modelProvider: input.modelProvider } : {}),
48
51
  threadSource: "user",
49
52
  ...threadLifecycleParams(input.cwd),
50
53
  ...permissionParams(input.permissionMode),
@@ -67,8 +70,10 @@ export class CodexRuntime {
67
70
  const client = await this.client();
68
71
  const response = await client.request("thread/resume", {
69
72
  threadId: input.remoteSessionId,
73
+ excludeTurns: true,
70
74
  cwd: input.cwd,
71
75
  model: input.model,
76
+ ...(input.modelProvider ? { modelProvider: input.modelProvider } : {}),
72
77
  ...threadLifecycleParams(input.cwd),
73
78
  ...permissionParams(input.permissionMode),
74
79
  }, SESSION_REQUEST_TIMEOUT_MS);
@@ -79,15 +84,29 @@ export class CodexRuntime {
79
84
  }
80
85
  async forkSession(input) {
81
86
  const client = await this.client();
82
- const response = await client.request("thread/fork", {
87
+ const forkParams = {
83
88
  threadId: input.remoteSessionId,
84
89
  lastTurnId: input.lastTurnId,
85
90
  cwd: input.cwd,
86
91
  model: input.model,
92
+ ...(input.modelProvider ? { modelProvider: input.modelProvider } : {}),
87
93
  threadSource: "user",
88
94
  ...threadLifecycleParams(input.cwd),
89
95
  ...permissionParams(input.permissionMode),
90
- }, FORK_REQUEST_TIMEOUT_MS);
96
+ };
97
+ let response;
98
+ try {
99
+ response = await client.request("thread/fork", {
100
+ ...forkParams,
101
+ excludeTurns: true,
102
+ }, FORK_REQUEST_TIMEOUT_MS);
103
+ }
104
+ catch (error) {
105
+ if (!isUnsupportedExcludeTurnsError(error))
106
+ throw error;
107
+ this.logger.warn({ error }, "Codex App Server does not support thread/fork excludeTurns; retrying without it.");
108
+ response = await client.request("thread/fork", forkParams, FORK_REQUEST_TIMEOUT_MS);
109
+ }
91
110
  const requestedTitle = normalizeTaskTitle(input.title);
92
111
  if (requestedTitle) {
93
112
  await client.request("thread/name/set", {
@@ -128,14 +147,17 @@ export class CodexRuntime {
128
147
  }
129
148
  async listRemoteSessions(input = {}) {
130
149
  const client = await this.client();
131
- const response = await client.request("thread/list", {
132
- cursor: input.cursor,
133
- limit: input.limit ?? 20,
134
- sortKey: "recency_at",
135
- sortDirection: "desc",
136
- archived: false,
137
- searchTerm: input.searchTerm,
138
- }, CONTROL_REQUEST_TIMEOUT_MS);
150
+ let response;
151
+ try {
152
+ response = await this.requestThreadList(client, input, this.threadListSortKey);
153
+ }
154
+ catch (error) {
155
+ if (this.threadListSortKey !== "recency_at" || !isUnsupportedRecencySortError(error))
156
+ throw error;
157
+ this.threadListSortKey = "updated_at";
158
+ this.logger.warn({ error }, "App Server does not support thread/list recency_at sorting; retrying with updated_at.");
159
+ response = await this.requestThreadList(client, input, this.threadListSortKey);
160
+ }
139
161
  const sessions = await Promise.all(response.data.map(async (thread) => {
140
162
  const listed = remoteSessionSummary(thread);
141
163
  if (listed.status === "active" || listed.lastTurnStatus === "inProgress")
@@ -156,6 +178,16 @@ export class CodexRuntime {
156
178
  nextCursor: response.nextCursor ?? undefined,
157
179
  };
158
180
  }
181
+ requestThreadList(client, input, sortKey) {
182
+ return client.request("thread/list", {
183
+ cursor: input.cursor,
184
+ limit: input.limit ?? 20,
185
+ sortKey,
186
+ sortDirection: "desc",
187
+ archived: false,
188
+ searchTerm: input.searchTerm,
189
+ }, CONTROL_REQUEST_TIMEOUT_MS);
190
+ }
159
191
  async readRemoteSession(remoteSessionId) {
160
192
  const response = await (await this.client()).request("thread/read", { threadId: remoteSessionId, includeTurns: true }, SYNC_REQUEST_TIMEOUT_MS);
161
193
  const summary = remoteSessionSummary(response.thread);
@@ -257,6 +289,24 @@ export class CodexRuntime {
257
289
  async setPermissionMode(sessionId, mode) {
258
290
  this.requireSession(sessionId).permissionMode = mode;
259
291
  }
292
+ async setExecutionSettings(sessionId, settings) {
293
+ const session = this.requireSession(sessionId);
294
+ const response = await (await this.client()).request("thread/resume", {
295
+ threadId: session.remoteSessionId,
296
+ excludeTurns: true,
297
+ cwd: session.cwd,
298
+ modelProvider: settings.modelProvider,
299
+ model: settings.model,
300
+ ...threadLifecycleParams(session.cwd),
301
+ ...permissionParams(settings.permissionMode),
302
+ }, SESSION_REQUEST_TIMEOUT_MS);
303
+ session.modelProvider = response.modelProvider ?? settings.modelProvider;
304
+ session.model = response.model ?? settings.model;
305
+ session.reasoningEffort = settings.reasoningEffort;
306
+ session.permissionMode = settings.permissionMode;
307
+ session.needsResume = false;
308
+ return session;
309
+ }
260
310
  async respondToApproval(sessionId, requestId, decision) {
261
311
  const pending = this.approvals.get(requestId);
262
312
  if (!pending || pending.sessionId !== sessionId)
@@ -278,6 +328,27 @@ export class CodexRuntime {
278
328
  defaultReasoningEffort: model.defaultReasoningEffort,
279
329
  }));
280
330
  }
331
+ async listModelProviders() {
332
+ const response = await (await this.client()).request("config/read", {}, CONTROL_REQUEST_TIMEOUT_MS);
333
+ const config = response.config ?? {};
334
+ const defaultProvider = stringValue(config.model_provider)?.trim();
335
+ const configuredProviders = isRecord(config.model_providers) ? config.model_providers : {};
336
+ const providers = new Map();
337
+ for (const [id, value] of Object.entries(configuredProviders)) {
338
+ if (!id.trim())
339
+ continue;
340
+ const displayName = isRecord(value) ? stringValue(value.name)?.trim() : undefined;
341
+ providers.set(id, {
342
+ id,
343
+ ...(displayName ? { displayName } : {}),
344
+ ...(id === defaultProvider ? { isDefault: true } : {}),
345
+ });
346
+ }
347
+ if (defaultProvider && !providers.has(defaultProvider)) {
348
+ providers.set(defaultProvider, { id: defaultProvider, isDefault: true });
349
+ }
350
+ return [...providers.values()].sort((left, right) => Number(Boolean(right.isDefault)) - Number(Boolean(left.isDefault)) || left.id.localeCompare(right.id));
351
+ }
281
352
  onEvent(listener) {
282
353
  this.listeners.add(listener);
283
354
  return () => this.listeners.delete(listener);
@@ -509,8 +580,10 @@ export class CodexRuntime {
509
580
  return;
510
581
  await client.request("thread/resume", {
511
582
  threadId: session.remoteSessionId,
583
+ excludeTurns: true,
512
584
  cwd: session.cwd,
513
585
  model: session.model,
586
+ ...(session.modelProvider ? { modelProvider: session.modelProvider } : {}),
514
587
  ...threadLifecycleParams(session.cwd),
515
588
  ...permissionParams(session.permissionMode),
516
589
  }, SESSION_REQUEST_TIMEOUT_MS);
@@ -621,6 +694,7 @@ export class CodexRuntime {
621
694
  title: normalizeTaskTitle(response.thread.name)
622
695
  ?? normalizeTaskTitle(response.thread.preview)
623
696
  ?? input.title,
697
+ modelProvider: input.modelProvider ?? response.modelProvider,
624
698
  model: input.model ?? response.model,
625
699
  reasoningEffort,
626
700
  permissionMode: input.permissionMode,
@@ -725,6 +799,32 @@ function extractGeneratedImagePaths(turn) {
725
799
  function uniqueStrings(values) {
726
800
  return [...new Set(values.map((value) => value.trim()).filter(Boolean))];
727
801
  }
802
+ function isUnsupportedExcludeTurnsError(error) {
803
+ if (!(error instanceof AppServerRequestError) || error.method !== "thread/fork")
804
+ return false;
805
+ const data = typeof error.data === "string"
806
+ ? error.data
807
+ : error.data === undefined
808
+ ? ""
809
+ : JSON.stringify(error.data);
810
+ const details = `${error.serverMessage} ${data}`;
811
+ if (!details.toLowerCase().replaceAll(/[^a-z]/g, "").includes("excludeturns"))
812
+ return false;
813
+ return error.code === -32602
814
+ || /unknown|unrecognized|unexpected|unsupported|not supported|experimental/i.test(details);
815
+ }
816
+ function isUnsupportedRecencySortError(error) {
817
+ if (!(error instanceof AppServerRequestError) || error.method !== "thread/list")
818
+ return false;
819
+ const data = typeof error.data === "string"
820
+ ? error.data
821
+ : error.data === undefined
822
+ ? ""
823
+ : JSON.stringify(error.data);
824
+ const details = `${error.serverMessage} ${data}`;
825
+ return /recency_at/i.test(details)
826
+ && /unknown|unrecognized|unexpected|unsupported|not supported|invalid/i.test(details);
827
+ }
728
828
  function remoteSessionSummary(thread) {
729
829
  const lastTurn = thread.turns?.at(-1);
730
830
  const lastCompletedTurn = [...(thread.turns ?? [])]
@@ -748,6 +848,7 @@ function remoteSessionSummary(thread) {
748
848
  cwd: thread.cwd ?? "",
749
849
  source: codexSourceLabel(thread.source),
750
850
  status,
851
+ modelProvider: thread.modelProvider,
751
852
  createdAt: thread.createdAt,
752
853
  updatedAt: thread.updatedAt,
753
854
  recencyAt: thread.recencyAt ?? undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"CodexRuntime.js","sourceRoot":"","sources":["../../src/codex/CodexRuntime.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAEvE,MAAM,yCAAyC,GAAG;IAChD,mOAAmO;IACnO,gKAAgK;IAChK,gHAAgH;IAChH,mOAAmO;IACnO,mIAAmI;IACnI,gKAAgK;CACjK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAC1C,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAC1C,MAAM,uBAAuB,GAAG,KAAK,CAAC;AACtC,gFAAgF;AAChF,uEAAuE;AACvE,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAkClC,MAAM,OAAO,YAAY;IAYJ,QAAQ;IACR,MAAM;IAZhB,IAAI,GAAG,OAAgB,CAAC;IAChB,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC3C,SAAS,GAAG,IAAI,GAAG,EAAiC,CAAC;IACrD,SAAS,GAAG,IAAI,GAAG,EAA2B,CAAC;IACxD,cAAc,CAAmB;IACjC,WAAW,CAAc;IAChB,qBAAqB,CAAc;IACnC,YAAY,GAAG,IAAI,GAAG,EAAmC,CAAC;IAC1D,qBAAqB,CAA8B;IAEpE,YACmB,QAAiC,EACjC,MAAc;wBADd,QAAQ;sBACR,MAAM;QAEvB,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC;QAC5C,IAAI,SAAS;YAAE,IAAI,CAAC,qBAAqB,GAAG,IAAI,0BAA0B,CAAC,SAAS,CAAC,CAAC;QACtF,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;IAChG,CAAC;IAED,UAAU,CAAC,cAAsB;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAgC;QAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAiB,cAAc,EAAE;YACpE,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,YAAY,EAAE,MAAM;YACpB,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC;YACnC,GAAG,gBAAgB,CAAC,KAAK,CAAC,cAAc,CAAC;SAC1C,EAAE,0BAA0B,CAAC,CAAC;QAC/B,MAAM,cAAc,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE;gBACtC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAC5B,IAAI,EAAE,cAAc;aACrB,EAAE,0BAA0B,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;QACnE,IAAI,cAAc;YAAE,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAgC;QAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAiB,eAAe,EAAE;YACrE,QAAQ,EAAE,KAAK,CAAC,eAAe;YAC/B,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC;YACnC,GAAG,gBAAgB,CAAC,KAAK,CAAC,cAAc,CAAC;SAC1C,EAAE,0BAA0B,CAAC,CAAC;QAC/B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;QACnE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAA8B;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAiB,aAAa,EAAE;YACnE,QAAQ,EAAE,KAAK,CAAC,eAAe;YAC/B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,YAAY,EAAE,MAAM;YACpB,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC;YACnC,GAAG,gBAAgB,CAAC,KAAK,CAAC,cAAc,CAAC;SAC1C,EAAE,uBAAuB,CAAC,CAAC;QAC5B,MAAM,cAAc,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE;gBACtC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAC5B,IAAI,EAAE,cAAc;aACrB,EAAE,0BAA0B,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;QACnE,IAAI,cAAc;YAAE,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAiB,EAAE,MAAqB;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAA2B,YAAY,EAAE;YAC5E,QAAQ,EAAE,OAAO,CAAC,eAAe;YACjC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC;YAC7B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,eAAe;YAC/B,OAAO,EAAE,MAAM;YACf,cAAc,EAAE,OAAO,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY;SAC3E,EAAE,0BAA0B,CAAC,CAAC;QAC/B,IAAI,OAAO,CAAC,YAAY,KAAK,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,eAAuB;QAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAClD,aAAa,EACb,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,EAAE,EAClD,KAAK,CACN,CAAC;QACF,OAAO;YACL,KAAK,EAAE,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;SAC/F,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAAK,GAI1B,EAAE;QACJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CACnC,aAAa,EACb;YACE,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;YACxB,OAAO,EAAE,YAAY;YACrB,aAAa,EAAE,MAAM;YACrB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK,CAAC,UAAU;SAC7B,EACD,0BAA0B,CAC3B,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACpE,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,cAAc,KAAK,YAAY;gBAAE,OAAO,MAAM,CAAC;YACxF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CACjC,aAAa,EACb,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,EAC3C,uBAAuB,CACxB,CAAC;gBACF,OAAO,yBAAyB,CAAC,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAChF,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC,CAAC;QACJ,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7G,OAAO;YACL,QAAQ,EAAE,aAAa;gBACrB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,yBAAyB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;gBAC9E,CAAC,CAAC,QAAQ;YACZ,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,SAAS;SAC7C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,eAAuB;QAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAClD,aAAa,EACb,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,EACjD,uBAAuB,CACxB,CAAC;QACF,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,aAAa,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;QACzF,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,yBAAyB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAClG,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;QACrF,OAAO;YACL,GAAG,aAAa;YAChB,GAAG,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC;SAClC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,eAAuB;QACxD,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAClD,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAC3B,aAAa,EACb,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,EAAE,EAClD,uBAAuB,CACxB;YACD,IAAI,CAAC,qBAAqB,EAAE,aAAa,CAAC,CAAC,eAAe,CAAC,CAAC;SAC7D,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;aAC/C,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,KAAK,eAAe,CAAC,CAAC;QAClE,MAAM,cAAc,GAAG,aAAa,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,QAAQ;eACvE,OAAO,CAAC,cAAc,EAAE,YAAY,CAAC;eACrC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,cAAc,IAAI,cAAc,EAAE,YAAY,CAAC;QACpE,OAAO;YACL,MAAM;YACN,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,SAAiB;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,OAAO,MAAM,eAAe,CAAC;QAC/B,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,eAAe;gBAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAiB,EAAE,MAAc,EAAE,MAAqB;QACtE,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE;YAChD,QAAQ,EAAE,OAAO,CAAC,eAAe;YACjC,cAAc,EAAE,MAAM;YACtB,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC;SAC9B,EAAE,0BAA0B,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAiB,EAAE,MAAc;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,eAAuB,EAAE,MAAc,EAAE,SAAkB;QACnF,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CACjC,gBAAgB,EAChB,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,EACrC,0BAA0B,CAC3B,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,EAC1E,4CAA4C,CAC7C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAiB;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CACjC,gBAAgB,EAChB,EAAE,QAAQ,EAAE,OAAO,CAAC,eAAe,EAAE,EACrC,0BAA0B,CAC3B,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAAiB,EAAE,KAAa;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe;YAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CACjC,iBAAiB,EACjB,EAAE,QAAQ,EAAE,OAAO,CAAC,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,EAC5D,0BAA0B,CAC3B,CAAC;QACF,OAAO,CAAC,KAAK,GAAG,eAAe,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAiB;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CACnC,iBAAiB,EACjB,EAAE,QAAQ,EAAE,OAAO,CAAC,eAAe,EAAE,EACrC,0BAA0B,CAC3B,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,IAAI,SAAS,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,MAAyB;QACxD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CACnC,iBAAiB,EACjB,EAAE,QAAQ,EAAE,OAAO,CAAC,eAAe,EAAE,GAAG,MAAM,EAAE,EAChD,0BAA0B,CAC3B,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAiB;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CACnC,mBAAmB,EACnB,EAAE,QAAQ,EAAE,OAAO,CAAC,eAAe,EAAE,EACrC,0BAA0B,CAC3B,CAAC;QACF,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAAiB,EAAE,KAAa;QAC7C,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,SAAiB,EAAE,MAAc;QACxD,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,SAAiB,EAAE,IAAoB;QAC7D,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,SAAiB,EACjB,SAAiB,EACjB,QAA0B;QAE1B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC3G,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnG,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CASlD,YAAY,EACZ,EAAE,CACH,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC/D,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,yBAAyB,EAAE,CAAC,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAClF,KAAK,EAAE,MAAM,CAAC,eAAe;gBAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC,CAAC;YACH,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;SACrD,CAAC,CAAC,CAAC;IACN,CAAC;IAED,OAAO,CAAC,QAAuC;QAC7C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK;QACH,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACrB,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;QAC/B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAAE,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,MAAM;QAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC/C,IAAI,MAAM,KAAK,IAAI,CAAC,cAAc;YAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,YAAY,CAAC,MAAuB;QAC1C,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACtG,KAAK,MAAM,MAAM,IAAI;YACnB,uCAAuC;YACvC,iCAAiC;YACjC,kCAAkC;SACnC,EAAE,CAAC;YACF,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,MAAc,EAAE,MAAe;QACxD,IAAI,MAAM,KAAK,qBAAqB,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACzD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACjE,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK;gBAAE,OAAO;YAChC,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC;YACxG,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1F,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,uBAAuB,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3D,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACrF,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC;YACxG,IAAI,OAAO,EAAE,YAAY,IAAI,MAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC3D,KAAK,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;oBAC5E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,0CAA0C,CAAC,CAAC;gBACrH,CAAC,CAAC,CAAC;YACL,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,eAAe,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/G,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,IAAI,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,EAAE,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EACpE,gDAAgD,CACjD,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACnC,IAAI,OAAO,CAAC,YAAY,KAAK,MAAM,CAAC,MAAM;gBAAE,OAAO;YACnD,IACE,OAAO,CAAC,YAAY;mBACjB,OAAO,CAAC,mBAAmB,KAAK,SAAS;mBACzC,MAAM,CAAC,SAAS,KAAK,SAAS;mBAC9B,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,mBAAmB,EACjD,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf;oBACE,SAAS,EAAE,OAAO,CAAC,cAAc;oBACjC,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;oBAChD,kBAAkB,EAAE,MAAM,CAAC,MAAM;oBACjC,qBAAqB,EAAE,MAAM,CAAC,SAAS;iBACxC,EACD,kDAAkD,CACnD,CAAC;gBACF,OAAO;YACT,CAAC;YACD,IAAI,OAAO,CAAC,YAAY;gBAAE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;YAC5E,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YACpE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,EAAE,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EACpH,yEAAyE,CAC1E,CAAC;YACF,KAAK,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBAC5E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,EAAE,sDAAsD,CAAC,CAAC;YACzH,CAAC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC;QACzC,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,qBAAqB;gBAC3B,SAAS;gBACT,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;aAC1C,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YACjD,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACzD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACzC,IAAI,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,YAAY,EAAE,CAAC;gBAC9D,IAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,UAAU;oBAChB,SAAS;oBACT,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,UAAU,EAAE,cAAc,MAAM,CAAC,MAAM,EAAE;oBACzC,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,UAAU;gBAChB,SAAS;gBACT,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7F,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAClC,IACE,MAAM,CAAC,KAAK,KAAK,SAAS;mBACvB,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,kBAAkB;mBACvC,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW;mBAClC,MAAM,CAAC,IAAI,CAAC,SAAS,EACxB,CAAC;gBACD,OAAO,CAAC,mBAAmB,GAAG,aAAa,CAAC,CAAC,GAAG,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACvG,CAAC;YACD,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc;gBAClE,SAAS;gBACT,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,mBAAmB;gBACzB,SAAS;gBACT,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACtC,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;YACjC,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;YACxC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3C,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1E,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACtC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,IAAI,oBAAoB,EAAE,CAAC,CAAC;YACtH,CAAC;iBAAM,CAAC;gBACN,MAAM,aAAa,GAAG,4BAA4B,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;gBACnG,IAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,gBAAgB;oBACtB,SAAS;oBACT,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,aAAa;oBACb,UAAU,EAAE,MAAM,CAAC,UAAU;iBAC9B,CAAC,CAAC;YACL,CAAC;YACD,OAAO,CAAC,mBAAmB,GAAG,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,MAAe,EAAE,EAAmB;QACzD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC;QACxG,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QACzE,IAAI,OAAO,CAAC,cAAc,KAAK,MAAM;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtF,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAiC,CAAC,OAAO,EAAE,EAAE;YACvE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,oBAAoB;YAC1B,SAAS,EAAE,OAAO,CAAC,cAAc;YACjC,MAAM;YACN,OAAO,EAAE;gBACP,EAAE,EAAE,SAAS;gBACb,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,wBAAwB;gBAC9D,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;gBACpC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;gBAClC,OAAO,EAAE;oBACP,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE;oBAC/B,EAAE,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE;oBAC1C,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;oBAC9B,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE;iBAChC;aACF;SACF,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,KAAgC,EAChC,QAAwB;QAExB,IAAI,KAAK,CAAC,eAAe;YAAE,OAAO,KAAK,CAAC,eAAe,CAAC;QACxD,IAAI,QAAQ,CAAC,eAAe;YAAE,OAAO,QAAQ,CAAC,eAAe,CAAC;QAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,sBAAsB;eAClE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,sBAAsB,CAAC;IACrE,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,OAAqB,EAAE,MAAuB;QAC/E,IAAI,CAAC,OAAO,CAAC,WAAW;YAAE,OAAO;QACjC,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE;YACpC,QAAQ,EAAE,OAAO,CAAC,eAAe;YACjC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC;YACrC,GAAG,gBAAgB,CAAC,OAAO,CAAC,cAAc,CAAC;SAC5C,EAAE,0BAA0B,CAAC,CAAC;QAC/B,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,SAAiB;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAClD,aAAa,EACb,EAAE,QAAQ,EAAE,OAAO,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,EACzD,uBAAuB,CACxB,CAAC;QACF,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACvD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,uBAAuB,CAAC,OAAqB,EAAE,MAAoC;QACzF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,gBAAgB,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC;QAC3F,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QAE1C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,IAAI,gBAAgB;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACpG,OAAO;QACT,CAAC;QAED,IAAI,gBAAgB,EAAE,EAAE,KAAK,YAAY;YAAE,OAAO;QAClD,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC9E,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrC,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;gBACjC,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;gBACxC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;gBAC9B,IAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,aAAa;oBACnB,SAAS,EAAE,OAAO,CAAC,cAAc;oBACjC,MAAM,EAAE,YAAY;oBACpB,OAAO,EAAE,+DAA+D;iBACzE,CAAC,CAAC;YACL,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,EAAE,KAAK,YAAY,EAAE,CAAC;YAC/B,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAEO,SAAS,CAAC,OAAqB,EAAE,MAAc,EAAE,SAAiB;QACxE,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC;QAC9B,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACxC,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;QACvB,OAAO,CAAC,mBAAmB,GAAG,EAAE,CAAC;QACjC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5F,CAAC;IAEO,aAAa,CAAC,OAAqB,EAAE,MAAc;QACzD,IAAI,OAAO,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;YACpC,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;YACjC,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;QAC1C,CAAC;QACD,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;IACnF,CAAC;IAEO,kBAAkB,CAAC,OAAqB,EAAE,IAAuB;QACvE,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC,EAAE;YAAE,OAAO;QAC7C,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;QACjC,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACxC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1F,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,aAAa;gBACnB,SAAS,EAAE,OAAO,CAAC,cAAc;gBACjC,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,oBAAoB;aACrD,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,MAAM,mBAAmB,GAAG,aAAa,CAAC;YACxC,GAAG,OAAO,CAAC,mBAAmB;YAC9B,GAAG,0BAA0B,CAAC,IAAI,CAAC;SACpC,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,4BAA4B,CAChD,oBAAoB,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,SAAS,EAC/C,mBAAmB,CACpB,CAAC;QACF,OAAO,CAAC,SAAS,GAAG,aAAa,CAAC;QAClC,OAAO,CAAC,mBAAmB,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,gBAAgB;YACtB,SAAS,EAAE,OAAO,CAAC,cAAc;YACjC,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,aAAa;YACb,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,SAAS;SACzC,CAAC,CAAC;IACL,CAAC;IAEO,WAAW,CACjB,KAAsF,EACtF,QAAwB,EACxB,eAAwB;QAExB,OAAO;YACL,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE;YACnC,WAAW,EAAE,OAAO;YACpB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,KAAK,EAAE,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;mBAC1C,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;mBAC3C,KAAK,CAAC,KAAK;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK;YACpC,eAAe;YACf,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,YAAY,EAAE,cAAc,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;YACtE,mBAAmB,EAAE,SAAS;YAC9B,eAAe,EAAE,IAAI,GAAG,CACtB,gBAAgB,IAAI,KAAK;mBACtB,KAAK,CAAC,UAAU;mBAChB,KAAK,CAAC,cAAc;mBACpB,KAAK,CAAC,cAAc,KAAK,SAAS;gBACnC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;gBACpB,CAAC,CAAC,EAAE,CACP;YACD,SAAS,EAAE,EAAE;YACb,mBAAmB,EAAE,EAAE;YACvB,aAAa,EAAE,IAAI,GAAG,EAAE;YACxB,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,SAAiB;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,SAAS,EAAE,CAAC,CAAC;QACrE,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,iBAAiB,CAAC,SAAiB,EAAE,MAAc;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,YAAY,KAAK,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,EAAE,CAAC,CAAC;QAClG,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,IAAI,CAAC,KAAmB;QAC9B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS;YAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;IAEO,gBAAgB,CAAC,KAAY;QACnC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;YAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;YACpC,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;YACjC,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;YACxC,OAAO,CAAC,mBAAmB,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,aAAa;gBACnB,SAAS,EAAE,OAAO,CAAC,cAAc;gBACjC,MAAM;gBACN,OAAO,EAAE,kCAAkC,KAAK,CAAC,OAAO,EAAE;aAC3D,CAAC,CAAC;QACL,CAAC;QACD,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAClD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;CACF;AA6CD,SAAS,gBAAgB,CAAC,IAAoB;IAC5C,OAAO,IAAI,KAAK,MAAM;QACpB,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE;QAC5D,CAAC,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;AACnE,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAW;IAGxC,MAAM,WAAW,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;IACpD,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,qBAAqB,EAAE,yCAAyC,EAAE,CAAC;IAC9F,MAAM,uBAAuB,GAAG;QAC9B,sBAAsB;QACtB,kGAAkG;QAClG,6FAA6F;QAC7F,kGAAkG,WAAW,CAAC,eAAe,mEAAmE;QAChM,oFAAoF,WAAW,CAAC,eAAe,GAAG;QAClH,8EAA8E;KAC/E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO;QACL,qBAAqB,EAAE,GAAG,yCAAyC,OAAO,uBAAuB,EAAE;KACpG,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,aAAa,CAAC,IAAuB;IAC5C,OAAO,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAClF,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAuB;IACnD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CACxC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAC5F,CAAC;IACF,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,cAAc,CAAC,CAAC;IAC/E,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAK,CAAC,IAAI,EAAE,CAAC;SAChC,IAAI,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAuB;IACzD,OAAO,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACvD,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrG,CAAC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAAC,MAAgB;IACrC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,oBAAoB,CAAC,MAA2B;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,iBAAiB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;SAChD,OAAO,EAAE;SACT,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvD,6EAA6E;IAC7E,2EAA2E;IAC3E,8EAA8E;IAC9E,MAAM,cAAc,GAAG,QAAQ,EAAE,MAAM,KAAK,YAAY,IAAI,MAAM,KAAK,QAAQ;QAC7E,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC;IACrB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;SAC1C,OAAO,EAAE;SACT,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACnF,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC;QAC5E,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC;QAC3C,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,EAAE;QACrB,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC;QACvC,MAAM;QACN,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,SAAS;QACxC,UAAU,EAAE,QAAQ,EAAE,EAAE;QACxB,mBAAmB,EAAE,iBAAiB,EAAE,EAAE;QAC1C,cAAc;QACd,YAAY,EAAE,QAAQ;QACtB,aAAa,EAAE,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,YAAY;YACzD,CAAC,CAAC,4BAA4B,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,0BAA0B,CAAC,QAAQ,CAAC,CAAC,IAAI,SAAS;YACjH,CAAC,CAAC,SAAS;QACb,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO;QACnC,iBAAiB,EAAE,UAAU,EAAE,KAAK;QACpC,0BAA0B,EAAE,UAAU,EAAE,SAAS;QACjD,uBAAuB,EAAE,UAAU,EAAE,MAAM;QAC3C,wBAAwB,EAAE,UAAU,EAAE,OAAO;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAuB;IAMjD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7E,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU;YAAE,MAAM,IAAI,CAAC,CAAC;aACnE,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,CAAC;;YAC5E,SAAS,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,cAAc,CAAC,IAAwB;IAC9C,OAAO,IAAI,KAAK,kBAAkB;WAC7B,IAAI,KAAK,YAAY;WACrB,IAAI,KAAK,aAAa;WACtB,IAAI,KAAK,iBAAiB;WAC1B,IAAI,KAAK,WAAW;WACpB,IAAI,KAAK,WAAW;WACpB,IAAI,KAAK,iBAAiB,CAAC;AAClC,CAAC;AAED,SAAS,yBAAyB,CAChC,MAA4B,EAC5B,SAA+B;IAE/B,OAAO;QACL,GAAG,MAAM;QACT,GAAG,SAAS;QACZ,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK;QACtC,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO;QAC5C,GAAG,EAAE,SAAS,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG;QAChC,MAAM,EAAE,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM;QACzE,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS;QAClD,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS;QAClD,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS;QAClD,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY;QAC3D,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa;QAC9D,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS;KACnD,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,OAA6B,EAC7B,aAA8C;IAE9C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,OAAO,OAAO,CAAC;IACnD,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrD,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,cAAc,KAAK,YAAY,CAAC;WACvE,CAAC,CAAC,cAAc,IAAI,OAAO,CAAC,UAAU,KAAK,cAAc,CAAC;QAAE,OAAO,OAAO,CAAC;IAChF,OAAO;QACL,GAAG,OAAO;QACV,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,cAAc,IAAI,OAAO,CAAC,UAAU;QAChD,cAAc,EAAE,YAAY;QAC5B,YAAY,EAAE,SAAS;QACvB,aAAa,EAAE,SAAS;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,MAAqB;IAC3C,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACtF,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,EAAE;KAC9C,CAAC;IACF,OAAO;QACL,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,GAAG,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;KAC5F,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAyB;IACnD,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACxC,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACpC,IAAI,KAAK,KAAK,aAAa;QAAE,OAAO,OAAO,CAAC;IAC5C,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAe;IACvC,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC;QAC5D,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,UAAU,CAAC;IACvD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"CodexRuntime.js","sourceRoot":"","sources":["../../src/codex/CodexRuntime.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,15 @@
1
1
  const COMMAND_NAMES = [
2
2
  "agent",
3
- "agents",
4
- "ask",
5
3
  "fork",
6
4
  "forkgroup",
7
5
  "goal",
8
6
  "help",
9
- "mode",
10
7
  "model",
11
- "modes",
12
8
  "new",
13
9
  "newgroup",
14
10
  "nosteer",
15
11
  "permissions",
12
+ "provider",
16
13
  "queue",
17
14
  "restart",
18
15
  "sessions",
@@ -21,13 +18,13 @@ const COMMAND_NAMES = [
21
18
  "switch",
22
19
  "thinking",
23
20
  "title",
24
- "use",
25
21
  ];
26
22
  const COMMAND_INITIALISMS = {
27
23
  forkgroup: "fg",
28
24
  newgroup: "ng",
29
25
  nosteer: "ns",
30
26
  };
27
+ const DISABLED_COMMAND_NAMES = new Set(["mode", "modes"]);
31
28
  export class CommandRouter {
32
29
  parse(text) {
33
30
  const trimmed = text.trim();
@@ -43,27 +40,18 @@ export class CommandRouter {
43
40
  const [rawCommand, ...args] = splitArgs(trimmed);
44
41
  const command = resolveCommandName(rawCommand);
45
42
  switch (command) {
46
- case "agents":
47
- return { type: "agent" };
48
43
  case "new":
49
44
  return parseNewCommand(args);
50
45
  case "newgroup":
51
46
  return parseNewGroupCommand(args);
52
47
  case "forkgroup":
53
- return {
54
- type: "forkgroup",
55
- title: args.join(" ").trim() || undefined,
56
- };
48
+ return parseForkGroupCommand(args);
57
49
  case "fork":
58
- if (args.length > 1)
59
- throw new Error("/fork 只接受一个可选的任务序号或任务 ID。");
60
- return args[0] ? { type: "fork", sessionId: args[0] } : { type: "fork" };
50
+ return parseForkCommand(args);
61
51
  case "title":
62
52
  if (args.length === 0)
63
53
  throw new Error("请输入新标题,例如:/title 修复会话列表。");
64
54
  return { type: "title", title: args.join(" ") };
65
- case "ask":
66
- return { type: "ask", text: trimmed.slice(rawCommand.length).trim() };
67
55
  case "queue":
68
56
  case "nosteer": {
69
57
  const prompt = trimmed.slice(rawCommand.length).trim();
@@ -77,8 +65,6 @@ export class CommandRouter {
77
65
  return args[0] ? { type: "switch", sessionId: args[0] } : { type: "switch" };
78
66
  case "agent":
79
67
  return args[0] ? { type: "agent", agent: args[0] } : { type: "agent" };
80
- case "use":
81
- return requireArg(args[0], "agent name", (agent) => ({ type: "use", agent, cwd: args[1] }));
82
68
  case "stop":
83
69
  return { type: "stop" };
84
70
  case "status":
@@ -101,22 +87,19 @@ export class CommandRouter {
101
87
  return { type: "goal", action: "set", objective: args.join(" ") };
102
88
  }
103
89
  case "restart":
104
- return { type: "restart" };
105
- case "modes":
106
- return { type: "modes" };
107
- case "mode":
108
- return requireArg(args[0], "mode value", (value) => ({ type: "mode", value }));
90
+ if (args.length === 0)
91
+ return { type: "restart" };
92
+ if (args.length === 1 && args[0] === "--force")
93
+ return { type: "restart", force: true };
94
+ throw new Error("/restart 只接受一个可选的 --force 参数。");
109
95
  case "model":
110
- return { type: "model", model: args[0] };
96
+ return settingsCommand("/model", args, { type: "model" });
97
+ case "provider":
98
+ return settingsCommand("/provider", args, { type: "provider" });
111
99
  case "thinking":
112
- return { type: "thinking", effort: args[0] };
113
- case "permissions": {
114
- const mode = args[0];
115
- if (mode !== undefined && mode !== "auto" && mode !== "confirm") {
116
- throw new Error("权限模式只能是 auto 或 confirm。");
117
- }
118
- return { type: "permissions", mode };
119
- }
100
+ return settingsCommand("/thinking", args, { type: "thinking" });
101
+ case "permissions":
102
+ return settingsCommand("/permissions", args, { type: "permissions" });
120
103
  case "help":
121
104
  return { type: "help" };
122
105
  }
@@ -126,6 +109,8 @@ function resolveCommandName(rawCommand) {
126
109
  const input = rawCommand.slice(1).toLowerCase();
127
110
  if (!input)
128
111
  throw unknownCommand(rawCommand);
112
+ if (DISABLED_COMMAND_NAMES.has(input))
113
+ throw unknownCommand(rawCommand);
129
114
  const exact = COMMAND_NAMES.find((command) => command === input);
130
115
  if (exact)
131
116
  return exact;
@@ -140,13 +125,31 @@ function resolveCommandName(rawCommand) {
140
125
  function unknownCommand(rawCommand) {
141
126
  return new Error(`未知命令:${rawCommand}。发送 /help 查看可用命令。`);
142
127
  }
143
- function requireArg(value, name, create) {
144
- if (!value) {
145
- throw new Error(`Missing ${name}.`);
128
+ function settingsCommand(name, args, command) {
129
+ if (args.length > 0) {
130
+ throw new Error(`${name} 不接受参数,请在设置卡片中完成选择。`);
146
131
  }
147
- return create(value);
132
+ return command;
148
133
  }
149
134
  function parseNewCommand(args) {
135
+ const options = parseNewTaskOptions("/new", args, "工作目录", "D:\\dev\\project");
136
+ return {
137
+ type: "new",
138
+ title: options.title,
139
+ cwd: options.cwd,
140
+ ...(options.projectless ? { projectless: true } : {}),
141
+ };
142
+ }
143
+ function parseNewGroupCommand(args) {
144
+ const options = parseNewTaskOptions("/newgroup", args, "项目目录", "~/dev/project");
145
+ return {
146
+ type: "newgroup",
147
+ title: options.title,
148
+ ...(options.cwd === undefined ? {} : { cwd: options.cwd }),
149
+ ...(options.projectless ? { projectless: true } : {}),
150
+ };
151
+ }
152
+ function parseNewTaskOptions(commandName, args, directoryLabel, exampleDirectory) {
150
153
  const titleParts = [];
151
154
  let cwd;
152
155
  let projectless = false;
@@ -154,9 +157,9 @@ function parseNewCommand(args) {
154
157
  const argument = args[index];
155
158
  if (argument === "--nodir") {
156
159
  if (projectless)
157
- throw new Error("/new 只能指定一次 --nodir。");
160
+ throw new Error(`${commandName} 只能指定一次 --nodir。`);
158
161
  if (cwd !== undefined)
159
- throw new Error("/new 的 --dir 和 --nodir 不能同时使用。");
162
+ throw new Error(`${commandName} 的 --dir 和 --nodir 不能同时使用。`);
160
163
  projectless = true;
161
164
  continue;
162
165
  }
@@ -165,32 +168,44 @@ function parseNewCommand(args) {
165
168
  continue;
166
169
  }
167
170
  if (projectless)
168
- throw new Error("/new 的 --dir 和 --nodir 不能同时使用。");
171
+ throw new Error(`${commandName} 的 --dir 和 --nodir 不能同时使用。`);
169
172
  if (cwd !== undefined)
170
- throw new Error("/new 只能指定一次 --dir。");
173
+ throw new Error(`${commandName} 只能指定一次 --dir。`);
171
174
  const directory = args[index + 1];
172
- if (!directory || directory === "--dir") {
173
- throw new Error("请在 --dir 后指定工作目录,例如:/new 修复会话列表 --dir D:\\dev\\project。");
175
+ if (!directory || directory === "--dir" || directory === "--nodir") {
176
+ throw new Error(`请在 --dir 后指定${directoryLabel},例如:${commandName} 修复会话列表 --dir ${exampleDirectory}。`);
174
177
  }
175
178
  cwd = directory;
176
179
  index += 1;
177
180
  }
178
181
  return {
179
- type: "new",
180
182
  title: titleParts.join(" ").trim() || undefined,
181
183
  cwd,
182
- ...(projectless ? { projectless: true } : {}),
184
+ projectless,
183
185
  };
184
186
  }
185
- function parseNewGroupCommand(args) {
186
- if (args.includes("--dir")) {
187
- throw new Error("/newgroup 只创建飞书群,不支持 --dir;请在新群中使用 /new --dir <cwd> 创建任务。");
188
- }
187
+ function parseForkCommand(args) {
188
+ rejectOptions("/fork", args);
189
+ if (args.length > 1)
190
+ throw new Error("/fork 只接受一个可选的任务序号或任务 ID。");
189
191
  return {
190
- type: "newgroup",
192
+ type: "fork",
193
+ ...(args[0] ? { sessionId: args[0] } : {}),
194
+ };
195
+ }
196
+ function parseForkGroupCommand(args) {
197
+ rejectOptions("/forkgroup", args);
198
+ return {
199
+ type: "forkgroup",
191
200
  title: args.join(" ").trim() || undefined,
192
201
  };
193
202
  }
203
+ function rejectOptions(command, args) {
204
+ for (const argument of args) {
205
+ if (argument.startsWith("--"))
206
+ throw new Error(`${command} 不支持参数:${argument}。`);
207
+ }
208
+ }
194
209
  function splitArgs(input) {
195
210
  const args = [];
196
211
  let current = "";