@transcend-io/cli 6.26.2 → 6.26.3
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.
- package/README.md +17 -0
- package/build/cli-cron-pull-identifiers.js +25 -6
- package/build/cli-cron-pull-identifiers.js.map +1 -1
- package/build/cron/writeCsv.d.ts +9 -0
- package/build/cron/writeCsv.d.ts.map +1 -1
- package/build/cron/writeCsv.js +36 -1
- package/build/cron/writeCsv.js.map +1 -1
- package/build/tsbuildinfo +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1752,6 +1752,9 @@ yarn tr-request-export --auth=$TRANSCEND_API_KEY --file=./path/to/file.csv
|
|
|
1752
1752
|
If you are using the cron job integration, you can run this command to pull the outstanding identifiers
|
|
1753
1753
|
for the data silo to a CSV.
|
|
1754
1754
|
|
|
1755
|
+
For large datasets, the output will be automatically split into multiple CSV files to avoid file system size limits.
|
|
1756
|
+
Use the `--chunkSize` parameter to control the maximum number of rows per file.
|
|
1757
|
+
|
|
1755
1758
|
Read more at https://docs.transcend.io/docs/integrations/cron-job-integration.
|
|
1756
1759
|
|
|
1757
1760
|
https://user-images.githubusercontent.com/10264973/205483055-f4050645-bdf5-4ea2-8464-3183abd63074.mov
|
|
@@ -1774,6 +1777,7 @@ The API key must be associated to the ID of the integration/data silo that is be
|
|
|
1774
1777
|
| sombraAuth | The sombra internal key, use for additional authentication when self-hosting sombra. | string | N/A | false |
|
|
1775
1778
|
| pageLimit | The page limit to use when pulling in pages of identifiers. | number | 100 | false |
|
|
1776
1779
|
| skipRequestCount | Whether to skip the count of all outstanding requests. This is required to render the progress bar, but can take a long time to run if you have a large number of outstanding requests to process. In that case, we recommend setting skipRequestCount=true so that you can still proceed with fetching the identifiers. | boolean | false | false |
|
|
1780
|
+
| chunkSize | Maximum number of rows per CSV file. For large datasets, the output will be automatically split into multiple files to avoid file system size limits. Each file will contain at most this many rows. | number | 100000 | false |
|
|
1777
1781
|
|
|
1778
1782
|
#### Usage
|
|
1779
1783
|
|
|
@@ -1809,6 +1813,19 @@ yarn tr-cron-pull-identifiers --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf
|
|
|
1809
1813
|
--pageLimit=300
|
|
1810
1814
|
```
|
|
1811
1815
|
|
|
1816
|
+
Specifying the chunk size for large datasets to avoid file size limits (defaults to 100,000 rows per file).
|
|
1817
|
+
|
|
1818
|
+
```sh
|
|
1819
|
+
yarn tr-cron-pull-identifiers --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --actions=ERASURE \
|
|
1820
|
+
--chunkSize=50000
|
|
1821
|
+
```
|
|
1822
|
+
|
|
1823
|
+
**Note:** For large datasets exceeding the chunk size, multiple CSV files will be created automatically:
|
|
1824
|
+
|
|
1825
|
+
- `filename_part01_of_05.csv` (50,000 rows)
|
|
1826
|
+
- `filename_part02_of_05.csv` (50,000 rows)
|
|
1827
|
+
- ... and so on
|
|
1828
|
+
|
|
1812
1829
|
### tr-cron-mark-identifiers-completed
|
|
1813
1830
|
|
|
1814
1831
|
This command takes the output of `tr-cron-pull-identifiers` and notifies Transcend that all of the requests in the CSV have been processed.
|
|
@@ -15,23 +15,28 @@ const requests_1 = require("./requests");
|
|
|
15
15
|
/**
|
|
16
16
|
* Pull the set of active identifiers for a cron job silo.
|
|
17
17
|
*
|
|
18
|
+
* For large datasets, the output will be automatically split into multiple CSV files
|
|
19
|
+
* to avoid file system size limits. Use --chunkSize to control the number of rows per file.
|
|
20
|
+
*
|
|
18
21
|
* Requires an API key with scope for the cron integration being checked on.
|
|
19
22
|
*
|
|
20
23
|
* Dev Usage:
|
|
21
24
|
* yarn ts-node ./src/cli-cron-pull-identifiers.ts --auth=$TRANSCEND_API_KEY \
|
|
22
25
|
* --dataSiloId=92636cda-b7c6-48c6-b1b1-2df574596cbc \
|
|
23
26
|
* --actions=ERASURE \
|
|
24
|
-
* --file=/Users/michaelfarrell/Desktop/test.csv
|
|
27
|
+
* --file=/Users/michaelfarrell/Desktop/test.csv \
|
|
28
|
+
* --chunkSize=100000
|
|
25
29
|
*
|
|
26
30
|
* Standard usage:
|
|
27
31
|
* yarn tr-cron-pull-identifiers --auth=$TRANSCEND_API_KEY \
|
|
28
32
|
* --dataSiloId=92636cda-b7c6-48c6-b1b1-2df574596cbc \
|
|
29
33
|
* --actions=ERASURE \
|
|
30
|
-
* --file=/Users/michaelfarrell/Desktop/test.csv
|
|
34
|
+
* --file=/Users/michaelfarrell/Desktop/test.csv \
|
|
35
|
+
* --chunkSize=100000
|
|
31
36
|
*/
|
|
32
37
|
async function main() {
|
|
33
38
|
// Parse command line arguments
|
|
34
|
-
const { file = './cron-identifiers.csv', transcendUrl = constants_1.DEFAULT_TRANSCEND_API, auth, sombraAuth, dataSiloId, actions, pageLimit = '100', skipRequestCount = false, } = (0, yargs_parser_1.default)(process.argv.slice(2));
|
|
39
|
+
const { file = './cron-identifiers.csv', transcendUrl = constants_1.DEFAULT_TRANSCEND_API, auth, sombraAuth, dataSiloId, actions, pageLimit = '100', skipRequestCount = false, chunkSize = '100000', } = (0, yargs_parser_1.default)(process.argv.slice(2));
|
|
35
40
|
// Ensure auth is passed
|
|
36
41
|
if (!auth) {
|
|
37
42
|
logger_1.logger.error(colors_1.default.red('A Transcend API key must be provided. You can specify using --auth=$TRANSCEND_API_KEY'));
|
|
@@ -58,6 +63,12 @@ async function main() {
|
|
|
58
63
|
`Expected one of: \n${Object.values(privacy_types_1.RequestAction).join('\n')}`));
|
|
59
64
|
process.exit(1);
|
|
60
65
|
}
|
|
66
|
+
// Validate chunk size
|
|
67
|
+
const parsedChunkSize = parseInt(chunkSize, 10);
|
|
68
|
+
if (Number.isNaN(parsedChunkSize) || parsedChunkSize <= 0) {
|
|
69
|
+
logger_1.logger.error(colors_1.default.red(`Invalid chunk size: "${chunkSize}". Must be a positive integer.`));
|
|
70
|
+
process.exit(1);
|
|
71
|
+
}
|
|
61
72
|
// Pull down outstanding identifiers
|
|
62
73
|
const { identifiersFormattedForCsv } = await (0, cron_1.pullCustomSiloOutstandingIdentifiers)({
|
|
63
74
|
transcendUrl,
|
|
@@ -68,10 +79,18 @@ async function main() {
|
|
|
68
79
|
dataSiloId,
|
|
69
80
|
skipRequestCount: skipRequestCount === 'true',
|
|
70
81
|
});
|
|
71
|
-
// Write CSV
|
|
82
|
+
// Write CSV (split into multiple files if too large)
|
|
72
83
|
const headers = (0, uniq_1.default)(identifiersFormattedForCsv.map((d) => Object.keys(d)).flat());
|
|
73
|
-
(0, cron_1.
|
|
74
|
-
|
|
84
|
+
const writtenFiles = await (0, cron_1.writeLargeCsv)(file, identifiersFormattedForCsv, headers, parsedChunkSize);
|
|
85
|
+
if (writtenFiles.length === 1) {
|
|
86
|
+
logger_1.logger.info(colors_1.default.green(`Successfully wrote ${identifiersFormattedForCsv.length} identifiers to file "${file}"`));
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
logger_1.logger.info(colors_1.default.green(`Successfully wrote ${identifiersFormattedForCsv.length} identifiers to ${writtenFiles.length} files:`));
|
|
90
|
+
writtenFiles.forEach((fileName) => {
|
|
91
|
+
logger_1.logger.info(colors_1.default.green(` - ${fileName}`));
|
|
92
|
+
});
|
|
93
|
+
}
|
|
75
94
|
}
|
|
76
95
|
main();
|
|
77
96
|
//# sourceMappingURL=cli-cron-pull-identifiers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-cron-pull-identifiers.js","sourceRoot":"","sources":["../src/cli-cron-pull-identifiers.ts"],"names":[],"mappings":";;;;;;AAEA,gEAAiC;AACjC,oDAA4B;AAE5B,qCAAkC;AAClC,uDAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"cli-cron-pull-identifiers.js","sourceRoot":"","sources":["../src/cli-cron-pull-identifiers.ts"],"names":[],"mappings":"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"}
|
package/build/cron/writeCsv.d.ts
CHANGED
|
@@ -23,4 +23,13 @@ export declare function appendCsvSync(filePath: string, data: ObjByString[]): vo
|
|
|
23
23
|
* @param headers - Headers
|
|
24
24
|
*/
|
|
25
25
|
export declare function writeCsv(filePath: string, data: ObjByString[], headers?: boolean | string[]): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Write a large CSV dataset to multiple files to avoid file size limits
|
|
28
|
+
*
|
|
29
|
+
* @param filePath - Base file path (will be modified to include chunk numbers)
|
|
30
|
+
* @param data - Data to write
|
|
31
|
+
* @param headers - Headers
|
|
32
|
+
* @param chunkSize - Maximum number of rows per file (default 100000)
|
|
33
|
+
*/
|
|
34
|
+
export declare function writeLargeCsv(filePath: string, data: ObjByString[], headers?: boolean | string[], chunkSize?: number): Promise<string[]>;
|
|
26
35
|
//# sourceMappingURL=writeCsv.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeCsv.d.ts","sourceRoot":"","sources":["../../src/cron/writeCsv.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAcvD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,WAAW,EAAE,EACnB,OAAO,EAAE,MAAM,EAAE,GAChB,IAAI,CAaN;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAWzE;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAC5B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,WAAW,EAAE,EACnB,OAAO,GAAE,OAAO,GAAG,MAAM,EAAS,GACjC,OAAO,CAAC,IAAI,CAAC,CAaf"}
|
|
1
|
+
{"version":3,"file":"writeCsv.d.ts","sourceRoot":"","sources":["../../src/cron/writeCsv.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAcvD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,WAAW,EAAE,EACnB,OAAO,EAAE,MAAM,EAAE,GAChB,IAAI,CAaN;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAWzE;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAC5B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,WAAW,EAAE,EACnB,OAAO,GAAE,OAAO,GAAG,MAAM,EAAS,GACjC,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,WAAW,EAAE,EACnB,OAAO,GAAE,OAAO,GAAG,MAAM,EAAS,EAClC,SAAS,SAAS,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CAiCnB"}
|
package/build/cron/writeCsv.js
CHANGED
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.writeCsv = exports.appendCsvSync = exports.writeCsvSync = void 0;
|
|
26
|
+
exports.writeLargeCsv = exports.writeCsv = exports.appendCsvSync = exports.writeCsvSync = void 0;
|
|
27
27
|
const fastcsv = __importStar(require("fast-csv"));
|
|
28
28
|
const fs_1 = require("fs");
|
|
29
29
|
/**
|
|
@@ -98,4 +98,39 @@ async function writeCsv(filePath, data, headers = true) {
|
|
|
98
98
|
});
|
|
99
99
|
}
|
|
100
100
|
exports.writeCsv = writeCsv;
|
|
101
|
+
/**
|
|
102
|
+
* Write a large CSV dataset to multiple files to avoid file size limits
|
|
103
|
+
*
|
|
104
|
+
* @param filePath - Base file path (will be modified to include chunk numbers)
|
|
105
|
+
* @param data - Data to write
|
|
106
|
+
* @param headers - Headers
|
|
107
|
+
* @param chunkSize - Maximum number of rows per file (default 100000)
|
|
108
|
+
*/
|
|
109
|
+
async function writeLargeCsv(filePath, data, headers = true, chunkSize = 100000) {
|
|
110
|
+
if (data.length <= chunkSize) {
|
|
111
|
+
// If data is small enough, write to single file
|
|
112
|
+
await writeCsv(filePath, data, headers);
|
|
113
|
+
return [filePath];
|
|
114
|
+
}
|
|
115
|
+
// Split data into chunks and write to multiple files
|
|
116
|
+
const writtenFiles = [];
|
|
117
|
+
const totalChunks = Math.ceil(data.length / chunkSize);
|
|
118
|
+
// Extract the base name and extension from the file path
|
|
119
|
+
const lastDotIndex = filePath.lastIndexOf('.');
|
|
120
|
+
const baseName = lastDotIndex !== -1 ? filePath.substring(0, lastDotIndex) : filePath;
|
|
121
|
+
const extension = lastDotIndex !== -1 ? filePath.substring(lastDotIndex) : '.csv';
|
|
122
|
+
for (let i = 0; i < totalChunks; i += 1) {
|
|
123
|
+
const start = i * chunkSize;
|
|
124
|
+
const end = Math.min(start + chunkSize, data.length);
|
|
125
|
+
const chunk = data.slice(start, end);
|
|
126
|
+
// Create filename with chunk number and zero-padding
|
|
127
|
+
const chunkNumber = String(i + 1).padStart(String(totalChunks).length, '0');
|
|
128
|
+
const chunkFilePath = `${baseName}_part${chunkNumber}_of_${totalChunks}${extension}`;
|
|
129
|
+
// eslint-disable-next-line no-await-in-loop
|
|
130
|
+
await writeCsv(chunkFilePath, chunk, headers);
|
|
131
|
+
writtenFiles.push(chunkFilePath);
|
|
132
|
+
}
|
|
133
|
+
return writtenFiles;
|
|
134
|
+
}
|
|
135
|
+
exports.writeLargeCsv = writeLargeCsv;
|
|
101
136
|
//# sourceMappingURL=writeCsv.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeCsv.js","sourceRoot":"","sources":["../../src/cron/writeCsv.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAoC;AACpC,2BAAsE;AAItE;;;;;GAKG;AACH,SAAS,cAAc,CAAC,KAAa;IACnC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACtE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;KACzC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AACD;;;;;;GAMG;AACH,SAAgB,YAAY,CAC1B,QAAgB,EAChB,IAAmB,EACnB,OAAiB;IAEjB,MAAM,IAAI,GAAe,EAAE,CAAC;IAE5B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEpD,yCAAyC;IACzC,MAAM,UAAU,GAAG,IAAI;SACpB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC/C,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,8CAA8C;IAC9C,IAAA,kBAAa,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACtC,CAAC;AAjBD,oCAiBC;AAED;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,QAAgB,EAAE,IAAmB;IACjE,2BAA2B;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAEnD,yCAAyC;IACzC,MAAM,UAAU,GAAG,IAAI;SACpB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC/C,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,sCAAsC;IACtC,IAAA,mBAAc,EAAC,QAAQ,EAAE,KAAK,UAAU,EAAE,CAAC,CAAC;AAC9C,CAAC;AAXD,sCAWC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,QAAQ,CAC5B,QAAgB,EAChB,IAAmB,EACnB,UAA8B,IAAI;IAElC,MAAM,EAAE,GAAG,IAAA,sBAAiB,EAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACpC,IAAI;YACF,OAAO;iBACJ,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC;iBACxB,IAAI,CAAC,EAAE,CAAC;iBACR,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;iBACnB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;SACnC;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,CAAC,GAAG,CAAC,CAAC;SACb;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAjBD,4BAiBC"}
|
|
1
|
+
{"version":3,"file":"writeCsv.js","sourceRoot":"","sources":["../../src/cron/writeCsv.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAoC;AACpC,2BAAsE;AAItE;;;;;GAKG;AACH,SAAS,cAAc,CAAC,KAAa;IACnC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACtE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;KACzC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AACD;;;;;;GAMG;AACH,SAAgB,YAAY,CAC1B,QAAgB,EAChB,IAAmB,EACnB,OAAiB;IAEjB,MAAM,IAAI,GAAe,EAAE,CAAC;IAE5B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEpD,yCAAyC;IACzC,MAAM,UAAU,GAAG,IAAI;SACpB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC/C,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,8CAA8C;IAC9C,IAAA,kBAAa,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACtC,CAAC;AAjBD,oCAiBC;AAED;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,QAAgB,EAAE,IAAmB;IACjE,2BAA2B;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAEnD,yCAAyC;IACzC,MAAM,UAAU,GAAG,IAAI;SACpB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC/C,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,sCAAsC;IACtC,IAAA,mBAAc,EAAC,QAAQ,EAAE,KAAK,UAAU,EAAE,CAAC,CAAC;AAC9C,CAAC;AAXD,sCAWC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,QAAQ,CAC5B,QAAgB,EAChB,IAAmB,EACnB,UAA8B,IAAI;IAElC,MAAM,EAAE,GAAG,IAAA,sBAAiB,EAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACpC,IAAI;YACF,OAAO;iBACJ,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC;iBACxB,IAAI,CAAC,EAAE,CAAC;iBACR,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;iBACnB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;SACnC;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,CAAC,GAAG,CAAC,CAAC;SACb;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAjBD,4BAiBC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,aAAa,CACjC,QAAgB,EAChB,IAAmB,EACnB,UAA8B,IAAI,EAClC,SAAS,GAAG,MAAM;IAElB,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;QAC5B,gDAAgD;QAChD,MAAM,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,OAAO,CAAC,QAAQ,CAAC,CAAC;KACnB;IAED,qDAAqD;IACrD,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAEvD,yDAAyD;IACzD,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,QAAQ,GACZ,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvE,MAAM,SAAS,GACb,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAElE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE;QACvC,MAAM,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAErC,qDAAqD;QACrD,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5E,MAAM,aAAa,GAAG,GAAG,QAAQ,QAAQ,WAAW,OAAO,WAAW,GAAG,SAAS,EAAE,CAAC;QAErF,4CAA4C;QAC5C,MAAM,QAAQ,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9C,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAClC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAtCD,sCAsCC"}
|