speccore 8.3.222 → 8.3.224

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/cli.js +29 -0
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/analyze.d.ts.map +1 -1
  4. package/dist/commands/analyze.js +491 -238
  5. package/dist/commands/analyze.js.map +1 -1
  6. package/dist/commands/change.js +1 -0
  7. package/dist/commands/change.js.map +1 -1
  8. package/dist/commands/doc2spec.d.ts.map +1 -1
  9. package/dist/commands/doc2spec.js +205 -95
  10. package/dist/commands/doc2spec.js.map +1 -1
  11. package/dist/commands/execute.js +4 -4
  12. package/dist/commands/execute.js.map +1 -1
  13. package/dist/commands/iteration/split.d.ts.map +1 -1
  14. package/dist/commands/iteration/split.js +29 -182
  15. package/dist/commands/iteration/split.js.map +1 -1
  16. package/dist/commands/plan.d.ts.map +1 -1
  17. package/dist/commands/plan.js +67 -11
  18. package/dist/commands/plan.js.map +1 -1
  19. package/dist/commands/req-doc.d.ts.map +1 -1
  20. package/dist/commands/req-doc.js +122 -14
  21. package/dist/commands/req-doc.js.map +1 -1
  22. package/dist/commands/retro.d.ts +1 -1
  23. package/dist/commands/retro.d.ts.map +1 -1
  24. package/dist/commands/retro.js +87 -8
  25. package/dist/commands/retro.js.map +1 -1
  26. package/dist/commands/run.d.ts +1 -0
  27. package/dist/commands/run.d.ts.map +1 -1
  28. package/dist/commands/run.js +144 -17
  29. package/dist/commands/run.js.map +1 -1
  30. package/dist/core/agent-adapter.d.ts.map +1 -1
  31. package/dist/core/agent-adapter.js +13 -6
  32. package/dist/core/agent-adapter.js.map +1 -1
  33. package/dist/core/context-budget.d.ts +3 -2
  34. package/dist/core/context-budget.d.ts.map +1 -1
  35. package/dist/core/context-budget.js +16 -3
  36. package/dist/core/context-budget.js.map +1 -1
  37. package/dist/core/dispatch-loop.d.ts +81 -0
  38. package/dist/core/dispatch-loop.d.ts.map +1 -0
  39. package/dist/core/dispatch-loop.js +152 -0
  40. package/dist/core/dispatch-loop.js.map +1 -0
  41. package/dist/core/intent-cache.d.ts +5 -0
  42. package/dist/core/intent-cache.d.ts.map +1 -1
  43. package/dist/core/intent-cache.js +32 -15
  44. package/dist/core/intent-cache.js.map +1 -1
  45. package/dist/core/prompt-builder.d.ts.map +1 -1
  46. package/dist/core/prompt-builder.js +20 -0
  47. package/dist/core/prompt-builder.js.map +1 -1
  48. package/dist/core/requirement-clarifier.d.ts.map +1 -1
  49. package/dist/core/requirement-clarifier.js +36 -0
  50. package/dist/core/requirement-clarifier.js.map +1 -1
  51. package/dist/core/state.d.ts +3 -0
  52. package/dist/core/state.d.ts.map +1 -1
  53. package/dist/core/state.js +19 -1
  54. package/dist/core/state.js.map +1 -1
  55. package/dist/core/unit-context-assembler.d.ts +5 -0
  56. package/dist/core/unit-context-assembler.d.ts.map +1 -1
  57. package/dist/core/unit-context-assembler.js +225 -9
  58. package/dist/core/unit-context-assembler.js.map +1 -1
  59. package/package.json +2 -2
@@ -255,7 +255,11 @@ async function processSingle(options) {
255
255
  const targetDir = baseDir;
256
256
  const imageDir = (0, path_1.join)(iterDir, '010-requirements', 'assets', 'extracted'); // PRD 提取的图片
257
257
  const platform = options.platform || '';
258
- const outputPath = (0, path_1.join)(targetDir, platform ? `${platform}requirements.md` : 'requirements.md');
258
+ // v8.3.223+: 输出文件名基于源文件名(platform 时加端前缀),
259
+ // 修复「多文档导入互相覆盖 requirements.md」的问题
260
+ const sourceBase = sanitizeUnitName((0, path_1.basename)(options.file, (0, path_1.extname)(options.file))) || 'requirements';
261
+ const outputFilename = platform ? `${platform}requirements.md` : `${sourceBase}-requirements.md`;
262
+ const outputPath = (0, path_1.join)(targetDir, outputFilename);
259
263
  await (0, fs_extra_1.ensureDir)(targetDir);
260
264
  await (0, fs_extra_1.ensureDir)(imageDir);
261
265
  // ── 保存原始文件到 sources/(只读存档,方便溯源)──
@@ -336,8 +340,9 @@ async function processSingle(options) {
336
340
  // ── 后处理 ──
337
341
  let content = await (0, fs_extra_1.readFile)(outputPath, 'utf-8');
338
342
  // 1. 标题层级规范化
339
- content = content.replace(/^## /gm, '### ');
340
- content = content.replace(/^# /gm, '## ');
343
+ // v8.3.223+: 单次替换把 #~##### 全部降一级——修复旧两步替换的层级错乱
344
+ //(旧顺序先 ##→### 再 #→##,原文档的 ### 未降级,会与原 ## 压到同一层级)
345
+ content = content.replace(/^(#{1,5}) /gm, '#$1 ');
341
346
  // 2. 空行清理
342
347
  content = content.replace(/\n{3,}/g, '\n\n');
343
348
  // 3. 图片路径修正(pandoc 提取到 assets/extracted/media/,MD 引用 media/xxx.png)
@@ -364,14 +369,14 @@ async function processSingle(options) {
364
369
  indexContent = '# 本期需求文档索引\n\n> doc2spec 自动生成\n\n| 端 | 文件 | 转换时间 | 来源 |\n| :--- | :--- | :--- | :--- |\n';
365
370
  }
366
371
  const platformLabel = platform || '通用';
367
- const outputFilename = platform ? `${platform}requirements.md` : 'requirements.md';
372
+ // v8.3.223+: outputFilename 已在转换阶段按源文件名生成,此处直接复用(INDEX 表)
368
373
  if (!indexContent.includes(`| ${platformLabel} |`)) {
369
374
  const entry = `| ${platformLabel} | ${outputFilename} | ${new Date().toISOString().split('T')[0]} | ${(0, path_1.basename)(options.file)} |`;
370
375
  indexContent += entry + '\n';
371
376
  }
372
377
  await (0, fs_extra_1.writeFile)(indexPath, indexContent);
373
378
  // ── 自动合并到 REQUIREMENT.md(汇总各端需求,供 iteration split 使用)──
374
- await mergeToRequirement(iterDir, targetDir, platformLabel);
379
+ await mergeToRequirement(iterDir, targetDir, platformLabel, outputFilename);
375
380
  // ── 检测多端文档,提示智能合成 ──
376
381
  const convDir = (0, path_1.join)(iterDir, '010-requirements', 'converted');
377
382
  if (await (0, fs_extra_1.pathExists)(convDir)) {
@@ -435,8 +440,8 @@ async function processSingle(options) {
435
440
  * 将各端需求文档自动合并到统一的 REQUIREMENT.md
436
441
  * 格式: ## {端名}需求(取自 {端名}requirements.md 的 ## 接口定义 表格)
437
442
  */
438
- async function mergeToRequirement(iterDir, targetDir, platform) {
439
- const reqFilename = (platform === '通用' || !platform) ? 'requirements.md' : `${platform}requirements.md`;
443
+ async function mergeToRequirement(iterDir, targetDir, platform, outputFilename) {
444
+ const reqFilename = outputFilename || ((platform === '通用' || !platform) ? 'requirements.md' : `${platform}requirements.md`);
440
445
  const reqPath = (0, path_1.join)(targetDir, reqFilename);
441
446
  const globalReqPath = (0, path_1.join)(targetDir, 'REQUIREMENT.md');
442
447
  if (!(await (0, fs_extra_1.pathExists)(reqPath)))
@@ -459,12 +464,16 @@ async function mergeToRequirement(iterDir, targetDir, platform) {
459
464
  else {
460
465
  globalContent = `# 本期需求文档\n\n> 由 doc2spec 自动合并各端需求\n\n`;
461
466
  }
462
- const sectionLabel = platform.endsWith('端') ? platform + 'requirements' : platform + '端需求';
463
- const platformSection = `\n## ${sectionLabel}\n\n${descContent.slice(0, 500)}${apiSection}\n`;
467
+ // v8.3.223+: sectionLabel 与去重正则统一使用中文「需求」——旧代码 sectionLabel 用英文
468
+ // requirements 而正则匹配「需求」,platform 以「端」结尾时去重永远失效、同端内容重复追加
469
+ const sectionLabel = platform.endsWith('端') ? `${platform}需求` : `${platform}端需求`;
470
+ // v8.3.223+: 去掉 slice(0, 500) 硬截断——多端需求合并不再丢内容
471
+ const platformSection = `\n## ${sectionLabel}\n\n${descContent}${apiSection}\n`;
464
472
  // 去重:如果已有同端内容,替换
465
- const sectionRegex = new RegExp(`\\n## ${platform.replace(/端$/, '')}端?需求[\\s\\S]*?(?=\\n## |$)`, 'g');
473
+ const escaped = platform.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
474
+ const sectionRegex = new RegExp(`(^|\\n)## ${escaped}端?需求[\\s\\S]*?(?=\\n## |$)`, 'g');
466
475
  if (globalContent.match(sectionRegex)) {
467
- globalContent = globalContent.replace(sectionRegex, platformSection);
476
+ globalContent = globalContent.replace(sectionRegex, (_m, p1) => p1 + platformSection.replace(/^\n/, ''));
468
477
  }
469
478
  else {
470
479
  globalContent += platformSection;
@@ -785,12 +794,30 @@ async function splitDocumentToUnits(iterDir, outputPath, platformLabel, sourceFi
785
794
  }
786
795
  const featuresDir = (0, path_1.join)(iterDir, '010-requirements', 'features');
787
796
  await (0, fs_extra_1.ensureDir)(featuresDir);
797
+ // v8.3.223+: 幂等——先收集已存在的功能单元目录,重复运行不再重写覆盖
798
+ const existingUnitDirs = new Set();
799
+ try {
800
+ for (const e of await (0, fs_extra_1.readdir)(featuresDir, { withFileTypes: true })) {
801
+ if (e.isDirectory() && !e.name.startsWith('.'))
802
+ existingUnitDirs.add(e.name);
803
+ }
804
+ }
805
+ catch { }
788
806
  let written = 0;
807
+ let skipped = 0;
808
+ const seenUnitDirs = new Set(existingUnitDirs);
789
809
  for (const unit of units) {
790
- // v8.3.198+: 剥离章节号前缀("四、" → "")+ 加需求文档名前缀,防止跨文档重名
810
+ // v8.3.198+: 剥离章节号前缀("四、" → "")+ 加需求文档名前缀,防止跨文档重 名
791
811
  unit.title = stripSectionPrefix(unit.title) || unit.title;
792
812
  const docSlug = sanitizeUnitName((0, path_1.basename)(sourceFileName, '.md')) || 'doc';
793
813
  const unitDirName = sanitizeUnitName(`${docSlug}-${unit.title}`);
814
+ // v8.3.223+: 同名/已存在单元跳过(幂等 + 去重)
815
+ if (seenUnitDirs.has(unitDirName)) {
816
+ logger_1.logger.info(` ⏭️ ${unit.title} 已存在,跳过: features/${unitDirName}/`);
817
+ skipped++;
818
+ continue;
819
+ }
820
+ seenUnitDirs.add(unitDirName);
794
821
  const unitDir = (0, path_1.join)(featuresDir, unitDirName);
795
822
  await (0, fs_extra_1.ensureDir)(unitDir);
796
823
  await (0, fs_extra_1.ensureDir)((0, path_1.join)(unitDir, '.meta'));
@@ -813,13 +840,30 @@ async function splitDocumentToUnits(iterDir, outputPath, platformLabel, sourceFi
813
840
  written++;
814
841
  logger_1.logger.info(` ✅ ${unit.title} → features/${unitDirName}/`);
815
842
  }
816
- // 更新 features/INDEX.md
843
+ // 更新 features/INDEX.md(v8.3.223+: 增量合并——保留已有条目、追加新条目,
844
+ // 修复重复运行整体重写/丢行的问题)
817
845
  const featuresIndexPath = (0, path_1.join)(featuresDir, 'INDEX.md');
818
846
  let featuresIndex = '# 功能单元索引\n\n> 由 doc2spec --split 自动生成\n\n';
819
847
  featuresIndex += '| 功能单元 | 来源章节 | 状态 | 涉及端 |\n';
820
848
  featuresIndex += '| :--- | :--- | :--- | :--- |\n';
849
+ const existingRows = new Set();
850
+ if (await (0, fs_extra_1.pathExists)(featuresIndexPath)) {
851
+ try {
852
+ const prev = await (0, fs_extra_1.readFile)(featuresIndexPath, 'utf-8');
853
+ for (const line of prev.split('\n')) {
854
+ if (line.startsWith('|') && !line.startsWith('| :') && !line.startsWith('| 功能单元')) {
855
+ existingRows.add(line);
856
+ featuresIndex += line + '\n';
857
+ }
858
+ }
859
+ }
860
+ catch { }
861
+ }
821
862
  for (const unit of units) {
822
- featuresIndex += `| ${unit.title} | ${unit.sourceSection} | draft | ${platformLabel} |\n`;
863
+ const row = `| ${unit.title} | ${unit.sourceSection} | draft | ${platformLabel} |`;
864
+ if (existingRows.has(row))
865
+ continue;
866
+ featuresIndex += row + '\n';
823
867
  }
824
868
  await (0, fs_extra_1.writeFile)(featuresIndexPath, featuresIndex);
825
869
  // v8.3.194+: 全局信息章节(产品定位/名词约定/验收标准等)归到 overview/,不丢弃
@@ -843,32 +887,79 @@ async function splitDocumentToUnits(iterDir, outputPath, platformLabel, sourceFi
843
887
  logger_1.logger.info(` 📋 全局上下文已写入: overview/GLOBAL_CONTEXT-${docSlug}.md (${collected} 个章节)`);
844
888
  }
845
889
  }
846
- logger_1.logger.success(`✅ 已拆分 ${written} 个功能单元到 features/`);
890
+ logger_1.logger.success(`✅ 已拆分 ${written} 个功能单元到 features/${skipped > 0 ? `(跳过 ${skipped} 个已存在)` : ''}`);
847
891
  logger_1.logger.info(` 📂 ${featuresDir}/`);
848
892
  }
849
893
  /**
850
- * 本地兜底:识别被过滤掉的非功能章节(产品定位/名词/验收标准等),作为全局上下文
851
- * (与 scanUnits 的过滤规则保持一致)
894
+ * v8.3.223+: 「非功能章节」判定(getGlobalSections 与 scanUnits 共享,保证两处过滤规则一致)。
895
+ * 修复宽泛 contains 误杀:「背景/目标/概述/名词」等弱语义词必须位于标题首/尾
896
+ * 才算非功能章节——「绩效目标」「订单背景」「会议目标管理」这类真实功能单元不再被误杀。
897
+ */
898
+ function stripSectionNo(t) {
899
+ return t
900
+ .replace(/^[一二三四五六七八九十百]+[、..\s]+/, '')
901
+ .replace(/^\d+(\.\d+)*[、..\s]+/, '')
902
+ .replace(/^[A-Za-z]-\d+[、..\s]+/, '')
903
+ .replace(/^第[一二三四五六七八九十百\d]+[章节篇部分]+[、..\s]*/, '');
904
+ }
905
+ const NON_FUNCTION_PREFIX = /^(附录|术语表|参考文献|目录|引言|总结|致谢|版权声明|修订记录|changelog|glossary|references|table of contents|introduction|summary|acknowledgments)/i;
906
+ // 强语义:任意位置包含即视为非功能章节
907
+ const NON_FUNCTION_CONTAINS = ['验收标准', '上线计划', '关联文档', '功能需求', '非功能需求', '用户画像', '功能架构', '风险与缓解', '产品视角', 'overview'];
908
+ // 弱语义:标题以这些词开头即视为非功能章节(「概述…」「背景介绍」「目标与原则」「名词解释」)
909
+ const NON_FUNCTION_STARTS = ['概述', '背景', '目标', '名词'];
910
+ // 弱语义组合:{修饰词}{弱义词} 的短标题(「项目背景」「总体目标」「产品概述」),
911
+ // 支持「项目背景与目标」「产品目标与范围」等复合形式
912
+ // 功能单元「绩效目标」「订单背景」等不含修饰词前缀,不会被误杀
913
+ const NON_FUNCTION_TAIL = /^(项目|需求|产品|总体|整体|建设|设计|开发|实施|运营|文档|全文)(背景|目标|概述|范围|定位)((与|和|及|、)?(背景|目标|概述|范围|定位))?$/;
914
+ function isNonFunctionalSection(rawTitle) {
915
+ const title = stripSectionNo(rawTitle).trim();
916
+ if (!title)
917
+ return true;
918
+ if (NON_FUNCTION_PREFIX.test(title))
919
+ return true;
920
+ if (NON_FUNCTION_CONTAINS.some(w => title.includes(w)))
921
+ return true;
922
+ if (NON_FUNCTION_STARTS.some(w => title.startsWith(w)))
923
+ return true;
924
+ if (NON_FUNCTION_TAIL.test(title))
925
+ return true;
926
+ return false;
927
+ }
928
+ /**
929
+ * 本地兜底:识别被过滤掉的非功能章节(产品定位/名词/验收标准等),作为全局上下 文
930
+ * (与 scanUnits 的过滤规则保持一致——共用 isNonFunctionalSection)
931
+ * v8.3.224+: 改为 H2~H6 全层级扫描 + 子树传播,只收集「被排除子树的根」,
932
+ * 修复旧逻辑只认 ## 层级导致深层级非功能章节(如 ### 一、项目背景与目标)漏收
852
933
  */
853
934
  function getGlobalSections(content, units) {
854
935
  const lines = content.split('\n');
855
936
  const unitTitles = new Set(units.map((u) => u.title));
856
- const stripSectionNo = (t) => t.replace(/^[一二三四五六七八九十百]+[、..\s]+/, '')
857
- .replace(/^\d+[、..\s]+/, '')
858
- .replace(/^第[一二三四五六七八九十百\d]+[章节篇部分]+[、..\s]*/, '');
859
- const skipPrefix = /^(附录|术语表|参考文献|目录|引言|总结|致谢|版权声明|修订记录|changelog|glossary|references|table of contents|introduction|summary|acknowledgments)/i;
860
- const skipContains = ['概述', '名词', '背景', '目标', '验收标准', '上线计划', '关联文档', '功能需求', '非功能需求', '用户画像', '功能架构', '风险与缓解', '产品视角', 'overview'];
861
937
  const global = [];
862
- for (const line of lines) {
863
- const m = line.match(/^##\s+(.+)$/);
864
- if (!m)
865
- continue;
866
- const rawTitle = m[1].trim();
867
- const title = stripSectionNo(rawTitle).trim();
868
- if (!title || unitTitles.has(rawTitle) || unitTitles.has(title))
869
- continue;
870
- if (skipPrefix.test(title) || skipContains.some((w) => title.includes(w))) {
871
- global.push(rawTitle);
938
+ const headings = [];
939
+ for (let i = 0; i < lines.length; i++) {
940
+ const m = lines[i].match(/^(#{2,6})\s+(.+)$/);
941
+ if (m)
942
+ headings.push({ level: m[1].length, title: m[2].trim(), line: i });
943
+ }
944
+ if (headings.length === 0)
945
+ return global;
946
+ // 文档标题不作为全局章节(避免收集整个文档范围)
947
+ const minLevel = Math.min(...headings.map(h => h.level));
948
+ const shallowest = headings.filter(h => h.level === minLevel);
949
+ const docTitleLine = shallowest.length === 1 ? shallowest[0].line : -1;
950
+ const stack = [];
951
+ for (const h of headings) {
952
+ while (stack.length > 0 && h.level <= stack[stack.length - 1].level)
953
+ stack.pop();
954
+ const parentExcluded = stack.length > 0 && stack[stack.length - 1].excluded;
955
+ // (负向后行断言排除「非功能需求」——它包含「功能需求」子串但应整体排除子树)
956
+ const isContainer = /(?<!非)功能需求|功能清单|功能列表/.test(h.title);
957
+ const excluded = parentExcluded || (isNonFunctionalSection(h.title) && !isContainer);
958
+ stack.push({ level: h.level, excluded });
959
+ if (excluded && !parentExcluded && h.line !== docTitleLine) {
960
+ const title = stripSectionNo(h.title).trim();
961
+ if (title && !unitTitles.has(h.title) && !unitTitles.has(title))
962
+ global.push(h.title);
872
963
  }
873
964
  }
874
965
  return global;
@@ -960,14 +1051,7 @@ function findSectionRange(content, sectionTitle) {
960
1051
  const target = sectionTitle.trim();
961
1052
  if (!target)
962
1053
  return null;
963
- for (let i = 0; i < lines.length; i++) {
964
- const m = lines[i].match(/^#{1,4}\s+(.+)$/);
965
- if (!m)
966
- continue;
967
- const heading = m[1].trim();
968
- // 模糊匹配:章节标题互相包含即命中
969
- if (!heading.includes(target) && !target.includes(heading))
970
- continue;
1054
+ const rangeOf = (i) => {
971
1055
  const level = (lines[i].match(/^#+/) || ['#'])[0].length;
972
1056
  let end = lines.length - 1;
973
1057
  for (let j = i + 1; j < lines.length; j++) {
@@ -981,71 +1065,96 @@ function findSectionRange(content, sectionTitle) {
981
1065
  }
982
1066
  }
983
1067
  return { start: i, end };
1068
+ };
1069
+ // 归一化:去章节号 + 去空白(忽略全角/半角空格差异)
1070
+ const norm = (t) => stripSectionNo(t).replace(/\s+/g, '').toLowerCase();
1071
+ const targetNorm = norm(target);
1072
+ // v8.3.223+: 第一轮精确匹配(忽略章节号)——修复「用户管理」命中「用户管理权限」
1073
+ // 导致边界错切的互相包含歧义
1074
+ for (let i = 0; i < lines.length; i++) {
1075
+ const m = lines[i].match(/^#{1,4}\s+(.+)$/);
1076
+ if (!m)
1077
+ continue;
1078
+ if (norm(m[1]) === targetNorm)
1079
+ return rangeOf(i);
1080
+ }
1081
+ // 第二轮包含匹配兜底(仅当目标足够具体:归一化后 ≥4 字符,
1082
+ // 且标题与目标互为前缀关系,避免短词大面积误命中)
1083
+ if (targetNorm.length >= 4) {
1084
+ for (let i = 0; i < lines.length; i++) {
1085
+ const m = lines[i].match(/^#{1,4}\s+(.+)$/);
1086
+ if (!m)
1087
+ continue;
1088
+ const headingNorm = norm(m[1]);
1089
+ if (headingNorm.startsWith(targetNorm) || targetNorm.startsWith(headingNorm)) {
1090
+ return rangeOf(i);
1091
+ }
1092
+ }
984
1093
  }
985
1094
  return null;
986
1095
  }
987
1096
  /**
988
- * 扫描 Markdown 内容,识别功能单元边界
989
- * 策略:以 ## 级别标题作为功能单元主边界,### 作为子章节
1097
+ * 扫描 Markdown 内容,识别功能单元边界(v8.3.224+: 层级自适应)
1098
+ * 旧策略硬编码「## 为单元边界、### 为子章节」,在功能单元位于深层级(如 ####/#####)
1099
+ * 的文档中只能切出文档标题一个假单元。新策略:
1100
+ * 1. 收集 H2~H6 标题构建层级栈,非功能章节(背景/目标/名词/验收标准等)排除其整棵子树
1101
+ * 2. 「功能需求/功能清单/功能列表」类容器章节仅排除自身,不排除后代(其后代才是功能单元)
1102
+ * 3. 文档唯一最浅层标题视为文档标题,不作为单元
1103
+ * 4. 单元 = 过滤后剩余标题中的叶子(其后没有更深层级的候选标题)
990
1104
  */
991
1105
  function scanUnits(content) {
992
1106
  const lines = content.split('\n');
993
- const units = [];
994
- let currentUnit = null;
1107
+ const headings = [];
995
1108
  for (let i = 0; i < lines.length; i++) {
996
- const line = lines[i];
997
- const h2Match = line.match(/^##\s+(.+)$/);
998
- const h3Match = line.match(/^###\s+(.+)$/);
999
- if (h2Match) {
1000
- // 结束上一个单元
1001
- if (currentUnit) {
1002
- currentUnit.endLine = i - 1;
1003
- units.push(currentUnit);
1004
- }
1005
- // 开始新单元
1006
- currentUnit = {
1007
- title: h2Match[1].trim(),
1008
- level: 2,
1009
- startLine: i,
1010
- endLine: lines.length - 1,
1011
- sourceSection: h2Match[1].trim(),
1012
- };
1109
+ const m = lines[i].match(/^(#{2,6})\s+(.+)$/);
1110
+ if (m)
1111
+ headings.push({ level: m[1].length, title: m[2].trim(), line: i });
1112
+ }
1113
+ if (headings.length === 0)
1114
+ return [];
1115
+ // 文档标题:唯一的最浅层标题(如「## XX产品需求文档」),不作为功能单元
1116
+ const minLevel = Math.min(...headings.map(h => h.level));
1117
+ const shallowest = headings.filter(h => h.level === minLevel);
1118
+ const docTitleLine = shallowest.length === 1 ? shallowest[0].line : -1;
1119
+ // 候选功能单元标题(非功能章节过滤 + 子树传播排除)
1120
+ const candidates = [];
1121
+ const stack = [];
1122
+ for (const h of headings) {
1123
+ while (stack.length > 0 && h.level <= stack[stack.length - 1].level)
1124
+ stack.pop();
1125
+ const parentExcluded = stack.length > 0 && stack[stack.length - 1].subtreeExcluded;
1126
+ // 「功能需求」类容器章节:自身非单元,但后代是功能单元,不传播排除
1127
+ // (负向后行断言排除「非功能需求」——它包含「功能需求」子串但应整体排除子树)
1128
+ const isContainer = /(?<!非)功能需求|功能清单|功能列表/.test(h.title);
1129
+ const subtreeExcluded = parentExcluded || (isNonFunctionalSection(h.title) && !isContainer);
1130
+ stack.push({ level: h.level, subtreeExcluded });
1131
+ if (subtreeExcluded || isContainer || isNonFunctionalSection(h.title) || h.line === docTitleLine)
1132
+ continue;
1133
+ candidates.push(h);
1134
+ }
1135
+ // 单元 = 候选中的叶子;内容范围到下一个同层级或更浅的标题(含被过滤标题)为止
1136
+ const units = [];
1137
+ for (let i = 0; i < candidates.length; i++) {
1138
+ const c = candidates[i];
1139
+ let isLeaf = true;
1140
+ for (let j = i + 1; j < candidates.length; j++) {
1141
+ if (candidates[j].level <= c.level)
1142
+ break;
1143
+ isLeaf = false;
1144
+ break;
1013
1145
  }
1014
- else if (h3Match && !currentUnit) {
1015
- // 如果文档以 ### 开头(没有 ##),以 ### 作为单元边界
1016
- currentUnit = {
1017
- title: h3Match[1].trim(),
1018
- level: 3,
1019
- startLine: i,
1020
- endLine: lines.length - 1,
1021
- sourceSection: h3Match[1].trim(),
1022
- };
1146
+ if (!isLeaf)
1147
+ continue;
1148
+ let endLine = lines.length - 1;
1149
+ for (const h of headings) {
1150
+ if (h.line > c.line && h.level <= c.level) {
1151
+ endLine = h.line - 1;
1152
+ break;
1153
+ }
1023
1154
  }
1155
+ units.push({ title: c.title, level: c.level, startLine: c.line, endLine, sourceSection: c.title });
1024
1156
  }
1025
- // 结束最后一个单元
1026
- if (currentUnit) {
1027
- currentUnit.endLine = lines.length - 1;
1028
- units.push(currentUnit);
1029
- }
1030
- // 过滤掉非功能单元的章节(如"附录"、"术语表"等)
1031
- // v8.3.194+: 先剥离章节号前缀("一、"、"1."、"第一章"等),再匹配非功能章节词,
1032
- // 避免"一、文档概述"这类「章节号 + 概述」被误当功能单元
1033
- const stripSectionNo = (t) => t.replace(/^[一二三四五六七八九十百]+[、..\s]+/, '')
1034
- .replace(/^\d+[、..\s]+/, '')
1035
- .replace(/^第[一二三四五六七八九十百\d]+[章节篇部分]+[、..\s]*/, '');
1036
- const skipPrefix = /^(附录|术语表|参考文献|目录|引言|总结|致谢|版权声明|修订记录|changelog|glossary|references|table of contents|introduction|summary|acknowledgments)/i;
1037
- // 包含匹配:标题里含这些词即视为非功能章节(如"文档概述"、"项目背景"、"验收标准汇总")
1038
- const skipContains = ['概述', '名词', '背景', '目标', '验收标准', '上线计划', '关联文档', '功能需求', '非功能需求', '用户画像', '功能架构', '风险与缓解', '产品视角', 'overview'];
1039
- return units.filter(u => {
1040
- const title = stripSectionNo(u.title).trim();
1041
- if (!title)
1042
- return false;
1043
- if (skipPrefix.test(title))
1044
- return false;
1045
- if (skipContains.some(w => title.includes(w)))
1046
- return false;
1047
- return true;
1048
- });
1157
+ return units;
1049
1158
  }
1050
1159
  /**
1051
1160
  * 提取指定单元的内容
@@ -1074,7 +1183,8 @@ function stripSectionPrefix(t) {
1074
1183
  return t
1075
1184
  .replace(/^第[一二三四五六七八九十百\d]+[章节篇部分]+[、..\s]*/, '')
1076
1185
  .replace(/^[一二三四五六七八九十百]+[、..\s]+/, '')
1077
- .replace(/^\d+[、..\s]+/, '')
1186
+ .replace(/^\d+(\.\d+)*[、..\s]+/, '')
1187
+ .replace(/^[A-Za-z]-\d+[、..\s]+/, '')
1078
1188
  .replace(/^[((][一二三四五六七八九十百\d]+[))][、..\s]*/, '')
1079
1189
  .trim();
1080
1190
  }
@@ -1 +1 @@
1
- {"version":3,"file":"doc2spec.js","sourceRoot":"","sources":["../../src/commands/doc2spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doc2spec.js","sourceRoot":"","sources":["../../src/commands/doc2spec.ts"],"names":[],"mappings":";;;AA6IA,0CAwDC;AAgoBD,oDA0IC;AA/8BD;;;;;;;;;;;;;;;;GAgBG;AACH,4CAAkD;AAClD,iDAAyC;AACzC,uCAAmG;AACnG,+BAA+C;AAC/C,2BAA4B;AAC5B,oDAA0D;AAC1D,6DAAqD;AAGrD,yDAAwE;AACxE,2DAAmE;AACnE,2DAAoD;AACpD,6CAA8D;AAC9D,SAAS,WAAW,CAAC,GAAW,EAAE,UAAmB;IACnD,yBAAyB;IACzB,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;QACpC,IAAI,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAAC,OAAO,UAAU,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IAC3E,CAAC;IAED,IAAI,CAAC;QACH,sCAAsC;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;QAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9E,kCAAkC;QAClC,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,qBAAqB;QACrB,MAAM,WAAW,GAA6B;YAC5C,MAAM,EAAE,CAAC,uBAAuB,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,uCAAuC,CAAC;YACzH,WAAW,EAAE,CAAC,sDAAsD,EAAE,kBAAkB,CAAC;SAC1F,CAAC;QACF,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACrC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACzD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACjC,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,EAAE,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAqB,CAAC;IAC3F,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAuB,CAAC;AAC3C,CAAC;AAED,SAAS,cAAc;IACrB,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAClD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAC/C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,GAAG,GAA2C;QAClD,MAAM,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,yBAAyB,EAAE,GAAG,EAAE,8BAA8B,EAAE;QAC/G,WAAW,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,8BAA8B,EAAE,GAAG,EAAE,wCAAwC,EAAE;KACzI,CAAC;IACF,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,IAAI,IAAI,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,UAAU,GAAG,KAAK;IAC5D,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAClD,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC;QACxC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;gBAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACpD,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC7C,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK;oBAAE,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC/C,OAAO,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK,IAAI,CAAC,UAAU,IAAI,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC;YAC/E,CAAC,CAAC;YACF,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACxB,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACzB,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACnC,8BAA8B;YAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACzB,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAKK,QAAA,iBAAiB,GAA2B;IAChD,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,MAAM,EAAO,gBAAgB;IAClC,EAAE,EAAE,UAAU,EAAI,OAAO;IACzB,GAAG,EAAE,KAAK,EAAQ,OAAO;IACzB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;CACf,CAAC;AAEF,wCAAwC;AACxC,SAAS,WAAW,CAAC,GAAuB;IAC1C,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,yBAAiB,CAAC,GAAG,CAAC,CAAC;AACxF,CAAC;AAED,qBAAqB;AACrB,SAAS,oBAAoB,CAAC,GAAW;IACvC,OAAO,yBAAiB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;AACvC,CAAC;AAeM,KAAK,UAAU,eAAe,CAAC,OAAyB;IAC7D,8BAA8B;IAC9B,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,2BAA2B;IAC3B,IAAI,OAAO,CAAC,IAAI,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5E,MAAM,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IAED,mCAAmC;IACnC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAAC,eAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAClE,MAAM,aAAa,GAAG,MAAM,IAAA,mBAAQ,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAW,EAAC,SAAS,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACzE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAA,6BAAY,EAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IACD,8BAA8B;IAC9B,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,aAAa,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC;QACjE,MAAM,IAAA,oBAAS,EAAC,SAAS,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,IAAA,eAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;QACxF,MAAM,IAAA,oBAAS,EAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3C,eAAM,CAAC,OAAO,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IACD,aAAa;IACb,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,eAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QACD,eAAM,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,MAAM,WAAW,CAAC,CAAC;QAChD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC;YACrC,eAAM,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,GAAG,CAAC,CAAC;YACzC,MAAM,aAAa,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YACpD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,eAAM,CAAC,IAAI,CAAC,OAAO,OAAO,IAAI,KAAK,CAAC,MAAM,UAAU,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IAED,cAAc;IACd,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACrE,OAAO;IACT,CAAC;IACD,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,OAAyB;IACpD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,IAAA,qBAAU,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACtC,eAAM,CAAC,KAAK,CAAC,UAAU,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IAED,2BAA2B;IAC3B,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAU,GAAE,CAAC;IAClC,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;IAC1C,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC;IAEpD,cAAc;IACd,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACtD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC3C,eAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QACzE,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,eAAM,CAAC,IAAI,CAAC,eAAe,UAAU,EAAE,CAAC,CAAC;QACzC,eAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC1D,eAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QACtD,eAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QAChE,eAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5B,eAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACjD,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEhB,6BAA6B;QAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1B,eAAM,CAAC,IAAI,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC;gBACH,IAAA,wBAAQ,EAAC,UAAU,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC5D,eAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,eAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,wBAAwB,CAAC,CAAC;QAC1D,IAAI,MAAM,EAAE,CAAC;YACX,eAAM,CAAC,IAAI,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;YAC1C,IAAI,CAAC;gBACH,IAAA,wBAAQ,EAAC,UAAU,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC3C,eAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,eAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;QACH,CAAC;aAAM,CAAC;YACN,eAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtB,eAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,gBAAO,CAAC,yBAAyB,CAAC,CAAC;IACvD,OAAO,CAAC,KAAK,EAAE,CAAC;IAEhB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,aAAa,QAAQ,EAAE,CAAC;QACxC,0CAA0C;QAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAChH,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,WAAI,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,WAAI,EAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC;QAChG,MAAM,SAAS,GAAG,OAAO,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,YAAY;QACvF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QACxC,0CAA0C;QAC1C,mCAAmC;QACnC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAA,eAAQ,EAAC,OAAO,CAAC,IAAI,EAAE,IAAA,cAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC;QACrG,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,iBAAiB,CAAC,CAAC,CAAC,GAAG,UAAU,kBAAkB,CAAC;QACjG,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAEnD,MAAM,IAAA,oBAAS,EAAC,SAAS,CAAC,CAAC;QAC3B,MAAM,IAAA,oBAAS,EAAC,QAAQ,CAAC,CAAC;QAE1B,mCAAmC;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;gBAChE,MAAM,IAAA,oBAAS,EAAC,UAAU,CAAC,CAAC;gBAC5B,MAAM,cAAc,GAAG,IAAA,eAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC9C,MAAM,cAAc,GAAG,IAAA,WAAI,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;gBACxD,IAAI,CAAC,CAAC,MAAM,IAAA,qBAAU,EAAC,cAAc,CAAC,CAAC,EAAE,CAAC;oBACxC,MAAM,IAAA,eAAI,EAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;oBACzC,eAAM,CAAC,IAAI,CAAC,gBAAgB,cAAc,EAAE,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QAED,IAAI,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;QAC9B,IAAI,WAAW,GAAkB,IAAI,CAAC;QACtC,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;QAEvD,0BAA0B;QAC1B,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,IAAI,SAAS,GAAG,MAAM,IAAA,mBAAQ,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACpD,mCAAmC;YACnC,8CAA8C;YAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAA,WAAI,EAAC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;YAC5G,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC;YACtE,MAAM,IAAA,oBAAS,EAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YACzB,gCAAgC;YAChC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAA,WAAM,GAAE,CAAC;gBACxB,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,EAAE,iBAAiB,CAAC,IAAI,SAAS,CAAC;gBAC9E,IAAA,wBAAQ,EAAC,IAAI,UAAU,mCAAmC,UAAU,eAAe,MAAM,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBACjH,MAAM,IAAI,GAAG,IAAA,eAAQ,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAC1C,UAAU,GAAG,IAAA,WAAI,EAAC,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;gBAC1C,IAAI,CAAC,CAAC,MAAM,IAAA,qBAAU,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC;oBACpC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACnD,CAAC;gBACD,WAAW,GAAG,UAAU,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;gBACzE,OAAO;YACT,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACtC,CAAC;aAAM,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,CAAC;QACzC,CAAC;QAED,4BAA4B;QAC5B,IAAI,GAAG,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACxB,MAAM,WAAW,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC;gBACH,IAAA,wBAAQ,EACN,IAAI,SAAS,MAAM,UAAU,QAAQ,WAAW,wCAAwC,QAAQ,SAAS,UAAU,GAAG,EACtH,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CACnF,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,YAAY,UAAU,EAAE,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,gBAAgB,WAAW,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC3D,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;oBAClB,eAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;gBAC7D,CAAC;gBACD,OAAO;YACT,CAAC;QACH,CAAC;QAED,SAAS;QACT,IAAI,WAAW,IAAI,MAAM,IAAA,qBAAU,EAAC,WAAW,CAAC,EAAE,CAAC;YACjD,MAAM,IAAA,iBAAM,EAAC,WAAW,CAAC,CAAC;QAC5B,CAAC;QAED,YAAY;QACZ,IAAI,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAElD,aAAa;QACb,+CAA+C;QAC/C,iDAAiD;QACjD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAElD,UAAU;QACV,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAE7C,oEAAoE;QACpE,kDAAkD;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAA,WAAI,EAAC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QAC5G,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC;QAElE,iBAAiB;QACjB,MAAM,iBAAiB,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7F,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,IAAI,gHAAgH,CAAC;QAC9H,CAAC;QAED,6BAA6B;QAC7B,uEAAuE;QACvE,OAAO,GAAG,OAAO,CAAC,OAAO,CACvB,IAAI,EACJ,KAAK,QAAQ,IAAI,IAAI,6NAA6N,CACnP,CAAC;QAEF,MAAM,IAAA,oBAAS,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAErC,oBAAoB;QACpB,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAC;QAChE,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,MAAM,IAAA,qBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;YAChC,YAAY,GAAG,MAAM,IAAA,mBAAQ,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,0FAA0F,CAAC;QAC5G,CAAC;QACD,MAAM,aAAa,GAAG,QAAQ,IAAI,IAAI,CAAC;QACvC,0DAA0D;QAC1D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,aAAa,IAAI,CAAC,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,KAAK,aAAa,MAAM,cAAc,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,IAAA,eAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YACjI,YAAY,IAAI,KAAK,GAAG,IAAI,CAAC;QAC/B,CAAC;QACD,MAAM,IAAA,oBAAS,EAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAEzC,yDAAyD;QACzD,MAAM,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;QAE5E,sBAAsB;QACtB,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC;QAC/D,IAAI,MAAM,IAAA,qBAAU,EAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,CAAC,MAAM,IAAA,kBAAO,EAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACtF,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC1B,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChB,eAAM,CAAC,IAAI,CAAC,UAAU,SAAS,CAAC,MAAM,iBAAiB,CAAC,CAAC;gBACzD,eAAM,CAAC,IAAI,CAAC,6BAA6B,OAAO,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC;gBACnE,eAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,eAAe;QACf,MAAM,MAAM,GAAG,MAAM,IAAA,+BAAe,EAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,kBAAkB,EAAE,eAAe,CAAC,CAAC;QACtE,MAAM,IAAA,oBAAS,EAAC,UAAU,EAAE,IAAA,8BAAc,EAAC,MAAM,EAAE,IAAA,eAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAE3E,WAAW;QACX,MAAM,UAAU,GAAG,CAAC,MAAM,IAAA,qBAAU,EAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC,MAAM,IAAA,kBAAO,EAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAkB,EAAE,EAAE,CAC3E,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAC5C,CAAC,MAAM;YACV,CAAC,CAAC,CAAC,CAAC;QAEN,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAI,EAAC,UAAU,CAAC,CAAC;QACxC,eAAM,CAAC,OAAO,CAAC,OAAO,UAAU,KAAK,QAAQ,CAAC,IAAI,SAAS,CAAC,CAAC;QAC7D,eAAM,CAAC,IAAI,CAAC,OAAO,UAAU,QAAQ,QAAQ,GAAG,CAAC,CAAC;QAClD,eAAM,CAAC,IAAI,CAAC,QAAQ,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,CAC7D,CAAC;QACF,eAAM,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC;QAC7F,eAAM,CAAC,IAAI,CAAC,UAAU,UAAU,EAAE,CAAC,CAAC;QACpC,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,eAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,IAAI,OAAO,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;YACzB,mBAAmB;YACnB,eAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACzC,eAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAC9C,eAAM,CAAC,IAAI,CAAC,iBAAiB,UAAU,MAAM,OAAO,GAAG,CAAC,CAAC;YACzD,eAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YACrD,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,eAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,oBAAoB;YACpB,eAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACzC,eAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAChC,eAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC7B,eAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YAC/C,eAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC/D,CAAC;QAED,uBAAuB;QACvB,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7B,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,eAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC9B,MAAM,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,IAAA,eAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;QAC/B,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,kBAAkB,CAAC,OAAe,EAAE,SAAiB,EAAE,QAAgB,EAAE,cAAuB;IAC7G,MAAM,WAAW,GAAG,cAAc,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,QAAQ,iBAAiB,CAAC,CAAC;IAC5H,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAExD,IAAI,CAAC,CAAC,MAAM,IAAA,qBAAU,EAAC,OAAO,CAAC,CAAC;QAAE,OAAO;IAEzC,MAAM,eAAe,GAAG,MAAM,IAAA,mBAAQ,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEzD,SAAS;IACT,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAC3F,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,QAAQ,UAAU,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAElF,0BAA0B;IAC1B,MAAM,WAAW,GAAG,eAAe;SAChC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;SACnC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;SACnC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;SAC1B,IAAI,EAAE,CAAC;IAEV,cAAc;IACd,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,MAAM,IAAA,qBAAU,EAAC,aAAa,CAAC,EAAE,CAAC;QACpC,aAAa,GAAG,MAAM,IAAA,mBAAQ,EAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,aAAa,GAAG,uCAAuC,CAAC;IAC1D,CAAC;IAED,gEAAgE;IAChE,yDAAyD;IACzD,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,CAAC;IACjF,+CAA+C;IAC/C,MAAM,eAAe,GAAG,QAAQ,YAAY,OAAO,WAAW,GAAG,UAAU,IAAI,CAAC;IAEhF,iBAAiB;IACjB,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,aAAa,OAAO,4BAA4B,EAAE,GAAG,CAAC,CAAC;IACvF,IAAI,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,EAAU,EAAE,EAAE,CAAC,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IACnH,CAAC;SAAM,CAAC;QACN,aAAa,IAAI,eAAe,CAAC;IACnC,CAAC;IAED,6BAA6B;IAC7B,aAAa,GAAG,aAAa;SAC1B,OAAO,CAAC,mEAAmE,EAAE,EAAE,CAAC,CAAC;IAEpF,MAAM,IAAA,oBAAS,EAAC,aAAa,EAAE,aAAa,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,eAAe,CAAC,OAAyB;IACtD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,eAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC;IAC/D,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;IAEhE,IAAI,CAAC,CAAC,MAAM,IAAA,qBAAU,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACpC,eAAM,CAAC,KAAK,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;QAC9C,eAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACzC,OAAO;IACT,CAAC;IAED,2BAA2B;IAC3B,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAU,GAAE,CAAC;IAClC,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;IAE1C,oBAAoB;IACpB,MAAM,OAAO,GAAG,MAAM,IAAA,kBAAO,EAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/E,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,eAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,YAAY;IACZ,MAAM,YAAY,GAAwC,EAAE,CAAC;IAC7D,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;QACvD,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACxD,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YACzB,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,eAAe;YACf,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACtD,IAAI,SAAS,IAAI,GAAG,IAAI,yBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAA,WAAI,EAAC,UAAU,EAAE,IAAI,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC;oBACzD,IAAA,wBAAQ,EACN,IAAI,SAAS,MAAM,QAAQ,QAAQ,yBAAiB,CAAC,GAAG,CAAC,2BAA2B,MAAM,GAAG,EAC7F,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CACnF,CAAC;oBACF,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBAC1C,MAAM,IAAA,iBAAM,EAAC,MAAM,CAAC,CAAC;gBACvB,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;gBAClC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,aAAa,GAAG,GAAG,CAAC;YAChC,CAAC;QACH,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,iCAAiC;IACjC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,MAAM,GAAG,qBAAqB,CAAC;QACnC,MAAM,IAAI,SAAS,IAAI,UAAU,WAAW,CAAC,MAAM,UAAU,CAAC;QAC9D,MAAM,IAAI,kCAAkC,CAAC;QAC7C,MAAM,IAAI,mBAAmB,CAAC;QAC9B,MAAM,IAAI,mDAAmD,CAAC;QAC9D,MAAM,IAAI,0CAA0C,CAAC;QACrD,MAAM,IAAI,oBAAoB,CAAC;QAC/B,MAAM,IAAI,4CAA4C,CAAC;QACvD,MAAM,IAAI,qDAAqD,CAAC;QAChE,MAAM,IAAI,sDAAsD,CAAC;QACjE,MAAM,IAAI,2DAA2D,CAAC;QACtE,MAAM,IAAI,wDAAwD,CAAC;QACnE,MAAM,IAAI,uDAAuD,CAAC;QAClE,MAAM,IAAI,mBAAmB,CAAC;QAC9B,MAAM,IAAI,2BAA2B,CAAC;QACtC,MAAM,IAAI,8CAA8C,CAAC;QACzD,MAAM,IAAI,8DAA8D,CAAC;QACzE,MAAM,IAAI,8CAA8C,CAAC;QACzD,MAAM,IAAI,aAAa,CAAC;QACxB,MAAM,IAAI,gBAAgB,CAAC;QAC3B,MAAM,IAAI,mBAAmB,CAAC;QAC9B,MAAM,IAAI,iDAAiD,CAAC;QAC5D,MAAM,IAAI,mDAAmD,CAAC;QAC9D,MAAM,IAAI,wBAAwB,CAAC;QACnC,MAAM,IAAI,+BAA+B,CAAC;QAC1C,MAAM,IAAI,yDAAyD,CAAC;QACpE,MAAM,IAAI,UAAU,CAAC;QACrB,MAAM,IAAI,SAAS,CAAC;QACpB,MAAM,IAAI,cAAc,CAAC;QACzB,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;YAC9B,MAAM,IAAI,UAAU,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,OAAO,aAAa,CAAC;QAC5D,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IAED,8CAA8C;IAC9C,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAA,oBAAS,EAAC,UAAU,CAAC,CAAC;QAC5B,IAAI,KAAwF,CAAC;QAC7F,IAAI,CAAC;YACH,gCAAgC;YAChC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACzE,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC1E,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,eAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,eAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,WAAW;QACX,MAAM,SAAS,GAA2B;YACxC,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,UAAU;SACrB,CAAC;QAEF,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAClH,MAAM,QAAQ,GAAG,GAAG,IAAI,KAAK,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAE5C,0BAA0B;YAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;YACjC,MAAM,EAAE,GAAG,cAAc,IAAI,aAAa,MAAM,YAAY,IAAI,CAAC,KAAK,gCAAgC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC;YAC5L,MAAM,IAAA,oBAAS,EAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC9B,OAAO,EAAE,CAAC;YACV,eAAM,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,eAAM,CAAC,OAAO,CAAC,OAAO,OAAO,mBAAmB,CAAC,CAAC;QAClD,eAAM,CAAC,IAAI,CAAC,SAAS,UAAU,GAAG,CAAC,CAAC;QACpC,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,eAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,eAAM,CAAC,IAAI,CAAC,0BAA0B,IAAI,yBAAyB,CAAC,CAAC;QACrE,eAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACzC,OAAO;IACT,CAAC;IAED,iDAAiD;IACjD,eAAM,CAAC,IAAI,CAAC,oBAAoB,WAAW,CAAC,MAAM,SAAS,CAAC,CAAC;IAC7D,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACnE,eAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,MAAM,OAAO,KAAK,CAAC,CAAC;IAClD,CAAC;IACD,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,eAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC3C,eAAM,CAAC,IAAI,CAAC,+CAA+C,IAAI,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,IAAY,EAAE,SAAiB;IAC/D,MAAM,OAAO,GAAG,aAAa,SAAS,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3C,MAAM,IAAA,oBAAS,EAAC,OAAO,CAAC,CAAC;IAEzB,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,IAAI,GAA6B,EAAE,CAAC;IAExC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7E,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,SAAS;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;YACtE,MAAM,GAAG,GAA2B,EAAE,CAAC;YACvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,0BAA0B;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QAEvD,gBAAgB;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACvC,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAE3E,6BAA6B;YAC7B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;YACjF,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACxD,MAAM,OAAO,GAAG,IAAA,eAAQ,EAAC,EAAE,CAAC,CAAC;gBAC7B,MAAM,IAAA,oBAAS,EAAC,SAAS,CAAC,CAAC;gBAC3B,MAAM,IAAA,oBAAS,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;YACrD,CAAC;YACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,eAAM,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,MAAM,UAAU,SAAS,GAAG,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,eAAe;QACjB,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,eAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO;IACT,CAAC;IAED,wBAAwB;IACxB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,8CAA8C,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7F,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEzE,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9D,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,4BAAU,EAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,MAAM,IAAA,oBAAS,EAAC,QAAQ,CAAC,CAAC;QAE1B,MAAM,QAAQ,GAAG;YACf,KAAK,KAAK,EAAE;YACZ,EAAE;YACF,YAAY;YACZ,iBAAiB;YACjB,UAAU,MAAM,IAAI;YACpB,iBAAiB;YACjB,UAAU,SAAS,IAAI;SACxB,CAAC;QACF,IAAI,GAAG,CAAC,WAAW,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACrE,IAAI,GAAG,CAAC,QAAQ,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/D,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,IAAI,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,cAAc;YACd,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAElB,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACrD,MAAM,EAAE,GAAG,MAAM,IAAA,gCAAmB,EAAC,WAAW,CAAC,CAAC;QAClD,IAAI,EAAE,EAAE,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,eAAM,CAAC,IAAI,CAAC,cAAc,IAAA,eAAQ,EAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,IAAA,oBAAS,EAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,eAAM,CAAC,OAAO,CAAC,OAAO,IAAA,eAAQ,EAAC,IAAI,CAAC,OAAO,OAAO,WAAW,CAAC,CAAC;IAC/D,eAAM,CAAC,IAAI,CAAC,aAAa,OAAO,GAAG,CAAC,CAAC;IAErC,OAAO;IACP,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,eAAM,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,MAAM,MAAM,CAAC,CAAC;QAC9C,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YACzB,eAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1B,CAAC;QACD,eAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAClC,CAAC;IAED,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzB,eAAM,CAAC,IAAI,CAAC,mCAAmC,SAAS,EAAE,CAAC,CAAC;IAC5D,eAAM,CAAC,IAAI,CAAC,+CAA+C,SAAS,EAAE,CAAC,CAAC;AAC1E,CAAC;AAcD;;;GAGG;AACI,KAAK,UAAU,oBAAoB,CACxC,OAAe,EACf,UAAkB,EAClB,aAAqB,EACrB,cAAsB;IAEtB,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACpD,sDAAsD;IACtD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,KAAoB,CAAC;IACzB,IAAI,cAAc,GAAa,EAAE,CAAC;IAClC,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QACvB,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3B,wCAAwC;QACxC,cAAc,GAAG,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,gDAAgD;IAChD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,eAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,eAAM,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,MAAM,UAAU,CAAC,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,eAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,eAAM,CAAC,IAAI,CAAC,SAAS,cAAc,CAAC,MAAM,yCAAyC,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAC;IAClE,MAAM,IAAA,oBAAS,EAAC,WAAW,CAAC,CAAC;IAE7B,0CAA0C;IAC1C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,IAAI,CAAC;QACH,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;gBAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,gBAAgB,CAAC,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,mDAAmD;QACnD,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC;QAC1D,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAA,eAAQ,EAAC,cAAc,EAAE,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC;QAC3E,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACjE,iCAAiC;QACjC,IAAI,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAClC,eAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,qBAAqB,WAAW,GAAG,CAAC,CAAC;YACrE,OAAO,EAAE,CAAC;YACV,SAAS;QACX,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC/C,MAAM,IAAA,oBAAS,EAAC,OAAO,CAAC,CAAC;QACzB,MAAM,IAAA,oBAAS,EAAC,IAAA,WAAI,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAExC,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC9C,MAAM,IAAA,oBAAS,EAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAEzC,OAAO;QACP,MAAM,UAAU,GAAG,uCAAuC,cAAc,sBAAsB,IAAI,CAAC,aAAa,gBAAgB,aAAa,iBAAiB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAC7N,MAAM,IAAA,oBAAS,EAAC,IAAA,WAAI,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC;QAE9D,gCAAgC;QAChC,MAAM,SAAS,GAAG,aAAa;aAC5B,KAAK,CAAC,QAAQ,CAAC;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAClB,MAAM,CAAC,OAAO,CAAC,CAAC;QACnB,MAAM,aAAa,GAAG,KAAK,IAAI,CAAC,KAAK,wBAAwB,IAAI,CAAC,KAAK,iBAAiB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,aAAa,gCAAgC,CAAC;QACnL,MAAM,IAAA,oBAAS,EAAC,IAAA,WAAI,EAAC,OAAO,EAAE,YAAY,CAAC,EAAE,aAAa,CAAC,CAAC;QAE5D,SAAS;QACT,MAAM,gBAAgB,GAAG,KAAK,IAAI,CAAC,KAAK,sBAAsB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,qDAAqD,cAAc,MAAM,IAAI,CAAC,aAAa,SAAS,CAAC;QACzM,MAAM,IAAA,oBAAS,EAAC,IAAA,WAAI,EAAC,OAAO,EAAE,cAAc,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAEjE,OAAO,EAAE,CAAC;QACV,eAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,eAAe,WAAW,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED,sDAAsD;IACtD,oBAAoB;IACpB,MAAM,iBAAiB,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACxD,IAAI,aAAa,GAAG,2CAA2C,CAAC;IAChE,aAAa,IAAI,8BAA8B,CAAC;IAChD,aAAa,IAAI,iCAAiC,CAAC;IACnD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,IAAI,MAAM,IAAA,qBAAU,EAAC,iBAAiB,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAQ,EAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;YACxD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAClF,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACvB,aAAa,IAAI,IAAI,GAAG,IAAI,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,KAAK,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,aAAa,cAAc,aAAa,IAAI,CAAC;QACnF,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QACpC,aAAa,IAAI,GAAG,GAAG,IAAI,CAAC;IAC9B,CAAC;IACD,MAAM,IAAA,oBAAS,EAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;IAElD,qDAAqD;IACrD,0BAA0B;IAC1B,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAC;QAClE,MAAM,IAAA,oBAAS,EAAC,WAAW,CAAC,CAAC;QAC7B,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAA,eAAQ,EAAC,cAAc,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC;QAC/E,IAAI,aAAa,GAAG,eAAe,cAAc,uEAAuE,cAAc,aAAa,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAChM,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxF,aAAa,IAAI,YAAY,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;YACvD,SAAS,EAAE,CAAC;QACd,CAAC;QACD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,IAAA,oBAAS,EAAC,IAAA,WAAI,EAAC,WAAW,EAAE,kBAAkB,OAAO,KAAK,CAAC,EAAE,aAAa,CAAC,CAAC;YAClF,eAAM,CAAC,IAAI,CAAC,2CAA2C,OAAO,QAAQ,SAAS,OAAO,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAED,eAAM,CAAC,OAAO,CAAC,SAAS,OAAO,oBAAoB,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChG,eAAM,CAAC,IAAI,CAAC,SAAS,WAAW,GAAG,CAAC,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,CAAS;IAC/B,OAAO,CAAC;SACL,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC;SACtC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;SACnC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;SACpC,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,mBAAmB,GAAG,4HAA4H,CAAC;AACzJ,qBAAqB;AACrB,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACrH,iDAAiD;AACjD,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACrD,6CAA6C;AAC7C,4BAA4B;AAC5B,iCAAiC;AACjC,MAAM,iBAAiB,GAAG,sFAAsF,CAAC;AAEjH,SAAS,sBAAsB,CAAC,QAAgB;IAC9C,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACjD,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpE,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpE,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,OAAe,EAAE,KAAoB;IAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAqD,EAAE,CAAC;IACtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC9C,IAAI,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACzC,0BAA0B;IAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,KAAK,GAA2C,EAAE,CAAC;IACzD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK;YAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QACjF,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC5E,yCAAyC;QACzC,MAAM,WAAW,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,cAAc,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrF,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzC,IAAI,QAAQ,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC3D,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7C,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAUD;;;;;;GAMG;AACH,KAAK,UAAU,eAAe,CAAC,OAAe;IAC5C,IAAI,CAAC;QACH,MAAM,YAAY,GAAG;YACnB,+CAA+C;YAC/C,EAAE;YACF,mBAAmB;YACnB,wDAAwD;YACxD,oCAAoC;YACpC,EAAE;YACF,qBAAqB;YACrB,4BAA4B;YAC5B,6EAA6E;YAC7E,8BAA8B;YAC9B,EAAE;YACF,gBAAgB;YAChB,+FAA+F;YAC/F,gEAAgE;YAChE,+BAA+B;YAC/B,oBAAoB;SACrB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,UAAU,GAAG,yCAAyC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;QAErF,oEAAoE;QACpE,MAAM,SAAS,GAAG,MAAM,IAAA,4BAAkB,EAAC,OAAO,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,IAAA,iBAAO,EAAC,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAC1E,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3B,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEtF,MAAM,KAAK,GAAkB,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAa,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAC7C,gBAAgB;YAChB,MAAM,MAAM,GAAG,QAAQ;iBACpB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBACxC,MAAM,CAAC,CAAC,CAAC,EAAuC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;YAClE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,CAAC;gBACR,SAAS;gBACT,OAAO;gBACP,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAErG,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,0CAA0C;AAC1C,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO,GAAG,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,4CAA4C;AAC5C,SAAS,gBAAgB,CAAC,OAAe,EAAE,YAAoB;IAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,OAAO,GAAG,CAAC,CAAS,EAAkC,EAAE;QAC5D,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACzD,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACxC,IAAI,EAAE,EAAE,CAAC;gBACP,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACtD,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC;oBAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;oBAAC,MAAM;gBAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;IAC3B,CAAC,CAAC;IAEF,8BAA8B;IAC9B,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAChF,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhC,gDAAgD;IAChD,gBAAgB;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,iCAAiC;IACjC,2BAA2B;IAC3B,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC5C,IAAI,CAAC,CAAC;gBAAE,SAAS;YACjB,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC7E,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,SAAS,CAAC,OAAe;IAChC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAqD,EAAE,CAAC;IACtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC9C,IAAI,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,wCAAwC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvE,6BAA6B;IAC7B,MAAM,UAAU,GAAqD,EAAE,CAAC;IACxE,MAAM,KAAK,GAAkD,EAAE,CAAC;IAChE,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK;YAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QACjF,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC;QACnF,mCAAmC;QACnC,yCAAyC;QACzC,MAAM,WAAW,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,eAAe,GAAG,cAAc,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5F,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;QAChD,IAAI,eAAe,IAAI,WAAW,IAAI,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY;YAAE,SAAS;QAC3G,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,0CAA0C;IAC1C,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK;gBAAE,MAAM;YAC1C,MAAM,GAAG,KAAK,CAAC;YACf,MAAM;QACR,CAAC;QACD,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,IAAI,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBAAC,OAAO,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;gBAAC,MAAM;YAAC,CAAC;QAC7E,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACrG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,OAAe,EAAE,IAAiB;IAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAEhE,kCAAkC;IAClC,IAAI,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS;IACT,IAAI,MAAM,GAAG,KAAK,IAAI,CAAC,KAAK,MAAM,CAAC;IACnC,MAAM,IAAI,SAAS,IAAI,CAAC,aAAa,aAAa,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC/F,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH;;;GAGG;AACH,SAAS,kBAAkB,CAAC,CAAS;IACnC,OAAO,CAAC;SACL,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC;SACjD,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC;SACtC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;SACnC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;SACpC,OAAO,CAAC,mCAAmC,EAAE,EAAE,CAAC;SAChD,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,IAAI;SACR,OAAO,CAAC,+BAA+B,EAAE,EAAE,CAAC;SAC5C,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC;AAChC,CAAC"}