stelo 1.0.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 (141) hide show
  1. package/LICENSE +184 -0
  2. package/README.md +853 -0
  3. package/dist/accessibility.d.ts +227 -0
  4. package/dist/accessibility.d.ts.map +1 -0
  5. package/dist/accessibility.js +602 -0
  6. package/dist/accessibility.js.map +1 -0
  7. package/dist/agent.d.ts +870 -0
  8. package/dist/agent.d.ts.map +1 -0
  9. package/dist/agent.js +1107 -0
  10. package/dist/agent.js.map +1 -0
  11. package/dist/audio-stream.d.ts +114 -0
  12. package/dist/audio-stream.d.ts.map +1 -0
  13. package/dist/audio-stream.js +167 -0
  14. package/dist/audio-stream.js.map +1 -0
  15. package/dist/clipboard.d.ts +99 -0
  16. package/dist/clipboard.d.ts.map +1 -0
  17. package/dist/clipboard.js +352 -0
  18. package/dist/clipboard.js.map +1 -0
  19. package/dist/config.d.ts +183 -0
  20. package/dist/config.d.ts.map +1 -0
  21. package/dist/config.js +477 -0
  22. package/dist/config.js.map +1 -0
  23. package/dist/context.d.ts +213 -0
  24. package/dist/context.d.ts.map +1 -0
  25. package/dist/context.js +387 -0
  26. package/dist/context.js.map +1 -0
  27. package/dist/cortex.d.ts +548 -0
  28. package/dist/cortex.d.ts.map +1 -0
  29. package/dist/cortex.js +1479 -0
  30. package/dist/cortex.js.map +1 -0
  31. package/dist/errors.d.ts +133 -0
  32. package/dist/errors.d.ts.map +1 -0
  33. package/dist/errors.js +278 -0
  34. package/dist/errors.js.map +1 -0
  35. package/dist/events.d.ts +227 -0
  36. package/dist/events.d.ts.map +1 -0
  37. package/dist/events.js +429 -0
  38. package/dist/events.js.map +1 -0
  39. package/dist/executor.d.ts +212 -0
  40. package/dist/executor.d.ts.map +1 -0
  41. package/dist/executor.js +545 -0
  42. package/dist/executor.js.map +1 -0
  43. package/dist/index.d.ts +69 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +167 -0
  46. package/dist/index.js.map +1 -0
  47. package/dist/integration.d.ts +159 -0
  48. package/dist/integration.d.ts.map +1 -0
  49. package/dist/integration.js +533 -0
  50. package/dist/integration.js.map +1 -0
  51. package/dist/keyboard.d.ts +276 -0
  52. package/dist/keyboard.d.ts.map +1 -0
  53. package/dist/keyboard.js +404 -0
  54. package/dist/keyboard.js.map +1 -0
  55. package/dist/logger.d.ts +198 -0
  56. package/dist/logger.d.ts.map +1 -0
  57. package/dist/logger.js +516 -0
  58. package/dist/logger.js.map +1 -0
  59. package/dist/middleware.d.ts +183 -0
  60. package/dist/middleware.d.ts.map +1 -0
  61. package/dist/middleware.js +493 -0
  62. package/dist/middleware.js.map +1 -0
  63. package/dist/monitor.d.ts +136 -0
  64. package/dist/monitor.d.ts.map +1 -0
  65. package/dist/monitor.js +341 -0
  66. package/dist/monitor.js.map +1 -0
  67. package/dist/mouse.d.ts +290 -0
  68. package/dist/mouse.d.ts.map +1 -0
  69. package/dist/mouse.js +466 -0
  70. package/dist/mouse.js.map +1 -0
  71. package/dist/plugin.d.ts +157 -0
  72. package/dist/plugin.d.ts.map +1 -0
  73. package/dist/plugin.js +409 -0
  74. package/dist/plugin.js.map +1 -0
  75. package/dist/process.d.ts +106 -0
  76. package/dist/process.d.ts.map +1 -0
  77. package/dist/process.js +326 -0
  78. package/dist/process.js.map +1 -0
  79. package/dist/recorder.d.ts +100 -0
  80. package/dist/recorder.d.ts.map +1 -0
  81. package/dist/recorder.js +258 -0
  82. package/dist/recorder.js.map +1 -0
  83. package/dist/safety.d.ts +59 -0
  84. package/dist/safety.d.ts.map +1 -0
  85. package/dist/safety.js +98 -0
  86. package/dist/safety.js.map +1 -0
  87. package/dist/scheduler.d.ts +152 -0
  88. package/dist/scheduler.d.ts.map +1 -0
  89. package/dist/scheduler.js +615 -0
  90. package/dist/scheduler.js.map +1 -0
  91. package/dist/screen.d.ts +96 -0
  92. package/dist/screen.d.ts.map +1 -0
  93. package/dist/screen.js +154 -0
  94. package/dist/screen.js.map +1 -0
  95. package/dist/session.d.ts +209 -0
  96. package/dist/session.d.ts.map +1 -0
  97. package/dist/session.js +479 -0
  98. package/dist/session.js.map +1 -0
  99. package/dist/stream.d.ts +168 -0
  100. package/dist/stream.d.ts.map +1 -0
  101. package/dist/stream.js +298 -0
  102. package/dist/stream.js.map +1 -0
  103. package/dist/telemetry.d.ts +223 -0
  104. package/dist/telemetry.d.ts.map +1 -0
  105. package/dist/telemetry.js +433 -0
  106. package/dist/telemetry.js.map +1 -0
  107. package/dist/types.d.ts +165 -0
  108. package/dist/types.d.ts.map +1 -0
  109. package/dist/types.js +8 -0
  110. package/dist/types.js.map +1 -0
  111. package/dist/utils/bezier.d.ts +51 -0
  112. package/dist/utils/bezier.d.ts.map +1 -0
  113. package/dist/utils/bezier.js +117 -0
  114. package/dist/utils/bezier.js.map +1 -0
  115. package/dist/utils/helpers.d.ts +90 -0
  116. package/dist/utils/helpers.d.ts.map +1 -0
  117. package/dist/utils/helpers.js +143 -0
  118. package/dist/utils/helpers.js.map +1 -0
  119. package/dist/utils/index.d.ts +4 -0
  120. package/dist/utils/index.d.ts.map +1 -0
  121. package/dist/utils/index.js +18 -0
  122. package/dist/utils/index.js.map +1 -0
  123. package/dist/validation.d.ts +254 -0
  124. package/dist/validation.d.ts.map +1 -0
  125. package/dist/validation.js +478 -0
  126. package/dist/validation.js.map +1 -0
  127. package/dist/vision.d.ts +719 -0
  128. package/dist/vision.d.ts.map +1 -0
  129. package/dist/vision.js +1197 -0
  130. package/dist/vision.js.map +1 -0
  131. package/dist/window.d.ts +80 -0
  132. package/dist/window.d.ts.map +1 -0
  133. package/dist/window.js +170 -0
  134. package/dist/window.js.map +1 -0
  135. package/dist/workflow.d.ts +224 -0
  136. package/dist/workflow.d.ts.map +1 -0
  137. package/dist/workflow.js +578 -0
  138. package/dist/workflow.js.map +1 -0
  139. package/index.d.ts +840 -0
  140. package/index.js +495 -0
  141. package/package.json +91 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recorder.js","sourceRoot":"","sources":["../ts/recorder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import type { SafetyConfig } from './types';
2
+ /**
3
+ * Safety controls for automation — failsafe, rate limiting, emergency stop.
4
+ *
5
+ * @example
6
+ * ```typescript
7
+ * import { safety } from 'stelo';
8
+ *
9
+ * // Enable failsafe (move mouse to corner = emergency stop)
10
+ * safety.enableFailsafe();
11
+ *
12
+ * // Set rate limit
13
+ * safety.setRateLimit(100); // max 100 actions/sec
14
+ *
15
+ * // Emergency stop / reset
16
+ * safety.emergencyStop();
17
+ * safety.reset();
18
+ * ```
19
+ */
20
+ export declare const safety: {
21
+ /**
22
+ * Configure safety settings all at once.
23
+ */
24
+ configure(config: SafetyConfig): void;
25
+ /**
26
+ * Enable failsafe — moving mouse to any screen corner triggers emergency stop.
27
+ * @param thresholdPx - Distance from corner edge in pixels (default: 5)
28
+ */
29
+ enableFailsafe(thresholdPx?: number): void;
30
+ /**
31
+ * Disable failsafe.
32
+ */
33
+ disableFailsafe(): void;
34
+ /**
35
+ * Check if failsafe is currently enabled.
36
+ */
37
+ isFailsafeEnabled(): boolean;
38
+ /**
39
+ * Set maximum actions per second. Exceeding this triggers an error.
40
+ */
41
+ setRateLimit(maxPerSecond: number): void;
42
+ /**
43
+ * Disable rate limiting.
44
+ */
45
+ disableRateLimit(): void;
46
+ /**
47
+ * Trigger an emergency stop. All operations will fail until reset.
48
+ */
49
+ emergencyStop(): void;
50
+ /**
51
+ * Check if emergency stop is currently active.
52
+ */
53
+ isStopped(): boolean;
54
+ /**
55
+ * Reset the emergency stop and resume normal operation.
56
+ */
57
+ reset(): void;
58
+ };
59
+ //# sourceMappingURL=safety.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safety.d.ts","sourceRoot":"","sources":["../ts/safety.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI5C;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,MAAM;IACjB;;OAEG;sBACe,YAAY,GAAG,IAAI;IAiBrC;;;OAGG;iCAC0B,MAAM,GAAG,IAAI;IAI1C;;OAEG;uBACgB,IAAI;IAIvB;;OAEG;yBACkB,OAAO;IAI5B;;OAEG;+BACwB,MAAM,GAAG,IAAI;IAIxC;;OAEG;wBACiB,IAAI;IAIxB;;OAEG;qBACc,IAAI;IAIrB;;OAEG;iBACU,OAAO;IAIpB;;OAEG;aACM,IAAI;CAGd,CAAC"}
package/dist/safety.js ADDED
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ // ============================================================================
3
+ // Stelo — Safety System API
4
+ // ============================================================================
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.safety = void 0;
7
+ const native = require('../index.js');
8
+ /**
9
+ * Safety controls for automation — failsafe, rate limiting, emergency stop.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * import { safety } from 'stelo';
14
+ *
15
+ * // Enable failsafe (move mouse to corner = emergency stop)
16
+ * safety.enableFailsafe();
17
+ *
18
+ * // Set rate limit
19
+ * safety.setRateLimit(100); // max 100 actions/sec
20
+ *
21
+ * // Emergency stop / reset
22
+ * safety.emergencyStop();
23
+ * safety.reset();
24
+ * ```
25
+ */
26
+ exports.safety = {
27
+ /**
28
+ * Configure safety settings all at once.
29
+ */
30
+ configure(config) {
31
+ if (config.failsafe !== undefined) {
32
+ if (config.failsafe) {
33
+ native.safetyEnableFailsafe(config.failsafeThreshold ?? undefined);
34
+ }
35
+ else {
36
+ native.safetyDisableFailsafe();
37
+ }
38
+ }
39
+ if (config.rateLimit !== undefined) {
40
+ if (config.rateLimit > 0) {
41
+ native.safetySetRateLimit(config.rateLimit);
42
+ }
43
+ else {
44
+ native.safetyDisableRateLimit();
45
+ }
46
+ }
47
+ },
48
+ /**
49
+ * Enable failsafe — moving mouse to any screen corner triggers emergency stop.
50
+ * @param thresholdPx - Distance from corner edge in pixels (default: 5)
51
+ */
52
+ enableFailsafe(thresholdPx) {
53
+ native.safetyEnableFailsafe(thresholdPx ?? undefined);
54
+ },
55
+ /**
56
+ * Disable failsafe.
57
+ */
58
+ disableFailsafe() {
59
+ native.safetyDisableFailsafe();
60
+ },
61
+ /**
62
+ * Check if failsafe is currently enabled.
63
+ */
64
+ isFailsafeEnabled() {
65
+ return native.safetyIsFailsafeEnabled();
66
+ },
67
+ /**
68
+ * Set maximum actions per second. Exceeding this triggers an error.
69
+ */
70
+ setRateLimit(maxPerSecond) {
71
+ native.safetySetRateLimit(maxPerSecond);
72
+ },
73
+ /**
74
+ * Disable rate limiting.
75
+ */
76
+ disableRateLimit() {
77
+ native.safetyDisableRateLimit();
78
+ },
79
+ /**
80
+ * Trigger an emergency stop. All operations will fail until reset.
81
+ */
82
+ emergencyStop() {
83
+ native.safetyEmergencyStop();
84
+ },
85
+ /**
86
+ * Check if emergency stop is currently active.
87
+ */
88
+ isStopped() {
89
+ return native.safetyIsStopped();
90
+ },
91
+ /**
92
+ * Reset the emergency stop and resume normal operation.
93
+ */
94
+ reset() {
95
+ native.safetyReset();
96
+ },
97
+ };
98
+ //# sourceMappingURL=safety.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safety.js","sourceRoot":"","sources":["../ts/safety.ts"],"names":[],"mappings":";AAAA,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;;;AAI/E,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAEtC;;;;;;;;;;;;;;;;;GAiBG;AACU,QAAA,MAAM,GAAG;IACpB;;OAEG;IACH,SAAS,CAAC,MAAoB;QAC5B,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,iBAAiB,IAAI,SAAS,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACjC,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,sBAAsB,EAAE,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,WAAoB;QACjC,MAAM,CAAC,oBAAoB,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,eAAe;QACb,MAAM,CAAC,qBAAqB,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,MAAM,CAAC,uBAAuB,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,YAAoB;QAC/B,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,MAAM,CAAC,sBAAsB,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,aAAa;QACX,MAAM,CAAC,mBAAmB,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,MAAM,CAAC,eAAe,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;CACF,CAAC"}
@@ -0,0 +1,152 @@
1
+ export type ScheduledTaskStatus = 'pending' | 'active' | 'paused' | 'completed' | 'failed' | 'cancelled';
2
+ export interface SchedulerOptions {
3
+ /** Maximum concurrent scheduled tasks. Default: 10 */
4
+ maxConcurrent?: number;
5
+ /** Default timezone for cron expressions. Default: 'local' */
6
+ timezone?: string;
7
+ /** Catch and log task errors instead of throwing. Default: true */
8
+ catchErrors?: boolean;
9
+ }
10
+ export interface ScheduledTaskOptions {
11
+ /** Unique task ID. Auto-generated if not provided. */
12
+ id?: string;
13
+ /** Human-readable name */
14
+ name?: string;
15
+ /** Tags for filtering/grouping */
16
+ tags?: string[];
17
+ /** Maximum number of executions (0 = unlimited). Default: 0 */
18
+ maxRuns?: number;
19
+ /** Task timeout in ms per execution. Default: 0 (no timeout) */
20
+ timeoutMs?: number;
21
+ /** IDs of tasks that must complete before this can run */
22
+ dependsOn?: string[];
23
+ /** Whether to run immediately on schedule start. Default: false */
24
+ runImmediately?: boolean;
25
+ /** If the task overlaps with a previous run, skip or queue. Default: 'skip' */
26
+ overlapPolicy?: 'skip' | 'queue' | 'allow';
27
+ /** Retry options */
28
+ retry?: {
29
+ attempts: number;
30
+ delayMs?: number;
31
+ backoff?: number;
32
+ };
33
+ }
34
+ export interface ScheduledTask {
35
+ id: string;
36
+ name: string;
37
+ status: ScheduledTaskStatus;
38
+ tags: string[];
39
+ type: 'once' | 'interval' | 'cron';
40
+ createdAt: string;
41
+ lastRunAt?: string;
42
+ nextRunAt?: string;
43
+ runCount: number;
44
+ failCount: number;
45
+ maxRuns: number;
46
+ }
47
+ export interface SchedulerStats {
48
+ totalTasks: number;
49
+ activeTasks: number;
50
+ pendingTasks: number;
51
+ completedTasks: number;
52
+ failedTasks: number;
53
+ cancelledTasks: number;
54
+ totalExecutions: number;
55
+ }
56
+ export declare const scheduler: {
57
+ /**
58
+ * Configure the scheduler.
59
+ */
60
+ configure(options: SchedulerOptions): void;
61
+ /**
62
+ * Schedule a one-time delayed task.
63
+ */
64
+ once(delayMs: number, fn: () => any | Promise<any>, options?: ScheduledTaskOptions): string;
65
+ /**
66
+ * Schedule a recurring task at a fixed interval.
67
+ */
68
+ every(intervalMs: number, fn: () => any | Promise<any>, options?: ScheduledTaskOptions): string;
69
+ /**
70
+ * Schedule a task using a cron pattern.
71
+ * Supports 5-field (minute-level) and 6-field (second-level) cron expressions.
72
+ *
73
+ * @example
74
+ * ```
75
+ * scheduler.cron('0 * * * *', fn) // every hour
76
+ * scheduler.cron('*​/5 * * * *', fn) // every 5 minutes
77
+ * scheduler.cron('0 0 9 * * 1-5', fn) // 9am weekdays (6-field with seconds)
78
+ * ```
79
+ */
80
+ cron(pattern: string, fn: () => any | Promise<any>, options?: ScheduledTaskOptions): string;
81
+ /**
82
+ * Cancel a scheduled task.
83
+ */
84
+ cancel(taskId: string): boolean;
85
+ /**
86
+ * Pause a scheduled task.
87
+ */
88
+ pause(taskId: string): boolean;
89
+ /**
90
+ * Resume a paused task.
91
+ */
92
+ resume(taskId: string): boolean;
93
+ /**
94
+ * Get info for a specific task.
95
+ */
96
+ getTask(taskId: string): ScheduledTask | null;
97
+ /**
98
+ * List all tasks, optionally filtered.
99
+ */
100
+ listTasks(filter?: {
101
+ status?: ScheduledTaskStatus;
102
+ tag?: string;
103
+ type?: "once" | "interval" | "cron";
104
+ }): ScheduledTask[];
105
+ /**
106
+ * Get scheduler stats.
107
+ */
108
+ getStats(): SchedulerStats;
109
+ /**
110
+ * Cancel all tasks.
111
+ */
112
+ cancelAll(): number;
113
+ /**
114
+ * Remove completed/cancelled/failed tasks from the task list.
115
+ */
116
+ cleanup(): number;
117
+ /**
118
+ * Reset the scheduler (cancel all tasks and clear state).
119
+ */
120
+ reset(): void;
121
+ /**
122
+ * Run a function after a delay (like setTimeout but tracked).
123
+ */
124
+ delay(ms: number): Promise<void>;
125
+ /**
126
+ * Run a function at a specific time.
127
+ */
128
+ at(date: Date, fn: () => any | Promise<any>, options?: ScheduledTaskOptions): string;
129
+ /**
130
+ * Wait until a condition is true, polling at an interval.
131
+ */
132
+ waitUntil(predicate: () => boolean | Promise<boolean>, options?: {
133
+ intervalMs?: number;
134
+ timeoutMs?: number;
135
+ }): Promise<boolean>;
136
+ /**
137
+ * Debounce: only execute after the function hasn't been called for `delayMs`.
138
+ * Returns a wrapped function and a cancel handle.
139
+ */
140
+ debounce<T extends (...args: any[]) => any>(fn: T, delayMs: number): {
141
+ call: (...args: Parameters<T>) => void;
142
+ cancel: () => void;
143
+ };
144
+ /**
145
+ * Throttle: execute at most once per `intervalMs`.
146
+ */
147
+ throttle<T extends (...args: any[]) => any>(fn: T, intervalMs: number): {
148
+ call: (...args: Parameters<T>) => void;
149
+ cancel: () => void;
150
+ };
151
+ };
152
+ //# sourceMappingURL=scheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../ts/scheduler.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,WAAW,gBAAgB;IAC/B,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,sDAAsD;IACtD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,mEAAmE;IACnE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IAC3C,oBAAoB;IACpB,KAAK,CAAC,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,mBAAmB,CAAC;IAC5B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB;AA2SD,eAAO,MAAM,SAAS;IACpB;;OAEG;uBACgB,gBAAgB,GAAG,IAAI;IAI1C;;OAEG;kBAEQ,MAAM,MACX,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAClB,oBAAoB,GAC7B,MAAM;IA2BT;;OAEG;sBAEW,MAAM,MACd,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAClB,oBAAoB,GAC7B,MAAM;IAgCT;;;;;;;;;;OAUG;kBAEQ,MAAM,MACX,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAClB,oBAAoB,GAC7B,MAAM;IA+BT;;OAEG;mBACY,MAAM,GAAG,OAAO;IAmB/B;;OAEG;kBACW,MAAM,GAAG,OAAO;IAc9B;;OAEG;mBACY,MAAM,GAAG,OAAO;IAe/B;;OAEG;oBACa,MAAM,GAAG,aAAa,GAAG,IAAI;IAuB7C;;OAEG;uBACgB;QACjB,MAAM,CAAC,EAAE,mBAAmB,CAAC;QAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;KACrC,GAAG,aAAa,EAAE;IA0BnB;;OAEG;gBACS,cAAc;IA0B1B;;OAEG;iBACU,MAAM;IAQnB;;OAEG;eACQ,MAAM;IAejB;;OAEG;aACM,IAAI;IASb;;OAEG;cACO,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhC;;OAEG;aAEK,IAAI,MACN,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAClB,oBAAoB,GAC7B,MAAM;IAQT;;OAEG;yBAEU,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,YACjC;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GACpD,OAAO,CAAC,OAAO,CAAC;IAanB;;;OAGG;aACM,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,MACpC,CAAC,WACI,MAAM,GACd;QAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE;IAoBjE;;OAEG;aACM,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,MACpC,CAAC,cACO,MAAM,GACjB;QAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE;CA4BlE,CAAC"}