erosolar-cli 1.3.6 → 1.3.9

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 (49) hide show
  1. package/dist/StringUtils.d.ts +8 -0
  2. package/dist/StringUtils.d.ts.map +1 -0
  3. package/dist/StringUtils.js +11 -0
  4. package/dist/StringUtils.js.map +1 -0
  5. package/dist/alpha-zero/index.d.ts +1 -1
  6. package/dist/alpha-zero/index.js +1 -1
  7. package/dist/capabilities/index.d.ts +1 -1
  8. package/dist/capabilities/index.d.ts.map +1 -1
  9. package/dist/capabilities/index.js +1 -1
  10. package/dist/capabilities/index.js.map +1 -1
  11. package/dist/capabilities/skillCapability.d.ts +2 -6
  12. package/dist/capabilities/skillCapability.d.ts.map +1 -1
  13. package/dist/capabilities/skillCapability.js +70 -20
  14. package/dist/capabilities/skillCapability.js.map +1 -1
  15. package/dist/core/agent.d.ts +16 -0
  16. package/dist/core/agent.d.ts.map +1 -1
  17. package/dist/core/agent.js +171 -54
  18. package/dist/core/agent.js.map +1 -1
  19. package/dist/core/contextManager.js +6 -6
  20. package/dist/core/contextManager.js.map +1 -1
  21. package/dist/core/contextWindow.d.ts +6 -0
  22. package/dist/core/contextWindow.d.ts.map +1 -1
  23. package/dist/core/contextWindow.js +12 -4
  24. package/dist/core/contextWindow.js.map +1 -1
  25. package/dist/plugins/tools/skills/skillPlugin.js +2 -2
  26. package/dist/plugins/tools/skills/skillPlugin.js.map +1 -1
  27. package/dist/shell/interactiveShell.d.ts +19 -0
  28. package/dist/shell/interactiveShell.d.ts.map +1 -1
  29. package/dist/shell/interactiveShell.js +178 -1
  30. package/dist/shell/interactiveShell.js.map +1 -1
  31. package/dist/skills/skillRepository.d.ts +99 -23
  32. package/dist/skills/skillRepository.d.ts.map +1 -1
  33. package/dist/skills/skillRepository.js +213 -329
  34. package/dist/skills/skillRepository.js.map +1 -1
  35. package/dist/tools/skillTools.d.ts.map +1 -1
  36. package/dist/tools/skillTools.js +24 -62
  37. package/dist/tools/skillTools.js.map +1 -1
  38. package/package.json +21 -5
  39. package/scripts/ai-code-reviewer.mjs +343 -0
  40. package/scripts/code-intelligence-enhancer.mjs +415 -0
  41. package/scripts/dev-productivity-booster.mjs +342 -0
  42. package/dist/ui/advancedPrompt.d.ts +0 -58
  43. package/dist/ui/advancedPrompt.d.ts.map +0 -1
  44. package/dist/ui/advancedPrompt.js +0 -219
  45. package/dist/ui/advancedPrompt.js.map +0 -1
  46. package/dist/ui/overlay/OverlayManager.d.ts +0 -105
  47. package/dist/ui/overlay/OverlayManager.d.ts.map +0 -1
  48. package/dist/ui/overlay/OverlayManager.js +0 -291
  49. package/dist/ui/overlay/OverlayManager.js.map +0 -1
@@ -1,105 +0,0 @@
1
- /**
2
- * OverlayManager - Manages terminal overlay rendering with ANSI escape sequences
3
- * Provides sophisticated overlay composition and rendering capabilities
4
- */
5
- export interface OverlayRegion {
6
- content: string;
7
- height: number;
8
- priority: number;
9
- }
10
- export interface OverlayLayout {
11
- regions: {
12
- status?: OverlayRegion;
13
- progress?: OverlayRegion;
14
- hints?: OverlayRegion;
15
- alerts?: OverlayRegion;
16
- };
17
- maxHeight: number;
18
- }
19
- export interface OverlayOptions {
20
- adaptToTerminalSize: boolean;
21
- smoothTransitions: boolean;
22
- preserveCursor: boolean;
23
- }
24
- export declare class OverlayManager {
25
- private currentLayout;
26
- private renderedRows;
27
- private allocatedRows;
28
- private isVisible;
29
- private isEnabled;
30
- private outputGuardCount;
31
- private writeStream;
32
- private options;
33
- private readonly SAVE_CURSOR;
34
- private readonly RESTORE_CURSOR;
35
- private readonly CLEAR_LINE;
36
- private readonly MOVE_TO_COLUMN;
37
- private readonly MOVE_UP;
38
- constructor(writeStream: NodeJS.WriteStream, options?: Partial<OverlayOptions>);
39
- /**
40
- * Set the overlay layout to render
41
- */
42
- setLayout(layout: OverlayLayout | null): void;
43
- /**
44
- * Show the overlay if enabled and not in output guard
45
- */
46
- show(): void;
47
- /**
48
- * Hide the overlay
49
- */
50
- hide(): void;
51
- /**
52
- * Begin output operation (increments guard counter)
53
- */
54
- beginOutput(): void;
55
- /**
56
- * End output operation (decrements guard counter)
57
- */
58
- endOutput(): void;
59
- /**
60
- * Enable or disable overlay rendering
61
- */
62
- setEnabled(enabled: boolean): void;
63
- /**
64
- * Update a specific region in the layout
65
- */
66
- updateRegion(regionName: keyof OverlayLayout['regions'], region: OverlayRegion | undefined): void;
67
- /**
68
- * Compose the overlay content from all regions
69
- */
70
- private composeOverlay;
71
- /**
72
- * Render the overlay to the terminal
73
- */
74
- private render;
75
- /**
76
- * Clear the rendered overlay from the terminal
77
- */
78
- private clearRenderedOverlay;
79
- /**
80
- * Get maximum overlay height based on terminal size
81
- */
82
- private getMaxOverlayHeight;
83
- /**
84
- * Truncate a line to fit terminal width
85
- */
86
- private truncateLine;
87
- /**
88
- * Force a refresh of the overlay
89
- */
90
- refresh(): void;
91
- /**
92
- * Get current overlay state
93
- */
94
- getState(): {
95
- isVisible: boolean;
96
- isEnabled: boolean;
97
- renderedRows: number;
98
- hasLayout: boolean;
99
- };
100
- /**
101
- * Clean up resources
102
- */
103
- dispose(): void;
104
- }
105
- //# sourceMappingURL=OverlayManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OverlayManager.d.ts","sourceRoot":"","sources":["../../../src/ui/overlay/OverlayManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE;QACP,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,QAAQ,CAAC,EAAE,aAAa,CAAC;QACzB,KAAK,CAAC,EAAE,aAAa,CAAC;QACtB,MAAM,CAAC,EAAE,aAAa,CAAC;KACxB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,OAAO,CAAiB;IAGhC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAa;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqC;IACpE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;gBAG7D,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,OAAO,GAAE,OAAO,CAAC,cAAc,CAAM;IAWvC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI;IAa7C;;OAEG;IACH,IAAI,IAAI,IAAI;IASZ;;OAEG;IACH,IAAI,IAAI,IAAI;IASZ;;OAEG;IACH,WAAW,IAAI,IAAI;IAOnB;;OAEG;IACH,SAAS,IAAI,IAAI;IAOjB;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAalC;;OAEG;IACH,YAAY,CACV,UAAU,EAAE,MAAM,aAAa,CAAC,SAAS,CAAC,EAC1C,MAAM,EAAE,aAAa,GAAG,SAAS,GAChC,IAAI;IAeP;;OAEG;IACH,OAAO,CAAC,cAAc;IA6BtB;;OAEG;IACH,OAAO,CAAC,MAAM;IAmDd;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAuC5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;OAEG;IACH,OAAO,CAAC,YAAY;IA0CpB;;OAEG;IACH,OAAO,IAAI,IAAI;IAMf;;OAEG;IACH,QAAQ,IAAI;QACV,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,OAAO,CAAC;KACpB;IASD;;OAEG;IACH,OAAO,IAAI,IAAI;CAIhB"}
@@ -1,291 +0,0 @@
1
- /**
2
- * OverlayManager - Manages terminal overlay rendering with ANSI escape sequences
3
- * Provides sophisticated overlay composition and rendering capabilities
4
- */
5
- import { stripAnsi } from '../layout.js';
6
- export class OverlayManager {
7
- currentLayout = null;
8
- renderedRows = 0;
9
- allocatedRows = 0;
10
- isVisible = false;
11
- isEnabled = true;
12
- outputGuardCount = 0;
13
- writeStream;
14
- options;
15
- // ANSI escape codes for cursor control
16
- SAVE_CURSOR = '\u001b7';
17
- RESTORE_CURSOR = '\u001b8';
18
- CLEAR_LINE = '\u001b[2K';
19
- MOVE_TO_COLUMN = (col) => `\u001b[${col}G`;
20
- MOVE_UP = (rows) => `\u001b[${rows}A`;
21
- constructor(writeStream, options = {}) {
22
- this.writeStream = writeStream;
23
- this.options = {
24
- adaptToTerminalSize: true,
25
- smoothTransitions: true,
26
- preserveCursor: true,
27
- ...options,
28
- };
29
- }
30
- /**
31
- * Set the overlay layout to render
32
- */
33
- setLayout(layout) {
34
- const wasVisible = this.isVisible;
35
- if (wasVisible) {
36
- this.hide();
37
- }
38
- this.currentLayout = layout;
39
- if (wasVisible && layout) {
40
- this.show();
41
- }
42
- }
43
- /**
44
- * Show the overlay if enabled and not in output guard
45
- */
46
- show() {
47
- if (!this.isEnabled || this.outputGuardCount > 0 || !this.currentLayout) {
48
- return;
49
- }
50
- this.isVisible = true;
51
- this.render();
52
- }
53
- /**
54
- * Hide the overlay
55
- */
56
- hide() {
57
- if (!this.isVisible) {
58
- return;
59
- }
60
- this.clearRenderedOverlay();
61
- this.isVisible = false;
62
- }
63
- /**
64
- * Begin output operation (increments guard counter)
65
- */
66
- beginOutput() {
67
- this.outputGuardCount++;
68
- if (this.isVisible) {
69
- this.hide();
70
- }
71
- }
72
- /**
73
- * End output operation (decrements guard counter)
74
- */
75
- endOutput() {
76
- this.outputGuardCount = Math.max(0, this.outputGuardCount - 1);
77
- if (this.outputGuardCount === 0 && this.currentLayout) {
78
- this.show();
79
- }
80
- }
81
- /**
82
- * Enable or disable overlay rendering
83
- */
84
- setEnabled(enabled) {
85
- if (enabled === this.isEnabled) {
86
- return;
87
- }
88
- this.isEnabled = enabled;
89
- if (!enabled) {
90
- this.hide();
91
- }
92
- else if (this.currentLayout) {
93
- this.show();
94
- }
95
- }
96
- /**
97
- * Update a specific region in the layout
98
- */
99
- updateRegion(regionName, region) {
100
- if (!this.currentLayout) {
101
- this.currentLayout = {
102
- regions: {},
103
- maxHeight: this.getMaxOverlayHeight(),
104
- };
105
- }
106
- this.currentLayout.regions[regionName] = region;
107
- if (this.isVisible) {
108
- this.render();
109
- }
110
- }
111
- /**
112
- * Compose the overlay content from all regions
113
- */
114
- composeOverlay() {
115
- if (!this.currentLayout) {
116
- return [];
117
- }
118
- const lines = [];
119
- const { regions } = this.currentLayout;
120
- // Sort regions by priority
121
- const sortedRegions = Object.entries(regions)
122
- .filter(([_, region]) => region !== undefined)
123
- .sort(([_, a], [__, b]) => (b?.priority ?? 0) - (a?.priority ?? 0));
124
- // Compose lines from regions
125
- for (const [, region] of sortedRegions) {
126
- if (region && region.content) {
127
- const regionLines = region.content.split('\n').slice(0, region.height);
128
- lines.push(...regionLines);
129
- // Respect max height
130
- if (lines.length >= this.currentLayout.maxHeight) {
131
- return lines.slice(0, this.currentLayout.maxHeight);
132
- }
133
- }
134
- }
135
- return lines;
136
- }
137
- /**
138
- * Render the overlay to the terminal
139
- */
140
- render() {
141
- if (!this.isVisible || !this.currentLayout) {
142
- return;
143
- }
144
- const lines = this.composeOverlay();
145
- if (lines.length === 0) {
146
- return;
147
- }
148
- const terminalWidth = this.writeStream.columns || 80;
149
- // Clear any previously rendered overlay
150
- this.clearRenderedOverlay();
151
- // Allocate space for the overlay
152
- this.allocatedRows = lines.length;
153
- for (let i = 0; i < this.allocatedRows; i++) {
154
- this.writeStream.write('\n');
155
- }
156
- // Save cursor and move up to start of overlay area
157
- if (this.options.preserveCursor) {
158
- this.writeStream.write(this.SAVE_CURSOR);
159
- }
160
- this.writeStream.write(this.MOVE_UP(this.allocatedRows));
161
- // Render each line
162
- lines.forEach((line, index) => {
163
- // Clear the line
164
- this.writeStream.write(this.CLEAR_LINE);
165
- this.writeStream.write(this.MOVE_TO_COLUMN(1));
166
- // Truncate line if needed
167
- const truncatedLine = this.truncateLine(line, terminalWidth);
168
- this.writeStream.write(truncatedLine);
169
- // Move to next line (except for last line)
170
- if (index < lines.length - 1) {
171
- this.writeStream.write('\n');
172
- }
173
- });
174
- // Restore cursor position
175
- if (this.options.preserveCursor) {
176
- this.writeStream.write(this.RESTORE_CURSOR);
177
- }
178
- this.renderedRows = lines.length;
179
- }
180
- /**
181
- * Clear the rendered overlay from the terminal
182
- */
183
- clearRenderedOverlay() {
184
- if (this.renderedRows === 0) {
185
- return;
186
- }
187
- // Save cursor position
188
- if (this.options.preserveCursor) {
189
- this.writeStream.write(this.SAVE_CURSOR);
190
- }
191
- // Move up to the start of the overlay
192
- this.writeStream.write(this.MOVE_UP(this.renderedRows));
193
- // Clear each overlay row
194
- for (let i = 0; i < this.renderedRows; i++) {
195
- this.writeStream.write(this.CLEAR_LINE);
196
- if (i < this.renderedRows - 1) {
197
- this.writeStream.write('\n');
198
- }
199
- }
200
- // Move back up and restore cursor
201
- if (this.renderedRows > 1) {
202
- this.writeStream.write(this.MOVE_UP(this.renderedRows - 1));
203
- }
204
- if (this.options.preserveCursor) {
205
- this.writeStream.write(this.RESTORE_CURSOR);
206
- }
207
- // Adjust cursor position if needed
208
- if (this.allocatedRows > 0) {
209
- this.writeStream.write(this.MOVE_UP(this.allocatedRows));
210
- this.allocatedRows = 0;
211
- }
212
- this.renderedRows = 0;
213
- }
214
- /**
215
- * Get maximum overlay height based on terminal size
216
- */
217
- getMaxOverlayHeight() {
218
- if (!this.options.adaptToTerminalSize) {
219
- return 5; // Default max height
220
- }
221
- const terminalHeight = this.writeStream.rows || 24;
222
- // Use at most 20% of terminal height for overlay
223
- return Math.max(2, Math.min(5, Math.floor(terminalHeight * 0.2)));
224
- }
225
- /**
226
- * Truncate a line to fit terminal width
227
- */
228
- truncateLine(line, maxWidth) {
229
- // Account for ANSI escape codes
230
- const visibleLength = stripAnsi(line).length;
231
- if (visibleLength <= maxWidth) {
232
- return line;
233
- }
234
- // Smart truncation with ellipsis
235
- const ellipsis = '...';
236
- const targetLength = maxWidth - ellipsis.length;
237
- // Try to preserve ANSI codes while truncating
238
- let currentLength = 0;
239
- let result = '';
240
- let inAnsi = false;
241
- for (let i = 0; i < line.length; i++) {
242
- const char = line[i];
243
- if (char === '\u001b') {
244
- inAnsi = true;
245
- }
246
- if (inAnsi) {
247
- result += char;
248
- if (char === 'm') {
249
- inAnsi = false;
250
- }
251
- }
252
- else {
253
- if (currentLength < targetLength) {
254
- result += char;
255
- currentLength++;
256
- }
257
- else {
258
- break;
259
- }
260
- }
261
- }
262
- return result + ellipsis;
263
- }
264
- /**
265
- * Force a refresh of the overlay
266
- */
267
- refresh() {
268
- if (this.isVisible) {
269
- this.render();
270
- }
271
- }
272
- /**
273
- * Get current overlay state
274
- */
275
- getState() {
276
- return {
277
- isVisible: this.isVisible,
278
- isEnabled: this.isEnabled,
279
- renderedRows: this.renderedRows,
280
- hasLayout: this.currentLayout !== null,
281
- };
282
- }
283
- /**
284
- * Clean up resources
285
- */
286
- dispose() {
287
- this.hide();
288
- this.currentLayout = null;
289
- }
290
- }
291
- //# sourceMappingURL=OverlayManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OverlayManager.js","sourceRoot":"","sources":["../../../src/ui/overlay/OverlayManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAwBzC,MAAM,OAAO,cAAc;IACjB,aAAa,GAAyB,IAAI,CAAC;IAC3C,YAAY,GAAW,CAAC,CAAC;IACzB,aAAa,GAAW,CAAC,CAAC;IAC1B,SAAS,GAAY,KAAK,CAAC;IAC3B,SAAS,GAAY,IAAI,CAAC;IAC1B,gBAAgB,GAAW,CAAC,CAAC;IAC7B,WAAW,CAAqB;IAChC,OAAO,CAAiB;IAEhC,uCAAuC;IACtB,WAAW,GAAG,SAAS,CAAC;IACxB,cAAc,GAAG,SAAS,CAAC;IAC3B,UAAU,GAAG,WAAW,CAAC;IACzB,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,UAAU,GAAG,GAAG,CAAC;IACnD,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,IAAI,GAAG,CAAC;IAE/D,YACE,WAA+B,EAC/B,UAAmC,EAAE;QAErC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG;YACb,mBAAmB,EAAE,IAAI;YACzB,iBAAiB,EAAE,IAAI;YACvB,cAAc,EAAE,IAAI;YACpB,GAAG,OAAO;SACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAA4B;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAE5B,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS;QACP,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACtD,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,OAAgB;QACzB,IAAI,OAAO,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;aAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,YAAY,CACV,UAA0C,EAC1C,MAAiC;QAEjC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG;gBACnB,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,IAAI,CAAC,mBAAmB,EAAE;aACtC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;QAEhD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAEvC,2BAA2B;QAC3B,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;aAC1C,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC;aAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;QAEtE,6BAA6B;QAC7B,KAAK,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YACvC,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvE,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;gBAE3B,qBAAqB;gBACrB,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;oBACjD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,MAAM;QACZ,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC;QAErD,wCAAwC;QACxC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,iCAAiC;QACjC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,mDAAmD;QACnD,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QAEzD,mBAAmB;QACnB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,iBAAiB;YACjB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;YAE/C,0BAA0B;YAC1B,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YAC7D,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAEtC,2CAA2C;YAC3C,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,0BAA0B;QAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,oBAAoB;QAC1B,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3C,CAAC;QAED,sCAAsC;QACtC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAExD,yBAAyB;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,kCAAkC;QAClC,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9C,CAAC;QAED,mCAAmC;QACnC,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACK,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;YACtC,OAAO,CAAC,CAAC,CAAC,qBAAqB;QACjC,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC;QACnD,iDAAiD;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,IAAY,EAAE,QAAgB;QACjD,gCAAgC;QAChC,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAE7C,IAAI,aAAa,IAAI,QAAQ,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,iCAAiC;QACjC,MAAM,QAAQ,GAAG,KAAK,CAAC;QACvB,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;QAEhD,8CAA8C;QAC9C,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAErB,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,IAAI,IAAI,CAAC;gBACf,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBACjB,MAAM,GAAG,KAAK,CAAC;gBACjB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,aAAa,GAAG,YAAY,EAAE,CAAC;oBACjC,MAAM,IAAI,IAAI,CAAC;oBACf,aAAa,EAAE,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ;QAMN,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,IAAI,CAAC,aAAa,KAAK,IAAI;SACvC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;CACF"}