@keyou007/agent-bot 0.1.6 → 0.1.7

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 CHANGED
@@ -6,6 +6,10 @@ The project follows [Semantic Versioning](https://semver.org/).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.1.7] - 2026-07-31
10
+
11
+ - Automatically wait up to five minutes for optional Lark configuration during `init`, with `Y` as the sole option to skip and continue.
12
+
9
13
  ## [0.1.6] - 2026-07-31
10
14
 
11
15
  - Prevent `init --reset` from reusing credentials loaded from the Profile before its `.env` was backed up.
package/README.md CHANGED
@@ -49,7 +49,7 @@ Follow the displayed link or scan the QR code to create and authorize the Feishu
49
49
 
50
50
  Only a complete app ID and secret saved locally count as a successful bot creation. If initialization is interrupted before both credentials are saved, rerunning `agent-bot init` creates a new bot. If credentials were saved, initialization resumes by auditing that bot's remote permissions and subscriptions.
51
51
 
52
- Missing optional permissions do not block initialization. Agent Bot reports which features may be unavailable.
52
+ When optional permissions or subscriptions are missing, Agent Bot first shows their QR code and authorization link, then immediately waits up to five minutes for them to become active. The terminal offers only one choice: enter `Y` to skip optional authorization and continue. Otherwise, complete authorization in the browser while Agent Bot waits. Optional authorization failures or timeouts do not block startup, and Agent Bot reports which features may be unavailable.
53
53
 
54
54
  | Option | Purpose |
55
55
  | ---------------------- | ----------------------------------- |
package/README.zh.md CHANGED
@@ -49,7 +49,7 @@ agent-bot init
49
49
 
50
50
  只有 App ID 和 App Secret 都已保存到本地才视为机器人创建成功。如果初始化在完整凭据保存前中断,再次运行 `agent-bot init` 会创建新机器人;如果凭据已经保存,则会继续检查该机器人的远端权限和订阅。
51
51
 
52
- 非核心权限缺失不会阻塞初始化,Agent Bot 会提示可能无法使用的功能。
52
+ 缺少非核心权限或订阅时,Agent Bot 会先显示二维码和授权链接,然后立即等待最多 5 分钟使配置生效。终端只提供一个选项:输入 `Y` 跳过可选授权并继续;否则直接在浏览器中完成授权,Agent Bot 会持续等待。可选授权失败或超时不会阻止启动,Agent Bot 会提示可能无法使用的功能。
53
53
 
54
54
  | 参数 | 作用 |
55
55
  | ---------------------- | ------------------------- |
@@ -4,6 +4,7 @@ const TENANT_TOKEN_PATH = "/open-apis/auth/v3/tenant_access_token/internal";
4
4
  const APPLICATION_PATH_PREFIX = "/open-apis/application/v6/applications";
5
5
  const DEFAULT_POLL_INTERVAL_MS = 5_000;
6
6
  const DEFAULT_COMPLETION_TIMEOUT_MS = 10 * 60_000;
7
+ const DEFAULT_OPTIONAL_COMPLETION_TIMEOUT_MS = 5 * 60_000;
7
8
  const REQUEST_TIMEOUT_MS = 30_000;
8
9
  const REQUIRED_SCOPE_REQUIREMENTS = [
9
10
  {
@@ -68,6 +69,8 @@ export async function ensureFeishuAppConfiguration(credentials, options = {}) {
68
69
  const sleep = options.sleep ?? delay;
69
70
  const pollIntervalMs = positiveInteger(options.pollIntervalMs) ?? DEFAULT_POLL_INTERVAL_MS;
70
71
  const timeoutMs = positiveInteger(options.timeoutMs) ?? DEFAULT_COMPLETION_TIMEOUT_MS;
72
+ const optionalTimeoutMs = positiveInteger(options.optionalTimeoutMs)
73
+ ?? DEFAULT_OPTIONAL_COMPLETION_TIMEOUT_MS;
71
74
  let configuration;
72
75
  try {
73
76
  configuration = await readFeishuAppConfiguration(credentials, fetchImpl, options.signal);
@@ -88,13 +91,7 @@ export async function ensureFeishuAppConfiguration(credentials, options = {}) {
88
91
  }
89
92
  const coreMissing = coreMissingFeishuAppConfiguration(missing);
90
93
  if (!hasMissingConfiguration(coreMissing)) {
91
- await requestMissingFeishuConfiguration(credentials.appId, missing, false, options.onVerification);
92
- return {
93
- status: "partial",
94
- configuration,
95
- added: emptyConfiguration(),
96
- remaining: missing,
97
- };
94
+ return completeOptionalFeishuConfiguration(credentials, configuration, missing, fetchImpl, sleep, pollIntervalMs, optionalTimeoutMs, options);
98
95
  }
99
96
  await requestMissingFeishuConfiguration(credentials.appId, coreMissing, true, options.onVerification);
100
97
  let remainingMs = timeoutMs;
@@ -107,15 +104,7 @@ export async function ensureFeishuAppConfiguration(credentials, options = {}) {
107
104
  configuration = await readFeishuAppConfiguration(credentials, fetchImpl, options.signal);
108
105
  const remaining = missingFeishuAppConfiguration(configuration);
109
106
  if (!hasMissingConfiguration(coreMissingFeishuAppConfiguration(remaining))) {
110
- if (hasMissingConfiguration(remaining)) {
111
- await requestMissingFeishuConfiguration(credentials.appId, remaining, false, options.onVerification);
112
- }
113
- return {
114
- status: hasMissingConfiguration(remaining) ? "partial" : "updated",
115
- configuration,
116
- added: resolvedMissingConfiguration(missing, remaining),
117
- remaining,
118
- };
107
+ return completeOptionalFeishuConfiguration(credentials, configuration, missing, fetchImpl, sleep, pollIntervalMs, optionalTimeoutMs, options);
119
108
  }
120
109
  lastError = undefined;
121
110
  }
@@ -132,6 +121,70 @@ async function requestMissingFeishuConfiguration(appId, missing, blocking, onVer
132
121
  const verificationUrl = buildFeishuConfigurationUrl(appId, missing);
133
122
  await onVerification?.({ verificationUrl, missing, blocking });
134
123
  }
124
+ async function completeOptionalFeishuConfiguration(credentials, initialConfiguration, initialMissing, fetchImpl, sleep, pollIntervalMs, timeoutMs, options) {
125
+ let configuration = initialConfiguration;
126
+ let remaining = missingFeishuAppConfiguration(configuration);
127
+ if (hasMissingConfiguration(remaining)) {
128
+ await requestMissingFeishuConfiguration(credentials.appId, remaining, false, options.onVerification);
129
+ if (!options.optionalSkipSignal?.aborted) {
130
+ const completed = await waitForOptionalFeishuConfiguration(credentials, configuration, fetchImpl, sleep, pollIntervalMs, timeoutMs, options.signal, options.optionalSkipSignal);
131
+ configuration = completed.configuration;
132
+ remaining = completed.remaining;
133
+ }
134
+ }
135
+ return {
136
+ status: hasMissingConfiguration(remaining) ? "partial" : "updated",
137
+ configuration,
138
+ added: resolvedMissingConfiguration(initialMissing, remaining),
139
+ remaining,
140
+ };
141
+ }
142
+ async function waitForOptionalFeishuConfiguration(credentials, initialConfiguration, fetchImpl, sleep, pollIntervalMs, timeoutMs, signal, optionalSkipSignal) {
143
+ let configuration = initialConfiguration;
144
+ let remaining = missingFeishuAppConfiguration(configuration);
145
+ let remainingMs = timeoutMs;
146
+ while (remainingMs > 0 && hasMissingConfiguration(remaining)) {
147
+ if (optionalSkipSignal?.aborted)
148
+ break;
149
+ const waitMs = Math.min(pollIntervalMs, remainingMs);
150
+ const waitResult = await sleepWithOptionalSkip(sleep, waitMs, signal, optionalSkipSignal);
151
+ if (waitResult === "skipped")
152
+ break;
153
+ remainingMs -= waitMs;
154
+ try {
155
+ configuration = await readFeishuAppConfiguration(credentials, fetchImpl, signal);
156
+ remaining = missingFeishuAppConfiguration(configuration);
157
+ }
158
+ catch (error) {
159
+ if (signal?.aborted)
160
+ throw abortError(signal);
161
+ }
162
+ }
163
+ return { configuration, remaining };
164
+ }
165
+ async function sleepWithOptionalSkip(sleep, milliseconds, signal, optionalSkipSignal) {
166
+ if (!optionalSkipSignal) {
167
+ await sleepWithAbort(sleep, milliseconds, signal);
168
+ return "elapsed";
169
+ }
170
+ if (optionalSkipSignal.aborted)
171
+ return "skipped";
172
+ let onSkip;
173
+ const skipped = new Promise((resolve) => {
174
+ onSkip = () => resolve("skipped");
175
+ optionalSkipSignal.addEventListener("abort", onSkip, { once: true });
176
+ });
177
+ try {
178
+ return await Promise.race([
179
+ sleepWithAbort(sleep, milliseconds, signal).then(() => "elapsed"),
180
+ skipped,
181
+ ]);
182
+ }
183
+ finally {
184
+ if (onSkip)
185
+ optionalSkipSignal.removeEventListener("abort", onSkip);
186
+ }
187
+ }
135
188
  export function missingFeishuAppConfiguration(configuration) {
136
189
  const scopes = new Set(configuration.scopes);
137
190
  const events = new Set(configuration.events);
@@ -1 +1 @@
1
- {"version":3,"file":"FeishuAppConfiguration.js","sourceRoot":"","sources":["../../src/cli/FeishuAppConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AACtD,MAAM,iBAAiB,GAAG,iDAAiD,CAAC;AAC5E,MAAM,uBAAuB,GAAG,wCAAwC,CAAC;AACzE,MAAM,wBAAwB,GAAG,KAAK,CAAC;AACvC,MAAM,6BAA6B,GAAG,EAAE,GAAG,MAAM,CAAC;AAClD,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAOlC,MAAM,2BAA2B,GAAuB;IACtD;QACE,SAAS,EAAE,qCAAqC;QAChD,QAAQ,EAAE,CAAC,qCAAqC,CAAC;KAClD;IACD;QACE,SAAS,EAAE,gBAAgB;QAC3B,QAAQ,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC;KACxC;IACD;QACE,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,CAAC,cAAc,EAAE,kBAAkB,EAAE,SAAS,CAAC;KAC1D;IACD;QACE,SAAS,EAAE,kCAAkC;QAC7C,QAAQ,EAAE;YACR,kCAAkC;YAClC,8CAA8C;YAC9C,yBAAyB;YACzB,+BAA+B;YAC/B,sBAAsB;SACvB;KACF;IACD;QACE,SAAS,EAAE,6BAA6B;QACxC,QAAQ,EAAE,CAAC,6BAA6B,EAAE,oBAAoB,CAAC;KAChE;IACD;QACE,SAAS,EAAE,iCAAiC;QAC5C,QAAQ,EAAE,CAAC,iCAAiC,EAAE,YAAY,CAAC;KAC5D;IACD;QACE,SAAS,EAAE,qBAAqB;QAChC,QAAQ,EAAE,CAAC,qBAAqB,EAAE,6BAA6B,EAAE,YAAY,CAAC;KAC/E;IACD;QACE,SAAS,EAAE,wBAAwB;QACnC,QAAQ,EAAE,CAAC,wBAAwB,EAAE,iBAAiB,EAAE,YAAY,CAAC;KACtE;IACD;QACE,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,CAAC,mBAAmB,EAAE,wBAAwB,EAAE,YAAY,CAAC;KACxE;IACD;QACE,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE,CAAC,aAAa,EAAE,oBAAoB,CAAC;KAChD;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAC9G,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,uBAAuB,EAAE,oBAAoB,CAAU,CAAC;AAC/F,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,qBAAqB,CAAU,CAAC;AAE1E,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,qCAAqC;IACrC,kCAAkC;IAClC,6BAA6B;IAC7B,wBAAwB;CACzB,CAAC,CAAC;AACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAS,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAsCtE,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,WAAiC,EACjC,OAAO,GAAwC,EAAE;IAEjD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACrC,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,wBAAwB,CAAC;IAC3F,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,6BAA6B,CAAC;IAEtF,IAAI,aAAqC,CAAC;IAC1C,IAAI,CAAC;QACH,aAAa,GAAG,MAAM,0BAA0B,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;YAAE,MAAM,KAAK,CAAC;QAC3C,aAAa,GAAG,kBAAkB,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,OAAO,GAAG,6BAA6B,CAAC,aAAa,CAAC,CAAC;IAC7D,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,OAAO;YACL,MAAM,EAAE,OAAO;YACf,aAAa;YACb,KAAK,EAAE,kBAAkB,EAAE;YAC3B,SAAS,EAAE,kBAAkB,EAAE;SAChC,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,iCAAiC,CAAC,OAAO,CAAC,CAAC;IAC/D,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1C,MAAM,iCAAiC,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QACnG,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,aAAa;YACb,KAAK,EAAE,kBAAkB,EAAE;YAC3B,SAAS,EAAE,OAAO;SACnB,CAAC;IACJ,CAAC;IAED,MAAM,iCAAiC,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAEtG,IAAI,WAAW,GAAG,SAAS,CAAC;IAC5B,IAAI,SAAkB,CAAC;IACvB,OAAO,WAAW,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QACrD,MAAM,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACpD,WAAW,IAAI,MAAM,CAAC;QAEtB,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,0BAA0B,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACzF,MAAM,SAAS,GAAG,6BAA6B,CAAC,aAAa,CAAC,CAAC;YAC/D,IAAI,CAAC,uBAAuB,CAAC,iCAAiC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBAC3E,IAAI,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC;oBACvC,MAAM,iCAAiC,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;gBACvG,CAAC;gBACD,OAAO;oBACL,MAAM,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;oBAClE,aAAa;oBACb,KAAK,EAAE,4BAA4B,CAAC,OAAO,EAAE,SAAS,CAAC;oBACvD,SAAS;iBACV,CAAC;YACJ,CAAC;YACD,SAAS,GAAG,SAAS,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;gBAAE,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9D,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,uBAAuB,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5F,MAAM,IAAI,KAAK,CAAC,0FAA0F,MAAM,EAAE,CAAC,CAAC;AACtH,CAAC;AAED,KAAK,UAAU,iCAAiC,CAC9C,KAAa,EACb,OAAsC,EACtC,QAAiB,EACjB,cAAqE;IAErE,MAAM,eAAe,GAAG,2BAA2B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACpE,MAAM,cAAc,EAAE,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,aAAqC;IACjF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACnD,OAAO;QACL,MAAM,EAAE,2BAA2B,CAAC,MAAM,CACxC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAC1E,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;QAC7C,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpE,SAAS,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KACpF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAa,EAAE,OAAsC;IAC/F,MAAM,QAAQ,GAAe,EAAE,CAAC;IAChC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,MAAM,GAAG;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,EAAE;SACT,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,MAAM,GAAG;YAChB,KAAK,EAAE;gBACL,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,IAAI,EAAE,EAAE;aACT;SACF,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,QAAQ,CAAC,SAAS,GAAG;YACnB,KAAK,EAAE,OAAO,CAAC,SAAS;SACzB,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC9F,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;IAC5D,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACxC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,WAAiC,EACjC,SAAkC,EAClC,MAAoB;IAEpB,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACzE,MAAM,KAAK,GAAG,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC;IACrD,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAChD,SAAS,CACP,SAAS,EACT,GAAG,oBAAoB,GAAG,uBAAuB,IAAI,KAAK,aAAa,EACvE,EAAE,OAAO,EAAE,EACX,MAAM,EACN,6BAA6B,CAC9B;QACD,SAAS,CACP,SAAS,EACT,GAAG,oBAAoB,GAAG,uBAAuB,IAAI,KAAK,sCAAsC,EAChG,EAAE,OAAO,EAAE,EACX,MAAM,EACN,wBAAwB,CACzB;KACF,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,eAAe,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;IACxE,MAAM,gBAAgB,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC;SACtE,MAAM,CAAC,YAAY,CAAC;SACpB,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACzF,MAAM,MAAM,GAAG,gBAAgB;QAC7B,CAAC,CAAC,SAAS,CAAC,gBAAgB,EAAE,QAAQ,CAAC;aAClC,MAAM,CAAC,YAAY,CAAC;aACpB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aACzE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;aACxC,MAAM,CAAC,OAAO,CAAC;QACpB,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,MAAM,GAAG,gBAAgB;QAC7B,CAAC,CAAC,SAAS,CAAC,gBAAgB,EAAE,aAAa,CAAC;aACvC,MAAM,CAAC,YAAY,CAAC;aACpB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;aAC7C,MAAM,CAAC,OAAO,CAAC;QACpB,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;QACL,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC;QAC5B,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC;QAC5B,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,WAAiC,EACjC,SAAkC,EAClC,MAAoB;IAEpB,MAAM,OAAO,GAAG,MAAM,SAAS,CAC7B,SAAS,EACT,GAAG,oBAAoB,GAAG,iBAAiB,EAAE,EAC7C;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,iCAAiC,EAAE;QAC9D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,MAAM,EAAE,WAAW,CAAC,KAAK;YACzB,UAAU,EAAE,WAAW,CAAC,SAAS;SAClC,CAAC;KACH,EACD,MAAM,EACN,kCAAkC,CACnC,CAAC;IACF,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IACzD,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IAClG,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,SAAS,CACtB,SAAkC,EAClC,GAAW,EACX,IAAiB,EACjB,YAAqC,EACrC,SAAiB;IAEjB,IAAI,YAAY,EAAE,OAAO;QAAE,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACrG,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACnE,YAAY,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAEjE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAY,CAAC;QAC1E,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,uCAAuC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,2BAA2B,CACnC,GAAG,SAAS,YAAY,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,QAAQ,CAAC,MAAM,EAAE,EAAE,EACxG,IAAI,EACJ,QAAQ,CAAC,MAAM,CAChB,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,YAAY,EAAE,OAAO;YAAE,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;QAC1D,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,aAAa,CAAC,CAAC;QAC1E,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,YAAY,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,MAAM,2BAA4B,SAAQ,KAAK;IAGlC,IAAI;IACJ,MAAM;IAHjB,YACE,OAAe,EACN,IAAY,EACZ,MAAc;QAEvB,KAAK,CAAC,OAAO,CAAC,CAAC;oBAHN,IAAI;sBACJ,MAAM;IAGjB,CAAC;CACF;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,CACL,KAAK,YAAY,2BAA2B;QAC5C,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG;YACnB,KAAK,CAAC,IAAI,KAAK,QAAQ;YACvB,KAAK,CAAC,IAAI,KAAK,QAAQ;YACvB,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAC9C,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAsC;IACrE,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,iCAAiC,CAAC,OAAsC;IAC/E,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvE,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CACnC,OAAsC,EACtC,SAAwC;IAExC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACxD,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KACrF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AACnD,CAAC;AAED,SAAS,YAAY,CAAC,MAAgB;IACpC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,UAAU,CAAC,KAAiB,EAAE,GAAW;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,SAAS,CAAC,KAAiB,EAAE,GAAW;IAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,eAAe,CAAC,KAAiB,EAAE,GAAW;IACrD,OAAO,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;SACzB,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;SAC1D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,UAAU,CAAC,KAAiB,EAAE,GAAW;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,UAAU,CAAC,KAAiB,EAAE,GAAW;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,eAAe,CAAC,KAAyB;IAChD,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACzF,CAAC;AAED,SAAS,UAAU,CAAC,MAAmB;IACrC,OAAO,MAAM,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;AAC7G,CAAC;AAED,SAAS,KAAK,CAAC,YAAoB;IACjC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,KAA8C,EAC9C,YAAoB,EACpB,MAAoB;IAEpB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC;QAC1B,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,OAAO;QAAE,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;IAE7C,IAAI,OAAiC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QAC/C,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;YAAS,CAAC;QACT,IAAI,OAAO;YAAE,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"FeishuAppConfiguration.js","sourceRoot":"","sources":["../../src/cli/FeishuAppConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AACtD,MAAM,iBAAiB,GAAG,iDAAiD,CAAC;AAC5E,MAAM,uBAAuB,GAAG,wCAAwC,CAAC;AACzE,MAAM,wBAAwB,GAAG,KAAK,CAAC;AACvC,MAAM,6BAA6B,GAAG,EAAE,GAAG,MAAM,CAAC;AAClD,MAAM,sCAAsC,GAAG,CAAC,GAAG,MAAM,CAAC;AAC1D,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAOlC,MAAM,2BAA2B,GAAuB;IACtD;QACE,SAAS,EAAE,qCAAqC;QAChD,QAAQ,EAAE,CAAC,qCAAqC,CAAC;KAClD;IACD;QACE,SAAS,EAAE,gBAAgB;QAC3B,QAAQ,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC;KACxC;IACD;QACE,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,CAAC,cAAc,EAAE,kBAAkB,EAAE,SAAS,CAAC;KAC1D;IACD;QACE,SAAS,EAAE,kCAAkC;QAC7C,QAAQ,EAAE;YACR,kCAAkC;YAClC,8CAA8C;YAC9C,yBAAyB;YACzB,+BAA+B;YAC/B,sBAAsB;SACvB;KACF;IACD;QACE,SAAS,EAAE,6BAA6B;QACxC,QAAQ,EAAE,CAAC,6BAA6B,EAAE,oBAAoB,CAAC;KAChE;IACD;QACE,SAAS,EAAE,iCAAiC;QAC5C,QAAQ,EAAE,CAAC,iCAAiC,EAAE,YAAY,CAAC;KAC5D;IACD;QACE,SAAS,EAAE,qBAAqB;QAChC,QAAQ,EAAE,CAAC,qBAAqB,EAAE,6BAA6B,EAAE,YAAY,CAAC;KAC/E;IACD;QACE,SAAS,EAAE,wBAAwB;QACnC,QAAQ,EAAE,CAAC,wBAAwB,EAAE,iBAAiB,EAAE,YAAY,CAAC;KACtE;IACD;QACE,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,CAAC,mBAAmB,EAAE,wBAAwB,EAAE,YAAY,CAAC;KACxE;IACD;QACE,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE,CAAC,aAAa,EAAE,oBAAoB,CAAC;KAChD;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAC9G,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,uBAAuB,EAAE,oBAAoB,CAAU,CAAC;AAC/F,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,qBAAqB,CAAU,CAAC;AAE1E,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,qCAAqC;IACrC,kCAAkC;IAClC,6BAA6B;IAC7B,wBAAwB;CACzB,CAAC,CAAC;AACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAS,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAwCtE,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,WAAiC,EACjC,OAAO,GAAwC,EAAE;IAEjD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACrC,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,wBAAwB,CAAC;IAC3F,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,6BAA6B,CAAC;IACtF,MAAM,iBAAiB,GAAG,eAAe,CAAC,OAAO,CAAC,iBAAiB,CAAC;WAC/D,sCAAsC,CAAC;IAE5C,IAAI,aAAqC,CAAC;IAC1C,IAAI,CAAC;QACH,aAAa,GAAG,MAAM,0BAA0B,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;YAAE,MAAM,KAAK,CAAC;QAC3C,aAAa,GAAG,kBAAkB,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,OAAO,GAAG,6BAA6B,CAAC,aAAa,CAAC,CAAC;IAC7D,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,OAAO;YACL,MAAM,EAAE,OAAO;YACf,aAAa;YACb,KAAK,EAAE,kBAAkB,EAAE;YAC3B,SAAS,EAAE,kBAAkB,EAAE;SAChC,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,iCAAiC,CAAC,OAAO,CAAC,CAAC;IAC/D,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1C,OAAO,mCAAmC,CACxC,WAAW,EACX,aAAa,EACb,OAAO,EACP,SAAS,EACT,KAAK,EACL,cAAc,EACd,iBAAiB,EACjB,OAAO,CACR,CAAC;IACJ,CAAC;IAED,MAAM,iCAAiC,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAEtG,IAAI,WAAW,GAAG,SAAS,CAAC;IAC5B,IAAI,SAAkB,CAAC;IACvB,OAAO,WAAW,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QACrD,MAAM,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACpD,WAAW,IAAI,MAAM,CAAC;QAEtB,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,0BAA0B,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACzF,MAAM,SAAS,GAAG,6BAA6B,CAAC,aAAa,CAAC,CAAC;YAC/D,IAAI,CAAC,uBAAuB,CAAC,iCAAiC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBAC3E,OAAO,mCAAmC,CACxC,WAAW,EACX,aAAa,EACb,OAAO,EACP,SAAS,EACT,KAAK,EACL,cAAc,EACd,iBAAiB,EACjB,OAAO,CACR,CAAC;YACJ,CAAC;YACD,SAAS,GAAG,SAAS,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;gBAAE,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9D,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,uBAAuB,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5F,MAAM,IAAI,KAAK,CAAC,0FAA0F,MAAM,EAAE,CAAC,CAAC;AACtH,CAAC;AAED,KAAK,UAAU,iCAAiC,CAC9C,KAAa,EACb,OAAsC,EACtC,QAAiB,EACjB,cAAqE;IAErE,MAAM,eAAe,GAAG,2BAA2B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACpE,MAAM,cAAc,EAAE,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,KAAK,UAAU,mCAAmC,CAChD,WAAiC,EACjC,oBAA4C,EAC5C,cAA6C,EAC7C,SAAkC,EAClC,KAA8C,EAC9C,cAAsB,EACtB,SAAiB,EACjB,OAA4C;IAE5C,IAAI,aAAa,GAAG,oBAAoB,CAAC;IACzC,IAAI,SAAS,GAAG,6BAA6B,CAAC,aAAa,CAAC,CAAC;IAC7D,IAAI,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,MAAM,iCAAiC,CACrC,WAAW,CAAC,KAAK,EACjB,SAAS,EACT,KAAK,EACL,OAAO,CAAC,cAAc,CACvB,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,MAAM,kCAAkC,CACxD,WAAW,EACX,aAAa,EACb,SAAS,EACT,KAAK,EACL,cAAc,EACd,SAAS,EACT,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,kBAAkB,CAC3B,CAAC;YACF,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC;YACxC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO;QACL,MAAM,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAClE,aAAa;QACb,KAAK,EAAE,4BAA4B,CAAC,cAAc,EAAE,SAAS,CAAC;QAC9D,SAAS;KACV,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,kCAAkC,CAC/C,WAAiC,EACjC,oBAA4C,EAC5C,SAAkC,EAClC,KAA8C,EAC9C,cAAsB,EACtB,SAAiB,EACjB,MAAoB,EACpB,kBAAgC;IAKhC,IAAI,aAAa,GAAG,oBAAoB,CAAC;IACzC,IAAI,SAAS,GAAG,6BAA6B,CAAC,aAAa,CAAC,CAAC;IAC7D,IAAI,WAAW,GAAG,SAAS,CAAC;IAC5B,OAAO,WAAW,GAAG,CAAC,IAAI,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7D,IAAI,kBAAkB,EAAE,OAAO;YAAE,MAAM;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAC5C,KAAK,EACL,MAAM,EACN,MAAM,EACN,kBAAkB,CACnB,CAAC;QACF,IAAI,UAAU,KAAK,SAAS;YAAE,MAAM;QACpC,WAAW,IAAI,MAAM,CAAC;QACtB,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,0BAA0B,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YACjF,SAAS,GAAG,6BAA6B,CAAC,aAAa,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,MAAM,EAAE,OAAO;gBAAE,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IACD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,KAA8C,EAC9C,YAAoB,EACpB,MAAoB,EACpB,kBAAgC;IAEhC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,MAAM,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QAClD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,kBAAkB,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAEjD,IAAI,MAAgC,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,EAAE;QACjD,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClC,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC;YACxB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAkB,CAAC;YAC1E,OAAO;SACR,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,IAAI,MAAM;YAAE,kBAAkB,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,aAAqC;IACjF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACnD,OAAO;QACL,MAAM,EAAE,2BAA2B,CAAC,MAAM,CACxC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAC1E,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;QAC7C,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpE,SAAS,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KACpF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAa,EAAE,OAAsC;IAC/F,MAAM,QAAQ,GAAe,EAAE,CAAC;IAChC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,MAAM,GAAG;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,EAAE;SACT,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,MAAM,GAAG;YAChB,KAAK,EAAE;gBACL,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,IAAI,EAAE,EAAE;aACT;SACF,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,QAAQ,CAAC,SAAS,GAAG;YACnB,KAAK,EAAE,OAAO,CAAC,SAAS;SACzB,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC9F,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;IAC5D,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACxC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,WAAiC,EACjC,SAAkC,EAClC,MAAoB;IAEpB,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACzE,MAAM,KAAK,GAAG,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC;IACrD,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAChD,SAAS,CACP,SAAS,EACT,GAAG,oBAAoB,GAAG,uBAAuB,IAAI,KAAK,aAAa,EACvE,EAAE,OAAO,EAAE,EACX,MAAM,EACN,6BAA6B,CAC9B;QACD,SAAS,CACP,SAAS,EACT,GAAG,oBAAoB,GAAG,uBAAuB,IAAI,KAAK,sCAAsC,EAChG,EAAE,OAAO,EAAE,EACX,MAAM,EACN,wBAAwB,CACzB;KACF,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,eAAe,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;IACxE,MAAM,gBAAgB,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC;SACtE,MAAM,CAAC,YAAY,CAAC;SACpB,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACzF,MAAM,MAAM,GAAG,gBAAgB;QAC7B,CAAC,CAAC,SAAS,CAAC,gBAAgB,EAAE,QAAQ,CAAC;aAClC,MAAM,CAAC,YAAY,CAAC;aACpB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aACzE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;aACxC,MAAM,CAAC,OAAO,CAAC;QACpB,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,MAAM,GAAG,gBAAgB;QAC7B,CAAC,CAAC,SAAS,CAAC,gBAAgB,EAAE,aAAa,CAAC;aACvC,MAAM,CAAC,YAAY,CAAC;aACpB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;aAC7C,MAAM,CAAC,OAAO,CAAC;QACpB,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;QACL,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC;QAC5B,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC;QAC5B,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,WAAiC,EACjC,SAAkC,EAClC,MAAoB;IAEpB,MAAM,OAAO,GAAG,MAAM,SAAS,CAC7B,SAAS,EACT,GAAG,oBAAoB,GAAG,iBAAiB,EAAE,EAC7C;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,iCAAiC,EAAE;QAC9D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,MAAM,EAAE,WAAW,CAAC,KAAK;YACzB,UAAU,EAAE,WAAW,CAAC,SAAS;SAClC,CAAC;KACH,EACD,MAAM,EACN,kCAAkC,CACnC,CAAC;IACF,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IACzD,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IAClG,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,SAAS,CACtB,SAAkC,EAClC,GAAW,EACX,IAAiB,EACjB,YAAqC,EACrC,SAAiB;IAEjB,IAAI,YAAY,EAAE,OAAO;QAAE,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACrG,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACnE,YAAY,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAEjE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAY,CAAC;QAC1E,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,uCAAuC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,2BAA2B,CACnC,GAAG,SAAS,YAAY,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,QAAQ,CAAC,MAAM,EAAE,EAAE,EACxG,IAAI,EACJ,QAAQ,CAAC,MAAM,CAChB,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,YAAY,EAAE,OAAO;YAAE,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;QAC1D,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,aAAa,CAAC,CAAC;QAC1E,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,YAAY,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,MAAM,2BAA4B,SAAQ,KAAK;IAGlC,IAAI;IACJ,MAAM;IAHjB,YACE,OAAe,EACN,IAAY,EACZ,MAAc;QAEvB,KAAK,CAAC,OAAO,CAAC,CAAC;oBAHN,IAAI;sBACJ,MAAM;IAGjB,CAAC;CACF;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,CACL,KAAK,YAAY,2BAA2B;QAC5C,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG;YACnB,KAAK,CAAC,IAAI,KAAK,QAAQ;YACvB,KAAK,CAAC,IAAI,KAAK,QAAQ;YACvB,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAC9C,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAsC;IACrE,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,iCAAiC,CAAC,OAAsC;IAC/E,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvE,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CACnC,OAAsC,EACtC,SAAwC;IAExC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACxD,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KACrF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AACnD,CAAC;AAED,SAAS,YAAY,CAAC,MAAgB;IACpC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,UAAU,CAAC,KAAiB,EAAE,GAAW;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,SAAS,CAAC,KAAiB,EAAE,GAAW;IAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,eAAe,CAAC,KAAiB,EAAE,GAAW;IACrD,OAAO,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;SACzB,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;SAC1D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,UAAU,CAAC,KAAiB,EAAE,GAAW;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,UAAU,CAAC,KAAiB,EAAE,GAAW;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,eAAe,CAAC,KAAyB;IAChD,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACzF,CAAC;AAED,SAAS,UAAU,CAAC,MAAmB;IACrC,OAAO,MAAM,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;AAC7G,CAAC;AAED,SAAS,KAAK,CAAC,YAAoB;IACjC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,KAA8C,EAC9C,YAAoB,EACpB,MAAoB;IAEpB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC;QAC1B,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,OAAO;QAAE,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;IAE7C,IAAI,OAAiC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QAC/C,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;YAAS,CAAC;QACT,IAAI,OAAO;YAAE,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { createInterface } from "node:readline";
2
+ export function listenForOptionalAuthorizationSkip(onSkip) {
3
+ if (!process.stdin.isTTY)
4
+ return { close: () => undefined };
5
+ const readline = createInterface({
6
+ input: process.stdin,
7
+ output: process.stderr,
8
+ });
9
+ const onLine = (value) => {
10
+ if (!isOptionalAuthorizationSkip(value)) {
11
+ process.stderr.write("Enter Y to skip optional authorization, or keep waiting.\n");
12
+ return;
13
+ }
14
+ process.stderr.write("Optional authorization skipped. Initialization will continue.\n");
15
+ onSkip();
16
+ };
17
+ readline.on("line", onLine);
18
+ process.stderr.write("Skip optional authorization? Enter Y and press Enter to skip.\n");
19
+ return {
20
+ close: () => closeReadline(readline, onLine),
21
+ };
22
+ }
23
+ export function isOptionalAuthorizationSkip(value) {
24
+ return value.trim().toLowerCase() === "y";
25
+ }
26
+ function closeReadline(readline, onLine) {
27
+ readline.removeListener("line", onLine);
28
+ readline.close();
29
+ }
30
+ //# sourceMappingURL=OptionalAuthorizationSkip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OptionalAuthorizationSkip.js","sourceRoot":"","sources":["../../src/cli/OptionalAuthorizationSkip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAkB,MAAM,eAAe,CAAC;AAMhE,MAAM,UAAU,kCAAkC,CAChD,MAAkB;IAElB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;IAE5D,MAAM,QAAQ,GAAG,eAAe,CAAC;QAC/B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,CAAC,KAAa,EAAQ,EAAE;QACrC,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACxF,MAAM,EAAE,CAAC;IACX,CAAC,CAAC;IACF,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACxF,OAAO;QACL,KAAK,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACvD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC;AAC5C,CAAC;AAED,SAAS,aAAa,CAAC,QAAmB,EAAE,MAA+B;IACzE,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,CAAC;AACnB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import qrcode from "qrcode-terminal";
2
+ export function printVerificationQrAndLink(options, write = (value) => process.stderr.write(value), renderQr = (value, callback) => qrcode.generate(value, { small: true }, callback)) {
3
+ if (!options.json) {
4
+ write(`\n${options.qrInstruction}\n\n`);
5
+ renderQr(options.verificationUrl, (output) => write(`${output}\n`));
6
+ }
7
+ write(`Authorization link:\n${options.verificationUrl}\n\n`);
8
+ }
9
+ //# sourceMappingURL=VerificationOutput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerificationOutput.js","sourceRoot":"","sources":["../../src/cli/VerificationOutput.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAQrC,MAAM,UAAU,0BAA0B,CACxC,OAAkC,EAClC,KAAK,GAA4B,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EACvE,QAAQ,GAGI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC;IAElF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,CAAC,KAAK,OAAO,CAAC,aAAa,MAAM,CAAC,CAAC;QACxC,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,KAAK,CAAC,wBAAwB,OAAO,CAAC,eAAe,MAAM,CAAC,CAAC;AAC/D,CAAC"}
package/dist/cli.js CHANGED
@@ -2,12 +2,12 @@
2
2
  import fs from "node:fs";
3
3
  import { spawnSync } from "node:child_process";
4
4
  import { fileURLToPath } from "node:url";
5
- import qrcode from "qrcode-terminal";
6
5
  import { loadConfig, loadConfigWithoutEnvironmentMutation } from "./config/loadConfig.js";
7
6
  import { sendControlRequest, isServerReachable } from "./cli/LocalControlClient.js";
8
7
  import { controlEndpoint, } from "./cli/controlProtocol.js";
9
8
  import { acquireInitializationLock, cleanupFeishuCredentialTemporaryFiles, initializeAgentBot, readFeishuCredentials, shouldCreateFeishuApp, writeFeishuCredentials, } from "./cli/Initializer.js";
10
9
  import { parseInitCommandOptions } from "./cli/initOptions.js";
10
+ import { listenForOptionalAuthorizationSkip, } from "./cli/OptionalAuthorizationSkip.js";
11
11
  import { registerFeishuApp, } from "./cli/FeishuAppRegistration.js";
12
12
  import { ensureFeishuAppConfiguration, } from "./cli/FeishuAppConfiguration.js";
13
13
  import { renderCliHelp } from "./cli/help.js";
@@ -15,6 +15,7 @@ import { formatServerStatus, withConfiguredFeishuAppId } from "./cli/serverStatu
15
15
  import { resolveSystemSkillsRoot, SkillRegistry } from "./cli/SkillRegistry.js";
16
16
  import { readPackageVersion } from "./cli/packageVersion.js";
17
17
  import { applyExplicitProfile, parseGlobalOptions } from "./cli/profile.js";
18
+ import { printVerificationQrAndLink } from "./cli/VerificationOutput.js";
18
19
  import { startInitializedServer, startServer, } from "./cli/ServerStarter.js";
19
20
  import { taskChatRoute } from "./cli/taskChatRoute.js";
20
21
  import { StateStore } from "./state/StateStore.js";
@@ -130,10 +131,18 @@ async function initializeFeishu(paths, options) {
130
131
  }
131
132
  if (!options.json)
132
133
  process.stdout.write("\nChecking Lark app permissions, events, and callbacks...\n");
134
+ const optionalSkip = new AbortController();
135
+ let skipListener;
133
136
  const configuration = await ensureFeishuAppConfiguration(credentials, {
134
137
  signal: controller.signal,
135
- onVerification: (challenge) => printFeishuConfigurationVerification(challenge, options.json),
136
- });
138
+ optionalSkipSignal: optionalSkip.signal,
139
+ onVerification: (challenge) => {
140
+ printFeishuConfigurationVerification(challenge, options.json);
141
+ if (!challenge.blocking) {
142
+ skipListener = listenForOptionalAuthorizationSkip(() => optionalSkip.abort());
143
+ }
144
+ },
145
+ }).finally(() => skipListener?.close());
137
146
  return {
138
147
  status,
139
148
  appId: credentials.appId,
@@ -507,13 +516,11 @@ function printServerStartResult(result) {
507
516
  : "Agent Bot server started.\n");
508
517
  }
509
518
  function printFeishuVerification(challenge, json) {
510
- process.stderr.write("\nScan with Lark or open the link below in a browser to create the bot app:\n\n");
511
- process.stderr.write(`${challenge.verificationUrl}\n\n`);
512
- if (!json) {
513
- qrcode.generate(challenge.verificationUrl, { small: true }, (output) => {
514
- process.stderr.write(`${output}\n`);
515
- });
516
- }
519
+ printVerificationQrAndLink({
520
+ verificationUrl: challenge.verificationUrl,
521
+ json,
522
+ qrInstruction: "Scan this QR code with Lark to create the bot app:",
523
+ });
517
524
  process.stderr.write(`The link expires in about ${Math.ceil(challenge.expiresIn / 60)} minutes. Waiting for confirmation...\n`);
518
525
  }
519
526
  function printFeishuConfigurationVerification(challenge, json) {
@@ -527,18 +534,16 @@ function printFeishuConfigurationVerification(challenge, json) {
527
534
  if (challenge.missing.callbacks.length > 0) {
528
535
  process.stderr.write(`Callbacks: ${challenge.missing.callbacks.join(", ")}\n`);
529
536
  }
530
- process.stderr.write("\nScan with Lark or open the link below in a browser to complete the configuration:\n\n");
531
- process.stderr.write(`${challenge.verificationUrl}\n\n`);
532
- if (!json) {
533
- qrcode.generate(challenge.verificationUrl, { small: true }, (output) => {
534
- process.stderr.write(`${output}\n`);
535
- });
536
- }
537
+ printVerificationQrAndLink({
538
+ verificationUrl: challenge.verificationUrl,
539
+ json,
540
+ qrInstruction: "Scan this QR code with Lark to complete the configuration:",
541
+ });
537
542
  if (challenge.blocking) {
538
543
  process.stderr.write("Waiting for the core scopes and message event to become active...\n");
539
544
  }
540
545
  else {
541
- process.stderr.write("These optional items do not block basic messaging. Initialization will continue; grant them later using the link.\n");
546
+ process.stderr.write("Waiting up to 5 minutes for these optional items to become active...\n");
542
547
  }
543
548
  }
544
549
  function printOptionalFeishuConfigurationWarnings(missing) {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EACL,eAAe,GAGhB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,yBAAyB,EACzB,qCAAqC,EACrC,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,GAGvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAA2B,MAAM,sBAAsB,CAAC;AACxF,OAAO,EACL,iBAAiB,GAGlB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,4BAA4B,GAG7B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAgC,MAAM,wBAAwB,CAAC;AAC9G,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EACL,sBAAsB,EACtB,WAAW,GAGZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAsB,MAAM,uBAAuB,CAAC;AACvE,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,iCAAiC,GAClC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEpE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3F,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,IAAI,CAAC,KAAe;IACjC,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,MAAM,CAAC,WAAW;QAAE,oBAAoB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SAC5D,IAAI,MAAM,CAAC,UAAU;QAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC;IAC7E,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;IACvC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QAC/E,SAAS,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,kBAAkB,EAAE,IAAI,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QACxE,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QAC9C,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChD,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO;IACT,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,mCAAmC,CAAC,CAAC;AAClF,CAAC;AAaD,KAAK,UAAU,WAAW,CACxB,KAAe,EACf,UAA8B,EAC9B,eAAwB;IAExB,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAChE,IAAI,kBAAkB,GAAG,OAAO,CAAC,KAAK;QACpC,CAAC,CAAC,yBAAyB,CAAC,YAAY,EAAE,CAAC;QAC3C,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,KAA2B,CAAC;IAChC,IAAI,WAA8C,CAAC;IACnD,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,KAAK;YAAE,MAAM,+BAA+B,CAAC,UAAU,CAAC,CAAC;QACrE,KAAK,GAAG,kBAAkB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,CAAC,IAAI;YAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACnD,kBAAkB,KAAK,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,qCAAqC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,KAAK,EACL,OAAO,CACR,CAAC;QACF,WAAW,GAAG,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC;IACrC,CAAC;YAAS,CAAC;QACT,kBAAkB,EAAE,OAAO,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,IAAI;QAAE,yBAAyB,CAAC,WAAW,CAAC,CAAC;IAC1D,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACnG,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;IAC5F,MAAM,MAAM,GAAsB,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,CAAC;IAC7D,IAAI,OAAO,CAAC,IAAI;QAAE,SAAS,CAAC,MAAM,CAAC,CAAC;;QAC/B,+BAA+B,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,KAA2B,EAC3B,OAA2B;IAE3B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrD,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,WAAW,GAAG,GAAS,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC7F,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACpC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,IAAI,WAAiC,CAAC;QACtC,IAAI,MAAsD,CAAC;QAC3D,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAChE,WAAW,GAAG;gBACZ,KAAK,EAAE,QAAQ,CAAC,KAAM;gBACtB,SAAS,EAAE,QAAQ,CAAC,SAAU;gBAC9B,UAAU,EAAE,QAAQ,CAAC,UAAU;aAChC,CAAC;YACF,MAAM,GAAG,UAAU,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,IAAI,QAAQ,CAAC,MAAM,KAAK,YAAY,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACtD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;YACjG,CAAC;YACD,WAAW,GAAG,MAAM,iBAAiB,CAAC;gBACpC,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,cAAc,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC;aAChF,CAAC,CAAC;YACH,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACpD,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACvG,MAAM,aAAa,GAAG,MAAM,4BAA4B,CAAC,WAAW,EAAE;YACpE,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,cAAc,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,oCAAoC,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC;SAC7F,CAAC,CAAC;QACH,OAAO;YACL,MAAM;YACN,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,aAAa;SACd,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC9C,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,+BAA+B,CAAC,UAAmB;IAChE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,kBAAkB,GAAG,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACtE,IAAI,kBAAkB,IAAI,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC;YACH,SAAS,CAAC,GAAG,CAAC,eAAe,CAC3B,oCAAoC,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,UAAU,CAC5E,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,0EAA0E;QAC5E,CAAC;IACH,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,MAAM,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,2GAA2G,CAC5G,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAe;IACpC,MAAM,CAAC,MAAM,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;IAC3C,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,sBAAsB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,uBAAuB,EAAE,CAAC;IAC9E,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAErC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,IAAI;YAAE,SAAS,CAAC,MAAM,CAAC,CAAC;;YACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO;gBACtC,CAAC,CAAC,kCAAkC,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI;gBAChE,CAAC,CAAC,8CAA8C,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;QAChF,OAAO;IACT,CAAC;IACD,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;QACrC,IAAI,IAAI;YAAE,SAAS,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;;YAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO;gBAC/B,CAAC,CAAC,oCAAoC,QAAQ,CAAC,UAAU,IAAI;gBAC7D,CAAC,CAAC,yCAAyC,QAAQ,CAAC,UAAU,IAAI,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,IAAI;YAAE,SAAS,CAAC,MAAM,CAAC,CAAC;;YACvB,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;QACpH,IAAI,IAAI;YAAE,SAAS,CAAC,KAAK,CAAC,CAAC;aACtB,CAAC;YACJ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;YAC9D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;YACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;QACnE,CAAC;QACD,OAAO;IACT,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,KAAe;IAC3C,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,IAAI,MAAM,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACpE,MAAM,eAAe,GAAG,iCAAiC,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC;IACvF,2BAA2B,CAAC,eAAe,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE;QACzC,GAAG,6BAA6B,CAAC,eAAe,CAAC;QACjD,KAAK;KACN,EAAE;QACD,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,sBAAsB,EAAE,GAAG,EAAE;KACrD,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,KAAK;QAAE,MAAM,MAAM,CAAC,KAAK,CAAC;IACrC,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;AAC7E,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,KAAe;IAC1C,MAAM,CAAC,MAAM,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;IAC3C,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5D,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;YACjF,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACnB,MAAM,MAAM,GAAG,yBAAyB,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7E,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,SAAS,CAAC,MAAM,CAAC,CAAC;;gBAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,MAAM,GAAG;gBACb,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI;aACzC,CAAC;YACF,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,SAAS,CAAC,MAAM,CAAC,CAAC;;gBAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YACtD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,sBAAsB,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,QAAQ,CAAC,MAAM,kBAAkB,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;QACxE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC;eACvC,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;QACrE,QAAQ,CAAC,MAAM,kBAAkB,CAAC,QAAQ,EAAE;YAC1C,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM;YACtC,MAAM;SACP,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC;QACjG,OAAO;IACT,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,KAAe;IACxC,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;IACzC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxD,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC;QAC5C,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7C,MAAM,CAAC,SAAS,EAAE,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC;YACzC,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,qCAAqC,CAAC,CAAC;YACrF,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,qBAAqB,CAAC,CAAC;YAChE,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC5D,QAAQ,CAAC,MAAM,kBAAkB,CAAC,QAAQ,EAAE;gBAC1C,MAAM,EAAE,aAAa;gBACrB,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,IAAI;aACL,EAAE,MAAM,CAAC,CAAC,CAAC;YACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACnD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;;gBAC5C,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,qCAAqC,CAAC,CAAC;QACrF,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACjD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,SAAS,CAAC,KAAK,CAAC,CAAC;;gBACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC5D,IAAI,IAAuC,CAAC;YAC5C,IAAI,QAAqC,CAAC;YAC1C,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE;oBAC5C,MAAM,EAAE,aAAa;oBACrB,cAAc,EAAE,OAAO,CAAC,cAAc;iBACvC,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,mEAAmE;gBACnE,0EAA0E;YAC5E,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACnB,IAAI,GAAG,QAAQ,CAAC,IAA6B,CAAC;YAChD,CAAC;YACD,MAAM,aAAa,GAAG,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC;YAC/C,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ;mBAC1B,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9F,MAAM,MAAM,GAAG,EAAE,GAAG,aAAa,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAChG,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,SAAS,CAAC,MAAM,CAAC,CAAC;;gBAC1C,eAAe,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,QAAQ,CAAC,MAAM,kBAAkB,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YAC9G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;YACjD,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3E,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7F,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAChE,QAAQ,CAAC,MAAM,kBAAkB,CAAC,QAAQ,EAAE;gBAC1C,MAAM,EAAE,YAAY;gBACpB,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,KAAK;aACN,CAAC,CAAC,CAAC;YACJ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC;YAAS,CAAC;QACT,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,QAAyB,EAAE,IAAc;IAC/D,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC7C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CACjC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,OAAO,CAAC;WACzC,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,WAAW,CAAC,QAAyB,EAAE,SAAiB;IAC/D,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,SAAS,EAAE,CAAC,CAAC;QAC3E,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACtC,OAAO,CAAC,cAAc,KAAK,SAAS,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC;IACvH,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1C,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC;WACzC,OAAO,CAAC,eAAe,EAAE,UAAU,CAAC,SAAS,CAAC;WAC9C,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAClD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC;IAC7C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,SAAS,EAAE,CAAC,CAAC;IACrF,MAAM,IAAI,KAAK,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,aAAa,CAAC,QAAyB;IAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IACD,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAClD,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC;QACrF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,cAAc,IAAI,GAAG,KAAK,OAAO,CAAC,KAAK,IAAI,eAAe,IAAI,CAAC,CAAC;QACjI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,UAAU,MAAM,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;IACpF,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAAsB,EAAE,QAAiB,EAAE,MAAwC;IAC1G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,OAAO,CAAC,KAAK,IAAI,eAAe,IAAI,CAAC,CAAC;IACrE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;IAChH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;IAC9D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;IACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,OAAO,CAAC,MAAM,MAAM,OAAO,CAAC,cAAc,IAAI,GAAG,IAAI,CAAC,CAAC;IACvF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACpD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,OAAO,CAAC,UAAU,IAAI,GAAG,IAAI,CAAC,CAAC;IAClE,IAAI,sBAA0C,CAAC;IAC/C,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,QAAmC,CAAC;QAClD,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QACvH,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;QACjG,IAAI,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,KAAK,CAAC,cAAc,IAAI,CAAC,CAAC;QAC5G,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE;YAAE,sBAAsB,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IACjI,CAAC;IACD,IAAI,CAAC,QAAQ,IAAI,MAAM,EAAE,iBAAiB,KAAK,SAAS;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,iBAAiB,IAAI,CAAC,CAAC;IAC5H,sBAAsB,GAAG,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,sBAAsB,CAAC;IACjF,IAAI,sBAAsB;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,sBAAsB,IAAI,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA+B;IACvD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC;IAChG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;IACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;IAClE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,sDAAsD,IAAI,CAAC,CAAC;QACzI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,MAA4B;IAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACtE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,yBAAyB,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAClH,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAyC;IAC1E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAChE,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC;IAC7F,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC;IAChG,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;QAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,6BAA6B,KAAK,CAAC,MAAM,CAAC,MAAM,YAAY,KAAK,CAAC,MAAM,CAAC,MAAM,gBAAgB,KAAK,CAAC,SAAS,CAAC,MAAM,cAAc,CACpI,CAAC;IACJ,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7D,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;QAClD,MAAM,UAAU,GACd,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/G,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,0DAA0D,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,YAAY,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,gBAAgB,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,cAAc,CAC3M,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAC5E,CAAC;QACD,wCAAwC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,EAAE,CAAC;QAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,+BAA+B,CAAC,MAAmC;IAC1E,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iFAAiF,CAAC,CAAC;QACxG,OAAO;IACT,CAAC;IACD,sBAAsB,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAyB;IACvD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,MAAM,CAAC,MAAM,KAAK,iBAAiB;QACjC,CAAC,CAAC,wCAAwC;QAC1C,CAAC,CAAC,6BAA6B,CAClC,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,SAAyC,EAAE,IAAa;IACvF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iFAAiF,CAAC,CAAC;IACxG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,eAAe,MAAM,CAAC,CAAC;IACzD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE;YACrE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC,yCAAyC,CAAC,CAAC;AAClI,CAAC;AAED,SAAS,oCAAoC,CAC3C,SAAuC,EACvC,IAAa;IAEb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;IACjF,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yFAAyF,CAAC,CAAC;IAChH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,eAAe,MAAM,CAAC,CAAC;IACzD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE;YACrE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;IAC9F,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qHAAqH,CAAC,CAAC;IAC9I,CAAC;AACH,CAAC;AAED,SAAS,wCAAwC,CAAC,OAAgD;IAChG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4FAA4F,CAAC,CAAC;IACnH,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChF,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,6BAA6B,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,OAAO,IAAI,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,SAAS,6BAA6B,CAAC,OAAgD;IACrF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACnE,QAAQ,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,CAAC,iCAAiC,CAAC,EAAE,CAAC;QAClD,QAAQ,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,yBAAyB,CAAC,MAA4B;IAC7D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,qBAAqB,CAAC;IACrD,OAAO,2BAA2B,CAAC;AACrC,CAAC;AAED,SAAS,QAAQ,CAAC,QAAyB;IACzC,IAAI,QAAQ,CAAC,EAAE;QAAE,OAAO;IACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IACzC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QAChD,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,wEAAwE,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,WAAW,CAAC,IAAc,EAAE,IAAY;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -76,7 +76,9 @@ When complete credentials are absent, initialization uses Feishu one-click regis
76
76
  Missing app configuration is handled in two stages:
77
77
 
78
78
  1. Core configuration is requested and polled until it becomes available.
79
- 2. Remaining optional configuration is requested without blocking initialization.
79
+ 2. Remaining optional configuration is requested. The CLI prints its QR code followed by the authorization URL, then immediately polls for up to five minutes. An interactive terminal offers only `Y` to skip optional authorization and continue; otherwise the user completes authorization in the browser while polling continues.
80
+
81
+ Optional polling failures and timeouts return a partial configuration result instead of failing initialization. When stdin is not an interactive terminal, no skip input is available and polling continues until configuration becomes active or times out. Verification URLs and prompts use stderr, so `--json` keeps its final stdout machine-readable.
80
82
 
81
83
  The generated authorization links do not contain the app secret.
82
84
 
@@ -76,7 +76,9 @@ CLI 界面文本不受系统语言影响,统一使用英文。系统生成的
76
76
  缺失配置分两阶段处理:
77
77
 
78
78
  1. 请求核心配置并轮询,直到基础能力生效
79
- 2. 请求其余可选配置,但不阻塞初始化
79
+ 2. 请求其余可选配置。CLI 会先显示二维码,随后显示授权链接,然后立即开始最多 5 分钟的轮询。交互式终端只提供 `Y` 选项,用于跳过可选授权并继续;否则用户直接在浏览器中完成授权,轮询会持续进行
80
+
81
+ 可选配置轮询失败或超时会返回部分配置结果,不会导致初始化失败。stdin 不是交互式终端时无法输入跳过指令,轮询会持续到配置生效或超时。验证链接和提示写入 stderr,因此 `--json` 的最终 stdout 仍可直接供程序读取。
80
82
 
81
83
  生成的授权链接不包含 App Secret。
82
84
 
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@keyou007/agent-bot",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@keyou007/agent-bot",
9
- "version": "0.1.6",
9
+ "version": "0.1.7",
10
10
  "license": "GPL-3.0-only",
11
11
  "dependencies": {
12
12
  "@agentclientprotocol/sdk": "1.2.1",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keyou007/agent-bot",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "type": "module",
5
5
  "description": "Using Codex in Lark/Feishu feels just like using native Codex.",
6
6
  "license": "GPL-3.0-only",
@@ -46,11 +46,11 @@ Run initialization once after installing or linking the CLI:
46
46
  agent-bot init
47
47
  ```
48
48
 
49
- Initialization creates the Agent Bot home, `config.yaml`, `.env`, `data/`, and `logs/` from the bundled examples. If Feishu credentials are absent, it starts Feishu one-click app registration, prints an authorization URL and QR code, waits for the user to approve the request, and stores the returned app ID and secret in `.env`. It then audits the app's currently published tenant permissions, event subscriptions, and callbacks. Core and optional missing items produce separate incremental-configuration URLs so optional approval cannot block core setup.
49
+ Initialization creates the Agent Bot home, `config.yaml`, `.env`, `data/`, and `logs/` from the bundled examples. If Feishu credentials are absent, it starts Feishu one-click app registration, prints a QR code followed by its authorization URL, waits for the user to approve the request, and stores the returned app ID and secret in `.env`. It then audits the app's currently published tenant permissions, event subscriptions, and callbacks. Core and optional missing items produce separate incremental-configuration URLs. Core configuration is always polled until ready. For optional configuration, the CLI prints the QR code followed by the authorization URL and immediately waits up to five minutes for activation. The only terminal choice is `Y`, which skips optional authorization and continues initialization.
50
50
 
51
51
  After Feishu initialization succeeds, `init` releases its initialization lock and automatically starts the selected profile's server, waiting until it is ready. It does not create another supervisor when that profile is already running. `init --skip-feishu` is the exception: it prepares Console-only files and does not start the server. With `--json`, inspect `server.status` for `started`, `already-running`, or `skipped`.
52
52
 
53
- When running `init` on the user's behalf, relay every exact authorization or incremental-configuration URL and let the user complete it in their own browser. The command waits only for core message receipt and delivery capabilities. Optional capabilities such as group creation, group-title synchronization, reactions, images, and card actions do not block initialization; relay the final affected-feature warnings when they remain unavailable. Neither URL contains the app secret, and the secret itself is never printed.
53
+ When running `init` on the user's behalf, relay every exact authorization or incremental-configuration URL and let the user complete it in their own browser. Optional polling starts automatically after the link is shown. Do not enter `Y` unless the user explicitly asks to skip optional authorization; there is no separate accept action. Optional capabilities such as group creation, group-title synchronization, reactions, images, and card actions never block initialization when skipped, timed out, or still unavailable; relay the final affected-feature warnings. In a non-interactive terminal, optional polling continues until activation or timeout because skip input is unavailable. Neither URL contains the app secret, and the secret itself is never printed.
54
54
 
55
55
  Existing complete Feishu credentials are preserved but still audited and repaired when needed. Missing or incomplete credentials mean app creation did not complete, so a later `init` starts a new registration instead of resuming the previous device code. Once both credentials are durably saved, an interrupted permission audit resumes against the same remote app. `init` also holds a local lock to prevent concurrent registrations. Use `agent-bot init --skip-feishu` only for console-only initialization because it skips both registration and configuration auditing. Use `agent-bot init --reconfigure-feishu` only when the user explicitly wants to replace existing complete credentials. The command respects `AGENT_BOT_HOME`, `AGENT_BOT_CONFIG`, and `--config <path>`. Use `agent-bot init --json` when structured final output helps.
56
56
 
@@ -6,6 +6,7 @@ const TENANT_TOKEN_PATH = "/open-apis/auth/v3/tenant_access_token/internal";
6
6
  const APPLICATION_PATH_PREFIX = "/open-apis/application/v6/applications";
7
7
  const DEFAULT_POLL_INTERVAL_MS = 5_000;
8
8
  const DEFAULT_COMPLETION_TIMEOUT_MS = 10 * 60_000;
9
+ const DEFAULT_OPTIONAL_COMPLETION_TIMEOUT_MS = 5 * 60_000;
9
10
  const REQUEST_TIMEOUT_MS = 30_000;
10
11
 
11
12
  interface ScopeRequirement {
@@ -96,8 +97,10 @@ export interface EnsureFeishuAppConfigurationOptions {
96
97
  fetch?: typeof globalThis.fetch;
97
98
  sleep?: (milliseconds: number) => Promise<void>;
98
99
  signal?: AbortSignal;
100
+ optionalSkipSignal?: AbortSignal;
99
101
  pollIntervalMs?: number;
100
102
  timeoutMs?: number;
103
+ optionalTimeoutMs?: number;
101
104
  onVerification?: (challenge: FeishuConfigurationChallenge) => void | Promise<void>;
102
105
  }
103
106
 
@@ -118,6 +121,8 @@ export async function ensureFeishuAppConfiguration(
118
121
  const sleep = options.sleep ?? delay;
119
122
  const pollIntervalMs = positiveInteger(options.pollIntervalMs) ?? DEFAULT_POLL_INTERVAL_MS;
120
123
  const timeoutMs = positiveInteger(options.timeoutMs) ?? DEFAULT_COMPLETION_TIMEOUT_MS;
124
+ const optionalTimeoutMs = positiveInteger(options.optionalTimeoutMs)
125
+ ?? DEFAULT_OPTIONAL_COMPLETION_TIMEOUT_MS;
121
126
 
122
127
  let configuration: FeishuAppConfiguration;
123
128
  try {
@@ -139,13 +144,16 @@ export async function ensureFeishuAppConfiguration(
139
144
 
140
145
  const coreMissing = coreMissingFeishuAppConfiguration(missing);
141
146
  if (!hasMissingConfiguration(coreMissing)) {
142
- await requestMissingFeishuConfiguration(credentials.appId, missing, false, options.onVerification);
143
- return {
144
- status: "partial",
147
+ return completeOptionalFeishuConfiguration(
148
+ credentials,
145
149
  configuration,
146
- added: emptyConfiguration(),
147
- remaining: missing,
148
- };
150
+ missing,
151
+ fetchImpl,
152
+ sleep,
153
+ pollIntervalMs,
154
+ optionalTimeoutMs,
155
+ options,
156
+ );
149
157
  }
150
158
 
151
159
  await requestMissingFeishuConfiguration(credentials.appId, coreMissing, true, options.onVerification);
@@ -161,15 +169,16 @@ export async function ensureFeishuAppConfiguration(
161
169
  configuration = await readFeishuAppConfiguration(credentials, fetchImpl, options.signal);
162
170
  const remaining = missingFeishuAppConfiguration(configuration);
163
171
  if (!hasMissingConfiguration(coreMissingFeishuAppConfiguration(remaining))) {
164
- if (hasMissingConfiguration(remaining)) {
165
- await requestMissingFeishuConfiguration(credentials.appId, remaining, false, options.onVerification);
166
- }
167
- return {
168
- status: hasMissingConfiguration(remaining) ? "partial" : "updated",
172
+ return completeOptionalFeishuConfiguration(
173
+ credentials,
169
174
  configuration,
170
- added: resolvedMissingConfiguration(missing, remaining),
171
- remaining,
172
- };
175
+ missing,
176
+ fetchImpl,
177
+ sleep,
178
+ pollIntervalMs,
179
+ optionalTimeoutMs,
180
+ options,
181
+ );
173
182
  }
174
183
  lastError = undefined;
175
184
  } catch (error) {
@@ -192,6 +201,112 @@ async function requestMissingFeishuConfiguration(
192
201
  await onVerification?.({ verificationUrl, missing, blocking });
193
202
  }
194
203
 
204
+ async function completeOptionalFeishuConfiguration(
205
+ credentials: FeishuAppCredentials,
206
+ initialConfiguration: FeishuAppConfiguration,
207
+ initialMissing: MissingFeishuAppConfiguration,
208
+ fetchImpl: typeof globalThis.fetch,
209
+ sleep: (milliseconds: number) => Promise<void>,
210
+ pollIntervalMs: number,
211
+ timeoutMs: number,
212
+ options: EnsureFeishuAppConfigurationOptions,
213
+ ): Promise<EnsureFeishuAppConfigurationResult> {
214
+ let configuration = initialConfiguration;
215
+ let remaining = missingFeishuAppConfiguration(configuration);
216
+ if (hasMissingConfiguration(remaining)) {
217
+ await requestMissingFeishuConfiguration(
218
+ credentials.appId,
219
+ remaining,
220
+ false,
221
+ options.onVerification,
222
+ );
223
+ if (!options.optionalSkipSignal?.aborted) {
224
+ const completed = await waitForOptionalFeishuConfiguration(
225
+ credentials,
226
+ configuration,
227
+ fetchImpl,
228
+ sleep,
229
+ pollIntervalMs,
230
+ timeoutMs,
231
+ options.signal,
232
+ options.optionalSkipSignal,
233
+ );
234
+ configuration = completed.configuration;
235
+ remaining = completed.remaining;
236
+ }
237
+ }
238
+ return {
239
+ status: hasMissingConfiguration(remaining) ? "partial" : "updated",
240
+ configuration,
241
+ added: resolvedMissingConfiguration(initialMissing, remaining),
242
+ remaining,
243
+ };
244
+ }
245
+
246
+ async function waitForOptionalFeishuConfiguration(
247
+ credentials: FeishuAppCredentials,
248
+ initialConfiguration: FeishuAppConfiguration,
249
+ fetchImpl: typeof globalThis.fetch,
250
+ sleep: (milliseconds: number) => Promise<void>,
251
+ pollIntervalMs: number,
252
+ timeoutMs: number,
253
+ signal?: AbortSignal,
254
+ optionalSkipSignal?: AbortSignal,
255
+ ): Promise<{
256
+ configuration: FeishuAppConfiguration;
257
+ remaining: MissingFeishuAppConfiguration;
258
+ }> {
259
+ let configuration = initialConfiguration;
260
+ let remaining = missingFeishuAppConfiguration(configuration);
261
+ let remainingMs = timeoutMs;
262
+ while (remainingMs > 0 && hasMissingConfiguration(remaining)) {
263
+ if (optionalSkipSignal?.aborted) break;
264
+ const waitMs = Math.min(pollIntervalMs, remainingMs);
265
+ const waitResult = await sleepWithOptionalSkip(
266
+ sleep,
267
+ waitMs,
268
+ signal,
269
+ optionalSkipSignal,
270
+ );
271
+ if (waitResult === "skipped") break;
272
+ remainingMs -= waitMs;
273
+ try {
274
+ configuration = await readFeishuAppConfiguration(credentials, fetchImpl, signal);
275
+ remaining = missingFeishuAppConfiguration(configuration);
276
+ } catch (error) {
277
+ if (signal?.aborted) throw abortError(signal);
278
+ }
279
+ }
280
+ return { configuration, remaining };
281
+ }
282
+
283
+ async function sleepWithOptionalSkip(
284
+ sleep: (milliseconds: number) => Promise<void>,
285
+ milliseconds: number,
286
+ signal?: AbortSignal,
287
+ optionalSkipSignal?: AbortSignal,
288
+ ): Promise<"elapsed" | "skipped"> {
289
+ if (!optionalSkipSignal) {
290
+ await sleepWithAbort(sleep, milliseconds, signal);
291
+ return "elapsed";
292
+ }
293
+ if (optionalSkipSignal.aborted) return "skipped";
294
+
295
+ let onSkip: (() => void) | undefined;
296
+ const skipped = new Promise<"skipped">((resolve) => {
297
+ onSkip = () => resolve("skipped");
298
+ optionalSkipSignal.addEventListener("abort", onSkip, { once: true });
299
+ });
300
+ try {
301
+ return await Promise.race([
302
+ sleepWithAbort(sleep, milliseconds, signal).then(() => "elapsed" as const),
303
+ skipped,
304
+ ]);
305
+ } finally {
306
+ if (onSkip) optionalSkipSignal.removeEventListener("abort", onSkip);
307
+ }
308
+ }
309
+
195
310
  export function missingFeishuAppConfiguration(configuration: FeishuAppConfiguration): MissingFeishuAppConfiguration {
196
311
  const scopes = new Set(configuration.scopes);
197
312
  const events = new Set(configuration.events);
@@ -0,0 +1,38 @@
1
+ import { createInterface, type Interface } from "node:readline";
2
+
3
+ export interface OptionalAuthorizationSkipListener {
4
+ close(): void;
5
+ }
6
+
7
+ export function listenForOptionalAuthorizationSkip(
8
+ onSkip: () => void,
9
+ ): OptionalAuthorizationSkipListener {
10
+ if (!process.stdin.isTTY) return { close: () => undefined };
11
+
12
+ const readline = createInterface({
13
+ input: process.stdin,
14
+ output: process.stderr,
15
+ });
16
+ const onLine = (value: string): void => {
17
+ if (!isOptionalAuthorizationSkip(value)) {
18
+ process.stderr.write("Enter Y to skip optional authorization, or keep waiting.\n");
19
+ return;
20
+ }
21
+ process.stderr.write("Optional authorization skipped. Initialization will continue.\n");
22
+ onSkip();
23
+ };
24
+ readline.on("line", onLine);
25
+ process.stderr.write("Skip optional authorization? Enter Y and press Enter to skip.\n");
26
+ return {
27
+ close: () => closeReadline(readline, onLine),
28
+ };
29
+ }
30
+
31
+ export function isOptionalAuthorizationSkip(value: string): boolean {
32
+ return value.trim().toLowerCase() === "y";
33
+ }
34
+
35
+ function closeReadline(readline: Interface, onLine: (value: string) => void): void {
36
+ readline.removeListener("line", onLine);
37
+ readline.close();
38
+ }
@@ -0,0 +1,22 @@
1
+ import qrcode from "qrcode-terminal";
2
+
3
+ export interface VerificationOutputOptions {
4
+ verificationUrl: string;
5
+ json: boolean;
6
+ qrInstruction: string;
7
+ }
8
+
9
+ export function printVerificationQrAndLink(
10
+ options: VerificationOutputOptions,
11
+ write: (value: string) => void = (value) => process.stderr.write(value),
12
+ renderQr: (
13
+ value: string,
14
+ callback: (output: string) => void,
15
+ ) => void = (value, callback) => qrcode.generate(value, { small: true }, callback),
16
+ ): void {
17
+ if (!options.json) {
18
+ write(`\n${options.qrInstruction}\n\n`);
19
+ renderQr(options.verificationUrl, (output) => write(`${output}\n`));
20
+ }
21
+ write(`Authorization link:\n${options.verificationUrl}\n\n`);
22
+ }
package/src/cli.ts CHANGED
@@ -2,7 +2,6 @@
2
2
  import fs from "node:fs";
3
3
  import { spawnSync } from "node:child_process";
4
4
  import { fileURLToPath } from "node:url";
5
- import qrcode from "qrcode-terminal";
6
5
  import { loadConfig, loadConfigWithoutEnvironmentMutation } from "./config/loadConfig.js";
7
6
  import { sendControlRequest, isServerReachable } from "./cli/LocalControlClient.js";
8
7
  import {
@@ -21,6 +20,10 @@ import {
21
20
  type InitializationStatus,
22
21
  } from "./cli/Initializer.js";
23
22
  import { parseInitCommandOptions, type InitCommandOptions } from "./cli/initOptions.js";
23
+ import {
24
+ listenForOptionalAuthorizationSkip,
25
+ type OptionalAuthorizationSkipListener,
26
+ } from "./cli/OptionalAuthorizationSkip.js";
24
27
  import {
25
28
  registerFeishuApp,
26
29
  type FeishuAppCredentials,
@@ -36,6 +39,7 @@ import { formatServerStatus, withConfiguredFeishuAppId } from "./cli/serverStatu
36
39
  import { resolveSystemSkillsRoot, SkillRegistry, type SkillRegistrationStatus } from "./cli/SkillRegistry.js";
37
40
  import { readPackageVersion } from "./cli/packageVersion.js";
38
41
  import { applyExplicitProfile, parseGlobalOptions } from "./cli/profile.js";
42
+ import { printVerificationQrAndLink } from "./cli/VerificationOutput.js";
39
43
  import {
40
44
  startInitializedServer,
41
45
  startServer,
@@ -178,10 +182,18 @@ async function initializeFeishu(
178
182
  }
179
183
 
180
184
  if (!options.json) process.stdout.write("\nChecking Lark app permissions, events, and callbacks...\n");
185
+ const optionalSkip = new AbortController();
186
+ let skipListener: OptionalAuthorizationSkipListener | undefined;
181
187
  const configuration = await ensureFeishuAppConfiguration(credentials, {
182
188
  signal: controller.signal,
183
- onVerification: (challenge) => printFeishuConfigurationVerification(challenge, options.json),
184
- });
189
+ optionalSkipSignal: optionalSkip.signal,
190
+ onVerification: (challenge) => {
191
+ printFeishuConfigurationVerification(challenge, options.json);
192
+ if (!challenge.blocking) {
193
+ skipListener = listenForOptionalAuthorizationSkip(() => optionalSkip.abort());
194
+ }
195
+ },
196
+ }).finally(() => skipListener?.close());
185
197
  return {
186
198
  status,
187
199
  appId: credentials.appId,
@@ -544,13 +556,13 @@ function printServerStartResult(result: ServerStartResult): void {
544
556
  }
545
557
 
546
558
  function printFeishuVerification(challenge: FeishuAppRegistrationChallenge, json: boolean): void {
547
- process.stderr.write("\nScan with Lark or open the link below in a browser to create the bot app:\n\n");
548
- process.stderr.write(`${challenge.verificationUrl}\n\n`);
549
- if (!json) {
550
- qrcode.generate(challenge.verificationUrl, { small: true }, (output) => {
551
- process.stderr.write(`${output}\n`);
552
- });
553
- }
559
+ printVerificationQrAndLink(
560
+ {
561
+ verificationUrl: challenge.verificationUrl,
562
+ json,
563
+ qrInstruction: "Scan this QR code with Lark to create the bot app:",
564
+ },
565
+ );
554
566
  process.stderr.write(`The link expires in about ${Math.ceil(challenge.expiresIn / 60)} minutes. Waiting for confirmation...\n`);
555
567
  }
556
568
 
@@ -568,17 +580,17 @@ function printFeishuConfigurationVerification(
568
580
  if (challenge.missing.callbacks.length > 0) {
569
581
  process.stderr.write(`Callbacks: ${challenge.missing.callbacks.join(", ")}\n`);
570
582
  }
571
- process.stderr.write("\nScan with Lark or open the link below in a browser to complete the configuration:\n\n");
572
- process.stderr.write(`${challenge.verificationUrl}\n\n`);
573
- if (!json) {
574
- qrcode.generate(challenge.verificationUrl, { small: true }, (output) => {
575
- process.stderr.write(`${output}\n`);
576
- });
577
- }
583
+ printVerificationQrAndLink(
584
+ {
585
+ verificationUrl: challenge.verificationUrl,
586
+ json,
587
+ qrInstruction: "Scan this QR code with Lark to complete the configuration:",
588
+ },
589
+ );
578
590
  if (challenge.blocking) {
579
591
  process.stderr.write("Waiting for the core scopes and message event to become active...\n");
580
592
  } else {
581
- process.stderr.write("These optional items do not block basic messaging. Initialization will continue; grant them later using the link.\n");
593
+ process.stderr.write("Waiting up to 5 minutes for these optional items to become active...\n");
582
594
  }
583
595
  }
584
596