@memberjunction/metadata-sync 6.1.4 → 6.2.0-edge.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.
- package/dist/config.d.ts +27 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +20 -4
- package/dist/config.js.map +1 -1
- package/dist/constants/metadata-keywords.d.ts +16 -0
- package/dist/constants/metadata-keywords.d.ts.map +1 -1
- package/dist/constants/metadata-keywords.js +42 -10
- package/dist/constants/metadata-keywords.js.map +1 -1
- package/dist/index.d.ts +8 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -8
- package/dist/index.js.map +1 -1
- package/dist/lib/EntityPropertyExtractor.d.ts +20 -0
- package/dist/lib/EntityPropertyExtractor.d.ts.map +1 -1
- package/dist/lib/EntityPropertyExtractor.js +43 -1
- package/dist/lib/EntityPropertyExtractor.js.map +1 -1
- package/dist/lib/FieldExternalizer.d.ts +3 -2
- package/dist/lib/FieldExternalizer.d.ts.map +1 -1
- package/dist/lib/FieldExternalizer.js +9 -5
- package/dist/lib/FieldExternalizer.js.map +1 -1
- package/dist/lib/RecordProcessor.d.ts +11 -0
- package/dist/lib/RecordProcessor.d.ts.map +1 -1
- package/dist/lib/RecordProcessor.js +41 -7
- package/dist/lib/RecordProcessor.js.map +1 -1
- package/dist/lib/RelatedEntityHandler.d.ts +6 -0
- package/dist/lib/RelatedEntityHandler.d.ts.map +1 -1
- package/dist/lib/RelatedEntityHandler.js +15 -3
- package/dist/lib/RelatedEntityHandler.js.map +1 -1
- package/dist/lib/batch-context-index.d.ts +17 -0
- package/dist/lib/batch-context-index.d.ts.map +1 -1
- package/dist/lib/batch-context-index.js +35 -7
- package/dist/lib/batch-context-index.js.map +1 -1
- package/dist/lib/collection-resolver.d.ts +2 -0
- package/dist/lib/collection-resolver.d.ts.map +1 -1
- package/dist/lib/collection-resolver.js +5 -1
- package/dist/lib/collection-resolver.js.map +1 -1
- package/dist/lib/config-manager.d.ts +8 -0
- package/dist/lib/config-manager.d.ts.map +1 -1
- package/dist/lib/config-manager.js +25 -9
- package/dist/lib/config-manager.js.map +1 -1
- package/dist/lib/database-reference-scanner.d.ts +6 -0
- package/dist/lib/database-reference-scanner.d.ts.map +1 -1
- package/dist/lib/database-reference-scanner.js +15 -3
- package/dist/lib/database-reference-scanner.js.map +1 -1
- package/dist/lib/deletion-auditor.d.ts +6 -0
- package/dist/lib/deletion-auditor.d.ts.map +1 -1
- package/dist/lib/deletion-auditor.js +15 -3
- package/dist/lib/deletion-auditor.js.map +1 -1
- package/dist/lib/deletion-report-generator.d.ts +4 -0
- package/dist/lib/deletion-report-generator.d.ts.map +1 -1
- package/dist/lib/deletion-report-generator.js +10 -2
- package/dist/lib/deletion-report-generator.js.map +1 -1
- package/dist/lib/entity-foreign-key-helper.d.ts +8 -0
- package/dist/lib/entity-foreign-key-helper.d.ts.map +1 -1
- package/dist/lib/entity-foreign-key-helper.js +20 -4
- package/dist/lib/entity-foreign-key-helper.js.map +1 -1
- package/dist/lib/entity-subclass-guard.d.ts +6 -0
- package/dist/lib/entity-subclass-guard.d.ts.map +1 -1
- package/dist/lib/entity-subclass-guard.js +10 -2
- package/dist/lib/entity-subclass-guard.js.map +1 -1
- package/dist/lib/existing-record-files.d.ts +14 -0
- package/dist/lib/existing-record-files.d.ts.map +1 -0
- package/dist/lib/existing-record-files.js +89 -0
- package/dist/lib/existing-record-files.js.map +1 -0
- package/dist/lib/file-backup-manager.d.ts +16 -0
- package/dist/lib/file-backup-manager.d.ts.map +1 -1
- package/dist/lib/file-backup-manager.js +31 -7
- package/dist/lib/file-backup-manager.js.map +1 -1
- package/dist/lib/file-write-batch.d.ts +14 -0
- package/dist/lib/file-write-batch.d.ts.map +1 -1
- package/dist/lib/file-write-batch.js +39 -11
- package/dist/lib/file-write-batch.js.map +1 -1
- package/dist/lib/graph-provider-pool.d.ts +16 -0
- package/dist/lib/graph-provider-pool.d.ts.map +1 -1
- package/dist/lib/graph-provider-pool.js +35 -7
- package/dist/lib/graph-provider-pool.js.map +1 -1
- package/dist/lib/json-preprocessor.d.ts +4 -0
- package/dist/lib/json-preprocessor.d.ts.map +1 -1
- package/dist/lib/json-preprocessor.js +12 -4
- package/dist/lib/json-preprocessor.js.map +1 -1
- package/dist/lib/json-subproperty-externalization.d.ts +90 -0
- package/dist/lib/json-subproperty-externalization.d.ts.map +1 -0
- package/dist/lib/json-subproperty-externalization.js +159 -0
- package/dist/lib/json-subproperty-externalization.js.map +1 -0
- package/dist/lib/json-write-helper.d.ts +9 -0
- package/dist/lib/json-write-helper.d.ts.map +1 -1
- package/dist/lib/json-write-helper.js +15 -3
- package/dist/lib/json-write-helper.js.map +1 -1
- package/dist/lib/provider-utils.d.ts +10 -0
- package/dist/lib/provider-utils.d.ts.map +1 -1
- package/dist/lib/provider-utils.js +27 -7
- package/dist/lib/provider-utils.js.map +1 -1
- package/dist/lib/push-outcome.d.ts +6 -0
- package/dist/lib/push-outcome.d.ts.map +1 -1
- package/dist/lib/push-outcome.js +17 -5
- package/dist/lib/push-outcome.js.map +1 -1
- package/dist/lib/push-write-mode.d.ts +8 -0
- package/dist/lib/push-write-mode.d.ts.map +1 -1
- package/dist/lib/push-write-mode.js +20 -4
- package/dist/lib/push-write-mode.js.map +1 -1
- package/dist/lib/record-dependency-analyzer.d.ts +14 -0
- package/dist/lib/record-dependency-analyzer.d.ts.map +1 -1
- package/dist/lib/record-dependency-analyzer.js +36 -8
- package/dist/lib/record-dependency-analyzer.js.map +1 -1
- package/dist/lib/record-primary-key.d.ts +6 -0
- package/dist/lib/record-primary-key.d.ts.map +1 -1
- package/dist/lib/record-primary-key.js +15 -3
- package/dist/lib/record-primary-key.js.map +1 -1
- package/dist/lib/reference-parser.d.ts +2 -0
- package/dist/lib/reference-parser.d.ts.map +1 -1
- package/dist/lib/reference-parser.js +5 -1
- package/dist/lib/reference-parser.js.map +1 -1
- package/dist/lib/singleton-manager.d.ts +4 -0
- package/dist/lib/singleton-manager.d.ts.map +1 -1
- package/dist/lib/singleton-manager.js +10 -2
- package/dist/lib/singleton-manager.js.map +1 -1
- package/dist/lib/sql-logger.d.ts +12 -0
- package/dist/lib/sql-logger.d.ts.map +1 -1
- package/dist/lib/sql-logger.js +31 -7
- package/dist/lib/sql-logger.js.map +1 -1
- package/dist/lib/sync-engine.d.ts +27 -0
- package/dist/lib/sync-engine.d.ts.map +1 -1
- package/dist/lib/sync-engine.js +83 -35
- package/dist/lib/sync-engine.js.map +1 -1
- package/dist/lib/sync-metadata-engine.d.ts +54 -0
- package/dist/lib/sync-metadata-engine.d.ts.map +1 -1
- package/dist/lib/sync-metadata-engine.js +142 -46
- package/dist/lib/sync-metadata-engine.js.map +1 -1
- package/dist/lib/sync-state-manager.d.ts +18 -0
- package/dist/lib/sync-state-manager.d.ts.map +1 -1
- package/dist/lib/sync-state-manager.js +45 -9
- package/dist/lib/sync-state-manager.js.map +1 -1
- package/dist/lib/transaction-manager.d.ts +10 -0
- package/dist/lib/transaction-manager.d.ts.map +1 -1
- package/dist/lib/transaction-manager.js +28 -8
- package/dist/lib/transaction-manager.js.map +1 -1
- package/dist/plugins/index.d.ts +10 -2
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +18 -2
- package/dist/plugins/index.js.map +1 -1
- package/dist/services/FileResetService.d.ts +2 -0
- package/dist/services/FileResetService.d.ts.map +1 -1
- package/dist/services/FileResetService.js +7 -3
- package/dist/services/FileResetService.js.map +1 -1
- package/dist/services/FormattingService.d.ts +25 -0
- package/dist/services/FormattingService.d.ts.map +1 -1
- package/dist/services/FormattingService.js +44 -12
- package/dist/services/FormattingService.js.map +1 -1
- package/dist/services/InitService.d.ts +6 -0
- package/dist/services/InitService.d.ts.map +1 -1
- package/dist/services/InitService.js +15 -3
- package/dist/services/InitService.js.map +1 -1
- package/dist/services/PullService.d.ts +9 -2
- package/dist/services/PullService.d.ts.map +1 -1
- package/dist/services/PullService.js +42 -55
- package/dist/services/PullService.js.map +1 -1
- package/dist/services/PushService.d.ts +5 -1
- package/dist/services/PushService.d.ts.map +1 -1
- package/dist/services/PushService.js +23 -15
- package/dist/services/PushService.js.map +1 -1
- package/dist/services/StatusService.d.ts +5 -0
- package/dist/services/StatusService.d.ts.map +1 -1
- package/dist/services/StatusService.js +10 -6
- package/dist/services/StatusService.js.map +1 -1
- package/dist/services/ValidationService.d.ts +2 -0
- package/dist/services/ValidationService.d.ts.map +1 -1
- package/dist/services/ValidationService.js +18 -14
- package/dist/services/ValidationService.js.map +1 -1
- package/dist/services/WatchService.d.ts +2 -0
- package/dist/services/WatchService.d.ts.map +1 -1
- package/dist/services/WatchService.js +10 -6
- package/dist/services/WatchService.js.map +1 -1
- package/dist/types/validation.d.ts +10 -2
- package/dist/types/validation.d.ts.map +1 -1
- package/dist/types/validation.js +20 -4
- package/dist/types/validation.js.map +1 -1
- package/package.json +14 -14
|
@@ -22,7 +22,7 @@ export class FormattingService {
|
|
|
22
22
|
/**
|
|
23
23
|
* Format validation result as JSON
|
|
24
24
|
*/
|
|
25
|
-
|
|
25
|
+
FormatValidationResultAsJson(result) {
|
|
26
26
|
const output = {
|
|
27
27
|
isValid: result.isValid,
|
|
28
28
|
summary: {
|
|
@@ -52,13 +52,17 @@ export class FormattingService {
|
|
|
52
52
|
};
|
|
53
53
|
return JSON.stringify(output, null, 2);
|
|
54
54
|
}
|
|
55
|
+
/** @deprecated Use {@link FormatValidationResultAsJson}. */
|
|
56
|
+
formatValidationResultAsJson(result) {
|
|
57
|
+
return this.FormatValidationResultAsJson(result);
|
|
58
|
+
}
|
|
55
59
|
/**
|
|
56
60
|
* Flatten a failed {@link ValidationResult} into the CLI's machine-readable error
|
|
57
61
|
* list, so `--format json` / `--ci` runs carry the same entity/field/file detail
|
|
58
62
|
* that the human report prints. Without this a CI log shows only "Validation
|
|
59
63
|
* failed" and nobody can tell which record in which file is wrong.
|
|
60
64
|
*/
|
|
61
|
-
|
|
65
|
+
FormatValidationResultAsCLIErrors(result, command) {
|
|
62
66
|
const detail = result.errors.map(e => ({
|
|
63
67
|
context: [e.entity, e.field].filter(Boolean).join('.') || e.file,
|
|
64
68
|
message: `${e.message} — ${e.file}`,
|
|
@@ -70,10 +74,14 @@ export class FormattingService {
|
|
|
70
74
|
...detail
|
|
71
75
|
];
|
|
72
76
|
}
|
|
77
|
+
/** @deprecated Use {@link FormatValidationResultAsCLIErrors}. */
|
|
78
|
+
formatValidationResultAsCLIErrors(result, command) {
|
|
79
|
+
return this.FormatValidationResultAsCLIErrors(result, command);
|
|
80
|
+
}
|
|
73
81
|
/**
|
|
74
82
|
* Format validation result for terminal output
|
|
75
83
|
*/
|
|
76
|
-
|
|
84
|
+
FormatValidationResult(result, verbose = false) {
|
|
77
85
|
const lines = [];
|
|
78
86
|
// Header
|
|
79
87
|
lines.push(this.formatHeader('Validation Report'));
|
|
@@ -115,10 +123,14 @@ export class FormattingService {
|
|
|
115
123
|
lines.push(this.formatFooter(result));
|
|
116
124
|
return lines.join('\n');
|
|
117
125
|
}
|
|
126
|
+
/** @deprecated Use {@link FormatValidationResult}. */
|
|
127
|
+
formatValidationResult(result, verbose = false) {
|
|
128
|
+
return this.FormatValidationResult(result, verbose);
|
|
129
|
+
}
|
|
118
130
|
/**
|
|
119
131
|
* Format push/pull summary report
|
|
120
132
|
*/
|
|
121
|
-
|
|
133
|
+
FormatSyncSummary(operation, stats) {
|
|
122
134
|
const innerWidth = 54;
|
|
123
135
|
const total = stats.created + stats.updated + stats.deleted + stats.skipped + (stats.unchanged || 0);
|
|
124
136
|
const num = (n) => n.toLocaleString('en-US');
|
|
@@ -137,7 +149,7 @@ export class FormattingService {
|
|
|
137
149
|
}
|
|
138
150
|
// Divider, then totals row.
|
|
139
151
|
lines.push(chalk.cyan('├' + '─'.repeat(innerWidth) + '┤'));
|
|
140
|
-
lines.push(this.boxRow(innerWidth, 'Total', `${num(total)} records`, 'Duration', this.
|
|
152
|
+
lines.push(this.boxRow(innerWidth, 'Total', `${num(total)} records`, 'Duration', this.FormatDuration(stats.duration)));
|
|
141
153
|
lines.push(chalk.cyan('╰' + '─'.repeat(innerWidth) + '╯'));
|
|
142
154
|
// Errors stand out in red below the box (kept out of the box to avoid ANSI-width math).
|
|
143
155
|
if (stats.errors > 0) {
|
|
@@ -145,6 +157,10 @@ export class FormattingService {
|
|
|
145
157
|
}
|
|
146
158
|
return lines.join('\n');
|
|
147
159
|
}
|
|
160
|
+
/** @deprecated Use {@link FormatSyncSummary}. */
|
|
161
|
+
formatSyncSummary(operation, stats) {
|
|
162
|
+
return this.FormatSyncSummary(operation, stats);
|
|
163
|
+
}
|
|
148
164
|
/**
|
|
149
165
|
* Render a single two-column row of the summary box. Cell contents are kept as raw
|
|
150
166
|
* (uncolored) text so column/border alignment math is exact — only the box borders are
|
|
@@ -170,20 +186,20 @@ export class FormattingService {
|
|
|
170
186
|
* For full per-record detail use `--verbose` (streams diffs inline during the push) or
|
|
171
187
|
* `--change-detail` (writes the report from `formatChangesReport()` to a file).
|
|
172
188
|
*/
|
|
173
|
-
|
|
189
|
+
FormatChangesRecap(changes) {
|
|
174
190
|
if (!changes || changes.length === 0) {
|
|
175
191
|
return '';
|
|
176
192
|
}
|
|
177
193
|
// Group by operation + entity name, accumulating counts.
|
|
178
194
|
const groups = new Map();
|
|
179
195
|
for (const c of changes) {
|
|
180
|
-
const key = `${c.
|
|
196
|
+
const key = `${c.Operation}|${c.entityName}`;
|
|
181
197
|
const existing = groups.get(key);
|
|
182
198
|
if (existing) {
|
|
183
199
|
existing.count++;
|
|
184
200
|
}
|
|
185
201
|
else {
|
|
186
|
-
groups.set(key, { operation: c.
|
|
202
|
+
groups.set(key, { operation: c.Operation, entityName: c.entityName, count: 1 });
|
|
187
203
|
}
|
|
188
204
|
}
|
|
189
205
|
const opOrder = { created: 0, updated: 1, deleted: 2 };
|
|
@@ -201,25 +217,33 @@ export class FormattingService {
|
|
|
201
217
|
lines.push(chalk.cyan('─'.repeat(width)));
|
|
202
218
|
return lines.join('\n');
|
|
203
219
|
}
|
|
220
|
+
/** @deprecated Use {@link FormatChangesRecap}. */
|
|
221
|
+
formatChangesRecap(changes) {
|
|
222
|
+
return this.FormatChangesRecap(changes);
|
|
223
|
+
}
|
|
204
224
|
/**
|
|
205
225
|
* Render the FULL per-record change report as plain text (no ANSI), suitable for writing
|
|
206
226
|
* to a file via `--change-detail`. Lists every record's operation, entity, primary key,
|
|
207
227
|
* and — for updates — the field-level diffs.
|
|
208
228
|
*/
|
|
209
|
-
|
|
229
|
+
FormatChangesReport(changes, generatedAt) {
|
|
210
230
|
const lines = [];
|
|
211
231
|
lines.push('MemberJunction Metadata Sync — Detailed Change Report');
|
|
212
232
|
lines.push(`Generated: ${generatedAt}`);
|
|
213
233
|
lines.push(`Total changes: ${changes.length}`);
|
|
214
234
|
lines.push('');
|
|
215
235
|
for (const c of changes) {
|
|
216
|
-
lines.push(`[${c.
|
|
236
|
+
lines.push(`[${c.Operation.toUpperCase()}] ${c.entityName} (${c.primaryKey})`);
|
|
217
237
|
for (const f of c.fields) {
|
|
218
238
|
lines.push(` ${f.field}: ${f.oldValue} -> ${f.newValue}`);
|
|
219
239
|
}
|
|
220
240
|
}
|
|
221
241
|
return lines.join('\n') + '\n';
|
|
222
242
|
}
|
|
243
|
+
/** @deprecated Use {@link FormatChangesReport}. */
|
|
244
|
+
formatChangesReport(changes, generatedAt) {
|
|
245
|
+
return this.FormatChangesReport(changes, generatedAt);
|
|
246
|
+
}
|
|
223
247
|
formatHeader(title) {
|
|
224
248
|
const width = 60;
|
|
225
249
|
const line = '═'.repeat(width);
|
|
@@ -367,13 +391,17 @@ export class FormattingService {
|
|
|
367
391
|
}
|
|
368
392
|
return filePath;
|
|
369
393
|
}
|
|
370
|
-
|
|
394
|
+
FormatDuration(ms) {
|
|
371
395
|
if (ms < 1000)
|
|
372
396
|
return `${ms}ms`;
|
|
373
397
|
if (ms < 60000)
|
|
374
398
|
return `${(ms / 1000).toFixed(1)}s`;
|
|
375
399
|
return `${Math.floor(ms / 60000)}m ${Math.floor((ms % 60000) / 1000)}s`;
|
|
376
400
|
}
|
|
401
|
+
/** @deprecated Use {@link FormatDuration}. */
|
|
402
|
+
formatDuration(ms) {
|
|
403
|
+
return this.FormatDuration(ms);
|
|
404
|
+
}
|
|
377
405
|
/**
|
|
378
406
|
* Get count of errors by type
|
|
379
407
|
*/
|
|
@@ -397,7 +425,7 @@ export class FormattingService {
|
|
|
397
425
|
/**
|
|
398
426
|
* Format validation result as markdown
|
|
399
427
|
*/
|
|
400
|
-
|
|
428
|
+
FormatValidationResultAsMarkdown(result) {
|
|
401
429
|
const lines = [];
|
|
402
430
|
const timestamp = new Date();
|
|
403
431
|
const dateStr = timestamp.toLocaleDateString('en-US', {
|
|
@@ -652,5 +680,9 @@ export class FormattingService {
|
|
|
652
680
|
lines.push('</div>');
|
|
653
681
|
return lines.join('\n');
|
|
654
682
|
}
|
|
683
|
+
/** @deprecated Use {@link FormatValidationResultAsMarkdown}. */
|
|
684
|
+
formatValidationResultAsMarkdown(result) {
|
|
685
|
+
return this.FormatValidationResultAsMarkdown(result);
|
|
686
|
+
}
|
|
655
687
|
}
|
|
656
688
|
//# sourceMappingURL=FormattingService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormattingService.js","sourceRoot":"","sources":["../../src/services/FormattingService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,MAAM,OAAO,iBAAiB;IAA9B;QAuDqB,YAAO,GAAG;YACvB,OAAO,EAAE,GAAG;YACZ,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,GAAG;YACZ,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,GAAG,EAAE;gBACD,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,GAAG;gBACf,WAAW,EAAE,GAAG;gBAChB,UAAU,EAAE,GAAG;gBACf,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,GAAG;aACb;SACJ,CAAC;IA0rBN,CAAC;IAhwBG;;OAEG;IACI,4BAA4B,CAAC,MAAwB;QACxD,MAAM,MAAM,GAAG;YACX,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE;gBACL,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU;gBACrC,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa;gBAC3C,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW;gBACvC,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa;gBAC3C,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC;gBACjD,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC;aAC1D;YACD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC5B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,UAAU,EAAE,CAAC,CAAC,UAAU;aAC3B,CAAC,CAAC;YACH,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,UAAU,EAAE,CAAC,CAAC,UAAU;aAC3B,CAAC,CAAC;SACN,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD;;;;;OAKG;IACI,iCAAiC,CAAC,MAAwB,EAAE,OAAwB;QACvF,MAAM,MAAM,GAAuB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI;YAChE,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,EAAE;YACnC,IAAI,EAAE,qBAA8B;YACpC,UAAU,EAAE,CAAC,CAAC,UAAU;SAC3B,CAAC,CAAC,CAAC;QAEJ,OAAO;YACH,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,0CAA0C,OAAO,GAAG,EAAE,IAAI,EAAE,qBAA8B,EAAE;YAC9H,GAAG,MAAM;SACZ,CAAC;IACN,CAAC;IAoBD;;OAEG;IACI,sBAAsB,CAAC,MAAwB,EAAE,UAAmB,KAAK;QAC5E,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,SAAS;QACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,cAAc;QACd,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,eAAe;QACf,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC;YACrD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEf,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC1D,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;gBACjF,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS;oBAAE,SAAS;gBAErC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YACjE,CAAC;QACL,CAAC;QAED,kBAAkB;QAClB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACnC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;QACP,CAAC;QAED,oBAAoB;QACpB,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;gBACvC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;QACP,CAAC;QAED,SAAS;QACT,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAEtC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACI,iBAAiB,CACpB,SAA0B,EAC1B,KASC;QAED,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;QACrG,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAErD,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,kCAAkC;QAClC,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC;QACpF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAEnI,wBAAwB;QACxB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3G,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAChG,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YACrD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACjF,CAAC;QAED,4BAA4B;QAC5B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvH,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAE3D,wFAAwF;QACxF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,SAAS,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC;QAC9H,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,UAAkB,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;QAC7E,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,CAAC,CAAC;QACf,MAAM,GAAG,GAAG,CAAC,CAAC;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CAC1C,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAClF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAChE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;OASG;IACI,kBAAkB,CAAC,OAA6B;QACnD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,EAAE,CAAC;QACd,CAAC;QAED,yDAAyD;QACzD,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6F,CAAC;QACpH,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,QAAQ,EAAE,CAAC;gBACX,QAAQ,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACpF,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAoD,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACxG,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACpC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CACpG,CAAC;QAEF,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,eAAe,OAAO,CAAC,MAAM,IAAI,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5F,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACrB,MAAM,KAAK,GACP,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9C,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC5C,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QACrG,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACI,mBAAmB,CAAC,OAA6B,EAAE,WAAmB;QACzE,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,cAAc,WAAW,EAAE,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;YAChF,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjE,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACnC,CAAC;IAEO,YAAY,CAAC,KAAa;QAC9B,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE/B,0BAA0B;QAC1B,MAAM,YAAY,GAAG,8BAA8B,CAAC;QACpD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAE1E,QAAQ;QACR,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEhE,OAAO,KAAK,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,eAAe,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG;YACtH,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,YAAY,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG;YAClG,IAAI;SACP,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClB,CAAC;IAEO,mBAAmB,CAAC,KAAa;QACrC,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAEO,gBAAgB,CAAC,MAAwB;QAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,EAAE,CAAC;QAEjB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAE1D,cAAc;QACd,MAAM,KAAK,GAAG;YACV,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;YACrC,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;YAC3C,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;YACvC,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;SAC9C,CAAC;QAEF,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE;YAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,KAAK,KAAK,SAAS,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClD,KAAK,KAAK,WAAW,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACtD,KAAK,CAAC,KAAK,CAAC;YACzB,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACnE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QAEH,gBAAgB;QAChB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,0BAA0B;QAC1B,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAClG,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvD,MAAM,QAAQ,GAAG,KAAK,IAAI,GAAG,CAAC;gBAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC9C,MAAM,YAAY,GAAG,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;gBAC3E,MAAM,IAAI,GAAG,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;gBAC7D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3D,CAAC;QACL,CAAC;QAED,4BAA4B;QAC5B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YAC9D,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACpG,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC/D,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBACzD,MAAM,QAAQ,GAAG,KAAK,IAAI,GAAG,CAAC;gBAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACjD,MAAM,YAAY,GAAG,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;gBAC3E,MAAM,IAAI,GAAG,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;gBAC7D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3D,CAAC;QACL,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAE1D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEO,gBAAgB,CAAC,IAAY,EAAE,MAA4B,EAAE,OAAgB;QACjF,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAE/C,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5C,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBAClD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE9C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAE/C,IAAI,OAAO,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;YAEjE,IAAI,SAAS,EAAE,CAAC;gBACZ,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBACd,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,aAAa,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3E,CAAC;QACL,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEO,WAAW,CAAC,KAAsB,EAAE,KAAa;QACrD,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAEpD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAEnE,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,gBAAgB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACvF,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEO,aAAa,CAAC,OAA0B,EAAE,KAAa;QAC3D,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAEzD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAErE,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,gBAAgB,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACzF,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEO,YAAY,CAAC,MAAwB;QACzC,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,2BAA2B,MAAM,CAAC,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC;QAChH,CAAC;QAED,iDAAiD;QACjD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC,CAAC;QACnG,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEO,WAAW,CAAC,QAAgB;QAChC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEM,cAAc,CAAC,EAAU;QAC5B,IAAI,EAAE,GAAG,IAAI;YAAE,OAAO,GAAG,EAAE,IAAI,CAAC;QAChC,IAAI,EAAE,GAAG,KAAK;YAAE,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;QACpD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;IAC5E,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,MAAyB;QAC7C,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,QAA6B;QACnD,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACI,gCAAgC,CAAC,MAAwB;QAC5D,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE;YAClD,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,MAAM;YACb,GAAG,EAAE,SAAS;SACjB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE;YAClD,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;SACpB,CAAC,CAAC;QAEH,uBAAuB;QACvB,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,IAAI,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,IAAI,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,uBAAuB,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,oBAAoB;QACpB,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACtD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QAClE,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACxD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,oBAAoB;QACpB,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QACxD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QAErD,KAAK,CAAC,IAAI,CAAC,uBAAuB,WAAW,MAAM,UAAU,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,IAAI,CAAC,6BAA6B,MAAM,CAAC,MAAM,CAAC,MAAM,kDAAkD,CAAC,CAAC;QACpH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,cAAc;QACd,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,8BAA8B,MAAM,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;QAC3E,KAAK,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;QAClE,KAAK,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,qBAAqB;QACrB,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,iBAAiB;QACjB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEf,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBACvC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAEzD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;gBACjE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEf,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;oBACvD,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBACrE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,YAAY,UAAU,IAAI,CAAC,CAAC;gBAClE,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;gBAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAE/D,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;gBACnE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEf,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;oBACzD,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBACvE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,cAAc,UAAU,IAAI,CAAC,CAAC;gBACpE,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC;QACL,CAAC;QAED,eAAe;QACf,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;aAC/D,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YACf,kEAAkE;YAClE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC;YACnD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC;YAEnD,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClD,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YACzD,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACtD,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC7D,CAAC;YACD,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEP,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YACnD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;YACxD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC;YAEjF,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,YAAY,SAAS,eAAe,MAAM,YAAY,CAAC,CAAC;YACnF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,mBAAmB,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,iBAAiB,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,mBAAmB,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAE5D,IAAI,SAAS,EAAE,CAAC;gBACZ,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBACxC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;oBACrC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;YACP,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBACd,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;gBAC1C,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;oBACzC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjD,CAAC,CAAC,CAAC;YACP,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;QAED,kBAAkB;QAClB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,MAAM,+BAA+B,CAAC,CAAC;YAC3E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEf,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACnC,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACvD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEf,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC;gBAC5C,IAAI,KAAK,CAAC,MAAM;oBAAE,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;gBAC9D,IAAI,KAAK,CAAC,KAAK;oBAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,KAAK,MAAM,CAAC,CAAC;gBAC/D,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9D,KAAK,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;gBAEhD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBACnB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACf,KAAK,CAAC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC3D,CAAC;gBAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;QACP,CAAC;QAED,oBAAoB;QACpB,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,QAAQ,CAAC,MAAM,8BAA8B,CAAC,CAAC;YAC5E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEf,iDAAiD;YACjD,MAAM,cAAc,GAAG,IAAI,GAAG,EAA+B,CAAC;YAC9D,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACzC,CAAC;gBACD,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YAEH,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC5C,KAAK,CAAC,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,CAAC;gBAC5C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEf,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;oBAChC,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;oBACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAEf,IAAI,OAAO,CAAC,MAAM;wBAAE,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;oBAClE,IAAI,OAAO,CAAC,KAAK;wBAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,KAAK,MAAM,CAAC,CAAC;oBACnE,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAEhE,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;wBACrB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACf,KAAK,CAAC,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC7D,CAAC;oBAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACnB,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,aAAa;QACb,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;YAClF,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAChE,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;YACpF,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YACxE,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAED,YAAY;QACZ,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,yGAAyG,CAAC,CAAC;QACtH,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QAChF,KAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAC1E,KAAK,CAAC,IAAI,CAAC,yHAAyH,CAAC,CAAC;QACtI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,SAAS;QACT,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;QAC1F,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,QAAQ,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAErB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"FormattingService.js","sourceRoot":"","sources":["../../src/services/FormattingService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,MAAM,OAAO,iBAAiB;IAA9B;QAiEqB,YAAO,GAAG;YACvB,OAAO,EAAE,GAAG;YACZ,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,GAAG;YACZ,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,GAAG,EAAE;gBACD,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,GAAG;gBACf,WAAW,EAAE,GAAG;gBAChB,UAAU,EAAE,GAAG;gBACf,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,GAAG;aACb;SACJ,CAAC;IAouBN,CAAC;IApzBG;;OAEG;IACI,4BAA4B,CAAC,MAAwB;QACxD,MAAM,MAAM,GAAG;YACX,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE;gBACL,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU;gBACrC,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa;gBAC3C,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW;gBACvC,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa;gBAC3C,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC;gBACjD,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC;aAC1D;YACD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC5B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,UAAU,EAAE,CAAC,CAAC,UAAU;aAC3B,CAAC,CAAC;YACH,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,UAAU,EAAE,CAAC,CAAC,UAAU;aAC3B,CAAC,CAAC;SACN,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,4DAA4D;IACrD,4BAA4B,CAAC,MAAwB;QACxD,OAAO,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IACD;;;;;OAKG;IACI,iCAAiC,CAAC,MAAwB,EAAE,OAAwB;QACvF,MAAM,MAAM,GAAuB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI;YAChE,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,EAAE;YACnC,IAAI,EAAE,qBAA8B;YACpC,UAAU,EAAE,CAAC,CAAC,UAAU;SAC3B,CAAC,CAAC,CAAC;QAEJ,OAAO;YACH,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,0CAA0C,OAAO,GAAG,EAAE,IAAI,EAAE,qBAA8B,EAAE;YAC9H,GAAG,MAAM;SACZ,CAAC;IACN,CAAC;IAED,iEAAiE;IAC1D,iCAAiC,CAAC,MAAwB,EAAE,OAAwB;QACvF,OAAO,IAAI,CAAC,iCAAiC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAoBD;;OAEG;IACI,sBAAsB,CAAC,MAAwB,EAAE,UAAmB,KAAK;QAC5E,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,SAAS;QACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,cAAc;QACd,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,eAAe;QACf,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC;YACrD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEf,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC1D,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;gBACjF,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS;oBAAE,SAAS;gBAErC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YACjE,CAAC;QACL,CAAC;QAED,kBAAkB;QAClB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACnC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;QACP,CAAC;QAED,oBAAoB;QACpB,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;gBACvC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;QACP,CAAC;QAED,SAAS;QACT,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAEtC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,sDAAsD;IAC/C,sBAAsB,CAAC,MAAwB,EAAE,UAAmB,KAAK;QAC5E,OAAO,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACI,iBAAiB,CACpB,SAA0B,EAC1B,KASC;QAED,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;QACrG,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAErD,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,kCAAkC;QAClC,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC;QACpF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAEnI,wBAAwB;QACxB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3G,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAChG,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YACrD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACjF,CAAC;QAED,4BAA4B;QAC5B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvH,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAE3D,wFAAwF;QACxF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,SAAS,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC;QAC9H,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,iDAAiD;IAC1C,iBAAiB,CACpB,SAA0B,EAC1B,KASC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,UAAkB,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;QAC7E,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,CAAC,CAAC;QACf,MAAM,GAAG,GAAG,CAAC,CAAC;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CAC1C,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAClF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAChE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;OASG;IACI,kBAAkB,CAAC,OAA6B;QACnD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,EAAE,CAAC;QACd,CAAC;QAED,yDAAyD;QACzD,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6F,CAAC;QACpH,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,QAAQ,EAAE,CAAC;gBACX,QAAQ,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACpF,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAoD,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACxG,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACpC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CACpG,CAAC;QAEF,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,eAAe,OAAO,CAAC,MAAM,IAAI,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5F,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACrB,MAAM,KAAK,GACP,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9C,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC5C,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QACrG,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,kDAAkD;IAC3C,kBAAkB,CAAC,OAA6B;QACnD,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACI,mBAAmB,CAAC,OAA6B,EAAE,WAAmB;QACzE,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,cAAc,WAAW,EAAE,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;YAChF,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjE,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACnC,CAAC;IAED,mDAAmD;IAC5C,mBAAmB,CAAC,OAA6B,EAAE,WAAmB;QACzE,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC;IAEO,YAAY,CAAC,KAAa;QAC9B,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE/B,0BAA0B;QAC1B,MAAM,YAAY,GAAG,8BAA8B,CAAC;QACpD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAE1E,QAAQ;QACR,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEhE,OAAO,KAAK,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,eAAe,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG;YACtH,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,YAAY,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG;YAClG,IAAI;SACP,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClB,CAAC;IAEO,mBAAmB,CAAC,KAAa;QACrC,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAEO,gBAAgB,CAAC,MAAwB;QAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,EAAE,CAAC;QAEjB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAE1D,cAAc;QACd,MAAM,KAAK,GAAG;YACV,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;YACrC,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;YAC3C,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;YACvC,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;SAC9C,CAAC;QAEF,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE;YAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,KAAK,KAAK,SAAS,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClD,KAAK,KAAK,WAAW,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACtD,KAAK,CAAC,KAAK,CAAC;YACzB,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACnE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QAEH,gBAAgB;QAChB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,0BAA0B;QAC1B,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAClG,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvD,MAAM,QAAQ,GAAG,KAAK,IAAI,GAAG,CAAC;gBAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC9C,MAAM,YAAY,GAAG,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;gBAC3E,MAAM,IAAI,GAAG,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;gBAC7D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3D,CAAC;QACL,CAAC;QAED,4BAA4B;QAC5B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YAC9D,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACpG,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC/D,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBACzD,MAAM,QAAQ,GAAG,KAAK,IAAI,GAAG,CAAC;gBAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACjD,MAAM,YAAY,GAAG,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;gBAC3E,MAAM,IAAI,GAAG,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;gBAC7D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3D,CAAC;QACL,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAE1D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEO,gBAAgB,CAAC,IAAY,EAAE,MAA4B,EAAE,OAAgB;QACjF,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAE/C,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5C,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBAClD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE9C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAE/C,IAAI,OAAO,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;YAEjE,IAAI,SAAS,EAAE,CAAC;gBACZ,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBACd,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,aAAa,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3E,CAAC;QACL,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEO,WAAW,CAAC,KAAsB,EAAE,KAAa;QACrD,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAEpD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAEnE,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,gBAAgB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACvF,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEO,aAAa,CAAC,OAA0B,EAAE,KAAa;QAC3D,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAEzD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAErE,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,gBAAgB,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACzF,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEO,YAAY,CAAC,MAAwB;QACzC,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,2BAA2B,MAAM,CAAC,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC;QAChH,CAAC;QAED,iDAAiD;QACjD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC,CAAC;QACnG,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEO,WAAW,CAAC,QAAgB;QAChC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEM,cAAc,CAAC,EAAU;QAC5B,IAAI,EAAE,GAAG,IAAI;YAAE,OAAO,GAAG,EAAE,IAAI,CAAC;QAChC,IAAI,EAAE,GAAG,KAAK;YAAE,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;QACpD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;IAC5E,CAAC;IAED,8CAA8C;IACvC,cAAc,CAAC,EAAU;QAC5B,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,MAAyB;QAC7C,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,QAA6B;QACnD,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACI,gCAAgC,CAAC,MAAwB;QAC5D,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE;YAClD,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,MAAM;YACb,GAAG,EAAE,SAAS;SACjB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE;YAClD,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;SACpB,CAAC,CAAC;QAEH,uBAAuB;QACvB,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,IAAI,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,IAAI,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,uBAAuB,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,oBAAoB;QACpB,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACtD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QAClE,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACxD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,oBAAoB;QACpB,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QACxD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QAErD,KAAK,CAAC,IAAI,CAAC,uBAAuB,WAAW,MAAM,UAAU,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,IAAI,CAAC,6BAA6B,MAAM,CAAC,MAAM,CAAC,MAAM,kDAAkD,CAAC,CAAC;QACpH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,cAAc;QACd,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,8BAA8B,MAAM,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;QAC3E,KAAK,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;QAClE,KAAK,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,qBAAqB;QACrB,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,iBAAiB;QACjB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEf,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBACvC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAEzD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;gBACjE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEf,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;oBACvD,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBACrE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,YAAY,UAAU,IAAI,CAAC,CAAC;gBAClE,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;gBAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAE/D,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;gBACnE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEf,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;oBACzD,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBACvE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,cAAc,UAAU,IAAI,CAAC,CAAC;gBACpE,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC;QACL,CAAC;QAED,eAAe;QACf,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;aAC/D,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YACf,kEAAkE;YAClE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC;YACnD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC;YAEnD,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClD,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YACzD,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACtD,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC7D,CAAC;YACD,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEP,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YACnD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;YACxD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC;YAEjF,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,YAAY,SAAS,eAAe,MAAM,YAAY,CAAC,CAAC;YACnF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,mBAAmB,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,iBAAiB,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,mBAAmB,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAE5D,IAAI,SAAS,EAAE,CAAC;gBACZ,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBACxC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;oBACrC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;YACP,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBACd,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;gBAC1C,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;oBACzC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjD,CAAC,CAAC,CAAC;YACP,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;QAED,kBAAkB;QAClB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,MAAM,+BAA+B,CAAC,CAAC;YAC3E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEf,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACnC,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACvD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEf,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC;gBAC5C,IAAI,KAAK,CAAC,MAAM;oBAAE,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;gBAC9D,IAAI,KAAK,CAAC,KAAK;oBAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,KAAK,MAAM,CAAC,CAAC;gBAC/D,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9D,KAAK,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;gBAEhD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBACnB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACf,KAAK,CAAC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC3D,CAAC;gBAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;QACP,CAAC;QAED,oBAAoB;QACpB,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,QAAQ,CAAC,MAAM,8BAA8B,CAAC,CAAC;YAC5E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEf,iDAAiD;YACjD,MAAM,cAAc,GAAG,IAAI,GAAG,EAA+B,CAAC;YAC9D,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACzC,CAAC;gBACD,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YAEH,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC5C,KAAK,CAAC,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,CAAC;gBAC5C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEf,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;oBAChC,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;oBACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAEf,IAAI,OAAO,CAAC,MAAM;wBAAE,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;oBAClE,IAAI,OAAO,CAAC,KAAK;wBAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,KAAK,MAAM,CAAC,CAAC;oBACnE,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAEhE,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;wBACrB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACf,KAAK,CAAC,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC7D,CAAC;oBAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACnB,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,aAAa;QACb,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;YAClF,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAChE,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;YACpF,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YACxE,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAED,YAAY;QACZ,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,yGAAyG,CAAC,CAAC;QACtH,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QAChF,KAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAC1E,KAAK,CAAC,IAAI,CAAC,yHAAyH,CAAC,CAAC;QACtI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,SAAS;QACT,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;QAC1F,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,QAAQ,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAErB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,gEAAgE;IACzD,gCAAgC,CAAC,MAAwB;QAC5D,OAAO,IAAI,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;CACJ"}
|
|
@@ -10,9 +10,15 @@ export interface InitCallbacks {
|
|
|
10
10
|
onError?: (message: string) => void;
|
|
11
11
|
}
|
|
12
12
|
export declare class InitService {
|
|
13
|
+
Initialize(options?: InitOptions, callbacks?: InitCallbacks): Promise<void>;
|
|
14
|
+
/** @deprecated Use {@link Initialize}. */
|
|
13
15
|
initialize(options?: InitOptions, callbacks?: InitCallbacks): Promise<void>;
|
|
14
16
|
private createAIPromptsExample;
|
|
17
|
+
GetNextSteps(): string[];
|
|
18
|
+
/** @deprecated Use {@link GetNextSteps}. */
|
|
15
19
|
getNextSteps(): string[];
|
|
20
|
+
GetErrorHint(error: Error | string): string | null;
|
|
21
|
+
/** @deprecated Use {@link GetErrorHint}. */
|
|
16
22
|
getErrorHint(error: Error | string): string | null;
|
|
17
23
|
}
|
|
18
24
|
//# sourceMappingURL=InitService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InitService.d.ts","sourceRoot":"","sources":["../../src/services/InitService.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,YAAY,GAAG,OAAO,GAAG,IAAI,CAAC;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,qBAAa,WAAW;IAChB,UAAU,CAAC,OAAO,GAAE,WAAgB,EAAE,SAAS,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"InitService.d.ts","sourceRoot":"","sources":["../../src/services/InitService.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,YAAY,GAAG,OAAO,GAAG,IAAI,CAAC;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,qBAAa,WAAW;IAChB,UAAU,CAAC,OAAO,GAAE,WAAgB,EAAE,SAAS,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA+DrF,0CAA0C;IACpC,UAAU,CAAC,OAAO,GAAE,WAAgB,EAAE,SAAS,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;YAIvE,sBAAsB;IA8CpC,YAAY,IAAI,MAAM,EAAE;IAQxB,4CAA4C;IAC5C,YAAY,IAAI,MAAM,EAAE;IAIxB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;IAclD,4CAA4C;IAC5C,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;CAGnD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import fs from 'fs-extra';
|
|
2
2
|
import path from 'path';
|
|
3
3
|
export class InitService {
|
|
4
|
-
async
|
|
4
|
+
async Initialize(options = {}, callbacks) {
|
|
5
5
|
try {
|
|
6
6
|
// Check if already initialized
|
|
7
7
|
if (await fs.pathExists('.mj-sync.json')) {
|
|
@@ -55,6 +55,10 @@ export class InitService {
|
|
|
55
55
|
throw error;
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
+
/** @deprecated Use {@link Initialize}. */
|
|
59
|
+
async initialize(options = {}, callbacks) {
|
|
60
|
+
return this.Initialize(options, callbacks);
|
|
61
|
+
}
|
|
58
62
|
async createAIPromptsExample(dirName) {
|
|
59
63
|
const exampleDir = path.join(dirName, 'examples');
|
|
60
64
|
await fs.ensureDir(exampleDir);
|
|
@@ -87,14 +91,18 @@ export class InitService {
|
|
|
87
91
|
Be conversational and welcoming in your tone.`;
|
|
88
92
|
await fs.writeFile(path.join(exampleDir, 'greeting.prompt.md'), promptContent);
|
|
89
93
|
}
|
|
90
|
-
|
|
94
|
+
GetNextSteps() {
|
|
91
95
|
return [
|
|
92
96
|
'Run "mj sync pull --entity=\'AI Prompts\'" to pull existing data',
|
|
93
97
|
'Edit files locally',
|
|
94
98
|
'Run "mj sync push" to sync changes back to the database'
|
|
95
99
|
];
|
|
96
100
|
}
|
|
97
|
-
|
|
101
|
+
/** @deprecated Use {@link GetNextSteps}. */
|
|
102
|
+
getNextSteps() {
|
|
103
|
+
return this.GetNextSteps();
|
|
104
|
+
}
|
|
105
|
+
GetErrorHint(error) {
|
|
98
106
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
99
107
|
if (errorMessage.includes('permission') || errorMessage.includes('EACCES')) {
|
|
100
108
|
return 'This appears to be a file permission issue. Make sure you have write permissions in the current directory.';
|
|
@@ -107,5 +115,9 @@ Be conversational and welcoming in your tone.`;
|
|
|
107
115
|
}
|
|
108
116
|
return null;
|
|
109
117
|
}
|
|
118
|
+
/** @deprecated Use {@link GetErrorHint}. */
|
|
119
|
+
getErrorHint(error) {
|
|
120
|
+
return this.GetErrorHint(error);
|
|
121
|
+
}
|
|
110
122
|
}
|
|
111
123
|
//# sourceMappingURL=InitService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InitService.js","sourceRoot":"","sources":["../../src/services/InitService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InitService.js","sourceRoot":"","sources":["../../src/services/InitService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAexB,MAAM,OAAO,WAAW;IACtB,KAAK,CAAC,UAAU,CAAC,UAAuB,EAAE,EAAE,SAAyB;QACnE,IAAI,CAAC;YACH,+BAA+B;YAC/B,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;gBACrF,CAAC;YACH,CAAC;YAED,4BAA4B;YAC5B,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE;oBACJ,kBAAkB,EAAE,IAAI;oBACxB,mBAAmB,EAAE,IAAI;iBAC1B;gBACD,KAAK,EAAE;oBACL,UAAU,EAAE,IAAI;oBAChB,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC;iBAChD;aACF,CAAC;YAEF,SAAS,EAAE,UAAU,EAAE,CAAC,6BAA6B,CAAC,CAAC;YACvD,MAAM,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YAC/D,SAAS,EAAE,SAAS,EAAE,CAAC,uBAAuB,CAAC,CAAC;YAEhD,uCAAuC;YACvC,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;gBACxD,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,KAAK,YAAY;oBACrD,CAAC,CAAC,gBAAgB;oBAClB,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;gBAE7B,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,KAAK,YAAY;oBAClD,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAErE,0BAA0B;gBAC1B,SAAS,EAAE,UAAU,EAAE,CAAC,YAAY,OAAO,YAAY,CAAC,CAAC;gBACzD,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAE5B,8BAA8B;gBAC9B,MAAM,YAAY,GAAG;oBACnB,MAAM,EAAE,UAAU;oBAClB,WAAW,EAAE,QAAQ;oBACrB,QAAQ,EAAE,EAAE;iBACb,CAAC;gBAEF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;gBACrF,SAAS,EAAE,SAAS,EAAE,CAAC,WAAW,OAAO,sCAAsC,CAAC,CAAC;gBAEjF,2BAA2B;gBAC3B,IAAI,OAAO,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC;oBACzC,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,SAAS,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC;YACnC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,KAAK,CAAC,UAAU,CAAC,UAAuB,EAAE,EAAE,SAAyB;QACnE,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC7C,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,OAAe;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAClD,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAE/B,uBAAuB;QACvB,MAAM,YAAY,GAAG;YACnB,QAAQ,EAAE;gBACR,UAAU,EAAE,4CAA4C;gBACxD,WAAW,EAAE,GAAG;aACjB;SACF,CAAC;QAEF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAE1F,wBAAwB;QACxB,MAAM,aAAa,GAAG;YACpB,WAAW,EAAE;gBACX,EAAE,EAAE,aAAa;aAClB;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,yBAAyB;gBAC/B,WAAW,EAAE,sDAAsD;gBACnE,YAAY,EAAE,mCAAmC;gBACjD,WAAW,EAAE,GAAG;gBAChB,SAAS,EAAE,GAAG;gBACd,MAAM,EAAE,0BAA0B;aACnC;SACF,CAAC;QAEF,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,EACtC,aAAa,EACb,EAAE,MAAM,EAAE,CAAC,EAAE,CACd,CAAC;QAEF,2BAA2B;QAC3B,MAAM,aAAa,GAAG;;8CAEoB,CAAC;QAE3C,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC,EAC3C,aAAa,CACd,CAAC;IACJ,CAAC;IAED,YAAY;QACV,OAAO;YACL,kEAAkE;YAClE,oBAAoB;YACpB,yDAAyD;SAC1D,CAAC;IACJ,CAAC;IAED,4CAA4C;IAC5C,YAAY;QACV,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAED,YAAY,CAAC,KAAqB;QAChC,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE5E,IAAI,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3E,OAAO,4GAA4G,CAAC;QACtH,CAAC;aAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACpF,OAAO,gHAAgH,CAAC;QAC1H,CAAC;aAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtF,OAAO,uGAAuG,CAAC;QACjH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4CAA4C;IAC5C,YAAY,CAAC,KAAqB;QAChC,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;CACF"}
|
|
@@ -40,13 +40,19 @@ export declare class PullService {
|
|
|
40
40
|
private stateManager;
|
|
41
41
|
constructor(syncEngine: SyncEngine, contextUser: UserInfo, stateManager?: SyncStateManager);
|
|
42
42
|
/** Set or replace the state manager after construction. */
|
|
43
|
+
SetStateManager(stateManager: SyncStateManager): void;
|
|
44
|
+
/** @deprecated Use {@link SetStateManager}. */
|
|
43
45
|
setStateManager(stateManager: SyncStateManager): void;
|
|
46
|
+
Pull(options: PullOptions, callbacks?: PullCallbacks): Promise<PullResult>;
|
|
47
|
+
/** @deprecated Use {@link Pull}. */
|
|
44
48
|
pull(options: PullOptions, callbacks?: PullCallbacks): Promise<PullResult>;
|
|
45
49
|
private processRecords;
|
|
46
50
|
/**
|
|
47
51
|
* Clean up backup files created during the pull operation
|
|
48
52
|
* Should be called after successful pull operations to remove persistent backup files
|
|
49
53
|
*/
|
|
54
|
+
CleanupBackupFiles(): Promise<void>;
|
|
55
|
+
/** @deprecated Use {@link CleanupBackupFiles}. */
|
|
50
56
|
cleanupBackupFiles(): Promise<void>;
|
|
51
57
|
/**
|
|
52
58
|
* Remove a backup directory if it's empty
|
|
@@ -55,6 +61,8 @@ export declare class PullService {
|
|
|
55
61
|
/**
|
|
56
62
|
* Get the list of backup files created during the current pull operation
|
|
57
63
|
*/
|
|
64
|
+
GetCreatedBackupFiles(): string[];
|
|
65
|
+
/** @deprecated Use {@link GetCreatedBackupFiles}. */
|
|
58
66
|
getCreatedBackupFiles(): string[];
|
|
59
67
|
/**
|
|
60
68
|
* Detect records that were soft-deleted since the last pull and remove
|
|
@@ -75,10 +83,9 @@ export declare class PullService {
|
|
|
75
83
|
* Only pre-fetches top-level relations; nested relations fall back to per-record loading.
|
|
76
84
|
*/
|
|
77
85
|
private prefetchRelatedEntities;
|
|
86
|
+
private loadExistingRecords;
|
|
78
87
|
private findEntityDirectories;
|
|
79
88
|
private buildFileName;
|
|
80
|
-
private findExistingFiles;
|
|
81
|
-
private loadExistingRecords;
|
|
82
89
|
private mergeRecords;
|
|
83
90
|
private createBackup;
|
|
84
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PullService.d.ts","sourceRoot":"","sources":["../../src/services/PullService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,QAAQ,EAAc,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,UAAU,EAAc,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"PullService.d.ts","sourceRoot":"","sources":["../../src/services/PullService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,QAAQ,EAAc,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,UAAU,EAAc,MAAM,oBAAoB,CAAC;AAO5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAQ7D,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,kBAAkB,CAAgB;IAC1C,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAA+B;gBAEvC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,gBAAgB;IAQ1F,2DAA2D;IAC3D,eAAe,CAAC,YAAY,EAAE,gBAAgB,GAAG,IAAI;IAIrD,+CAA+C;IAC/C,eAAe,CAAC,YAAY,EAAE,gBAAgB,GAAG,IAAI;IAI/C,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;IA8KhF,oCAAoC;IAC9B,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;YAIlE,cAAc;IAgH5B;;;OAGG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoCzC,kDAAkD;IAC5C,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzC;;OAEG;YACW,0BAA0B;IAwBxC;;OAEG;IACH,qBAAqB,IAAI,MAAM,EAAE;IAIjC,qDAAqD;IACrD,qBAAqB,IAAI,MAAM,EAAE;IAIjC;;;;OAIG;YACW,wBAAwB;IAqEtC;;;OAGG;YACW,mBAAmB;YAqCnB,wBAAwB;YA4OxB,aAAa;IAkC3B;;;;OAIG;YACW,uBAAuB;YA6DvB,mBAAmB;YA2BnB,qBAAqB;IA0BnC,OAAO,CAAC,aAAa;YAqBP,YAAY;YAgEZ,YAAY;CAuB3B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import fs from 'fs-extra';
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import { RunView } from '@memberjunction/core';
|
|
4
|
+
import { FindExistingRecordFiles } from '../lib/existing-record-files.js';
|
|
4
5
|
import { loadEntityConfig } from '../config.js';
|
|
5
6
|
import { configManager } from '../lib/config-manager.js';
|
|
6
7
|
import { FileWriteBatch } from '../lib/file-write-batch.js';
|
|
@@ -21,10 +22,14 @@ export class PullService {
|
|
|
21
22
|
this.stateManager = stateManager;
|
|
22
23
|
}
|
|
23
24
|
/** Set or replace the state manager after construction. */
|
|
24
|
-
|
|
25
|
+
SetStateManager(stateManager) {
|
|
25
26
|
this.stateManager = stateManager;
|
|
26
27
|
}
|
|
27
|
-
|
|
28
|
+
/** @deprecated Use {@link SetStateManager}. */
|
|
29
|
+
setStateManager(stateManager) {
|
|
30
|
+
return this.SetStateManager(stateManager);
|
|
31
|
+
}
|
|
32
|
+
async Pull(options, callbacks) {
|
|
28
33
|
// Validate that include and exclude are not used together
|
|
29
34
|
if (options.include && options.exclude) {
|
|
30
35
|
throw new Error('Cannot specify both --include and --exclude options. Please use one or the other.');
|
|
@@ -137,7 +142,7 @@ export class PullService {
|
|
|
137
142
|
}
|
|
138
143
|
// Operation succeeded - clean up backup files
|
|
139
144
|
if (!options.dryRun) {
|
|
140
|
-
await this.
|
|
145
|
+
await this.CleanupBackupFiles();
|
|
141
146
|
}
|
|
142
147
|
}
|
|
143
148
|
catch (error) {
|
|
@@ -170,6 +175,10 @@ export class PullService {
|
|
|
170
175
|
targetDir
|
|
171
176
|
};
|
|
172
177
|
}
|
|
178
|
+
/** @deprecated Use {@link Pull}. */
|
|
179
|
+
async pull(options, callbacks) {
|
|
180
|
+
return this.Pull(options, callbacks);
|
|
181
|
+
}
|
|
173
182
|
async processRecords(records, options, targetDir, entityConfig, callbacks) {
|
|
174
183
|
const entityInfo = this.syncEngine.getEntityInfo(options.entity);
|
|
175
184
|
if (!entityInfo) {
|
|
@@ -247,7 +256,7 @@ export class PullService {
|
|
|
247
256
|
* Clean up backup files created during the pull operation
|
|
248
257
|
* Should be called after successful pull operations to remove persistent backup files
|
|
249
258
|
*/
|
|
250
|
-
async
|
|
259
|
+
async CleanupBackupFiles() {
|
|
251
260
|
if (this.createdBackupFiles.length === 0 && this.createdBackupDirs.size === 0) {
|
|
252
261
|
return;
|
|
253
262
|
}
|
|
@@ -279,6 +288,10 @@ export class PullService {
|
|
|
279
288
|
throw new Error(`Backup cleanup completed with errors:\n${errors.join('\n')}`);
|
|
280
289
|
}
|
|
281
290
|
}
|
|
291
|
+
/** @deprecated Use {@link CleanupBackupFiles}. */
|
|
292
|
+
async cleanupBackupFiles() {
|
|
293
|
+
return this.CleanupBackupFiles();
|
|
294
|
+
}
|
|
282
295
|
/**
|
|
283
296
|
* Remove a backup directory if it's empty
|
|
284
297
|
*/
|
|
@@ -307,9 +320,13 @@ export class PullService {
|
|
|
307
320
|
/**
|
|
308
321
|
* Get the list of backup files created during the current pull operation
|
|
309
322
|
*/
|
|
310
|
-
|
|
323
|
+
GetCreatedBackupFiles() {
|
|
311
324
|
return [...this.createdBackupFiles];
|
|
312
325
|
}
|
|
326
|
+
/** @deprecated Use {@link GetCreatedBackupFiles}. */
|
|
327
|
+
getCreatedBackupFiles() {
|
|
328
|
+
return this.GetCreatedBackupFiles();
|
|
329
|
+
}
|
|
313
330
|
/**
|
|
314
331
|
* Detect records that were soft-deleted since the last pull and remove
|
|
315
332
|
* their corresponding local JSON files. Without this, incremental pull
|
|
@@ -414,7 +431,7 @@ export class PullService {
|
|
|
414
431
|
let skipped = 0;
|
|
415
432
|
// Find existing files
|
|
416
433
|
const filePattern = entityConfig.pull?.filePattern || entityConfig.filePattern || '*.json';
|
|
417
|
-
const existingFiles = await
|
|
434
|
+
const existingFiles = await FindExistingRecordFiles(targetDir, filePattern, entityConfig.ignoreDirectories ?? []);
|
|
418
435
|
if (options.verbose) {
|
|
419
436
|
callbacks?.onLog?.(`Found ${existingFiles.length} existing files matching pattern '${filePattern}'`);
|
|
420
437
|
existingFiles.forEach(f => callbacks?.onLog?.(` - ${path.basename(f)}`));
|
|
@@ -633,6 +650,25 @@ export class PullService {
|
|
|
633
650
|
}
|
|
634
651
|
return batchedRelatedData.size > 0 ? batchedRelatedData : undefined;
|
|
635
652
|
}
|
|
653
|
+
async loadExistingRecords(files, _entityInfo) {
|
|
654
|
+
const recordsMap = new Map();
|
|
655
|
+
for (const filePath of files) {
|
|
656
|
+
try {
|
|
657
|
+
const fileData = await fs.readJson(filePath);
|
|
658
|
+
const records = Array.isArray(fileData) ? fileData : [fileData];
|
|
659
|
+
for (const record of records) {
|
|
660
|
+
if (record.primaryKey) {
|
|
661
|
+
const lookupKey = createPrimaryKeyLookup(record.primaryKey);
|
|
662
|
+
recordsMap.set(lookupKey, { filePath, recordData: record });
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
}
|
|
666
|
+
catch (error) {
|
|
667
|
+
// Skip files that can't be parsed
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
return recordsMap;
|
|
671
|
+
}
|
|
636
672
|
async findEntityDirectories(entityName) {
|
|
637
673
|
const dirs = [];
|
|
638
674
|
// Search for directories with matching entity config
|
|
@@ -673,55 +709,6 @@ export class PullService {
|
|
|
673
709
|
// Multiple keys or numeric - create composite name, prefixed with dot
|
|
674
710
|
return '.' + keys.map(k => String(k).replace(/[^a-zA-Z0-9\-_]/g, '').toLowerCase()).join('-') + '.json';
|
|
675
711
|
}
|
|
676
|
-
async findExistingFiles(dir, pattern) {
|
|
677
|
-
const files = [];
|
|
678
|
-
try {
|
|
679
|
-
const entries = await fs.readdir(dir, { withFileTypes: true });
|
|
680
|
-
for (const entry of entries) {
|
|
681
|
-
if (entry.isFile()) {
|
|
682
|
-
const fileName = entry.name;
|
|
683
|
-
// Normalize pattern by removing leading **/ (glob recursion prefix)
|
|
684
|
-
const normalizedPattern = pattern.startsWith('**/') ? pattern.substring(3) : pattern;
|
|
685
|
-
// Simple pattern matching
|
|
686
|
-
if (normalizedPattern === '*.json' && fileName.endsWith('.json')) {
|
|
687
|
-
files.push(path.join(dir, fileName));
|
|
688
|
-
}
|
|
689
|
-
else if (normalizedPattern === '.*.json' && fileName.startsWith('.') && fileName.endsWith('.json')) {
|
|
690
|
-
files.push(path.join(dir, fileName));
|
|
691
|
-
}
|
|
692
|
-
else if (normalizedPattern === fileName) {
|
|
693
|
-
files.push(path.join(dir, fileName));
|
|
694
|
-
}
|
|
695
|
-
}
|
|
696
|
-
}
|
|
697
|
-
}
|
|
698
|
-
catch (error) {
|
|
699
|
-
// Directory might not exist yet
|
|
700
|
-
if (error.code !== 'ENOENT') {
|
|
701
|
-
throw error;
|
|
702
|
-
}
|
|
703
|
-
}
|
|
704
|
-
return files;
|
|
705
|
-
}
|
|
706
|
-
async loadExistingRecords(files, _entityInfo) {
|
|
707
|
-
const recordsMap = new Map();
|
|
708
|
-
for (const filePath of files) {
|
|
709
|
-
try {
|
|
710
|
-
const fileData = await fs.readJson(filePath);
|
|
711
|
-
const records = Array.isArray(fileData) ? fileData : [fileData];
|
|
712
|
-
for (const record of records) {
|
|
713
|
-
if (record.primaryKey) {
|
|
714
|
-
const lookupKey = createPrimaryKeyLookup(record.primaryKey);
|
|
715
|
-
recordsMap.set(lookupKey, { filePath, recordData: record });
|
|
716
|
-
}
|
|
717
|
-
}
|
|
718
|
-
}
|
|
719
|
-
catch (error) {
|
|
720
|
-
// Skip files that can't be parsed
|
|
721
|
-
}
|
|
722
|
-
}
|
|
723
|
-
return recordsMap;
|
|
724
|
-
}
|
|
725
712
|
async mergeRecords(existing, newData, strategy, preserveFields) {
|
|
726
713
|
if (strategy === 'skip') {
|
|
727
714
|
return existing;
|