skill-creator 1.4.3 → 1.5.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.
Files changed (187) hide show
  1. package/dist/chunk-Da8dvM5T.mjs +1 -0
  2. package/dist/cli.d.mts +1016 -0
  3. package/dist/cli.d.mts.map +1 -0
  4. package/dist/cli.mjs +36 -0
  5. package/dist/cli.mjs.map +1 -0
  6. package/dist/contentManager-8rmWJMb6.mjs +22 -0
  7. package/dist/contentManager-8rmWJMb6.mjs.map +1 -0
  8. package/dist/contentManager-Xt8N5psY.mjs +1 -0
  9. package/dist/dist-DZL34HNo.mjs +8 -0
  10. package/dist/dist-DZL34HNo.mjs.map +1 -0
  11. package/dist/dist-X_kVEzbK.mjs +1 -0
  12. package/dist/esm-8qfZdcpd.mjs +33 -0
  13. package/dist/esm-8qfZdcpd.mjs.map +1 -0
  14. package/dist/esm-BF5pvSbc.mjs +1 -0
  15. package/dist/esm-BbhxxeGF.mjs +4 -0
  16. package/dist/esm-BbhxxeGF.mjs.map +1 -0
  17. package/dist/index.d.mts +1964 -0
  18. package/dist/index.d.mts.map +1 -0
  19. package/dist/index.mjs +21 -0
  20. package/dist/index.mjs.map +1 -0
  21. package/dist/listContext7-DKXzgWdn.mjs +2 -0
  22. package/dist/listContext7-DKXzgWdn.mjs.map +1 -0
  23. package/dist/package-B4FNst2t.mjs +2 -0
  24. package/dist/package-B4FNst2t.mjs.map +1 -0
  25. package/dist/path-CuoiIaIe.mjs +2 -0
  26. package/dist/path-CuoiIaIe.mjs.map +1 -0
  27. package/dist/removeContext7-DOXrTXeI.mjs +3 -0
  28. package/dist/removeContext7-DOXrTXeI.mjs.map +1 -0
  29. package/dist/removeSkill-C-ehFexk.mjs +5 -0
  30. package/dist/removeSkill-C-ehFexk.mjs.map +1 -0
  31. package/dist/removeSkill-DWwhvzej.mjs +1 -0
  32. package/dist/runScript-Cr9RRN9y.mjs +14 -0
  33. package/dist/runScript-Cr9RRN9y.mjs.map +1 -0
  34. package/dist/search_format-DIs-1lKk.mjs +5 -0
  35. package/dist/search_format-DIs-1lKk.mjs.map +1 -0
  36. package/dist/shared-CFoY2Xhg.mjs +2 -0
  37. package/dist/shared-CFoY2Xhg.mjs.map +1 -0
  38. package/dist/skillMdManager-DP8fGZb7.mjs +7 -0
  39. package/dist/skillMdManager-DP8fGZb7.mjs.map +1 -0
  40. package/dist/unifiedSearch-CGZXw0NB.mjs +1 -0
  41. package/dist/unifiedSearch-l-lrSc9C.mjs +4 -0
  42. package/dist/unifiedSearch-l-lrSc9C.mjs.map +1 -0
  43. package/package.json +30 -17
  44. package/dist/cli.d.ts +0 -8
  45. package/dist/cli.d.ts.map +0 -1
  46. package/dist/cli.js +0 -513
  47. package/dist/cli.js.map +0 -1
  48. package/dist/commands/addContent.d.ts +0 -5
  49. package/dist/commands/addContent.d.ts.map +0 -1
  50. package/dist/commands/addContent.js +0 -88
  51. package/dist/commands/addContent.js.map +0 -1
  52. package/dist/commands/buildIndex.d.ts +0 -5
  53. package/dist/commands/buildIndex.d.ts.map +0 -1
  54. package/dist/commands/buildIndex.js +0 -16
  55. package/dist/commands/buildIndex.js.map +0 -1
  56. package/dist/commands/createSkill.d.ts +0 -6
  57. package/dist/commands/createSkill.d.ts.map +0 -1
  58. package/dist/commands/createSkill.js +0 -32
  59. package/dist/commands/createSkill.js.map +0 -1
  60. package/dist/commands/downloadContext7.d.ts +0 -5
  61. package/dist/commands/downloadContext7.d.ts.map +0 -1
  62. package/dist/commands/downloadContext7.js +0 -71
  63. package/dist/commands/downloadContext7.js.map +0 -1
  64. package/dist/commands/init.d.ts +0 -5
  65. package/dist/commands/init.d.ts.map +0 -1
  66. package/dist/commands/init.js +0 -95
  67. package/dist/commands/init.js.map +0 -1
  68. package/dist/commands/listContent.d.ts +0 -5
  69. package/dist/commands/listContent.d.ts.map +0 -1
  70. package/dist/commands/listContent.js +0 -34
  71. package/dist/commands/listContent.js.map +0 -1
  72. package/dist/commands/listContext7.d.ts +0 -5
  73. package/dist/commands/listContext7.d.ts.map +0 -1
  74. package/dist/commands/listContext7.js +0 -26
  75. package/dist/commands/listContext7.js.map +0 -1
  76. package/dist/commands/listSkills.d.ts +0 -5
  77. package/dist/commands/listSkills.d.ts.map +0 -1
  78. package/dist/commands/listSkills.js +0 -34
  79. package/dist/commands/listSkills.js.map +0 -1
  80. package/dist/commands/removeContext7.d.ts +0 -5
  81. package/dist/commands/removeContext7.d.ts.map +0 -1
  82. package/dist/commands/removeContext7.js +0 -54
  83. package/dist/commands/removeContext7.js.map +0 -1
  84. package/dist/commands/removeSkill.d.ts +0 -5
  85. package/dist/commands/removeSkill.d.ts.map +0 -1
  86. package/dist/commands/removeSkill.js +0 -83
  87. package/dist/commands/removeSkill.js.map +0 -1
  88. package/dist/commands/searchContent.d.ts +0 -5
  89. package/dist/commands/searchContent.d.ts.map +0 -1
  90. package/dist/commands/searchContent.js +0 -99
  91. package/dist/commands/searchContent.js.map +0 -1
  92. package/dist/commands/shared.d.ts +0 -21
  93. package/dist/commands/shared.d.ts.map +0 -1
  94. package/dist/commands/shared.js +0 -80
  95. package/dist/commands/shared.js.map +0 -1
  96. package/dist/core/autoSearchAdapter.d.ts +0 -42
  97. package/dist/core/autoSearchAdapter.d.ts.map +0 -1
  98. package/dist/core/autoSearchAdapter.js +0 -116
  99. package/dist/core/autoSearchAdapter.js.map +0 -1
  100. package/dist/core/chromaSearch.d.ts +0 -24
  101. package/dist/core/chromaSearch.d.ts.map +0 -1
  102. package/dist/core/chromaSearch.js +0 -194
  103. package/dist/core/chromaSearch.js.map +0 -1
  104. package/dist/core/chromaSearchAdapter.d.ts +0 -86
  105. package/dist/core/chromaSearchAdapter.d.ts.map +0 -1
  106. package/dist/core/chromaSearchAdapter.js +0 -477
  107. package/dist/core/chromaSearchAdapter.js.map +0 -1
  108. package/dist/core/chromaServerManager.d.ts +0 -64
  109. package/dist/core/chromaServerManager.d.ts.map +0 -1
  110. package/dist/core/chromaServerManager.js +0 -186
  111. package/dist/core/chromaServerManager.js.map +0 -1
  112. package/dist/core/contentManager.d.ts +0 -65
  113. package/dist/core/contentManager.d.ts.map +0 -1
  114. package/dist/core/contentManager.js +0 -533
  115. package/dist/core/contentManager.js.map +0 -1
  116. package/dist/core/fuzzySearchAdapter.d.ts +0 -33
  117. package/dist/core/fuzzySearchAdapter.d.ts.map +0 -1
  118. package/dist/core/fuzzySearchAdapter.js +0 -185
  119. package/dist/core/fuzzySearchAdapter.js.map +0 -1
  120. package/dist/core/portUtils.d.ts +0 -51
  121. package/dist/core/portUtils.d.ts.map +0 -1
  122. package/dist/core/portUtils.js +0 -120
  123. package/dist/core/portUtils.js.map +0 -1
  124. package/dist/core/runScript.d.ts +0 -5
  125. package/dist/core/runScript.d.ts.map +0 -1
  126. package/dist/core/runScript.js +0 -40
  127. package/dist/core/runScript.js.map +0 -1
  128. package/dist/core/searchAdapter.d.ts +0 -48
  129. package/dist/core/searchAdapter.d.ts.map +0 -1
  130. package/dist/core/searchAdapter.js +0 -6
  131. package/dist/core/searchAdapter.js.map +0 -1
  132. package/dist/core/searchEngineFactory.d.ts +0 -30
  133. package/dist/core/searchEngineFactory.d.ts.map +0 -1
  134. package/dist/core/searchEngineFactory.js +0 -41
  135. package/dist/core/searchEngineFactory.js.map +0 -1
  136. package/dist/core/skillCreator.d.ts +0 -12
  137. package/dist/core/skillCreator.d.ts.map +0 -1
  138. package/dist/core/skillCreator.js +0 -79
  139. package/dist/core/skillCreator.js.map +0 -1
  140. package/dist/core/templateManager.d.ts +0 -28
  141. package/dist/core/templateManager.d.ts.map +0 -1
  142. package/dist/core/templateManager.js +0 -583
  143. package/dist/core/templateManager.js.map +0 -1
  144. package/dist/core/unifiedSearch.d.ts +0 -69
  145. package/dist/core/unifiedSearch.d.ts.map +0 -1
  146. package/dist/core/unifiedSearch.js +0 -105
  147. package/dist/core/unifiedSearch.js.map +0 -1
  148. package/dist/index.d.ts +0 -13
  149. package/dist/index.d.ts.map +0 -1
  150. package/dist/index.js +0 -11
  151. package/dist/index.js.map +0 -1
  152. package/dist/search_format/enhancedFormatter.d.ts +0 -109
  153. package/dist/search_format/enhancedFormatter.d.ts.map +0 -1
  154. package/dist/search_format/enhancedFormatter.js +0 -262
  155. package/dist/search_format/enhancedFormatter.js.map +0 -1
  156. package/dist/search_format/index.d.ts +0 -10
  157. package/dist/search_format/index.d.ts.map +0 -1
  158. package/dist/search_format/index.js +0 -22
  159. package/dist/search_format/index.js.map +0 -1
  160. package/dist/search_format/listFormatter.d.ts +0 -16
  161. package/dist/search_format/listFormatter.d.ts.map +0 -1
  162. package/dist/search_format/listFormatter.js +0 -51
  163. package/dist/search_format/listFormatter.js.map +0 -1
  164. package/dist/search_format/types.d.ts +0 -69
  165. package/dist/search_format/types.d.ts.map +0 -1
  166. package/dist/search_format/types.js +0 -5
  167. package/dist/search_format/types.js.map +0 -1
  168. package/dist/types/index.d.ts +0 -74
  169. package/dist/types/index.d.ts.map +0 -1
  170. package/dist/types/index.js +0 -2
  171. package/dist/types/index.js.map +0 -1
  172. package/dist/utils/claudeCodeDetection.d.ts +0 -27
  173. package/dist/utils/claudeCodeDetection.d.ts.map +0 -1
  174. package/dist/utils/claudeCodeDetection.js +0 -81
  175. package/dist/utils/claudeCodeDetection.js.map +0 -1
  176. package/dist/utils/config.d.ts +0 -23
  177. package/dist/utils/config.d.ts.map +0 -1
  178. package/dist/utils/config.js +0 -41
  179. package/dist/utils/config.js.map +0 -1
  180. package/dist/utils/package.d.ts +0 -88
  181. package/dist/utils/package.d.ts.map +0 -1
  182. package/dist/utils/package.js +0 -221
  183. package/dist/utils/package.js.map +0 -1
  184. package/dist/utils/skillMdManager.d.ts +0 -45
  185. package/dist/utils/skillMdManager.d.ts.map +0 -1
  186. package/dist/utils/skillMdManager.js +0 -173
  187. package/dist/utils/skillMdManager.js.map +0 -1
@@ -1,79 +0,0 @@
1
- /**
2
- * Main skill creator class
3
- */
4
- import { join } from 'node:path';
5
- import { existsSync, mkdirSync, writeFileSync, readdirSync, readFileSync } from 'node:fs';
6
- import { match } from 'ts-pattern';
7
- export class SkillCreator {
8
- templateDir;
9
- constructor() {
10
- this.templateDir = join(import.meta.dirname, '../../templates');
11
- }
12
- async createSkill(options) {
13
- const result = {
14
- created: false,
15
- message: '',
16
- };
17
- try {
18
- // Create skill directory
19
- const skillDir = join(options.baseDir, options.skillDirname);
20
- if (existsSync(skillDir)) {
21
- const files = readdirSync(skillDir);
22
- // Filter out .gitkeep files
23
- const realFiles = files.filter((f) => f !== '.gitkeep');
24
- if (realFiles.length > 0 && !options.force) {
25
- result.message = `Skill directory already exists and is not empty: ${skillDir}`;
26
- return result;
27
- }
28
- else if (realFiles.length > 0 && options.force) {
29
- console.log(`⚠️ Skill directory exists, forcing overwrite of existing files: ${skillDir}`);
30
- }
31
- }
32
- mkdirSync(skillDir, { recursive: true });
33
- // Create directory structure
34
- this.createDirectoryStructure(skillDir);
35
- // Create SKILL.md from template
36
- await this.createSkillMdFromTemplate(skillDir, options);
37
- result.created = true;
38
- result.skillPath = skillDir;
39
- result.message = `Skill created successfully: ${skillDir}`;
40
- return result;
41
- }
42
- catch (error) {
43
- result.message = `Failed to create skill: ${error instanceof Error ? (error.stack ?? error.message) : String(error)}`;
44
- return result;
45
- }
46
- }
47
- createDirectoryStructure(skillDir) {
48
- const dirs = [
49
- 'assets/references/context7', // Base directory for all context7 projects
50
- 'assets/references/user', // User-created content
51
- 'assets/chroma_db', // ChromaDB data
52
- 'assets/logs', // Logs
53
- ];
54
- for (const dir of dirs) {
55
- const dirPath = join(skillDir, dir);
56
- mkdirSync(dirPath, { recursive: true });
57
- // Only add .gitkeep to empty directories that should exist
58
- writeFileSync(join(dirPath, '.gitkeep'), '');
59
- }
60
- }
61
- async createSkillMdFromTemplate(skillDir, options) {
62
- const templatePath = join(this.templateDir, 'SKILL.md');
63
- if (!existsSync(templatePath)) {
64
- throw new Error(`SKILL.md template not found at ${templatePath}`);
65
- }
66
- let templateContent = readFileSync(templatePath, 'utf-8');
67
- // Replace template variables with options data
68
- templateContent = templateContent.replace(/\{\{(.+?)\}\}/g, (_, key) => {
69
- key = key.trim().toLowerCase();
70
- return match(key)
71
- .with('name', () => options.skillName)
72
- .with('description', () => options.skillDescription ?? '')
73
- .with('skill_path', () => skillDir)
74
- .otherwise(() => _);
75
- });
76
- writeFileSync(join(skillDir, 'SKILL.md'), templateContent);
77
- }
78
- }
79
- //# sourceMappingURL=skillCreator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skillCreator.js","sourceRoot":"","sources":["../../src/core/skillCreator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAW,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAa,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAKpG,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAOlC,MAAM,OAAO,YAAY;IACf,WAAW,CAAQ;IAE3B;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAA;IACjE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA2B;QAC3C,MAAM,MAAM,GAAsB;YAChC,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,EAAE;SACZ,CAAA;QAED,IAAI,CAAC;YACH,yBAAyB;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;YAE5D,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;gBACnC,4BAA4B;gBAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAA;gBACvD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBAC3C,MAAM,CAAC,OAAO,GAAG,oDAAoD,QAAQ,EAAE,CAAA;oBAC/E,OAAO,MAAM,CAAA;gBACf,CAAC;qBAAM,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBACjD,OAAO,CAAC,GAAG,CACT,oEAAoE,QAAQ,EAAE,CAC/E,CAAA;gBACH,CAAC;YACH,CAAC;YAED,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAExC,6BAA6B;YAC7B,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAA;YAEvC,gCAAgC;YAChC,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YAEvD,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;YACrB,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAA;YAC3B,MAAM,CAAC,OAAO,GAAG,+BAA+B,QAAQ,EAAE,CAAA;YAE1D,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,OAAO,GAAG,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;YACrH,OAAO,MAAM,CAAA;QACf,CAAC;IACH,CAAC;IAEO,wBAAwB,CAAC,QAAgB;QAC/C,MAAM,IAAI,GAAG;YACX,4BAA4B,EAAE,2CAA2C;YACzE,wBAAwB,EAAE,uBAAuB;YACjD,kBAAkB,EAAE,gBAAgB;YACpC,aAAa,EAAE,OAAO;SACvB,CAAA;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;YACnC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACvC,2DAA2D;YAC3D,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,yBAAyB,CACrC,QAAgB,EAChB,OAA2B;QAE3B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;QAEvD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAA;QACnE,CAAC;QAED,IAAI,eAAe,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAEzD,+CAA+C;QAC/C,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;YACrE,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;YAC9B,OAAO,KAAK,CAAC,GAAG,CAAC;iBACd,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;iBACrC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;iBACzD,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC;iBAClC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;QACvB,CAAC,CAAC,CAAA;QAEF,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,eAAe,CAAC,CAAA;IAC5D,CAAC;CACF"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Template system for framework-specific skill enhancements
3
- */
4
- import type { SkillConfig } from '../types/index.js';
5
- export interface FrameworkTemplate {
6
- name: string;
7
- description: string;
8
- context7Ids?: string[];
9
- additionalDependencies?: Record<string, string>;
10
- additionalScripts?: Record<string, string>;
11
- postCreateScript?: string;
12
- }
13
- export declare class TemplateManager {
14
- private templatesDir;
15
- private templates;
16
- constructor();
17
- private loadTemplates;
18
- getTemplate(name: string): FrameworkTemplate | undefined;
19
- getAllTemplates(): FrameworkTemplate[];
20
- detectFramework(packageName: string): FrameworkTemplate | null;
21
- applyTemplate(template: FrameworkTemplate, skillPath: string, config: SkillConfig): void;
22
- private generateFrameworkScripts;
23
- private createExpressServerExample;
24
- private createTypeormEntityGenerator;
25
- private createPrismaSchemaGenerator;
26
- private createReactExampleScripts;
27
- }
28
- //# sourceMappingURL=templateManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"templateManager.d.ts","sourceRoot":"","sources":["../../src/core/templateManager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAsB,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAExE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,SAAS,CAA4C;;IAS7D,OAAO,CAAC,aAAa;IAyHrB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAIxD,eAAe,IAAI,iBAAiB,EAAE;IAItC,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI;IAoC9D,aAAa,CAAC,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAiCxF,OAAO,CAAC,wBAAwB;IAkBhC,OAAO,CAAC,0BAA0B;IAiClC,OAAO,CAAC,4BAA4B;IAsGpC,OAAO,CAAC,2BAA2B;IAgGnC,OAAO,CAAC,yBAAyB;CAmJlC"}