@girardelli/architect 2.2.0 → 5.0.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 (212) hide show
  1. package/README.md +105 -116
  2. package/architect-run.sh +431 -0
  3. package/assets/banner-v3.html +561 -0
  4. package/dist/agent-generator/context-enricher.d.ts +58 -0
  5. package/dist/agent-generator/context-enricher.d.ts.map +1 -0
  6. package/dist/agent-generator/context-enricher.js +613 -0
  7. package/dist/agent-generator/context-enricher.js.map +1 -0
  8. package/dist/agent-generator/domain-inferrer.d.ts +52 -0
  9. package/dist/agent-generator/domain-inferrer.d.ts.map +1 -0
  10. package/dist/agent-generator/domain-inferrer.js +585 -0
  11. package/dist/agent-generator/domain-inferrer.js.map +1 -0
  12. package/dist/agent-generator/framework-detector.d.ts +40 -0
  13. package/dist/agent-generator/framework-detector.d.ts.map +1 -0
  14. package/dist/agent-generator/framework-detector.js +611 -0
  15. package/dist/agent-generator/framework-detector.js.map +1 -0
  16. package/dist/agent-generator/index.d.ts +47 -0
  17. package/dist/agent-generator/index.d.ts.map +1 -0
  18. package/dist/agent-generator/index.js +545 -0
  19. package/dist/agent-generator/index.js.map +1 -0
  20. package/dist/agent-generator/stack-detector.d.ts +14 -0
  21. package/dist/agent-generator/stack-detector.d.ts.map +1 -0
  22. package/dist/agent-generator/stack-detector.js +124 -0
  23. package/dist/agent-generator/stack-detector.js.map +1 -0
  24. package/dist/agent-generator/templates/core/agents.d.ts +17 -0
  25. package/dist/agent-generator/templates/core/agents.d.ts.map +1 -0
  26. package/dist/agent-generator/templates/core/agents.js +1256 -0
  27. package/dist/agent-generator/templates/core/agents.js.map +1 -0
  28. package/dist/agent-generator/templates/core/architecture-rules.d.ts +7 -0
  29. package/dist/agent-generator/templates/core/architecture-rules.d.ts.map +1 -0
  30. package/dist/agent-generator/templates/core/architecture-rules.js +274 -0
  31. package/dist/agent-generator/templates/core/architecture-rules.js.map +1 -0
  32. package/dist/agent-generator/templates/core/general-rules.d.ts +8 -0
  33. package/dist/agent-generator/templates/core/general-rules.d.ts.map +1 -0
  34. package/dist/agent-generator/templates/core/general-rules.js +301 -0
  35. package/dist/agent-generator/templates/core/general-rules.js.map +1 -0
  36. package/dist/agent-generator/templates/core/hooks-generator.d.ts +21 -0
  37. package/dist/agent-generator/templates/core/hooks-generator.d.ts.map +1 -0
  38. package/dist/agent-generator/templates/core/hooks-generator.js +233 -0
  39. package/dist/agent-generator/templates/core/hooks-generator.js.map +1 -0
  40. package/dist/agent-generator/templates/core/index-md.d.ts +7 -0
  41. package/dist/agent-generator/templates/core/index-md.d.ts.map +1 -0
  42. package/dist/agent-generator/templates/core/index-md.js +246 -0
  43. package/dist/agent-generator/templates/core/index-md.js.map +1 -0
  44. package/dist/agent-generator/templates/core/orchestrator.d.ts +8 -0
  45. package/dist/agent-generator/templates/core/orchestrator.d.ts.map +1 -0
  46. package/dist/agent-generator/templates/core/orchestrator.js +422 -0
  47. package/dist/agent-generator/templates/core/orchestrator.js.map +1 -0
  48. package/dist/agent-generator/templates/core/preflight.d.ts +8 -0
  49. package/dist/agent-generator/templates/core/preflight.d.ts.map +1 -0
  50. package/dist/agent-generator/templates/core/preflight.js +213 -0
  51. package/dist/agent-generator/templates/core/preflight.js.map +1 -0
  52. package/dist/agent-generator/templates/core/quality-gates.d.ts +11 -0
  53. package/dist/agent-generator/templates/core/quality-gates.d.ts.map +1 -0
  54. package/dist/agent-generator/templates/core/quality-gates.js +254 -0
  55. package/dist/agent-generator/templates/core/quality-gates.js.map +1 -0
  56. package/dist/agent-generator/templates/core/security-rules.d.ts +7 -0
  57. package/dist/agent-generator/templates/core/security-rules.d.ts.map +1 -0
  58. package/dist/agent-generator/templates/core/security-rules.js +528 -0
  59. package/dist/agent-generator/templates/core/security-rules.js.map +1 -0
  60. package/dist/agent-generator/templates/core/skills-generator.d.ts +19 -0
  61. package/dist/agent-generator/templates/core/skills-generator.d.ts.map +1 -0
  62. package/dist/agent-generator/templates/core/skills-generator.js +546 -0
  63. package/dist/agent-generator/templates/core/skills-generator.js.map +1 -0
  64. package/dist/agent-generator/templates/core/workflow-fix-bug.d.ts +7 -0
  65. package/dist/agent-generator/templates/core/workflow-fix-bug.d.ts.map +1 -0
  66. package/dist/agent-generator/templates/core/workflow-fix-bug.js +237 -0
  67. package/dist/agent-generator/templates/core/workflow-fix-bug.js.map +1 -0
  68. package/dist/agent-generator/templates/core/workflow-new-feature.d.ts +8 -0
  69. package/dist/agent-generator/templates/core/workflow-new-feature.d.ts.map +1 -0
  70. package/dist/agent-generator/templates/core/workflow-new-feature.js +321 -0
  71. package/dist/agent-generator/templates/core/workflow-new-feature.js.map +1 -0
  72. package/dist/agent-generator/templates/core/workflow-review.d.ts +7 -0
  73. package/dist/agent-generator/templates/core/workflow-review.d.ts.map +1 -0
  74. package/dist/agent-generator/templates/core/workflow-review.js +104 -0
  75. package/dist/agent-generator/templates/core/workflow-review.js.map +1 -0
  76. package/dist/agent-generator/templates/domain/index.d.ts +22 -0
  77. package/dist/agent-generator/templates/domain/index.d.ts.map +1 -0
  78. package/dist/agent-generator/templates/domain/index.js +1176 -0
  79. package/dist/agent-generator/templates/domain/index.js.map +1 -0
  80. package/dist/agent-generator/templates/stack/index.d.ts +8 -0
  81. package/dist/agent-generator/templates/stack/index.d.ts.map +1 -0
  82. package/dist/agent-generator/templates/stack/index.js +695 -0
  83. package/dist/agent-generator/templates/stack/index.js.map +1 -0
  84. package/dist/agent-generator/templates/template-helpers.d.ts +75 -0
  85. package/dist/agent-generator/templates/template-helpers.d.ts.map +1 -0
  86. package/dist/agent-generator/templates/template-helpers.js +726 -0
  87. package/dist/agent-generator/templates/template-helpers.js.map +1 -0
  88. package/dist/agent-generator/types.d.ts +196 -0
  89. package/dist/agent-generator/types.d.ts.map +1 -0
  90. package/dist/agent-generator/types.js +27 -0
  91. package/dist/agent-generator/types.js.map +1 -0
  92. package/dist/analyzer.d.ts +5 -0
  93. package/dist/analyzer.d.ts.map +1 -1
  94. package/dist/analyzer.js +46 -5
  95. package/dist/analyzer.js.map +1 -1
  96. package/dist/analyzers/forecast.d.ts +85 -0
  97. package/dist/analyzers/forecast.d.ts.map +1 -0
  98. package/dist/analyzers/forecast.js +337 -0
  99. package/dist/analyzers/forecast.js.map +1 -0
  100. package/dist/analyzers/git-cache.d.ts +7 -0
  101. package/dist/analyzers/git-cache.d.ts.map +1 -0
  102. package/dist/analyzers/git-cache.js +41 -0
  103. package/dist/analyzers/git-cache.js.map +1 -0
  104. package/dist/analyzers/git-history.d.ts +113 -0
  105. package/dist/analyzers/git-history.d.ts.map +1 -0
  106. package/dist/analyzers/git-history.js +333 -0
  107. package/dist/analyzers/git-history.js.map +1 -0
  108. package/dist/analyzers/index.d.ts +10 -0
  109. package/dist/analyzers/index.d.ts.map +1 -0
  110. package/dist/analyzers/index.js +7 -0
  111. package/dist/analyzers/index.js.map +1 -0
  112. package/dist/analyzers/temporal-scorer.d.ts +72 -0
  113. package/dist/analyzers/temporal-scorer.d.ts.map +1 -0
  114. package/dist/analyzers/temporal-scorer.js +140 -0
  115. package/dist/analyzers/temporal-scorer.js.map +1 -0
  116. package/dist/anti-patterns.d.ts +7 -0
  117. package/dist/anti-patterns.d.ts.map +1 -1
  118. package/dist/anti-patterns.js +25 -6
  119. package/dist/anti-patterns.js.map +1 -1
  120. package/dist/cli.d.ts +2 -3
  121. package/dist/cli.d.ts.map +1 -1
  122. package/dist/cli.js +275 -113
  123. package/dist/cli.js.map +1 -1
  124. package/dist/config.d.ts +6 -0
  125. package/dist/config.d.ts.map +1 -1
  126. package/dist/config.js +48 -11
  127. package/dist/config.js.map +1 -1
  128. package/dist/html-reporter.d.ts +3 -1
  129. package/dist/html-reporter.d.ts.map +1 -1
  130. package/dist/html-reporter.js +248 -12
  131. package/dist/html-reporter.js.map +1 -1
  132. package/dist/index.d.ts +16 -3
  133. package/dist/index.d.ts.map +1 -1
  134. package/dist/index.js +63 -4
  135. package/dist/index.js.map +1 -1
  136. package/dist/project-summarizer.d.ts +38 -0
  137. package/dist/project-summarizer.d.ts.map +1 -0
  138. package/dist/project-summarizer.js +463 -0
  139. package/dist/project-summarizer.js.map +1 -0
  140. package/dist/refactor-reporter.js +1 -1
  141. package/dist/scanner.d.ts +8 -2
  142. package/dist/scanner.d.ts.map +1 -1
  143. package/dist/scanner.js +153 -113
  144. package/dist/scanner.js.map +1 -1
  145. package/dist/scorer.d.ts.map +1 -1
  146. package/dist/scorer.js +24 -11
  147. package/dist/scorer.js.map +1 -1
  148. package/dist/types.d.ts +29 -0
  149. package/dist/types.d.ts.map +1 -1
  150. package/package.json +12 -3
  151. package/src/agent-generator/context-enricher.ts +672 -0
  152. package/src/agent-generator/domain-inferrer.ts +635 -0
  153. package/src/agent-generator/framework-detector.ts +669 -0
  154. package/src/agent-generator/index.ts +634 -0
  155. package/src/agent-generator/stack-detector.ts +115 -0
  156. package/src/agent-generator/templates/core/agents.ts +1296 -0
  157. package/src/agent-generator/templates/core/architecture-rules.ts +287 -0
  158. package/src/agent-generator/templates/core/general-rules.ts +306 -0
  159. package/src/agent-generator/templates/core/hooks-generator.ts +242 -0
  160. package/src/agent-generator/templates/core/index-md.ts +260 -0
  161. package/src/agent-generator/templates/core/orchestrator.ts +459 -0
  162. package/src/agent-generator/templates/core/preflight.ts +215 -0
  163. package/src/agent-generator/templates/core/quality-gates.ts +256 -0
  164. package/src/agent-generator/templates/core/security-rules.ts +543 -0
  165. package/src/agent-generator/templates/core/skills-generator.ts +585 -0
  166. package/src/agent-generator/templates/core/workflow-fix-bug.ts +239 -0
  167. package/src/agent-generator/templates/core/workflow-new-feature.ts +323 -0
  168. package/src/agent-generator/templates/core/workflow-review.ts +106 -0
  169. package/src/agent-generator/templates/domain/index.ts +1201 -0
  170. package/src/agent-generator/templates/stack/index.ts +705 -0
  171. package/src/agent-generator/templates/template-helpers.ts +776 -0
  172. package/src/agent-generator/types.ts +232 -0
  173. package/src/analyzer.ts +51 -5
  174. package/src/analyzers/forecast.ts +496 -0
  175. package/src/analyzers/git-cache.ts +52 -0
  176. package/src/analyzers/git-history.ts +488 -0
  177. package/src/analyzers/index.ts +33 -0
  178. package/src/analyzers/temporal-scorer.ts +227 -0
  179. package/src/anti-patterns.ts +29 -6
  180. package/src/cli.ts +316 -117
  181. package/src/config.ts +52 -11
  182. package/src/html-reporter.ts +263 -13
  183. package/src/index.ts +93 -10
  184. package/src/project-summarizer.ts +521 -0
  185. package/src/refactor-reporter.ts +1 -1
  186. package/src/scanner.ts +136 -90
  187. package/src/scorer.ts +26 -11
  188. package/src/types.ts +27 -0
  189. package/tests/agent-generator.test.ts +427 -0
  190. package/tests/analyzers-integration.test.ts +174 -0
  191. package/tests/architect-adapter-enrichment.test.ts +9 -0
  192. package/tests/context-enricher.test.ts +971 -0
  193. package/tests/fixtures/monorepo/package.json +6 -0
  194. package/tests/fixtures/monorepo/packages/app/package.json +12 -0
  195. package/tests/fixtures/monorepo/packages/app/src/index.ts +6 -0
  196. package/tests/fixtures/monorepo/packages/core/package.json +7 -0
  197. package/tests/fixtures/monorepo/packages/core/src/index.ts +7 -0
  198. package/tests/forecast.test.ts +509 -0
  199. package/tests/framework-detector.test.ts +1172 -0
  200. package/tests/git-history.test.ts +254 -0
  201. package/tests/monorepo-scan.test.ts +170 -0
  202. package/tests/scanner.test.ts +7 -8
  203. package/tests/scorer.test.ts +594 -0
  204. package/tests/stack-detector.test.ts +241 -0
  205. package/tests/template-generation.test.ts +706 -0
  206. package/tests/template-helpers.test.ts +1152 -0
  207. package/tests/temporal-scorer.test.ts +307 -0
  208. package/dist/agent-generator.d.ts +0 -106
  209. package/dist/agent-generator.d.ts.map +0 -1
  210. package/dist/agent-generator.js +0 -1398
  211. package/dist/agent-generator.js.map +0 -1
  212. package/src/agent-generator.ts +0 -1526
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent-generator/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { AnalysisReport } from '../types.js';
2
+ import { StackInfo } from './types.js';
3
+ /**
4
+ * Detects the technology stack from an AnalysisReport.
5
+ *
6
+ * v5.1: Uses report.projectInfo.frameworks (precise, from scanner v5.0)
7
+ * instead of naive string-matching on file paths.
8
+ */
9
+ export declare class StackDetector {
10
+ detect(report: AnalysisReport): StackInfo;
11
+ private detectTestFramework;
12
+ private detectPackageManager;
13
+ }
14
+ //# sourceMappingURL=stack-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stack-detector.d.ts","sourceRoot":"","sources":["../../src/agent-generator/stack-detector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS;IAiFzC,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,oBAAoB;CAW7B"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Detects the technology stack from an AnalysisReport.
3
+ *
4
+ * v5.1: Uses report.projectInfo.frameworks (precise, from scanner v5.0)
5
+ * instead of naive string-matching on file paths.
6
+ */
7
+ export class StackDetector {
8
+ detect(report) {
9
+ const files = report.dependencyGraph.nodes;
10
+ const extensions = new Set();
11
+ const languages = new Set();
12
+ const frameworks = new Set();
13
+ for (const file of files) {
14
+ const ext = file.split('.').pop()?.toLowerCase() || '';
15
+ extensions.add(ext);
16
+ }
17
+ // ── Language Detection ──
18
+ if (extensions.has('py'))
19
+ languages.add('Python');
20
+ if (extensions.has('ts') || extensions.has('tsx'))
21
+ languages.add('TypeScript');
22
+ if (extensions.has('js') || extensions.has('jsx'))
23
+ languages.add('JavaScript');
24
+ if (extensions.has('dart'))
25
+ languages.add('Dart');
26
+ if (extensions.has('go'))
27
+ languages.add('Go');
28
+ if (extensions.has('rs'))
29
+ languages.add('Rust');
30
+ if (extensions.has('java') || extensions.has('kt'))
31
+ languages.add('Java/Kotlin');
32
+ if (extensions.has('rb'))
33
+ languages.add('Ruby');
34
+ if (extensions.has('php'))
35
+ languages.add('PHP');
36
+ if (extensions.has('cs'))
37
+ languages.add('C#');
38
+ // ── Framework Detection: Trust report.projectInfo.frameworks ──
39
+ // These come from scanner v5.0 which reads actual package.json dependencies
40
+ const reportFrameworks = report.projectInfo?.frameworks || [];
41
+ for (const fw of reportFrameworks) {
42
+ frameworks.add(fw);
43
+ }
44
+ // ── Derived Properties ──
45
+ const primary = languages.size > 0 ? [...languages][0] : 'Unknown';
46
+ // Frontend frameworks that indicate hasFrontend
47
+ const FRONTEND_FRAMEWORKS = new Set([
48
+ 'Angular', 'Vue', 'Vue.js', 'Next.js', 'React', 'Nuxt', 'Nuxt.js',
49
+ 'Svelte', 'SvelteKit', 'Remix', 'Gatsby', 'Vite',
50
+ ]);
51
+ // Backend frameworks that indicate hasBackend (language-based is fallback)
52
+ const BACKEND_FRAMEWORKS = new Set([
53
+ 'Express', 'Express.js', 'NestJS', 'Fastify', 'Koa', 'Hapi',
54
+ 'Django', 'Flask', 'FastAPI', 'Spring Boot', 'Laravel', 'Rails',
55
+ 'Ruby on Rails', 'Gin', 'Echo', 'Fiber', 'Actix Web', 'Rocket',
56
+ 'Probot', 'MCP SDK',
57
+ ]);
58
+ const MOBILE_FRAMEWORKS = new Set(['Flutter', 'React Native', 'Expo']);
59
+ const hasBackend = [...frameworks].some(f => BACKEND_FRAMEWORKS.has(f)) ||
60
+ languages.has('Python') || languages.has('TypeScript') ||
61
+ languages.has('Go') || languages.has('Java/Kotlin') || languages.has('Ruby') ||
62
+ languages.has('PHP') || languages.has('C#') || languages.has('Rust');
63
+ const hasFrontend = [...frameworks].some(f => FRONTEND_FRAMEWORKS.has(f)) ||
64
+ extensions.has('tsx') || extensions.has('jsx');
65
+ const hasMobile = [...frameworks].some(f => MOBILE_FRAMEWORKS.has(f)) ||
66
+ languages.has('Dart');
67
+ const allFiles = files.join(' ').toLowerCase();
68
+ const hasDatabase = allFiles.includes('migration') || allFiles.includes('entity') ||
69
+ allFiles.includes('model') || allFiles.includes('schema') ||
70
+ allFiles.includes('prisma') || allFiles.includes('typeorm');
71
+ const testFramework = this.detectTestFramework(languages, frameworks);
72
+ const packageManager = this.detectPackageManager(languages);
73
+ return {
74
+ primary,
75
+ languages: [...languages],
76
+ frameworks: [...frameworks],
77
+ hasBackend,
78
+ hasFrontend,
79
+ hasMobile,
80
+ hasDatabase,
81
+ testFramework,
82
+ packageManager,
83
+ };
84
+ }
85
+ detectTestFramework(languages, frameworks) {
86
+ if (languages.has('Dart'))
87
+ return 'flutter_test';
88
+ if (languages.has('Python'))
89
+ return 'pytest';
90
+ if (languages.has('Go'))
91
+ return 'go test';
92
+ if (languages.has('Java/Kotlin'))
93
+ return 'JUnit';
94
+ if (languages.has('Ruby'))
95
+ return 'RSpec';
96
+ if (languages.has('C#'))
97
+ return 'xUnit';
98
+ if (languages.has('Rust'))
99
+ return 'cargo test';
100
+ if (frameworks.has('Angular'))
101
+ return 'Jest + Jasmine';
102
+ return 'Jest';
103
+ }
104
+ detectPackageManager(languages) {
105
+ if (languages.has('Python'))
106
+ return 'pip';
107
+ if (languages.has('Go'))
108
+ return 'go mod';
109
+ if (languages.has('Dart'))
110
+ return 'pub';
111
+ if (languages.has('Ruby'))
112
+ return 'bundler';
113
+ if (languages.has('Java/Kotlin'))
114
+ return 'gradle/maven';
115
+ if (languages.has('Rust'))
116
+ return 'cargo';
117
+ if (languages.has('PHP'))
118
+ return 'composer';
119
+ if (languages.has('C#'))
120
+ return 'nuget';
121
+ return 'npm';
122
+ }
123
+ }
124
+ //# sourceMappingURL=stack-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stack-detector.js","sourceRoot":"","sources":["../../src/agent-generator/stack-detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { TemplateContext, EnrichedTemplateContext } from '../../types.js';
2
+ /**
3
+ * Generates all specialist agent cards.
4
+ * Each is stack-aware and enterprise-grade detailed.
5
+ *
6
+ * All functions support both TemplateContext (backward compat) and EnrichedTemplateContext.
7
+ * Use getEnriched() to safely extract enriched fields when available.
8
+ */
9
+ export declare function generateBackendAgent(ctx: TemplateContext | EnrichedTemplateContext): string;
10
+ export declare function generateFrontendAgent(ctx: TemplateContext | EnrichedTemplateContext): string;
11
+ export declare function generateSecurityAgent(ctx: TemplateContext | EnrichedTemplateContext): string;
12
+ export declare function generateQAAgent(ctx: TemplateContext | EnrichedTemplateContext): string;
13
+ export declare function generateTechDebtAgent(ctx: TemplateContext | EnrichedTemplateContext): string;
14
+ export declare function generateCodeReviewChecklist(ctx: TemplateContext | EnrichedTemplateContext): string;
15
+ export declare function generateDatabaseAgent(ctx: TemplateContext | EnrichedTemplateContext): string;
16
+ export declare function generateMobileAgent(ctx: TemplateContext | EnrichedTemplateContext): string;
17
+ //# sourceMappingURL=agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../../src/agent-generator/templates/core/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAG1E;;;;;;GAMG;AAEH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,eAAe,GAAG,uBAAuB,GAAG,MAAM,CAsI3F;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,eAAe,GAAG,uBAAuB,GAAG,MAAM,CAmG5F;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,eAAe,GAAG,uBAAuB,GAAG,MAAM,CA4H5F;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,uBAAuB,GAAG,MAAM,CAgKtF;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,eAAe,GAAG,uBAAuB,GAAG,MAAM,CA6I5F;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,eAAe,GAAG,uBAAuB,GAAG,MAAM,CA+IlG;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,eAAe,GAAG,uBAAuB,GAAG,MAAM,CAmT5F;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,eAAe,GAAG,uBAAuB,GAAG,MAAM,CAkK1F"}