@peers-app/peers-device 0.15.0 → 0.15.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/chunk-download-manager.d.ts +2 -2
  2. package/dist/chunk-download-manager.js +1 -1
  3. package/dist/chunk-download-manager.js.map +1 -1
  4. package/dist/chunk-download-manager.test.js +57 -57
  5. package/dist/chunk-download-manager.test.js.map +1 -1
  6. package/dist/chunk-download.types.d.ts +1 -1
  7. package/dist/connection-manager/connection-manager-priorities.d.ts +1 -1
  8. package/dist/connection-manager/connection-manager-priorities.js +10 -6
  9. package/dist/connection-manager/connection-manager-priorities.js.map +1 -1
  10. package/dist/connection-manager/connection-manager-priorities.test.js +192 -194
  11. package/dist/connection-manager/connection-manager-priorities.test.js.map +1 -1
  12. package/dist/connection-manager/connection-manager.d.ts +2 -2
  13. package/dist/connection-manager/connection-manager.js +71 -55
  14. package/dist/connection-manager/connection-manager.js.map +1 -1
  15. package/dist/connection-manager/connection-manager.test.js +165 -147
  16. package/dist/connection-manager/connection-manager.test.js.map +1 -1
  17. package/dist/connection-manager/connection-state.type.d.ts +1 -1
  18. package/dist/connection-manager/device-message-handler.types.d.ts +6 -6
  19. package/dist/connection-manager/device-messages.d.ts +4 -4
  20. package/dist/connection-manager/device-messages.js +56 -40
  21. package/dist/connection-manager/device-messages.js.map +1 -1
  22. package/dist/connection-manager/group-invite-messages.d.ts +2 -2
  23. package/dist/connection-manager/group-invite-messages.js +36 -47
  24. package/dist/connection-manager/group-invite-messages.js.map +1 -1
  25. package/dist/connection-manager/hops-map.js +4 -4
  26. package/dist/connection-manager/hops-map.js.map +1 -1
  27. package/dist/connection-manager/hops-map.test.js +3 -3
  28. package/dist/connection-manager/hops-map.test.js.map +1 -1
  29. package/dist/connection-manager/network-manager.d.ts +2 -2
  30. package/dist/connection-manager/network-manager.js +81 -75
  31. package/dist/connection-manager/network-manager.js.map +1 -1
  32. package/dist/index.d.ts +12 -12
  33. package/dist/json-diff.d.ts +2 -2
  34. package/dist/json-diff.js +30 -27
  35. package/dist/json-diff.js.map +1 -1
  36. package/dist/local.data-source.d.ts +1 -1
  37. package/dist/local.data-source.js +23 -23
  38. package/dist/local.data-source.js.map +1 -1
  39. package/dist/local.data-source.test.js +17 -17
  40. package/dist/local.data-source.test.js.map +1 -1
  41. package/dist/machine-stats.js +57 -51
  42. package/dist/machine-stats.js.map +1 -1
  43. package/dist/machine-stats.test.js +42 -42
  44. package/dist/machine-stats.test.js.map +1 -1
  45. package/dist/main.d.ts +2 -2
  46. package/dist/main.js +10 -8
  47. package/dist/main.js.map +1 -1
  48. package/dist/packages.tracked-data-source.d.ts +1 -1
  49. package/dist/packages.tracked-data-source.js.map +1 -1
  50. package/dist/persistent-vars.test.js +148 -148
  51. package/dist/persistent-vars.test.js.map +1 -1
  52. package/dist/pvars.tracked-data-source.d.ts +1 -1
  53. package/dist/pvars.tracked-data-source.js +12 -10
  54. package/dist/pvars.tracked-data-source.js.map +1 -1
  55. package/dist/sync-group.d.ts +2 -2
  56. package/dist/sync-group.js +110 -88
  57. package/dist/sync-group.js.map +1 -1
  58. package/dist/sync-group.test.js +157 -120
  59. package/dist/sync-group.test.js.map +1 -1
  60. package/dist/tracked-data-source.d.ts +1 -1
  61. package/dist/tracked-data-source.js +61 -62
  62. package/dist/tracked-data-source.js.map +1 -1
  63. package/dist/tracked-data-source.test.js +507 -299
  64. package/dist/tracked-data-source.test.js.map +1 -1
  65. package/dist/websocket-client.d.ts +1 -1
  66. package/dist/websocket-client.js +50 -41
  67. package/dist/websocket-client.js.map +1 -1
  68. package/package.json +3 -3
@@ -65,15 +65,15 @@ class TrackedDataSource {
65
65
  */
66
66
  async resolveInsertChangeValues(changes) {
67
67
  // Find insert changes that need resolution (value is null/undefined)
68
- const insertChanges = changes.filter(c => c.op === 'set' && c.path === '/' && (c.value === null || c.value === undefined));
68
+ const insertChanges = changes.filter((c) => c.op === "set" && c.path === "/" && (c.value === null || c.value === undefined));
69
69
  if (insertChanges.length === 0)
70
70
  return;
71
71
  // Batch-lookup records from the source table
72
- const recordIds = [...new Set(insertChanges.map(c => c.recordId))];
72
+ const recordIds = [...new Set(insertChanges.map((c) => c.recordId))];
73
73
  const records = await this.dataSource.list({
74
74
  [this.primaryKeyName]: { $in: recordIds },
75
75
  });
76
- const recordMap = new Map(records.map(r => [r[this.primaryKeyName], r]));
76
+ const recordMap = new Map(records.map((r) => [r[this.primaryKeyName], r]));
77
77
  // Populate values
78
78
  for (const change of insertChanges) {
79
79
  const record = recordMap.get(change.recordId);
@@ -111,7 +111,7 @@ class TrackedDataSource {
111
111
  let recordId = data[this.primaryKeyName];
112
112
  if (!recordId) {
113
113
  recordId = (0, peers_sdk_1.newid)();
114
- // @ts-ignore
114
+ // @ts-expect-error
115
115
  data[this.primaryKeyName] = recordId;
116
116
  }
117
117
  else if (!skipDeletedCheck) {
@@ -130,8 +130,8 @@ class TrackedDataSource {
130
130
  changeId: (0, peers_sdk_1.newid)(),
131
131
  tableName: this.tableName,
132
132
  recordId,
133
- op: 'set',
134
- path: '/', // Root path for full object
133
+ op: "set",
134
+ path: "/", // Root path for full object
135
135
  value: null,
136
136
  createdAt: timestamp,
137
137
  appliedAt: opts?.weakInsert ? (0, peers_sdk_1.getTimestamp)() : timestamp,
@@ -150,7 +150,7 @@ class TrackedDataSource {
150
150
  oldData = recordId ? await this.dataSource.get(recordId) : undefined;
151
151
  }
152
152
  if (!oldData) {
153
- throw new Error(`No record found to update: ${recordId}: ` + JSON.stringify(newData));
153
+ throw new Error(`No record found to update: ${recordId}: ${JSON.stringify(newData)}`);
154
154
  }
155
155
  const timestamp = (0, peers_sdk_1.getTimestamp)();
156
156
  const updatedObject = await this.dataSource.update(newData);
@@ -161,8 +161,8 @@ class TrackedDataSource {
161
161
  changeId: (0, peers_sdk_1.newid)(),
162
162
  tableName: this.tableName,
163
163
  recordId,
164
- op: 'set',
165
- path: '/', // Root path for full object
164
+ op: "set",
165
+ path: "/", // Root path for full object
166
166
  value: null,
167
167
  createdAt: timestamp,
168
168
  appliedAt: timestamp,
@@ -177,11 +177,9 @@ class TrackedDataSource {
177
177
  const changes = [];
178
178
  for (let i = 0; i < jsonDiff.length; i++) {
179
179
  const op = jsonDiff[i];
180
- const changeOp = op.op === 'patch-text' ? 'patch-text'
181
- : op.op === 'remove' ? 'delete'
182
- : 'set';
183
- const changePath = op.path || '/';
184
- const value = op.op === 'add' || op.op === 'replace' || op.op === 'patch-text' ? op.value : undefined;
180
+ const changeOp = op.op === "patch-text" ? "patch-text" : op.op === "remove" ? "delete" : "set";
181
+ const changePath = op.path || "/";
182
+ const value = op.op === "add" || op.op === "replace" || op.op === "patch-text" ? op.value : undefined;
185
183
  const change = {
186
184
  changeId: (0, peers_sdk_1.newid)(),
187
185
  tableName: this.tableName,
@@ -199,10 +197,10 @@ class TrackedDataSource {
199
197
  tableName: this.tableName,
200
198
  recordId,
201
199
  supersededAt: { $exists: false },
202
- }, { sortBy: ['createdAt'] });
200
+ }, { sortBy: ["createdAt"] });
203
201
  const supersededChangeIds = [];
204
202
  for (const existingChange of activeExistingChanges) {
205
- const superseded = changes.some(newChange => (0, json_diff_1.isChildPathOrSame)(newChange.path, existingChange.path));
203
+ const superseded = changes.some((newChange) => (0, json_diff_1.isChildPathOrSame)(newChange.path, existingChange.path));
206
204
  if (superseded) {
207
205
  supersededChangeIds.push(existingChange.changeId);
208
206
  }
@@ -213,7 +211,7 @@ class TrackedDataSource {
213
211
  this.changeTrackingTable.dataChangedEmitter.emit(change);
214
212
  }
215
213
  if (supersededChangeIds.length > 0) {
216
- await this.changeTrackingTable.batchMarkSuperseded(supersededChangeIds.map(changeId => ({
214
+ await this.changeTrackingTable.batchMarkSuperseded(supersededChangeIds.map((changeId) => ({
217
215
  changeId,
218
216
  supersededAt: timestamp,
219
217
  })));
@@ -224,8 +222,8 @@ class TrackedDataSource {
224
222
  }
225
223
  async delete(data) {
226
224
  const primaryKeyName = this.primaryKeyName;
227
- let recordId = '';
228
- if (typeof data === 'string') {
225
+ let recordId = "";
226
+ if (typeof data === "string") {
229
227
  recordId = data;
230
228
  }
231
229
  else {
@@ -240,8 +238,8 @@ class TrackedDataSource {
240
238
  changeId: (0, peers_sdk_1.newid)(),
241
239
  tableName: this.tableName,
242
240
  recordId,
243
- op: 'delete',
244
- path: '/', // Root path for delete
241
+ op: "delete",
242
+ path: "/", // Root path for delete
245
243
  value: undefined,
246
244
  createdAt: timestamp,
247
245
  appliedAt: timestamp,
@@ -252,9 +250,9 @@ class TrackedDataSource {
252
250
  await this.changeTrackingTable.markAllPriorChangesSuperseded(this.tableName, recordId, timestamp);
253
251
  }
254
252
  async restore(data) {
255
- let recordId = data[this.primaryKeyName];
253
+ const recordId = data[this.primaryKeyName];
256
254
  if (!recordId) {
257
- throw new Error(`No recordId provided to restore: ` + JSON.stringify(data));
255
+ throw new Error(`No recordId provided to restore: ${JSON.stringify(data)}`);
258
256
  }
259
257
  const timestamp = (0, peers_sdk_1.getTimestamp)();
260
258
  // we write this to the db first in case there are errors
@@ -265,8 +263,8 @@ class TrackedDataSource {
265
263
  changeId: (0, peers_sdk_1.newid)(),
266
264
  tableName: this.tableName,
267
265
  recordId,
268
- op: 'set',
269
- path: '/', // Root path for full object
266
+ op: "set",
267
+ path: "/", // Root path for full object
270
268
  value: null,
271
269
  createdAt: timestamp,
272
270
  appliedAt: timestamp,
@@ -289,17 +287,17 @@ class TrackedDataSource {
289
287
  if (changes.length === 0) {
290
288
  return;
291
289
  }
292
- changes = (0, lodash_1.uniqBy)(changes, c => c.changeId);
293
- const missingChangeIds = await this.changeTrackingTable.filterToMissingChangeIds(changes.map(c => c.changeId));
290
+ changes = (0, lodash_1.uniqBy)(changes, (c) => c.changeId);
291
+ const missingChangeIds = await this.changeTrackingTable.filterToMissingChangeIds(changes.map((c) => c.changeId));
294
292
  if (missingChangeIds.length === 0) {
295
293
  // All changes are already applied
296
294
  return;
297
295
  }
298
- const newChanges = changes.filter(c => missingChangeIds.some(id => id === c.changeId));
296
+ const newChanges = changes.filter((c) => missingChangeIds.some((id) => id === c.changeId));
299
297
  // Get affected recordIds (sorted by order in which they were changed)
300
298
  const recordIds = (0, lodash_1.chain)(newChanges)
301
299
  // .sortBy(c => c.changeId) // this is relatively expensive and not needed
302
- .map(c => c.recordId)
300
+ .map((c) => c.recordId)
303
301
  .uniq()
304
302
  .value();
305
303
  // get all active changes for these records
@@ -307,19 +305,19 @@ class TrackedDataSource {
307
305
  tableName: this.tableName,
308
306
  recordId: { $in: recordIds },
309
307
  supersededAt: { $exists: false },
310
- }, { sortBy: ['createdAt'] });
308
+ }, { sortBy: ["createdAt"] });
311
309
  // Process changes by record
312
310
  const allChanges = (0, lodash_1.chain)([...activeExistingChanges, ...newChanges])
313
311
  .uniqBy("changeId")
314
312
  .value();
315
313
  // Collect superseded changes for later processing (if preserving history)
316
- const newSupersededChanges = newChanges.filter(c => c.supersededAt);
317
- const newActiveChanges = newChanges.filter(c => !c.supersededAt);
314
+ const newSupersededChanges = newChanges.filter((c) => c.supersededAt);
315
+ const newActiveChanges = newChanges.filter((c) => !c.supersededAt);
318
316
  if (newActiveChanges.length === 0 && !(this.preserveHistory && newSupersededChanges.length)) {
319
317
  // No new active changes to apply and no superseded changes to preserve
320
318
  return;
321
319
  }
322
- const allActiveChanges = allChanges.filter(c => !c.supersededAt);
320
+ const allActiveChanges = allChanges.filter((c) => !c.supersededAt);
323
321
  const batchTimestamp = (0, peers_sdk_1.getTimestamp)();
324
322
  const groupedActiveChanges = (0, lodash_1.groupBy)(allActiveChanges, "recordId");
325
323
  const supersededChanges = [];
@@ -330,15 +328,18 @@ class TrackedDataSource {
330
328
  const changesToEmit = [];
331
329
  for (const recordId of Object.keys(groupedActiveChanges)) {
332
330
  // changes for this record sorted in reverse order (newest first) for superseding logic
333
- const recordChangesActiveReverse = (0, lodash_1.sortBy)(groupedActiveChanges[recordId], ['createdAt', 'changeId']).reverse();
331
+ const recordChangesActiveReverse = (0, lodash_1.sortBy)(groupedActiveChanges[recordId], [
332
+ "createdAt",
333
+ "changeId",
334
+ ]).reverse();
334
335
  // get the last full write for this record (which is the first found since we're in reverse order)
335
- const lastFullWrite = recordChangesActiveReverse.find(c => c.path === '/');
336
+ const lastFullWrite = recordChangesActiveReverse.find((c) => c.path === "/");
336
337
  if (!lastFullWrite) {
337
338
  console.error(`No full write found for recordId: ${recordId}, skipping changes`);
338
339
  continue;
339
340
  }
340
- let finalRecord = undefined;
341
- let isDeleted = lastFullWrite.op === 'delete';
341
+ let finalRecord;
342
+ const isDeleted = lastFullWrite.op === "delete";
342
343
  if (isDeleted) {
343
344
  // mark new and existing changes as superseded except the last full write
344
345
  for (const c of recordChangesActiveReverse) {
@@ -379,7 +380,7 @@ class TrackedDataSource {
379
380
  continue;
380
381
  }
381
382
  }
382
- const superseded = writtenPaths.some(parentPath => (0, json_diff_1.isChildPathOrSame)(parentPath, change.path));
383
+ const superseded = writtenPaths.some((parentPath) => (0, json_diff_1.isChildPathOrSame)(parentPath, change.path));
383
384
  if (superseded) {
384
385
  supersededChanges.push(change);
385
386
  continue;
@@ -392,17 +393,15 @@ class TrackedDataSource {
392
393
  let isFullWrite = false;
393
394
  // convert changes to diff ops
394
395
  const changesToApply = (0, lodash_1.chain)(writtenChanges)
395
- .sortBy(['createdAt', 'changeId'])
396
- .map(c => {
397
- const diffOp = c.op === 'delete' ? 'remove'
398
- : c.op === 'set' ? 'add'
399
- : c.op;
396
+ .sortBy(["createdAt", "changeId"])
397
+ .map((c) => {
398
+ const diffOp = c.op === "delete" ? "remove" : c.op === "set" ? "add" : c.op;
400
399
  const diff = {
401
400
  op: diffOp,
402
401
  path: c.path,
403
402
  value: c.value,
404
403
  };
405
- if (c.op === 'set' && c.path === '/') {
404
+ if (c.op === "set" && c.path === "/") {
406
405
  isFullWrite = true;
407
406
  }
408
407
  return diff;
@@ -417,7 +416,7 @@ class TrackedDataSource {
417
416
  }
418
417
  // Queue the record for saving
419
418
  recordsToSave.push(finalRecord);
420
- recordsToSaveOps[recordId] = isFullWrite ? 'insert' : 'update';
419
+ recordsToSaveOps[recordId] = isFullWrite ? "insert" : "update";
421
420
  }
422
421
  // Set appliedAt timestamp for all new active changes
423
422
  for (const change of newActiveChanges) {
@@ -428,7 +427,7 @@ class TrackedDataSource {
428
427
  }
429
428
  // Check if we can use transactions (database supports it)
430
429
  const db = this.changeTrackingTable.db;
431
- const supportsTransactions = typeof db.runInTransaction === 'function';
430
+ const supportsTransactions = typeof db.runInTransaction === "function";
432
431
  // Get the underlying SQLDataSource for sync operations if available
433
432
  let underlyingDataSource = null;
434
433
  let ds = this.dataSource;
@@ -481,7 +480,7 @@ class TrackedDataSource {
481
480
  this.changeTrackingTable.insertSync(change);
482
481
  }
483
482
  catch (e) {
484
- if (e.code === 'SQLITE_CONSTRAINT_PRIMARYKEY') {
483
+ if (e.code === "SQLITE_CONSTRAINT_PRIMARYKEY") {
485
484
  console.warn(`Change already exists: ${change.changeId}`);
486
485
  }
487
486
  else {
@@ -492,13 +491,13 @@ class TrackedDataSource {
492
491
  // Handle superseded changes
493
492
  if (supersededChanges.length > 0) {
494
493
  if (this.preserveHistory) {
495
- this.changeTrackingTable.batchMarkSupersededSync(supersededChanges.map(change => ({
494
+ this.changeTrackingTable.batchMarkSupersededSync(supersededChanges.map((change) => ({
496
495
  changeId: change.changeId,
497
496
  supersededAt: change.supersededAt || batchTimestamp,
498
497
  })));
499
498
  }
500
499
  else {
501
- this.changeTrackingTable.deleteChangesSync(supersededChanges.map(change => change.changeId));
500
+ this.changeTrackingTable.deleteChangesSync(supersededChanges.map((change) => change.changeId));
502
501
  this.changeTrackingTable.deleteSupersededChangesOlderThanSync(this.tableName, batchTimestamp);
503
502
  }
504
503
  }
@@ -509,14 +508,14 @@ class TrackedDataSource {
509
508
  underlyingDataSource.tableDataChangedEmitter.emit({
510
509
  dataObject: record,
511
510
  op: recordsToSaveOps[record[this.primaryKeyName]],
512
- source: 'remote',
511
+ source: "remote",
513
512
  });
514
513
  }
515
514
  for (const recordId of recordsToDelete) {
516
515
  underlyingDataSource.tableDataChangedEmitter.emit({
517
516
  dataObject: { [this.primaryKeyName]: recordId },
518
- op: 'delete',
519
- source: 'remote',
517
+ op: "delete",
518
+ source: "remote",
520
519
  });
521
520
  }
522
521
  }
@@ -572,8 +571,8 @@ class TrackedDataSource {
572
571
  }
573
572
  // Insert all new active changes
574
573
  for (const change of newActiveChanges) {
575
- await this.changeTrackingTable.insert(change).catch(e => {
576
- if (e.code === 'SQLITE_CONSTRAINT_PRIMARYKEY') {
574
+ await this.changeTrackingTable.insert(change).catch((e) => {
575
+ if (e.code === "SQLITE_CONSTRAINT_PRIMARYKEY") {
577
576
  console.warn(`Attempted to insert a change that already exists for recordId: ${change.recordId}, changeId: ${change.changeId}`);
578
577
  return;
579
578
  }
@@ -583,13 +582,13 @@ class TrackedDataSource {
583
582
  // Handle superseded changes
584
583
  if (supersededChanges.length > 0) {
585
584
  if (this.preserveHistory) {
586
- await this.changeTrackingTable.batchMarkSuperseded(supersededChanges.map(change => ({
585
+ await this.changeTrackingTable.batchMarkSuperseded(supersededChanges.map((change) => ({
587
586
  changeId: change.changeId,
588
587
  supersededAt: change.supersededAt || batchTimestamp,
589
588
  })));
590
589
  }
591
590
  else {
592
- await this.changeTrackingTable.deleteChanges(supersededChanges.map(change => change.changeId));
591
+ await this.changeTrackingTable.deleteChanges(supersededChanges.map((change) => change.changeId));
593
592
  await this.changeTrackingTable.deleteSupersededChangesOlderThan(this.tableName, batchTimestamp);
594
593
  }
595
594
  }
@@ -637,7 +636,7 @@ class TrackedDataSource {
637
636
  */
638
637
  async findAndTrackRecords(batchSize = 100) {
639
638
  // TEMPORARY: Take this out
640
- await this.changeTrackingTable.db.exec('DROP TABLE IF EXISTS ChangeTracking');
639
+ await this.changeTrackingTable.db.exec("DROP TABLE IF EXISTS ChangeTracking");
641
640
  const cursor = this.cursor();
642
641
  const nextBatch = async () => {
643
642
  const batch = [];
@@ -652,10 +651,10 @@ class TrackedDataSource {
652
651
  let batch = await nextBatch();
653
652
  let newlyTrackedRecords = 0;
654
653
  while (batch.length) {
655
- const recordIds = batch.map(b => b[this.primaryKeyName]);
654
+ const recordIds = batch.map((b) => b[this.primaryKeyName]);
656
655
  const missingRecordIds = await this.changeTrackingTable.filterToMissingIds(recordIds);
657
656
  for (const recordId of missingRecordIds) {
658
- const record = batch.find(b => b[this.primaryKeyName] === recordId);
657
+ const record = batch.find((b) => b[this.primaryKeyName] === recordId);
659
658
  if (!record)
660
659
  continue;
661
660
  // Create a change record with very low timestamp so it gets superseded by any real changes
@@ -666,8 +665,8 @@ class TrackedDataSource {
666
665
  changeId: (0, peers_sdk_1.newid)(),
667
666
  tableName: this.tableName,
668
667
  recordId,
669
- op: 'set',
670
- path: '/',
668
+ op: "set",
669
+ path: "/",
671
670
  value: null, // Resolved from source table at query time
672
671
  createdAt: lowTimestamp,
673
672
  appliedAt: now,
@@ -713,7 +712,7 @@ class TrackedDataSource {
713
712
  if (!beforeTimestamp) {
714
713
  if (this.preserveHistory) {
715
714
  // Default to two weeks ago
716
- beforeTimestamp = Date.now() - (14 * 24 * 60 * 60 * 1000);
715
+ beforeTimestamp = Date.now() - 14 * 24 * 60 * 60 * 1000;
717
716
  }
718
717
  else {
719
718
  beforeTimestamp = Date.now();
@@ -1 +1 @@
1
- {"version":3,"file":"tracked-data-source.js","sourceRoot":"","sources":["../src/tracked-data-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracked-data-source.js","sourceRoot":"","sources":["../src/tracked-data-source.ts"],"names":[],"mappings":";;;AAAA,oDAc8B;AAC9B,mCAAwD;AACxD,2CAA6F;AAmB7F;;;;;;;GAOG;AACH,MAAa,iBAAiB;IAMV;IACA;IANF,SAAS,CAAS;IAClB,cAAc,CAAS;IAChC,eAAe,GAAY,KAAK,CAAC;IAExC,YACkB,UAA0B,EAC1B,mBAAwC;QADxC,eAAU,GAAV,UAAU,CAAgB;QAC1B,wBAAmB,GAAnB,mBAAmB,CAAqB;QAExD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;IAClD,CAAC;IAED,kGAAkG;IAClG,0BAA0B;IAC1B,kGAAkG;IAE3F,KAAK,CAAC,WAAW,CACtB,SAAoC,EAAE,EACtC,IAAsC;QAEtC,MAAM,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,EAAS,CAAC;QAClE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAClE,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,aAAa,CACxB,SAAoC,EAAE,EACtC,IAAsC;QAEtC,MAAM,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,EAAS,CAAC;QAClE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnE,+DAA+D;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO;YACL,CAAC,MAAM,CAAC,aAAa,CAAC;gBACpB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;gBACrD,OAAO;oBACL,KAAK,CAAC,IAAI;wBACR,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;wBAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;4BACjC,MAAM,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;wBACvD,CAAC;wBACD,OAAO,MAAM,CAAC;oBAChB,CAAC;oBACD,KAAK,CAAC,MAAM,CAAC,KAAW;wBACtB,OAAO,aAAa,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;oBAC3E,CAAC;iBACF,CAAC;YACJ,CAAC;SACgC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,yBAAyB,CAAC,OAAwB;QAC7D,qEAAqE;QACrE,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CACvF,CAAC;QACF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEvC,6CAA6C;QAC7C,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACzC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE;SACzB,CAAC,CAAC;QACpB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAErF,kBAAkB;QAClB,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,kGAAkG;IAClG,mBAAmB;IACnB,kGAAkG;IAE3F,KAAK,CAAC,IAAI,CAAC,IAAO,EAAE,IAAmB;QAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QAChE,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjF,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,IAAI,IAAI,EAAE,gBAAgB,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YACD,MAAM,IAAI,KAAK,CACb,8BAA8B,QAAQ,oDAAoD,CAC3F,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,IAAO,EAAE,IAAmB;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,IAAO,EAAE,gBAAgB,GAAG,KAAK,EAAE,IAAmB;QAC1E,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,IAAA,iBAAK,GAAE,CAAC;YACnB,mBAAmB;YACnB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC;QACvC,CAAC;aAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjF,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CACb,gCAAgC,QAAQ,oDAAoD,CAC7F,CAAC;YACJ,CAAC;QACH,CAAC;QAED,qGAAqG;QACrG,MAAM,SAAS,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAA,wBAAY,GAAE,CAAC;QACxE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAExD,uDAAuD;QACvD,2EAA2E;QAC3E,4DAA4D;QAC5D,MAAM,MAAM,GAAkB;YAC5B,QAAQ,EAAE,IAAA,iBAAK,GAAE;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ;YACR,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,GAAG,EAAE,4BAA4B;YACvC,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,IAAA,wBAAY,GAAE,CAAC,CAAC,CAAC,SAAS;SACzD,CAAC;QACF,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEzD,OAAO,YAAY,CAAC;IACtB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,OAAU;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,OAAU,EAAE,OAAW,EAAE,cAAwB;QACrE,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvE,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxF,CAAC;QAED,MAAM,SAAS,GAAG,IAAA,wBAAY,GAAE,CAAC;QACjC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE5D,IAAI,cAAc,EAAE,CAAC;YACnB,iFAAiF;YACjF,2EAA2E;YAC3E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;gBACnD,QAAQ,EAAE,IAAA,iBAAK,GAAE;gBACjB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,QAAQ;gBACR,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,GAAG,EAAE,4BAA4B;gBACvC,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;YACH,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzD,MAAM,IAAI,CAAC,mBAAmB,CAAC,6BAA6B,CAC1D,IAAI,CAAC,SAAS,EACd,QAAQ,EACR,SAAS,CACV,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,IAAA,0BAAc,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YACxD,IAAI,QAAQ,EAAE,CAAC;gBACb,mDAAmD;gBACnD,MAAM,OAAO,GAAoB,EAAE,CAAC;gBACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACvB,MAAM,QAAQ,GACZ,EAAE,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;oBAChF,MAAM,UAAU,GAAG,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC;oBAElC,MAAM,KAAK,GACT,EAAE,CAAC,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC,EAAE,KAAK,SAAS,IAAI,EAAE,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC1F,MAAM,MAAM,GAAkB;wBAC5B,QAAQ,EAAE,IAAA,iBAAK,GAAE;wBACjB,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,QAAQ;wBACR,EAAE,EAAE,QAAQ;wBACZ,IAAI,EAAE,UAAU;wBAChB,KAAK;wBACL,SAAS,EAAE,SAAS,EAAE,+CAA+C;wBACrE,SAAS,EAAE,SAAS;qBACrB,CAAC;oBACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvB,CAAC;gBACD,2CAA2C;gBAC3C,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAC/D;oBACE,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,QAAQ;oBACR,YAAY,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;iBACjC,EACD,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,CAC1B,CAAC;gBACF,MAAM,mBAAmB,GAAa,EAAE,CAAC;gBACzC,KAAK,MAAM,cAAc,IAAI,qBAAqB,EAAE,CAAC;oBACnD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAC5C,IAAA,6BAAiB,EAAC,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,CACvD,CAAC;oBACF,IAAI,UAAU,EAAE,CAAC;wBACf,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;oBACpD,CAAC;gBACH,CAAC;gBAED,+BAA+B;gBAC/B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC9C,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3D,CAAC;gBAED,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnC,MAAM,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAChD,mBAAmB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;wBACrC,QAAQ;wBACR,YAAY,EAAE,SAAS;qBACxB,CAAC,CAAC,CACJ,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,IAAgB;QAClC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,SAAS,GAAG,IAAA,wBAAY,GAAE,CAAC;QAEjC,yDAAyD;QACzD,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEnC,kEAAkE;QAClE,6BAA6B;QAC7B,MAAM,MAAM,GAAkB;YAC5B,QAAQ,EAAE,IAAA,iBAAK,GAAE;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ;YACR,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,GAAG,EAAE,uBAAuB;YAClC,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,SAAS;SACrB,CAAC;QACF,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEzD,qCAAqC;QACrC,MAAM,IAAI,CAAC,mBAAmB,CAAC,6BAA6B,CAC1D,IAAI,CAAC,SAAS,EACd,QAAQ,EACR,SAAS,CACV,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,IAAO;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;QAED,MAAM,SAAS,GAAG,IAAA,wBAAY,GAAE,CAAC;QAEjC,yDAAyD;QACzD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAExD,uDAAuD;QACvD,2EAA2E;QAC3E,MAAM,MAAM,GAAkB;YAC5B,QAAQ,EAAE,IAAA,iBAAK,GAAE;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ;YACR,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,GAAG,EAAE,4BAA4B;YACvC,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,SAAS;SACrB,CAAC;QACF,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEzD,qCAAqC;QACrC,MAAM,IAAI,CAAC,mBAAmB,CAAC,6BAA6B,CAC1D,IAAI,CAAC,SAAS,EACd,QAAQ,EACR,SAAS,CACV,CAAC;QAEF,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,kGAAkG;IAClG,uBAAuB;IACvB,kGAAkG;IAE1F,mBAAmB,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAExD,KAAK,CAAC,YAAY,CAAC,OAAwB;QAChD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,OAAwB;QAClD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QACD,OAAO,GAAG,IAAA,eAAM,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAE7C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAC9E,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAC/B,CAAC;QACF,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,kCAAkC;YAClC,OAAO;QACT,CAAC;QACD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE3F,sEAAsE;QACtE,MAAM,SAAS,GAAG,IAAA,cAAK,EAAC,UAAU,CAAC;YACjC,0EAA0E;aACzE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;aACtB,IAAI,EAAE;aACN,KAAK,EAAE,CAAC;QAEX,2CAA2C;QAC3C,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAC/D;YACE,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE;YAC5B,YAAY,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;SACjC,EACD,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,CAC1B,CAAC;QAEF,4BAA4B;QAC5B,MAAM,UAAU,GAAG,IAAA,cAAK,EAAC,CAAC,GAAG,qBAAqB,EAAE,GAAG,UAAU,CAAC,CAAC;aAChE,MAAM,CAAC,UAAU,CAAC;aAClB,KAAK,EAAE,CAAC;QAEX,0EAA0E;QAC1E,MAAM,oBAAoB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACtE,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACnE,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5F,uEAAuE;YACvE,OAAO;QACT,CAAC;QAED,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACnE,MAAM,cAAc,GAAG,IAAA,wBAAY,GAAE,CAAC;QACtC,MAAM,oBAAoB,GAAG,IAAA,gBAAO,EAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QACnE,MAAM,iBAAiB,GAAoB,EAAE,CAAC;QAE9C,2DAA2D;QAC3D,MAAM,aAAa,GAAQ,EAAE,CAAC;QAC9B,MAAM,gBAAgB,GAAgD,EAAE,CAAC;QACzE,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,MAAM,aAAa,GAAoB,EAAE,CAAC;QAE1C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACzD,uFAAuF;YACvF,MAAM,0BAA0B,GAAG,IAAA,eAAM,EAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE;gBACxE,WAAW;gBACX,UAAU;aACX,CAAC,CAAC,OAAO,EAAE,CAAC;YAEb,kGAAkG;YAClG,MAAM,aAAa,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;YAC7E,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO,CAAC,KAAK,CAAC,qCAAqC,QAAQ,oBAAoB,CAAC,CAAC;gBACjF,SAAS;YACX,CAAC;YAED,IAAI,WAA0B,CAAC;YAC/B,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE,KAAK,QAAQ,CAAC;YAEhD,IAAI,SAAS,EAAE,CAAC;gBACd,yEAAyE;gBACzE,KAAK,MAAM,CAAC,IAAI,0BAA0B,EAAE,CAAC;oBAC3C,IAAI,CAAC,KAAK,aAAa,EAAE,CAAC;wBACxB,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC;gBACD,IAAI,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC7C,yEAAyE;oBACzE,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjC,CAAC;gBACD,SAAS;YACX,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,aAAa,CAAC,KAAU,CAAC;gBACvC,kFAAkF;gBAClF,oCAAoC;gBACpC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YACD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,8CAA8C,QAAQ,oBAAoB,CAAC,CAAC;gBAC1F,SAAS;YACX,CAAC;YAED,uDAAuD;YACvD,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,MAAM,cAAc,GAAoB,EAAE,CAAC;YAC3C,KAAK,MAAM,MAAM,IAAI,0BAA0B,EAAE,CAAC;gBAChD,sCAAsC;gBACtC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtC,IAAI,CAAC;wBACH,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAChD,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,OAAO,CAAC,IAAI,CACV,yCAAyC,QAAQ,eAAe,MAAM,CAAC,QAAQ,EAAE,EACjF,CAAC,CACF,CAAC;wBACF,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC7D,SAAS;oBACX,CAAC;gBACH,CAAC;gBACD,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAClD,IAAA,6BAAiB,EAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAC3C,CAAC;gBACF,IAAI,UAAU,EAAE,CAAC;oBACf,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC/B,SAAS;gBACX,CAAC;gBACD,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;oBAC7B,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;YAED,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,8BAA8B;YAC9B,MAAM,cAAc,GAAG,IAAA,cAAK,EAAC,cAAc,CAAC;iBACzC,MAAM,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;iBACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACT,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,MAAM,IAAI,GAAY;oBACpB,EAAE,EAAE,MAAa;oBACjB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;iBACf,CAAC;gBACF,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBACrC,WAAW,GAAG,IAAI,CAAC;gBACrB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;iBACD,KAAK,EAAE,CAAC;YACX,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC1B,WAAW,GAAG,IAAA,yBAAa,EAAC,WAAW,EAAE,cAA2B,CAAC,CAAC;YACxE,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,yCAAyC,QAAQ,YAAY,CAAC,CAAC;gBAC7E,SAAS;YACX,CAAC;YAED,8BAA8B;YAC9B,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QACjE,CAAC;QAED,qDAAqD;QACrD,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;YACtC,MAAM,CAAC,SAAS,GAAG,cAAc,CAAC;YAClC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,MAAM,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACvC,MAAM,oBAAoB,GAAG,OAAO,EAAE,CAAC,gBAAgB,KAAK,UAAU,CAAC;QAEvE,oEAAoE;QACpE,IAAI,oBAAoB,GAA4B,IAAI,CAAC;QACzD,IAAI,EAAE,GAAQ,IAAI,CAAC,UAAU,CAAC;QAC9B,OAAO,EAAE,EAAE,CAAC;YACV,IAAI,EAAE,YAAY,yBAAa,EAAE,CAAC;gBAChC,oBAAoB,GAAG,EAAE,CAAC;gBAC1B,MAAM;YACR,CAAC;YACD,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC;QACrB,CAAC;QAED,IAAI,oBAAoB,IAAI,oBAAoB,EAAE,CAAC;YACjD,6DAA6D;YAC7D,IAAI,CAAC;gBACH,sEAAsE;gBACtE,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC;gBAC3C,MAAM,oBAAoB,CAAC,SAAS,EAAE,CAAC;gBAEvC,EAAE,CAAC,gBAAiB,CAAC,GAAG,EAAE;oBACxB,mBAAmB;oBACnB,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;wBACnC,IAAI,CAAC;4BACH,oBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;wBACzC,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,OAAO,CAAC,IAAI,CACV,yCAAyC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EACtE,CAAC,CACF,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAED,yCAAyC;oBACzC,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;wBACvC,IAAI,CAAC;4BACH,oBAAqB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;wBAC7C,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,OAAO,CAAC,IAAI,CAAC,2CAA2C,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;wBACzE,CAAC;oBACH,CAAC;oBAED,kDAAkD;oBAClD,IAAI,IAAI,CAAC,eAAe,IAAI,oBAAoB,CAAC,MAAM,EAAE,CAAC;wBACxD,KAAK,MAAM,MAAM,IAAI,oBAAoB,EAAE,CAAC;4BAC1C,IAAI,CAAC;gCACH,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;4BAC9C,CAAC;4BAAC,OAAO,CAAC,EAAE,CAAC;gCACX,wDAAwD;4BAC1D,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,gCAAgC;oBAChC,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;wBACtC,IAAI,CAAC;4BACH,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;wBAC9C,CAAC;wBAAC,OAAO,CAAM,EAAE,CAAC;4BAChB,IAAI,CAAC,CAAC,IAAI,KAAK,8BAA8B,EAAE,CAAC;gCAC9C,OAAO,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;4BAC5D,CAAC;iCAAM,CAAC;gCACN,MAAM,CAAC,CAAC;4BACV,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,4BAA4B;oBAC5B,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACjC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;4BACzB,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAC9C,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gCACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gCACzB,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,cAAc;6BACpD,CAAC,CAAC,CACJ,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CACxC,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CACnD,CAAC;4BACF,IAAI,CAAC,mBAAmB,CAAC,oCAAoC,CAC3D,IAAI,CAAC,SAAS,EACd,cAAc,CACf,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,iEAAiE;gBACjE,IAAI,oBAAoB,CAAC,uBAAuB,EAAE,CAAC;oBACjD,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;wBACnC,oBAAoB,CAAC,uBAAuB,CAAC,IAAI,CAAC;4BAChD,UAAU,EAAE,MAAM;4BAClB,EAAE,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;4BACjD,MAAM,EAAE,QAAQ;yBACjB,CAAC,CAAC;oBACL,CAAC;oBACD,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;wBACvC,oBAAoB,CAAC,uBAAuB,CAAC,IAAI,CAAC;4BAChD,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAO;4BACpD,EAAE,EAAE,QAAQ;4BACZ,MAAM,EAAE,QAAQ;yBACjB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CACX,2EAA2E,EAC3E,CAAC,CACF,CAAC;gBACF,yCAAyC;gBACzC,MAAM,IAAI,CAAC,6BAA6B,CACtC,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,CACf,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,4DAA4D;YAC5D,MAAM,IAAI,CAAC,6BAA6B,CACtC,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,CACf,CAAC;QACJ,CAAC;QAED,yDAAyD;QACzD,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,6BAA6B,CACzC,aAAkB,EAClB,eAAyB,EACzB,oBAAqC,EACrC,gBAAiC,EACjC,iBAAkC,EAClC,cAAsB;QAEtB,mBAAmB;QACnB,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CACV,6CAA6C,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAC5F,CAAC,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,yCAAyC;QACzC,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;YACvC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAe,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,4BAA4B,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,kDAAkD;QAClD,IAAI,IAAI,CAAC,eAAe,IAAI,oBAAoB,CAAC,MAAM,EAAE,CAAC;YACxD,KAAK,MAAM,mBAAmB,IAAI,oBAAoB,EAAE,CAAC;gBACvD,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBAC7D,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,IAAI,CACV,oDAAoD,mBAAmB,CAAC,QAAQ,eAAe,mBAAmB,CAAC,QAAQ,EAAE,EAC7H,CAAC,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBACxD,IAAI,CAAC,CAAC,IAAI,KAAK,8BAA8B,EAAE,CAAC;oBAC9C,OAAO,CAAC,IAAI,CACV,kEAAkE,MAAM,CAAC,QAAQ,eAAe,MAAM,CAAC,QAAQ,EAAE,CAClH,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,uCAAuC,MAAM,CAAC,QAAQ,eAAe,MAAM,CAAC,QAAQ,sBAAsB,CAAC,CAAC,OAAO,EAAE,EACrH,EAAE,KAAK,EAAE,CAAC,EAAE,CACb,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,4BAA4B;QAC5B,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAChD,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,cAAc;iBACpD,CAAC,CAAC,CACJ,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAC1C,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CACnD,CAAC;gBACF,MAAM,IAAI,CAAC,mBAAmB,CAAC,gCAAgC,CAC7D,IAAI,CAAC,SAAS,EACd,cAAc,CACf,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,kGAAkG;IAClG,2DAA2D;IAC3D,kGAAkG;IAE3F,KAAK,CAAC,GAAG,CAAC,EAAU;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,EAAE,OAA4B,EAAE;QAC1E,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,SAAwB,EAAE;QAC3C,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,CAAC,IAAI,CACV,0CAA0C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,0BAA0B,CACrG,CAAC;QACF,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,IAAA,4BAAgB,EAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC7F,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YAC7B,GAAG,EAAE,CAAC;QACR,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,MAAM,CAAC,SAAwB,EAAE,EAAE,OAA4B,EAAE;QACtE,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,IAAA,4BAAgB,EAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,kGAAkG;IAClG,kBAAkB;IAClB,kGAAkG;IAElG;;;;;;;;;;OAUG;IACI,KAAK,CAAC,mBAAmB,CAAC,SAAS,GAAG,GAAG;QAC9C,2BAA2B;QAC3B,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;YAC3B,MAAM,KAAK,GAAQ,EAAE,CAAC;YACtB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjB,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;oBAC9B,MAAM;gBACR,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,IAAI,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,IAAI,mBAAmB,GAAG,CAAC,CAAC;QAE5B,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YAC3D,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAEtF,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;gBACxC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,QAAQ,CAAC,CAAC;gBACtE,IAAI,CAAC,MAAM;oBAAE,SAAS;gBAEtB,2FAA2F;gBAC3F,+DAA+D;gBAC/D,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvC,MAAM,GAAG,GAAG,IAAA,wBAAY,GAAE,CAAC;gBAE3B,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;oBACpC,QAAQ,EAAE,IAAA,iBAAK,GAAE;oBACjB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,QAAQ;oBACR,EAAE,EAAE,KAAK;oBACT,IAAI,EAAE,GAAG;oBACT,KAAK,EAAE,IAAI,EAAE,2CAA2C;oBACxD,SAAS,EAAE,YAAY;oBACvB,SAAS,EAAE,GAAG;iBACf,CAAC,CAAC;gBACH,mBAAmB,EAAE,CAAC;YACxB,CAAC;YAED,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,mBAAmB,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CACT,WAAW,mBAAmB,0CAA0C,IAAI,CAAC,SAAS,EAAE,CACzF,CAAC;QACJ,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,qBAAqB;QAChC,MAAM,uBAAuB,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC;QACnE,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC;QACxC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAE3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,CACnD;qBACe,uBAAuB;;;gBAG5B,uBAAuB;qBAClB,gBAAgB;+BACN,cAAc;uCACN,cAAc;;;KAGhD,EACC,CAAC,gBAAgB,CAAC,CACnB,CAAC;QAEF,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,gCAAgC,gBAAgB,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACI,KAAK,CAAC,OAAO,CAAC,eAAwB;QAC3C,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,2BAA2B;gBAC3B,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;QACD,qEAAqE;QACrE,MAAM,IAAI,CAAC,mBAAmB,CAAC,gCAAgC,CAC7D,IAAI,CAAC,SAAS,EACd,eAAe,CAChB,CAAC;QACF,kFAAkF;QAClF,8DAA8D;QAC9D,MAAM,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEvE,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACrC,CAAC;CACF;AAn3BD,8CAm3BC"}