gitx.do 0.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 (167) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +156 -0
  3. package/dist/durable-object/object-store.d.ts +113 -0
  4. package/dist/durable-object/object-store.d.ts.map +1 -0
  5. package/dist/durable-object/object-store.js +387 -0
  6. package/dist/durable-object/object-store.js.map +1 -0
  7. package/dist/durable-object/schema.d.ts +17 -0
  8. package/dist/durable-object/schema.d.ts.map +1 -0
  9. package/dist/durable-object/schema.js +43 -0
  10. package/dist/durable-object/schema.js.map +1 -0
  11. package/dist/durable-object/wal.d.ts +111 -0
  12. package/dist/durable-object/wal.d.ts.map +1 -0
  13. package/dist/durable-object/wal.js +200 -0
  14. package/dist/durable-object/wal.js.map +1 -0
  15. package/dist/index.d.ts +24 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +101 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/mcp/adapter.d.ts +231 -0
  20. package/dist/mcp/adapter.d.ts.map +1 -0
  21. package/dist/mcp/adapter.js +502 -0
  22. package/dist/mcp/adapter.js.map +1 -0
  23. package/dist/mcp/sandbox.d.ts +261 -0
  24. package/dist/mcp/sandbox.d.ts.map +1 -0
  25. package/dist/mcp/sandbox.js +983 -0
  26. package/dist/mcp/sandbox.js.map +1 -0
  27. package/dist/mcp/sdk-adapter.d.ts +413 -0
  28. package/dist/mcp/sdk-adapter.d.ts.map +1 -0
  29. package/dist/mcp/sdk-adapter.js +672 -0
  30. package/dist/mcp/sdk-adapter.js.map +1 -0
  31. package/dist/mcp/tools.d.ts +133 -0
  32. package/dist/mcp/tools.d.ts.map +1 -0
  33. package/dist/mcp/tools.js +1604 -0
  34. package/dist/mcp/tools.js.map +1 -0
  35. package/dist/ops/blame.d.ts +148 -0
  36. package/dist/ops/blame.d.ts.map +1 -0
  37. package/dist/ops/blame.js +754 -0
  38. package/dist/ops/blame.js.map +1 -0
  39. package/dist/ops/branch.d.ts +215 -0
  40. package/dist/ops/branch.d.ts.map +1 -0
  41. package/dist/ops/branch.js +608 -0
  42. package/dist/ops/branch.js.map +1 -0
  43. package/dist/ops/commit-traversal.d.ts +209 -0
  44. package/dist/ops/commit-traversal.d.ts.map +1 -0
  45. package/dist/ops/commit-traversal.js +755 -0
  46. package/dist/ops/commit-traversal.js.map +1 -0
  47. package/dist/ops/commit.d.ts +221 -0
  48. package/dist/ops/commit.d.ts.map +1 -0
  49. package/dist/ops/commit.js +606 -0
  50. package/dist/ops/commit.js.map +1 -0
  51. package/dist/ops/merge-base.d.ts +223 -0
  52. package/dist/ops/merge-base.d.ts.map +1 -0
  53. package/dist/ops/merge-base.js +581 -0
  54. package/dist/ops/merge-base.js.map +1 -0
  55. package/dist/ops/merge.d.ts +385 -0
  56. package/dist/ops/merge.d.ts.map +1 -0
  57. package/dist/ops/merge.js +1203 -0
  58. package/dist/ops/merge.js.map +1 -0
  59. package/dist/ops/tag.d.ts +182 -0
  60. package/dist/ops/tag.d.ts.map +1 -0
  61. package/dist/ops/tag.js +608 -0
  62. package/dist/ops/tag.js.map +1 -0
  63. package/dist/ops/tree-builder.d.ts +82 -0
  64. package/dist/ops/tree-builder.d.ts.map +1 -0
  65. package/dist/ops/tree-builder.js +246 -0
  66. package/dist/ops/tree-builder.js.map +1 -0
  67. package/dist/ops/tree-diff.d.ts +243 -0
  68. package/dist/ops/tree-diff.d.ts.map +1 -0
  69. package/dist/ops/tree-diff.js +657 -0
  70. package/dist/ops/tree-diff.js.map +1 -0
  71. package/dist/pack/delta.d.ts +68 -0
  72. package/dist/pack/delta.d.ts.map +1 -0
  73. package/dist/pack/delta.js +343 -0
  74. package/dist/pack/delta.js.map +1 -0
  75. package/dist/pack/format.d.ts +84 -0
  76. package/dist/pack/format.d.ts.map +1 -0
  77. package/dist/pack/format.js +261 -0
  78. package/dist/pack/format.js.map +1 -0
  79. package/dist/pack/full-generation.d.ts +327 -0
  80. package/dist/pack/full-generation.d.ts.map +1 -0
  81. package/dist/pack/full-generation.js +1159 -0
  82. package/dist/pack/full-generation.js.map +1 -0
  83. package/dist/pack/generation.d.ts +118 -0
  84. package/dist/pack/generation.d.ts.map +1 -0
  85. package/dist/pack/generation.js +459 -0
  86. package/dist/pack/generation.js.map +1 -0
  87. package/dist/pack/index.d.ts +181 -0
  88. package/dist/pack/index.d.ts.map +1 -0
  89. package/dist/pack/index.js +552 -0
  90. package/dist/pack/index.js.map +1 -0
  91. package/dist/refs/branch.d.ts +224 -0
  92. package/dist/refs/branch.d.ts.map +1 -0
  93. package/dist/refs/branch.js +170 -0
  94. package/dist/refs/branch.js.map +1 -0
  95. package/dist/refs/storage.d.ts +208 -0
  96. package/dist/refs/storage.d.ts.map +1 -0
  97. package/dist/refs/storage.js +421 -0
  98. package/dist/refs/storage.js.map +1 -0
  99. package/dist/refs/tag.d.ts +230 -0
  100. package/dist/refs/tag.d.ts.map +1 -0
  101. package/dist/refs/tag.js +188 -0
  102. package/dist/refs/tag.js.map +1 -0
  103. package/dist/storage/lru-cache.d.ts +188 -0
  104. package/dist/storage/lru-cache.d.ts.map +1 -0
  105. package/dist/storage/lru-cache.js +410 -0
  106. package/dist/storage/lru-cache.js.map +1 -0
  107. package/dist/storage/object-index.d.ts +140 -0
  108. package/dist/storage/object-index.d.ts.map +1 -0
  109. package/dist/storage/object-index.js +166 -0
  110. package/dist/storage/object-index.js.map +1 -0
  111. package/dist/storage/r2-pack.d.ts +394 -0
  112. package/dist/storage/r2-pack.d.ts.map +1 -0
  113. package/dist/storage/r2-pack.js +1062 -0
  114. package/dist/storage/r2-pack.js.map +1 -0
  115. package/dist/tiered/cdc-pipeline.d.ts +316 -0
  116. package/dist/tiered/cdc-pipeline.d.ts.map +1 -0
  117. package/dist/tiered/cdc-pipeline.js +771 -0
  118. package/dist/tiered/cdc-pipeline.js.map +1 -0
  119. package/dist/tiered/migration.d.ts +242 -0
  120. package/dist/tiered/migration.d.ts.map +1 -0
  121. package/dist/tiered/migration.js +592 -0
  122. package/dist/tiered/migration.js.map +1 -0
  123. package/dist/tiered/parquet-writer.d.ts +248 -0
  124. package/dist/tiered/parquet-writer.d.ts.map +1 -0
  125. package/dist/tiered/parquet-writer.js +555 -0
  126. package/dist/tiered/parquet-writer.js.map +1 -0
  127. package/dist/tiered/read-path.d.ts +141 -0
  128. package/dist/tiered/read-path.d.ts.map +1 -0
  129. package/dist/tiered/read-path.js +204 -0
  130. package/dist/tiered/read-path.js.map +1 -0
  131. package/dist/types/objects.d.ts +53 -0
  132. package/dist/types/objects.d.ts.map +1 -0
  133. package/dist/types/objects.js +291 -0
  134. package/dist/types/objects.js.map +1 -0
  135. package/dist/types/storage.d.ts +117 -0
  136. package/dist/types/storage.d.ts.map +1 -0
  137. package/dist/types/storage.js +8 -0
  138. package/dist/types/storage.js.map +1 -0
  139. package/dist/utils/hash.d.ts +31 -0
  140. package/dist/utils/hash.d.ts.map +1 -0
  141. package/dist/utils/hash.js +60 -0
  142. package/dist/utils/hash.js.map +1 -0
  143. package/dist/utils/sha1.d.ts +26 -0
  144. package/dist/utils/sha1.d.ts.map +1 -0
  145. package/dist/utils/sha1.js +127 -0
  146. package/dist/utils/sha1.js.map +1 -0
  147. package/dist/wire/capabilities.d.ts +236 -0
  148. package/dist/wire/capabilities.d.ts.map +1 -0
  149. package/dist/wire/capabilities.js +437 -0
  150. package/dist/wire/capabilities.js.map +1 -0
  151. package/dist/wire/pkt-line.d.ts +67 -0
  152. package/dist/wire/pkt-line.d.ts.map +1 -0
  153. package/dist/wire/pkt-line.js +145 -0
  154. package/dist/wire/pkt-line.js.map +1 -0
  155. package/dist/wire/receive-pack.d.ts +302 -0
  156. package/dist/wire/receive-pack.d.ts.map +1 -0
  157. package/dist/wire/receive-pack.js +885 -0
  158. package/dist/wire/receive-pack.js.map +1 -0
  159. package/dist/wire/smart-http.d.ts +321 -0
  160. package/dist/wire/smart-http.d.ts.map +1 -0
  161. package/dist/wire/smart-http.js +654 -0
  162. package/dist/wire/smart-http.js.map +1 -0
  163. package/dist/wire/upload-pack.d.ts +333 -0
  164. package/dist/wire/upload-pack.d.ts.map +1 -0
  165. package/dist/wire/upload-pack.js +850 -0
  166. package/dist/wire/upload-pack.js.map +1 -0
  167. package/package.json +61 -0
@@ -0,0 +1,261 @@
1
+ /**
2
+ * MCP Sandbox Execution Environment
3
+ *
4
+ * Provides isolated execution environment for MCP tools with:
5
+ * - Resource limits (memory, CPU, time)
6
+ * - Capability restrictions (file, network, process)
7
+ * - Safe git operation execution
8
+ * - Audit logging
9
+ *
10
+ * SECURITY: Uses Node.js vm module for proper isolation instead of
11
+ * string analysis, which can be easily bypassed.
12
+ */
13
+ import { EventEmitter } from 'events';
14
+ /**
15
+ * Sandbox error codes
16
+ */
17
+ export declare enum SandboxErrorCode {
18
+ TIMEOUT = "TIMEOUT",
19
+ MEMORY_LIMIT_EXCEEDED = "MEMORY_LIMIT_EXCEEDED",
20
+ CPU_LIMIT_EXCEEDED = "CPU_LIMIT_EXCEEDED",
21
+ PERMISSION_DENIED = "PERMISSION_DENIED",
22
+ EXECUTION_ERROR = "EXECUTION_ERROR",
23
+ FILE_DESCRIPTOR_LIMIT = "FILE_DESCRIPTOR_LIMIT",
24
+ PROCESS_LIMIT_EXCEEDED = "PROCESS_LIMIT_EXCEEDED",
25
+ BANDWIDTH_LIMIT_EXCEEDED = "BANDWIDTH_LIMIT_EXCEEDED",
26
+ DISK_LIMIT_EXCEEDED = "DISK_LIMIT_EXCEEDED",
27
+ SANDBOX_CRASHED = "SANDBOX_CRASHED",
28
+ SANDBOX_PAUSED = "SANDBOX_PAUSED"
29
+ }
30
+ /**
31
+ * Sandbox error class
32
+ */
33
+ export declare class SandboxError extends Error {
34
+ code: SandboxErrorCode;
35
+ data?: Record<string, unknown>;
36
+ stack?: string;
37
+ constructor(code: SandboxErrorCode, message: string, data?: Record<string, unknown>);
38
+ toJSON(): {
39
+ code: SandboxErrorCode;
40
+ message: string;
41
+ data?: Record<string, unknown>;
42
+ };
43
+ }
44
+ /**
45
+ * Sandbox state enum
46
+ */
47
+ export declare enum SandboxState {
48
+ IDLE = "IDLE",
49
+ RUNNING = "RUNNING",
50
+ PAUSED = "PAUSED",
51
+ DESTROYED = "DESTROYED"
52
+ }
53
+ /**
54
+ * Isolation level for sandbox
55
+ */
56
+ export type IsolationLevel = 'strict' | 'normal' | 'lax';
57
+ /**
58
+ * Resource limits configuration
59
+ */
60
+ export interface ResourceLimits {
61
+ memoryLimit?: number;
62
+ cpuTimeLimit?: number;
63
+ maxOpenFiles?: number;
64
+ maxProcesses?: number;
65
+ networkBandwidthLimit?: number;
66
+ diskWriteLimit?: number;
67
+ }
68
+ /**
69
+ * Permission set for sandbox
70
+ */
71
+ export interface PermissionSet {
72
+ fileRead?: boolean;
73
+ fileWrite?: boolean;
74
+ network?: boolean;
75
+ spawn?: boolean;
76
+ env?: boolean;
77
+ nativeModules?: boolean;
78
+ allowedPaths?: string[];
79
+ envWhitelist?: string[];
80
+ }
81
+ /**
82
+ * Permission preset types
83
+ */
84
+ export type PermissionPreset = 'readonly' | 'full' | 'network-only';
85
+ /**
86
+ * Sandbox configuration
87
+ */
88
+ export interface SandboxConfig {
89
+ timeout?: number;
90
+ memoryLimit?: number;
91
+ cpuTimeLimit?: number;
92
+ maxOpenFiles?: number;
93
+ maxProcesses?: number;
94
+ networkBandwidthLimit?: number;
95
+ diskWriteLimit?: number;
96
+ isolationLevel?: IsolationLevel;
97
+ env?: Record<string, string>;
98
+ workingDirectory?: string;
99
+ permissions?: PermissionSet;
100
+ permissionPreset?: PermissionPreset;
101
+ resourceLimits?: ResourceLimits;
102
+ queueOnPause?: boolean;
103
+ maxConcurrentExecutions?: number;
104
+ }
105
+ /**
106
+ * Execution options
107
+ */
108
+ export interface ExecutionOptions {
109
+ timeout?: number;
110
+ context?: Record<string, unknown>;
111
+ }
112
+ /**
113
+ * Resource usage statistics
114
+ */
115
+ export interface ResourceStats {
116
+ memoryUsed: number;
117
+ cpuTimeUsed: number;
118
+ executionCount: number;
119
+ activeHandles: number;
120
+ }
121
+ /**
122
+ * Resource usage in result
123
+ */
124
+ export interface ResourceUsage {
125
+ memoryUsed: number;
126
+ cpuTimeUsed?: number;
127
+ }
128
+ /**
129
+ * Result metadata
130
+ */
131
+ export interface ResultMetadata {
132
+ startTime: number;
133
+ endTime: number;
134
+ elapsedMs: number;
135
+ }
136
+ /**
137
+ * Permission violation record
138
+ */
139
+ export interface PermissionViolation {
140
+ permission: string;
141
+ timestamp: number;
142
+ details?: string;
143
+ }
144
+ /**
145
+ * Sandbox execution result
146
+ */
147
+ export interface SandboxResult<T = unknown> {
148
+ value?: T;
149
+ error?: SandboxError;
150
+ sandboxId: string;
151
+ metadata?: ResultMetadata;
152
+ resourceUsage?: ResourceUsage;
153
+ }
154
+ /**
155
+ * MCP Sandbox class for isolated execution
156
+ *
157
+ * SECURITY: This implementation uses Node.js vm module with proper context
158
+ * isolation and runtime permission checks instead of string analysis.
159
+ */
160
+ export declare class MCPSandbox extends EventEmitter {
161
+ private id;
162
+ private config;
163
+ private state;
164
+ private resourceStats;
165
+ private permissionViolations;
166
+ private permissions;
167
+ private executionQueue;
168
+ private activeExecutions;
169
+ private globalContext;
170
+ constructor(config?: SandboxConfig);
171
+ getId(): string;
172
+ getConfig(): SandboxConfig;
173
+ getState(): SandboxState;
174
+ getPermissions(): PermissionSet;
175
+ getResourceStats(): ResourceStats;
176
+ getResourceLimits(): ResourceLimits;
177
+ getPermissionViolations(): PermissionViolation[];
178
+ start(): Promise<void>;
179
+ stop(): Promise<void>;
180
+ pause(): Promise<void>;
181
+ resume(): Promise<void>;
182
+ cleanup(): Promise<void>;
183
+ destroy(): Promise<void>;
184
+ execute<T>(fn: (() => T) | (() => Promise<T>), options?: ExecutionOptions): Promise<SandboxResult<T>>;
185
+ private executeInSandbox;
186
+ /**
187
+ * Pre-check function for static analysis of potential violations
188
+ *
189
+ * SECURITY NOTE: This performs two types of checks:
190
+ * 1. Resource limit checks (memory, CPU, bandwidth) - defense-in-depth for obvious cases
191
+ * 2. Permission checks for module imports - enforced before execution starts
192
+ *
193
+ * The permission checks here are CRITICAL for security because we cannot intercept
194
+ * dynamic import() calls at runtime without experimental Node.js loader hooks.
195
+ * By analyzing the function source, we can detect which modules will be imported
196
+ * and block execution before it starts.
197
+ *
198
+ * This is combined with runtime fs proxy checks for additional security layers.
199
+ */
200
+ private preCheckResourceLimits;
201
+ /**
202
+ * Create a secure require/import function that enforces runtime permission checks
203
+ */
204
+ private createSecureImport;
205
+ /**
206
+ * Create a secure fs module proxy that checks permissions at runtime
207
+ */
208
+ private createSecureFs;
209
+ /**
210
+ * Run function with secure context using runtime permission checks
211
+ *
212
+ * SECURITY: This replaces the previous string-analysis approach with
213
+ * actual runtime interception of dangerous operations.
214
+ */
215
+ private runWithSecureContext;
216
+ /**
217
+ * Wrap the user function to intercept dynamic imports
218
+ */
219
+ private wrapFunctionWithSecureImports;
220
+ /**
221
+ * Create an isolated process object with permission checks
222
+ */
223
+ private createIsolatedProcess;
224
+ private createIsolatedEnv;
225
+ private createPermissionError;
226
+ private recordPermissionViolation;
227
+ private wrapError;
228
+ }
229
+ /**
230
+ * Create a new sandbox instance
231
+ */
232
+ export declare function createSandbox(config?: SandboxConfig): MCPSandbox;
233
+ /**
234
+ * Sandbox pool configuration
235
+ */
236
+ export interface SandboxPoolConfig {
237
+ size: number;
238
+ acquireTimeout?: number;
239
+ sandboxConfig?: SandboxConfig;
240
+ }
241
+ /**
242
+ * Sandbox pool for managing multiple sandbox instances
243
+ */
244
+ export declare class SandboxPool {
245
+ private sandboxes;
246
+ private availableSandboxes;
247
+ private acquireTimeout;
248
+ private waiters;
249
+ private isShutdown;
250
+ constructor(config: SandboxPoolConfig);
251
+ size(): number;
252
+ available(): number;
253
+ acquire(): Promise<MCPSandbox>;
254
+ release(sandbox: MCPSandbox): Promise<void>;
255
+ shutdown(): Promise<void>;
256
+ }
257
+ /**
258
+ * Create a sandbox pool
259
+ */
260
+ export declare function createSandboxPool(config: SandboxPoolConfig): SandboxPool;
261
+ //# sourceMappingURL=sandbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/mcp/sandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAGrC;;GAEG;AACH,oBAAY,gBAAgB;IAC1B,OAAO,YAAY;IACnB,qBAAqB,0BAA0B;IAC/C,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IACnC,qBAAqB,0BAA0B;IAC/C,sBAAsB,2BAA2B;IACjD,wBAAwB,6BAA6B;IACrD,mBAAmB,wBAAwB;IAC3C,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;CAClC;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,IAAI,EAAE,gBAAgB,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;gBAEF,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOnF,MAAM,IAAI;QAAE,IAAI,EAAE,gBAAgB,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE;CAUtF;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAA;AAExD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,MAAM,GAAG,cAAc,CAAA;AAEnE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,aAAa,CAAA;IAC3B,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,uBAAuB,CAAC,EAAE,MAAM,CAAA;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO;IACxC,KAAK,CAAC,EAAE,CAAC,CAAA;IACT,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B;AAiHD;;;;;GAKG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,EAAE,CAAQ;IAClB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,aAAa,CAKpB;IACD,OAAO,CAAC,oBAAoB,CAA4B;IACxD,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,cAAc,CAAqC;IAC3D,OAAO,CAAC,gBAAgB,CAAI;IAC5B,OAAO,CAAC,aAAa,CAAkC;gBAE3C,MAAM,GAAE,aAAkB;IA2BtC,KAAK,IAAI,MAAM;IAIf,SAAS,IAAI,aAAa;IAI1B,QAAQ,IAAI,YAAY;IAIxB,cAAc,IAAI,aAAa;IAI/B,gBAAgB,IAAI,aAAa;IAIjC,iBAAiB,IAAI,cAAc;IAUnC,uBAAuB,IAAI,mBAAmB,EAAE;IAI1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IASrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAUxB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxB,OAAO,CAAC,CAAC,EACb,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,EAClC,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YA0Dd,gBAAgB;IAwF9B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,sBAAsB;IA8J9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA6D1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAkGtB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAyF5B;;OAEG;IACH,OAAO,CAAC,6BAA6B;IA+CrC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,yBAAyB;IAOjC,OAAO,CAAC,SAAS;CA8BlB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,GAAE,aAAkB,GAAG,UAAU,CAEpE;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B;AAED;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,kBAAkB,CAAmB;IAC7C,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,OAAO,CAAwF;IACvG,OAAO,CAAC,UAAU,CAAQ;gBAEd,MAAM,EAAE,iBAAiB;IAUrC,IAAI,IAAI,MAAM;IAId,SAAS,IAAI,MAAM;IAIb,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;IAiC9B,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAmBhC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAExE"}