@vibe-validate/extractors 0.17.6 → 0.18.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 (46) hide show
  1. package/dist/extractors/ava/index.test.js +17 -17
  2. package/dist/extractors/ava/index.test.js.map +1 -1
  3. package/dist/extractors/eslint/index.d.ts.map +1 -1
  4. package/dist/extractors/eslint/index.js +5 -2
  5. package/dist/extractors/eslint/index.js.map +1 -1
  6. package/dist/extractors/eslint/index.test.js +115 -47
  7. package/dist/extractors/eslint/index.test.js.map +1 -1
  8. package/dist/extractors/generic/index.test.js +34 -0
  9. package/dist/extractors/generic/index.test.js.map +1 -1
  10. package/dist/extractors/jasmine/index.test.js +37 -30
  11. package/dist/extractors/jasmine/index.test.js.map +1 -1
  12. package/dist/extractors/jest/index.d.ts.map +1 -1
  13. package/dist/extractors/jest/index.js +1 -4
  14. package/dist/extractors/jest/index.js.map +1 -1
  15. package/dist/extractors/jest/index.test.js +45 -44
  16. package/dist/extractors/jest/index.test.js.map +1 -1
  17. package/dist/extractors/junit/index.test.js +30 -33
  18. package/dist/extractors/junit/index.test.js.map +1 -1
  19. package/dist/extractors/maven-checkstyle/index.test.js +32 -29
  20. package/dist/extractors/maven-checkstyle/index.test.js.map +1 -1
  21. package/dist/extractors/maven-compiler/index.test.js +31 -26
  22. package/dist/extractors/maven-compiler/index.test.js.map +1 -1
  23. package/dist/extractors/maven-surefire/index.test.js +26 -24
  24. package/dist/extractors/maven-surefire/index.test.js.map +1 -1
  25. package/dist/extractors/mocha/index.test.js +27 -22
  26. package/dist/extractors/mocha/index.test.js.map +1 -1
  27. package/dist/extractors/playwright/index.test.js +26 -21
  28. package/dist/extractors/playwright/index.test.js.map +1 -1
  29. package/dist/extractors/tap/index.test.js +13 -10
  30. package/dist/extractors/tap/index.test.js.map +1 -1
  31. package/dist/extractors/typescript/index.test.js +52 -43
  32. package/dist/extractors/typescript/index.test.js.map +1 -1
  33. package/dist/extractors/vitest/index.d.ts.map +1 -1
  34. package/dist/extractors/vitest/index.js +71 -30
  35. package/dist/extractors/vitest/index.js.map +1 -1
  36. package/dist/extractors/vitest/index.test.js +103 -59
  37. package/dist/extractors/vitest/index.test.js.map +1 -1
  38. package/dist/test/helpers/extractor-test-helpers.d.ts +196 -0
  39. package/dist/test/helpers/extractor-test-helpers.d.ts.map +1 -0
  40. package/dist/test/helpers/extractor-test-helpers.js +238 -0
  41. package/dist/test/helpers/extractor-test-helpers.js.map +1 -0
  42. package/dist/test/helpers/max-errors-helper.d.ts +62 -0
  43. package/dist/test/helpers/max-errors-helper.d.ts.map +1 -0
  44. package/dist/test/helpers/max-errors-helper.js +75 -0
  45. package/dist/test/helpers/max-errors-helper.js.map +1 -0
  46. package/package.json +6 -2
@@ -6,34 +6,55 @@
6
6
  * @package @vibe-validate/extractors
7
7
  */
8
8
  import { describe, it, expect } from 'vitest';
9
+ import { expectDetection, expectEmptyExtraction, expectPluginMetadata, } from '../../test/helpers/extractor-test-helpers.js';
9
10
  import vitestPlugin from './index.js';
10
- const { extract, detect } = vitestPlugin;
11
+ const { extract } = vitestPlugin;
12
+ /**
13
+ * Assert single error extraction with standard checks
14
+ * Helper to reduce test duplication for single-error test cases
15
+ *
16
+ * @param output - Test output to extract from
17
+ * @param expectedFile - Expected error file path
18
+ * @param expectedMessages - Array of message fragments to check
19
+ */
20
+ function expectSingleError(output, expectedFile, expectedMessages) {
21
+ const result = extract(output);
22
+ expect(result.errors).toHaveLength(1);
23
+ expect(result.errors[0].file).toBe(expectedFile);
24
+ for (const msg of expectedMessages) {
25
+ expect(result.errors[0].message).toContain(msg);
26
+ }
27
+ expect(result.totalErrors).toBe(1);
28
+ expect(result.summary).toBe('1 test failure(s)');
29
+ }
11
30
  describe('Vitest Extractor Plugin', () => {
12
31
  describe('detect', () => {
13
32
  it('should detect Vitest test failures with high confidence', () => {
14
- const output = `
33
+ expectDetection(vitestPlugin, `
15
34
  FAIL test/unit/config/environment.test.ts > EnvironmentConfig > should parse HTTP_PORT
16
35
  AssertionError: expected 3000 to be 9999 // Object.is equality
17
36
  ❯ test/unit/config/environment.test.ts:57:30
18
- `.trim();
19
- const result = detect(output);
20
- expect(result.confidence).toBeGreaterThanOrEqual(70);
21
- expect(result.patterns.length).toBeGreaterThan(0);
22
- expect(result.reason).toContain('Vitest');
37
+ `.trim(), {
38
+ confidence: { min: 70 },
39
+ reasonContains: 'Vitest',
40
+ });
41
+ expect(vitestPlugin).toBeDefined();
23
42
  });
24
43
  it('should detect multiple Vitest patterns with higher confidence', () => {
25
- const output = `
44
+ expectDetection(vitestPlugin, `
26
45
  ❯ test/unit/config/environment.test.ts (1)
27
46
  × should parse HTTP_PORT
28
47
  AssertionError: expected 3000 to be 9999
29
- `.trim();
30
- const result = detect(output);
31
- expect(result.confidence).toBe(90);
48
+ `.trim(), {
49
+ confidence: 90,
50
+ });
51
+ expect(vitestPlugin).toBeDefined();
32
52
  });
33
53
  it('should not detect non-Vitest output', () => {
34
- const output = `Some random text without test failures`;
35
- const result = detect(output);
36
- expect(result.confidence).toBe(0);
54
+ expectDetection(vitestPlugin, 'Some random text without test failures', {
55
+ confidence: 0,
56
+ });
57
+ expect(vitestPlugin.metadata.name).toBe('vitest'); // Explicit assertion for SonarQube
37
58
  });
38
59
  });
39
60
  describe('extract', () => {
@@ -187,10 +208,8 @@ AssertionError: expected 3000 to be 9999
187
208
  expect(result.guidance).toContain('Fix the assertion in the test file');
188
209
  });
189
210
  it('should handle empty output', () => {
190
- const result = extract('');
191
- expect(result.errors).toHaveLength(0);
192
- expect(result.summary).toBe('0 test failure(s)');
193
- expect(result.totalErrors).toBe(0);
211
+ expectEmptyExtraction(extract, '0 test failure(s)');
212
+ expect(vitestPlugin).toBeDefined();
194
213
  });
195
214
  it('should handle output with no test failures', () => {
196
215
  const output = `
@@ -201,9 +220,8 @@ AssertionError: expected 3000 to be 9999
201
220
  Test Files 3 passed (3)
202
221
  Tests 3 passed (3)
203
222
  `.trim();
204
- const result = extract(output);
205
- expect(result.errors).toHaveLength(0);
206
- expect(result.totalErrors).toBe(0);
223
+ expectEmptyExtraction(() => extract(output), '0 test failure(s)');
224
+ expect(vitestPlugin).toBeDefined();
207
225
  });
208
226
  it('should extract location from FAIL sections, not summary × lines', () => {
209
227
  // Regression test for issue where summary × lines (without location markers)
@@ -309,14 +327,11 @@ All files | 88.47 | 84.21 | 86.47 | 88.47 |
309
327
 
310
328
  ERROR: Coverage for functions (86.47%) does not meet global threshold (87%)
311
329
  `.trim();
312
- const result = extract(output);
313
- expect(result.errors).toHaveLength(1);
314
- expect(result.errors[0].file).toBe('vitest.config.ts');
315
- expect(result.errors[0].message).toContain('Coverage for functions');
316
- expect(result.errors[0].message).toContain('86.47%');
317
- expect(result.errors[0].message).toContain('87%');
318
- expect(result.totalErrors).toBe(1);
319
- expect(result.summary).toBe('1 test failure(s)');
330
+ expectSingleError(output, 'vitest.config.ts', [
331
+ 'Coverage for functions',
332
+ '86.47%',
333
+ '87%'
334
+ ]);
320
335
  });
321
336
  it('should extract Vitest worker timeout errors', () => {
322
337
  const output = `
@@ -334,14 +349,11 @@ Error: [vitest-worker]: Timeout calling "onTaskUpdate"
334
349
 
335
350
  ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
336
351
  `.trim();
337
- const result = extract(output);
338
- expect(result.errors).toHaveLength(1);
339
- expect(result.errors[0].file).toBe('vitest.config.ts');
340
- expect(result.errors[0].message).toContain('Timeout calling "onTaskUpdate"');
341
- expect(result.errors[0].message).toContain('system resource constraints');
342
- expect(result.errors[0].message).toContain('Kill background processes');
343
- expect(result.totalErrors).toBe(1);
344
- expect(result.summary).toBe('1 test failure(s)');
352
+ expectSingleError(output, 'vitest.config.ts', [
353
+ 'Timeout calling "onTaskUpdate"',
354
+ 'system resource constraints',
355
+ 'Kill background processes'
356
+ ]);
345
357
  });
346
358
  it('should extract Vitest worker timeout errors with plural "Unhandled Errors"', () => {
347
359
  const output = `
@@ -364,18 +376,49 @@ Error: [vitest-worker]: Timeout calling "onTaskUpdate"
364
376
 
365
377
  ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
366
378
  `.trim();
379
+ expectSingleError(output, 'vitest.config.ts', [
380
+ 'Timeout calling "onTaskUpdate"',
381
+ 'system resource constraints',
382
+ 'Kill background processes'
383
+ ]);
384
+ });
385
+ it('should extract multiple unhandled rejections (issue #84)', () => {
386
+ // Reproduce issue #84: Multiple unhandled promise rejections
387
+ // Test data: 7 different error types that should all be extracted
388
+ const errors = [
389
+ { type: 'TypeError', msg: 'mockImplementation is not a function', file: 'packages/cli/test/helpers/doctor-helpers.ts', line: 176, col: 24 },
390
+ { type: 'TypeError', msg: 'mockImplementation is not a function', file: 'packages/cli/test/helpers/doctor-helpers.ts', line: 176, col: 24 },
391
+ { type: 'TypeError', msg: 'mockResolvedValue is not a function', file: 'packages/cli/test/helpers/doctor-helpers.ts', line: 180, col: 32 },
392
+ { type: 'Error', msg: 'Test timeout exceeded', file: 'packages/core/test/validation.test.ts', line: 42, col: 15 },
393
+ { type: 'ReferenceError', msg: 'fetch is not defined', file: 'packages/api/test/client.test.ts', line: 88, col: 10 },
394
+ { type: 'TypeError', msg: "Cannot read property 'length' of undefined", file: 'packages/utils/test/parser.test.ts', line: 120, col: 25 },
395
+ { type: 'Error', msg: 'ENOENT: no such file or directory', file: 'packages/fs/test/operations.test.ts', line: 55, col: 18 }
396
+ ];
397
+ const rejections = errors.map(e => `⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯\n${e.type}: ${e.msg}\n ❯ fn ${e.file}:${e.line}:${e.col}\n ❯ processTicksAndRejections node:internal/process/task_queues:105:5`).join('\n\n');
398
+ const output = `RUN v2.0.5 /Users/jeff/Workspaces/vibe-validate
399
+ Test Files 93 passed (93)
400
+ Tests 1687 passed (1687)
401
+ Errors ${errors.length} errors
402
+
403
+ ⎯⎯⎯⎯⎯⎯ Unhandled Errors ⎯⎯⎯⎯⎯⎯
404
+ Vitest caught ${errors.length} unhandled errors during the test run.
405
+
406
+ ${rejections}
407
+ ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯`;
367
408
  const result = extract(output);
368
- expect(result.errors).toHaveLength(1);
369
- expect(result.errors[0].file).toBe('vitest.config.ts');
370
- expect(result.errors[0].message).toContain('Timeout calling "onTaskUpdate"');
371
- expect(result.errors[0].message).toContain('system resource constraints');
372
- expect(result.errors[0].message).toContain('Kill background processes');
373
- expect(result.totalErrors).toBe(1);
374
- expect(result.summary).toBe('1 test failure(s)');
409
+ // CRITICAL: Must extract ALL unhandled errors
410
+ expect(result.errors).toHaveLength(errors.length);
411
+ expect(result.totalErrors).toBe(errors.length);
412
+ // Verify each error was extracted correctly
413
+ for (const [i, expected] of errors.entries()) {
414
+ expect(result.errors[i].file).toBe(expected.file);
415
+ expect(result.errors[i].line).toBe(expected.line);
416
+ expect(result.errors[i].column).toBe(expected.col);
417
+ expect(result.errors[i].message).toContain(expected.msg);
418
+ }
375
419
  });
376
420
  it('should truncate errors array to MAX_ERRORS_IN_ARRAY but preserve totalErrors count', async () => {
377
- // Import the constant to verify we're using the right value
378
- const { MAX_ERRORS_IN_ARRAY } = await import('../../result-schema.js');
421
+ const { expectMaxErrorsTruncation } = await import('../../test/helpers/max-errors-helper.js');
379
422
  // Generate 15 test failures (more than MAX_ERRORS_IN_ARRAY = 10)
380
423
  const failures = Array.from({ length: 15 }, (_, i) => `
381
424
  FAIL test/unit/file${i + 1}.test.ts > TestSuite > test ${i + 1}
@@ -384,23 +427,24 @@ AssertionError: expected ${i} to be ${i + 1}
384
427
  ${i + 10}| expect(value).toBe(${i + 1});
385
428
  `).join('\n');
386
429
  const result = extract(failures);
387
- // totalErrors should be 15 (full count)
388
- expect(result.totalErrors).toBe(15);
389
- // errors array should be truncated to MAX_ERRORS_IN_ARRAY (10)
390
- expect(result.errors).toHaveLength(MAX_ERRORS_IN_ARRAY);
391
- expect(result.errors).toHaveLength(10);
392
- // Verify we got the first 10 errors
393
- expect(result.errors[0].file).toBe('test/unit/file1.test.ts');
394
- expect(result.errors[9].file).toBe('test/unit/file10.test.ts');
395
- // Summary should show full count (15)
396
- expect(result.summary).toBe('15 test failure(s)');
430
+ // Verify truncation behavior (assertions in helper)
431
+ expect(result.errors.length).toBeGreaterThan(0);
432
+ await expectMaxErrorsTruncation(result, {
433
+ totalCount: 15,
434
+ firstError: 'test/unit/file1.test.ts',
435
+ lastTruncatedError: 'test/unit/file10.test.ts',
436
+ summaryPattern: '15 test failure(s)'
437
+ });
397
438
  });
398
439
  });
399
440
  describe('plugin metadata', () => {
400
441
  it('should have correct metadata', () => {
401
- expect(vitestPlugin.metadata.name).toBe('vitest');
402
- expect(vitestPlugin.priority).toBe(85);
403
- expect(vitestPlugin.hints.anyOf).toContain('FAIL');
442
+ expectPluginMetadata(vitestPlugin, {
443
+ name: 'vitest',
444
+ priority: 85,
445
+ anyOfHints: ['FAIL'],
446
+ });
447
+ expect(vitestPlugin).toBeDefined();
404
448
  });
405
449
  it('should include sample test cases', () => {
406
450
  expect(vitestPlugin.samples).toBeDefined();
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/extractors/vitest/index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/extractors/vitest/index.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,196 @@
1
+ /**
2
+ * Shared test helpers for error extractor plugins
3
+ *
4
+ * Eliminates duplication across extractor tests by providing common assertion
5
+ * patterns for detection, extraction, metadata, and error object validation.
6
+ *
7
+ * @package @vibe-validate/extractors
8
+ */
9
+ import type { ErrorExtractorResult, ExtractorPlugin, FormattedError } from '../../types.js';
10
+ /**
11
+ * Options for plugin metadata verification
12
+ */
13
+ interface MetadataExpectation {
14
+ /** Expected plugin name */
15
+ name: string;
16
+ /** Expected priority value */
17
+ priority: number;
18
+ /** Expected required hint patterns (must all be present) */
19
+ requiredHints?: string[];
20
+ /** Expected anyOf hint patterns (at least one must be present) */
21
+ anyOfHints?: string[];
22
+ /** Expected plugin tags */
23
+ tags?: string[];
24
+ }
25
+ /**
26
+ * Options for detection result verification
27
+ */
28
+ interface DetectionExpectation {
29
+ /** Expected confidence (exact value or min/max range) */
30
+ confidence: number | {
31
+ min?: number;
32
+ max?: number;
33
+ };
34
+ /** Expected pattern descriptions that should appear in result.patterns */
35
+ patterns?: string[];
36
+ /** Expected substring in detection reason */
37
+ reasonContains?: string;
38
+ }
39
+ /**
40
+ * Options for extraction result verification
41
+ */
42
+ interface ExtractionExpectation {
43
+ /** Expected number of errors */
44
+ errorCount: number;
45
+ /** Expected summary (exact string or regex pattern) */
46
+ summaryPattern?: string | RegExp;
47
+ /** Expected substrings in guidance (all must be present) */
48
+ guidanceContains?: string[];
49
+ /** Expected substrings in errorSummary (all must be present) */
50
+ errorSummaryContains?: string[];
51
+ }
52
+ /**
53
+ * Options for individual error object verification
54
+ */
55
+ interface ErrorExpectation {
56
+ /** Expected file path */
57
+ file?: string;
58
+ /** Expected line number */
59
+ line?: number;
60
+ /** Expected column number */
61
+ column?: number;
62
+ /** Expected substring(s) in error message (all must be present) */
63
+ messageContains?: string | string[];
64
+ /** Expected severity level */
65
+ severity?: 'error' | 'warning';
66
+ /** Expected error code */
67
+ code?: string;
68
+ }
69
+ /**
70
+ * Verify plugin metadata matches expected values
71
+ *
72
+ * Reduces duplication in plugin metadata tests by consolidating common
73
+ * assertions for name, priority, hints, and tags.
74
+ *
75
+ * @param plugin - The extractor plugin to test
76
+ * @param expected - Expected metadata values
77
+ *
78
+ * @example
79
+ * ```typescript
80
+ * expectPluginMetadata(vitestPlugin, {
81
+ * name: 'vitest',
82
+ * priority: 85,
83
+ * requiredHints: [],
84
+ * anyOfHints: ['FAIL', 'test.ts', '❯'],
85
+ * });
86
+ * ```
87
+ */
88
+ export declare function expectPluginMetadata(plugin: ExtractorPlugin, expected: MetadataExpectation): void;
89
+ /**
90
+ * Verify detection result matches expected confidence and patterns
91
+ *
92
+ * Reduces duplication in detect() tests by consolidating confidence checks,
93
+ * pattern verification, and reason validation.
94
+ *
95
+ * @param plugin - The extractor plugin
96
+ * @param output - Test output string to detect
97
+ * @param expected - Expected detection results
98
+ *
99
+ * @example
100
+ * ```typescript
101
+ * // Exact confidence
102
+ * expectDetection(vitestPlugin, sampleOutput, {
103
+ * confidence: 90,
104
+ * patterns: ['Vitest', 'test failure marker'],
105
+ * reasonContains: 'Vitest'
106
+ * });
107
+ *
108
+ * // Confidence range
109
+ * expectDetection(vitestPlugin, sampleOutput, {
110
+ * confidence: { min: 70, max: 95 },
111
+ * reasonContains: 'Vitest'
112
+ * });
113
+ *
114
+ * // No detection
115
+ * expectDetection(vitestPlugin, 'random text', {
116
+ * confidence: 0
117
+ * });
118
+ * ```
119
+ */
120
+ export declare function expectDetection(plugin: ExtractorPlugin, output: string, expected: DetectionExpectation): void;
121
+ /**
122
+ * Verify extraction result structure matches expected values
123
+ *
124
+ * Reduces duplication in extract() tests by consolidating common assertions
125
+ * for error count, summary, guidance, and errorSummary.
126
+ *
127
+ * @param result - Extract result to verify
128
+ * @param expected - Expected result structure
129
+ *
130
+ * @example
131
+ * ```typescript
132
+ * const result = extract(output);
133
+ * expectExtractionResult(result, {
134
+ * errorCount: 3,
135
+ * summaryPattern: '3 test failure(s)',
136
+ * guidanceContains: ['Fix each failing test'],
137
+ * errorSummaryContains: ['Test 1/3']
138
+ * });
139
+ *
140
+ * // With regex
141
+ * expectExtractionResult(result, {
142
+ * errorCount: 5,
143
+ * summaryPattern: /5 (test|error)/,
144
+ * });
145
+ * ```
146
+ */
147
+ export declare function expectExtractionResult(result: ErrorExtractorResult, expected: ExtractionExpectation): void;
148
+ /**
149
+ * Verify empty or no-match output behavior
150
+ *
151
+ * Reduces duplication in edge case tests by consolidating assertions for
152
+ * empty string and non-matching output scenarios.
153
+ *
154
+ * @param extractFn - Extract function to test
155
+ * @param expectedSummary - Expected summary for empty/no-match cases (string or regex)
156
+ *
157
+ * @example
158
+ * ```typescript
159
+ * expectEmptyExtraction(vitestPlugin.extract, '0 test failure(s)');
160
+ * expectEmptyExtraction(eslintPlugin.extract, '0 ESLint error(s), 0 warning(s)');
161
+ * expectEmptyExtraction(junitPlugin.extract, /0 test.*failed/);
162
+ * ```
163
+ */
164
+ export declare function expectEmptyExtraction(extractFn: (_output: string) => ErrorExtractorResult, expectedSummary: string | RegExp): void;
165
+ /**
166
+ * Verify individual error object fields match expected values
167
+ *
168
+ * Reduces duplication in error validation tests by consolidating assertions
169
+ * for file, line, column, message, severity, and code fields.
170
+ *
171
+ * @param error - The error object to verify
172
+ * @param expected - Expected field values
173
+ *
174
+ * @example
175
+ * ```typescript
176
+ * // Basic fields
177
+ * expectErrorObject(result.errors[0], {
178
+ * file: 'test/example.test.ts',
179
+ * line: 57,
180
+ * column: 30,
181
+ * messageContains: 'expected 3000 to be 9999'
182
+ * });
183
+ *
184
+ * // Multiple message fragments
185
+ * expectErrorObject(result.errors[0], {
186
+ * file: 'src/index.ts',
187
+ * line: 42,
188
+ * messageContains: ['Type error', 'not assignable'],
189
+ * severity: 'error',
190
+ * code: 'TS2322'
191
+ * });
192
+ * ```
193
+ */
194
+ export declare function expectErrorObject(error: FormattedError, expected: ErrorExpectation): void;
195
+ export {};
196
+ //# sourceMappingURL=extractor-test-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractor-test-helpers.d.ts","sourceRoot":"","sources":["../../../src/test/helpers/extractor-test-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE5F;;GAEG;AACH,UAAU,mBAAmB;IAC3B,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,UAAU,oBAAoB;IAC5B,yDAAyD;IACzD,UAAU,EAAE,MAAM,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,UAAU,qBAAqB;IAC7B,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,gEAAgE;IAChE,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,UAAU,gBAAgB;IACxB,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACpC,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAyBjG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,oBAAoB,GAC7B,IAAI,CA0BN;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,oBAAoB,EAC5B,QAAQ,EAAE,qBAAqB,GAC9B,IAAI,CAuBN;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,oBAAoB,EACpD,eAAe,EAAE,MAAM,GAAG,MAAM,GAC/B,IAAI,CAWN;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CA8BzF"}