deeplake 0.1.0 → 0.2.0

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 (160) hide show
  1. package/dist/browser/browser/client.d.ts +33 -0
  2. package/dist/browser/browser/client.d.ts.map +1 -0
  3. package/dist/browser/browser/client.js +312 -0
  4. package/dist/browser/browser/client.js.map +1 -0
  5. package/dist/browser/browser/index.d.ts +15 -0
  6. package/dist/browser/browser/index.d.ts.map +1 -0
  7. package/dist/browser/browser/index.js +11 -0
  8. package/dist/browser/browser/index.js.map +1 -0
  9. package/dist/browser/browser/wasm.d.ts +8 -0
  10. package/dist/browser/browser/wasm.d.ts.map +1 -0
  11. package/dist/browser/browser/wasm.js +53 -0
  12. package/dist/browser/browser/wasm.js.map +1 -0
  13. package/dist/browser/shared/api.d.ts +9 -0
  14. package/dist/browser/shared/api.d.ts.map +1 -0
  15. package/dist/browser/shared/api.js +67 -0
  16. package/dist/browser/shared/api.js.map +1 -0
  17. package/dist/browser/shared/credentials.d.ts +4 -0
  18. package/dist/browser/shared/credentials.d.ts.map +1 -0
  19. package/dist/browser/shared/credentials.js +24 -0
  20. package/dist/browser/shared/credentials.js.map +1 -0
  21. package/dist/browser/shared/database.d.ts +26 -0
  22. package/dist/browser/shared/database.d.ts.map +1 -0
  23. package/dist/browser/shared/database.js +67 -0
  24. package/dist/browser/shared/database.js.map +1 -0
  25. package/dist/browser/shared/dlref.d.ts +22 -0
  26. package/dist/browser/shared/dlref.d.ts.map +1 -0
  27. package/dist/browser/shared/dlref.js +48 -0
  28. package/dist/browser/shared/dlref.js.map +1 -0
  29. package/dist/browser/shared/errors.d.ts +22 -0
  30. package/dist/browser/shared/errors.d.ts.map +1 -0
  31. package/dist/browser/shared/errors.js +43 -0
  32. package/dist/browser/shared/errors.js.map +1 -0
  33. package/dist/browser/shared/schema.d.ts +7 -0
  34. package/dist/browser/shared/schema.d.ts.map +1 -0
  35. package/dist/browser/shared/schema.js +151 -0
  36. package/dist/browser/shared/schema.js.map +1 -0
  37. package/dist/browser/shared/token.d.ts +4 -0
  38. package/dist/browser/shared/token.d.ts.map +1 -0
  39. package/dist/browser/shared/token.js +69 -0
  40. package/dist/browser/shared/token.js.map +1 -0
  41. package/dist/browser/shared/types.d.ts +33 -0
  42. package/dist/browser/shared/types.d.ts.map +1 -0
  43. package/dist/browser/shared/types.js +2 -0
  44. package/dist/browser/shared/types.js.map +1 -0
  45. package/dist/browser/shared/wasm-common.d.ts +39 -0
  46. package/dist/browser/shared/wasm-common.d.ts.map +1 -0
  47. package/dist/browser/shared/wasm-common.js +287 -0
  48. package/dist/browser/shared/wasm-common.js.map +1 -0
  49. package/dist/node/node/client.d.ts +49 -0
  50. package/dist/node/node/client.d.ts.map +1 -0
  51. package/dist/node/node/client.js +670 -0
  52. package/dist/node/node/client.js.map +1 -0
  53. package/dist/node/node/formats/coco.d.ts +24 -0
  54. package/dist/node/node/formats/coco.d.ts.map +1 -0
  55. package/dist/node/node/formats/coco.js +342 -0
  56. package/dist/node/node/formats/coco.js.map +1 -0
  57. package/dist/node/node/formats/coco_panoptic.d.ts +19 -0
  58. package/dist/node/node/formats/coco_panoptic.d.ts.map +1 -0
  59. package/dist/node/node/formats/coco_panoptic.js +125 -0
  60. package/dist/node/node/formats/coco_panoptic.js.map +1 -0
  61. package/dist/node/node/formats/index.d.ts +7 -0
  62. package/dist/node/node/formats/index.d.ts.map +1 -0
  63. package/dist/node/node/formats/index.js +12 -0
  64. package/dist/node/node/formats/index.js.map +1 -0
  65. package/dist/node/node/formats/lerobot.d.ts +42 -0
  66. package/dist/node/node/formats/lerobot.d.ts.map +1 -0
  67. package/dist/node/node/formats/lerobot.js +351 -0
  68. package/dist/node/node/formats/lerobot.js.map +1 -0
  69. package/dist/node/node/index.d.ts +19 -0
  70. package/dist/node/node/index.d.ts.map +1 -0
  71. package/dist/node/node/index.js +75 -0
  72. package/dist/node/node/index.js.map +1 -0
  73. package/dist/node/node/mime.d.ts +2 -0
  74. package/dist/node/node/mime.d.ts.map +1 -0
  75. package/dist/node/node/mime.js +76 -0
  76. package/dist/node/node/mime.js.map +1 -0
  77. package/dist/node/node/normalizers/binary.d.ts +3 -0
  78. package/dist/node/node/normalizers/binary.d.ts.map +1 -0
  79. package/dist/node/node/normalizers/binary.js +51 -0
  80. package/dist/node/node/normalizers/binary.js.map +1 -0
  81. package/dist/node/node/normalizers/dict.d.ts +3 -0
  82. package/dist/node/node/normalizers/dict.d.ts.map +1 -0
  83. package/dist/node/node/normalizers/dict.js +17 -0
  84. package/dist/node/node/normalizers/dict.js.map +1 -0
  85. package/dist/node/node/normalizers/files.d.ts +3 -0
  86. package/dist/node/node/normalizers/files.d.ts.map +1 -0
  87. package/dist/node/node/normalizers/files.js +109 -0
  88. package/dist/node/node/normalizers/files.js.map +1 -0
  89. package/dist/node/node/normalizers/huggingface.d.ts +3 -0
  90. package/dist/node/node/normalizers/huggingface.d.ts.map +1 -0
  91. package/dist/node/node/normalizers/huggingface.js +158 -0
  92. package/dist/node/node/normalizers/huggingface.js.map +1 -0
  93. package/dist/node/node/normalizers/image.d.ts +3 -0
  94. package/dist/node/node/normalizers/image.d.ts.map +1 -0
  95. package/dist/node/node/normalizers/image.js +52 -0
  96. package/dist/node/node/normalizers/image.js.map +1 -0
  97. package/dist/node/node/normalizers/index.d.ts +9 -0
  98. package/dist/node/node/normalizers/index.d.ts.map +1 -0
  99. package/dist/node/node/normalizers/index.js +21 -0
  100. package/dist/node/node/normalizers/index.js.map +1 -0
  101. package/dist/node/node/normalizers/pdf.d.ts +3 -0
  102. package/dist/node/node/normalizers/pdf.d.ts.map +1 -0
  103. package/dist/node/node/normalizers/pdf.js +75 -0
  104. package/dist/node/node/normalizers/pdf.js.map +1 -0
  105. package/dist/node/node/normalizers/text.d.ts +4 -0
  106. package/dist/node/node/normalizers/text.d.ts.map +1 -0
  107. package/dist/node/node/normalizers/text.js +83 -0
  108. package/dist/node/node/normalizers/text.js.map +1 -0
  109. package/dist/node/node/normalizers/video.d.ts +3 -0
  110. package/dist/node/node/normalizers/video.d.ts.map +1 -0
  111. package/dist/node/node/normalizers/video.js +119 -0
  112. package/dist/node/node/normalizers/video.js.map +1 -0
  113. package/dist/node/node/storage.d.ts +15 -0
  114. package/dist/node/node/storage.d.ts.map +1 -0
  115. package/dist/node/node/storage.js +477 -0
  116. package/dist/node/node/storage.js.map +1 -0
  117. package/dist/node/node/wasm.d.ts +3 -0
  118. package/dist/node/node/wasm.d.ts.map +1 -0
  119. package/dist/node/node/wasm.js +49 -0
  120. package/dist/node/node/wasm.js.map +1 -0
  121. package/dist/node/shared/api.d.ts +9 -0
  122. package/dist/node/shared/api.d.ts.map +1 -0
  123. package/dist/node/shared/api.js +70 -0
  124. package/dist/node/shared/api.js.map +1 -0
  125. package/dist/node/shared/credentials.d.ts +4 -0
  126. package/dist/node/shared/credentials.d.ts.map +1 -0
  127. package/dist/node/shared/credentials.js +28 -0
  128. package/dist/node/shared/credentials.js.map +1 -0
  129. package/dist/node/shared/database.d.ts +26 -0
  130. package/dist/node/shared/database.d.ts.map +1 -0
  131. package/dist/node/shared/database.js +71 -0
  132. package/dist/node/shared/database.js.map +1 -0
  133. package/dist/node/shared/dlref.d.ts +22 -0
  134. package/dist/node/shared/dlref.d.ts.map +1 -0
  135. package/dist/node/shared/dlref.js +52 -0
  136. package/dist/node/shared/dlref.js.map +1 -0
  137. package/dist/node/shared/errors.d.ts +22 -0
  138. package/dist/node/shared/errors.d.ts.map +1 -0
  139. package/dist/node/shared/errors.js +53 -0
  140. package/dist/node/shared/errors.js.map +1 -0
  141. package/dist/node/shared/schema.d.ts +7 -0
  142. package/dist/node/shared/schema.d.ts.map +1 -0
  143. package/dist/node/shared/schema.js +157 -0
  144. package/dist/node/shared/schema.js.map +1 -0
  145. package/dist/node/shared/token.d.ts +4 -0
  146. package/dist/node/shared/token.d.ts.map +1 -0
  147. package/dist/node/shared/token.js +74 -0
  148. package/dist/node/shared/token.js.map +1 -0
  149. package/dist/node/shared/types.d.ts +33 -0
  150. package/dist/node/shared/types.d.ts.map +1 -0
  151. package/dist/node/shared/types.js +3 -0
  152. package/dist/node/shared/types.js.map +1 -0
  153. package/dist/node/shared/wasm-common.d.ts +39 -0
  154. package/dist/node/shared/wasm-common.d.ts.map +1 -0
  155. package/dist/node/shared/wasm-common.js +310 -0
  156. package/dist/node/shared/wasm-common.js.map +1 -0
  157. package/package.json +43 -18
  158. package/README.md +0 -39
  159. package/index.d.ts +0 -2
  160. package/index.js +0 -26
@@ -0,0 +1,287 @@
1
+ let wasmModule = null;
2
+ export function setWasmModule(mod) {
3
+ wasmModule = mod;
4
+ }
5
+ export function clearWasmModule() {
6
+ wasmModule = null;
7
+ }
8
+ export function getWasmModule() {
9
+ if (!wasmModule) {
10
+ throw new Error('WASM not initialized. Call initializeWasm() first.');
11
+ }
12
+ return wasmModule;
13
+ }
14
+ export function deeplakeSetEndpoint(endpoint) {
15
+ const mod = getWasmModule();
16
+ if (typeof mod.deeplake_set_endpoint === 'function') {
17
+ mod.deeplake_set_endpoint(endpoint);
18
+ }
19
+ }
20
+ // -----------------------------------------------------------------------
21
+ // Async mutex for serializing operations that depend on global endpoint
22
+ // state. setEndpoint + deeplakeOpen must execute atomically (no other
23
+ // caller can change the endpoint between the two calls).
24
+ // -----------------------------------------------------------------------
25
+ let _openQueueTail = Promise.resolve();
26
+ /**
27
+ * Set the backend endpoint and open a dataset as an atomic operation.
28
+ * Concurrent callers are serialized so that one caller's setEndpoint
29
+ * cannot be clobbered by another before the open completes.
30
+ */
31
+ export function deeplakeSetEndpointAndOpen(endpoint, datasetPath, creds, token) {
32
+ // Chain onto the previous open so they execute one at a time.
33
+ const prev = _openQueueTail;
34
+ let resolve_;
35
+ _openQueueTail = new Promise((r) => { resolve_ = r; });
36
+ return prev.then(async () => {
37
+ try {
38
+ deeplakeSetEndpoint(endpoint);
39
+ return await deeplakeOpen(datasetPath, creds, token);
40
+ }
41
+ finally {
42
+ resolve_();
43
+ }
44
+ });
45
+ }
46
+ /**
47
+ * Build an IcmMapStringString from a plain JS object or empty string.
48
+ */
49
+ function buildCredsMap(creds) {
50
+ const mod = getWasmModule();
51
+ const map = new mod.IcmMapStringString();
52
+ if (typeof creds === 'object') {
53
+ for (const [key, value] of Object.entries(creds)) {
54
+ if (value != null) {
55
+ map.set(key, value);
56
+ }
57
+ }
58
+ }
59
+ return map;
60
+ }
61
+ export function deeplakeCreate(datasetPath, creds, token) {
62
+ const mod = getWasmModule();
63
+ const credsMap = buildCredsMap(creds);
64
+ return new Promise((resolve, reject) => {
65
+ mod.deeplake_create(datasetPath, credsMap, token).then((dataset, error) => {
66
+ if (error)
67
+ reject(new Error(error));
68
+ else
69
+ resolve(dataset);
70
+ });
71
+ credsMap.delete();
72
+ });
73
+ }
74
+ export function deeplakeOpen(datasetPath, creds, token) {
75
+ const mod = getWasmModule();
76
+ const credsMap = buildCredsMap(creds);
77
+ return new Promise((resolve, reject) => {
78
+ mod.deeplake_open(datasetPath, credsMap, token).then((dataset, error) => {
79
+ if (error)
80
+ reject(new Error(error));
81
+ else
82
+ resolve(dataset);
83
+ });
84
+ credsMap.delete();
85
+ });
86
+ }
87
+ export function deeplakeExists(datasetPath, creds, token) {
88
+ const mod = getWasmModule();
89
+ // deeplake_exists may not be available in older WASM builds
90
+ if (typeof mod.deeplake_exists !== 'function') {
91
+ // Fallback: try to open the dataset; if it fails, it doesn't exist
92
+ const credsMap = buildCredsMap(creds);
93
+ return new Promise((resolve) => {
94
+ mod.deeplake_open(datasetPath, credsMap, token).then((dataset, error) => {
95
+ if (error) {
96
+ resolve(false);
97
+ }
98
+ else {
99
+ if (dataset && typeof dataset.delete === 'function') {
100
+ dataset.delete();
101
+ }
102
+ resolve(true);
103
+ }
104
+ });
105
+ credsMap.delete();
106
+ });
107
+ }
108
+ const credsMap = buildCredsMap(creds);
109
+ return new Promise((resolve, reject) => {
110
+ mod.deeplake_exists(datasetPath, credsMap, token).then((exists, error) => {
111
+ if (error)
112
+ reject(new Error(error));
113
+ else
114
+ resolve(!!exists);
115
+ });
116
+ credsMap.delete();
117
+ });
118
+ }
119
+ export async function deeplakeAppend(dataset, batch) {
120
+ const mod = getWasmModule();
121
+ const keys = Object.keys(batch);
122
+ if (keys.length === 0)
123
+ return;
124
+ const colMap = new mod.MapStringObject();
125
+ for (const key of keys) {
126
+ const col = batch[key];
127
+ // Convert Buffers to Uint8Array for WASM compatibility.
128
+ if (col.length > 0 &&
129
+ ((typeof Buffer !== 'undefined' && Buffer.isBuffer(col[0])) ||
130
+ col[0] instanceof Uint8Array)) {
131
+ const converted = col.map((v) => typeof Buffer !== 'undefined' && Buffer.isBuffer(v)
132
+ ? new Uint8Array(v.buffer, v.byteOffset, v.byteLength)
133
+ : v);
134
+ colMap.set(key, converted);
135
+ }
136
+ else {
137
+ colMap.set(key, col);
138
+ }
139
+ }
140
+ await new Promise((resolve, reject) => {
141
+ dataset.appendMap(colMap).then((error) => {
142
+ if (error)
143
+ reject(new Error(error));
144
+ else
145
+ resolve();
146
+ colMap.delete();
147
+ });
148
+ });
149
+ }
150
+ export function deeplakeCommit(dataset, message) {
151
+ return new Promise((resolve, reject) => {
152
+ dataset.commit(message ?? null).then((error) => {
153
+ if (error)
154
+ reject(new Error(error));
155
+ else
156
+ resolve();
157
+ });
158
+ });
159
+ }
160
+ export function deeplakeAddColumn(dataset, name, typeName) {
161
+ dataset.addColumnByStringType(name, typeName);
162
+ }
163
+ export function deeplakeDeleteDataset(datasetPath, creds, token) {
164
+ const mod = getWasmModule();
165
+ const credsMap = buildCredsMap(creds);
166
+ return new Promise((resolve, reject) => {
167
+ mod.deeplake_delete(datasetPath, credsMap, token).then((error) => {
168
+ if (error)
169
+ reject(new Error(error));
170
+ else
171
+ resolve();
172
+ });
173
+ credsMap.delete();
174
+ });
175
+ }
176
+ /**
177
+ * Unwrap a WASM ndarray value to a plain JS value.
178
+ * Scalar ndarrays (shape []) become a single number.
179
+ * 1D ndarrays become a regular Array.
180
+ * Strings and other primitives pass through unchanged.
181
+ */
182
+ export function unwrapNdArray(val) {
183
+ if (val == null || typeof val !== 'object')
184
+ return val;
185
+ // Check if it's a WASM ndarray (deeplake_Buffer)
186
+ if (typeof val.dtype !== 'string' || !('data' in val && 'shape' in val))
187
+ return val;
188
+ const shape = val.shape;
189
+ const data = val.data;
190
+ // When shape is empty (scalar), C++ returns the raw value for .data (not a TypedArray).
191
+ // int64/uint64 scalars come back as BigInt — convert to Number for convenience.
192
+ let result;
193
+ if (shape.length === 0) {
194
+ result = typeof data === 'bigint' ? Number(data) : data;
195
+ }
196
+ else {
197
+ // 1D+: data is a TypedArray. BigInt64Array/BigUint64Array elements are BigInt.
198
+ result = (data instanceof BigInt64Array || data instanceof BigUint64Array)
199
+ ? Array.from(data, (v) => Number(v))
200
+ : Array.from(data);
201
+ }
202
+ // Clean up the WASM object
203
+ if (typeof val.delete === 'function') {
204
+ try {
205
+ val.delete();
206
+ }
207
+ catch { /* ignore */ }
208
+ }
209
+ return result;
210
+ }
211
+ export function deeplakeNumRows(dataset) {
212
+ return dataset.rowsCount();
213
+ }
214
+ export function deeplakeGetField(dataset, rowIndex, column) {
215
+ const row = dataset.get(rowIndex);
216
+ return new Promise((resolve, reject) => {
217
+ row.get(column).then((result, error) => {
218
+ if (error)
219
+ reject(new Error(error));
220
+ else
221
+ resolve(unwrapNdArray(result));
222
+ row.delete();
223
+ });
224
+ });
225
+ }
226
+ export async function deeplakeGetRow(dataset, rowIndex, columns) {
227
+ const result = {};
228
+ for (const col of columns) {
229
+ result[col] = await deeplakeGetField(dataset, rowIndex, col);
230
+ }
231
+ return result;
232
+ }
233
+ export function deeplakeGetColumnData(dataset, columnName, start, end) {
234
+ const column = dataset.getByColumnName(columnName);
235
+ return new Promise((resolve, reject) => {
236
+ column.getBySlice({ start, stop: end }).then((result, error) => {
237
+ if (error)
238
+ reject(new Error(error));
239
+ else
240
+ resolve(unwrapNdArray(result));
241
+ column.delete();
242
+ });
243
+ });
244
+ }
245
+ export function deeplakeSetField(dataset, rowIndex, column, value) {
246
+ const row = dataset.get(rowIndex);
247
+ return new Promise((resolve, reject) => {
248
+ row.set(column, value).then((error) => {
249
+ if (error)
250
+ reject(new Error(error));
251
+ else
252
+ resolve();
253
+ row.delete();
254
+ });
255
+ });
256
+ }
257
+ export async function deeplakeSetRow(dataset, rowIndex, data) {
258
+ for (const [col, val] of Object.entries(data)) {
259
+ await deeplakeSetField(dataset, rowIndex, col, val);
260
+ }
261
+ }
262
+ /**
263
+ * Fetch a sample by DeepLake internal column_id and row_id.
264
+ * Used to resolve DLREF data references returned by VIDEO columns.
265
+ * rowId is bigint because DeepLake row IDs use the full int64 range.
266
+ */
267
+ export function deeplakeGetSampleByRef(dataset, columnId, rowId) {
268
+ return new Promise((resolve, reject) => {
269
+ dataset.getSampleByRef(columnId, rowId.toString()).then((result, error) => {
270
+ if (error)
271
+ reject(new Error(error));
272
+ else
273
+ resolve(unwrapNdArray(result));
274
+ });
275
+ });
276
+ }
277
+ export function deeplakeRelease(obj) {
278
+ try {
279
+ if (obj && typeof obj.delete === 'function') {
280
+ obj.delete();
281
+ }
282
+ }
283
+ catch {
284
+ // ignore cleanup errors
285
+ }
286
+ }
287
+ //# sourceMappingURL=wasm-common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasm-common.js","sourceRoot":"","sources":["../../../src/shared/wasm-common.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { ManagedQueryBuilder } from '../shared/database';
2
+ import type { IngestOptions, IngestResult, ManagedClientOptions, QueryRow } from '../shared/types';
3
+ export declare class ManagedClient {
4
+ readonly token: string;
5
+ readonly workspaceId: string;
6
+ readonly apiUrl: string;
7
+ orgId: string;
8
+ private _rootPath;
9
+ private _orgIdResolved;
10
+ private _orgIdPromise;
11
+ constructor(options: ManagedClientOptions);
12
+ private ensureInitialized;
13
+ private _resolveOrgId;
14
+ /**
15
+ * Start building a fluent query against the given table.
16
+ *
17
+ * @example
18
+ * const rows = await client.table("videos").select("id", "text").limit(10).execute();
19
+ */
20
+ table(tableName: string): ManagedQueryBuilder;
21
+ getRootPath(): Promise<string>;
22
+ getDatasetPath(tableName: string): Promise<string>;
23
+ getStorageCreds(mode?: string): Promise<import("../shared/types").StorageCreds>;
24
+ applyStorageCreds(mode?: string): Promise<void>;
25
+ ingest(tableName: string, data?: Record<string, unknown[]> | null, options?: IngestOptions): Promise<IngestResult>;
26
+ private writeBatches;
27
+ private createTableViaApi;
28
+ query(sql: string, params?: unknown[]): Promise<QueryRow[]>;
29
+ listTables(): Promise<string[]>;
30
+ dropTable(tableName: string, ifExists?: boolean): Promise<void>;
31
+ /**
32
+ * Create a `deeplake_index` on a column.
33
+ *
34
+ * Suitable for EMBEDDING columns (vector similarity search) and TEXT
35
+ * columns (BM25 text search). This is a no-op if the index already exists.
36
+ */
37
+ createIndex(tableName: string, column: string): Promise<void>;
38
+ openTable(tableName: string): Promise<any>;
39
+ getField(tableName: string, rowIndex: number, column: string): Promise<any>;
40
+ getRow(tableName: string, rowIndex: number, columns: string[]): Promise<Record<string, any>>;
41
+ getColumnData(tableName: string, column: string, start: number, end: number): Promise<any>;
42
+ getNumRows(tableName: string): Promise<number>;
43
+ getSampleByRef(tableName: string, columnId: number, rowId: bigint): Promise<any>;
44
+ setField(tableName: string, rowIndex: number, column: string, value: any): Promise<void>;
45
+ setRow(tableName: string, rowIndex: number, data: Record<string, any>): Promise<void>;
46
+ private detectImageColumns;
47
+ private static THUMBNAIL_SIZES;
48
+ }
49
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/node/client.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAUzD,OAAO,KAAK,EAGV,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,QAAQ,EAET,MAAM,iBAAiB,CAAC;AAoBzB,qBAAa,aAAa;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IAEd,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,aAAa,CAA8B;gBAEvC,OAAO,EAAE,oBAAoB;YAsB3B,iBAAiB;YAQjB,aAAa;IAU3B;;;;;OAKG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB;IASvC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAkB9B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAYlD,eAAe,CAAC,IAAI,GAAE,MAAoB;IAW1C,iBAAiB,CAAC,IAAI,GAAE,MAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAS5D,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EACvC,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC;YA+JV,YAAY;YAsMZ,iBAAiB;IA+BzB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAuC3D,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAU/B,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB3E;;;;;OAKG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB7D,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAa1C,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAS3E,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IASzB,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,GAAG,CAAC;IAST,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAS9C,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,GAAG,CAAC;IAST,QAAQ,CACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,GAAG,GACT,OAAO,CAAC,IAAI,CAAC;IAUV,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,IAAI,CAAC;IAchB,OAAO,CAAC,kBAAkB;IAgC1B,OAAO,CAAC,MAAM,CAAC,eAAe,CAEnB;CACZ"}