@thethracian/oxlint-config 0.1.0 → 0.2.1

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 (68) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +62 -2
  3. package/dist/index.d.ts +34 -11
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +73 -2
  6. package/dist/index.js.map +1 -1
  7. package/dist/rules/acronym-case.d.ts.map +1 -1
  8. package/dist/rules/acronym-case.js +0 -2
  9. package/dist/rules/acronym-case.js.map +1 -1
  10. package/dist/rules/effect-default-helpers.d.ts +33 -0
  11. package/dist/rules/effect-default-helpers.d.ts.map +1 -0
  12. package/dist/rules/effect-default-helpers.js +536 -0
  13. package/dist/rules/effect-default-helpers.js.map +1 -0
  14. package/dist/rules/effect-default-resource-helpers.d.ts +5 -0
  15. package/dist/rules/effect-default-resource-helpers.d.ts.map +1 -0
  16. package/dist/rules/effect-default-resource-helpers.js +65 -0
  17. package/dist/rules/effect-default-resource-helpers.js.map +1 -0
  18. package/dist/rules/effect-default-test-helpers.d.ts +5 -0
  19. package/dist/rules/effect-default-test-helpers.d.ts.map +1 -0
  20. package/dist/rules/effect-default-test-helpers.js +46 -0
  21. package/dist/rules/effect-default-test-helpers.js.map +1 -0
  22. package/dist/rules/effect-default.d.ts +3 -0
  23. package/dist/rules/effect-default.d.ts.map +1 -0
  24. package/dist/rules/effect-default.js +882 -0
  25. package/dist/rules/effect-default.js.map +1 -0
  26. package/dist/rules/effect-path-options.d.ts +59 -0
  27. package/dist/rules/effect-path-options.d.ts.map +1 -0
  28. package/dist/rules/effect-path-options.js +114 -0
  29. package/dist/rules/effect-path-options.js.map +1 -0
  30. package/dist/rules/effect-rule-core.d.ts +60 -0
  31. package/dist/rules/effect-rule-core.d.ts.map +1 -0
  32. package/dist/rules/effect-rule-core.js +509 -0
  33. package/dist/rules/effect-rule-core.js.map +1 -0
  34. package/dist/rules/effect-rule-names.d.ts +4 -0
  35. package/dist/rules/effect-rule-names.d.ts.map +1 -0
  36. package/dist/rules/effect-rule-names.js +147 -0
  37. package/dist/rules/effect-rule-names.js.map +1 -0
  38. package/dist/rules/effect-source-helpers.d.ts +10 -0
  39. package/dist/rules/effect-source-helpers.d.ts.map +1 -0
  40. package/dist/rules/effect-source-helpers.js +359 -0
  41. package/dist/rules/effect-source-helpers.js.map +1 -0
  42. package/dist/rules/effect-source-scan.d.ts +8 -0
  43. package/dist/rules/effect-source-scan.d.ts.map +1 -0
  44. package/dist/rules/effect-source-scan.js +364 -0
  45. package/dist/rules/effect-source-scan.js.map +1 -0
  46. package/dist/rules/effect-strict-helpers.d.ts +34 -0
  47. package/dist/rules/effect-strict-helpers.d.ts.map +1 -0
  48. package/dist/rules/effect-strict-helpers.js +500 -0
  49. package/dist/rules/effect-strict-helpers.js.map +1 -0
  50. package/dist/rules/effect-strict.d.ts +3 -0
  51. package/dist/rules/effect-strict.d.ts.map +1 -0
  52. package/dist/rules/effect-strict.js +727 -0
  53. package/dist/rules/effect-strict.js.map +1 -0
  54. package/dist/rules/max-line-length.d.ts.map +1 -1
  55. package/dist/rules/max-line-length.js +25 -7
  56. package/dist/rules/max-line-length.js.map +1 -1
  57. package/dist/rules/plugin.d.ts +2 -121
  58. package/dist/rules/plugin.d.ts.map +1 -1
  59. package/dist/rules/plugin.js +94 -101
  60. package/dist/rules/plugin.js.map +1 -1
  61. package/dist/rules/require-function-doc.d.ts.map +1 -1
  62. package/dist/rules/require-function-doc.js +32 -21
  63. package/dist/rules/require-function-doc.js.map +1 -1
  64. package/dist/rules/source-cache.d.ts +11 -0
  65. package/dist/rules/source-cache.d.ts.map +1 -0
  66. package/dist/rules/source-cache.js +50 -0
  67. package/dist/rules/source-cache.js.map +1 -0
  68. package/package.json +13 -4
@@ -0,0 +1,364 @@
1
+ import { CHAR_CLASS, CLS_DIGIT, CLS_LOWER, CLS_UNDER, CLS_UPPER } from './char-class.js';
2
+ const regexPrefixChars = new Set(['(', '[', '{', '=', ':', ',', ';', '!', '?', '&', '|']);
3
+ const regexPrefixWords = new Set(['case', 'delete', 'return', 'throw', 'typeof', 'void', 'yield']);
4
+ const STRIP_CACHE_MAX = 256;
5
+ const commentCache = new Map();
6
+ const codeOnlyCache = new Map();
7
+ const IDENTIFIER_MASK = CLS_UPPER | CLS_LOWER | CLS_DIGIT | CLS_UNDER;
8
+ function isWhitespaceCode(code) {
9
+ return code === 32 || code === 9 || code === 10 || code === 13 || code === 11 || code === 12;
10
+ }
11
+ function isAsciiIdentifierChar(source, index) {
12
+ const code = source.charCodeAt(index);
13
+ return code === 36 || (code < CHAR_CLASS.length && (CHAR_CLASS[code] & IDENTIFIER_MASK) !== 0);
14
+ }
15
+ function isAsciiLetter(source, index) {
16
+ const code = source.charCodeAt(index);
17
+ return code < CHAR_CLASS.length && (CHAR_CLASS[code] & (CLS_UPPER | CLS_LOWER)) !== 0;
18
+ }
19
+ function cached(cache, source) {
20
+ return cache.get(source);
21
+ }
22
+ function cacheResult(cache, source, value) {
23
+ if (cache.size >= STRIP_CACHE_MAX) {
24
+ const firstKey = cache.keys().next().value;
25
+ if (firstKey !== undefined) {
26
+ cache.delete(firstKey);
27
+ }
28
+ }
29
+ cache.set(source, value);
30
+ return value;
31
+ }
32
+ function previousSignificantIndex(source, index) {
33
+ for (let cursor = index - 1; cursor >= 0; cursor--) {
34
+ if (!isWhitespaceCode(source.charCodeAt(cursor))) {
35
+ return cursor;
36
+ }
37
+ }
38
+ return -1;
39
+ }
40
+ function wordBefore(source, index) {
41
+ const endIndex = previousSignificantIndex(source, index);
42
+ if (endIndex === -1 || !isAsciiIdentifierChar(source, endIndex)) {
43
+ return '';
44
+ }
45
+ let startIndex = endIndex;
46
+ while (startIndex > 0 && isAsciiIdentifierChar(source, startIndex - 1)) {
47
+ startIndex--;
48
+ }
49
+ return source.slice(startIndex, endIndex + 1);
50
+ }
51
+ function isRegexLiteralStart(source, index) {
52
+ if (source[index] !== '/' || source[index + 1] === '/' || source[index + 1] === '*') {
53
+ return false;
54
+ }
55
+ const previousIndex = previousSignificantIndex(source, index);
56
+ if (previousIndex === -1) {
57
+ return true;
58
+ }
59
+ return (regexPrefixChars.has(source[previousIndex]) || regexPrefixWords.has(wordBefore(source, index)));
60
+ }
61
+ function findRegexLiteralEnd(source, startIndex) {
62
+ let isEscaped = false;
63
+ let isCharacterClass = false;
64
+ for (let index = startIndex + 1; index < source.length; index++) {
65
+ const char = source[index];
66
+ if (isEscaped) {
67
+ isEscaped = false;
68
+ continue;
69
+ }
70
+ if (char === '\\') {
71
+ isEscaped = true;
72
+ continue;
73
+ }
74
+ if (char === '[') {
75
+ isCharacterClass = true;
76
+ continue;
77
+ }
78
+ if (char === ']') {
79
+ isCharacterClass = false;
80
+ continue;
81
+ }
82
+ if (char === '\n') {
83
+ return startIndex;
84
+ }
85
+ if (char === '/' && !isCharacterClass) {
86
+ let flagsEndIndex = index;
87
+ while (isAsciiLetter(source, flagsEndIndex + 1)) {
88
+ flagsEndIndex++;
89
+ }
90
+ return flagsEndIndex;
91
+ }
92
+ }
93
+ return startIndex;
94
+ }
95
+ function findBalancedCallEnd(source, openParenIndex) {
96
+ let depth = 0;
97
+ let quote = '';
98
+ let isEscaped = false;
99
+ for (let index = openParenIndex; index < source.length; index++) {
100
+ const char = source[index];
101
+ const nextChar = source[index + 1];
102
+ if (quote) {
103
+ if (isEscaped) {
104
+ isEscaped = false;
105
+ }
106
+ else if (char === '\\') {
107
+ isEscaped = true;
108
+ }
109
+ else if (char === quote) {
110
+ quote = '';
111
+ }
112
+ continue;
113
+ }
114
+ if (char === '/' && nextChar === '/') {
115
+ const newlineIndex = source.indexOf('\n', index + 2);
116
+ index = newlineIndex === -1 ? source.length : newlineIndex;
117
+ continue;
118
+ }
119
+ if (char === '/' && nextChar === '*') {
120
+ const commentEnd = source.indexOf('*/', index + 2);
121
+ index = commentEnd === -1 ? source.length : commentEnd + 1;
122
+ continue;
123
+ }
124
+ if (isRegexLiteralStart(source, index)) {
125
+ index = findRegexLiteralEnd(source, index);
126
+ continue;
127
+ }
128
+ if (char === '"' || char === "'" || char === '`') {
129
+ quote = char;
130
+ continue;
131
+ }
132
+ if (char === '(') {
133
+ depth++;
134
+ }
135
+ else if (char === ')') {
136
+ depth--;
137
+ if (depth === 0) {
138
+ return index;
139
+ }
140
+ }
141
+ }
142
+ return source.length - 1;
143
+ }
144
+ function stripComments(source) {
145
+ const cachedValue = cached(commentCache, source);
146
+ if (cachedValue !== undefined) {
147
+ return cachedValue;
148
+ }
149
+ let stripped = '';
150
+ let quote = '';
151
+ let isEscaped = false;
152
+ let isLineComment = false;
153
+ let isBlockComment = false;
154
+ for (let index = 0; index < source.length; index++) {
155
+ const char = source[index];
156
+ const nextChar = source[index + 1];
157
+ if (isLineComment) {
158
+ if (char === '\n') {
159
+ isLineComment = false;
160
+ stripped += char;
161
+ }
162
+ else {
163
+ stripped += ' ';
164
+ }
165
+ continue;
166
+ }
167
+ if (isBlockComment) {
168
+ if (char === '*' && nextChar === '/') {
169
+ isBlockComment = false;
170
+ stripped += ' ';
171
+ index++;
172
+ }
173
+ else {
174
+ stripped += char === '\n' ? char : ' ';
175
+ }
176
+ continue;
177
+ }
178
+ if (quote) {
179
+ if (isEscaped) {
180
+ isEscaped = false;
181
+ }
182
+ else if (char === '\\') {
183
+ isEscaped = true;
184
+ }
185
+ else if (char === quote) {
186
+ quote = '';
187
+ }
188
+ stripped += char;
189
+ continue;
190
+ }
191
+ if (char === '/' && nextChar === '/') {
192
+ isLineComment = true;
193
+ stripped += ' ';
194
+ index++;
195
+ continue;
196
+ }
197
+ if (char === '/' && nextChar === '*') {
198
+ isBlockComment = true;
199
+ stripped += ' ';
200
+ index++;
201
+ continue;
202
+ }
203
+ if (isRegexLiteralStart(source, index)) {
204
+ const endIndex = findRegexLiteralEnd(source, index);
205
+ stripped += source.slice(index, endIndex + 1);
206
+ index = endIndex;
207
+ continue;
208
+ }
209
+ if (char === '"' || char === "'" || char === '`') {
210
+ quote = char;
211
+ }
212
+ stripped += char;
213
+ }
214
+ return cacheResult(commentCache, source, stripped);
215
+ }
216
+ function stripCommentsAndStrings(source) {
217
+ const cachedValue = cached(codeOnlyCache, source);
218
+ if (cachedValue !== undefined) {
219
+ return cachedValue;
220
+ }
221
+ let stripped = '';
222
+ let quote = '';
223
+ let isEscaped = false;
224
+ let isLineComment = false;
225
+ let isBlockComment = false;
226
+ let templateExpressionDepth = 0;
227
+ for (let index = 0; index < source.length; index++) {
228
+ const char = source[index];
229
+ const nextChar = source[index + 1];
230
+ if (isLineComment) {
231
+ if (char === '\n') {
232
+ isLineComment = false;
233
+ stripped += char;
234
+ }
235
+ else {
236
+ stripped += ' ';
237
+ }
238
+ continue;
239
+ }
240
+ if (isBlockComment) {
241
+ if (char === '*' && nextChar === '/') {
242
+ isBlockComment = false;
243
+ stripped += ' ';
244
+ index++;
245
+ }
246
+ else {
247
+ stripped += char === '\n' ? char : ' ';
248
+ }
249
+ continue;
250
+ }
251
+ if (quote) {
252
+ const currentQuote = quote;
253
+ let shouldPreserve = char === '\n';
254
+ if (quote === '`' && char === '$' && nextChar === '{' && !isEscaped) {
255
+ templateExpressionDepth++;
256
+ quote = '';
257
+ stripped += ' ';
258
+ index++;
259
+ continue;
260
+ }
261
+ if (isEscaped) {
262
+ isEscaped = false;
263
+ }
264
+ else if (char === '\\') {
265
+ isEscaped = true;
266
+ }
267
+ else if (char === quote) {
268
+ shouldPreserve = true;
269
+ quote = '';
270
+ }
271
+ stripped += shouldPreserve || char === currentQuote ? char : ' ';
272
+ continue;
273
+ }
274
+ if (templateExpressionDepth > 0) {
275
+ if (char === '{') {
276
+ templateExpressionDepth++;
277
+ }
278
+ else if (char === '}') {
279
+ templateExpressionDepth--;
280
+ if (templateExpressionDepth === 0) {
281
+ stripped += ' ';
282
+ quote = '`';
283
+ continue;
284
+ }
285
+ }
286
+ }
287
+ if (char === '/' && nextChar === '/') {
288
+ isLineComment = true;
289
+ stripped += ' ';
290
+ index++;
291
+ continue;
292
+ }
293
+ if (char === '/' && nextChar === '*') {
294
+ isBlockComment = true;
295
+ stripped += ' ';
296
+ index++;
297
+ continue;
298
+ }
299
+ if (isRegexLiteralStart(source, index)) {
300
+ const endIndex = findRegexLiteralEnd(source, index);
301
+ stripped += ' '.repeat(endIndex - index + 1);
302
+ index = endIndex;
303
+ continue;
304
+ }
305
+ if (char === '"' || char === "'" || char === '`') {
306
+ quote = char;
307
+ stripped += char;
308
+ continue;
309
+ }
310
+ stripped += char;
311
+ }
312
+ return cacheResult(codeOnlyCache, source, stripped);
313
+ }
314
+ function findMatchingBrace(source, openIndex) {
315
+ let depth = 0;
316
+ let quote = '';
317
+ let isEscaped = false;
318
+ for (let index = openIndex; index < source.length; index++) {
319
+ const char = source[index];
320
+ const nextChar = source[index + 1];
321
+ if (quote) {
322
+ if (isEscaped) {
323
+ isEscaped = false;
324
+ }
325
+ else if (char === '\\') {
326
+ isEscaped = true;
327
+ }
328
+ else if (char === quote) {
329
+ quote = '';
330
+ }
331
+ continue;
332
+ }
333
+ if (char === '/' && nextChar === '/') {
334
+ const newlineIndex = source.indexOf('\n', index + 2);
335
+ index = newlineIndex === -1 ? source.length : newlineIndex;
336
+ continue;
337
+ }
338
+ if (char === '/' && nextChar === '*') {
339
+ const commentEnd = source.indexOf('*/', index + 2);
340
+ index = commentEnd === -1 ? source.length : commentEnd + 1;
341
+ continue;
342
+ }
343
+ if (isRegexLiteralStart(source, index)) {
344
+ index = findRegexLiteralEnd(source, index);
345
+ continue;
346
+ }
347
+ if (char === '"' || char === "'" || char === '`') {
348
+ quote = char;
349
+ continue;
350
+ }
351
+ if (char === '{') {
352
+ depth++;
353
+ }
354
+ else if (char === '}') {
355
+ depth--;
356
+ if (depth === 0) {
357
+ return index;
358
+ }
359
+ }
360
+ }
361
+ return -1;
362
+ }
363
+ export { findBalancedCallEnd, findMatchingBrace, findRegexLiteralEnd, isRegexLiteralStart, stripComments, stripCommentsAndStrings, };
364
+ //# sourceMappingURL=effect-source-scan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-source-scan.js","sourceRoot":"","sources":["../../src/rules/effect-source-scan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ declare function hasLayerFactory(source: string): boolean;
2
+ declare function hasUnscopedResourceLayer(source: string): boolean;
3
+ declare function hasBoundaryDataWithoutSchema(source: string): boolean;
4
+ declare function hasHttpServerRequestWithoutSchema(source: string): boolean;
5
+ declare function hasPersistenceReadWithoutSchema(source: string): boolean;
6
+ declare function hasCommandHandlerWithoutSchema(source: string): boolean;
7
+ declare function hasUnscopedResourceLoop(source: string): boolean;
8
+ declare function hasUnsafeResourceStream(source: string): boolean;
9
+ declare function hasLiveTestService(source: string): boolean;
10
+ declare function hasRealTestService(source: string): boolean;
11
+ declare function hasDuplicateLayerInstance(source: string): boolean;
12
+ declare function hasOutputBoundaryWithoutSchema(source: string): boolean;
13
+ declare function hasHttpClientResponseWithoutSchema(source: string): boolean;
14
+ declare function hasSharedResourceForEachWithoutSemaphore(source: string): boolean;
15
+ declare function hasEnsuringCleanupWithoutOnExit(source: string): boolean;
16
+ declare function hasUnterminatedLongRunningStream(source: string): boolean;
17
+ declare function hasAsyncPushWithoutBuffer(source: string): boolean;
18
+ declare function hasUnbatchedResolver(source: string): boolean;
19
+ declare function hasNPlusOneWithoutBatchedResolver(source: string): boolean;
20
+ declare function hasExternalEffectWithoutTimeout(source: string, options?: {
21
+ allowFetch: boolean;
22
+ }): boolean;
23
+ declare function hasExternalEffectWithoutSpan(source: string, options?: {
24
+ allowFetch: boolean;
25
+ }): boolean;
26
+ declare function hasIdempotentExternalEffectWithoutRetry(source: string, options?: {
27
+ allowFetch: boolean;
28
+ }): boolean;
29
+ declare function hasUnprovidedServiceInEffectTest(source: string): boolean;
30
+ declare function hasTimeCodeWithoutTestClock(source: string): boolean;
31
+ declare function hasMutableStateWithoutRef(source: string): boolean;
32
+ declare const hasSharedMutableStateWithoutRef: typeof hasMutableStateWithoutRef;
33
+ export { hasAsyncPushWithoutBuffer, hasBoundaryDataWithoutSchema, hasCommandHandlerWithoutSchema, hasDuplicateLayerInstance, hasEnsuringCleanupWithoutOnExit, hasExternalEffectWithoutTimeout, hasExternalEffectWithoutSpan, hasHttpClientResponseWithoutSchema, hasHttpServerRequestWithoutSchema, hasIdempotentExternalEffectWithoutRetry, hasLayerFactory, hasLiveTestService, hasMutableStateWithoutRef, hasNPlusOneWithoutBatchedResolver, hasOutputBoundaryWithoutSchema, hasPersistenceReadWithoutSchema, hasRealTestService, hasSharedResourceForEachWithoutSemaphore, hasSharedMutableStateWithoutRef, hasTimeCodeWithoutTestClock, hasUnbatchedResolver, hasUnprovidedServiceInEffectTest, hasUnscopedResourceLayer, hasUnscopedResourceLoop, hasUnsafeResourceStream, hasUnterminatedLongRunningStream, };
34
+ //# sourceMappingURL=effect-strict-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-strict-helpers.d.ts","sourceRoot":"","sources":["../../src/rules/effect-strict-helpers.ts"],"names":[],"mappings":"AA2EA,iBAAS,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAYhD;AAED,iBAAS,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAkBzD;AAED,iBAAS,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CA6B7D;AAED,iBAAS,iCAAiC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CA0BlE;AAED,iBAAS,+BAA+B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CA6BhE;AAED,iBAAS,8BAA8B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAoB/D;AAED,iBAAS,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAsBxD;AAED,iBAAS,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAuBxD;AAED,iBAAS,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAMnD;AAED,iBAAS,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAMnD;AAED,iBAAS,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAkB1D;AAiCD,iBAAS,8BAA8B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAe/D;AAED,iBAAS,kCAAkC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAcnE;AAED,iBAAS,wCAAwC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAkBzE;AAED,iBAAS,+BAA+B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAchE;AAED,iBAAS,gCAAgC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAcjE;AAED,iBAAS,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAc1D;AAED,iBAAS,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAcrD;AAED,iBAAS,iCAAiC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAiBlE;AA+DD,iBAAS,+BAA+B,CACtC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,UAAU,EAAE,OAAO,CAAA;CAAyB,GACtD,OAAO,CA0BT;AAED,iBAAS,4BAA4B,CACnC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,UAAU,EAAE,OAAO,CAAA;CAAyB,GACtD,OAAO,CA0BT;AAED,iBAAS,uCAAuC,CAC9C,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,UAAU,EAAE,OAAO,CAAA;CAAyB,GACtD,OAAO,CAmCT;AAED,iBAAS,gCAAgC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAUjE;AAED,iBAAS,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAY5D;AAED,iBAAS,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAgB1D;AAED,QAAA,MAAM,+BAA+B,kCAA4B,CAAC;AAElE,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC5B,8BAA8B,EAC9B,yBAAyB,EACzB,+BAA+B,EAC/B,+BAA+B,EAC/B,4BAA4B,EAC5B,kCAAkC,EAClC,iCAAiC,EACjC,uCAAuC,EACvC,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,iCAAiC,EACjC,8BAA8B,EAC9B,+BAA+B,EAC/B,kBAAkB,EAClB,wCAAwC,EACxC,+BAA+B,EAC/B,2BAA2B,EAC3B,oBAAoB,EACpB,gCAAgC,EAChC,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,gCAAgC,GACjC,CAAC"}