@memberjunction/storage 2.31.0 → 2.32.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 (37) hide show
  1. package/dist/drivers/AWSFileStorage.d.ts +26 -1
  2. package/dist/drivers/AWSFileStorage.d.ts.map +1 -1
  3. package/dist/drivers/AWSFileStorage.js +287 -13
  4. package/dist/drivers/AWSFileStorage.js.map +1 -1
  5. package/dist/drivers/AzureFileStorage.d.ts +22 -1
  6. package/dist/drivers/AzureFileStorage.d.ts.map +1 -1
  7. package/dist/drivers/AzureFileStorage.js +264 -20
  8. package/dist/drivers/AzureFileStorage.js.map +1 -1
  9. package/dist/drivers/BoxFileStorage.d.ts +73 -0
  10. package/dist/drivers/BoxFileStorage.d.ts.map +1 -0
  11. package/dist/drivers/BoxFileStorage.js +517 -0
  12. package/dist/drivers/BoxFileStorage.js.map +1 -0
  13. package/dist/drivers/DropboxFileStorage.d.ts +73 -0
  14. package/dist/drivers/DropboxFileStorage.d.ts.map +1 -0
  15. package/dist/drivers/DropboxFileStorage.js +463 -0
  16. package/dist/drivers/DropboxFileStorage.js.map +1 -0
  17. package/dist/drivers/GoogleDriveFileStorage.d.ts +73 -0
  18. package/dist/drivers/GoogleDriveFileStorage.d.ts.map +1 -0
  19. package/dist/drivers/GoogleDriveFileStorage.js +542 -0
  20. package/dist/drivers/GoogleDriveFileStorage.js.map +1 -0
  21. package/dist/drivers/GoogleFileStorage.d.ts +20 -1
  22. package/dist/drivers/GoogleFileStorage.d.ts.map +1 -1
  23. package/dist/drivers/GoogleFileStorage.js +215 -2
  24. package/dist/drivers/GoogleFileStorage.js.map +1 -1
  25. package/dist/drivers/SharePointFileStorage.d.ts +81 -0
  26. package/dist/drivers/SharePointFileStorage.d.ts.map +1 -0
  27. package/dist/drivers/SharePointFileStorage.js +490 -0
  28. package/dist/drivers/SharePointFileStorage.js.map +1 -0
  29. package/dist/generic/FileStorageBase.d.ts +119 -0
  30. package/dist/generic/FileStorageBase.d.ts.map +1 -1
  31. package/dist/generic/FileStorageBase.js +18 -1
  32. package/dist/generic/FileStorageBase.js.map +1 -1
  33. package/dist/index.d.ts +4 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +4 -0
  36. package/dist/index.js.map +1 -1
  37. package/package.json +12 -4
@@ -0,0 +1,463 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || function (mod) {
25
+ if (mod && mod.__esModule) return mod;
26
+ var result = {};
27
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
+ __setModuleDefault(result, mod);
29
+ return result;
30
+ };
31
+ var __metadata = (this && this.__metadata) || function (k, v) {
32
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.DropboxFileStorage = void 0;
36
+ const dropbox_1 = require("dropbox");
37
+ const global_1 = require("@memberjunction/global");
38
+ const env = __importStar(require("env-var"));
39
+ const mime = __importStar(require("mime-types"));
40
+ const FileStorageBase_1 = require("../generic/FileStorageBase");
41
+ let DropboxFileStorage = class DropboxFileStorage extends FileStorageBase_1.FileStorageBase {
42
+ constructor() {
43
+ super();
44
+ this.providerName = 'Dropbox';
45
+ // Dropbox auth can be via access token or refresh token
46
+ const accessToken = env.get('STORAGE_DROPBOX_ACCESS_TOKEN').asString();
47
+ const refreshToken = env.get('STORAGE_DROPBOX_REFRESH_TOKEN').asString();
48
+ const appKey = env.get('STORAGE_DROPBOX_APP_KEY').asString();
49
+ const appSecret = env.get('STORAGE_DROPBOX_APP_SECRET').asString();
50
+ if (accessToken) {
51
+ // Use access token directly
52
+ this._client = new dropbox_1.Dropbox({ accessToken });
53
+ }
54
+ else if (refreshToken && appKey && appSecret) {
55
+ // Use refresh token with app credentials
56
+ this._client = new dropbox_1.Dropbox({
57
+ refreshToken,
58
+ clientId: appKey,
59
+ clientSecret: appSecret
60
+ });
61
+ }
62
+ else {
63
+ throw new Error('Dropbox storage requires either STORAGE_DROPBOX_ACCESS_TOKEN or STORAGE_DROPBOX_REFRESH_TOKEN with APP_KEY and APP_SECRET');
64
+ }
65
+ // Root path, optional (defaults to empty which is root)
66
+ this._rootPath = env.get('STORAGE_DROPBOX_ROOT_PATH').default('').asString();
67
+ // Ensure root path starts with / if not empty
68
+ if (this._rootPath && !this._rootPath.startsWith('/')) {
69
+ this._rootPath = '/' + this._rootPath;
70
+ }
71
+ }
72
+ /**
73
+ * Normalize a path to be compatible with Dropbox API
74
+ */
75
+ _normalizePath(path) {
76
+ // Combine root path with the given path
77
+ let fullPath = path;
78
+ if (this._rootPath) {
79
+ fullPath = path ?
80
+ (path.startsWith('/') ? this._rootPath + path : this._rootPath + '/' + path) :
81
+ this._rootPath;
82
+ }
83
+ else if (!fullPath.startsWith('/') && fullPath !== '') {
84
+ fullPath = '/' + fullPath;
85
+ }
86
+ // For root, Dropbox uses empty string instead of "/"
87
+ if (fullPath === '/') {
88
+ return '';
89
+ }
90
+ return fullPath;
91
+ }
92
+ /**
93
+ * Get metadata for a file or folder
94
+ */
95
+ async _getMetadata(path) {
96
+ const normalizedPath = this._normalizePath(path);
97
+ try {
98
+ const response = await this._client.filesGetMetadata({
99
+ path: normalizedPath,
100
+ include_media_info: false
101
+ });
102
+ return response.result;
103
+ }
104
+ catch (error) {
105
+ throw new Error(`Item not found: ${path} (${error.message})`);
106
+ }
107
+ }
108
+ /**
109
+ * Converts a Dropbox file/folder to StorageObjectMetadata
110
+ */
111
+ _convertToMetadata(item, parentPath = '') {
112
+ const isDirectory = item['.tag'] === 'folder';
113
+ const name = item.name;
114
+ // Extract path from item.path_display
115
+ let path = '';
116
+ if (item.path_display) {
117
+ // Remove file name from path
118
+ const pathParts = item.path_display.split('/');
119
+ pathParts.pop();
120
+ path = pathParts.join('/');
121
+ // Remove root path if present
122
+ if (this._rootPath && path.startsWith(this._rootPath)) {
123
+ path = path.substring(this._rootPath.length);
124
+ }
125
+ // Remove leading slash
126
+ if (path.startsWith('/')) {
127
+ path = path.substring(1);
128
+ }
129
+ }
130
+ // Use parentPath if provided
131
+ if (parentPath) {
132
+ path = parentPath;
133
+ }
134
+ // Construct full path
135
+ const fullPath = path ? `${path}/${name}` : name;
136
+ return {
137
+ name,
138
+ path,
139
+ fullPath,
140
+ size: isDirectory ? 0 : (item.size || 0),
141
+ contentType: isDirectory ?
142
+ 'application/x-directory' :
143
+ (mime.lookup(name) || 'application/octet-stream'),
144
+ lastModified: isDirectory ? new Date() : new Date(item.server_modified || Date.now()),
145
+ isDirectory,
146
+ customMetadata: {
147
+ id: item.id,
148
+ rev: item.rev
149
+ }
150
+ };
151
+ }
152
+ /**
153
+ * Dropbox doesn't support pre-auth upload URLs directly
154
+ */
155
+ async CreatePreAuthUploadUrl(objectName) {
156
+ // Dropbox doesn't support pre-signed URLs for uploads in the same way as S3
157
+ // Use PutObject method for uploads instead
158
+ this.throwUnsupportedOperationError('CreatePreAuthUploadUrl');
159
+ }
160
+ /**
161
+ * Create a pre-authenticated download URL
162
+ */
163
+ async CreatePreAuthDownloadUrl(objectName) {
164
+ try {
165
+ const normalizedPath = this._normalizePath(objectName);
166
+ // Create a temporary download link
167
+ const response = await this._client.filesGetTemporaryLink({
168
+ path: normalizedPath
169
+ });
170
+ return response.result.link;
171
+ }
172
+ catch (error) {
173
+ console.error('Error creating pre-auth download URL', { objectName, error });
174
+ throw new Error(`Failed to create download URL for: ${objectName}`);
175
+ }
176
+ }
177
+ /**
178
+ * Move an object
179
+ */
180
+ async MoveObject(oldObjectName, newObjectName) {
181
+ try {
182
+ const fromPath = this._normalizePath(oldObjectName);
183
+ const toPath = this._normalizePath(newObjectName);
184
+ await this._client.filesMoveV2({
185
+ from_path: fromPath,
186
+ to_path: toPath,
187
+ autorename: false
188
+ });
189
+ return true;
190
+ }
191
+ catch (error) {
192
+ console.error('Error moving object', { oldObjectName, newObjectName, error });
193
+ return false;
194
+ }
195
+ }
196
+ /**
197
+ * Delete an object
198
+ */
199
+ async DeleteObject(objectName) {
200
+ try {
201
+ const normalizedPath = this._normalizePath(objectName);
202
+ await this._client.filesDeleteV2({
203
+ path: normalizedPath
204
+ });
205
+ return true;
206
+ }
207
+ catch (error) {
208
+ // If the path doesn't exist, consider it success for idempotency
209
+ if (error.status === 409 && error.error?.error?.['.tag'] === 'path_lookup') {
210
+ return true;
211
+ }
212
+ console.error('Error deleting object', { objectName, error });
213
+ return false;
214
+ }
215
+ }
216
+ /**
217
+ * List objects in a directory
218
+ */
219
+ async ListObjects(prefix, delimiter = '/') {
220
+ try {
221
+ const normalizedPath = this._normalizePath(prefix);
222
+ const response = await this._client.filesListFolder({
223
+ path: normalizedPath,
224
+ recursive: false,
225
+ include_media_info: false,
226
+ include_deleted: false,
227
+ include_has_explicit_shared_members: false
228
+ });
229
+ const objects = [];
230
+ const prefixes = [];
231
+ // Process entries
232
+ for (const entry of response.result.entries) {
233
+ objects.push(this._convertToMetadata(entry, prefix));
234
+ // If it's a folder, add to prefixes
235
+ if (entry['.tag'] === 'folder') {
236
+ const folderPath = prefix
237
+ ? (prefix.endsWith('/') ? `${prefix}${entry.name}` : `${prefix}/${entry.name}`)
238
+ : entry.name;
239
+ prefixes.push(`${folderPath}/`);
240
+ }
241
+ }
242
+ return { objects, prefixes };
243
+ }
244
+ catch (error) {
245
+ console.error('Error listing objects', { prefix, error });
246
+ return { objects: [], prefixes: [] };
247
+ }
248
+ }
249
+ /**
250
+ * Create a directory
251
+ */
252
+ async CreateDirectory(directoryPath) {
253
+ try {
254
+ // Remove trailing slash if present
255
+ const normalizedPath = directoryPath.endsWith('/')
256
+ ? this._normalizePath(directoryPath.substring(0, directoryPath.length - 1))
257
+ : this._normalizePath(directoryPath);
258
+ await this._client.filesCreateFolderV2({
259
+ path: normalizedPath,
260
+ autorename: false
261
+ });
262
+ return true;
263
+ }
264
+ catch (error) {
265
+ // If folder already exists, consider it success
266
+ if (error.status === 409 && error.error?.error?.['.tag'] === 'path') {
267
+ return true;
268
+ }
269
+ console.error('Error creating directory', { directoryPath, error });
270
+ return false;
271
+ }
272
+ }
273
+ /**
274
+ * Delete a directory
275
+ */
276
+ async DeleteDirectory(directoryPath, recursive = true) {
277
+ try {
278
+ // Remove trailing slash if present
279
+ const normalizedPath = directoryPath.endsWith('/')
280
+ ? this._normalizePath(directoryPath.substring(0, directoryPath.length - 1))
281
+ : this._normalizePath(directoryPath);
282
+ // Note: Dropbox API always deletes directories recursively
283
+ // If we want to prevent deleting non-empty dirs, we'd need to check contents first
284
+ if (!recursive) {
285
+ // Check if directory is empty first
286
+ const listing = await this._client.filesListFolder({
287
+ path: normalizedPath,
288
+ recursive: false
289
+ });
290
+ if (listing.result.entries.length > 0) {
291
+ throw new Error('Directory is not empty');
292
+ }
293
+ }
294
+ await this._client.filesDeleteV2({
295
+ path: normalizedPath
296
+ });
297
+ return true;
298
+ }
299
+ catch (error) {
300
+ // If the path doesn't exist, consider it success for idempotency
301
+ if (error.status === 409 && error.error?.error?.['.tag'] === 'path_lookup') {
302
+ return true;
303
+ }
304
+ console.error('Error deleting directory', { directoryPath, recursive, error });
305
+ return false;
306
+ }
307
+ }
308
+ /**
309
+ * Get object metadata
310
+ */
311
+ async GetObjectMetadata(objectName) {
312
+ try {
313
+ const metadata = await this._getMetadata(objectName);
314
+ // Parse path to get parent path
315
+ const pathParts = objectName.split('/');
316
+ pathParts.pop(); // Remove filename/foldername
317
+ const parentPath = pathParts.join('/');
318
+ return this._convertToMetadata(metadata, parentPath);
319
+ }
320
+ catch (error) {
321
+ console.error('Error getting object metadata', { objectName, error });
322
+ throw new Error(`Object not found: ${objectName}`);
323
+ }
324
+ }
325
+ /**
326
+ * Get an object's contents
327
+ */
328
+ async GetObject(objectName) {
329
+ try {
330
+ const normalizedPath = this._normalizePath(objectName);
331
+ const response = await this._client.filesDownload({
332
+ path: normalizedPath
333
+ });
334
+ // Extract file content as Buffer
335
+ // Note: In Dropbox SDK, the file content is in response.result.fileBinary
336
+ return Buffer.from(response.result.fileBinary);
337
+ }
338
+ catch (error) {
339
+ console.error('Error getting object', { objectName, error });
340
+ throw new Error(`Failed to get object: ${objectName}`);
341
+ }
342
+ }
343
+ /**
344
+ * Upload an object
345
+ */
346
+ async PutObject(objectName, data, contentType, metadata) {
347
+ try {
348
+ const normalizedPath = this._normalizePath(objectName);
349
+ // For smaller files (<150MB), use simple upload
350
+ if (data.length < 150 * 1024 * 1024) {
351
+ await this._client.filesUpload({
352
+ path: normalizedPath,
353
+ contents: data,
354
+ mode: { '.tag': 'overwrite' },
355
+ autorename: false,
356
+ mute: true
357
+ });
358
+ }
359
+ else {
360
+ // For larger files, use session upload
361
+ const CHUNK_SIZE = 8 * 1024 * 1024; // 8MB chunks
362
+ // Start upload session
363
+ const sessionStart = await this._client.filesUploadSessionStart({
364
+ close: false,
365
+ contents: data.slice(0, CHUNK_SIZE)
366
+ });
367
+ const sessionId = sessionStart.result.session_id;
368
+ let offset = CHUNK_SIZE;
369
+ // Upload the remaining chunks
370
+ while (offset < data.length) {
371
+ const chunk = data.slice(offset, Math.min(offset + CHUNK_SIZE, data.length));
372
+ const isLastChunk = offset + chunk.length >= data.length;
373
+ if (isLastChunk) {
374
+ // Finish the session with the last chunk
375
+ await this._client.filesUploadSessionFinish({
376
+ cursor: {
377
+ session_id: sessionId,
378
+ offset: offset
379
+ },
380
+ commit: {
381
+ path: normalizedPath,
382
+ mode: { '.tag': 'overwrite' },
383
+ autorename: false,
384
+ mute: true
385
+ },
386
+ contents: chunk
387
+ });
388
+ }
389
+ else {
390
+ // Append chunk to session
391
+ await this._client.filesUploadSessionAppendV2({
392
+ cursor: {
393
+ session_id: sessionId,
394
+ offset: offset
395
+ },
396
+ close: false,
397
+ contents: chunk
398
+ });
399
+ }
400
+ offset += chunk.length;
401
+ }
402
+ }
403
+ return true;
404
+ }
405
+ catch (error) {
406
+ console.error('Error putting object', { objectName, error });
407
+ return false;
408
+ }
409
+ }
410
+ /**
411
+ * Copy an object
412
+ */
413
+ async CopyObject(sourceObjectName, destinationObjectName) {
414
+ try {
415
+ const fromPath = this._normalizePath(sourceObjectName);
416
+ const toPath = this._normalizePath(destinationObjectName);
417
+ await this._client.filesCopyV2({
418
+ from_path: fromPath,
419
+ to_path: toPath,
420
+ autorename: false
421
+ });
422
+ return true;
423
+ }
424
+ catch (error) {
425
+ console.error('Error copying object', { sourceObjectName, destinationObjectName, error });
426
+ return false;
427
+ }
428
+ }
429
+ /**
430
+ * Check if an object exists
431
+ */
432
+ async ObjectExists(objectName) {
433
+ try {
434
+ await this._getMetadata(objectName);
435
+ return true;
436
+ }
437
+ catch (error) {
438
+ return false;
439
+ }
440
+ }
441
+ /**
442
+ * Check if a directory exists
443
+ */
444
+ async DirectoryExists(directoryPath) {
445
+ try {
446
+ // Remove trailing slash if present
447
+ const normalizedPath = directoryPath.endsWith('/')
448
+ ? directoryPath.substring(0, directoryPath.length - 1)
449
+ : directoryPath;
450
+ const item = await this._getMetadata(normalizedPath);
451
+ return item['.tag'] === 'folder';
452
+ }
453
+ catch (error) {
454
+ return false;
455
+ }
456
+ }
457
+ };
458
+ exports.DropboxFileStorage = DropboxFileStorage;
459
+ exports.DropboxFileStorage = DropboxFileStorage = __decorate([
460
+ (0, global_1.RegisterClass)(FileStorageBase_1.FileStorageBase, 'Dropbox Storage'),
461
+ __metadata("design:paramtypes", [])
462
+ ], DropboxFileStorage);
463
+ //# sourceMappingURL=DropboxFileStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropboxFileStorage.js","sourceRoot":"","sources":["../../src/drivers/DropboxFileStorage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ /// <reference types="node" />
2
+ import { CreatePreAuthUploadUrlPayload, FileStorageBase, StorageListResult, StorageObjectMetadata } from '../generic/FileStorageBase';
3
+ export declare class GoogleDriveFileStorage extends FileStorageBase {
4
+ protected readonly providerName = "Google Drive";
5
+ private _drive;
6
+ private _rootFolderId?;
7
+ constructor();
8
+ /**
9
+ * Finds a file or folder by path
10
+ */
11
+ private _getItemByPath;
12
+ /**
13
+ * Finds a parent folder by path and creates it if it doesn't exist
14
+ */
15
+ private _getOrCreateParentFolder;
16
+ /**
17
+ * Helper method to convert Google Drive file to StorageObjectMetadata
18
+ */
19
+ private _fileToMetadata;
20
+ /**
21
+ * PreAuth upload URLs are not directly supported in Google Drive
22
+ */
23
+ CreatePreAuthUploadUrl(objectName: string): Promise<CreatePreAuthUploadUrlPayload>;
24
+ /**
25
+ * Create a pre-authenticated download URL
26
+ */
27
+ CreatePreAuthDownloadUrl(objectName: string): Promise<string>;
28
+ /**
29
+ * Move an object from one location to another
30
+ */
31
+ MoveObject(oldObjectName: string, newObjectName: string): Promise<boolean>;
32
+ /**
33
+ * Delete an object
34
+ */
35
+ DeleteObject(objectName: string): Promise<boolean>;
36
+ /**
37
+ * List objects in a directory
38
+ */
39
+ ListObjects(prefix: string, delimiter?: string): Promise<StorageListResult>;
40
+ /**
41
+ * Create a directory
42
+ */
43
+ CreateDirectory(directoryPath: string): Promise<boolean>;
44
+ /**
45
+ * Delete a directory and optionally its contents
46
+ */
47
+ DeleteDirectory(directoryPath: string, recursive?: boolean): Promise<boolean>;
48
+ /**
49
+ * Get object metadata
50
+ */
51
+ GetObjectMetadata(objectName: string): Promise<StorageObjectMetadata>;
52
+ /**
53
+ * Get object contents
54
+ */
55
+ GetObject(objectName: string): Promise<Buffer>;
56
+ /**
57
+ * Upload an object
58
+ */
59
+ PutObject(objectName: string, data: Buffer, contentType?: string, metadata?: Record<string, string>): Promise<boolean>;
60
+ /**
61
+ * Copy an object
62
+ */
63
+ CopyObject(sourceObjectName: string, destinationObjectName: string): Promise<boolean>;
64
+ /**
65
+ * Check if an object exists
66
+ */
67
+ ObjectExists(objectName: string): Promise<boolean>;
68
+ /**
69
+ * Check if a directory exists
70
+ */
71
+ DirectoryExists(directoryPath: string): Promise<boolean>;
72
+ }
73
+ //# sourceMappingURL=GoogleDriveFileStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GoogleDriveFileStorage.d.ts","sourceRoot":"","sources":["../../src/drivers/GoogleDriveFileStorage.ts"],"names":[],"mappings":";AAIA,OAAO,EACL,6BAA6B,EAC7B,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,4BAA4B,CAAC;AAEpC,qBACa,sBAAuB,SAAQ,eAAe;IACzD,SAAS,CAAC,QAAQ,CAAC,YAAY,kBAAkB;IACjD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,aAAa,CAAC,CAAS;;IAkC/B;;OAEG;YACW,cAAc;IAgD5B;;OAEG;YACW,wBAAwB;IA6CtC;;OAEG;IACH,OAAO,CAAC,eAAe;IAmBvB;;OAEG;IACU,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAM/F;;OAEG;IACU,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiC1E;;OAEG;IACU,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwCvF;;OAEG;IACU,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2B/D;;OAEG;IACU,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA0CrF;;OAEG;IACU,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkCrE;;OAEG;IACU,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAwCxF;;OAEG;IACU,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAqBlF;;OAEG;IACU,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwB3D;;OAEG;IACU,SAAS,CACpB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,OAAO,CAAC,OAAO,CAAC;IAqDnB;;OAEG;IACU,UAAU,CAAC,gBAAgB,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiClG;;OAEG;IACU,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS/D;;OAEG;IACU,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAatE"}