speccore 5.96.1 → 5.97.0
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.
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
* CLI: speccore synthesize -I <迭代名>
|
|
9
9
|
*
|
|
10
10
|
* 模式 B: 全自动三阶段(--full)
|
|
11
|
-
* Phase 1: 逐端分析 →
|
|
12
|
-
* Phase 2: 跨端综合 →
|
|
13
|
-
* Phase 3: 功能单元合成 → REQUIREMENT.md
|
|
14
|
-
* 旧版自动归档到
|
|
11
|
+
* Phase 1: 逐端分析 → .speccore/GLOBAL/platforms/{端名}/ 各端独立 specs
|
|
12
|
+
* Phase 2: 跨端综合 → .speccore/GLOBAL/synthesis/ CROSS_PLATFORM.md + ARCHITECTURE.md + TECH_FULL.md
|
|
13
|
+
* Phase 3: 功能单元合成 → Iteration-NNN/010-requirements/REQUIREMENT.md
|
|
14
|
+
* 旧版自动归档到 .speccore/GLOBAL/snapshots/{时间戳}/
|
|
15
15
|
* CLI: speccore synthesize --full -I <迭代名>
|
|
16
16
|
*
|
|
17
17
|
* 模式 C: 单阶段执行(--phase N)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synthesize.d.ts","sourceRoot":"","sources":["../../src/commands/synthesize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAQH,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAkCD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"synthesize.d.ts","sourceRoot":"","sources":["../../src/commands/synthesize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAQH,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAkCD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiDjF"}
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
* CLI: speccore synthesize -I <迭代名>
|
|
10
10
|
*
|
|
11
11
|
* 模式 B: 全自动三阶段(--full)
|
|
12
|
-
* Phase 1: 逐端分析 →
|
|
13
|
-
* Phase 2: 跨端综合 →
|
|
14
|
-
* Phase 3: 功能单元合成 → REQUIREMENT.md
|
|
15
|
-
* 旧版自动归档到
|
|
12
|
+
* Phase 1: 逐端分析 → .speccore/GLOBAL/platforms/{端名}/ 各端独立 specs
|
|
13
|
+
* Phase 2: 跨端综合 → .speccore/GLOBAL/synthesis/ CROSS_PLATFORM.md + ARCHITECTURE.md + TECH_FULL.md
|
|
14
|
+
* Phase 3: 功能单元合成 → Iteration-NNN/010-requirements/REQUIREMENT.md
|
|
15
|
+
* 旧版自动归档到 .speccore/GLOBAL/snapshots/{时间戳}/
|
|
16
16
|
* CLI: speccore synthesize --full -I <迭代名>
|
|
17
17
|
*
|
|
18
18
|
* 模式 C: 单阶段执行(--phase N)
|
|
@@ -64,6 +64,8 @@ async function synthesizeCommand(options) {
|
|
|
64
64
|
const specDir = (0, path_1.join)(iterDir, '020-specs');
|
|
65
65
|
const convDir = (0, path_1.join)(reqDir, 'converted');
|
|
66
66
|
const outputPath = (0, path_1.join)(reqDir, 'REQUIREMENT.md');
|
|
67
|
+
// 全局层目录:Phase 1/2 写入此处
|
|
68
|
+
const globalDir = (0, path_1.join)('.speccore', 'GLOBAL');
|
|
67
69
|
// ── Apply 模式(简单合成,向后兼容)──
|
|
68
70
|
if (options.apply && !options.applyPhase) {
|
|
69
71
|
await (0, fs_extra_1.ensureDir)(reqDir);
|
|
@@ -76,23 +78,23 @@ async function synthesizeCommand(options) {
|
|
|
76
78
|
}
|
|
77
79
|
// ── Apply Phase 模式:接收某阶段的 AI 结果写入文件 ──
|
|
78
80
|
if (options.applyPhase && options.apply) {
|
|
79
|
-
await handleApplyPhase(iter, iterDir, specDir, reqDir, parseInt(options.applyPhase), options.apply);
|
|
81
|
+
await handleApplyPhase(iter, iterDir, globalDir, specDir, reqDir, parseInt(options.applyPhase), options.apply);
|
|
80
82
|
return;
|
|
81
83
|
}
|
|
82
84
|
// ── --full 模式:全自动三阶段 ──
|
|
83
85
|
if (options.full) {
|
|
84
|
-
await runFullPipeline(iter, iterDir, specDir, reqDir, convDir, options.withCode);
|
|
86
|
+
await runFullPipeline(iter, iterDir, globalDir, specDir, reqDir, convDir, options.withCode);
|
|
85
87
|
return;
|
|
86
88
|
}
|
|
87
89
|
// ── --phase N 模式:单阶段执行 ──
|
|
88
90
|
if (options.phase) {
|
|
89
91
|
const phaseNum = parseInt(options.phase);
|
|
90
92
|
if (phaseNum === 1)
|
|
91
|
-
await runPhase1(iter, iterDir,
|
|
93
|
+
await runPhase1(iter, iterDir, globalDir, reqDir);
|
|
92
94
|
else if (phaseNum === 2)
|
|
93
|
-
await runPhase2(iter, iterDir,
|
|
95
|
+
await runPhase2(iter, iterDir, globalDir, specDir);
|
|
94
96
|
else if (phaseNum === 3)
|
|
95
|
-
await runPhase3(iter, iterDir, specDir, reqDir, convDir, options.withCode);
|
|
97
|
+
await runPhase3(iter, iterDir, globalDir, specDir, reqDir, convDir, options.withCode);
|
|
96
98
|
else
|
|
97
99
|
logger_1.logger.error(`无效阶段: ${options.phase},可选 1/2/3`);
|
|
98
100
|
return;
|
|
@@ -103,24 +105,23 @@ async function synthesizeCommand(options) {
|
|
|
103
105
|
// ================================================================
|
|
104
106
|
// Apply Phase 处理
|
|
105
107
|
// ================================================================
|
|
106
|
-
async function handleApplyPhase(iter, iterDir, specDir, reqDir, phase, content) {
|
|
107
|
-
await (0, fs_extra_1.ensureDir)(specDir);
|
|
108
|
+
async function handleApplyPhase(iter, iterDir, globalDir, specDir, reqDir, phase, content) {
|
|
108
109
|
if (phase === 1) {
|
|
109
|
-
// Phase 1 apply:
|
|
110
|
-
const platformsDir = (0, path_1.join)(
|
|
110
|
+
// Phase 1 apply: 写入全局层 platforms/(按端分目录)
|
|
111
|
+
const platformsDir = (0, path_1.join)(globalDir, 'platforms');
|
|
111
112
|
await (0, fs_extra_1.ensureDir)(platformsDir);
|
|
112
113
|
const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 16);
|
|
113
114
|
await (0, fs_extra_1.writeFile)((0, path_1.join)(platformsDir, `ANALYSIS-${timestamp}.md`), content);
|
|
114
|
-
logger_1.logger.success(`✅ Phase 1 结果已写入:
|
|
115
|
+
logger_1.logger.success(`✅ Phase 1 结果已写入: .speccore/GLOBAL/platforms/`);
|
|
115
116
|
// 提示下一阶段
|
|
116
117
|
logger_1.logger.info(`\n 📌 下一步: speccore synthesize --phase 2 -I ${iter}`);
|
|
117
118
|
}
|
|
118
119
|
else if (phase === 2) {
|
|
119
|
-
// Phase 2 apply: 解析分隔标记,写入 synthesis/ 下的独立文件
|
|
120
|
-
const synthesisDir = (0, path_1.join)(
|
|
120
|
+
// Phase 2 apply: 解析分隔标记,写入 GLOBAL/synthesis/ 下的独立文件
|
|
121
|
+
const synthesisDir = (0, path_1.join)(globalDir, 'synthesis');
|
|
121
122
|
await (0, fs_extra_1.ensureDir)(synthesisDir);
|
|
122
|
-
// 备份旧版到 snapshots/
|
|
123
|
-
const snapshotsDir = (0, path_1.join)(
|
|
123
|
+
// 备份旧版到 GLOBAL/snapshots/
|
|
124
|
+
const snapshotsDir = (0, path_1.join)(globalDir, 'snapshots');
|
|
124
125
|
const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 16);
|
|
125
126
|
if (await (0, fs_extra_1.pathExists)(synthesisDir)) {
|
|
126
127
|
const existingFiles = (await (0, fs_extra_1.readdir)(synthesisDir)).filter(f => f.endsWith('.md'));
|
|
@@ -159,7 +160,7 @@ async function handleApplyPhase(iter, iterDir, specDir, reqDir, phase, content)
|
|
|
159
160
|
if (!markers.some(m => content.includes(m))) {
|
|
160
161
|
await (0, fs_extra_1.writeFile)((0, path_1.join)(synthesisDir, 'CROSS_PLATFORM.md'), content);
|
|
161
162
|
}
|
|
162
|
-
logger_1.logger.success(`✅ Phase 2 结果已写入:
|
|
163
|
+
logger_1.logger.success(`✅ Phase 2 结果已写入: .speccore/GLOBAL/synthesis/`);
|
|
163
164
|
logger_1.logger.info(` 📄 CROSS_PLATFORM.md — 跨端关系图`);
|
|
164
165
|
logger_1.logger.info(` 📄 ARCHITECTURE.md — 全量架构`);
|
|
165
166
|
logger_1.logger.info(` 📄 TECH_FULL.md — 全量技术方案`);
|
|
@@ -178,7 +179,7 @@ async function handleApplyPhase(iter, iterDir, specDir, reqDir, phase, content)
|
|
|
178
179
|
// ================================================================
|
|
179
180
|
// --full 全自动三阶段流水线
|
|
180
181
|
// ================================================================
|
|
181
|
-
async function runFullPipeline(iter, iterDir, specDir, reqDir, convDir, withCode) {
|
|
182
|
+
async function runFullPipeline(iter, iterDir, globalDir, specDir, reqDir, convDir, withCode) {
|
|
182
183
|
const entries = await parseConstitution();
|
|
183
184
|
if (entries.length === 0) {
|
|
184
185
|
logger_1.logger.warn('CONSTITUTION.md 未配置多工程,回退到简单合成模式');
|
|
@@ -192,29 +193,29 @@ async function runFullPipeline(iter, iterDir, specDir, reqDir, convDir, withCode
|
|
|
192
193
|
}
|
|
193
194
|
// Phase 1: 逐端分析
|
|
194
195
|
logger_1.logger.info(`\n━━━ Phase 1/3: 逐端分析 ━━━`);
|
|
195
|
-
await runPhase1(iter, iterDir,
|
|
196
|
+
await runPhase1(iter, iterDir, globalDir, reqDir);
|
|
196
197
|
// Phase 2: 跨端综合
|
|
197
198
|
logger_1.logger.info(`\n━━━ Phase 2/3: 跨端综合 ━━━`);
|
|
198
|
-
await runPhase2(iter, iterDir,
|
|
199
|
+
await runPhase2(iter, iterDir, globalDir, specDir);
|
|
199
200
|
// Phase 3: 功能单元合成
|
|
200
201
|
logger_1.logger.info(`\n━━━ Phase 3/3: 功能单元需求合成 ━━━`);
|
|
201
|
-
await runPhase3(iter, iterDir, specDir, reqDir, convDir, withCode);
|
|
202
|
+
await runPhase3(iter, iterDir, globalDir, specDir, reqDir, convDir, withCode);
|
|
202
203
|
logger_1.logger.info(`\n✅ 全量分析合成完成!`);
|
|
203
|
-
logger_1.logger.info(` 📄
|
|
204
|
-
logger_1.logger.info(` 📄
|
|
205
|
-
logger_1.logger.info(` 📄
|
|
204
|
+
logger_1.logger.info(` 📄 .speccore/GLOBAL/platforms/ ← 各端分析结果`);
|
|
205
|
+
logger_1.logger.info(` 📄 .speccore/GLOBAL/synthesis/ ← 跨端综合文档`);
|
|
206
|
+
logger_1.logger.info(` 📄 .speccore/GLOBAL/snapshots/ ← 历史快照`);
|
|
206
207
|
logger_1.logger.info(` 📄 010-requirements/REQUIREMENT.md ← 按功能单元组织的完整需求`);
|
|
207
208
|
}
|
|
208
209
|
// ================================================================
|
|
209
210
|
// Phase 1: 逐端分析
|
|
210
211
|
// ================================================================
|
|
211
|
-
async function runPhase1(iter, iterDir,
|
|
212
|
+
async function runPhase1(iter, iterDir, globalDir, reqDir) {
|
|
212
213
|
const entries = await parseConstitution();
|
|
213
214
|
if (entries.length === 0) {
|
|
214
215
|
logger_1.logger.warn('CONSTITUTION.md 未配置工程列表,无法执行逐端分析');
|
|
215
216
|
return;
|
|
216
217
|
}
|
|
217
|
-
const platformsDir = (0, path_1.join)(
|
|
218
|
+
const platformsDir = (0, path_1.join)(globalDir, 'platforms');
|
|
218
219
|
await (0, fs_extra_1.ensureDir)(platformsDir);
|
|
219
220
|
// 读取各端需求文档
|
|
220
221
|
const platformDocs = [];
|
|
@@ -240,6 +241,24 @@ async function runPhase1(iter, iterDir, specDir, reqDir) {
|
|
|
240
241
|
}
|
|
241
242
|
}
|
|
242
243
|
}
|
|
244
|
+
// 也读取 GLOBAL/platforms/ 下用户自建的文档作为补充
|
|
245
|
+
const globalPlatformsDir = (0, path_1.join)(globalDir, 'platforms');
|
|
246
|
+
if (await (0, fs_extra_1.pathExists)(globalPlatformsDir)) {
|
|
247
|
+
const gpEntries = await (0, fs_extra_1.readdir)(globalPlatformsDir, { withFileTypes: true });
|
|
248
|
+
for (const entry of gpEntries) {
|
|
249
|
+
if (entry.isDirectory()) {
|
|
250
|
+
const subFiles = await (0, fs_extra_1.readdir)((0, path_1.join)(globalPlatformsDir, entry.name));
|
|
251
|
+
for (const f of subFiles.filter(f => f.endsWith('.md') && !(0, task_utils_1.isTimestampBackup)(f))) {
|
|
252
|
+
const content = await (0, fs_extra_1.readFile)((0, path_1.join)(globalPlatformsDir, entry.name, f), 'utf-8');
|
|
253
|
+
platformDocs.push({ platform: entry.name, name: `GLOBAL/platforms/${entry.name}/${f}`, content });
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
else if (entry.name.endsWith('.md') && !(0, task_utils_1.isTimestampBackup)(entry.name)) {
|
|
257
|
+
const content = await (0, fs_extra_1.readFile)((0, path_1.join)(globalPlatformsDir, entry.name), 'utf-8');
|
|
258
|
+
platformDocs.push({ platform: 'global', name: `GLOBAL/platforms/${entry.name}`, content });
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
243
262
|
if (platformDocs.length === 0) {
|
|
244
263
|
logger_1.logger.warn('未找到各端需求文档,跳过 Phase 1');
|
|
245
264
|
return;
|
|
@@ -276,37 +295,90 @@ function buildPhase1Prompt(iter, entries, platformDocs) {
|
|
|
276
295
|
p += `\n\n---\n\n`;
|
|
277
296
|
}
|
|
278
297
|
}
|
|
279
|
-
p += `##
|
|
280
|
-
p +=
|
|
281
|
-
p +=
|
|
282
|
-
p +=
|
|
283
|
-
p +=
|
|
298
|
+
p += `## 分析要求(业内专业级)\n\n`;
|
|
299
|
+
p += `对每个端独立分析,必须覆盖以下 **10 大维度**:\n\n`;
|
|
300
|
+
p += `### 1. 功能清单与用户故事\n`;
|
|
301
|
+
p += `- 功能列表(含优先级 P0/P1/P2)\n`;
|
|
302
|
+
p += `- 每个功能的用户故事:As a {角色}, I want {操作}, so that {价值}\n`;
|
|
303
|
+
p += `- 功能边界说明(做什么、不做什么)\n\n`;
|
|
304
|
+
p += `### 2. 接口定义(API 规格)\n`;
|
|
305
|
+
p += `- RESTful 接口表:方法 | 路径 | 请求参数 | 响应结构 | 状态码 | 说明\n`;
|
|
306
|
+
p += `- 请求/响应示例(JSON)\n`;
|
|
307
|
+
p += `- 错误码定义(按模块划分段)\n`;
|
|
308
|
+
p += `- 分页/排序/过滤约定\n\n`;
|
|
309
|
+
p += `### 3. 数据模型\n`;
|
|
310
|
+
p += `- 实体关系图(ER 描述)\n`;
|
|
311
|
+
p += `- 字段级定义:字段名 | 类型 | 长度 | 必填 | 默认值 | 约束 | 说明\n`;
|
|
312
|
+
p += `- 索引策略(主键/唯一/普通/复合)\n`;
|
|
313
|
+
p += `- 枚举值定义\n\n`;
|
|
314
|
+
p += `### 4. 业务规则\n`;
|
|
315
|
+
p += `- 核心业务逻辑(含边界条件和异常流)\n`;
|
|
316
|
+
p += `- 状态机流转(如有):状态 → 触发条件 → 目标状态\n`;
|
|
317
|
+
p += `- 数据校验规则(前端 + 后端双重校验)\n\n`;
|
|
318
|
+
p += `### 5. 安全分析\n`;
|
|
319
|
+
p += `- 认证方式(JWT/OAuth/Session)\n`;
|
|
320
|
+
p += `- 授权模型(RBAC/ABAC)\n`;
|
|
321
|
+
p += `- 敏感数据处理(脱敏/加密/日志屏蔽)\n`;
|
|
322
|
+
p += `- 常见防护(XSS/CSRF/SQL注入/越权访问)\n\n`;
|
|
323
|
+
p += `### 6. 性能特征\n`;
|
|
324
|
+
p += `- 预估 QPS / 并发量\n`;
|
|
325
|
+
p += `- 慢操作识别(批量导入/报表/搜索)\n`;
|
|
326
|
+
p += `- 缓存策略(哪些数据缓存/失效策略)\n`;
|
|
327
|
+
p += `- 数据库优化(查询优化/分表策略)\n\n`;
|
|
328
|
+
p += `### 7. 错误处理策略\n`;
|
|
329
|
+
p += `- 全局异常处理方案\n`;
|
|
330
|
+
p += `- 重试/降级/熔断策略\n`;
|
|
331
|
+
p += `- 用户可见的错误提示规范\n\n`;
|
|
332
|
+
p += `### 8. 测试策略\n`;
|
|
333
|
+
p += `- 单元测试覆盖范围\n`;
|
|
334
|
+
p += `- 集成测试场景\n`;
|
|
335
|
+
p += `- 边界用例和异常流测试\n`;
|
|
336
|
+
p += `- E2E 测试关键路径\n\n`;
|
|
337
|
+
p += `### 9. 第三方依赖\n`;
|
|
338
|
+
p += `- 外部 API / SDK / 中间件(名称/版本/用途)\n`;
|
|
339
|
+
p += `- 数据迁移方案(如有 Schema 变更)\n`;
|
|
340
|
+
p += `- 配置管理(环境变量/Feature Flag)\n\n`;
|
|
341
|
+
p += `### 10. 跨端关联点\n`;
|
|
342
|
+
p += `- 该端哪些功能/接口与其他端有关联\n`;
|
|
343
|
+
p += `- 数据流向(谁生产谁消费)\n`;
|
|
344
|
+
p += `- 共享的数据实体和状态\n\n`;
|
|
284
345
|
p += `## 输出格式\n\n`;
|
|
346
|
+
p += `每个端输出一份完整文档,包含上述 10 个章节。\n`;
|
|
347
|
+
p += `如果某个维度在当前需求中没有内容,写“暂无”而不是省略章节。\n\n`;
|
|
285
348
|
p += `\`\`\`markdown\n`;
|
|
286
349
|
p += `# {端名} 端需求分析\n\n`;
|
|
287
|
-
p += `## 1.
|
|
288
|
-
p += `| 功能 |
|
|
350
|
+
p += `## 1. 功能清单与用户故事\n`;
|
|
351
|
+
p += `| # | 功能 | 优先级 | 用户故事 | 边界 |\n|:--|:--|:--:|:--|:--|\n\n`;
|
|
289
352
|
p += `## 2. 接口定义\n`;
|
|
290
353
|
p += `### {模块名}\n`;
|
|
291
|
-
p += `| 方法 | 路径 | 参数 | 响应 | 说明 |\n
|
|
354
|
+
p += `| 方法 | 路径 | 参数 | 响应 | 状态码 | 说明 |\n|:--|:--|:--|:--|:--|:--|\n\n`;
|
|
292
355
|
p += `## 3. 数据模型\n`;
|
|
293
356
|
p += `### {实体名}\n`;
|
|
294
|
-
p += `| 字段 | 类型 |
|
|
357
|
+
p += `| 字段 | 类型 | 必填 | 默认值 | 约束 | 说明 |\n|:--|:--|:--:|:--|:--|:--|\n\n`;
|
|
295
358
|
p += `## 4. 业务规则\n`;
|
|
296
|
-
p +=
|
|
297
|
-
p +=
|
|
298
|
-
p +=
|
|
359
|
+
p += `### {规则名}\n`;
|
|
360
|
+
p += `- 触发条件 / 处理逻辑 / 异常流\n\n`;
|
|
361
|
+
p += `## 5. 安全分析\n`;
|
|
362
|
+
p += `## 6. 性能特征\n`;
|
|
363
|
+
p += `## 7. 错误处理策略\n`;
|
|
364
|
+
p += `## 8. 测试策略\n`;
|
|
365
|
+
p += `## 9. 第三方依赖\n`;
|
|
366
|
+
p += `## 10. 跨端关联点\n`;
|
|
299
367
|
p += `\`\`\`\n\n`;
|
|
300
368
|
p += `## 写入命令\n`;
|
|
301
|
-
p += `speccore synthesize --apply-phase 1 '{分析内容}' -I ${iter}\n`;
|
|
369
|
+
p += `speccore synthesize --apply-phase 1 '{分析内容}' -I ${iter}\n\n`;
|
|
370
|
+
p += `## 注意\n`;
|
|
371
|
+
p += `- 如果用户已在 .speccore/GLOBAL/platforms/{端名}/ 下放置了自建文档,以上分析应在其基础上补充完善,不要覆盖已有内容\n`;
|
|
372
|
+
p += `- 需求以产品文档为准,不要臆造需求\n`;
|
|
373
|
+
p += `- 保持原文档中的接口定义、字段说明等细节不丢失\n`;
|
|
302
374
|
return p;
|
|
303
375
|
}
|
|
304
376
|
// ================================================================
|
|
305
377
|
// Phase 2: 跨端综合
|
|
306
378
|
// ================================================================
|
|
307
|
-
async function runPhase2(iter, iterDir,
|
|
308
|
-
// 读取 Phase 1
|
|
309
|
-
const platformsDir = (0, path_1.join)(
|
|
379
|
+
async function runPhase2(iter, iterDir, globalDir, specDir) {
|
|
380
|
+
// 读取 Phase 1 的结果(从 GLOBAL/platforms/)
|
|
381
|
+
const platformsDir = (0, path_1.join)(globalDir, 'platforms');
|
|
310
382
|
if (!await (0, fs_extra_1.pathExists)(platformsDir)) {
|
|
311
383
|
logger_1.logger.warn('未找到 Phase 1 结果,请先运行: speccore synthesize --phase 1');
|
|
312
384
|
return;
|
|
@@ -340,6 +412,15 @@ async function runPhase2(iter, iterDir, specDir, reqDir) {
|
|
|
340
412
|
existingSpecs.push({ name: f, content });
|
|
341
413
|
}
|
|
342
414
|
}
|
|
415
|
+
// 也读取 GLOBAL/synthesis/ 下用户自建的文档作为补充
|
|
416
|
+
const synthesisDir = (0, path_1.join)(globalDir, 'synthesis');
|
|
417
|
+
if (await (0, fs_extra_1.pathExists)(synthesisDir)) {
|
|
418
|
+
const synFiles = await (0, fs_extra_1.readdir)(synthesisDir);
|
|
419
|
+
for (const f of synFiles.filter(f => f.endsWith('.md') && !(0, task_utils_1.isTimestampBackup)(f))) {
|
|
420
|
+
const content = await (0, fs_extra_1.readFile)((0, path_1.join)(synthesisDir, f), 'utf-8');
|
|
421
|
+
existingSpecs.push({ name: `GLOBAL/synthesis/${f}`, content });
|
|
422
|
+
}
|
|
423
|
+
}
|
|
343
424
|
const prompt = buildPhase2Prompt(iter, platformSpecs, existingSpecs);
|
|
344
425
|
process.stdout.write(`[SPECCORE_PHASE2]\n${prompt}`);
|
|
345
426
|
process.exitCode = 11;
|
|
@@ -365,22 +446,32 @@ function buildPhase2Prompt(iter, platformSpecs, existingSpecs) {
|
|
|
365
446
|
p += `\n\n---\n\n`;
|
|
366
447
|
}
|
|
367
448
|
}
|
|
368
|
-
p += `##
|
|
369
|
-
p += `### CROSS_PLATFORM.md\n`;
|
|
370
|
-
p += `1.
|
|
371
|
-
p += `2.
|
|
372
|
-
p += `3.
|
|
373
|
-
p += `4.
|
|
374
|
-
p +=
|
|
375
|
-
p += `
|
|
376
|
-
p +=
|
|
377
|
-
p += `
|
|
378
|
-
p += `
|
|
379
|
-
p +=
|
|
380
|
-
p += `
|
|
381
|
-
p += `
|
|
382
|
-
p += `
|
|
383
|
-
p += `
|
|
449
|
+
p += `## 分析要求(业内专业级)\n\n`;
|
|
450
|
+
p += `### CROSS_PLATFORM.md — 跨端业务关系\n\n`;
|
|
451
|
+
p += `1. **跨端调用关系图**(Mermaid sequenceDiagram/flowchart)\n`;
|
|
452
|
+
p += `2. **接口映射表**:前端操作 → 后端接口 → 数据表,标注所属端\n`;
|
|
453
|
+
p += `3. **数据流向图**:哪些数据在哪些端之间流动,谁是生产者谁是消费者\n`;
|
|
454
|
+
p += `4. **共享实体识别**:哪些数据模型被多端共享,状态同步策略\n`;
|
|
455
|
+
p += `5. **跨端事务一致性**:涉及多端操作的业务流程,如何保证一致性\n`;
|
|
456
|
+
p += `6. **冲突与风险**:接口不匹配、数据格式差异、版本不一致等\n\n`;
|
|
457
|
+
p += `### ARCHITECTURE.md — 全量架构文档\n\n`;
|
|
458
|
+
p += `1. **系统架构图**(Mermaid):含所有端、服务、中间件、数据库\n`;
|
|
459
|
+
p += `2. **服务依赖关系**:调用方向、协议(HTTP/gRPC/MQ)、同步/异步\n`;
|
|
460
|
+
p += `3. **技术栈汇总**:每层的语言/框架/版本/选型理由\n`;
|
|
461
|
+
p += `4. **部署架构**:容器化/编排/环境划分(dev/staging/prod)\n`;
|
|
462
|
+
p += `5. **ADR(架构决策记录)**:关键决策的背景、方案对比、最终选择、理由\n`;
|
|
463
|
+
p += `6. **安全架构**:认证链路、授权模型、数据加密方案、API 网关策略\n`;
|
|
464
|
+
p += `7. **监控告警**:关键指标(QPS/延迟/错误率)、SLA 目标、告警阈值\n`;
|
|
465
|
+
p += `8. **容灾方案**:降级策略、熔断规则、回滚预案、数据备份策略\n\n`;
|
|
466
|
+
p += `### TECH_FULL.md — 全量技术方案\n\n`;
|
|
467
|
+
p += `1. **全量技术方案**:综合各端的实现方案,提取公共部分\n`;
|
|
468
|
+
p += `2. **公共模块/组件识别**:哪些逻辑多端共享,如何复用\n`;
|
|
469
|
+
p += `3. **跨端共享数据模型**:统一的数据定义、类型映射\n`;
|
|
470
|
+
p += `4. **API 版本策略**:向后兼容方案、废弃计划\n`;
|
|
471
|
+
p += `5. **容量规划**:存储增长预估、带宽需求、并发上限\n`;
|
|
472
|
+
p += `6. **数据一致性方案**:分布式事务/最终一致/事件驱动\n`;
|
|
473
|
+
p += `7. **性能优化策略**:缓存层、CDN、数据库优化、异步处理\n`;
|
|
474
|
+
p += `8. **技术风险和约束**:已知风险、技术债、外部依赖风险\n\n`;
|
|
384
475
|
p += `## 输出格式\n\n`;
|
|
385
476
|
p += `请将三个文档用以下分隔标记分开:\n`;
|
|
386
477
|
p += `\`\`\`\n`;
|
|
@@ -389,17 +480,21 @@ function buildPhase2Prompt(iter, platformSpecs, existingSpecs) {
|
|
|
389
480
|
p += `===TECH_FULL===\n{TECH_FULL.md 内容}\n`;
|
|
390
481
|
p += `\`\`\`\n\n`;
|
|
391
482
|
p += `## 写入命令\n`;
|
|
392
|
-
p += `speccore synthesize --apply-phase 2 '{综合内容}' -I ${iter}\n`;
|
|
483
|
+
p += `speccore synthesize --apply-phase 2 '{综合内容}' -I ${iter}\n\n`;
|
|
484
|
+
p += `## 注意\n`;
|
|
485
|
+
p += `- 如果用户已在 .speccore/GLOBAL/synthesis/ 下放置了自建文档,应优先参考其内容\n`;
|
|
486
|
+
p += `- 三个文档都必须输出,用分隔标记分开\n`;
|
|
487
|
+
p += `- 不要省略任何内容,每个章节都要完整\n`;
|
|
393
488
|
return p;
|
|
394
489
|
}
|
|
395
490
|
// ================================================================
|
|
396
491
|
// Phase 3: 按功能单元合成需求文档
|
|
397
492
|
// ================================================================
|
|
398
|
-
async function runPhase3(iter, iterDir, specDir, reqDir, convDir, withCode) {
|
|
399
|
-
//
|
|
493
|
+
async function runPhase3(iter, iterDir, globalDir, specDir, reqDir, convDir, withCode) {
|
|
494
|
+
// 收集所有可用输入:GLOBAL 层各端 specs + 跨端综合 + 迭代层 specs + 原始需求文档
|
|
400
495
|
const allSpecs = [];
|
|
401
|
-
// Phase 1
|
|
402
|
-
const platformsDir = (0, path_1.join)(
|
|
496
|
+
// Phase 1 结果(从 GLOBAL/platforms/)
|
|
497
|
+
const platformsDir = (0, path_1.join)(globalDir, 'platforms');
|
|
403
498
|
if (await (0, fs_extra_1.pathExists)(platformsDir)) {
|
|
404
499
|
const platformEntries = await (0, fs_extra_1.readdir)(platformsDir, { withFileTypes: true });
|
|
405
500
|
for (const entry of platformEntries) {
|
|
@@ -407,20 +502,20 @@ async function runPhase3(iter, iterDir, specDir, reqDir, convDir, withCode) {
|
|
|
407
502
|
const subFiles = await (0, fs_extra_1.readdir)((0, path_1.join)(platformsDir, entry.name));
|
|
408
503
|
for (const f of subFiles.filter(f => f.endsWith('.md'))) {
|
|
409
504
|
const content = await (0, fs_extra_1.readFile)((0, path_1.join)(platformsDir, entry.name, f), 'utf-8');
|
|
410
|
-
allSpecs.push({ name: `platforms/${entry.name}/${f}`, content });
|
|
505
|
+
allSpecs.push({ name: `GLOBAL/platforms/${entry.name}/${f}`, content });
|
|
411
506
|
}
|
|
412
507
|
}
|
|
413
508
|
else if (entry.name.endsWith('.md')) {
|
|
414
509
|
const content = await (0, fs_extra_1.readFile)((0, path_1.join)(platformsDir, entry.name), 'utf-8');
|
|
415
|
-
allSpecs.push({ name: `platforms/${entry.name}`, content });
|
|
510
|
+
allSpecs.push({ name: `GLOBAL/platforms/${entry.name}`, content });
|
|
416
511
|
}
|
|
417
512
|
}
|
|
418
513
|
}
|
|
419
|
-
// Phase 2 结果(从 synthesis
|
|
420
|
-
const synthesisDir = (0, path_1.join)(
|
|
514
|
+
// Phase 2 结果(从 GLOBAL/synthesis/)
|
|
515
|
+
const synthesisDir = (0, path_1.join)(globalDir, 'synthesis');
|
|
421
516
|
if (await (0, fs_extra_1.pathExists)(synthesisDir)) {
|
|
422
517
|
for (const f of (await (0, fs_extra_1.readdir)(synthesisDir)).filter(f => f.endsWith('.md'))) {
|
|
423
|
-
allSpecs.push({ name: `synthesis/${f}`, content: await (0, fs_extra_1.readFile)((0, path_1.join)(synthesisDir, f), 'utf-8') });
|
|
518
|
+
allSpecs.push({ name: `GLOBAL/synthesis/${f}`, content: await (0, fs_extra_1.readFile)((0, path_1.join)(synthesisDir, f), 'utf-8') });
|
|
424
519
|
}
|
|
425
520
|
}
|
|
426
521
|
// 原始需求文档
|
|
@@ -469,37 +564,69 @@ function buildPhase3Prompt(iter, allSpecs, sourceDocs) {
|
|
|
469
564
|
p += `\n\n---\n\n`;
|
|
470
565
|
}
|
|
471
566
|
}
|
|
472
|
-
p += `##
|
|
567
|
+
p += `## 合成原则(业内专业级)\n\n`;
|
|
473
568
|
p += `1. **按功能单元组织**:一个功能单元一个章节,不按端拆分\n`;
|
|
474
|
-
p += `2.
|
|
569
|
+
p += `2. **全端聚合**:每个功能单元包含所有相关端的需求\n`;
|
|
475
570
|
p += `3. **公共逻辑只写一次**:多端共享的逻辑放在章节开头\n`;
|
|
476
571
|
p += `4. **端差异用子标题**:\`#### {端名} 端\` 子标题标出差异\n`;
|
|
477
572
|
p += `5. **接口汇总**:同一功能的接口放一起,用表格标注所属端\n`;
|
|
478
|
-
p += `6.
|
|
479
|
-
p +=
|
|
573
|
+
p += `6. **冲突标记**:需求矛盾用 ⚠️ 标注,汇总到“待确认事项”\n\n`;
|
|
574
|
+
p += `## 每个功能单元必须包含的内容\n\n`;
|
|
575
|
+
p += `### A. 用户故事与验收标准\n`;
|
|
576
|
+
p += `- 用户故事:As a {角色}, I want {操作}, so that {价值}\n`;
|
|
577
|
+
p += `- 验收标准(Given/When/Then 格式):\n`;
|
|
578
|
+
p += ` - Given {前置条件}, When {操作}, Then {预期结果}\n\n`;
|
|
579
|
+
p += `### B. 各端需求详情\n`;
|
|
580
|
+
p += `- 后端:API 定义、数据模型、业务规则、错误码\n`;
|
|
581
|
+
p += `- 前端:页面/组件/路由/交互逻辑/状态管理\n`;
|
|
582
|
+
p += `- 管理端:管理页面/操作流程/权限控制\n\n`;
|
|
583
|
+
p += `### C. 接口汇总\n`;
|
|
584
|
+
p += `- 统一接口表格:方法 | 路径 | 说明 | 端 | 状态码\n`;
|
|
585
|
+
p += `- 请求/响应示例(JSON)\n\n`;
|
|
586
|
+
p += `### D. 数据字典\n`;
|
|
587
|
+
p += `- 字段级定义:字段名 | 类型 | 必填 | 默认值 | 约束 | 枚举值 | 说明\n`;
|
|
588
|
+
p += `- 状态机流转(如有):状态 → 触发条件 → 目标状态\n\n`;
|
|
589
|
+
p += `### E. 非功能需求\n`;
|
|
590
|
+
p += `- 性能要求(响应时间/并发量)\n`;
|
|
591
|
+
p += `- 安全要求(认证/授权/数据保护)\n`;
|
|
592
|
+
p += `- 兼容性要求(浏览器/设备/系统版本)\n`;
|
|
593
|
+
p += `- 可用性要求(SLA/容灾)\n\n`;
|
|
594
|
+
p += `### F. 测试要点\n`;
|
|
595
|
+
p += `- 关键测试场景\n`;
|
|
596
|
+
p += `- 边界用例\n`;
|
|
597
|
+
p += `- 跨端集成测试点\n\n`;
|
|
480
598
|
p += `## 输出结构\n\n`;
|
|
481
599
|
p += `\`\`\`markdown\n`;
|
|
482
600
|
p += `# ${iter} 迭代综合需求文档\n\n`;
|
|
483
601
|
p += `> 全量分析合成 | 生成时间: {当前日期}\n\n`;
|
|
484
602
|
p += `## 1. 需求概述\n`;
|
|
485
|
-
p += `>
|
|
603
|
+
p += `> 整体业务背景、目标用户、核心场景、成功指标\n\n`;
|
|
486
604
|
p += `## 2. 功能单元\n\n`;
|
|
487
|
-
p += `### 2.1 {功能单元名}\n`;
|
|
488
|
-
p +=
|
|
605
|
+
p += `### 2.1 {功能单元名}\n\n`;
|
|
606
|
+
p += `#### 用户故事\n`;
|
|
607
|
+
p += `- As a {角色}, I want {操作}, so that {价值}\n\n`;
|
|
608
|
+
p += `#### 验收标准\n`;
|
|
609
|
+
p += `- Given {前置}, When {操作}, Then {结果}\n\n`;
|
|
489
610
|
p += `#### 后端\n`;
|
|
490
|
-
p += `- API
|
|
611
|
+
p += `- API 定义、数据模型、业务规则、错误码\n\n`;
|
|
491
612
|
p += `#### Web 前端\n`;
|
|
492
613
|
p += `- 页面、组件、交互逻辑\n\n`;
|
|
493
614
|
p += `#### Admin 端\n`;
|
|
494
615
|
p += `- 管理页面、操作流程\n\n`;
|
|
495
616
|
p += `#### 接口汇总\n`;
|
|
496
|
-
p += `| 方法 | 路径 | 说明 | 端 |\n
|
|
497
|
-
p += `####
|
|
498
|
-
p +=
|
|
617
|
+
p += `| 方法 | 路径 | 说明 | 端 | 状态码 |\n|:--|:--|:--|:--|:--|\n\n`;
|
|
618
|
+
p += `#### 数据字典\n`;
|
|
619
|
+
p += `| 字段 | 类型 | 必填 | 默认值 | 约束 | 枚举值 | 说明 |\n|:--|:--|:--:|:--|:--|:--|:--|\n\n`;
|
|
620
|
+
p += `#### 非功能需求\n`;
|
|
621
|
+
p += `- 性能 / 安全 / 兼容性\n\n`;
|
|
622
|
+
p += `#### 测试要点\n`;
|
|
623
|
+
p += `- 关键场景 / 边界用例\n\n`;
|
|
499
624
|
p += `### 2.2 {功能单元名}\n`;
|
|
500
625
|
p += `...\n\n`;
|
|
501
|
-
p += `## 3.
|
|
626
|
+
p += `## 3. 全局非功能需求\n`;
|
|
627
|
+
p += `> 跨功能单元的公共要求(性能/安全/可用性/兼容性)\n\n`;
|
|
502
628
|
p += `## 4. ⚠️ 待确认事项\n`;
|
|
629
|
+
p += `> 自动检测到的冲突、缺失、不一致\n`;
|
|
503
630
|
p += `\`\`\`\n\n`;
|
|
504
631
|
p += `## 要求\n`;
|
|
505
632
|
p += `1. 功能单元必须是业务维度的划分(不是技术维度)\n`;
|
|
@@ -507,7 +634,10 @@ function buildPhase3Prompt(iter, allSpecs, sourceDocs) {
|
|
|
507
634
|
p += `3. 接口必须汇总,标注所属端\n`;
|
|
508
635
|
p += `4. 输出完整 Markdown,不省略\n\n`;
|
|
509
636
|
p += `## 写入命令\n`;
|
|
510
|
-
p += `speccore synthesize --apply-phase 3 '{合成内容}' -I ${iter}\n`;
|
|
637
|
+
p += `speccore synthesize --apply-phase 3 '{合成内容}' -I ${iter}\n\n`;
|
|
638
|
+
p += `## 注意\n`;
|
|
639
|
+
p += `- 如果用户已在 010-requirements/ 下放置了自建需求文档,应优先参考其内容\n`;
|
|
640
|
+
p += `- 需求以产品文档为准,不要臆造需求\n`;
|
|
511
641
|
return p;
|
|
512
642
|
}
|
|
513
643
|
// ================================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synthesize.js","sourceRoot":"","sources":["../../src/commands/synthesize.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"synthesize.js","sourceRoot":"","sources":["../../src/commands/synthesize.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;;AAkDH,8CAiDC;AAjGD,uCAA+E;AAC/E,+BAA4B;AAC5B,4CAAkD;AAClD,6CAAuE;AACvE,oDAA6E;AAqB7E,KAAK,UAAU,iBAAiB;IAC9B,MAAM,gBAAgB,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAC9D,IAAI,CAAC,MAAM,IAAA,qBAAU,EAAC,gBAAgB,CAAC;QAAE,OAAO,EAAE,CAAC;IACnD,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,8DAA8D;IAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAS;QAC5G,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBACjB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBACjB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBACjB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;gBAChB,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;aAClE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAEM,KAAK,UAAU,iBAAiB,CAAC,OAA0B;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,IAAA,6BAAmB,GAAE,CAAC;IAC9D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,eAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,IAAA,yBAAe,EAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAClD,uBAAuB;IACvB,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAE9C,2BAA2B;IAC3B,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACzC,MAAM,IAAA,oBAAS,EAAC,MAAM,CAAC,CAAC;QACxB,MAAM,EAAE,GAAG,MAAM,IAAA,gCAAmB,EAAC,UAAU,CAAC,CAAC;QACjD,IAAI,EAAE;YAAE,eAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC3D,MAAM,IAAA,oBAAS,EAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,eAAM,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IAED,wCAAwC;IACxC,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/G,OAAO;IACT,CAAC;IAED,yBAAyB;IACzB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5F,OAAO;IACT,CAAC;IAED,2BAA2B;IAC3B,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,QAAQ,KAAK,CAAC;YAAE,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;aACjE,IAAI,QAAQ,KAAK,CAAC;YAAE,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;aACvE,IAAI,QAAQ,KAAK,CAAC;YAAE,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;;YAC1G,eAAM,CAAC,KAAK,CAAC,SAAS,OAAO,CAAC,KAAK,WAAW,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IAED,uBAAuB;IACvB,MAAM,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC1F,CAAC;AAED,mEAAmE;AACnE,iBAAiB;AACjB,mEAAmE;AACnE,KAAK,UAAU,gBAAgB,CAC7B,IAAY,EAAE,OAAe,EAAE,SAAiB,EAAE,OAAe,EAAE,MAAc,EACjF,KAAa,EAAE,OAAe;IAE9B,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,yCAAyC;QACzC,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAClD,MAAM,IAAA,oBAAS,EAAC,YAAY,CAAC,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9E,MAAM,IAAA,oBAAS,EAAC,IAAA,WAAI,EAAC,YAAY,EAAE,YAAY,SAAS,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;QACzE,eAAM,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;QAC/D,SAAS;QACT,eAAM,CAAC,IAAI,CAAC,iDAAiD,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;SAAM,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QACvB,oDAAoD;QACpD,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAClD,MAAM,IAAA,oBAAS,EAAC,YAAY,CAAC,CAAC;QAC9B,0BAA0B;QAC1B,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9E,IAAI,MAAM,IAAA,qBAAU,EAAC,YAAY,CAAC,EAAE,CAAC;YACnC,MAAM,aAAa,GAAG,CAAC,MAAM,IAAA,kBAAO,EAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YACnF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,YAAY,EAAE,SAAS,CAAC,CAAC;gBAClD,MAAM,IAAA,oBAAS,EAAC,WAAW,CAAC,CAAC;gBAC7B,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;oBAC9B,MAAM,GAAG,GAAG,IAAA,WAAI,EAAC,YAAY,EAAE,CAAC,CAAC,CAAC;oBAClC,MAAM,GAAG,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,CAAC,CAAC,CAAC;oBACjC,MAAM,IAAA,oBAAS,EAAC,GAAG,EAAE,MAAM,IAAA,mBAAQ,EAAC,GAAG,CAAC,CAAC,CAAC;gBAC5C,CAAC;gBACD,eAAM,CAAC,IAAI,CAAC,0BAA0B,SAAS,GAAG,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QACD,eAAe;QACf,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;QAClF,MAAM,SAAS,GAA2B;YACxC,sBAAsB,EAAE,mBAAmB;YAC3C,oBAAoB,EAAE,iBAAiB;YACvC,iBAAiB,EAAE,cAAc;SAClC,CAAC;QACF,IAAI,SAAS,GAAG,OAAO,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrG,MAAM,cAAc,GAAG,OAAO,IAAI,CAAC;oBACjC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE;oBAC1D,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpD,MAAM,IAAA,oBAAS,EAAC,IAAA,WAAI,EAAC,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QACD,kCAAkC;QAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAA,oBAAS,EAAC,IAAA,WAAI,EAAC,YAAY,EAAE,mBAAmB,CAAC,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;QACD,eAAM,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;QAC/D,eAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC/C,eAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC7C,eAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC9C,eAAM,CAAC,IAAI,CAAC,iDAAiD,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;SAAM,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAA,oBAAS,EAAC,MAAM,CAAC,CAAC;QACxB,MAAM,EAAE,GAAG,MAAM,IAAA,gCAAmB,EAAC,IAAA,WAAI,EAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACrE,IAAI,EAAE;YAAE,eAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC3D,MAAM,IAAA,oBAAS,EAAC,IAAA,WAAI,EAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC,CAAC;QACzD,eAAM,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;QACnE,eAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,mEAAmE;AACnE,mBAAmB;AACnB,mEAAmE;AACnE,KAAK,UAAU,eAAe,CAC5B,IAAY,EAAE,OAAe,EAAE,SAAiB,EAAE,OAAe,EACjE,MAAc,EAAE,OAAe,EAAE,QAAkB;IAEnD,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAC1C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,eAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAChD,MAAM,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAA,WAAI,EAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,QAAQ,CAAC,CAAC;QACpG,OAAO;IACT,CAAC;IAED,eAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,GAAG,CAAC,CAAC;IACzC,eAAM,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,eAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,gBAAgB;IAChB,eAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACzC,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAElD,gBAAgB;IAChB,eAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACzC,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAEnD,kBAAkB;IAClB,eAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC7C,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE9E,eAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC7B,eAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAC9D,eAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAC9D,eAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC5D,eAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;AACtE,CAAC;AAED,mEAAmE;AACnE,gBAAgB;AAChB,mEAAmE;AACnE,KAAK,UAAU,SAAS,CACtB,IAAY,EAAE,OAAe,EAAE,SAAiB,EAAE,MAAc;IAEhE,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAC1C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,eAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAClD,MAAM,IAAA,oBAAS,EAAC,YAAY,CAAC,CAAC;IAE9B,WAAW;IACX,MAAM,YAAY,GAA0D,EAAE,CAAC;IAC/E,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACvC,yCAAyC;YACzC,MAAM,cAAc,GAAG,IAAA,WAAI,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC9C,IAAI,MAAM,IAAA,qBAAU,EAAC,cAAc,CAAC,EAAE,CAAC;gBACrC,MAAM,KAAK,GAAG,MAAM,IAAA,kBAAO,EAAC,cAAc,CAAC,CAAC;gBAC5C,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAA,8BAAiB,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9E,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,cAAc,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;oBACjE,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,QAAQ,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;YACD,0BAA0B;YAC1B,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAC1C,IAAI,MAAM,IAAA,qBAAU,EAAC,OAAO,CAAC,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,MAAM,IAAA,kBAAO,EAAC,OAAO,CAAC,CAAC;gBACrC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAA,8BAAiB,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtG,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC1D,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,MAAM,kBAAkB,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACxD,IAAI,MAAM,IAAA,qBAAU,EAAC,kBAAkB,CAAC,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,MAAM,IAAA,kBAAO,EAAC,kBAAkB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC9B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAO,EAAC,IAAA,WAAI,EAAC,kBAAkB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrE,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAA,8BAAiB,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjF,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,kBAAkB,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;oBACjF,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,oBAAoB,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBACpG,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAA,8BAAiB,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxE,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,kBAAkB,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC9E,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,eAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IAED,oBAAoB;IACpB,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC9D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,iBAAiB,CACxB,IAAY,EACZ,OAAwB,EACxB,YAAmE;IAEnE,IAAI,CAAC,GAAG,uBAAuB,CAAC;IAChC,CAAC,IAAI,SAAS,CAAC;IACf,CAAC,IAAI,OAAO,IAAI,4BAA4B,CAAC;IAE7C,CAAC,IAAI,aAAa,CAAC;IACnB,CAAC,IAAI,yBAAyB,CAAC;IAC/B,CAAC,IAAI,iBAAiB,CAAC;IACvB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACvE,CAAC;IACD,CAAC,IAAI,IAAI,CAAC;IAEV,CAAC,IAAI,eAAe,CAAC;IACrB,OAAO;IACP,MAAM,UAAU,GAAwC,EAAE,CAAC;IAC3D,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QAC7D,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IACD,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1D,CAAC,IAAI,OAAO,QAAQ,QAAQ,CAAC;QAC7B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,MAAM,CAAC;YAC5B,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU;YAC3C,CAAC,IAAI,aAAa,CAAC;QACrB,CAAC;IACH,CAAC;IAED,CAAC,IAAI,oBAAoB,CAAC;IAC1B,CAAC,IAAI,iCAAiC,CAAC;IACvC,CAAC,IAAI,oBAAoB,CAAC;IAC1B,CAAC,IAAI,yBAAyB,CAAC;IAC/B,CAAC,IAAI,oDAAoD,CAAC;IAC1D,CAAC,IAAI,wBAAwB,CAAC;IAC9B,CAAC,IAAI,uBAAuB,CAAC;IAC7B,CAAC,IAAI,kDAAkD,CAAC;IACxD,CAAC,IAAI,mBAAmB,CAAC;IACzB,CAAC,IAAI,mBAAmB,CAAC;IACzB,CAAC,IAAI,kBAAkB,CAAC;IACxB,CAAC,IAAI,eAAe,CAAC;IACrB,CAAC,IAAI,kBAAkB,CAAC;IACxB,CAAC,IAAI,8CAA8C,CAAC;IACpD,CAAC,IAAI,uBAAuB,CAAC;IAC7B,CAAC,IAAI,aAAa,CAAC;IACnB,CAAC,IAAI,eAAe,CAAC;IACrB,CAAC,IAAI,uBAAuB,CAAC;IAC7B,CAAC,IAAI,gCAAgC,CAAC;IACtC,CAAC,IAAI,2BAA2B,CAAC;IACjC,CAAC,IAAI,eAAe,CAAC;IACrB,CAAC,IAAI,6BAA6B,CAAC;IACnC,CAAC,IAAI,qBAAqB,CAAC;IAC3B,CAAC,IAAI,wBAAwB,CAAC;IAC9B,CAAC,IAAI,iCAAiC,CAAC;IACvC,CAAC,IAAI,eAAe,CAAC;IACrB,CAAC,IAAI,kBAAkB,CAAC;IACxB,CAAC,IAAI,uBAAuB,CAAC;IAC7B,CAAC,IAAI,uBAAuB,CAAC;IAC7B,CAAC,IAAI,wBAAwB,CAAC;IAC9B,CAAC,IAAI,iBAAiB,CAAC;IACvB,CAAC,IAAI,cAAc,CAAC;IACpB,CAAC,IAAI,gBAAgB,CAAC;IACtB,CAAC,IAAI,mBAAmB,CAAC;IACzB,CAAC,IAAI,eAAe,CAAC;IACrB,CAAC,IAAI,cAAc,CAAC;IACpB,CAAC,IAAI,YAAY,CAAC;IAClB,CAAC,IAAI,gBAAgB,CAAC;IACtB,CAAC,IAAI,kBAAkB,CAAC;IACxB,CAAC,IAAI,gBAAgB,CAAC;IACtB,CAAC,IAAI,kCAAkC,CAAC;IACxC,CAAC,IAAI,0BAA0B,CAAC;IAChC,CAAC,IAAI,+BAA+B,CAAC;IACrC,CAAC,IAAI,iBAAiB,CAAC;IACvB,CAAC,IAAI,sBAAsB,CAAC;IAC5B,CAAC,IAAI,kBAAkB,CAAC;IACxB,CAAC,IAAI,kBAAkB,CAAC;IAExB,CAAC,IAAI,aAAa,CAAC;IACnB,CAAC,IAAI,4BAA4B,CAAC;IAClC,CAAC,IAAI,oCAAoC,CAAC;IAC1C,CAAC,IAAI,kBAAkB,CAAC;IACxB,CAAC,IAAI,kBAAkB,CAAC;IACxB,CAAC,IAAI,mBAAmB,CAAC;IACzB,CAAC,IAAI,0DAA0D,CAAC;IAChE,CAAC,IAAI,cAAc,CAAC;IACpB,CAAC,IAAI,aAAa,CAAC;IACnB,CAAC,IAAI,iEAAiE,CAAC;IACvE,CAAC,IAAI,cAAc,CAAC;IACpB,CAAC,IAAI,aAAa,CAAC;IACnB,CAAC,IAAI,kEAAkE,CAAC;IACxE,CAAC,IAAI,cAAc,CAAC;IACpB,CAAC,IAAI,aAAa,CAAC;IACnB,CAAC,IAAI,yBAAyB,CAAC;IAC/B,CAAC,IAAI,cAAc,CAAC;IACpB,CAAC,IAAI,cAAc,CAAC;IACpB,CAAC,IAAI,gBAAgB,CAAC;IACtB,CAAC,IAAI,cAAc,CAAC;IACpB,CAAC,IAAI,eAAe,CAAC;IACrB,CAAC,IAAI,gBAAgB,CAAC;IACtB,CAAC,IAAI,YAAY,CAAC;IAElB,CAAC,IAAI,WAAW,CAAC;IACjB,CAAC,IAAI,mDAAmD,IAAI,MAAM,CAAC;IACnE,CAAC,IAAI,SAAS,CAAC;IACf,CAAC,IAAI,8EAA8E,CAAC;IACpF,CAAC,IAAI,sBAAsB,CAAC;IAC5B,CAAC,IAAI,4BAA4B,CAAC;IAElC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,mEAAmE;AACnE,gBAAgB;AAChB,mEAAmE;AACnE,KAAK,UAAU,SAAS,CACtB,IAAY,EAAE,OAAe,EAAE,SAAiB,EAAE,OAAe;IAEjE,sCAAsC;IACtC,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,IAAA,qBAAU,EAAC,YAAY,CAAC,EAAE,CAAC;QACpC,eAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,gCAAgC;IAChC,MAAM,aAAa,GAAwC,EAAE,CAAC;IAC9D,MAAM,eAAe,GAAG,MAAM,IAAA,kBAAO,EAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7E,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAO,EAAC,IAAA,WAAI,EAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/D,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACxD,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC3E,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACxE,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IACD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,eAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QAChE,OAAO;IACT,CAAC;IAED,+BAA+B;IAC/B,MAAM,aAAa,GAAwC,EAAE,CAAC;IAC9D,IAAI,MAAM,IAAA,qBAAU,EAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,MAAM,IAAA,kBAAO,EAAC,OAAO,CAAC,CAAC;QACzC,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjH,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC1D,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAClD,IAAI,MAAM,IAAA,qBAAU,EAAC,YAAY,CAAC,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAO,EAAC,YAAY,CAAC,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAA,8BAAiB,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,YAAY,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC/D,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;IACrE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,iBAAiB,CACxB,IAAY,EACZ,aAAkD,EAClD,aAAkD;IAElD,IAAI,CAAC,GAAG,uBAAuB,CAAC;IAChC,CAAC,IAAI,SAAS,CAAC;IACf,CAAC,IAAI,QAAQ,IAAI,yBAAyB,CAAC;IAC3C,CAAC,IAAI,6CAA6C,CAAC;IACnD,CAAC,IAAI,mCAAmC,CAAC;IACzC,CAAC,IAAI,kCAAkC,CAAC;IAExC,CAAC,IAAI,eAAe,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,MAAM,CAAC;QAC5B,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC,IAAI,aAAa,CAAC;IACrB,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,CAAC,IAAI,qBAAqB,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC7C,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,MAAM,CAAC;YAC5B,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACjC,CAAC,IAAI,aAAa,CAAC;QACrB,CAAC;IACH,CAAC;IAED,CAAC,IAAI,oBAAoB,CAAC;IAE1B,CAAC,IAAI,oCAAoC,CAAC;IAC1C,CAAC,IAAI,qDAAqD,CAAC;IAC3D,CAAC,IAAI,wCAAwC,CAAC;IAC9C,CAAC,IAAI,wCAAwC,CAAC;IAC9C,CAAC,IAAI,oCAAoC,CAAC;IAC1C,CAAC,IAAI,sCAAsC,CAAC;IAC5C,CAAC,IAAI,sCAAsC,CAAC;IAE5C,CAAC,IAAI,kCAAkC,CAAC;IACxC,CAAC,IAAI,yCAAyC,CAAC;IAC/C,CAAC,IAAI,6CAA6C,CAAC;IACnD,CAAC,IAAI,iCAAiC,CAAC;IACvC,CAAC,IAAI,6CAA6C,CAAC;IACnD,CAAC,IAAI,2CAA2C,CAAC;IACjD,CAAC,IAAI,yCAAyC,CAAC;IAC/C,CAAC,IAAI,4CAA4C,CAAC;IAClD,CAAC,IAAI,uCAAuC,CAAC;IAE7C,CAAC,IAAI,+BAA+B,CAAC;IACrC,CAAC,IAAI,kCAAkC,CAAC;IACxC,CAAC,IAAI,kCAAkC,CAAC;IACxC,CAAC,IAAI,gCAAgC,CAAC;IACtC,CAAC,IAAI,+BAA+B,CAAC;IACrC,CAAC,IAAI,gCAAgC,CAAC;IACtC,CAAC,IAAI,kCAAkC,CAAC;IACxC,CAAC,IAAI,oCAAoC,CAAC;IAC1C,CAAC,IAAI,oCAAoC,CAAC;IAE1C,CAAC,IAAI,aAAa,CAAC;IACnB,CAAC,IAAI,oBAAoB,CAAC;IAC1B,CAAC,IAAI,UAAU,CAAC;IAChB,CAAC,IAAI,gDAAgD,CAAC;IACtD,CAAC,IAAI,4CAA4C,CAAC;IAClD,CAAC,IAAI,sCAAsC,CAAC;IAC5C,CAAC,IAAI,YAAY,CAAC;IAElB,CAAC,IAAI,WAAW,CAAC;IACjB,CAAC,IAAI,mDAAmD,IAAI,MAAM,CAAC;IACnE,CAAC,IAAI,SAAS,CAAC;IACf,CAAC,IAAI,0DAA0D,CAAC;IAChE,CAAC,IAAI,uBAAuB,CAAC;IAC7B,CAAC,IAAI,uBAAuB,CAAC;IAE7B,OAAO,CAAC,CAAC;AACX,CAAC;AAED,mEAAmE;AACnE,uBAAuB;AACvB,mEAAmE;AACnE,KAAK,UAAU,SAAS,CACtB,IAAY,EAAE,OAAe,EAAE,SAAiB,EAAE,OAAe,EACjE,MAAc,EAAE,OAAe,EAAE,QAAkB;IAEnD,wDAAwD;IACxD,MAAM,QAAQ,GAAwC,EAAE,CAAC;IAEzD,kCAAkC;IAClC,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAClD,IAAI,MAAM,IAAA,qBAAU,EAAC,YAAY,CAAC,EAAE,CAAC;QACnC,MAAM,eAAe,GAAG,MAAM,IAAA,kBAAO,EAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAO,EAAC,IAAA,WAAI,EAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC/D,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;oBACxD,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC3E,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;gBACxE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAClD,IAAI,MAAM,IAAA,qBAAU,EAAC,YAAY,CAAC,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,IAAA,kBAAO,EAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC7E,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,YAAY,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5G,CAAC;IACH,CAAC;IAED,SAAS;IACT,MAAM,UAAU,GAAwC,EAAE,CAAC;IAC3D,IAAI,MAAM,IAAA,qBAAU,EAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,IAAA,kBAAO,EAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAA,8BAAiB,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjG,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IACD,cAAc;IACd,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC7C,IAAI,MAAM,IAAA,qBAAU,EAAC,WAAW,CAAC,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,MAAM,IAAA,kBAAO,EAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACpE,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/C,MAAM,MAAM,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBACtD,IAAI,MAAM,IAAA,qBAAU,EAAC,MAAM,CAAC,EAAE,CAAC;oBAC7B,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,IAAI,YAAY,EAAE,OAAO,EAAE,MAAM,IAAA,mBAAQ,EAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;gBACtG,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,eAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,iBAAiB,CACxB,IAAY,EACZ,QAA6C,EAC7C,UAA+C;IAE/C,IAAI,CAAC,GAAG,4BAA4B,CAAC;IACrC,CAAC,IAAI,SAAS,CAAC;IACf,CAAC,IAAI,QAAQ,IAAI,iCAAiC,CAAC;IACnD,CAAC,IAAI,gCAAgC,CAAC;IAEtC,CAAC,IAAI,kBAAkB,CAAC;IACxB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,MAAM,CAAC;QAC5B,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC,IAAI,aAAa,CAAC;IACrB,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,CAAC,IAAI,kBAAkB,CAAC;QACxB,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,MAAM,CAAC;YAC3B,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAChC,CAAC,IAAI,aAAa,CAAC;QACrB,CAAC;IACH,CAAC;IAED,CAAC,IAAI,oBAAoB,CAAC;IAC1B,CAAC,IAAI,mCAAmC,CAAC;IACzC,CAAC,IAAI,gCAAgC,CAAC;IACtC,CAAC,IAAI,iCAAiC,CAAC;IACvC,CAAC,IAAI,0CAA0C,CAAC;IAChD,CAAC,IAAI,mCAAmC,CAAC;IACzC,CAAC,IAAI,wCAAwC,CAAC;IAE9C,CAAC,IAAI,sBAAsB,CAAC;IAC5B,CAAC,IAAI,oBAAoB,CAAC;IAC1B,CAAC,IAAI,+CAA+C,CAAC;IACrD,CAAC,IAAI,+BAA+B,CAAC;IACrC,CAAC,IAAI,8CAA8C,CAAC;IACpD,CAAC,IAAI,iBAAiB,CAAC;IACvB,CAAC,IAAI,6BAA6B,CAAC;IACnC,CAAC,IAAI,2BAA2B,CAAC;IACjC,CAAC,IAAI,0BAA0B,CAAC;IAChC,CAAC,IAAI,eAAe,CAAC;IACrB,CAAC,IAAI,mCAAmC,CAAC;IACzC,CAAC,IAAI,qBAAqB,CAAC;IAC3B,CAAC,IAAI,eAAe,CAAC;IACrB,CAAC,IAAI,+CAA+C,CAAC;IACrD,CAAC,IAAI,kCAAkC,CAAC;IACxC,CAAC,IAAI,gBAAgB,CAAC;IACtB,CAAC,IAAI,oBAAoB,CAAC;IAC1B,CAAC,IAAI,sBAAsB,CAAC;IAC5B,CAAC,IAAI,wBAAwB,CAAC;IAC9B,CAAC,IAAI,qBAAqB,CAAC;IAC3B,CAAC,IAAI,eAAe,CAAC;IACrB,CAAC,IAAI,YAAY,CAAC;IAClB,CAAC,IAAI,UAAU,CAAC;IAChB,CAAC,IAAI,eAAe,CAAC;IAErB,CAAC,IAAI,aAAa,CAAC;IACnB,CAAC,IAAI,kBAAkB,CAAC;IACxB,CAAC,IAAI,KAAK,IAAI,eAAe,CAAC;IAC9B,CAAC,IAAI,6BAA6B,CAAC;IACnC,CAAC,IAAI,cAAc,CAAC;IACpB,CAAC,IAAI,6BAA6B,CAAC;IACnC,CAAC,IAAI,gBAAgB,CAAC;IACtB,CAAC,IAAI,qBAAqB,CAAC;IAC3B,CAAC,IAAI,aAAa,CAAC;IACnB,CAAC,IAAI,4CAA4C,CAAC;IAClD,CAAC,IAAI,aAAa,CAAC;IACnB,CAAC,IAAI,wCAAwC,CAAC;IAC9C,CAAC,IAAI,WAAW,CAAC;IACjB,CAAC,IAAI,4BAA4B,CAAC;IAClC,CAAC,IAAI,eAAe,CAAC;IACrB,CAAC,IAAI,kBAAkB,CAAC;IACxB,CAAC,IAAI,gBAAgB,CAAC;IACtB,CAAC,IAAI,iBAAiB,CAAC;IACvB,CAAC,IAAI,aAAa,CAAC;IACnB,CAAC,IAAI,uDAAuD,CAAC;IAC7D,CAAC,IAAI,aAAa,CAAC;IACnB,CAAC,IAAI,4EAA4E,CAAC;IAClF,CAAC,IAAI,cAAc,CAAC;IACpB,CAAC,IAAI,qBAAqB,CAAC;IAC3B,CAAC,IAAI,aAAa,CAAC;IACnB,CAAC,IAAI,mBAAmB,CAAC;IACzB,CAAC,IAAI,mBAAmB,CAAC;IACzB,CAAC,IAAI,SAAS,CAAC;IACf,CAAC,IAAI,iBAAiB,CAAC;IACvB,CAAC,IAAI,iCAAiC,CAAC;IACvC,CAAC,IAAI,kBAAkB,CAAC;IACxB,CAAC,IAAI,qBAAqB,CAAC;IAC3B,CAAC,IAAI,YAAY,CAAC;IAElB,CAAC,IAAI,SAAS,CAAC;IACf,CAAC,IAAI,6BAA6B,CAAC;IACnC,CAAC,IAAI,yBAAyB,CAAC;IAC/B,CAAC,IAAI,mBAAmB,CAAC;IACzB,CAAC,IAAI,0BAA0B,CAAC;IAEhC,CAAC,IAAI,WAAW,CAAC;IACjB,CAAC,IAAI,mDAAmD,IAAI,MAAM,CAAC;IACnE,CAAC,IAAI,SAAS,CAAC;IACf,CAAC,IAAI,kDAAkD,CAAC;IACxD,CAAC,IAAI,sBAAsB,CAAC;IAE5B,OAAO,CAAC,CAAC;AACX,CAAC;AAED,mEAAmE;AACnE,aAAa;AACb,mEAAmE;AACnE,KAAK,UAAU,mBAAmB,CAChC,IAAY,EAAE,OAAe,EAAE,MAAc,EAAE,OAAe,EAC9D,UAAkB,EAAE,QAAkB;IAEtC,MAAM,UAAU,GAAwC,EAAE,CAAC;IAE3D,IAAI,MAAM,IAAA,qBAAU,EAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,IAAA,kBAAO,EAAC,OAAO,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAA,8BAAiB,EAAC,CAAC,CAAC,CAAC,CAAC;QACzG,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC1D,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC7C,IAAI,MAAM,IAAA,qBAAU,EAAC,WAAW,CAAC,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,IAAA,kBAAO,EAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/C,MAAM,MAAM,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBACtD,IAAI,MAAM,IAAA,qBAAU,EAAC,MAAM,CAAC,EAAE,CAAC;oBAC7B,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBAChD,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,IAAI,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,eAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IAED,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,MAAM,IAAA,qBAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QACjC,WAAW,GAAG,MAAM,IAAA,mBAAQ,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC3C,IAAI,MAAM,IAAA,qBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;QAChC,YAAY,GAAG,MAAM,IAAA,mBAAQ,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC5F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,qBAAqB,CAC5B,SAAiB,EACjB,UAA+C,EAC/C,WAAmB,EACnB,YAAoB,EACpB,QAAkB;IAElB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAEzF,IAAI,MAAM,GAAG,iCAAiC,CAAC;IAC/C,MAAM,IAAI,SAAS,CAAC;IACpB,MAAM,IAAI,OAAO,SAAS,MAAM,UAAU,CAAC,MAAM,8BAA8B,CAAC;IAEhF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,wBAAwB,CAAC;QACnC,MAAM,IAAI,2CAA2C,CAAC;QACtD,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC;QAC3G,MAAM,IAAI,eAAe,GAAG,SAAS,GAAG,WAAW,CAAC;IACtD,CAAC;IAED,MAAM,IAAI,aAAa,CAAC;IACxB,MAAM,IAAI,OAAO,CAAC;IAClB,MAAM,IAAI,MAAM,CAAC;IAEjB,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,IAAI,aAAa,CAAC;QACxB,MAAM,IAAI,eAAe,GAAG,YAAY,GAAG,WAAW,CAAC;IACzD,CAAC;IAED,MAAM,IAAI,aAAa,CAAC;IACxB,MAAM,IAAI,qEAAqE,CAAC;IAChF,MAAM,IAAI,kCAAkC,CAAC;IAC7C,MAAM,IAAI,4CAA4C,CAAC;IACvD,MAAM,IAAI,+CAA+C,CAAC;IAC1D,MAAM,IAAI,oDAAoD,CAAC;IAC/D,MAAM,IAAI,8CAA8C,CAAC;IACzD,MAAM,IAAI,wDAAwD,CAAC;IAEnE,MAAM,IAAI,aAAa,CAAC;IACxB,MAAM,IAAI,kBAAkB,CAAC;IAC7B,MAAM,IAAI,KAAK,SAAS,eAAe,CAAC;IACxC,MAAM,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;IAChE,MAAM,IAAI,oBAAoB,CAAC;IAC/B,MAAM,IAAI,cAAc,CAAC;IACzB,MAAM,IAAI,wBAAwB,CAAC;IACnC,MAAM,IAAI,cAAc,CAAC;IACzB,MAAM,IAAI,iBAAiB,CAAC;IAC5B,MAAM,IAAI,cAAc,CAAC;IACzB,MAAM,IAAI,6CAA6C,CAAC;IACxD,MAAM,IAAI,iBAAiB,CAAC;IAC5B,MAAM,IAAI,aAAa,CAAC;IACxB,MAAM,IAAI,iBAAiB,CAAC;IAC5B,MAAM,IAAI,SAAS,CAAC;IACpB,MAAM,IAAI,eAAe,CAAC;IAC1B,MAAM,IAAI,gCAAgC,CAAC;IAC3C,MAAM,IAAI,kBAAkB,CAAC;IAC7B,MAAM,IAAI,qBAAqB,CAAC;IAChC,MAAM,IAAI,YAAY,CAAC;IACvB,MAAM,IAAI,YAAY,CAAC;IAEvB,MAAM,IAAI,SAAS,CAAC;IACpB,MAAM,IAAI,6BAA6B,CAAC;IACxC,MAAM,IAAI,uCAAuC,CAAC;IAClD,MAAM,IAAI,2BAA2B,CAAC;IACtC,MAAM,IAAI,gCAAgC,CAAC;IAC3C,MAAM,IAAI,iCAAiC,CAAC;IAC5C,MAAM,IAAI,6DAA6D,SAAS,MAAM,CAAC;IAEvF,MAAM,IAAI,SAAS,CAAC;IACpB,MAAM,IAAI,sBAAsB,CAAC;IACjC,MAAM,IAAI,yCAAyC,CAAC;IACpD,MAAM,IAAI,4BAA4B,CAAC;IAEvC,OAAO,MAAM,CAAC;AAChB,CAAC"}
|