monty-autonomous-fullstack-dev-multillm 1.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 (186) hide show
  1. package/LICENSE +81 -0
  2. package/README.md +608 -0
  3. package/bin/cli.js +448 -0
  4. package/dist/agents/coding.d.ts +15 -0
  5. package/dist/agents/coding.d.ts.map +1 -0
  6. package/dist/agents/coding.js +189 -0
  7. package/dist/agents/coding.js.map +1 -0
  8. package/dist/agents/initializer.d.ts +15 -0
  9. package/dist/agents/initializer.d.ts.map +1 -0
  10. package/dist/agents/initializer.js +87 -0
  11. package/dist/agents/initializer.js.map +1 -0
  12. package/dist/agents/prompts/arbitrator.md +143 -0
  13. package/dist/agents/prompts/coding.md +247 -0
  14. package/dist/agents/prompts/initializer.md +98 -0
  15. package/dist/config/agent-config.d.ts +103 -0
  16. package/dist/config/agent-config.d.ts.map +1 -0
  17. package/dist/config/agent-config.js +138 -0
  18. package/dist/config/agent-config.js.map +1 -0
  19. package/dist/config/auth-config.d.ts +152 -0
  20. package/dist/config/auth-config.d.ts.map +1 -0
  21. package/dist/config/auth-config.js +139 -0
  22. package/dist/config/auth-config.js.map +1 -0
  23. package/dist/config/mcp-config.d.ts +109 -0
  24. package/dist/config/mcp-config.d.ts.map +1 -0
  25. package/dist/config/mcp-config.js +234 -0
  26. package/dist/config/mcp-config.js.map +1 -0
  27. package/dist/config/provider-config.d.ts +139 -0
  28. package/dist/config/provider-config.d.ts.map +1 -0
  29. package/dist/config/provider-config.js +344 -0
  30. package/dist/config/provider-config.js.map +1 -0
  31. package/dist/config/subagents-config.d.ts +85 -0
  32. package/dist/config/subagents-config.d.ts.map +1 -0
  33. package/dist/config/subagents-config.js +430 -0
  34. package/dist/config/subagents-config.js.map +1 -0
  35. package/dist/index.d.ts +14 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +385 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/orchestrator/arbitrator.d.ts +93 -0
  40. package/dist/orchestrator/arbitrator.d.ts.map +1 -0
  41. package/dist/orchestrator/arbitrator.js +330 -0
  42. package/dist/orchestrator/arbitrator.js.map +1 -0
  43. package/dist/orchestrator/index.d.ts +113 -0
  44. package/dist/orchestrator/index.d.ts.map +1 -0
  45. package/dist/orchestrator/index.js +217 -0
  46. package/dist/orchestrator/index.js.map +1 -0
  47. package/dist/orchestrator/review-coordinator.d.ts +143 -0
  48. package/dist/orchestrator/review-coordinator.d.ts.map +1 -0
  49. package/dist/orchestrator/review-coordinator.js +401 -0
  50. package/dist/orchestrator/review-coordinator.js.map +1 -0
  51. package/dist/orchestrator/task-classifier.d.ts +87 -0
  52. package/dist/orchestrator/task-classifier.d.ts.map +1 -0
  53. package/dist/orchestrator/task-classifier.js +250 -0
  54. package/dist/orchestrator/task-classifier.js.map +1 -0
  55. package/dist/providers/anthropic-provider.d.ts +64 -0
  56. package/dist/providers/anthropic-provider.d.ts.map +1 -0
  57. package/dist/providers/anthropic-provider.js +264 -0
  58. package/dist/providers/anthropic-provider.js.map +1 -0
  59. package/dist/providers/base-provider.d.ts +219 -0
  60. package/dist/providers/base-provider.d.ts.map +1 -0
  61. package/dist/providers/base-provider.js +143 -0
  62. package/dist/providers/base-provider.js.map +1 -0
  63. package/dist/providers/cursor-provider.d.ts +82 -0
  64. package/dist/providers/cursor-provider.d.ts.map +1 -0
  65. package/dist/providers/cursor-provider.js +321 -0
  66. package/dist/providers/cursor-provider.js.map +1 -0
  67. package/dist/providers/google-provider.d.ts +75 -0
  68. package/dist/providers/google-provider.d.ts.map +1 -0
  69. package/dist/providers/google-provider.js +274 -0
  70. package/dist/providers/google-provider.js.map +1 -0
  71. package/dist/providers/index.d.ts +92 -0
  72. package/dist/providers/index.d.ts.map +1 -0
  73. package/dist/providers/index.js +233 -0
  74. package/dist/providers/index.js.map +1 -0
  75. package/dist/providers/openai-provider.d.ts +83 -0
  76. package/dist/providers/openai-provider.d.ts.map +1 -0
  77. package/dist/providers/openai-provider.js +295 -0
  78. package/dist/providers/openai-provider.js.map +1 -0
  79. package/dist/templates/feature_list.template.json +66 -0
  80. package/dist/templates/progress.template.txt +51 -0
  81. package/dist/utils/auth-manager.d.ts +121 -0
  82. package/dist/utils/auth-manager.d.ts.map +1 -0
  83. package/dist/utils/auth-manager.js +560 -0
  84. package/dist/utils/auth-manager.js.map +1 -0
  85. package/dist/utils/budget-enforcer.d.ts +181 -0
  86. package/dist/utils/budget-enforcer.d.ts.map +1 -0
  87. package/dist/utils/budget-enforcer.js +386 -0
  88. package/dist/utils/budget-enforcer.js.map +1 -0
  89. package/dist/utils/chatgpt-detector.d.ts +51 -0
  90. package/dist/utils/chatgpt-detector.d.ts.map +1 -0
  91. package/dist/utils/chatgpt-detector.js +274 -0
  92. package/dist/utils/chatgpt-detector.js.map +1 -0
  93. package/dist/utils/claude-code-detector.d.ts +39 -0
  94. package/dist/utils/claude-code-detector.d.ts.map +1 -0
  95. package/dist/utils/claude-code-detector.js +153 -0
  96. package/dist/utils/claude-code-detector.js.map +1 -0
  97. package/dist/utils/code-quality.d.ts +58 -0
  98. package/dist/utils/code-quality.d.ts.map +1 -0
  99. package/dist/utils/code-quality.js +258 -0
  100. package/dist/utils/code-quality.js.map +1 -0
  101. package/dist/utils/context-primer.d.ts +50 -0
  102. package/dist/utils/context-primer.d.ts.map +1 -0
  103. package/dist/utils/context-primer.js +429 -0
  104. package/dist/utils/context-primer.js.map +1 -0
  105. package/dist/utils/dependency-management.d.ts +40 -0
  106. package/dist/utils/dependency-management.d.ts.map +1 -0
  107. package/dist/utils/dependency-management.js +123 -0
  108. package/dist/utils/dependency-management.js.map +1 -0
  109. package/dist/utils/environment-validation.d.ts +33 -0
  110. package/dist/utils/environment-validation.d.ts.map +1 -0
  111. package/dist/utils/environment-validation.js +136 -0
  112. package/dist/utils/environment-validation.js.map +1 -0
  113. package/dist/utils/error-recovery.d.ts +60 -0
  114. package/dist/utils/error-recovery.d.ts.map +1 -0
  115. package/dist/utils/error-recovery.js +183 -0
  116. package/dist/utils/error-recovery.js.map +1 -0
  117. package/dist/utils/feature-list.d.ts +102 -0
  118. package/dist/utils/feature-list.d.ts.map +1 -0
  119. package/dist/utils/feature-list.js +191 -0
  120. package/dist/utils/feature-list.js.map +1 -0
  121. package/dist/utils/gemini-detector.d.ts +65 -0
  122. package/dist/utils/gemini-detector.d.ts.map +1 -0
  123. package/dist/utils/gemini-detector.js +340 -0
  124. package/dist/utils/gemini-detector.js.map +1 -0
  125. package/dist/utils/git-utils.d.ts +48 -0
  126. package/dist/utils/git-utils.d.ts.map +1 -0
  127. package/dist/utils/git-utils.js +110 -0
  128. package/dist/utils/git-utils.js.map +1 -0
  129. package/dist/utils/health-check.d.ts +32 -0
  130. package/dist/utils/health-check.d.ts.map +1 -0
  131. package/dist/utils/health-check.js +152 -0
  132. package/dist/utils/health-check.js.map +1 -0
  133. package/dist/utils/hooks-manager.d.ts +154 -0
  134. package/dist/utils/hooks-manager.d.ts.map +1 -0
  135. package/dist/utils/hooks-manager.js +359 -0
  136. package/dist/utils/hooks-manager.js.map +1 -0
  137. package/dist/utils/multi-auth-manager.d.ts +144 -0
  138. package/dist/utils/multi-auth-manager.d.ts.map +1 -0
  139. package/dist/utils/multi-auth-manager.js +588 -0
  140. package/dist/utils/multi-auth-manager.js.map +1 -0
  141. package/dist/utils/progress.d.ts +49 -0
  142. package/dist/utils/progress.d.ts.map +1 -0
  143. package/dist/utils/progress.js +209 -0
  144. package/dist/utils/progress.js.map +1 -0
  145. package/dist/utils/project-detection.d.ts +40 -0
  146. package/dist/utils/project-detection.d.ts.map +1 -0
  147. package/dist/utils/project-detection.js +230 -0
  148. package/dist/utils/project-detection.js.map +1 -0
  149. package/dist/utils/session-manager.d.ts +119 -0
  150. package/dist/utils/session-manager.d.ts.map +1 -0
  151. package/dist/utils/session-manager.js +389 -0
  152. package/dist/utils/session-manager.js.map +1 -0
  153. package/dist/utils/skills-manager.d.ts +113 -0
  154. package/dist/utils/skills-manager.d.ts.map +1 -0
  155. package/dist/utils/skills-manager.js +332 -0
  156. package/dist/utils/skills-manager.js.map +1 -0
  157. package/dist/utils/structured-output.d.ts +117 -0
  158. package/dist/utils/structured-output.d.ts.map +1 -0
  159. package/dist/utils/structured-output.js +191 -0
  160. package/dist/utils/structured-output.js.map +1 -0
  161. package/dist/utils/subagent-manager.d.ts +143 -0
  162. package/dist/utils/subagent-manager.d.ts.map +1 -0
  163. package/dist/utils/subagent-manager.js +326 -0
  164. package/dist/utils/subagent-manager.js.map +1 -0
  165. package/dist/utils/supabase-setup.d.ts +50 -0
  166. package/dist/utils/supabase-setup.d.ts.map +1 -0
  167. package/dist/utils/supabase-setup.js +151 -0
  168. package/dist/utils/supabase-setup.js.map +1 -0
  169. package/dist/utils/token-refresh.d.ts +21 -0
  170. package/dist/utils/token-refresh.d.ts.map +1 -0
  171. package/dist/utils/token-refresh.js +77 -0
  172. package/dist/utils/token-refresh.js.map +1 -0
  173. package/dist/utils/tos-warning.d.ts +115 -0
  174. package/dist/utils/tos-warning.d.ts.map +1 -0
  175. package/dist/utils/tos-warning.js +304 -0
  176. package/dist/utils/tos-warning.js.map +1 -0
  177. package/dist/utils/usage-monitor.d.ts +156 -0
  178. package/dist/utils/usage-monitor.d.ts.map +1 -0
  179. package/dist/utils/usage-monitor.js +296 -0
  180. package/dist/utils/usage-monitor.js.map +1 -0
  181. package/package.json +105 -0
  182. package/scripts/init.ps1 +73 -0
  183. package/scripts/init.sh +86 -0
  184. package/scripts/test-auth.sh +90 -0
  185. package/templates/feature_list.template.json +66 -0
  186. package/templates/progress.template.txt +51 -0
@@ -0,0 +1,258 @@
1
+ /**
2
+ * Code Quality Utilities
3
+ * Provides automated code quality checks, linting, and formatting validation.
4
+ * Helps maintain consistent code quality across sessions.
5
+ */
6
+ import { existsSync, readFileSync } from "fs";
7
+ import { resolve } from "path";
8
+ import { agentConfig } from "../config/agent-config.js";
9
+ /**
10
+ * Check if TypeScript type checking passes
11
+ */
12
+ export function checkTypeScript() {
13
+ const root = agentConfig.paths.projectRoot;
14
+ const tsconfigPath = resolve(root, "tsconfig.json");
15
+ if (!existsSync(tsconfigPath)) {
16
+ return {
17
+ status: "skip",
18
+ message: "No TypeScript configuration found",
19
+ };
20
+ }
21
+ // Check if typecheck script exists in package.json
22
+ try {
23
+ const packageJsonPath = resolve(root, "package.json");
24
+ if (existsSync(packageJsonPath)) {
25
+ const pkg = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
26
+ const scripts = pkg.scripts || {};
27
+ if (scripts.typecheck || scripts["type-check"]) {
28
+ return {
29
+ status: "unknown",
30
+ message: "TypeScript configuration found - run 'npm run typecheck' to verify",
31
+ command: "npm run typecheck",
32
+ };
33
+ }
34
+ }
35
+ }
36
+ catch {
37
+ // Silently fail
38
+ }
39
+ return {
40
+ status: "unknown",
41
+ message: "TypeScript configuration found but no typecheck script",
42
+ };
43
+ }
44
+ /**
45
+ * Check if linting is configured
46
+ */
47
+ export function checkLinting() {
48
+ const root = agentConfig.paths.projectRoot;
49
+ // Check for common linting config files
50
+ const lintConfigs = [
51
+ ".eslintrc.js",
52
+ ".eslintrc.json",
53
+ ".eslintrc.yml",
54
+ ".eslintrc.yaml",
55
+ "eslint.config.js",
56
+ "eslint.config.mjs",
57
+ ".eslintrc",
58
+ ];
59
+ const hasLintConfig = lintConfigs.some(config => existsSync(resolve(root, config)));
60
+ if (!hasLintConfig) {
61
+ return {
62
+ status: "skip",
63
+ message: "No ESLint configuration found",
64
+ };
65
+ }
66
+ // Check for lint script
67
+ try {
68
+ const packageJsonPath = resolve(root, "package.json");
69
+ if (existsSync(packageJsonPath)) {
70
+ const pkg = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
71
+ const scripts = pkg.scripts || {};
72
+ if (scripts.lint) {
73
+ return {
74
+ status: "unknown",
75
+ message: "ESLint configured - run 'npm run lint' to check code quality",
76
+ command: "npm run lint",
77
+ };
78
+ }
79
+ }
80
+ }
81
+ catch {
82
+ // Silently fail
83
+ }
84
+ return {
85
+ status: "unknown",
86
+ message: "ESLint configuration found but no lint script",
87
+ };
88
+ }
89
+ /**
90
+ * Check if code formatting is configured
91
+ */
92
+ export function checkFormatting() {
93
+ const root = agentConfig.paths.projectRoot;
94
+ // Check for Prettier
95
+ const prettierConfigs = [
96
+ ".prettierrc",
97
+ ".prettierrc.json",
98
+ ".prettierrc.js",
99
+ ".prettierrc.yml",
100
+ "prettier.config.js",
101
+ ".prettierrc.yaml",
102
+ ];
103
+ const hasPrettier = prettierConfigs.some(config => existsSync(resolve(root, config))) || existsSync(resolve(root, ".prettierignore"));
104
+ // Check for format script
105
+ try {
106
+ const packageJsonPath = resolve(root, "package.json");
107
+ if (existsSync(packageJsonPath)) {
108
+ const pkg = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
109
+ const scripts = pkg.scripts || {};
110
+ const deps = { ...pkg.dependencies, ...pkg.devDependencies };
111
+ if (scripts.format || scripts.prettier) {
112
+ return {
113
+ status: "unknown",
114
+ message: "Prettier configured - run 'npm run format' to format code",
115
+ command: scripts.format ? "npm run format" : "npm run prettier",
116
+ };
117
+ }
118
+ else if (hasPrettier || deps.prettier) {
119
+ return {
120
+ status: "unknown",
121
+ message: "Prettier installed but no format script - add 'format' script to package.json",
122
+ };
123
+ }
124
+ }
125
+ }
126
+ catch {
127
+ // Silently fail
128
+ }
129
+ if (hasPrettier) {
130
+ return {
131
+ status: "unknown",
132
+ message: "Prettier configuration found",
133
+ };
134
+ }
135
+ return {
136
+ status: "skip",
137
+ message: "No code formatter configured",
138
+ };
139
+ }
140
+ /**
141
+ * Check if project builds successfully
142
+ */
143
+ export function checkBuild() {
144
+ const root = agentConfig.paths.projectRoot;
145
+ try {
146
+ const packageJsonPath = resolve(root, "package.json");
147
+ if (existsSync(packageJsonPath)) {
148
+ const pkg = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
149
+ const scripts = pkg.scripts || {};
150
+ if (scripts.build) {
151
+ return {
152
+ status: "unknown",
153
+ message: "Build script found - run 'npm run build' to verify build",
154
+ command: "npm run build",
155
+ };
156
+ }
157
+ }
158
+ }
159
+ catch {
160
+ // Silently fail
161
+ }
162
+ return {
163
+ status: "skip",
164
+ message: "No build script found",
165
+ };
166
+ }
167
+ /**
168
+ * Run all code quality checks
169
+ */
170
+ export function runQualityChecks() {
171
+ const typeChecking = checkTypeScript();
172
+ const linting = checkLinting();
173
+ const formatting = checkFormatting();
174
+ const build = checkBuild();
175
+ const errors = [];
176
+ const warnings = [];
177
+ // Collect errors and warnings
178
+ if (typeChecking.status === "fail") {
179
+ errors.push(`Type checking: ${typeChecking.message}`);
180
+ }
181
+ if (linting.status === "fail") {
182
+ errors.push(`Linting: ${linting.message}`);
183
+ }
184
+ if (formatting.status === "fail") {
185
+ warnings.push(`Formatting: ${formatting.message}`);
186
+ }
187
+ if (build.status === "fail") {
188
+ errors.push(`Build: ${build.message}`);
189
+ }
190
+ const passed = errors.length === 0;
191
+ return {
192
+ passed,
193
+ checks: {
194
+ typeChecking,
195
+ linting,
196
+ formatting,
197
+ build,
198
+ },
199
+ errors,
200
+ warnings,
201
+ };
202
+ }
203
+ /**
204
+ * Generate quality check summary for agent prompts
205
+ */
206
+ export function generateQualitySummary() {
207
+ const result = runQualityChecks();
208
+ let summary = "\n## CODE QUALITY STATUS\n\n";
209
+ // Type checking
210
+ if (result.checks.typeChecking.status !== "skip") {
211
+ const icon = result.checks.typeChecking.status === "pass" ? "✅" :
212
+ result.checks.typeChecking.status === "fail" ? "❌" : "⚠️";
213
+ summary += `${icon} Type Checking: ${result.checks.typeChecking.message}\n`;
214
+ }
215
+ // Linting
216
+ if (result.checks.linting.status !== "skip") {
217
+ const icon = result.checks.linting.status === "pass" ? "✅" :
218
+ result.checks.linting.status === "fail" ? "❌" : "⚠️";
219
+ summary += `${icon} Linting: ${result.checks.linting.message}\n`;
220
+ }
221
+ // Formatting
222
+ if (result.checks.formatting.status !== "skip") {
223
+ const icon = result.checks.formatting.status === "pass" ? "✅" :
224
+ result.checks.formatting.status === "fail" ? "❌" : "⚠️";
225
+ summary += `${icon} Formatting: ${result.checks.formatting.message}\n`;
226
+ }
227
+ // Build
228
+ if (result.checks.build.status !== "skip") {
229
+ const icon = result.checks.build.status === "pass" ? "✅" :
230
+ result.checks.build.status === "fail" ? "❌" : "⚠️";
231
+ summary += `${icon} Build: ${result.checks.build.message}\n`;
232
+ }
233
+ if (result.errors.length > 0) {
234
+ summary += "\n❌ Errors:\n";
235
+ result.errors.forEach(e => {
236
+ summary += ` - ${e}\n`;
237
+ });
238
+ }
239
+ if (result.warnings.length > 0) {
240
+ summary += "\n⚠️ Warnings:\n";
241
+ result.warnings.forEach(w => {
242
+ summary += ` - ${w}\n`;
243
+ });
244
+ }
245
+ if (result.passed && result.errors.length === 0 && result.warnings.length === 0) {
246
+ summary += "\n✅ All quality checks passed or skipped\n";
247
+ }
248
+ return summary;
249
+ }
250
+ export default {
251
+ checkTypeScript,
252
+ checkLinting,
253
+ checkFormatting,
254
+ checkBuild,
255
+ runQualityChecks,
256
+ generateQualitySummary,
257
+ };
258
+ //# sourceMappingURL=code-quality.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-quality.js","sourceRoot":"","sources":["../../src/utils/code-quality.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Context Primer (Feature B6)
3
+ * Systematically load project context at session start
4
+ *
5
+ * Copyright (c) 2025 Dobeu Tech Solutions LLC
6
+ * Licensed under CC BY-NC 4.0
7
+ */
8
+ /**
9
+ * Context section types
10
+ */
11
+ export type ContextSection = 'project_overview' | 'architecture' | 'conventions' | 'recent_changes' | 'open_issues' | 'dependencies' | 'environment' | 'feature_progress' | 'session_history' | 'tool_recommendations';
12
+ /**
13
+ * Primed context result
14
+ */
15
+ export interface PrimedContext {
16
+ sections: Record<ContextSection, string>;
17
+ summary: string;
18
+ token_estimate: number;
19
+ timestamp: string;
20
+ }
21
+ /**
22
+ * Tool recommendation based on project analysis
23
+ */
24
+ export interface ToolRecommendation {
25
+ tool: string;
26
+ priority: 'required' | 'recommended' | 'optional' | 'skip';
27
+ reason: string;
28
+ }
29
+ /**
30
+ * Prime context for a session
31
+ */
32
+ export declare function primeContext(projectRoot: string, agentDir: string, options?: {
33
+ includeSections?: ContextSection[];
34
+ maxTokens?: number;
35
+ }): PrimedContext;
36
+ /**
37
+ * Get compact context for continuation
38
+ */
39
+ export declare function getCompactContext(projectRoot: string, agentDir: string): string;
40
+ /**
41
+ * Get tool recommendations only
42
+ */
43
+ export declare function getToolRecommendationsOnly(projectRoot: string, agentDir: string): ToolRecommendation[];
44
+ declare const _default: {
45
+ primeContext: typeof primeContext;
46
+ getCompactContext: typeof getCompactContext;
47
+ getToolRecommendationsOnly: typeof getToolRecommendationsOnly;
48
+ };
49
+ export default _default;
50
+ //# sourceMappingURL=context-primer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-primer.d.ts","sourceRoot":"","sources":["../../src/utils/context-primer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,kBAAkB,GAClB,cAAc,GACd,aAAa,GACb,gBAAgB,GAChB,aAAa,GACb,cAAc,GACd,aAAa,GACb,kBAAkB,GAClB,iBAAiB,GACjB,sBAAsB,CAAC;AAE3B;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,GAAG,aAAa,GAAG,UAAU,GAAG,MAAM,CAAC;IAC3D,MAAM,EAAE,MAAM,CAAC;CAChB;AAuWD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IACP,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACf,GACL,aAAa,CAmFf;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAO/E;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,kBAAkB,EAAE,CAEtB;;;;;;AAED,wBAIE"}