@vibelint/vibelint-wizard 0.1.19 → 0.1.21
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.
- package/README.md +14 -3
- package/dist/index.js +173 -119
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# @vibelint/vibelint-wizard
|
|
2
2
|
|
|
3
|
-
Interactive ESLint warning approval tool.
|
|
3
|
+
Interactive ESLint warning approval tool for when manually fixing warnings is too much work.
|
|
4
|
+
|
|
5
|
+
This tool walks you through all your ESLint warnings and lets you decide: approve them to pretend they don't exist, reject them to actually fix your code, or skip them to procrastinate like a champion.
|
|
4
6
|
|
|
5
7
|
## Install
|
|
6
8
|
|
|
@@ -8,6 +10,8 @@ Interactive ESLint warning approval tool.
|
|
|
8
10
|
npm install -D @vibelint/vibelint-wizard
|
|
9
11
|
```
|
|
10
12
|
|
|
13
|
+
Or use `lintmyvibe` if you're too lazy to do it manually.
|
|
14
|
+
|
|
11
15
|
## Usage
|
|
12
16
|
|
|
13
17
|
```json
|
|
@@ -22,9 +26,16 @@ npm install -D @vibelint/vibelint-wizard
|
|
|
22
26
|
npm run commit-wizard
|
|
23
27
|
```
|
|
24
28
|
|
|
29
|
+
This will:
|
|
30
|
+
|
|
31
|
+
1. Run ESLint on your entire project, which might take a while or might not, depending on how much code you've written
|
|
32
|
+
2. Show you all the warnings you haven't approved yet
|
|
33
|
+
3. Let you approve, reject, or skip each one
|
|
34
|
+
4. Abort the commit if you reject any, because we're not letting you commit broken code
|
|
35
|
+
|
|
25
36
|
## Config
|
|
26
37
|
|
|
27
|
-
- `VIBELINT_ESLINT_CMD` - ESLint command
|
|
38
|
+
- `VIBELINT_ESLINT_CMD` - ESLint command, defaults to allowing infinite warnings like idiots
|
|
28
39
|
|
|
29
40
|
## Git Hook
|
|
30
41
|
|
|
@@ -33,4 +44,4 @@ npm run commit-wizard
|
|
|
33
44
|
npm run commit-wizard || exit 1
|
|
34
45
|
```
|
|
35
46
|
|
|
36
|
-
**Note:** `.eslint-warnings-cache.json` must be committed to git.
|
|
47
|
+
**Note:** `.eslint-warnings-cache.json` must be committed to git. It's the graveyard of warnings you've given up on fixing.
|
package/dist/index.js
CHANGED
|
@@ -24,10 +24,12 @@ const cacheFileSchema = z.object({
|
|
|
24
24
|
});
|
|
25
25
|
const eslintMessageSchema = z.object({
|
|
26
26
|
ruleId: z.string().nullable(),
|
|
27
|
+
nodeType: z.string().nullable().optional(),
|
|
27
28
|
severity: z.number(),
|
|
28
29
|
message: z.string(),
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
fatal: z.boolean().optional(),
|
|
31
|
+
line: z.number().optional(),
|
|
32
|
+
column: z.number().optional(),
|
|
31
33
|
endLine: z.number().optional(),
|
|
32
34
|
endColumn: z.number().optional(),
|
|
33
35
|
source: z.string().optional()
|
|
@@ -57,7 +59,7 @@ async function readSourceLine(filePath, lineNumber) {
|
|
|
57
59
|
return "";
|
|
58
60
|
}
|
|
59
61
|
catch (error) {
|
|
60
|
-
console.warn(`Warning: Could not read file ${filePath}: ${error}`);
|
|
62
|
+
console.warn(`Warning: Could not read file ${filePath} (probably doesn't exist or you don't have permission, genius): ${error}`);
|
|
61
63
|
return "";
|
|
62
64
|
}
|
|
63
65
|
}
|
|
@@ -75,7 +77,7 @@ async function readSourceContext(filePath, lineNumber, contextLines = 3) {
|
|
|
75
77
|
return { line: "", context: [] };
|
|
76
78
|
}
|
|
77
79
|
catch (error) {
|
|
78
|
-
console.warn(`Warning: Could not read file ${filePath}: ${error}`);
|
|
80
|
+
console.warn(`Warning: Could not read file ${filePath} (file reading is hard, apparently): ${error}`);
|
|
79
81
|
return { line: "", context: [] };
|
|
80
82
|
}
|
|
81
83
|
}
|
|
@@ -112,12 +114,12 @@ async function detectAndHashEslintConfig() {
|
|
|
112
114
|
foundConfigs.push({ path: configFile, content });
|
|
113
115
|
}
|
|
114
116
|
catch (error) {
|
|
115
|
-
console.warn(`Warning: Could not read ESLint config file ${configFile}: ${error}`);
|
|
117
|
+
console.warn(`Warning: Could not read ESLint config file ${configFile} (maybe it's corrupted? Or you deleted it? Who knows): ${error}`);
|
|
116
118
|
}
|
|
117
119
|
}
|
|
118
120
|
}
|
|
119
121
|
if (foundConfigs.length === 0) {
|
|
120
|
-
console.warn("Warning: No ESLint configuration file found!");
|
|
122
|
+
console.warn("Warning: No ESLint configuration file found! (Are you even using ESLint? Or are you just winging it?)");
|
|
121
123
|
return createHash("sha256").update("no-config").digest("hex");
|
|
122
124
|
}
|
|
123
125
|
foundConfigs.sort((a, b) => a.path.localeCompare(b.path));
|
|
@@ -131,44 +133,44 @@ async function detectAndHashEslintConfig() {
|
|
|
131
133
|
return hash.digest("hex");
|
|
132
134
|
}
|
|
133
135
|
async function confirmEslintConfigChange(oldHash, newHash) {
|
|
134
|
-
console.log(`\n${kleur.yellow().bold("⚠️ ESLint
|
|
135
|
-
console.log(`${kleur.dim("
|
|
136
|
+
console.log(`\n${kleur.yellow().bold("⚠️ SURPRISE! Your ESLint config changed! (Shocking, I know.)")}\n`);
|
|
137
|
+
console.log(`${kleur.dim("Someone (probably you) decided to mess with the ESLint configuration.")}\n`);
|
|
136
138
|
console.log(`${kleur.dim("Old config hash:")} ${kleur.gray(oldHash.substring(0, 16))}...`);
|
|
137
139
|
console.log(`${kleur.dim("New config hash:")} ${kleur.gray(newHash.substring(0, 16))}...\n`);
|
|
138
|
-
console.log(`${kleur.yellow("This
|
|
139
|
-
console.log(`${kleur.dim("
|
|
140
|
+
console.log(`${kleur.yellow("This might change what warnings we find. Or it might not. Who knows?")}\n`);
|
|
141
|
+
console.log(`${kleur.dim("Maybe take a quick peek at what changed? Or don't. I'm not your boss.")}\n`);
|
|
140
142
|
if (process.stdin.isPaused()) {
|
|
141
143
|
process.stdin.resume();
|
|
142
144
|
}
|
|
143
145
|
if (!process.stdin.isTTY) {
|
|
144
|
-
console.error("\nERROR: stdin is not a TTY
|
|
145
|
-
console.error("This script requires an interactive terminal.");
|
|
146
|
+
console.error("\nERROR: stdin is not a TTY (you're probably running this in CI or a non-interactive environment, genius).");
|
|
147
|
+
console.error("This script requires an interactive terminal (because we need to ask you questions, duh).");
|
|
146
148
|
process.exit(1);
|
|
147
149
|
}
|
|
148
150
|
try {
|
|
149
151
|
const response = await prompts({
|
|
150
152
|
type: "confirm",
|
|
151
153
|
name: "confirmed",
|
|
152
|
-
message: "
|
|
154
|
+
message: "Want to proceed with this newfangled config? (Or bail out like a coward?)",
|
|
153
155
|
initial: false,
|
|
154
156
|
stdin: process.stdin,
|
|
155
157
|
stdout: process.stdout
|
|
156
158
|
}, {
|
|
157
159
|
onCancel: () => {
|
|
158
|
-
console.log("\
|
|
160
|
+
console.log("\nFine, be that way. Exiting because you're no fun.");
|
|
159
161
|
process.exit(1);
|
|
160
162
|
}
|
|
161
163
|
});
|
|
162
164
|
if (!response || typeof response !== "object" || !("confirmed" in response)) {
|
|
163
|
-
console.error("\nERROR: No response received from prompt.");
|
|
164
|
-
console.error("Exiting for safety.");
|
|
165
|
+
console.error("\nERROR: No response received from prompt (you didn't answer, or something broke).");
|
|
166
|
+
console.error("Exiting for safety (because we can't proceed without your input).");
|
|
165
167
|
process.exit(1);
|
|
166
168
|
}
|
|
167
169
|
return response.confirmed === true;
|
|
168
170
|
}
|
|
169
171
|
catch (error) {
|
|
170
|
-
console.error("\nERROR: Prompt failed:", error);
|
|
171
|
-
console.error("Exiting for safety.");
|
|
172
|
+
console.error("\nERROR: Prompt failed (because nothing ever works smoothly):", error);
|
|
173
|
+
console.error("Exiting for safety (because we're paranoid like that).");
|
|
172
174
|
process.exit(1);
|
|
173
175
|
}
|
|
174
176
|
}
|
|
@@ -177,7 +179,7 @@ async function loadCache(currentConfigHash) {
|
|
|
177
179
|
const content = await readFile(CACHE_FILE, "utf-8");
|
|
178
180
|
const parsed = cacheFileSchema.parse(JSON.parse(content));
|
|
179
181
|
if (parsed.version !== CACHE_VERSION) {
|
|
180
|
-
console.warn(`
|
|
182
|
+
console.warn(`Oh look, your cache is from a different era. Starting fresh because I'm not a time traveler.`);
|
|
181
183
|
return { version: CACHE_VERSION, eslintConfigHash: currentConfigHash, approvedWarnings: [] };
|
|
182
184
|
}
|
|
183
185
|
if (!parsed.eslintConfigHash) {
|
|
@@ -195,7 +197,7 @@ async function loadCache(currentConfigHash) {
|
|
|
195
197
|
};
|
|
196
198
|
}
|
|
197
199
|
}
|
|
198
|
-
console.warn(`
|
|
200
|
+
console.warn(`Couldn't read your cache file (probably because it doesn't exist or you deleted it, genius). Starting fresh.`);
|
|
199
201
|
return { version: CACHE_VERSION, eslintConfigHash: currentConfigHash, approvedWarnings: [] };
|
|
200
202
|
}
|
|
201
203
|
}
|
|
@@ -218,7 +220,51 @@ async function saveCache(cache) {
|
|
|
218
220
|
catch {
|
|
219
221
|
// Ignore import errors
|
|
220
222
|
}
|
|
221
|
-
throw new Error(`Failed to save cache file: ${error}`);
|
|
223
|
+
throw new Error(`Failed to save cache file (probably a permissions issue, or your disk is full, or the universe hates you): ${error}`);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
function getRuleInstruction(ruleId) {
|
|
227
|
+
switch (ruleId) {
|
|
228
|
+
// TypeScript ESLint Rules
|
|
229
|
+
case "@typescript-eslint/ban-ts-comment":
|
|
230
|
+
return "DO NOT FIX THIS MESS BY ADDING A STUPID COMMENT. DO NOT USE ANOTHER TS HACK LIKE 'as', 'any', 'unknown',... FIX THE DAMN TS ERROR WITHOUT HACKS OR YOURE FIRED";
|
|
231
|
+
case "@typescript-eslint/no-unused-vars":
|
|
232
|
+
return "CHECK if the variable is actually unused before deleting. Look for exports, future use cases, or side effects. DO NOT delete without verification. Examine the entire codebase context, not just the immediate scope.";
|
|
233
|
+
case "@typescript-eslint/consistent-type-assertions":
|
|
234
|
+
return "NEVER use 'as' type assertions. Think HARD about why this was needed. Can you use Zod for runtime validation? Can you improve the source type definition? IGNORING THE ERROR IS NOT A FIX. Find a proper solution or ask the user for clarification. Stop taking shortcuts.";
|
|
235
|
+
case "@typescript-eslint/no-explicit-any":
|
|
236
|
+
return "REPLACE 'any' with proper types. Use generics, union types, or 'unknown' with type guards. DO NOT use 'any' as a crutch. Type your code properly.";
|
|
237
|
+
case "@typescript-eslint/no-non-null-assertion":
|
|
238
|
+
return "REMOVE the '!' operator. Handle null/undefined properly with guards, optional chaining, or proper type narrowing. DO NOT assert non-null without verification.";
|
|
239
|
+
case "@typescript-eslint/no-require-imports":
|
|
240
|
+
return "CONVERT require() to ES module import statements. Use import/export syntax. DO NOT use CommonJS require() in ES modules.";
|
|
241
|
+
case "@typescript-eslint/no-dynamic-delete":
|
|
242
|
+
return "REPLACE dynamic property deletion with proper object manipulation. Use object destructuring, Object.assign, or create new objects. DO NOT use delete operator on dynamic keys.";
|
|
243
|
+
// Promise Plugin Rules
|
|
244
|
+
case "promise/always-return":
|
|
245
|
+
return "ENSURE every promise chain branch returns a value. Check ALL branches, including error handlers. DO NOT leave promise chains without return values.";
|
|
246
|
+
case "promise/catch-or-return":
|
|
247
|
+
return "HANDLE all promise rejections. Add .catch() handlers or return the promise. DO NOT leave promises unhandled. Every promise must have error handling.";
|
|
248
|
+
case "promise/param-names":
|
|
249
|
+
return "USE Error objects for promise rejections, not strings. Create proper Error instances with meaningful messages. DO NOT reject with string values.";
|
|
250
|
+
case "promise/no-return-wrap":
|
|
251
|
+
return "REMOVE unnecessary Promise.resolve/reject wrappers. Return the value directly. DO NOT wrap values that are already promises or values.";
|
|
252
|
+
case "promise/prefer-await-to-then":
|
|
253
|
+
return "CONVERT .then() chains to async/await syntax. Use async functions and await keywords. DO NOT use promise chains when async/await is available.";
|
|
254
|
+
// ESLint Comments Rules
|
|
255
|
+
case "eslint-comments/require-description":
|
|
256
|
+
return "FIX the actual problem instead of disabling the rule. If you MUST disable (and you better have a good reason), ADD a clear description explaining why. DO NOT disable rules without justification.";
|
|
257
|
+
case "eslint-comments/disable-enable-pair":
|
|
258
|
+
return "PAIR your eslint-disable with a matching eslint-enable. Ensure every disable has a corresponding enable. DO NOT leave rules disabled indefinitely.";
|
|
259
|
+
case "eslint-comments/no-unused-disable":
|
|
260
|
+
return "REMOVE the unused eslint-disable comment. It's not suppressing anything. DO NOT keep unnecessary disable comments.";
|
|
261
|
+
case "eslint-comments/no-unused-enable":
|
|
262
|
+
return "REMOVE the unnecessary eslint-enable comment. The rule was never disabled. DO NOT enable rules that aren't disabled.";
|
|
263
|
+
case "no-var":
|
|
264
|
+
return "REPLACE 'var' with 'let' or 'const'. Use modern variable declarations. DO NOT use 'var' - it's deprecated and causes scope issues.";
|
|
265
|
+
// Default for unknown rules
|
|
266
|
+
default:
|
|
267
|
+
return "FIX these errors in a proper way. Look up the rule documentation and fix it correctly. DO NOT ignore it. DO NOT take shortcuts. If the next try fails, you will be in big trouble.";
|
|
222
268
|
}
|
|
223
269
|
}
|
|
224
270
|
function runESLint() {
|
|
@@ -234,26 +280,26 @@ function runESLint() {
|
|
|
234
280
|
return parsed;
|
|
235
281
|
}
|
|
236
282
|
catch (parseError) {
|
|
237
|
-
console.error("ESLint
|
|
283
|
+
console.error("Well, this is awkward. ESLint ran but gave us garbage instead of JSON:");
|
|
238
284
|
if (parseError instanceof z.ZodError) {
|
|
239
|
-
console.error("Zod validation error:", parseError.issues);
|
|
285
|
+
console.error("Zod validation error (because apparently ESLint's output doesn't match what we expected):", parseError.issues);
|
|
240
286
|
}
|
|
241
287
|
else {
|
|
242
|
-
console.error("JSON parse error:", parseError);
|
|
288
|
+
console.error("JSON parse error (because parsing is hard, apparently):", parseError);
|
|
243
289
|
}
|
|
244
|
-
console.error("Raw output:", result
|
|
290
|
+
console.error("Raw output:", result);
|
|
245
291
|
if (result.stderr) {
|
|
246
|
-
console.error("Stderr:", result.stderr);
|
|
292
|
+
console.error("Stderr (where ESLint probably complained about your code):", result.stderr);
|
|
247
293
|
}
|
|
248
294
|
process.exit(1);
|
|
249
295
|
}
|
|
250
296
|
}
|
|
251
|
-
console.error("
|
|
297
|
+
console.error("ESLint ran but said... nothing. Absolutely nothing. How helpful.");
|
|
252
298
|
if (result.stderr) {
|
|
253
|
-
console.error("Stderr:", result.stderr);
|
|
299
|
+
console.error("Stderr (maybe there's a clue here?):", result.stderr);
|
|
254
300
|
}
|
|
255
301
|
if (result.error) {
|
|
256
|
-
console.error("Error:", result.error);
|
|
302
|
+
console.error("Error (the actual problem, probably):", result.error);
|
|
257
303
|
}
|
|
258
304
|
process.exit(1);
|
|
259
305
|
}
|
|
@@ -263,18 +309,24 @@ async function processWarnings() {
|
|
|
263
309
|
if (cache.eslintConfigHash !== currentConfigHash) {
|
|
264
310
|
const confirmed = await confirmEslintConfigChange(cache.eslintConfigHash, currentConfigHash);
|
|
265
311
|
if (!confirmed) {
|
|
266
|
-
console.log(kleur.red("\n❌
|
|
312
|
+
console.log(kleur.red("\n❌ You chickened out. Fine, we're done here. Exiting."));
|
|
267
313
|
process.exit(1);
|
|
268
314
|
}
|
|
269
|
-
console.log(kleur.green("\n✓
|
|
315
|
+
console.log(kleur.green("\n✓ Bold choice! Let's see if this new config bites us in the ass. Proceeding...\n"));
|
|
270
316
|
cache.eslintConfigHash = currentConfigHash;
|
|
271
317
|
}
|
|
272
|
-
console.log(kleur.blue("Running ESLint on entire project..."));
|
|
318
|
+
console.log(kleur.blue("Running ESLint on your entire project (this might take a while, or it might not, depends on how much code you've written)..."));
|
|
273
319
|
const eslintResults = runESLint();
|
|
274
320
|
const warnings = [];
|
|
275
321
|
for (const result of eslintResults) {
|
|
276
322
|
for (const msg of result.messages) {
|
|
277
|
-
|
|
323
|
+
// Skip fatal errors - they're configuration/parsing errors, not code issues
|
|
324
|
+
if (msg.fatal) {
|
|
325
|
+
continue;
|
|
326
|
+
}
|
|
327
|
+
// Process both warnings (severity 1) and errors (severity 2)
|
|
328
|
+
// Skip messages without line/column (shouldn't happen for non-fatal errors, but be safe)
|
|
329
|
+
if ((msg.severity === 1 || msg.severity === 2) && msg.line != null && msg.column != null) {
|
|
278
330
|
const lineContent = msg.source || (await readSourceLine(result.filePath, msg.line));
|
|
279
331
|
const sourceContext = await readSourceContext(result.filePath, msg.line, 3);
|
|
280
332
|
const fingerprint = createFingerprint(result.filePath, msg.ruleId, msg.message, lineContent);
|
|
@@ -292,21 +344,24 @@ async function processWarnings() {
|
|
|
292
344
|
}
|
|
293
345
|
}
|
|
294
346
|
if (warnings.length === 0) {
|
|
295
|
-
console.log(kleur.green("✓ No ESLint warnings found."));
|
|
347
|
+
console.log(kleur.green("✓ No ESLint warnings or errors found. Either your code is perfect (unlikely) or your config is too lenient (probably)."));
|
|
296
348
|
await saveCache(cache);
|
|
297
349
|
return;
|
|
298
350
|
}
|
|
299
|
-
console.log(`Found ${kleur.yellow().bold(warnings.length.toString())} ${kleur.yellow("
|
|
351
|
+
console.log(`Found ${kleur.yellow().bold(warnings.length.toString())} ${kleur.yellow("issue(s)")} (warnings and errors, because of course you did). Checking against cache to see which ones are new...`);
|
|
300
352
|
const newWarnings = warnings.filter((w) => !cache.approvedWarnings.some((approved) => fingerprintMatches(approved, w.fingerprint)));
|
|
301
353
|
if (newWarnings.length === 0) {
|
|
302
|
-
console.log(kleur.green("✓ All
|
|
354
|
+
console.log(kleur.green("✓ All issues are already approved (you've seen them all before, how exciting)."));
|
|
303
355
|
return;
|
|
304
356
|
}
|
|
305
|
-
console.log(`\nFound ${kleur.cyan().bold(newWarnings.length.toString())} ${kleur.yellow("new
|
|
357
|
+
console.log(`\nFound ${kleur.cyan().bold(newWarnings.length.toString())} ${kleur.yellow("new issue(s)")} (warnings and errors) that need your attention (because apparently you can't write perfect code on the first try):\n`);
|
|
306
358
|
const rejectedWarnings = [];
|
|
307
359
|
for (let i = 0; i < newWarnings.length; i++) {
|
|
308
360
|
const warning = newWarnings[i];
|
|
309
|
-
|
|
361
|
+
const isError = eslintResults.some((r) => r.filePath === warning.filePath &&
|
|
362
|
+
r.messages.some((m) => m.line === warning.line && m.column === warning.column && m.severity === 2));
|
|
363
|
+
const issueType = isError ? kleur.red().bold("Error") : kleur.yellow().bold("Warning");
|
|
364
|
+
console.log(`\n[${kleur.cyan().bold(`${i + 1}/${newWarnings.length}`)}] ${issueType}:`);
|
|
310
365
|
console.log(` ${kleur.dim("File")}: ${kleur.cyan(warning.fingerprint.file)}:${kleur.cyan().bold(warning.line.toString())}:${kleur.cyan().bold(warning.column.toString())}`);
|
|
311
366
|
console.log(` ${kleur.dim("Rule")}: ${kleur.magenta(warning.ruleId)}`);
|
|
312
367
|
console.log(` ${kleur.dim("Message")}: ${kleur.white(warning.message)}`);
|
|
@@ -332,8 +387,8 @@ async function processWarnings() {
|
|
|
332
387
|
process.stdin.resume();
|
|
333
388
|
}
|
|
334
389
|
if (!process.stdin.isTTY) {
|
|
335
|
-
console.error("\nERROR: stdin is not a TTY. Cannot prompt for approval.");
|
|
336
|
-
console.error("This script requires an interactive terminal.");
|
|
390
|
+
console.error("\nERROR: stdin is not a TTY (running in CI? Good luck with that). Cannot prompt for approval.");
|
|
391
|
+
console.error("This script requires an interactive terminal (because we need your input, obviously).");
|
|
337
392
|
process.exit(1);
|
|
338
393
|
}
|
|
339
394
|
let response;
|
|
@@ -341,34 +396,34 @@ async function processWarnings() {
|
|
|
341
396
|
response = await prompts({
|
|
342
397
|
type: "select",
|
|
343
398
|
name: "action",
|
|
344
|
-
message: "What
|
|
399
|
+
message: "What's your move, hotshot? (Pick something or this script will die)",
|
|
345
400
|
choices: [
|
|
346
|
-
{ title: "✓ Approve (
|
|
347
|
-
{ title: "✗ Reject (
|
|
348
|
-
{ title: "→ Skip
|
|
401
|
+
{ title: "✓ Approve (pretend this warning doesn't matter)", value: "approve" },
|
|
402
|
+
{ title: "✗ Reject (actually fix your code like a professional)", value: "reject" },
|
|
403
|
+
{ title: "→ Skip (procrastinate like a champion)", value: "skip" }
|
|
349
404
|
],
|
|
350
405
|
stdin: process.stdin,
|
|
351
406
|
stdout: process.stdout
|
|
352
407
|
}, {
|
|
353
408
|
onCancel: () => {
|
|
354
|
-
console.log("\
|
|
409
|
+
console.log("\nYou cancelled. Commit aborted because you're indecisive.");
|
|
355
410
|
process.exit(1);
|
|
356
411
|
}
|
|
357
412
|
});
|
|
358
413
|
}
|
|
359
414
|
catch (error) {
|
|
360
|
-
console.error("\nERROR: Prompt failed:", error);
|
|
361
|
-
console.error("This likely means stdin is not properly connected.");
|
|
362
|
-
console.error("Commit aborted
|
|
415
|
+
console.error("\nERROR: Prompt failed (because nothing ever works, right?):", error);
|
|
416
|
+
console.error("This likely means stdin is not properly connected (or you're running this in a weird environment).");
|
|
417
|
+
console.error("Commit aborted because we can't read your mind.");
|
|
363
418
|
process.exit(1);
|
|
364
419
|
}
|
|
365
420
|
if (!response || typeof response !== "object" || !("action" in response)) {
|
|
366
|
-
console.error("\nERROR: No response received from prompt.");
|
|
367
|
-
console.error("Response received:", JSON.stringify(response));
|
|
368
|
-
console.error("This likely means stdin is not properly connected or not interactive.");
|
|
421
|
+
console.error("\nERROR: No response received from prompt (you didn't answer, or something broke).");
|
|
422
|
+
console.error("Response received (probably nothing useful):", JSON.stringify(response));
|
|
423
|
+
console.error("This likely means stdin is not properly connected or not interactive (or you're running this in CI, genius).");
|
|
369
424
|
console.error("Please ensure your git hook runs in an interactive terminal,");
|
|
370
|
-
console.error("or run 'npm run lint:check-warnings' manually before committing.");
|
|
371
|
-
console.error("\nNew warnings found:");
|
|
425
|
+
console.error("or run 'npm run lint:check-warnings' manually before committing (like a civilized human).");
|
|
426
|
+
console.error("\nNew warnings found (that you'll have to deal with eventually):");
|
|
372
427
|
for (const warning of newWarnings.slice(i)) {
|
|
373
428
|
console.error(` - ${warning.fingerprint.file}:${warning.line}:${warning.column} - ${warning.ruleId}: ${warning.message}`);
|
|
374
429
|
}
|
|
@@ -376,22 +431,22 @@ async function processWarnings() {
|
|
|
376
431
|
}
|
|
377
432
|
const action = response.action;
|
|
378
433
|
if (typeof action !== "string" || action.length === 0) {
|
|
379
|
-
console.error(`\nERROR: Invalid or empty action received: ${JSON.stringify(action)}`);
|
|
380
|
-
console.error("Response object:", JSON.stringify(response));
|
|
381
|
-
console.error("This likely means prompts didn't wait for user input.");
|
|
382
|
-
console.error("Commit aborted
|
|
434
|
+
console.error(`\nERROR: Invalid or empty action received (you broke it somehow): ${JSON.stringify(action)}`);
|
|
435
|
+
console.error("Response object (for debugging, because you'll need it):", JSON.stringify(response));
|
|
436
|
+
console.error("This likely means prompts didn't wait for user input (or you're trying to automate this, which won't work).");
|
|
437
|
+
console.error("Commit aborted because we don't trust invalid input.");
|
|
383
438
|
process.exit(1);
|
|
384
439
|
}
|
|
385
440
|
if (!["approve", "reject", "skip"].includes(action)) {
|
|
386
|
-
console.error(`\nERROR: Invalid action value: ${action}`);
|
|
387
|
-
console.error("Expected one of: approve, reject, skip");
|
|
388
|
-
console.error("Commit aborted
|
|
441
|
+
console.error(`\nERROR: Invalid action value (you picked something that doesn't exist): ${action}`);
|
|
442
|
+
console.error("Expected one of: approve, reject, skip (it's not that hard, really)");
|
|
443
|
+
console.error("Commit aborted because we're not mind readers.");
|
|
389
444
|
process.exit(1);
|
|
390
445
|
}
|
|
391
446
|
if (action === "approve") {
|
|
392
447
|
cache.approvedWarnings.push(warning.fingerprint);
|
|
393
448
|
await saveCache(cache);
|
|
394
|
-
console.log(kleur.green(" ✓ Approved and saved to cache"));
|
|
449
|
+
console.log(kleur.green(" ✓ Approved (you've officially given up on fixing this one) and saved to cache"));
|
|
395
450
|
}
|
|
396
451
|
else if (action === "reject") {
|
|
397
452
|
rejectedWarnings.push({
|
|
@@ -403,13 +458,13 @@ async function processWarnings() {
|
|
|
403
458
|
codeSnippet: warning.codeSnippet,
|
|
404
459
|
codeContext: warning.codeContext
|
|
405
460
|
});
|
|
406
|
-
console.log(kleur.red(" ✗ Rejected (
|
|
461
|
+
console.log(kleur.red(" ✗ Rejected (good choice, now fix it. We'll show all your failures at the end.)"));
|
|
407
462
|
}
|
|
408
463
|
else if (action === "skip") {
|
|
409
|
-
console.log(kleur.yellow(" → Skipped"));
|
|
464
|
+
console.log(kleur.yellow(" → Skipped (procrastination level: expert)"));
|
|
410
465
|
}
|
|
411
466
|
else {
|
|
412
|
-
console.log(kleur.red("\nUnknown action. Commit aborted."));
|
|
467
|
+
console.log(kleur.red("\nUnknown action (how did you even get here?). Commit aborted."));
|
|
413
468
|
process.exit(1);
|
|
414
469
|
}
|
|
415
470
|
}
|
|
@@ -417,56 +472,55 @@ async function processWarnings() {
|
|
|
417
472
|
console.log(`\n\n${kleur.red().bold("=".repeat(80))}`);
|
|
418
473
|
console.log(kleur
|
|
419
474
|
.red()
|
|
420
|
-
.bold(`❌ COMMIT ABORTED: ${kleur.yellow().bold(rejectedWarnings.length.toString())} ${kleur.yellow("
|
|
475
|
+
.bold(`❌ COMMIT ABORTED: ${kleur.yellow().bold(rejectedWarnings.length.toString())} ${kleur.yellow("issue(s)")} (warnings and errors) were rejected (because you said so)`));
|
|
421
476
|
console.log(kleur.red().bold("=".repeat(80)) + "\n");
|
|
422
|
-
console.log(kleur
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
w.codeContext.forEach((contextLine, idx) => {
|
|
432
|
-
const lineNum = contextStartLine + idx;
|
|
433
|
-
const isWarningLine = lineNum === w.line;
|
|
434
|
-
const marker = isWarningLine ? kleur.red().bold(">>>") : kleur.dim(" ");
|
|
435
|
-
const lineNumColor = isWarningLine ? kleur.red().bold : kleur.dim;
|
|
436
|
-
const codeColor = isWarningLine ? kleur.red : kleur.gray;
|
|
437
|
-
console.log(` ${marker} ${lineNumColor(lineNum.toString().padStart(4, " "))} ${kleur.dim("|")} ${codeColor(contextLine)}`);
|
|
438
|
-
});
|
|
477
|
+
console.log(kleur
|
|
478
|
+
.yellow()
|
|
479
|
+
.bold("Here are the ESLint issues (warnings and errors) that need to be fixed (you know, the ones you rejected):\n"));
|
|
480
|
+
// Group warnings by ruleId
|
|
481
|
+
const warningsByRule = new Map();
|
|
482
|
+
for (const w of rejectedWarnings) {
|
|
483
|
+
const ruleId = w.ruleId || "unknown";
|
|
484
|
+
if (!warningsByRule.has(ruleId)) {
|
|
485
|
+
warningsByRule.set(ruleId, []);
|
|
439
486
|
}
|
|
440
|
-
|
|
441
|
-
|
|
487
|
+
const warningsArray = warningsByRule.get(ruleId);
|
|
488
|
+
if (warningsArray) {
|
|
489
|
+
warningsArray.push(w);
|
|
442
490
|
}
|
|
491
|
+
}
|
|
492
|
+
// Display grouped warnings
|
|
493
|
+
let displayIndex = 1;
|
|
494
|
+
for (const [ruleId, warnings] of warningsByRule.entries()) {
|
|
495
|
+
const instruction = getRuleInstruction(ruleId);
|
|
496
|
+
console.log(`${kleur.cyan().bold(`${displayIndex}.`)} ${kleur.magenta().bold(`Rule: ${ruleId}`)}`);
|
|
497
|
+
console.log(` ${kleur.dim("AI Instruction")}: ${kleur.yellow(instruction)}`);
|
|
498
|
+
console.log(` ${kleur.dim("Locations")}:`);
|
|
499
|
+
warnings.forEach((w, idx) => {
|
|
500
|
+
console.log(` ${idx + 1}. ${kleur.cyan(w.file)}:${kleur.cyan().bold(w.line.toString())}:${kleur.cyan().bold(w.column.toString())}`);
|
|
501
|
+
});
|
|
443
502
|
console.log("");
|
|
503
|
+
displayIndex++;
|
|
444
504
|
}
|
|
445
|
-
console.log(`${kleur.
|
|
446
|
-
console.log(kleur.
|
|
447
|
-
console.log(kleur.
|
|
448
|
-
|
|
449
|
-
const
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
codeSection = `\n Current code: ${w.codeSnippet}`;
|
|
465
|
-
}
|
|
466
|
-
return `${i + 1}. ${w.file}:${w.line}:${w.column}\n Rule: ${w.ruleId}\n Issue: ${w.message}${codeSection}`;
|
|
467
|
-
})
|
|
468
|
-
.join("\n\n");
|
|
469
|
-
console.log(warningsList);
|
|
505
|
+
console.log(`${kleur.yellow().bold("=".repeat(80))}`);
|
|
506
|
+
console.log(kleur.yellow().bold("AI Fix Request"));
|
|
507
|
+
console.log(kleur.yellow().bold("=".repeat(80)) + "\n");
|
|
508
|
+
// Generate structured prompt for AI
|
|
509
|
+
const promptSections = [];
|
|
510
|
+
// Header with clear task description
|
|
511
|
+
promptSections.push(kleur.yellow().bold("TASK: Fix all ESLint issues listed below.\n"), kleur.yellow().bold("REQUIREMENTS:"), kleur.yellow(" ✓ Fix ALL issues completely and correctly"), kleur.yellow(" ✓ NO shortcuts, NO hacks, NO workarounds"), kleur.yellow(" ✓ NO eslint-disable comments unless absolutely necessary"), kleur.yellow(" ✓ Understand the root cause before fixing"), kleur.yellow(" ✓ Verify fixes don't break existing functionality"), kleur.yellow(" ✓ Consider edge cases and error handling"), kleur.yellow(" ✓ Follow TypeScript and JavaScript best practices\n"));
|
|
512
|
+
// Generate structured issue list
|
|
513
|
+
let aiIndex = 1;
|
|
514
|
+
const totalIssues = warningsByRule.size;
|
|
515
|
+
for (const [ruleId, warnings] of warningsByRule.entries()) {
|
|
516
|
+
const instruction = getRuleInstruction(ruleId);
|
|
517
|
+
const locationsList = warnings.map((w, idx) => ` ${idx + 1}. ${w.file}:${w.line}:${w.column}`).join("\n");
|
|
518
|
+
promptSections.push(kleur.yellow().bold(`[${aiIndex}/${totalIssues}] ${ruleId}`), kleur.yellow(` Rule ID: ${ruleId}`), kleur.yellow(` Fix Instruction: ${instruction}`), kleur.yellow(` Total Occurrences: ${warnings.length}`), kleur.yellow(` File Locations:`), kleur.yellow(locationsList), "");
|
|
519
|
+
aiIndex++;
|
|
520
|
+
}
|
|
521
|
+
// Footer with expectations
|
|
522
|
+
promptSections.push(kleur.yellow().bold("EXPECTED OUTPUT:"), kleur.yellow(" ✓ All issues fixed with proper, production-ready solutions"), kleur.yellow(" ✓ Code follows TypeScript/JavaScript best practices"), kleur.yellow(" ✓ No new ESLint issues introduced"), kleur.yellow(" ✓ All changes are minimal, focused, and well-reasoned"), kleur.yellow(" ✓ Code is maintainable and follows project conventions\n"));
|
|
523
|
+
console.log(promptSections.join("\n"));
|
|
470
524
|
console.log(`\n${kleur.red().bold("=".repeat(80))}\n`);
|
|
471
525
|
process.exit(1);
|
|
472
526
|
}
|
|
@@ -480,22 +534,22 @@ async function processWarnings() {
|
|
|
480
534
|
await saveCache(cache);
|
|
481
535
|
if (fixedCount > 0) {
|
|
482
536
|
console.log(`\n${"=".repeat(80)}`);
|
|
483
|
-
console.log(`🎉 SUCCESS! ${fixedCount} warning(s) have been fixed
|
|
537
|
+
console.log(`🎉 SUCCESS! ${fixedCount} warning(s) have been fixed! (Finally, some progress!)`);
|
|
484
538
|
console.log(`${"=".repeat(80)}`);
|
|
485
|
-
console.log(`\nGreat work! ${fixedCount} previously approved warning(s) are no longer present in the codebase.`);
|
|
486
|
-
console.log("They've been automatically removed from the cache.\n");
|
|
539
|
+
console.log(`\nGreat work! ${fixedCount} previously approved warning(s) are no longer present in the codebase (you actually fixed something, impressive).`);
|
|
540
|
+
console.log("They've been automatically removed from the cache (because we're helpful like that).\n");
|
|
487
541
|
}
|
|
488
542
|
if (newWarnings.length > 0) {
|
|
489
543
|
const approvedCount = newWarnings.filter((w) => cache.approvedWarnings.some((approved) => fingerprintMatches(approved, w.fingerprint))).length;
|
|
490
|
-
console.log(`\n✓ Cache updated:`);
|
|
491
|
-
console.log(` - ${approvedCount} new
|
|
492
|
-
console.log(` - ${fixedCount}
|
|
493
|
-
console.log(` - Total approved
|
|
544
|
+
console.log(`\n✓ Cache updated (because we're organized like that):`);
|
|
545
|
+
console.log(` - ${approvedCount} new issue(s) approved (you gave up on fixing them)`);
|
|
546
|
+
console.log(` - ${fixedCount} issue(s) fixed and removed from cache (actual progress!)`);
|
|
547
|
+
console.log(` - Total approved issues in cache: ${cache.approvedWarnings.length} (the graveyard of issues you've given up on)`);
|
|
494
548
|
}
|
|
495
549
|
else {
|
|
496
|
-
console.log(`\n✓ All
|
|
550
|
+
console.log(`\n✓ All issues are already approved (nothing new to deal with, how boring).`);
|
|
497
551
|
if (fixedCount > 0) {
|
|
498
|
-
console.log(` - ${fixedCount}
|
|
552
|
+
console.log(` - ${fixedCount} issue(s) fixed and removed from cache (at least you fixed something)`);
|
|
499
553
|
}
|
|
500
554
|
}
|
|
501
555
|
}
|
|
@@ -505,7 +559,7 @@ async function processWarnings() {
|
|
|
505
559
|
await processWarnings();
|
|
506
560
|
}
|
|
507
561
|
catch (error) {
|
|
508
|
-
console.error("Fatal error:", error);
|
|
562
|
+
console.error("Fatal error (something went catastrophically wrong, probably your fault):", error);
|
|
509
563
|
process.exit(1);
|
|
510
564
|
}
|
|
511
565
|
finally {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAErC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,UAAU,GAAG,6BAA6B,CAAA;AAChD,MAAM,aAAa,GAAG,KAAK,CAAA;AAC3B,MAAM,UAAU,GACd,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,sEAAsE,CAAA;AAwC3G,qCAAqC;AACrC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAA;AAEF,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC;CACpD,CAAC,CAAA;AAEF,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC1C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAA;AAEF,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;IACtC,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;IAC3D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrD,CAAC,CAAA;AAEF,SAAS,eAAe,CAAC,WAAmB;IAC1C,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,CAAA;IAClC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC3D,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,QAAgB,EAAE,UAAkB;IAChE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjD,OAAO,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA;QAC9B,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CACV,gCAAgC,QAAQ,mEAAmE,KAAK,EAAE,CACnH,CAAA;QACD,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,QAAgB,EAChB,UAAkB,EAClB,eAAuB,CAAC;IAExB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,CAAC,CAAC,CAAA;YAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,CAAC,CAAA;YACjE,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;YAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA;YAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;QAC1B,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,gCAAgC,QAAQ,wCAAwC,KAAK,EAAE,CAAC,CAAA;QACrG,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;IAClC,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAgB,EAChB,MAAqB,EACrB,OAAe,EACf,WAAmB;IAEnB,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC1E,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,CAAA;IAC7C,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,MAAM,IAAI,SAAS;QAC3B,QAAQ;QACR,OAAO;KACR,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAuB,EAAE,GAAuB;IAC1E,OAAO,CACL,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO,CACnH,CAAA;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB;IACtC,MAAM,WAAW,GAAG;QAClB,mBAAmB;QACnB,kBAAkB;QAClB,kBAAkB;QAClB,gBAAgB;QAChB,cAAc;QACd,eAAe;QACf,eAAe;QACf,gBAAgB;KACjB,CAAA;IAED,MAAM,YAAY,GAA6C,EAAE,CAAA;IAEjE,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAA;QAClD,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;gBACnD,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAA;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CACV,8CAA8C,UAAU,0DAA0D,KAAK,EAAE,CAC1H,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CACV,uGAAuG,CACxG,CAAA;QACD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC/D,CAAC;IAED,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAEzD,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IACjC,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACjB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC3B,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,OAAe,EAAE,OAAe;IACvE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,+DAA+D,CAAC,IAAI,CAAC,CAAA;IAC1G,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,uEAAuE,CAAC,IAAI,CAAC,CAAA;IACtG,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;IAC1F,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;IAC5F,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,sEAAsE,CAAC,IAAI,CAAC,CAAA;IACxG,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,uEAAuE,CAAC,IAAI,CAAC,CAAA;IAEtG,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;IACxB,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CACX,4GAA4G,CAC7G,CAAA;QACD,OAAO,CAAC,KAAK,CAAC,2FAA2F,CAAC,CAAA;QAC1G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,2EAA2E;YACpF,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,EACD;YACE,QAAQ,EAAE,GAAG,EAAE;gBACb,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAA;gBAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;SACF,CACF,CAAA;QAED,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,IAAI,QAAQ,CAAC,EAAE,CAAC;YAC5E,OAAO,CAAC,KAAK,CAAC,oFAAoF,CAAC,CAAA;YACnG,OAAO,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAA;YAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,OAAO,QAAQ,CAAC,SAAS,KAAK,IAAI,CAAA;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,+DAA+D,EAAE,KAAK,CAAC,CAAA;QACrF,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAA;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,iBAAyB;IAChD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACnD,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;QACzD,IAAI,MAAM,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,8FAA8F,CAAC,CAAA;YAC5G,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAA;QAC9F,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC7B,MAAM,CAAC,gBAAgB,GAAG,iBAAiB,CAAA;QAC7C,CAAC;QACD,OAAO,EAAE,GAAG,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAA;IACjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAChF,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,OAAO;oBACL,OAAO,EAAE,aAAa;oBACtB,gBAAgB,EAAE,iBAAiB;oBACnC,gBAAgB,EAAE,EAAE;iBACrB,CAAA;YACH,CAAC;QACH,CAAC;QACD,OAAO,CAAC,IAAI,CACV,8GAA8G,CAC/G,CAAA;QACD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAA;IAC9F,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,KAAgB;IACvC,MAAM,QAAQ,GAAG,GAAG,UAAU,MAAM,CAAA;IACpC,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAA;QACzE,MAAM,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;YACtC,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACP,uBAAuB;YACzB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;QACD,MAAM,IAAI,KAAK,CACb,8GAA8G,KAAK,EAAE,CACtH,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACxC,QAAQ,MAAM,EAAE,CAAC;QACf,0BAA0B;QAC1B,KAAK,mCAAmC;YACtC,OAAO,gKAAgK,CAAA;QACzK,KAAK,mCAAmC;YACtC,OAAO,uNAAuN,CAAA;QAChO,KAAK,+CAA+C;YAClD,OAAO,6QAA6Q,CAAA;QACtR,KAAK,oCAAoC;YACvC,OAAO,mJAAmJ,CAAA;QAC5J,KAAK,0CAA0C;YAC7C,OAAO,gKAAgK,CAAA;QACzK,KAAK,uCAAuC;YAC1C,OAAO,0HAA0H,CAAA;QACnI,KAAK,sCAAsC;YACzC,OAAO,gLAAgL,CAAA;QAEzL,uBAAuB;QACvB,KAAK,uBAAuB;YAC1B,OAAO,qJAAqJ,CAAA;QAC9J,KAAK,yBAAyB;YAC5B,OAAO,sJAAsJ,CAAA;QAC/J,KAAK,qBAAqB;YACxB,OAAO,kJAAkJ,CAAA;QAC3J,KAAK,wBAAwB;YAC3B,OAAO,wIAAwI,CAAA;QACjJ,KAAK,8BAA8B;YACjC,OAAO,gJAAgJ,CAAA;QAEzJ,wBAAwB;QACxB,KAAK,qCAAqC;YACxC,OAAO,oMAAoM,CAAA;QAC7M,KAAK,qCAAqC;YACxC,OAAO,oJAAoJ,CAAA;QAC7J,KAAK,mCAAmC;YACtC,OAAO,oHAAoH,CAAA;QAC7H,KAAK,kCAAkC;YACrC,OAAO,sHAAsH,CAAA;QAE/H,KAAK,QAAQ;YACX,OAAO,oIAAoI,CAAA;QAE7I,4BAA4B;QAC5B;YACE,OAAO,oLAAoL,CAAA;IAC/L,CAAC;AACH,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,EAAE,EAAE,EAAE;QACvC,QAAQ,EAAE,OAAO;QACjB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;QAClC,KAAK,EAAE,IAAI;KACZ,CAAC,CAAA;IAEF,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;YAC/E,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAA;YACvF,IAAI,UAAU,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACrC,OAAO,CAAC,KAAK,CACX,2FAA2F,EAC3F,UAAU,CAAC,MAAM,CAClB,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,yDAAyD,EAAE,UAAU,CAAC,CAAA;YACtF,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;YACpC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,4DAA4D,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YAC5F,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAA;IACjF,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IACtE,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IACtE,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,KAAK,UAAU,eAAe;IAC5B,MAAM,iBAAiB,GAAG,MAAM,yBAAyB,EAAE,CAAA;IAC3D,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAA;IAEhD,IAAI,KAAK,CAAC,gBAAgB,KAAK,iBAAiB,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC,KAAK,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAA;QAC5F,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAA;YAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oFAAoF,CAAC,CAAC,CAAA;QAC9G,KAAK,CAAC,gBAAgB,GAAG,iBAAiB,CAAA;IAC5C,CAAC;IAED,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,8HAA8H,CAC/H,CACF,CAAA;IACD,MAAM,aAAa,GAAG,SAAS,EAAE,CAAA;IAEjC,MAAM,QAAQ,GAST,EAAE,CAAA;IAEP,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;QACnC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClC,4EAA4E;YAC5E,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,SAAQ;YACV,CAAC;YAED,6DAA6D;YAC7D,yFAAyF;YACzF,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;gBACzF,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;gBACnF,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;gBAC3E,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;gBAE5F,QAAQ,CAAC,IAAI,CAAC;oBACZ,WAAW;oBACX,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,SAAS;oBAC/B,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,WAAW,EAAE,WAAW,CAAC,IAAI,EAAE;oBAC/B,WAAW,EAAE,aAAa,CAAC,OAAO;iBACnC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CACT,wHAAwH,CACzH,CACF,CAAA;QACD,MAAM,SAAS,CAAC,KAAK,CAAC,CAAA;QACtB,OAAM;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CACT,SAAS,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,wGAAwG,CAC7L,CAAA;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,QAA4B,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CACnH,CAAA;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC,CAAA;QAC1G,OAAM;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CACT,WAAW,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,uHAAuH,CACnN,CAAA;IAED,MAAM,gBAAgB,GAQjB,EAAE,CAAA;IAEP,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;QAC9B,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAChC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ;YAC/B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CACrG,CAAA;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACtF,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC,KAAK,SAAS,GAAG,CAAC,CAAA;QACvF,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAChK,CAAA;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACvE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAEzE,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;YACtD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;YAC9C,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE;gBAC/C,MAAM,OAAO,GAAG,gBAAgB,GAAG,GAAG,CAAA;gBACtC,MAAM,aAAa,GAAG,OAAO,KAAK,OAAO,CAAC,IAAI,CAAA;gBAC9C,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBACzE,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAA;gBACjE,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;gBACxD,OAAO,CAAC,GAAG,CACT,KAAK,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,WAAW,CAAC,EAAE,CAC/G,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;aAAM,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QAC3E,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAA;QAC5E,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;QACxB,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,+FAA+F,CAAC,CAAA;YAC9G,OAAO,CAAC,KAAK,CAAC,uFAAuF,CAAC,CAAA;YACtG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,IAAI,QAAyC,CAAA;QAE7C,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,OAAO,CACtB;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,qEAAqE;gBAC9E,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,iDAAiD,EAAE,KAAK,EAAE,SAAS,EAAE;oBAC9E,EAAE,KAAK,EAAE,uDAAuD,EAAE,KAAK,EAAE,QAAQ,EAAE;oBACnF,EAAE,KAAK,EAAE,wCAAwC,EAAE,KAAK,EAAE,MAAM,EAAE;iBACnE;gBACD,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,EACD;gBACE,QAAQ,EAAE,GAAG,EAAE;oBACb,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAA;oBACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACjB,CAAC;aACF,CACF,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8DAA8D,EAAE,KAAK,CAAC,CAAA;YACpF,OAAO,CAAC,KAAK,CACX,oGAAoG,CACrG,CAAA;YACD,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAA;YAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,EAAE,CAAC;YACzE,OAAO,CAAC,KAAK,CAAC,oFAAoF,CAAC,CAAA;YACnG,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;YACvF,OAAO,CAAC,KAAK,CACX,8GAA8G,CAC/G,CAAA;YACD,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAA;YAC7E,OAAO,CAAC,KAAK,CAAC,2FAA2F,CAAC,CAAA;YAC1G,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAA;YACjF,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,OAAO,CAAC,KAAK,CACX,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,MAAM,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,OAAO,EAAE,CAC5G,CAAA;YACH,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;QAE9B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,OAAO,CAAC,KAAK,CAAC,qEAAqE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC5G,OAAO,CAAC,KAAK,CAAC,0DAA0D,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;YACnG,OAAO,CAAC,KAAK,CACX,6GAA6G,CAC9G,CAAA;YACD,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAA;YACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,OAAO,CAAC,KAAK,CAAC,4EAA4E,MAAM,EAAE,CAAC,CAAA;YACnG,OAAO,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAA;YACpF,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAA;YAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;YAChD,MAAM,SAAS,CAAC,KAAK,CAAC,CAAA;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iFAAiF,CAAC,CAAC,CAAA;QAC7G,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,gBAAgB,CAAC,IAAI,CAAC;gBACpB,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI;gBAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,WAAW,EAAE,OAAO,CAAC,WAAW;aACjC,CAAC,CAAA;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC,CAAA;QAC5G,CAAC;aAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,6CAA6C,CAAC,CAAC,CAAA;QAC1E,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC,CAAA;YACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;IAED,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;QACtD,OAAO,CAAC,GAAG,CACT,KAAK;aACF,GAAG,EAAE;aACL,IAAI,CACH,qBAAqB,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,4DAA4D,CACrK,CACJ,CAAA;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;QAEpD,OAAO,CAAC,GAAG,CACT,KAAK;aACF,MAAM,EAAE;aACR,IAAI,CACH,6GAA6G,CAC9G,CACJ,CAAA;QAED,2BAA2B;QAC3B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAmC,CAAA;QACjE,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,SAAS,CAAA;YACpC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChC,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YAChC,CAAC;YACD,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAChD,IAAI,aAAa,EAAE,CAAC;gBAClB,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACvB,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,IAAI,YAAY,GAAG,CAAC,CAAA;QACpB,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1D,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAE9C,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;YAClG,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;YAC9E,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YAC5C,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;gBAC1B,OAAO,CAAC,GAAG,CACT,SAAS,GAAG,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC5H,CAAA;YACH,CAAC,CAAC,CAAA;YACF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAEf,YAAY,EAAE,CAAA;QAChB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;QACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAA;QAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;QAEvD,oCAAoC;QACpC,MAAM,cAAc,GAAa,EAAE,CAAA;QAEnC,qCAAqC;QACrC,cAAc,CAAC,IAAI,CACjB,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,6CAA6C,CAAC,EAClE,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,EACpC,KAAK,CAAC,MAAM,CAAC,6CAA6C,CAAC,EAC3D,KAAK,CAAC,MAAM,CAAC,4CAA4C,CAAC,EAC1D,KAAK,CAAC,MAAM,CAAC,4DAA4D,CAAC,EAC1E,KAAK,CAAC,MAAM,CAAC,6CAA6C,CAAC,EAC3D,KAAK,CAAC,MAAM,CAAC,qDAAqD,CAAC,EACnE,KAAK,CAAC,MAAM,CAAC,4CAA4C,CAAC,EAC1D,KAAK,CAAC,MAAM,CAAC,uDAAuD,CAAC,CACtE,CAAA;QAED,iCAAiC;QACjC,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAA;QACvC,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1D,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAC9C,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAE9G,cAAc,CAAC,IAAI,CACjB,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC,EAC5D,KAAK,CAAC,MAAM,CAAC,cAAc,MAAM,EAAE,CAAC,EACpC,KAAK,CAAC,MAAM,CAAC,sBAAsB,WAAW,EAAE,CAAC,EACjD,KAAK,CAAC,MAAM,CAAC,wBAAwB,QAAQ,CAAC,MAAM,EAAE,CAAC,EACvD,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,EACjC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAC3B,EAAE,CACH,CAAA;YACD,OAAO,EAAE,CAAA;QACX,CAAC;QAED,2BAA2B;QAC3B,cAAc,CAAC,IAAI,CACjB,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,EACvC,KAAK,CAAC,MAAM,CAAC,8DAA8D,CAAC,EAC5E,KAAK,CAAC,MAAM,CAAC,uDAAuD,CAAC,EACrE,KAAK,CAAC,MAAM,CAAC,qCAAqC,CAAC,EACnD,KAAK,CAAC,MAAM,CAAC,yDAAyD,CAAC,EACvE,KAAK,CAAC,MAAM,CAAC,4DAA4D,CAAC,CAC3E,CAAA;QAED,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACtC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QAEtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;IAC9F,MAAM,iBAAiB,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAA;IACvD,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,QAA4B,EAAE,EAAE;QACtF,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAC5C,OAAO,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IACpD,CAAC,CAAC,CAAA;IACF,MAAM,UAAU,GAAG,iBAAiB,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAA;IAEpE,MAAM,SAAS,CAAC,KAAK,CAAC,CAAA;IAEtB,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAClC,OAAO,CAAC,GAAG,CAAC,eAAe,UAAU,wDAAwD,CAAC,CAAA;QAC9F,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAChC,OAAO,CAAC,GAAG,CACT,iBAAiB,UAAU,mHAAmH,CAC/I,CAAA;QACD,OAAO,CAAC,GAAG,CAAC,wFAAwF,CAAC,CAAA;IACvG,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7C,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,QAA4B,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAC3G,CAAC,MAAM,CAAA;QACR,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAA;QACrE,OAAO,CAAC,GAAG,CAAC,OAAO,aAAa,qDAAqD,CAAC,CAAA;QACtF,OAAO,CAAC,GAAG,CAAC,OAAO,UAAU,2DAA2D,CAAC,CAAA;QACzF,OAAO,CAAC,GAAG,CACT,uCAAuC,KAAK,CAAC,gBAAgB,CAAC,MAAM,+CAA+C,CACpH,CAAA;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAA;QAC1F,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,OAAO,UAAU,uEAAuE,CAAC,CAAA;QACvG,CAAC;IACH,CAAC;AACH,CAAC;AAED,CAAC;AAAA,CAAC,KAAK,IAAI,EAAE;IACX,IAAI,CAAC;QACH,MAAM,eAAe,EAAE,CAAA;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,2EAA2E,EAAE,KAAK,CAAC,CAAA;QACjG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;YAAS,CAAC;QACT,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YACjC,CAAC;YAAC,MAAM,CAAC;gBACP,+BAA+B;YACjC,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAC,EAAE,CAAA"}
|