skir 0.0.1 → 0.0.2

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 (115) hide show
  1. package/dist/casing.d.ts +1 -4
  2. package/dist/casing.d.ts.map +1 -1
  3. package/dist/casing.js +0 -29
  4. package/dist/casing.js.map +1 -1
  5. package/dist/casing.test.js +2 -13
  6. package/dist/casing.test.js.map +1 -1
  7. package/dist/command_line_parser.d.ts +3 -3
  8. package/dist/command_line_parser.d.ts.map +1 -1
  9. package/dist/command_line_parser.js +35 -38
  10. package/dist/command_line_parser.js.map +1 -1
  11. package/dist/command_line_parser.test.js +73 -78
  12. package/dist/command_line_parser.test.js.map +1 -1
  13. package/dist/compatibility_checker.d.ts +9 -3
  14. package/dist/compatibility_checker.d.ts.map +1 -1
  15. package/dist/compatibility_checker.js +17 -4
  16. package/dist/compatibility_checker.js.map +1 -1
  17. package/dist/compatibility_checker.test.js +55 -1
  18. package/dist/compatibility_checker.test.js.map +1 -1
  19. package/dist/compiler.js +34 -17
  20. package/dist/compiler.js.map +1 -1
  21. package/dist/config.d.ts +5 -35
  22. package/dist/config.d.ts.map +1 -1
  23. package/dist/definition_finder.d.ts +1 -1
  24. package/dist/definition_finder.d.ts.map +1 -1
  25. package/dist/doc_comment_parser.d.ts +3 -0
  26. package/dist/doc_comment_parser.d.ts.map +1 -0
  27. package/dist/doc_comment_parser.js +219 -0
  28. package/dist/doc_comment_parser.js.map +1 -0
  29. package/dist/doc_comment_parser.test.d.ts +2 -0
  30. package/dist/doc_comment_parser.test.d.ts.map +1 -0
  31. package/dist/doc_comment_parser.test.js +494 -0
  32. package/dist/doc_comment_parser.test.js.map +1 -0
  33. package/dist/error_renderer.d.ts +1 -1
  34. package/dist/error_renderer.d.ts.map +1 -1
  35. package/dist/error_renderer.js +84 -65
  36. package/dist/error_renderer.js.map +1 -1
  37. package/dist/formatter.d.ts +15 -2
  38. package/dist/formatter.d.ts.map +1 -1
  39. package/dist/formatter.js +191 -234
  40. package/dist/formatter.js.map +1 -1
  41. package/dist/formatter.test.js +322 -88
  42. package/dist/formatter.test.js.map +1 -1
  43. package/dist/index.d.ts +1 -5
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +1 -4
  46. package/dist/index.js.map +1 -1
  47. package/dist/language_server.js +1 -1
  48. package/dist/language_server.js.map +1 -1
  49. package/dist/literals.d.ts +1 -2
  50. package/dist/literals.d.ts.map +1 -1
  51. package/dist/literals.js +1 -12
  52. package/dist/literals.js.map +1 -1
  53. package/dist/literals.test.js +1 -4
  54. package/dist/literals.test.js.map +1 -1
  55. package/dist/module_set.d.ts +3 -7
  56. package/dist/module_set.d.ts.map +1 -1
  57. package/dist/module_set.js +205 -51
  58. package/dist/module_set.js.map +1 -1
  59. package/dist/module_set.test.js +595 -28
  60. package/dist/module_set.test.js.map +1 -1
  61. package/dist/parser.d.ts +3 -4
  62. package/dist/parser.d.ts.map +1 -1
  63. package/dist/parser.js +185 -92
  64. package/dist/parser.js.map +1 -1
  65. package/dist/parser.test.js +243 -15
  66. package/dist/parser.test.js.map +1 -1
  67. package/dist/project_initializer.d.ts +2 -0
  68. package/dist/project_initializer.d.ts.map +1 -0
  69. package/dist/project_initializer.js +30 -0
  70. package/dist/project_initializer.js.map +1 -0
  71. package/dist/snapshotter.d.ts +3 -0
  72. package/dist/snapshotter.d.ts.map +1 -1
  73. package/dist/snapshotter.js +43 -6
  74. package/dist/snapshotter.js.map +1 -1
  75. package/dist/tokenizer.d.ts +8 -2
  76. package/dist/tokenizer.d.ts.map +1 -1
  77. package/dist/tokenizer.js +26 -20
  78. package/dist/tokenizer.js.map +1 -1
  79. package/dist/tokenizer.test.js +285 -269
  80. package/dist/tokenizer.test.js.map +1 -1
  81. package/package.json +7 -5
  82. package/src/casing.ts +1 -36
  83. package/src/command_line_parser.ts +42 -48
  84. package/src/compatibility_checker.ts +29 -7
  85. package/src/compiler.ts +35 -18
  86. package/src/definition_finder.ts +1 -1
  87. package/src/doc_comment_parser.ts +246 -0
  88. package/src/error_renderer.ts +90 -66
  89. package/src/formatter.ts +249 -238
  90. package/src/index.ts +0 -6
  91. package/src/language_server.ts +8 -8
  92. package/src/literals.ts +5 -14
  93. package/src/module_set.ts +259 -79
  94. package/src/parser.ts +213 -98
  95. package/src/project_initializer.ts +39 -0
  96. package/src/snapshotter.ts +46 -5
  97. package/src/tokenizer.ts +47 -25
  98. package/dist/encoding.d.ts +0 -2
  99. package/dist/encoding.d.ts.map +0 -1
  100. package/dist/encoding.js +0 -38
  101. package/dist/encoding.js.map +0 -1
  102. package/dist/encoding.test.d.ts +0 -2
  103. package/dist/encoding.test.d.ts.map +0 -1
  104. package/dist/encoding.test.js +0 -23
  105. package/dist/encoding.test.js.map +0 -1
  106. package/dist/index.test.d.ts +0 -2
  107. package/dist/index.test.d.ts.map +0 -1
  108. package/dist/index.test.js +0 -14
  109. package/dist/index.test.js.map +0 -1
  110. package/dist/types.d.ts +0 -375
  111. package/dist/types.d.ts.map +0 -1
  112. package/dist/types.js +0 -2
  113. package/dist/types.js.map +0 -1
  114. package/src/encoding.ts +0 -32
  115. package/src/types.ts +0 -518
@@ -0,0 +1,494 @@
1
+ import { expect } from "buckwheat";
2
+ import { describe, it } from "mocha";
3
+ import { parseDocComments } from "./doc_comment_parser.js";
4
+ function makeToken(text, position = 0) {
5
+ const line = {
6
+ lineNumber: 0,
7
+ line: text,
8
+ position: 0,
9
+ modulePath: "test",
10
+ };
11
+ return {
12
+ text,
13
+ originalText: text,
14
+ position,
15
+ line,
16
+ colNumber: 0,
17
+ };
18
+ }
19
+ describe("doc_comment_parser", () => {
20
+ it("parses simple text", () => {
21
+ const tokens = [makeToken("/// Hello, world!")];
22
+ const result = parseDocComments(tokens);
23
+ expect(result).toMatch({
24
+ errors: [],
25
+ result: {
26
+ pieces: [{ kind: "text", text: "Hello, world!" }],
27
+ },
28
+ });
29
+ });
30
+ it("skips exactly one space after ///", () => {
31
+ const tokens = [
32
+ makeToken("/// Hello"),
33
+ makeToken("/// Two spaces"),
34
+ makeToken("///No space"),
35
+ ];
36
+ const result = parseDocComments(tokens);
37
+ expect(result).toMatch({
38
+ errors: [],
39
+ result: {
40
+ pieces: [{ kind: "text", text: "Hello\n Two spaces\nNo space" }],
41
+ },
42
+ });
43
+ });
44
+ it("parses multiple lines as single text fragment", () => {
45
+ const tokens = [
46
+ makeToken("/// Hello,"),
47
+ makeToken("/// world!"),
48
+ makeToken("/// How are you?"),
49
+ ];
50
+ const result = parseDocComments(tokens);
51
+ expect(result).toMatch({
52
+ errors: [],
53
+ result: {
54
+ pieces: [{ kind: "text", text: "Hello,\nworld!\nHow are you?" }],
55
+ },
56
+ });
57
+ });
58
+ it("parses simple reference", () => {
59
+ const tokens = [makeToken("/// See [.foo.Bar] for details")];
60
+ const result = parseDocComments(tokens);
61
+ expect(result).toMatch({
62
+ errors: [],
63
+ result: {
64
+ pieces: [
65
+ { kind: "text", text: "See " },
66
+ {
67
+ kind: "reference",
68
+ nameChain: [{ text: "foo" }, { text: "Bar" }],
69
+ absolute: true,
70
+ },
71
+ { kind: "text", text: " for details" },
72
+ ],
73
+ },
74
+ });
75
+ });
76
+ it("parses reference without leading dot", () => {
77
+ const tokens = [makeToken("/// See [Foo] for details")];
78
+ const result = parseDocComments(tokens);
79
+ expect(result).toMatch({
80
+ errors: [],
81
+ result: {
82
+ pieces: [
83
+ {},
84
+ {
85
+ kind: "reference",
86
+ nameChain: [{ text: "Foo" }],
87
+ absolute: false,
88
+ },
89
+ {},
90
+ ],
91
+ },
92
+ });
93
+ });
94
+ it("rejects reference with whitespace", () => {
95
+ const tokens = [makeToken("/// See [ .foo ] for details")];
96
+ const result = parseDocComments(tokens);
97
+ expect(result).toMatch({
98
+ errors: [
99
+ {
100
+ token: {
101
+ text: "[ .foo ]",
102
+ },
103
+ message: "Invalid character in reference at column 10",
104
+ },
105
+ ],
106
+ });
107
+ });
108
+ it("parses escaped brackets", () => {
109
+ const tokens = [makeToken("/// Hello [[world]]!")];
110
+ const result = parseDocComments(tokens);
111
+ expect(result).toMatch({
112
+ errors: [],
113
+ result: {
114
+ pieces: [{ kind: "text", text: "Hello [world]!" }],
115
+ },
116
+ });
117
+ });
118
+ it("handles unmatched closing bracket", () => {
119
+ const tokens = [makeToken("/// Hello ] world")];
120
+ const result = parseDocComments(tokens);
121
+ expect(result).toMatch({
122
+ errors: [],
123
+ result: {
124
+ pieces: [{ kind: "text", text: "Hello ] world" }],
125
+ },
126
+ });
127
+ });
128
+ it("parses multiple references and text fragments", () => {
129
+ const tokens = [
130
+ makeToken("/// Hello,"),
131
+ makeToken("/// world [.foo.Bar], how are"),
132
+ makeToken("/// you?"),
133
+ ];
134
+ const result = parseDocComments(tokens);
135
+ expect(result).toMatch({
136
+ errors: [],
137
+ result: {
138
+ pieces: [
139
+ { kind: "text", text: "Hello,\nworld " },
140
+ { kind: "reference" },
141
+ { kind: "text", text: ", how are\nyou?" },
142
+ ],
143
+ },
144
+ });
145
+ });
146
+ it("reports error for empty reference", () => {
147
+ const tokens = [makeToken("/// See [] for details")];
148
+ const result = parseDocComments(tokens);
149
+ expect(result).toMatch({
150
+ result: {},
151
+ errors: [
152
+ {
153
+ token: {
154
+ text: "]",
155
+ },
156
+ expected: "identifier or '.'",
157
+ },
158
+ ],
159
+ });
160
+ });
161
+ it("reports error for unterminated reference", () => {
162
+ const tokens = [makeToken("/// See [.foo.Bar")];
163
+ const result = parseDocComments(tokens);
164
+ expect(result).toMatch({
165
+ result: {
166
+ pieces: [
167
+ { kind: "text", text: "See " },
168
+ { kind: "reference", nameChain: [], absolute: true },
169
+ ],
170
+ },
171
+ errors: [{ message: "Unterminated reference" }],
172
+ });
173
+ });
174
+ it("reports error for invalid character in reference", () => {
175
+ const tokens = [makeToken("/// See [foo@bar] for details")];
176
+ const result = parseDocComments(tokens);
177
+ expect(result).toMatch({
178
+ errors: [
179
+ {
180
+ token: {
181
+ text: "[foo@bar]",
182
+ },
183
+ message: "Invalid character in reference at column 13",
184
+ },
185
+ ],
186
+ });
187
+ });
188
+ it("rejects digit at start of word in reference", () => {
189
+ const tokens = [makeToken("/// See [.foo.9Bar] for details")];
190
+ const result = parseDocComments(tokens);
191
+ expect(result).toMatch({
192
+ errors: [
193
+ {
194
+ token: {
195
+ text: "[.foo.9Bar]",
196
+ },
197
+ message: "Invalid character in reference at column 15",
198
+ },
199
+ ],
200
+ });
201
+ });
202
+ it("allows underscore and digits in word after first letter", () => {
203
+ const tokens = [makeToken("/// See [Foo_Bar_123] for details")];
204
+ const result = parseDocComments(tokens);
205
+ expect(result).toMatch({
206
+ errors: [],
207
+ result: {
208
+ pieces: [
209
+ {},
210
+ {
211
+ kind: "reference",
212
+ nameChain: [{ text: "Foo_Bar_123" }],
213
+ absolute: false,
214
+ },
215
+ {},
216
+ ],
217
+ },
218
+ });
219
+ });
220
+ it("handles mixed escaped brackets and references", () => {
221
+ const tokens = [
222
+ makeToken("/// [[Not a reference]] but [RealReference] is"),
223
+ ];
224
+ const result = parseDocComments(tokens);
225
+ expect(result).toMatch({
226
+ errors: [],
227
+ result: {
228
+ pieces: [
229
+ { kind: "text", text: "[Not a reference] but " },
230
+ { kind: "reference" },
231
+ { kind: "text", text: " is" },
232
+ ],
233
+ },
234
+ });
235
+ });
236
+ it("handles empty doc comments", () => {
237
+ const tokens = [];
238
+ const result = parseDocComments(tokens);
239
+ expect(result).toMatch({
240
+ errors: [],
241
+ result: {
242
+ pieces: [],
243
+ },
244
+ });
245
+ });
246
+ it("handles only whitespace after ///", () => {
247
+ const tokens = [makeToken("///"), makeToken("/// ")];
248
+ const result = parseDocComments(tokens);
249
+ expect(result).toMatch({
250
+ errors: [],
251
+ result: {
252
+ pieces: [{ kind: "text", text: "\n " }],
253
+ },
254
+ });
255
+ });
256
+ it("continues parsing after error", () => {
257
+ const tokens = [
258
+ makeToken("/// Invalid [@ but"),
259
+ makeToken("/// valid [Link] here"),
260
+ ];
261
+ const result = parseDocComments(tokens);
262
+ expect(result).toMatch({
263
+ errors: [
264
+ {
265
+ token: {
266
+ text: "[@ but",
267
+ position: 12,
268
+ },
269
+ message: "Unterminated reference",
270
+ },
271
+ {
272
+ token: {
273
+ text: "[@ but",
274
+ },
275
+ message: "Invalid character in reference at column 14",
276
+ },
277
+ ],
278
+ });
279
+ });
280
+ it("handles reference at start of comment", () => {
281
+ const tokens = [makeToken("///[Reference] at start")];
282
+ const result = parseDocComments(tokens);
283
+ expect(result).toMatch({
284
+ errors: [],
285
+ result: {
286
+ pieces: [{ kind: "reference" }, { kind: "text", text: " at start" }],
287
+ },
288
+ });
289
+ });
290
+ it("handles reference at end of comment", () => {
291
+ const tokens = [makeToken("/// End with [Reference]")];
292
+ const result = parseDocComments(tokens);
293
+ expect(result).toMatch({
294
+ errors: [],
295
+ result: {
296
+ pieces: [{ kind: "text", text: "End with " }, { kind: "reference" }],
297
+ },
298
+ });
299
+ });
300
+ it("handles reference at end of line followed by text on next line", () => {
301
+ const tokens = [
302
+ makeToken("/// End with [Reference]"),
303
+ makeToken("/// and continue text"),
304
+ ];
305
+ const result = parseDocComments(tokens);
306
+ expect(result).toMatch({
307
+ errors: [],
308
+ result: {
309
+ pieces: [
310
+ { kind: "text", text: "End with " },
311
+ {
312
+ kind: "reference",
313
+ nameChain: [{ text: "Reference" }],
314
+ absolute: false,
315
+ },
316
+ { kind: "text", text: "\nand continue text" },
317
+ ],
318
+ },
319
+ });
320
+ });
321
+ it("handles consecutive references", () => {
322
+ const tokens = [makeToken("/// [Ref1][Ref2][Ref3]")];
323
+ const result = parseDocComments(tokens);
324
+ expect(result).toMatch({
325
+ errors: [],
326
+ result: {
327
+ pieces: [
328
+ { kind: "reference" },
329
+ { kind: "reference" },
330
+ { kind: "reference" },
331
+ ],
332
+ },
333
+ });
334
+ });
335
+ it("preserves correct token positions with space after ///", () => {
336
+ const tokens = [makeToken("/// [Foo]", 100)];
337
+ const result = parseDocComments(tokens);
338
+ // Position should be 100 (start) + 3 (///) + 1 (space) + 1 (opening bracket) = 105
339
+ expect(result).toMatch({
340
+ errors: [],
341
+ result: {
342
+ pieces: [
343
+ {
344
+ kind: "reference",
345
+ nameChain: [{ text: "Foo", position: 105 }],
346
+ absolute: false,
347
+ },
348
+ ],
349
+ },
350
+ });
351
+ });
352
+ it("preserves correct token positions without space after ///", () => {
353
+ const tokens = [makeToken("///[Foo]", 100)];
354
+ const result = parseDocComments(tokens);
355
+ // Position should be 100 (start) + 3 (///) + 1 (opening bracket) = 104
356
+ expect(result).toMatch({
357
+ errors: [],
358
+ result: {
359
+ pieces: [
360
+ {
361
+ kind: "reference",
362
+ nameChain: [{ text: "Foo", position: 104 }],
363
+ absolute: false,
364
+ },
365
+ ],
366
+ },
367
+ });
368
+ });
369
+ it("preserves correct error positions with space after ///", () => {
370
+ const tokens = [makeToken("/// [@invalid]", 100)];
371
+ const result = parseDocComments(tokens);
372
+ // Error should be at position 100 + 3 (///) + 1 (space) = 104
373
+ expect(result).toMatch({
374
+ errors: [
375
+ {
376
+ token: {
377
+ text: "[@invalid]",
378
+ position: 104,
379
+ },
380
+ },
381
+ ],
382
+ });
383
+ });
384
+ it("preserves correct error positions without space after ///", () => {
385
+ const tokens = [makeToken("///[@invalid]", 100)];
386
+ const result = parseDocComments(tokens);
387
+ // Error should be at position 100 + 3 (///) = 103
388
+ expect(result).toMatch({
389
+ errors: [
390
+ {
391
+ token: {
392
+ text: "[@invalid]",
393
+ position: 103,
394
+ },
395
+ },
396
+ ],
397
+ });
398
+ });
399
+ it("parses multiple references on different lines", () => {
400
+ const tokens = [
401
+ makeToken("/// See [Ref1] and"),
402
+ makeToken("/// also [Ref2] here"),
403
+ ];
404
+ const result = parseDocComments(tokens);
405
+ expect(result).toMatch({
406
+ errors: [],
407
+ result: {
408
+ pieces: [
409
+ { kind: "text", text: "See " },
410
+ {
411
+ kind: "reference",
412
+ nameChain: [{ text: "Ref1" }],
413
+ absolute: false,
414
+ },
415
+ { kind: "text", text: " and\nalso " },
416
+ {
417
+ kind: "reference",
418
+ nameChain: [{ text: "Ref2" }],
419
+ absolute: false,
420
+ },
421
+ { kind: "text", text: " here" },
422
+ ],
423
+ },
424
+ });
425
+ });
426
+ it("reports error for unterminated reference at end of line", () => {
427
+ const tokens = [makeToken("/// See [.foo.Bar")];
428
+ const result = parseDocComments(tokens);
429
+ expect(result).toMatch({
430
+ result: {},
431
+ errors: [{ message: "Unterminated reference" }],
432
+ });
433
+ });
434
+ it("sets docComment field in reference", () => {
435
+ const tokens = [makeToken("/// See [Foo] here")];
436
+ const result = parseDocComments(tokens);
437
+ expect(result).toMatch({
438
+ errors: [],
439
+ result: {
440
+ pieces: [
441
+ {},
442
+ {
443
+ kind: "reference",
444
+ docComment: tokens[0],
445
+ },
446
+ {},
447
+ ],
448
+ },
449
+ });
450
+ });
451
+ it("sets referenceRange field to include brackets", () => {
452
+ const tokens = [makeToken("/// See [.foo.Bar] here", 100)];
453
+ const result = parseDocComments(tokens);
454
+ // Position: 100 (start) + 4 (/// ) + 4 (See ) = 108
455
+ expect(result).toMatch({
456
+ errors: [],
457
+ result: {
458
+ pieces: [
459
+ {},
460
+ {
461
+ kind: "reference",
462
+ referenceRange: {
463
+ text: "[.foo.Bar]",
464
+ originalText: "[.foo.Bar]",
465
+ position: 108,
466
+ colNumber: 108,
467
+ },
468
+ },
469
+ {},
470
+ ],
471
+ },
472
+ });
473
+ });
474
+ it("referenceRange works without space after ///", () => {
475
+ const tokens = [makeToken("///[Foo]", 50)];
476
+ const result = parseDocComments(tokens);
477
+ // Position: 50 (start) + 3 (///) = 53
478
+ expect(result).toMatch({
479
+ errors: [],
480
+ result: {
481
+ pieces: [
482
+ {
483
+ kind: "reference",
484
+ referenceRange: {
485
+ text: "[Foo]",
486
+ position: 53,
487
+ },
488
+ },
489
+ ],
490
+ },
491
+ });
492
+ });
493
+ });
494
+ //# sourceMappingURL=doc_comment_parser.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc_comment_parser.test.js","sourceRoot":"","sources":["../src/doc_comment_parser.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
+ import type { SkirError } from "skir-internal";
1
2
  import { BeforeAfter, BreakingChange } from "./compatibility_checker.js";
2
3
  import { ModuleSet } from "./module_set.js";
3
- import { SkirError } from "./types.js";
4
4
  export declare function renderErrors(errors: readonly SkirError[]): void;
5
5
  export declare function formatError(error: SkirError): string;
6
6
  export declare function renderBreakingChanges(breakingChanges: readonly BreakingChange[], moduleSet: BeforeAfter<ModuleSet>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"error_renderer.d.ts","sourceRoot":"","sources":["../src/error_renderer.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,cAAc,EAGf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAgC,SAAS,EAAS,MAAM,YAAY,CAAC;AAE5E,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI,CAgB/D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAuBpD;AAED,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,SAAS,cAAc,EAAE,EAC1C,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,GAChC,IAAI,CAUN;AA6LD,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C"}
1
+ {"version":3,"file":"error_renderer.d.ts","sourceRoot":"","sources":["../src/error_renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,SAAS,EAEV,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,WAAW,EACX,cAAc,EAGf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI,CAgB/D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAuBpD;AAED,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,SAAS,cAAc,EAAE,EAC1C,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,GAChC,IAAI,CAYN;AA8MD,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C"}