@ytspar/devbar 1.0.0-canary.2b99e1e → 1.0.0-canary.2bfb9ad

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 (122) hide show
  1. package/README.md +4 -0
  2. package/dist/GlobalDevBar.d.ts +111 -227
  3. package/dist/GlobalDevBar.d.ts.map +1 -0
  4. package/dist/GlobalDevBar.js +155 -2959
  5. package/dist/GlobalDevBar.js.map +1 -0
  6. package/dist/accessibility.d.ts +1 -0
  7. package/dist/accessibility.d.ts.map +1 -0
  8. package/dist/accessibility.js +1 -0
  9. package/dist/accessibility.js.map +1 -0
  10. package/dist/constants.d.ts +38 -14
  11. package/dist/constants.d.ts.map +1 -0
  12. package/dist/constants.js +98 -123
  13. package/dist/constants.js.map +1 -0
  14. package/dist/debug.d.ts +4 -3
  15. package/dist/debug.d.ts.map +1 -0
  16. package/dist/debug.js +6 -4
  17. package/dist/debug.js.map +1 -0
  18. package/dist/earlyConsoleCapture.d.ts +4 -31
  19. package/dist/earlyConsoleCapture.d.ts.map +1 -0
  20. package/dist/earlyConsoleCapture.js +4 -74
  21. package/dist/earlyConsoleCapture.js.map +1 -0
  22. package/dist/index.d.ts +3 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +6 -1
  25. package/dist/index.js.map +1 -0
  26. package/dist/lazy/index.d.ts +1 -0
  27. package/dist/lazy/index.d.ts.map +1 -0
  28. package/dist/lazy/index.js +1 -0
  29. package/dist/lazy/index.js.map +1 -0
  30. package/dist/lazy/lazyHtml2Canvas.d.ts +5 -0
  31. package/dist/lazy/lazyHtml2Canvas.d.ts.map +1 -0
  32. package/dist/lazy/lazyHtml2Canvas.js +1 -0
  33. package/dist/lazy/lazyHtml2Canvas.js.map +1 -0
  34. package/dist/modules/index.d.ts +15 -0
  35. package/dist/modules/index.d.ts.map +1 -0
  36. package/dist/modules/index.js +14 -0
  37. package/dist/modules/index.js.map +1 -0
  38. package/dist/modules/keyboard.d.ts +15 -0
  39. package/dist/modules/keyboard.d.ts.map +1 -0
  40. package/dist/modules/keyboard.js +60 -0
  41. package/dist/modules/keyboard.js.map +1 -0
  42. package/dist/modules/performance.d.ts +26 -0
  43. package/dist/modules/performance.d.ts.map +1 -0
  44. package/dist/modules/performance.js +197 -0
  45. package/dist/modules/performance.js.map +1 -0
  46. package/dist/modules/rendering.d.ts +20 -0
  47. package/dist/modules/rendering.d.ts.map +1 -0
  48. package/dist/modules/rendering.js +2005 -0
  49. package/dist/modules/rendering.js.map +1 -0
  50. package/dist/modules/screenshot.d.ts +62 -0
  51. package/dist/modules/screenshot.d.ts.map +1 -0
  52. package/dist/modules/screenshot.js +350 -0
  53. package/dist/modules/screenshot.js.map +1 -0
  54. package/dist/modules/theme.d.ts +20 -0
  55. package/dist/modules/theme.d.ts.map +1 -0
  56. package/dist/modules/theme.js +60 -0
  57. package/dist/modules/theme.js.map +1 -0
  58. package/dist/modules/tooltips.d.ts +74 -0
  59. package/dist/modules/tooltips.d.ts.map +1 -0
  60. package/dist/modules/tooltips.js +553 -0
  61. package/dist/modules/tooltips.js.map +1 -0
  62. package/dist/modules/types.d.ts +118 -0
  63. package/dist/modules/types.d.ts.map +1 -0
  64. package/dist/modules/types.js +9 -0
  65. package/dist/modules/types.js.map +1 -0
  66. package/dist/modules/websocket.d.ts +16 -0
  67. package/dist/modules/websocket.d.ts.map +1 -0
  68. package/dist/modules/websocket.js +314 -0
  69. package/dist/modules/websocket.js.map +1 -0
  70. package/dist/network.d.ts +1 -0
  71. package/dist/network.d.ts.map +1 -0
  72. package/dist/network.js +5 -6
  73. package/dist/network.js.map +1 -0
  74. package/dist/outline.d.ts +1 -0
  75. package/dist/outline.d.ts.map +1 -0
  76. package/dist/outline.js +1 -0
  77. package/dist/outline.js.map +1 -0
  78. package/dist/presets.d.ts +9 -8
  79. package/dist/presets.d.ts.map +1 -0
  80. package/dist/presets.js +9 -8
  81. package/dist/presets.js.map +1 -0
  82. package/dist/schema.d.ts +1 -0
  83. package/dist/schema.d.ts.map +1 -0
  84. package/dist/schema.js +3 -3
  85. package/dist/schema.js.map +1 -0
  86. package/dist/settings.d.ts +14 -8
  87. package/dist/settings.d.ts.map +1 -0
  88. package/dist/settings.js +23 -17
  89. package/dist/settings.js.map +1 -0
  90. package/dist/storage.d.ts +1 -0
  91. package/dist/storage.d.ts.map +1 -0
  92. package/dist/storage.js +1 -0
  93. package/dist/storage.js.map +1 -0
  94. package/dist/types.d.ts +7 -4
  95. package/dist/types.d.ts.map +1 -0
  96. package/dist/types.js +3 -2
  97. package/dist/types.js.map +1 -0
  98. package/dist/ui/buttons.d.ts +3 -2
  99. package/dist/ui/buttons.d.ts.map +1 -0
  100. package/dist/ui/buttons.js +3 -2
  101. package/dist/ui/buttons.js.map +1 -0
  102. package/dist/ui/cards.d.ts +37 -0
  103. package/dist/ui/cards.d.ts.map +1 -0
  104. package/dist/ui/cards.js +134 -0
  105. package/dist/ui/cards.js.map +1 -0
  106. package/dist/ui/icons.d.ts +71 -2
  107. package/dist/ui/icons.d.ts.map +1 -0
  108. package/dist/ui/icons.js +148 -2
  109. package/dist/ui/icons.js.map +1 -0
  110. package/dist/ui/index.d.ts +3 -1
  111. package/dist/ui/index.d.ts.map +1 -0
  112. package/dist/ui/index.js +3 -1
  113. package/dist/ui/index.js.map +1 -0
  114. package/dist/ui/modals.d.ts +6 -3
  115. package/dist/ui/modals.d.ts.map +1 -0
  116. package/dist/ui/modals.js +24 -13
  117. package/dist/ui/modals.js.map +1 -0
  118. package/dist/utils.d.ts +7 -2
  119. package/dist/utils.d.ts.map +1 -0
  120. package/dist/utils.js +20 -2
  121. package/dist/utils.js.map +1 -0
  122. package/package.json +17 -14
package/README.md CHANGED
@@ -15,6 +15,10 @@ Development toolbar with Sweetlink integration for browser-based development too
15
15
  - **Page Schema**: View JSON-LD, Open Graph, and meta tag data
16
16
  - **Sweetlink integration**: Real-time connection to dev server
17
17
 
18
+ ## Requirements
19
+
20
+ This package is **ESM-only**. It requires `"type": "module"` in your `package.json` or an ESM-capable bundler (Vite, webpack, esbuild, etc.).
21
+
18
22
  ## Installation
19
23
 
20
24
  ```bash
@@ -4,98 +4,126 @@
4
4
  * A development toolbar that displays breakpoint info, performance stats,
5
5
  * console error/warning counts, and provides screenshot capabilities via Sweetlink.
6
6
  *
7
- * This is a vanilla JS replacement for the React-based GlobalDevBar component
8
- * to avoid React dependency conflicts in host applications.
7
+ * Framework-agnostic no React, Vue, or other framework dependencies.
8
+ *
9
+ * Implementation is split across focused modules in ./modules/:
10
+ * - websocket.ts — WebSocket connection, reconnection, port scanning, message handling
11
+ * - screenshot.ts — Screenshot capture, design review, clipboard operations
12
+ * - rendering.ts — renderBar(), renderConsolePopup(), renderModal(), all DOM creation
13
+ * - performance.ts — setupPerformanceMonitoring(), FCP/LCP/CLS/INP observers
14
+ * - theme.ts — setupTheme(), toggleTheme(), theme media query handling
15
+ * - keyboard.ts — setupKeyboardShortcuts(), handleKeydown()
16
+ * - tooltips.ts — tooltip creation, positioning, and management helpers
9
17
  */
10
18
  import { getThemeColors } from './constants.js';
19
+ import { DebugLogger } from './debug.js';
20
+ import { type DevBarSettings, type SettingsManager } from './settings.js';
11
21
  import type { ConsoleLog, DebugConfig, DevBarControl, GlobalDevBarOptions, OutlineNode, PageSchema, SweetlinkCommand, ThemeMode } from './types.js';
22
+ import { ConsoleCapture } from '@ytspar/sweetlink/browser/consoleCapture';
12
23
  export type { ConsoleLog, DebugConfig, SweetlinkCommand, OutlineNode, PageSchema, GlobalDevBarOptions, DevBarControl, ThemeMode, };
13
24
  export type { DevBarPosition, DevBarSettings, MetricsVisibility } from './settings.js';
14
25
  export { ACCENT_COLOR_PRESETS, DEFAULT_SETTINGS, getSettingsManager } from './settings.js';
15
- interface EarlyConsoleCapture {
16
- errorCount: number;
17
- warningCount: number;
18
- logs: ConsoleLog[];
19
- originalConsole: {
20
- log: typeof console.log;
21
- error: typeof console.error;
22
- warn: typeof console.warn;
23
- info: typeof console.info;
24
- } | null;
25
- isPatched: boolean;
26
- }
27
- declare const earlyConsoleCapture: EarlyConsoleCapture;
26
+ declare const consoleCapture: ConsoleCapture;
28
27
  export declare class GlobalDevBar {
29
28
  private static customControls;
30
- private options;
29
+ options: Required<Omit<GlobalDevBarOptions, 'sizeOverrides' | 'debug'>> & Pick<GlobalDevBarOptions, 'sizeOverrides'>;
31
30
  private debugConfig;
32
- private debug;
33
- private container;
34
- private ws;
35
- private consoleLogs;
36
- private sweetlinkConnected;
37
- private collapsed;
38
- private capturing;
39
- private copiedToClipboard;
40
- private copiedPath;
41
- private lastScreenshot;
42
- private designReviewInProgress;
43
- private lastDesignReview;
44
- private designReviewError;
45
- private showDesignReviewConfirm;
46
- private apiKeyStatus;
47
- private lastOutline;
48
- private lastSchema;
49
- private savingOutline;
50
- private savingSchema;
51
- private consoleFilter;
52
- private showOutlineModal;
53
- private showSchemaModal;
54
- private breakpointInfo;
55
- private perfStats;
56
- private lcpValue;
57
- private clsValue;
58
- private inpValue;
59
- private reconnectAttempts;
60
- private readonly currentAppPort;
61
- private readonly baseWsPort;
62
- private wsVerified;
63
- private serverProjectDir;
64
- private lastDotPosition;
65
- private reconnectTimeout;
66
- private screenshotTimeout;
67
- private copiedPathTimeout;
68
- private designReviewTimeout;
69
- private designReviewErrorTimeout;
70
- private outlineTimeout;
71
- private schemaTimeout;
72
- private resizeHandler;
73
- private keydownHandler;
74
- private fcpObserver;
75
- private lcpObserver;
76
- private clsObserver;
77
- private inpObserver;
78
- private destroyed;
79
- private themeMode;
80
- private themeMediaQuery;
81
- private themeMediaHandler;
82
- private compactMode;
83
- private showSettingsPopover;
84
- private overlayElement;
85
- private settingsManager;
31
+ debug: DebugLogger;
32
+ container: HTMLDivElement | null;
33
+ ws: WebSocket | null;
34
+ consoleLogs: ConsoleLog[];
35
+ sweetlinkConnected: boolean;
36
+ collapsed: boolean;
37
+ capturing: boolean;
38
+ copiedToClipboard: boolean;
39
+ copiedPath: boolean;
40
+ lastScreenshot: string | null;
41
+ designReviewInProgress: boolean;
42
+ lastDesignReview: string | null;
43
+ designReviewError: string | null;
44
+ showDesignReviewConfirm: boolean;
45
+ apiKeyStatus: {
46
+ configured: boolean;
47
+ model?: string;
48
+ pricing?: {
49
+ input: number;
50
+ output: number;
51
+ };
52
+ } | null;
53
+ lastOutline: string | null;
54
+ lastSchema: string | null;
55
+ savingOutline: boolean;
56
+ savingSchema: boolean;
57
+ consoleFilter: 'error' | 'warn' | 'info' | null;
58
+ savingConsoleLogs: boolean;
59
+ lastConsoleLogs: string | null;
60
+ consoleLogsTimeout: ReturnType<typeof setTimeout> | undefined;
61
+ showOutlineModal: boolean;
62
+ showSchemaModal: boolean;
63
+ activeTooltips: Set<HTMLDivElement>;
64
+ breakpointInfo: {
65
+ tailwindBreakpoint: string;
66
+ dimensions: string;
67
+ } | null;
68
+ perfStats: {
69
+ fcp: string;
70
+ lcp: string;
71
+ cls: string;
72
+ inp: string;
73
+ totalSize: string;
74
+ } | null;
75
+ lcpValue: number | null;
76
+ clsValue: number;
77
+ inpValue: number;
78
+ reconnectAttempts: number;
79
+ readonly currentAppPort: number;
80
+ readonly baseWsPort: number;
81
+ wsVerified: boolean;
82
+ serverProjectDir: string | null;
83
+ lastDotPosition: {
84
+ left: number;
85
+ top: number;
86
+ bottom: number;
87
+ } | null;
88
+ reconnectTimeout: ReturnType<typeof setTimeout> | null;
89
+ screenshotTimeout: ReturnType<typeof setTimeout> | null;
90
+ copiedPathTimeout: ReturnType<typeof setTimeout> | null;
91
+ designReviewTimeout: ReturnType<typeof setTimeout> | null;
92
+ designReviewErrorTimeout: ReturnType<typeof setTimeout> | null;
93
+ outlineTimeout: ReturnType<typeof setTimeout> | null;
94
+ schemaTimeout: ReturnType<typeof setTimeout> | null;
95
+ resizeHandler: (() => void) | null;
96
+ keydownHandler: ((e: KeyboardEvent) => void) | null;
97
+ fcpObserver: PerformanceObserver | null;
98
+ lcpObserver: PerformanceObserver | null;
99
+ clsObserver: PerformanceObserver | null;
100
+ inpObserver: PerformanceObserver | null;
101
+ destroyed: boolean;
102
+ themeMode: ThemeMode;
103
+ themeMediaQuery: MediaQueryList | null;
104
+ themeMediaHandler: ((e: MediaQueryListEvent) => void) | null;
105
+ compactMode: boolean;
106
+ showSettingsPopover: boolean;
107
+ overlayElement: HTMLDivElement | null;
108
+ settingsManager: SettingsManager;
109
+ private logChangeListener;
86
110
  constructor(options?: GlobalDevBarOptions);
87
111
  /**
88
- * Get tooltip class name(s) if tooltips are enabled, otherwise empty string
112
+ * Get current error, warning, and info counts from the log array
89
113
  */
90
- private tooltipClass;
114
+ getLogCounts(): {
115
+ errorCount: number;
116
+ warningCount: number;
117
+ infoCount: number;
118
+ };
91
119
  /**
92
- * Get current error and warning counts from the log array
120
+ * Reset position style properties on an element to clear stale values
93
121
  */
94
- private getLogCounts;
122
+ resetPositionStyles(element: HTMLElement): void;
95
123
  /**
96
124
  * Create a collapsed count badge (used for error/warning counts in minimized state)
97
125
  */
98
- private createCollapsedBadge;
126
+ createCollapsedBadge(count: number, bgColor: string, rightPos: string): HTMLSpanElement;
99
127
  /**
100
128
  * Register a custom control to be displayed in the devbar
101
129
  */
@@ -125,25 +153,14 @@ export declare class GlobalDevBar {
125
153
  */
126
154
  destroy(): void;
127
155
  private injectStyles;
128
- private connectWebSocket;
129
- private handleSweetlinkCommand;
130
- /**
131
- * Handle settings loaded from server
132
- */
133
- private handleSettingsLoaded;
156
+ connectWebSocket(port?: number): void;
157
+ handleNotification(type: 'screenshot' | 'designReview' | 'outline' | 'schema' | 'consoleLogs', path: string | undefined, durationMs: number): void;
134
158
  /**
135
159
  * Apply settings to the DevBar state and options
136
160
  */
137
- private applySettings;
138
- /**
139
- * Handle notification state updates with auto-clear timeout
140
- */
141
- private handleNotification;
142
- private setupBreakpointDetection;
143
- private setupPerformanceMonitoring;
144
- private setupKeyboardShortcuts;
145
- private setupTheme;
146
- private loadCompactMode;
161
+ applySettings(settings: DevBarSettings): void;
162
+ private clearConsoleLogs;
163
+ handleScreenshot(copyToClipboard: boolean): Promise<void>;
147
164
  /**
148
165
  * Get the current theme mode
149
166
  */
@@ -164,141 +181,7 @@ export declare class GlobalDevBar {
164
181
  * Check if compact mode is enabled
165
182
  */
166
183
  isCompactMode(): boolean;
167
- private copyPathToClipboard;
168
- private handleScreenshot;
169
- private handleDesignReview;
170
- /**
171
- * Show the design review confirmation modal
172
- * Checks API key status first
173
- */
174
- private showDesignReviewConfirmation;
175
- /**
176
- * Calculate estimated cost for design review based on viewport size
177
- */
178
- private calculateCostEstimate;
179
- /**
180
- * Close the design review confirmation modal
181
- */
182
- private closeDesignReviewConfirm;
183
- /**
184
- * Proceed with design review after confirmation
185
- */
186
- private proceedWithDesignReview;
187
- private handleDocumentOutline;
188
- private handlePageSchema;
189
- private handleSaveOutline;
190
- private handleSaveSchema;
191
- private clearConsoleLogs;
192
- private render;
193
- private renderOverlays;
194
- private renderDesignReviewConfirmModal;
195
- /**
196
- * Render content when API key is not configured
197
- */
198
- private renderApiKeyNotConfiguredContent;
199
- /**
200
- * Render content when API key is configured (cost estimate and model info)
201
- */
202
- private renderApiKeyConfiguredContent;
203
- private renderConsolePopup;
204
- /**
205
- * Render console log items into a container
206
- */
207
- private renderConsoleLogs;
208
- private renderOutlineModal;
209
- /**
210
- * Recursively render outline nodes into a container element
211
- */
212
- private renderOutlineNodes;
213
- private renderSchemaModal;
214
- /**
215
- * Render a section of schema data (either array or key-value object)
216
- */
217
- private renderSchemaSection;
218
- /**
219
- * Render JSON-LD items as formatted code blocks with syntax highlighting
220
- */
221
- private renderJsonLdItems;
222
- /**
223
- * Append syntax-highlighted JSON to an element using safe DOM methods
224
- * Uses textContent for all text to prevent XSS
225
- */
226
- private appendHighlightedJson;
227
- /**
228
- * Render key-value pairs as rows with ellipsis overflow and hover tooltip
229
- */
230
- private renderKeyValueItems;
231
- /**
232
- * Render compact mode - single row with essential controls only
233
- * Shows: connection dot, error/warn badges, screenshot button, settings gear
234
- */
235
- private renderCompact;
236
- /**
237
- * Create the settings gear button
238
- */
239
- private createSettingsButton;
240
- /**
241
- * Create the compact mode toggle button with chevron icon
242
- */
243
- private createCompactToggleButton;
244
- /**
245
- * Create a settings section with title
246
- */
247
- private createSettingsSection;
248
- /**
249
- * Create a toggle switch row
250
- */
251
- private createToggleRow;
252
- /**
253
- * Render the settings popover
254
- */
255
- private renderSettingsPopover;
256
- /**
257
- * Reset all settings to defaults
258
- */
259
- private resetToDefaults;
260
- private renderCollapsed;
261
- private renderExpanded;
262
- /** Base styles for tooltip containers */
263
- private readonly TOOLTIP_BASE_STYLES;
264
- /** Create a tooltip container element */
265
- private createTooltipContainer;
266
- /** Add a bold title to tooltip (metric name, feature name, etc.) */
267
- private addTooltipTitle;
268
- /** Add a description paragraph to tooltip */
269
- private addTooltipDescription;
270
- /** Add a muted uppercase section header to tooltip */
271
- private addTooltipSectionHeader;
272
- /** Add a colored row with dot + label + value (for thresholds) */
273
- private addTooltipColoredRow;
274
- /** Add an info row with label + value (for breakpoint details) */
275
- private addTooltipInfoRow;
276
- /** Position tooltip above the anchor element, adjusting for screen edges */
277
- private positionTooltip;
278
- /** Attach an HTML tooltip to an element with custom content builder */
279
- private attachHtmlTooltip;
280
- /** Attach a metric tooltip with title, description, and colored thresholds */
281
- private attachMetricTooltip;
282
- /** Attach a breakpoint tooltip showing current breakpoint and all breakpoint ranges */
283
- private attachBreakpointTooltip;
284
- /** Attach a simple info tooltip with title and description */
285
- private attachInfoTooltip;
286
- /**
287
- * Create a console badge for error/warning counts
288
- */
289
- private createConsoleBadge;
290
- private createScreenshotButton;
291
- /**
292
- * Get the tooltip text for the screenshot button based on current state
293
- */
294
- private getScreenshotTooltip;
295
- /**
296
- * Get the tooltip text for the AI review button based on current state
297
- */
298
- private getAIReviewTooltip;
299
- private createAIReviewButton;
300
- private createOutlineButton;
301
- private createSchemaButton;
184
+ render(): void;
302
185
  }
303
186
  /**
304
187
  * Initialize and mount the GlobalDevBar
@@ -315,4 +198,5 @@ export declare function getGlobalDevBar(): GlobalDevBar | null;
315
198
  * Destroy the GlobalDevBar
316
199
  */
317
200
  export declare function destroyGlobalDevBar(): void;
318
- export { earlyConsoleCapture };
201
+ export { consoleCapture as earlyConsoleCapture };
202
+ //# sourceMappingURL=GlobalDevBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobalDevBar.d.ts","sourceRoot":"","sources":["../src/GlobalDevBar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAGL,cAAc,EAIf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAwB,MAAM,YAAY,CAAC;AAC/D,OAAO,EAGL,KAAK,cAAc,EAEnB,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,SAAS,EACV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAA0B,MAAM,0CAA0C,CAAC;AAmBlG,YAAY,EACV,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,SAAS,GACV,CAAC;AAGF,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAQ3F,QAAA,MAAM,cAAc,gBAA4C,CAAC;AAQjE,qBAAa,YAAY;IAEvB,OAAO,CAAC,MAAM,CAAC,cAAc,CAAuB;IAGpD,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,eAAe,GAAG,OAAO,CAAC,CAAC,GACrE,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;IAC7C,OAAO,CAAC,WAAW,CAAe;IAClC,KAAK,EAAG,WAAW,CAAC;IACpB,SAAS,EAAE,cAAc,GAAG,IAAI,CAAQ;IACxC,EAAE,EAAE,SAAS,GAAG,IAAI,CAAQ;IAC5B,WAAW,EAAE,UAAU,EAAE,CAAM;IAC/B,kBAAkB,UAAS;IAC3B,SAAS,UAAS;IAClB,SAAS,UAAS;IAClB,iBAAiB,UAAS;IAC1B,UAAU,UAAS;IACnB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IACrC,sBAAsB,UAAS;IAC/B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACvC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACxC,uBAAuB,UAAS;IAChC,YAAY,EAAE;QACZ,UAAU,EAAE,OAAO,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7C,GAAG,IAAI,CAAQ;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAClC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IACjC,aAAa,UAAS;IACtB,YAAY,UAAS;IACrB,aAAa,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAQ;IACvD,iBAAiB,UAAS;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IACtC,kBAAkB,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,SAAS,CAAC;IAG9D,gBAAgB,UAAS;IACzB,eAAe,UAAS;IAGxB,cAAc,sBAA6B;IAE3C,cAAc,EAAE;QAAE,kBAAkB,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAQ;IACjF,SAAS,EAAE;QACT,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI,CAAQ;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC/B,QAAQ,SAAK;IACb,QAAQ,SAAK;IAEb,iBAAiB,SAAK;IAGtB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,UAAU,UAAS;IACnB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGvC,eAAe,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAQ;IAE7E,gBAAgB,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAQ;IAC9D,iBAAiB,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAQ;IAC/D,iBAAiB,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAQ;IAC/D,mBAAmB,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAQ;IACjE,wBAAwB,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAQ;IACtE,cAAc,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAQ;IAC5D,aAAa,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAQ;IAE3D,aAAa,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC1C,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC3D,WAAW,EAAE,mBAAmB,GAAG,IAAI,CAAQ;IAC/C,WAAW,EAAE,mBAAmB,GAAG,IAAI,CAAQ;IAC/C,WAAW,EAAE,mBAAmB,GAAG,IAAI,CAAQ;IAC/C,WAAW,EAAE,mBAAmB,GAAG,IAAI,CAAQ;IAC/C,SAAS,UAAS;IAGlB,SAAS,EAAE,SAAS,CAAY;IAChC,eAAe,EAAE,cAAc,GAAG,IAAI,CAAQ;IAC9C,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAGpE,WAAW,UAAS;IAGpB,mBAAmB,UAAS;IAG5B,cAAc,EAAE,cAAc,GAAG,IAAI,CAAQ;IAG7C,eAAe,EAAE,eAAe,CAAC;IAGjC,OAAO,CAAC,iBAAiB,CAAkC;gBAE/C,OAAO,GAAE,mBAAwB;IAwC7C;;OAEG;IACH,YAAY,IAAI;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAQ/E;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAI/C;;OAEG;IACH,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe;IA0BvF;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAWpD;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAS1C;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,aAAa,EAAE;IAIrC;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAQ5B;;OAEG;IACH,IAAI,IAAI,IAAI;IA4CZ;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,OAAO,IAAI,IAAI;IAsDf,OAAO,CAAC,YAAY;IAYpB,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAIrC,kBAAkB,CAChB,IAAI,EAAE,YAAY,GAAG,cAAc,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,EAC1E,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,UAAU,EAAE,MAAM,GACjB,IAAI;IAIP;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAkB7C,OAAO,CAAC,gBAAgB;IAOxB,gBAAgB,CAAC,eAAe,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD;;OAEG;IACH,YAAY,IAAI,SAAS;IAIzB;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAInC;;OAEG;IACH,SAAS,IAAI,UAAU,CAAC,OAAO,cAAc,CAAC;IAI9C;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAOzB;;OAEG;IACH,aAAa,IAAI,OAAO;IAQxB,MAAM,IAAI,IAAI;CAGf;AAmBD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAiB5E;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,YAAY,GAAG,IAAI,CAErD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAM1C;AAGD,OAAO,EAAE,cAAc,IAAI,mBAAmB,EAAE,CAAC"}