@cogenta/schema 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/dist/define-collection.d.ts.map +1 -1
  2. package/dist/define-collection.js +53 -3
  3. package/dist/define-collection.js.map +1 -1
  4. package/dist/generate-types.d.ts.map +1 -1
  5. package/dist/generate-types.js +6 -1
  6. package/dist/generate-types.js.map +1 -1
  7. package/dist/index.d.ts +2 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +1 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/media-usage.d.ts +56 -0
  12. package/dist/media-usage.d.ts.map +1 -0
  13. package/dist/media-usage.js +89 -0
  14. package/dist/media-usage.js.map +1 -0
  15. package/dist/rich-text.d.ts +28 -2
  16. package/dist/rich-text.d.ts.map +1 -1
  17. package/dist/rich-text.js +26 -3
  18. package/dist/rich-text.js.map +1 -1
  19. package/dist/routing/index.d.ts +5 -1
  20. package/dist/routing/index.d.ts.map +1 -1
  21. package/dist/routing/index.js +2 -0
  22. package/dist/routing/index.js.map +1 -1
  23. package/dist/routing/not-found-log.d.ts +78 -0
  24. package/dist/routing/not-found-log.d.ts.map +1 -0
  25. package/dist/routing/not-found-log.js +153 -0
  26. package/dist/routing/not-found-log.js.map +1 -0
  27. package/dist/routing/redirect-patterns.d.ts +61 -0
  28. package/dist/routing/redirect-patterns.d.ts.map +1 -0
  29. package/dist/routing/redirect-patterns.js +173 -0
  30. package/dist/routing/redirect-patterns.js.map +1 -0
  31. package/dist/routing/redirects.d.ts +27 -4
  32. package/dist/routing/redirects.d.ts.map +1 -1
  33. package/dist/routing/redirects.js +160 -48
  34. package/dist/routing/redirects.js.map +1 -1
  35. package/dist/scheduling/index.d.ts +2 -0
  36. package/dist/scheduling/index.d.ts.map +1 -1
  37. package/dist/scheduling/index.js +1 -0
  38. package/dist/scheduling/index.js.map +1 -1
  39. package/dist/scheduling/registry.d.ts +147 -0
  40. package/dist/scheduling/registry.d.ts.map +1 -0
  41. package/dist/scheduling/registry.js +318 -0
  42. package/dist/scheduling/registry.js.map +1 -0
  43. package/dist/search/extract.d.ts +24 -0
  44. package/dist/search/extract.d.ts.map +1 -1
  45. package/dist/search/extract.js +63 -8
  46. package/dist/search/extract.js.map +1 -1
  47. package/dist/search/index.d.ts +2 -1
  48. package/dist/search/index.d.ts.map +1 -1
  49. package/dist/search/index.js +1 -9
  50. package/dist/search/index.js.map +1 -1
  51. package/dist/store/admin-theme-store.d.ts +26 -0
  52. package/dist/store/admin-theme-store.d.ts.map +1 -0
  53. package/dist/store/admin-theme-store.js +81 -0
  54. package/dist/store/admin-theme-store.js.map +1 -0
  55. package/dist/store/admin-theme-tables.d.ts +24 -0
  56. package/dist/store/admin-theme-tables.d.ts.map +1 -0
  57. package/dist/store/admin-theme-tables.js +41 -0
  58. package/dist/store/admin-theme-tables.js.map +1 -0
  59. package/dist/store/admin-theme-templates.d.ts +135 -0
  60. package/dist/store/admin-theme-templates.d.ts.map +1 -0
  61. package/dist/store/admin-theme-templates.js +217 -0
  62. package/dist/store/admin-theme-templates.js.map +1 -0
  63. package/dist/store/columns.d.ts.map +1 -1
  64. package/dist/store/columns.js +8 -2
  65. package/dist/store/columns.js.map +1 -1
  66. package/dist/store/diff.d.ts +40 -0
  67. package/dist/store/diff.d.ts.map +1 -1
  68. package/dist/store/diff.js +148 -0
  69. package/dist/store/diff.js.map +1 -1
  70. package/dist/store/index.d.ts +44 -6
  71. package/dist/store/index.d.ts.map +1 -1
  72. package/dist/store/index.js +24 -3
  73. package/dist/store/index.js.map +1 -1
  74. package/dist/store/maintenance-store.d.ts +34 -0
  75. package/dist/store/maintenance-store.d.ts.map +1 -0
  76. package/dist/store/maintenance-store.js +92 -0
  77. package/dist/store/maintenance-store.js.map +1 -0
  78. package/dist/store/menu-store.d.ts +48 -1
  79. package/dist/store/menu-store.d.ts.map +1 -1
  80. package/dist/store/menu-store.js +151 -4
  81. package/dist/store/menu-store.js.map +1 -1
  82. package/dist/store/menu-tables.d.ts +12 -0
  83. package/dist/store/menu-tables.d.ts.map +1 -1
  84. package/dist/store/menu-tables.js +38 -0
  85. package/dist/store/menu-tables.js.map +1 -1
  86. package/dist/store/naming.d.ts +1 -1
  87. package/dist/store/naming.d.ts.map +1 -1
  88. package/dist/store/naming.js +2 -0
  89. package/dist/store/naming.js.map +1 -1
  90. package/dist/store/pattern-store.d.ts +75 -0
  91. package/dist/store/pattern-store.d.ts.map +1 -0
  92. package/dist/store/pattern-store.js +118 -0
  93. package/dist/store/pattern-store.js.map +1 -0
  94. package/dist/store/pattern-tables.d.ts +29 -0
  95. package/dist/store/pattern-tables.d.ts.map +1 -0
  96. package/dist/store/pattern-tables.js +53 -0
  97. package/dist/store/pattern-tables.js.map +1 -0
  98. package/dist/store/read-only.d.ts +3 -3
  99. package/dist/store/read-only.d.ts.map +1 -1
  100. package/dist/store/read-only.js +4 -3
  101. package/dist/store/read-only.js.map +1 -1
  102. package/dist/store/redirect-tracking.d.ts +50 -0
  103. package/dist/store/redirect-tracking.d.ts.map +1 -0
  104. package/dist/store/redirect-tracking.js +91 -0
  105. package/dist/store/redirect-tracking.js.map +1 -0
  106. package/dist/store/review-transitions.d.ts +34 -0
  107. package/dist/store/review-transitions.d.ts.map +1 -0
  108. package/dist/store/review-transitions.js +51 -0
  109. package/dist/store/review-transitions.js.map +1 -0
  110. package/dist/store/role-permission-export.d.ts +22 -0
  111. package/dist/store/role-permission-export.d.ts.map +1 -0
  112. package/dist/store/role-permission-export.js +0 -0
  113. package/dist/store/role-permission-export.js.map +1 -0
  114. package/dist/store/role-permission-overlay.d.ts +27 -0
  115. package/dist/store/role-permission-overlay.d.ts.map +1 -0
  116. package/dist/store/role-permission-overlay.js +0 -0
  117. package/dist/store/role-permission-overlay.js.map +1 -0
  118. package/dist/store/role-permission-store.d.ts +72 -0
  119. package/dist/store/role-permission-store.d.ts.map +1 -0
  120. package/dist/store/role-permission-store.js +148 -0
  121. package/dist/store/role-permission-store.js.map +1 -0
  122. package/dist/store/role-permission-tables.d.ts +27 -0
  123. package/dist/store/role-permission-tables.d.ts.map +1 -0
  124. package/dist/store/role-permission-tables.js +52 -0
  125. package/dist/store/role-permission-tables.js.map +1 -0
  126. package/dist/store/scheduled-publish-failures.d.ts +36 -0
  127. package/dist/store/scheduled-publish-failures.d.ts.map +1 -0
  128. package/dist/store/scheduled-publish-failures.js +67 -0
  129. package/dist/store/scheduled-publish-failures.js.map +1 -0
  130. package/dist/store/schema-2-1-migration.d.ts +29 -0
  131. package/dist/store/schema-2-1-migration.d.ts.map +1 -0
  132. package/dist/store/schema-2-1-migration.js +71 -0
  133. package/dist/store/schema-2-1-migration.js.map +1 -0
  134. package/dist/store/search-console-store.d.ts +44 -0
  135. package/dist/store/search-console-store.d.ts.map +1 -0
  136. package/dist/store/search-console-store.js +90 -0
  137. package/dist/store/search-console-store.js.map +1 -0
  138. package/dist/store/search-console-tables.d.ts +14 -0
  139. package/dist/store/search-console-tables.d.ts.map +1 -0
  140. package/dist/store/search-console-tables.js +29 -0
  141. package/dist/store/search-console-tables.js.map +1 -0
  142. package/dist/store/search-indexing.d.ts +36 -0
  143. package/dist/store/search-indexing.d.ts.map +1 -1
  144. package/dist/store/search-indexing.js +33 -0
  145. package/dist/store/search-indexing.js.map +1 -1
  146. package/dist/store/site-settings-registry.d.ts +164 -0
  147. package/dist/store/site-settings-registry.d.ts.map +1 -0
  148. package/dist/store/site-settings-registry.js +1200 -0
  149. package/dist/store/site-settings-registry.js.map +1 -0
  150. package/dist/store/site-settings-store.d.ts +42 -0
  151. package/dist/store/site-settings-store.d.ts.map +1 -0
  152. package/dist/store/site-settings-store.js +97 -0
  153. package/dist/store/site-settings-store.js.map +1 -0
  154. package/dist/store/site-settings-tables.d.ts +29 -0
  155. package/dist/store/site-settings-tables.d.ts.map +1 -0
  156. package/dist/store/site-settings-tables.js +48 -0
  157. package/dist/store/site-settings-tables.js.map +1 -0
  158. package/dist/store/store.d.ts +48 -1
  159. package/dist/store/store.d.ts.map +1 -1
  160. package/dist/store/store.js +231 -39
  161. package/dist/store/store.js.map +1 -1
  162. package/dist/store/tables.d.ts.map +1 -1
  163. package/dist/store/tables.js +11 -0
  164. package/dist/store/tables.js.map +1 -1
  165. package/dist/store/taxonomy-store.d.ts.map +1 -1
  166. package/dist/store/taxonomy-store.js +90 -39
  167. package/dist/store/taxonomy-store.js.map +1 -1
  168. package/dist/store/taxonomy-usage.d.ts +47 -0
  169. package/dist/store/taxonomy-usage.d.ts.map +1 -0
  170. package/dist/store/taxonomy-usage.js +101 -0
  171. package/dist/store/taxonomy-usage.js.map +1 -0
  172. package/dist/store/theme-store.d.ts +73 -0
  173. package/dist/store/theme-store.d.ts.map +1 -0
  174. package/dist/store/theme-store.js +193 -0
  175. package/dist/store/theme-store.js.map +1 -0
  176. package/dist/store/types.d.ts +36 -1
  177. package/dist/store/types.d.ts.map +1 -1
  178. package/dist/store/values.d.ts.map +1 -1
  179. package/dist/store/values.js +28 -1
  180. package/dist/store/values.js.map +1 -1
  181. package/dist/system-fields.d.ts +8 -1
  182. package/dist/system-fields.d.ts.map +1 -1
  183. package/dist/system-fields.js +14 -1
  184. package/dist/system-fields.js.map +1 -1
  185. package/dist/types.d.ts +54 -1
  186. package/dist/types.d.ts.map +1 -1
  187. package/dist/types.js +21 -0
  188. package/dist/types.js.map +1 -1
  189. package/package.json +2 -2
@@ -6,6 +6,7 @@ import { decodeCursor, encodeCursor } from './cursor.js';
6
6
  import { diffContent } from './diff.js';
7
7
  import { joinFragments, valueList } from './fragments.js';
8
8
  import { blocksTable, columnFor, entriesTable, relationTable, versionsTable } from './naming.js';
9
+ import { nextReviewState } from './review-transitions.js';
9
10
  import { relationsOf } from './tables.js';
10
11
  import { decodeFieldValue, normaliseBlocks, normaliseValues } from './values.js';
11
12
  const DEFAULT_PAGE_SIZE = 25;
@@ -279,6 +280,8 @@ export function createContentStore(options) {
279
280
  updatedBy: nullableText(row['updated_by']),
280
281
  status,
281
282
  deletedAt: nullableText(row['deleted_at']),
283
+ reviewState: (nullableText(row['review_state']) ?? 'none'),
284
+ assignedReviewer: nullableText(row['assigned_reviewer']),
282
285
  locale: text(row['locale']),
283
286
  translationOf: nullableText(row['translation_of']),
284
287
  version: Number(overrides.version ?? row['version']),
@@ -412,7 +415,13 @@ export function createContentStore(options) {
412
415
  where ${identifier('entry_id', dialect)} = ${entryId}
413
416
  and ${identifier('version', dialect)} in (${list})`);
414
417
  }
415
- async function writeLiveColumns(tx, id, columns, system) {
418
+ /**
419
+ * `guard` narrows the `WHERE` beyond `id = ?` — the atomic claim
420
+ * `claimForScheduledPublish` needs. Returns rows affected so a caller can
421
+ * tell a guarded write that changed nothing from one that changed a row:
422
+ * the difference between "I published it" and "someone else already did".
423
+ */
424
+ async function writeLiveColumns(tx, id, columns, system, guard) {
416
425
  const assignments = [];
417
426
  for (const [name, value] of Object.entries(system)) {
418
427
  assignments.push(sql `${identifier(name, dialect)} = ${value}`);
@@ -420,8 +429,60 @@ export function createContentStore(options) {
420
429
  for (const [name, value] of Object.entries(columns)) {
421
430
  assignments.push(sql `${identifier(columnFor(name), dialect)} = ${value}`);
422
431
  }
423
- await tx.query(sql `update ${entries} set ${joinFragments(assignments, ', ')}
424
- where ${identifier('id', dialect)} = ${id}`);
432
+ const where = guard === undefined
433
+ ? sql `where ${identifier('id', dialect)} = ${id}`
434
+ : sql `where ${identifier('id', dialect)} = ${id} and ${guard}`;
435
+ const result = await tx.query(sql `update ${entries} set ${joinFragments(assignments, ', ')} ${where}`);
436
+ return result.rowsAffected;
437
+ }
438
+ /** Shared by `publish()` and `claimForScheduledPublish()` — see each call site for what `requireStatus` buys. */
439
+ async function publishTx(tx, id, options) {
440
+ const row = await loadRow(tx, id);
441
+ if (row === null)
442
+ return null;
443
+ if (options.requireStatus !== undefined && text(row['status']) !== options.requireStatus) {
444
+ return null;
445
+ }
446
+ const working = await workingEntry(tx, row);
447
+ const at = stamp();
448
+ const author = options.publishedBy ?? nullableText(row['updated_by']);
449
+ const values = { ...working.values };
450
+ if (collection.fields['publishedAt'] !== undefined && values['publishedAt'] == null) {
451
+ values['publishedAt'] = at;
452
+ }
453
+ // Publication is the moment `required` starts to mean something: a
454
+ // half-written draft can be saved, but it cannot go out.
455
+ const normalised = normaliseValues(collection, values, {
456
+ partial: false,
457
+ enforceRequired: true,
458
+ });
459
+ const guard = options.requireStatus === undefined
460
+ ? undefined
461
+ : sql `${identifier('status', dialect)} = ${options.requireStatus}`;
462
+ const affected = await writeLiveColumns(tx, id, normalised.columns, {
463
+ status: 'published',
464
+ version: working.version,
465
+ updated_at: at,
466
+ updated_by: author,
467
+ }, guard);
468
+ if (guard !== undefined && affected === 0)
469
+ return null;
470
+ await writeRelations(tx, id, normalised.relations);
471
+ // The version row is updated rather than rewritten: its `created_at`
472
+ // is when the draft was written, and publication must not erase it.
473
+ await tx.query(sql `update ${versions}
474
+ set ${identifier('status', dialect)} = ${'published'},
475
+ ${identifier('data', dialect)} = ${JSON.stringify({
476
+ ...normalised.values,
477
+ ...normalised.relations,
478
+ })}
479
+ where ${identifier('entry_id', dialect)} = ${id}
480
+ and ${identifier('version', dialect)} = ${working.version}`);
481
+ await prune(tx, id, working.version);
482
+ const after = await loadRow(tx, id);
483
+ if (after === null)
484
+ return null;
485
+ return liveEntry(tx, after);
425
486
  }
426
487
  // ------------------------------------------------------------ pagination
427
488
  function sortOrder(options) {
@@ -460,6 +521,42 @@ export function createContentStore(options) {
460
521
  : entry.updatedAt;
461
522
  return encodeCursor({ field: order.field, direction: order.direction, value, id: entry.id });
462
523
  }
524
+ // ------------------------------------------------------------- workflow
525
+ /**
526
+ * `submit`/`approve`/`requestChanges` all refuse on a collection that never
527
+ * turned the workflow on (`schema@2.1`, ADR-0027) — the whole point of
528
+ * making it opt-in per collection rather than a global switch: a
529
+ * single-editor site that never declares `workflow: { enabled: true }`
530
+ * behaves exactly as it did before this field existed, including here.
531
+ */
532
+ function assertWorkflowEnabled(verb) {
533
+ if (collection.workflow?.enabled === true)
534
+ return;
535
+ throw new CogentaError({
536
+ code: 'CONTENT_WORKFLOW_DISABLED',
537
+ message: `"${collection.name}" has no editorial workflow to ${verb}.`,
538
+ hint: "Declare workflow: { enabled: true } on this collection's definition to turn it on.",
539
+ details: { collection: collection.name },
540
+ });
541
+ }
542
+ async function applyReviewTransition(id, transition, by) {
543
+ return db.transaction(async (tx) => {
544
+ assertWorkflowEnabled(transition === 'approve' ? 'approve' : 'request changes on');
545
+ const row = await loadRow(tx, id);
546
+ if (row === null)
547
+ throw notFound(collection.name, id);
548
+ const current = (nullableText(row['review_state']) ?? 'none');
549
+ const to = nextReviewState(transition, current, { collection: collection.name, id });
550
+ const system = { review_state: to, updated_at: stamp() };
551
+ if (by !== null)
552
+ system['updated_by'] = by;
553
+ await writeLiveColumns(tx, id, {}, system);
554
+ const after = await loadRow(tx, id);
555
+ if (after === null)
556
+ throw notFound(collection.name, id);
557
+ return { ...(await liveEntry(tx, after)), state: 'working' };
558
+ }, { immediate: true });
559
+ }
463
560
  // ------------------------------------------------------------------- API
464
561
  /**
465
562
  * The whole of `create`, minus the transaction.
@@ -491,6 +588,7 @@ export function createContentStore(options) {
491
588
  'created_by',
492
589
  'updated_by',
493
590
  'status',
591
+ 'review_state',
494
592
  'locale',
495
593
  'translation_of',
496
594
  'version',
@@ -504,6 +602,7 @@ export function createContentStore(options) {
504
602
  author,
505
603
  author,
506
604
  status,
605
+ 'none',
507
606
  input.locale ?? defaultLocale,
508
607
  input.translationOf ?? null,
509
608
  1,
@@ -647,6 +746,25 @@ export function createContentStore(options) {
647
746
  const row = await loadRow(tx, id);
648
747
  if (row === null)
649
748
  throw notFound(collection.name, id);
749
+ // Detection, not locking (fiche 02 task 7): compared with the exact
750
+ // same `text(row['updated_at'])` a caller's own `read()` handed back
751
+ // as `Entry.updatedAt` (line ~533 below), so two requests that loaded
752
+ // the same row compare equal, and a write that landed in between
753
+ // does not.
754
+ if (input.expectedUpdatedAt !== undefined &&
755
+ input.expectedUpdatedAt !== text(row['updated_at'])) {
756
+ throw new CogentaError({
757
+ code: 'CONTENT_STALE_WRITE',
758
+ message: `"${id}" was changed by someone else since this write was loaded.`,
759
+ hint: 'Reload the entry, compare what changed, and reapply your edit.',
760
+ details: {
761
+ collection: collection.name,
762
+ id,
763
+ expected: input.expectedUpdatedAt,
764
+ actual: text(row['updated_at']),
765
+ },
766
+ });
767
+ }
650
768
  const working = await workingEntry(tx, row);
651
769
  const next = working.version + 1;
652
770
  const author = input.updatedBy ?? nullableText(row['updated_by']);
@@ -765,6 +883,19 @@ export function createContentStore(options) {
765
883
  else if (state === 'published') {
766
884
  predicates.push(sql `${identifier('status', dialect)} = ${'published'}`);
767
885
  }
886
+ if (listOptions.reviewState !== undefined) {
887
+ predicates.push(sql `${identifier('review_state', dialect)} = ${listOptions.reviewState}`);
888
+ }
889
+ if (listOptions.assignedReviewer !== undefined) {
890
+ predicates.push(listOptions.assignedReviewer === null
891
+ ? sql `${identifier('assigned_reviewer', dialect)} is null`
892
+ : sql `${identifier('assigned_reviewer', dialect)} = ${listOptions.assignedReviewer}`);
893
+ }
894
+ if (listOptions.createdBy !== undefined) {
895
+ predicates.push(listOptions.createdBy === null
896
+ ? sql `${identifier('created_by', dialect)} is null`
897
+ : sql `${identifier('created_by', dialect)} = ${listOptions.createdBy}`);
898
+ }
768
899
  if (listOptions.locale !== undefined) {
769
900
  predicates.push(sql `${identifier('locale', dialect)} = ${listOptions.locale}`);
770
901
  }
@@ -814,46 +945,57 @@ export function createContentStore(options) {
814
945
  nextCursor: hasMore && last !== undefined ? cursorFor(last, order) : null,
815
946
  };
816
947
  },
817
- publish: async (id, publishOptions) => db.transaction(async (tx) => {
818
- const row = await loadRow(tx, id);
819
- if (row === null)
820
- throw notFound(collection.name, id);
821
- const working = await workingEntry(tx, row);
822
- const at = stamp();
823
- const author = publishOptions?.publishedBy ?? nullableText(row['updated_by']);
824
- const values = { ...working.values };
825
- if (collection.fields['publishedAt'] !== undefined && values['publishedAt'] == null) {
826
- values['publishedAt'] = at;
948
+ count: async () => {
949
+ const statusColumn = identifier('status', dialect);
950
+ const statusAlias = identifier('status', dialect);
951
+ const countAlias = identifier('n', dialect);
952
+ const grouped = await db.query(sql `select ${statusColumn} as ${statusAlias}, count(*) as ${countAlias}
953
+ from ${entries}
954
+ where ${deletedAt} is null
955
+ group by ${statusColumn}`);
956
+ const trashedResult = await db.query(sql `select count(*) as ${countAlias} from ${entries} where ${deletedAt} is not null`);
957
+ const byStatus = {
958
+ draft: 0,
959
+ scheduled: 0,
960
+ published: 0,
961
+ archived: 0,
962
+ };
963
+ let total = 0;
964
+ for (const row of grouped.rows) {
965
+ const status = text(row.status);
966
+ const n = Number(row.n);
967
+ if (status in byStatus)
968
+ byStatus[status] = n;
969
+ total += n;
827
970
  }
828
- // Publication is the moment `required` starts to mean something: a
829
- // half-written draft can be saved, but it cannot go out.
830
- const normalised = normaliseValues(collection, values, {
831
- partial: false,
832
- enforceRequired: true,
833
- });
834
- await writeLiveColumns(tx, id, normalised.columns, {
835
- status: 'published',
836
- version: working.version,
837
- updated_at: at,
838
- updated_by: author,
971
+ return {
972
+ ...byStatus,
973
+ trashed: Number(trashedResult.rows[0]?.n ?? 0),
974
+ total,
975
+ };
976
+ },
977
+ publish: async (id, publishOptions) => db.transaction(async (tx) => {
978
+ const result = await publishTx(tx, id, {
979
+ ...(publishOptions?.publishedBy === undefined
980
+ ? {}
981
+ : { publishedBy: publishOptions.publishedBy }),
839
982
  });
840
- await writeRelations(tx, id, normalised.relations);
841
- // The version row is updated rather than rewritten: its `created_at`
842
- // is when the draft was written, and publication must not erase it.
843
- await tx.query(sql `update ${versions}
844
- set ${identifier('status', dialect)} = ${'published'},
845
- ${identifier('data', dialect)} = ${JSON.stringify({
846
- ...normalised.values,
847
- ...normalised.relations,
848
- })}
849
- where ${identifier('entry_id', dialect)} = ${id}
850
- and ${identifier('version', dialect)} = ${working.version}`);
851
- await prune(tx, id, working.version);
852
- const after = await loadRow(tx, id);
853
- if (after === null)
983
+ if (result === null)
854
984
  throw notFound(collection.name, id);
855
- return liveEntry(tx, after);
985
+ return result;
856
986
  }, { immediate: true }),
987
+ // Fiche 28 task 4's concurrency fix: two processes racing to publish the
988
+ // same scheduled entry (a multi-instance deploy, or the scheduler and a
989
+ // manual "publish now" click landing at once) must not both run the full
990
+ // publish side effects. `publishTx`'s `requireStatus` guard makes the
991
+ // claim atomic — `writeLiveColumns`'s `WHERE status = 'scheduled'` either
992
+ // wins outright or affects zero rows, never both at once, on all three
993
+ // dialects (see the "claiming a scheduled publish" test for the proof: a
994
+ // naive read-then-write reimplementation of this same operation is shown
995
+ // to double-run).
996
+ claimForScheduledPublish: async (id) => db.transaction((tx) => publishTx(tx, id, { requireStatus: 'scheduled' }), {
997
+ immediate: true,
998
+ }),
857
999
  unpublish: async (id, unpublishOptions) => db.transaction(async (tx) => {
858
1000
  const row = await loadRow(tx, id);
859
1001
  if (row === null)
@@ -897,6 +1039,38 @@ export function createContentStore(options) {
897
1039
  throw notFound(collection.name, id);
898
1040
  return { ...(await liveEntry(tx, after)), state: 'working' };
899
1041
  }, { immediate: true }),
1042
+ submitForReview: async (id, submitOptions) => db.transaction(async (tx) => {
1043
+ assertWorkflowEnabled('submit');
1044
+ const row = await loadRow(tx, id);
1045
+ if (row === null)
1046
+ throw notFound(collection.name, id);
1047
+ const current = (nullableText(row['review_state']) ?? 'none');
1048
+ const to = nextReviewState('submit', current, { collection: collection.name, id });
1049
+ const system = { review_state: to, updated_at: stamp() };
1050
+ if (submitOptions?.by !== undefined)
1051
+ system['updated_by'] = submitOptions.by;
1052
+ if (submitOptions?.reviewerId !== undefined) {
1053
+ system['assigned_reviewer'] = submitOptions.reviewerId;
1054
+ }
1055
+ await writeLiveColumns(tx, id, {}, system);
1056
+ const after = await loadRow(tx, id);
1057
+ if (after === null)
1058
+ throw notFound(collection.name, id);
1059
+ return { ...(await liveEntry(tx, after)), state: 'working' };
1060
+ }, { immediate: true }),
1061
+ approveReview: async (id, approveOptions) => applyReviewTransition(id, 'approve', approveOptions?.by ?? null),
1062
+ requestReviewChanges: async (id, requestOptions) => applyReviewTransition(id, 'requestChanges', requestOptions?.by ?? null),
1063
+ assignReviewer: async (id, reviewerId) => db.transaction(async (tx) => {
1064
+ assertWorkflowEnabled('assign a reviewer for');
1065
+ const row = await loadRow(tx, id);
1066
+ if (row === null)
1067
+ throw notFound(collection.name, id);
1068
+ await writeLiveColumns(tx, id, {}, { assigned_reviewer: reviewerId, updated_at: stamp() });
1069
+ const after = await loadRow(tx, id);
1070
+ if (after === null)
1071
+ throw notFound(collection.name, id);
1072
+ return { ...(await liveEntry(tx, after)), state: 'working' };
1073
+ }, { immediate: true }),
900
1074
  history: async (id, historyOptions) => {
901
1075
  const row = await loadRow(db, id);
902
1076
  if (row === null)
@@ -1007,6 +1181,24 @@ export function createContentStore(options) {
1007
1181
  const visible = found.rows.filter((member) => !hiddenBy(member, translationsOptions?.trashed));
1008
1182
  return liveEntries(db, visible);
1009
1183
  },
1184
+ translationsOfMany: async (rootIds, translationsOptions) => {
1185
+ if (rootIds.length === 0)
1186
+ return [];
1187
+ const predicates = [
1188
+ sql `${identifier('translation_of', dialect)} in (${valueList([...rootIds])})`,
1189
+ ];
1190
+ const trash = trashPredicate(translationsOptions?.trashed);
1191
+ if (trash !== null)
1192
+ predicates.push(trash);
1193
+ const found = await db.query(sql `select * from ${entries} where ${joinFragments(predicates, ' and ')}`);
1194
+ // The working state of each row, same as `list({ state: 'working' })`
1195
+ // does: it cannot be read in the same pass because the newest version
1196
+ // may be ahead of the live row (see that method's own comment).
1197
+ const items = [];
1198
+ for (const row of found.rows)
1199
+ items.push(await workingEntry(db, row));
1200
+ return items;
1201
+ },
1010
1202
  resolveLocale: async (id, locale, resolveOptions) => {
1011
1203
  const state = resolveOptions.state ?? 'published';
1012
1204
  const row = await loadRow(db, id);
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAEZ,UAAU,EAGV,GAAG,EACH,KAAK,IAAI,QAAQ,GAClB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAGL,yBAAyB,GAI1B,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAe,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACrE,OAAO,EAAoB,WAAW,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChG,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAsBzC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAiKhF,MAAM,iBAAiB,GAAG,EAAE,CAAA;AAC5B,MAAM,aAAa,GAAG,GAAG,CAAA;AACzB,MAAM,YAAY,GAAc,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAA;AAClE,kFAAkF;AAClF,MAAM,YAAY,GAAG,EAAE,CAAA;AACvB,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAElC,MAAM,YAAY,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAW,CAAA;AAE5F,SAAS,QAAQ,CAAC,UAAkB,EAAE,EAAU;IAC9C,OAAO,IAAI,YAAY,CAAC;QACtB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,aAAa,EAAE,aAAa,UAAU,eAAe;QAC9D,IAAI,EAAE,+FAA+F;QACrG,OAAO,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;KAC5B,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,IAAI,CAAC,KAAc;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC1D,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACnE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAA4B;IAE5B,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IAClC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAA;IAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAS,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAA;IACrC,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAA;IAEnD,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;IAClE,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;IACpE,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;IAEhE,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC7E,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAA;IAClG,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;SAChD,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;SAC9C,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;IAExB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CACnB,CAAC,EACD,UAAU,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3F,CAAA;IACD,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAE5D,2EAA2E;IAC3E,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,KAAK,KAAK,CAAA;IAC/C,MAAM,UAAU,GACd,UAAU,CAAC,KAAK,KAAK,KAAK,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS;QAC1D,CAAC,CAAC,yBAAyB;QAC3B,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAA;IAEjC,MAAM,KAAK,GAAG,GAAW,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAA;IAE/C,2EAA2E;IAE3E,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAEnD;;;;;;OAMG;IACH,SAAS,cAAc,CAAC,MAA+B;QACrD,MAAM,SAAS,GAAG,MAAM,IAAI,SAAS,CAAA;QACrC,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QACxC,OAAO,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAA,GAAG,SAAS,cAAc,CAAC,CAAC,CAAC,GAAG,CAAA,GAAG,SAAS,UAAU,CAAA;IACzF,CAAC;IAED,SAAS,SAAS,CAAC,GAAQ;QACzB,OAAO,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,YAAY,CAAC,KAAK,SAAS,CAAA;IACtE,CAAC;IAED,uEAAuE;IACvE,SAAS,QAAQ,CAAC,GAAQ,EAAE,MAA+B;QACzD,MAAM,SAAS,GAAG,MAAM,IAAI,SAAS,CAAA;QACrC,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,KAAK,CAAA;QACzC,OAAO,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IAChE,CAAC;IAED;;;;OAIG;IACH,MAAM,oBAAoB,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAClF,WAAW,CAAC,OAAO,CAAC;SACjB,MAAM,CACL,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,IAAI,KAAK,UAAU;QAC5B,QAAQ,CAAC,EAAE,KAAK,UAAU,CAAC,IAAI;QAC/B,QAAQ,CAAC,QAAQ,KAAK,UAAU,CACnC;SACA,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAC9C,CAAA;IAoBD,KAAK,UAAU,YAAY,CAAC,EAAe,EAAE,EAAU;QACrD,MAAM,QAAQ,GAAc,EAAE,CAAA;QAE9B,KAAK,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,oBAAoB,EAAE,CAAC;YACzD,MAAM,cAAc,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;YACtE,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI;gBACzB,CAAC,CAAC,MAAM,mBAAmB,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC;gBAC5E,CAAC,CAAC,MAAM,qBAAqB,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,CAAA;YAEvE,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;YAC3E,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,KAAK,UAAU,YAAY,CAAC,EAAe,EAAE,EAAU;QACrD,OAAO,CAAC,MAAM,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAChD,CAAC;IAED,KAAK,UAAU,mBAAmB,CAAC,EAAe,EAAE,EAAU;QAC5D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAC3C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAEjC,MAAM,MAAM,GAAG,QAAQ;aACpB,GAAG,CACF,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,CAC9B,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,QAAQ,IAAI,GAAG,CAC/D;aACA,IAAI,CAAC,IAAI,CAAC,CAAA;QAEb,MAAM,IAAI,YAAY,CAAC;YACrB,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,IAAI,EAAE,6BAA6B,UAAU,CAAC,IAAI,MAAM,MAAM,sBAAsB;YAC7F,IAAI,EAAE,4JAA4J;YAClK,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE;SACvD,CAAC,CAAA;IACJ,CAAC;IAED,2EAA2E;IAC3E,KAAK,UAAU,UAAU,CAAC,EAAe,EAAE,EAAU;QACnD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,KAAK,CAC5B,GAAG,CAAA,eAAe,OAAO,UAAU,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CACvE,CAAA;QACD,OAAO,OAAO,CAAC,YAAY,GAAG,CAAC,CAAA;IACjC,CAAC;IAED,KAAK,UAAU,qBAAqB,CAClC,EAAe,EACf,KAAa,EACb,KAAkB,EAClB,EAAU;QAEV,2EAA2E;QAC3E,oEAAoE;QACpE,wDAAwD;QACxD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAC1B,GAAG,CAAA,UAAU,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,KAAK;kBACxC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE;kBAC7C,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CACxD,CAAA;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED,KAAK,UAAU,mBAAmB,CAChC,EAAe,EACf,OAA6B,EAC7B,KAAa,EACb,cAA2B,EAC3B,EAAU;QAEV,MAAM,IAAI,GAAG,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;QACpE,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAC1B,GAAG,CAAA,UAAU,IAAI,IAAI,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,IAAI;iBACtD,cAAc;iBACd,cAAc,IAAI,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC;kBACvF,IAAI,IAAI,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE;kBAChD,cAAc,IAAI,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAC1E,CAAA;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED,2EAA2E;IAE3E,KAAK,UAAU,OAAO,CAAC,EAAe,EAAE,EAAU;QAChD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAC1B,GAAG,CAAA,iBAAiB,OAAO,UAAU,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CACzE,CAAA;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IAC9B,CAAC;IAED,SAAS,aAAa,CAAC,GAAQ;QAC7B,MAAM,MAAM,GAA4B,EAAE,CAAA;QAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,YAAY,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC9D,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,UAAU,aAAa,CAC1B,EAAe,EACf,QAA2B;QAE3B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoC,CAAA;QAC3D,KAAK,MAAM,EAAE,IAAI,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,OAAO,CAAA;QAEnE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;YACjF,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAC1B,GAAG,CAAA,UAAU,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC;mBACtE,KAAK;oBACJ,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,SAAS,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;uBAC5D,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CACrD,CAAA;YAED,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;gBAC9C,IAAI,MAAM,KAAK,SAAS;oBAAE,SAAQ;gBAClC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;gBAC5C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;gBACjC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAA;YAClC,CAAC;QACH,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,KAAK,MAAM,QAAQ,IAAI,SAAS;gBAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QACjE,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK,UAAU,UAAU,CACvB,EAAe,EACf,KAA6C;QAE7C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAA;QAC7C,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;QACvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,OAAO,CAAA;QAEhE,4EAA4E;QAC5E,yEAAyE;QACzE,MAAM,SAAS,GAAG,aAAa,CAC7B,KAAK,CAAC,GAAG,CACP,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAChB,GAAG,CAAA,IAAI,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,OAAO,GAAG,CACvG,EACD,MAAM,CACP,CAAA;QAED,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAO1B,GAAG,CAAA,UAAU,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC;mBAC/D,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC;mBACtE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC;iBAC7B,MAAM;kBACL,SAAS;qBACN,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CACzF,CAAA;QAED,MAAM,SAAS,GAAG,IAAI,GAAG,EAA0C,CAAA;QACnE,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAClC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;YAC1C,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAE7B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;YAC9B,IAAI,CAAC,IAAI,CAAC;gBACR,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;gBACxB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;gBAC1B,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;aAC5B,CAAC,CAAA;YACF,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;QACpB,CAAC;QAED,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,SAAS;YAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,UAAU,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAA;QACnF,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,SAAS,UAAU;QACjB,OAAO,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,qFAAqF;IACrF,SAAS,qBAAqB,CAAC,GAAY;QACzC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QAClD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;QAC/B,MAAM,MAAM,GAAqE,EAAE,CAAA;QAEnF,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAU,EAAE,CAAC;YAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;YACzB,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QACpD,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA;IACzD,CAAC;IAED,SAAS,WAAW,CAAC,GAAY;QAC/B,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAA;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACvC,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;gBAClD,CAAC,CAAE,MAAkC;gBACrC,CAAC,CAAC,EAAE,CAAA;QACR,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;IAED,4GAA4G;IAC5G,SAAS,eAAe,CAAC,KAA6B,EAAE,OAAe;QACrE,MAAM,YAAY,GAChB,KAAK,YAAY,IAAI;YACnB,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE;YACjB,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;gBACzB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,YAAY,CAAC;gBACrB,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,gCAAgC,OAAO,QAAQ;gBACzE,IAAI,EAAE,yFAAyF;gBAC/F,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE;aAClD,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAA;IAC7C,CAAC;IAED,SAAS,aAAa,CAAC,MAA+B,EAAE,MAAc;QACpE,2EAA2E;QAC3E,4EAA4E;QAC5E,2DAA2D;QAC3D,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QACjD,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,CAAA;QACnC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC1C,OAAO,MAAM,KAAK,WAAW,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;IAC9D,CAAC;IAED,SAAS,OAAO,CACd,GAAQ,EACR,MAA+B,EAC/B,KAAiB,EACjB,KAAiB,EACjB,SAAS,GAA4D,EAAE;QAEvE,MAAM,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAkB,CAAA;QACzE,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnB,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAClC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAClC,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC1C,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC1C,MAAM;YACN,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC1C,WAAW,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,MAAM,CAAgB;YACzE,gBAAgB,EAAE,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACxD,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC3B,aAAa,EAAE,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAClD,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;YACpD,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAe;YACjD,gBAAgB,EAAE,qBAAqB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACjE,WAAW,EAAE,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC;YAC1C,KAAK;YACL,MAAM,EAAE,MAAiB;YACzB,MAAM,EAAE,KAAK;SACd,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,UAAU,WAAW,CACxB,EAAe,EACf,IAAoB;QAEpB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAEhC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC9C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAC5C,MAAM,KAAK,GAAG,MAAM,UAAU,CAC5B,EAAE,EACF,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAU,CAAC,CACtE,CAAA;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACtB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;YAC1B,MAAM,MAAM,GAAG,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAA;YACpE,OAAO,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,EAAE,WAAW,CAAC,CAAA;QACzE,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,UAAU,SAAS,CAAC,EAAe,EAAE,GAAQ;QAChD,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;QAC5C,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACzE,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,UAAU,gBAAgB,CAAC,EAAe,EAAE,EAAU;QACzD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAC1B,GAAG,CAAA,iBAAiB,QAAQ;kBAChB,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE;qBACpC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC;kBACjC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAC1B,CAAA;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IAC9B,CAAC;IAED,KAAK,UAAU,UAAU,CACvB,EAAe,EACf,EAAU,EACV,OAAe;QAEf,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAC1B,GAAG,CAAA,iBAAiB,QAAQ;kBAChB,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE;kBACvC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,OAAO,EAAE,CAC1D,CAAA;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IAC9B,CAAC;IAED,KAAK,UAAU,UAAU,CAAC,EAAe,EAAE,EAAU,EAAE,GAAe;QACpE,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/D,OAAO;YACL,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;YAC7B,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE;SACtC,CAAA;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,UAAU,YAAY,CAAC,EAAe,EAAE,GAAQ;QACnD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC1B,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAE7C,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;YACrC,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;QACtC,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;QACjD,OAAO,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE;YAC/D,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;YAC/B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;SAC5B,CAAC,CAAA;IACJ,CAAC;IAED,2EAA2E;IAE3E,KAAK,UAAU,WAAW,CACxB,EAAe,EACf,OAAe,EACf,OAAe,EACf,KAA8C;QAE9C,MAAM,EAAE,CAAC,KAAK,CACZ,GAAG,CAAA,eAAe,MAAM;kBACZ,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,OAAO;kBAC5C,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,OAAO,EAAE,CAC1D,CAAA;QAED,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/C,MAAM,EAAE,CAAC,KAAK,CACZ,GAAG,CAAA,eAAe,MAAM,KAAK,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC;kBAClF,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC;kBAC9D,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC;kBACpE,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC;wBAC3D,KAAK,EAAE,KAAK,OAAO,KAAK,OAAO,KAAK,IAAI,KAAK,QAAQ;wBACrD,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CACzE,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,UAAU,cAAc,CAC3B,EAAe,EACf,OAAe,EACf,MAA+B;QAE/B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;YACjF,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBAAE,SAAQ;YAErC,MAAM,EAAE,CAAC,KAAK,CACZ,GAAG,CAAA,eAAe,KAAK,UAAU,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,OAAO,EAAE,CAChF,CAAA;YACD,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnD,MAAM,EAAE,CAAC,KAAK,CACZ,GAAG,CAAA,eAAe,KAAK,KAAK,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC;kBACnD,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC;wBAC9D,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,GAAG,CACvD,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,UAAU,YAAY,CACzB,EAAe,EACf,OAAe,EACf,OAAe,EACf,MAAc,EACd,MAA+B,EAC/B,MAAqB;QAErB,MAAM,EAAE,CAAC,KAAK,CACZ,GAAG,CAAA,eAAe,QAAQ;kBACd,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,OAAO;kBAC5C,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,OAAO,EAAE,CAC1D,CAAA;QACD,MAAM,EAAE,CAAC,KAAK,CACZ,GAAG,CAAA,eAAe,QAAQ,KAAK,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC;cACpF,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC;cAChE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC;cACjE,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC;oBAC3B,KAAK,EAAE,KAAK,OAAO,KAAK,OAAO,KAAK,MAAM;oBAC1C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,KAAK,MAAM,GAAG,CAC/D,CAAA;IACH,CAAC;IAED,gEAAgE;IAChE,KAAK,UAAU,KAAK,CAAC,EAAe,EAAE,OAAe,EAAE,WAAmB;QACxE,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAC1B,GAAG,CAAA,UAAU,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,QAAQ;kBAChD,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,OAAO;qBACzC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CACrD,CAAA;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI;aACtB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aACjC,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,WAAW,CAAC,CAAA;QAE/C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAE/B,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;QAC9B,MAAM,EAAE,CAAC,KAAK,CACZ,GAAG,CAAA,eAAe,QAAQ;kBACd,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,OAAO;kBAC5C,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,IAAI,GAAG,CAC1D,CAAA;QACD,MAAM,EAAE,CAAC,KAAK,CACZ,GAAG,CAAA,eAAe,MAAM;kBACZ,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,OAAO;kBAC5C,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,IAAI,GAAG,CAC1D,CAAA;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,UAAU,gBAAgB,CAC7B,EAAe,EACf,EAAU,EACV,OAAgC,EAChC,MAA+B,EAC/B,KAAmB;QAEnB,MAAM,WAAW,GAAkB,EAAE,CAAA;QAErC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,WAAW,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,KAAK,EAAE,CAAC,CAAA;QAChE,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,WAAW,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,KAAK,EAAE,CAAC,CAAA;QAC3E,CAAC;QAED,MAAM,KAAK,GACT,KAAK,KAAK,SAAS;YACjB,CAAC,CAAC,GAAG,CAAA,SAAS,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE;YACjD,CAAC,CAAC,GAAG,CAAA,SAAS,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,KAAK,EAAE,CAAA;QAElE,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAC3B,GAAG,CAAA,UAAU,OAAO,QAAQ,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,CACxE,CAAA;QACD,OAAO,MAAM,CAAC,YAAY,CAAA;IAC5B,CAAC;IAaD,iHAAiH;IACjH,KAAK,UAAU,SAAS,CACtB,EAAe,EACf,EAAU,EACV,OAAyB;QAEzB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QACjC,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAC7B,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC;YACzF,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAC3C,MAAM,EAAE,GAAG,KAAK,EAAE,CAAA;QAClB,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,IAAI,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAA;QAErE,MAAM,MAAM,GAA4B,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAA;QAC7D,IAAI,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC;YACpF,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,CAAA;QAC5B,CAAC;QAED,mEAAmE;QACnE,yDAAyD;QACzD,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE;YACrD,OAAO,EAAE,KAAK;YACd,eAAe,EAAE,IAAI;SACtB,CAAC,CAAA;QAEF,MAAM,KAAK,GACT,OAAO,CAAC,aAAa,KAAK,SAAS;YACjC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,GAAG,CAAA,GAAG,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,OAAO,CAAC,aAAa,EAAE,CAAA;QAEtE,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CACrC,EAAE,EACF,EAAE,EACF,UAAU,CAAC,OAAO,EAClB;YACE,MAAM,EAAE,WAAmC;YAC3C,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,MAAM;SACnB,EACD,KAAK,CACN,CAAA;QACD,IAAI,KAAK,KAAK,SAAS,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAEtD,MAAM,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,CAAA;QAClD,qEAAqE;QACrE,oEAAoE;QACpE,MAAM,EAAE,CAAC,KAAK,CACZ,GAAG,CAAA,UAAU,QAAQ;gBACX,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,WAAW;gBAC9C,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC;YAChD,GAAG,UAAU,CAAC,MAAM;YACpB,GAAG,UAAU,CAAC,SAAS;SACxB,CAAC;kBACE,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE;kBACvC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,CAClE,CAAA;QACD,MAAM,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QAEpC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QACnC,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAC/B,OAAO,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IAC7B,CAAC;IAED,0EAA0E;IAE1E,SAAS,SAAS,CAAC,OAAoB;QACrC,OAAO,OAAO,CAAC,IAAI,IAAI,YAAY,CAAA;IACrC,CAAC;IAED,SAAS,eAAe,CAAC,MAAc;QACrC,MAAM,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;QAC9D,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACpC,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;QAEzD,4EAA4E;QAC5E,2EAA2E;QAC3E,uEAAuE;QACvE,kBAAkB;QAClB,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,GAAG,CAAA,GAAG,EAAE,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAA;QAC3D,CAAC;QACD,OAAO,GAAG,CAAA,IAAI,MAAM,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK;sBAC7C,MAAM,MAAM,MAAM,CAAC,KAAK,QAAQ,EAAE,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,EAAE,IAAI,CAAA;IAClG,CAAC;IAED,SAAS,WAAW,CAAC,UAAqB;QACxC,0EAA0E;QAC1E,OAAO,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA,GAAG,CAAA;IAC7C,CAAC;IAED,SAAS,WAAW,CAAC,KAAgB;QACnC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAA,KAAK,CAAC,CAAC,CAAC,GAAG,CAAA,MAAM,CAAA;QAClE,MAAM,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;QAC7D,iEAAiE;QACjE,4EAA4E;QAC5E,OAAO,GAAG,CAAA,GAAG,MAAM,IAAI,SAAS,KAAK,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,SAAS,EAAE,CAAA;IAC/E,CAAC;IAED,SAAS,SAAS,CAAC,KAA4B,EAAE,KAAgB;QAC/D,MAAM,KAAK,GACT,KAAK,CAAC,KAAK,KAAK,IAAI;YAClB,CAAC,CAAC,KAAK,CAAC,EAAE;YACV,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,WAAW;gBAC3B,CAAC,CAAC,KAAK,CAAC,SAAS;gBACjB,CAAC,CAAC,KAAK,CAAC,SAAS,CAAA;QACvB,OAAO,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;IAC9F,CAAC;IAED,yEAAyE;IAEzE;;;;;;OAMG;IACH,SAAS,qBAAqB,CAAC,IAAY;QACzC,IAAI,UAAU,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI;YAAE,OAAM;QACjD,MAAM,IAAI,YAAY,CAAC;YACrB,IAAI,EAAE,2BAA2B;YACjC,OAAO,EAAE,IAAI,UAAU,CAAC,IAAI,kCAAkC,IAAI,GAAG;YACrE,IAAI,EAAE,oFAAoF;YAC1F,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE;SACzC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,UAAU,qBAAqB,CAClC,EAAU,EACV,UAA4B,EAC5B,EAAiB;QAEjB,OAAO,EAAE,CAAC,WAAW,CACnB,KAAK,EAAE,EAAE,EAAE,EAAE;YACX,qBAAqB,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAA;YAClF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACjC,IAAI,GAAG,KAAK,IAAI;gBAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YACrD,MAAM,OAAO,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,MAAM,CAAgB,CAAA;YAC5E,MAAM,EAAE,GAAG,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;YAEpF,MAAM,MAAM,GAA4B,EAAE,YAAY,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAA;YACjF,IAAI,EAAE,KAAK,IAAI;gBAAE,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAA;YAC1C,MAAM,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;YAE1C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACnC,IAAI,KAAK,KAAK,IAAI;gBAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YACvD,OAAO,EAAE,GAAG,CAAC,MAAM,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,SAAkB,EAAE,CAAA;QACvE,CAAC,EACD,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAA;IACH,CAAC;IAED,0EAA0E;IAE1E;;;;;;;OAOG;IACH,KAAK,UAAU,WAAW,CACxB,EAAe,EACf,KAA2B;QAE3B,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,EAAE,CAAA;QAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,OAAO,CAAA;QACtC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAA;QAClB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,IAAI,IAAI,CAAA;QAEtC,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE;YACjE,OAAO,EAAE,KAAK;YACd,eAAe,EAAE,MAAM,KAAK,WAAW;SACxC,CAAC,CAAA;QACF,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,KAAK,CAAC,CAAA;QACpE,MAAM,MAAM,GAAG,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,CAAA;QAEvC,IAAI,MAAM,KAAK,WAAW,IAAI,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7E,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,CAAA;YAC5B,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CAAA;QAC1C,CAAC;QAED,MAAM,OAAO,GAAG;YACd,IAAI;YACJ,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,QAAQ;YACR,cAAc;YACd,QAAQ;YACR,gBAAgB;YAChB,SAAS;YACT,YAAY;YACZ,mBAAmB;SACpB,CAAA;QACD,MAAM,KAAK,GAAc;YACvB,EAAE;YACF,EAAE;YACF,EAAE;YACF,MAAM;YACN,MAAM;YACN,MAAM;YACN,MAA4B;YAC5B,KAAK,CAAC,MAAM,IAAI,aAAa;YAC7B,KAAK,CAAC,aAAa,IAAI,IAAI;YAC3B,CAAC;YACD,KAAK,CAAC,UAAU,IAAK,OAA6B;YAClD,KAAK,CAAC,gBAAgB,KAAK,SAAS,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI;gBACrE,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC;SAC3C,CAAA;QAED,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;YAC7B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;QAED,MAAM,EAAE,CAAC,KAAK,CACZ,GAAG,CAAA,eAAe,OAAO,KAAK,aAAa,CACzC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACpD,IAAI,CACL,aAAa,SAAS,CAAC,KAAK,CAAC,GAAG,CAClC,CAAA;QAED,MAAM,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,CAAA;QAClD,MAAM,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;QACnC,MAAM,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,UAAU,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,CAAA;QAErF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QACjC,IAAI,GAAG,KAAK,IAAI;YAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACrD,OAAO,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IAC3B,CAAC;IAED,2EAA2E;IAE3E,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAC3D,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAC7D,CAAA;IAED,KAAK,UAAU,OAAO,CACpB,EAAe,EACf,KAAa,EACb,MAAc,EACd,SAAiB;QAEjB,yEAAyE;QACzE,iEAAiE;QACjE,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAC1B,GAAG,CAAA,UAAU,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,OAAO;kBAC1C,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,MAAM;kBACzC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,SAAS;kBACpD,QAAQ,CAAC,CAAC,CAAC,EAAE,CAC1B,CAAA;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,UAAU,eAAe,CAC5B,EAAe,EACf,KAAa,EACb,MAAc,EACd,MAAc;QAEd,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;YACjD,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,SAAS,OAAO,EAAE,CAAA;YAChF,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;gBAAE,OAAO,SAAS,CAAA;QACtE,CAAC;QACD,MAAM,IAAI,YAAY,CAAC;YACrB,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,uDAAuD,KAAK,IAAI;YACzE,IAAI,EAAE,8FAA8F;YACpG,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE;SAChD,CAAC,CAAA;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAE5F;;;;;;;;;;;;;;;;;;;;;;WAsBG;QACH,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,CACxC,EAAE,CAAC,WAAW,CACZ,KAAK,EAAE,EAAE,EAAE,EAAE;YACX,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACjC,IAAI,GAAG,KAAK,IAAI;gBAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YAErD,kEAAkE;YAClE,+CAA+C;YAC/C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;YAC1C,MAAM,SAAS,GAAG,gBAAgB,EAAE,MAAM,IAAI,EAAE,CAAA;YAChD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;YAC5B,MAAM,MAAM,GAA4B,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;YAE5D,uDAAuD;YACvD,IAAI,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,SAAS;gBAAE,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,CAAA;YAEhF,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,YAAY,EAAE,CAAC;gBACnC,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC;oBAAE,SAAQ;gBAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;gBAC7B,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE;oBAAE,SAAQ;gBACzE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChC,MAAM,IAAI,YAAY,CAAC;wBACrB,IAAI,EAAE,iBAAiB;wBACvB,OAAO,EAAE,IAAI,KAAK,iEAAiE;wBACnF,IAAI,EAAE,8EAA8E;wBACpF,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE;qBAChD,CAAC,CAAA;gBACJ,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;YACnE,CAAC;YAED,MAAM,MAAM,GAA4C,EAAE,CAAA;YAC1D,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;YAC7D,CAAC;YAED,OAAO,WAAW,CAAC,EAAE,EAAE;gBACrB,GAAG,CAAC,gBAAgB,EAAE,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,gBAAgB,CAAC,EAAE,EAAE,CAAC;gBAC1E,MAAM;gBACN,aAAa,EAAE,IAAI;gBACnB,MAAM,EAAE,OAAO;gBACf,SAAS,EAAE,gBAAgB,EAAE,SAAS,IAAI,IAAI;gBAC9C,UAAU,EAAE,gBAAgB,EAAE,UAAU,IAAI,MAAM,CAAC,UAAU;gBAC7D,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,IAAI,MAAM,CAAC,gBAAgB;gBAC/E,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS,EAAsB;gBACvD,MAAM;aACP,CAAC,CAAA;QACJ,CAAC,EACD,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB;QAEH,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,WAAW,EAAE,KAAK,IAAI,WAAW,CAAA;YAC/C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACjC,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAA;YAC7B,qEAAqE;YACrE,iEAAiE;YACjE,IAAI,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAA;YAEpD,yEAAyE;YACzE,4DAA4D;YAC5D,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YACxE,CAAC;YACD,OAAO,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAC9B,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAC1B,EAAE,CAAC,WAAW,CACZ,KAAK,EAAE,EAAE,EAAE,EAAE;YACX,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACjC,IAAI,GAAG,KAAK,IAAI;gBAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YAErD,oEAAoE;YACpE,qEAAqE;YACrE,sEAAsE;YACtE,iEAAiE;YACjE,YAAY;YACZ,IACE,KAAK,CAAC,iBAAiB,KAAK,SAAS;gBACrC,KAAK,CAAC,iBAAiB,KAAK,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EACnD,CAAC;gBACD,MAAM,IAAI,YAAY,CAAC;oBACrB,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAE,IAAI,EAAE,4DAA4D;oBAC3E,IAAI,EAAE,gEAAgE;oBACtE,OAAO,EAAE;wBACP,UAAU,EAAE,UAAU,CAAC,IAAI;wBAC3B,EAAE;wBACF,QAAQ,EAAE,KAAK,CAAC,iBAAiB;wBACjC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;qBAChC;iBACF,CAAC,CAAA;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;YAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,CAAA;YAChC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,IAAI,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAA;YAEjE,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAA;YAC7D,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE;gBACrD,OAAO,EAAE,KAAK;gBACd,eAAe,EAAE,KAAK;aACvB,CAAC,CAAA;YACF,MAAM,KAAK,GAAG,eAAe,CAC3B,UAAU,EACV,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,EAC9C,KAAK,CACN,CAAA;YACD,MAAM,QAAQ,GAAG,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,SAAS,EAAE,CAAA;YAElE,MAAM,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YACtC,MAAM,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;YAE3D,oEAAoE;YACpE,sEAAsE;YACtE,MAAM,WAAW,GAAG,aAAa,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,WAAW,CAAA;YAExE,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,MAAM,GAA4B;oBACtC,UAAU,EAAE,KAAK,EAAE;oBACnB,UAAU,EAAE,MAAM;oBAClB,OAAO,EAAE,IAAI;iBACd,CAAA;gBACD,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;oBAAE,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,UAAU,CAAA;gBAC3E,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;oBACzC,MAAM,CAAC,mBAAmB,CAAC;wBACzB,KAAK,CAAC,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;gBACnF,CAAC;gBAED,MAAM,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;gBAC1D,MAAM,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,CAAA;YACpD,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACnC,IAAI,KAAK,KAAK,IAAI;gBAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YACvD,MAAM,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YAE7C,OAAO,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAChC,CAAC,EACD,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB;QAEH,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CACnB,EAAE,CAAC,WAAW,CACZ,KAAK,EAAE,EAAE,EAAE,EAAE;YACX,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACjC,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAA;YAC9B,kEAAkE;YAClE,8DAA8D;YAC9D,IAAI,SAAS,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAA;YAEhC,MAAM,mBAAmB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACjC,IAAI,CAAC,YAAY;gBAAE,OAAO,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YAE5C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,KAAK,CAC5B,GAAG,CAAA,UAAU,OAAO,QAAQ,SAAS,MAAM,KAAK,EAAE;wBACtC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAChD,CAAA;YACD,OAAO,OAAO,CAAC,YAAY,GAAG,CAAC,CAAA;QACjC,CAAC,EACD,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB;QAEH,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CACpB,EAAE,CAAC,WAAW,CACZ,KAAK,EAAE,EAAE,EAAE,EAAE;YACX,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACjC,IAAI,GAAG,KAAK,IAAI;gBAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YAErD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,YAAY,CAAC;oBACrB,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAE,IAAI,EAAE,oBAAoB,UAAU,CAAC,IAAI,UAAU;oBAC5D,IAAI,EAAE,4EAA4E;oBAClF,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE;iBAC7C,CAAC,CAAA;YACJ,CAAC;YAED,oEAAoE;YACpE,oEAAoE;YACpE,oEAAoE;YACpE,eAAe;YACf,MAAM,EAAE,CAAC,KAAK,CACZ,GAAG,CAAA,UAAU,OAAO,QAAQ,SAAS,MAAM,IAAI;wBACnC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAChD,CAAA;YAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACnC,IAAI,KAAK,KAAK,IAAI;gBAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YACvD,OAAO,EAAE,GAAG,CAAC,MAAM,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,SAAkB,EAAE,CAAA;QACvE,CAAC,EACD,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB;QAEH,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAClB,EAAE,CAAC,WAAW,CACZ,KAAK,EAAE,EAAE,EAAE,EAAE;YACX,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACjC,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAA;YAC9B,MAAM,mBAAmB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACjC,OAAO,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAC3B,CAAC,EACD,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB;QAEH,YAAY,EAAE,KAAK,IAAI,EAAE;YACvB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,UAAU,GAAG,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;YAC/E,IAAI,CAAC,YAAY;gBAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAA;YAElD,OAAO,EAAE,CAAC,WAAW,CACnB,KAAK,EAAE,EAAE,EAAE,EAAE;gBACX,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,KAAK,CAC5B,GAAG,CAAA,UAAU,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,OAAO;wBAC1C,SAAS,oBAAoB,SAAS,MAAM,SAAS,EAAE,CACpE,CAAA;gBAED,IAAI,MAAM,GAAG,CAAC,CAAA;gBACd,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;oBAC1B,2DAA2D;oBAC3D,kEAAkE;oBAClE,iEAAiE;oBACjE,6DAA6D;oBAC7D,kCAAkC;oBAClC,IAAI,MAAM,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC;wBAAE,SAAQ;oBACxC,IAAI,MAAM,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC;wBAAE,MAAM,IAAI,CAAC,CAAA;gBAC3C,CAAC;gBAED,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;YAC9B,CAAC,EACD,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAA;QACH,CAAC;QAED,IAAI,EAAE,KAAK,EAAE,WAAW,GAAG,EAAE,EAAE,EAAE;YAC/B,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,CAAA;YACpC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,WAAW,CAAA;YAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,IAAI,iBAAiB,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAA;YAEzF,MAAM,UAAU,GAAkB,EAAE,CAAA;YAEpC,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;YACjD,IAAI,KAAK,KAAK,IAAI;gBAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAE1C,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACrC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;YAChF,CAAC;iBAAM,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;gBACjC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,WAAW,EAAE,CAAC,CAAA;YACzE,CAAC;YAED,IAAI,WAAW,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC1C,UAAU,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,MAAM,WAAW,CAAC,WAAW,EAAE,CAAC,CAAA;YAC3F,CAAC;YAED,IAAI,WAAW,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBAC/C,UAAU,CAAC,IAAI,CACb,WAAW,CAAC,gBAAgB,KAAK,IAAI;oBACnC,CAAC,CAAC,GAAG,CAAA,GAAG,UAAU,CAAC,mBAAmB,EAAE,OAAO,CAAC,UAAU;oBAC1D,CAAC,CAAC,GAAG,CAAA,GAAG,UAAU,CAAC,mBAAmB,EAAE,OAAO,CAAC,MAAM,WAAW,CAAC,gBAAgB,EAAE,CACvF,CAAA;YACH,CAAC;YAED,IAAI,WAAW,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACxC,UAAU,CAAC,IAAI,CACb,WAAW,CAAC,SAAS,KAAK,IAAI;oBAC5B,CAAC,CAAC,GAAG,CAAA,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU;oBACnD,CAAC,CAAC,GAAG,CAAA,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,WAAW,CAAC,SAAS,EAAE,CACzE,CAAA;YACH,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACrC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;YAChF,CAAC;YAED,IAAI,WAAW,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBAC5C,UAAU,CAAC,IAAI,CACb,WAAW,CAAC,aAAa,KAAK,IAAI;oBAChC,CAAC,CAAC,GAAG,CAAA,GAAG,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,UAAU;oBACvD,CAAC,CAAC,GAAG,CAAA,GAAG,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,MAAM,WAAW,CAAC,aAAa,EAAE,CACjF,CAAA;YACH,CAAC;YAED,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;gBACrE,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAC3C,IAAI,UAAU,KAAK,SAAS,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;oBACzD,MAAM,IAAI,YAAY,CAAC;wBACrB,IAAI,EAAE,iBAAiB;wBACvB,OAAO,EAAE,kBAAkB,UAAU,CAAC,IAAI,SAAS,KAAK,IAAI;wBAC5D,IAAI,EAAE,+FAA+F;wBACrG,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE;qBAChD,CAAC,CAAA;gBACJ,CAAC;gBACD,UAAU,CAAC,IAAI,CACb,KAAK,KAAK,IAAI;oBACZ,CAAC,CAAC,GAAG,CAAA,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,UAAU;oBACvD,CAAC,CAAC,GAAG,CAAA,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,KAAK,EAAE,CAC7D,CAAA;YACH,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACrC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;YAC3E,CAAC;YAED,MAAM,KAAK,GACT,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA,UAAU,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAA;YAErF,0EAA0E;YAC1E,wEAAwE;YACxE,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAC1B,GAAG,CAAA,iBAAiB,OAAO,GAAG,KAAK,aAAa,WAAW,CAAC,KAAK,CAAC,UAAU,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CACjG,CAAA;YAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;YACtC,IAAI,KAA8B,CAAA;YAElC,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;gBAC1B,KAAK,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YACrC,CAAC;iBAAM,CAAC;gBACN,wEAAwE;gBACxE,qEAAqE;gBACrE,KAAK,GAAG,EAAE,CAAA;gBACV,KAAK,MAAM,GAAG,IAAI,IAAI;oBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA;YACjE,CAAC;YAED,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YACzB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;YAExC,OAAO;gBACL,KAAK;gBACL,OAAO;gBACP,UAAU,EAAE,OAAO,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;aAC1E,CAAA;QACH,CAAC;QAED,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YAClD,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YACjD,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YAE3C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,KAAK,CAC5B,GAAG,CAAA,UAAU,YAAY,OAAO,WAAW,iBAAiB,UAAU;mBAC3D,OAAO;oBACN,SAAS;uBACN,YAAY,EAAE,CAC9B,CAAA;YACD,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,KAAK,CAClC,GAAG,CAAA,sBAAsB,UAAU,SAAS,OAAO,UAAU,SAAS,cAAc,CACrF,CAAA;YAED,MAAM,QAAQ,GAAkC;gBAC9C,KAAK,EAAE,CAAC;gBACR,SAAS,EAAE,CAAC;gBACZ,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,CAAC;aACZ,CAAA;YACD,IAAI,KAAK,GAAG,CAAC,CAAA;YACb,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAkB,CAAA;gBAChD,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBACvB,IAAI,MAAM,IAAI,QAAQ;oBAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBAC5C,KAAK,IAAI,CAAC,CAAA;YACZ,CAAC;YAED,OAAO;gBACL,GAAG,QAAQ;gBACX,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC9C,KAAK;aACN,CAAA;QACH,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,CACpC,EAAE,CAAC,WAAW,CACZ,KAAK,EAAE,EAAE,EAAE,EAAE;YACX,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE;gBACrC,GAAG,CAAC,cAAc,EAAE,WAAW,KAAK,SAAS;oBAC3C,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,WAAW,EAAE,cAAc,CAAC,WAAW,EAAE,CAAC;aACjD,CAAC,CAAA;YACF,IAAI,MAAM,KAAK,IAAI;gBAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YACxD,OAAO,MAAM,CAAA;QACf,CAAC,EACD,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB;QAEH,yEAAyE;QACzE,wEAAwE;QACxE,yEAAyE;QACzE,sEAAsE;QACtE,0EAA0E;QAC1E,uEAAuE;QACvE,yEAAyE;QACzE,yEAAyE;QACzE,kBAAkB;QAClB,wBAAwB,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CACrC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,EAAE;YACxE,SAAS,EAAE,IAAI;SAChB,CAAC;QAEJ,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,CACxC,EAAE,CAAC,WAAW,CACZ,KAAK,EAAE,EAAE,EAAE,EAAE;YACX,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACjC,IAAI,GAAG,KAAK,IAAI;gBAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YAErD,MAAM,MAAM,GAAG,gBAAgB,EAAE,MAAM,IAAI,OAAO,CAAA;YAElD,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;gBAC3B,8DAA8D;gBAC9D,gEAAgE;gBAChE,iEAAiE;gBACjE,kBAAkB;gBAClB,IAAI,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,SAAS,EAAE,CAAC;oBACnD,MAAM,IAAI,YAAY,CAAC;wBACrB,IAAI,EAAE,0BAA0B;wBAChC,OAAO,EAAE,IAAI,UAAU,CAAC,IAAI,iEAAiE;wBAC7F,IAAI,EAAE,8EAA8E;wBACpF,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;qBACtD,CAAC,CAAA;gBACJ,CAAC;gBACD,IAAI,gBAAgB,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC;oBAChD,MAAM,IAAI,YAAY,CAAC;wBACrB,IAAI,EAAE,0BAA0B;wBAChC,OAAO,EAAE,uCAAuC;wBAChD,IAAI,EAAE,4EAA4E;wBAClF,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;qBACtD,CAAC,CAAA;gBACJ,CAAC;gBACD,MAAM,GAAG,GAAG,eAAe,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;gBAC7D,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;gBAC3C,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,CAAA;gBACtD,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE;oBACrD,OAAO,EAAE,KAAK;oBACd,eAAe,EAAE,KAAK;iBACvB,CAAC,CAAA;gBACF,MAAM,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;YACrF,CAAC;iBAAM,CAAC;gBACN,MAAM,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;YACrE,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACnC,IAAI,KAAK,KAAK,IAAI;gBAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YACvD,OAAO,EAAE,GAAG,CAAC,MAAM,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,SAAkB,EAAE,CAAA;QACvE,CAAC,EACD,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB;QAEH,eAAe,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,CAC3C,EAAE,CAAC,WAAW,CACZ,KAAK,EAAE,EAAE,EAAE,EAAE;YACX,qBAAqB,CAAC,QAAQ,CAAC,CAAA;YAC/B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACjC,IAAI,GAAG,KAAK,IAAI;gBAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YACrD,MAAM,OAAO,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,MAAM,CAAgB,CAAA;YAC5E,MAAM,EAAE,GAAG,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;YAElF,MAAM,MAAM,GAA4B,EAAE,YAAY,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAA;YACjF,IAAI,aAAa,EAAE,EAAE,KAAK,SAAS;gBAAE,MAAM,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC,EAAE,CAAA;YAC5E,IAAI,aAAa,EAAE,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC5C,MAAM,CAAC,mBAAmB,CAAC,GAAG,aAAa,CAAC,UAAU,CAAA;YACxD,CAAC;YACD,MAAM,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;YAE1C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACnC,IAAI,KAAK,KAAK,IAAI;gBAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YACvD,OAAO,EAAE,GAAG,CAAC,MAAM,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,SAAkB,EAAE,CAAA;QACvE,CAAC,EACD,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB;QAEH,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,CAC1C,qBAAqB,CAAC,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,IAAI,IAAI,CAAC;QAElE,oBAAoB,EAAE,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,CACjD,qBAAqB,CAAC,EAAE,EAAE,gBAAgB,EAAE,cAAc,EAAE,EAAE,IAAI,IAAI,CAAC;QAEzE,cAAc,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,CACvC,EAAE,CAAC,WAAW,CACZ,KAAK,EAAE,EAAE,EAAE,EAAE;YACX,qBAAqB,CAAC,uBAAuB,CAAC,CAAA;YAC9C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACjC,IAAI,GAAG,KAAK,IAAI;gBAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YAErD,MAAM,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;YAE1F,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACnC,IAAI,KAAK,KAAK,IAAI;gBAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YACvD,OAAO,EAAE,GAAG,CAAC,MAAM,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,SAAkB,EAAE,CAAA;QACvE,CAAC,EACD,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB;QAEH,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE;YACpC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACjC,IAAI,GAAG,KAAK,IAAI;gBAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YACrD,iEAAiE;YACjE,uEAAuE;YACvE,8BAA8B;YAC9B,IAAI,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC;gBAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YAE/E,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAC1B,GAAG,CAAA,iBAAiB,QAAQ;oBAChB,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE;uBACpC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CACrD,CAAA;YAED,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;YACnC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAClC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;gBAChC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAkB;gBAC7C,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;gBACnC,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC3C,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI;aACvC,CAAC,CAAC,CAAA;QACL,CAAC;QAED,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;YACjC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACjC,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAA;YAE7B,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;YAC/C,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAA;YAE/B,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;YAChD,OAAO,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE;gBAC/D,OAAO;gBACP,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;aAC3B,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,CAC7C,EAAE,CAAC,WAAW,CACZ,KAAK,EAAE,EAAE,EAAE,EAAE;YACX,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACjC,IAAI,GAAG,KAAK,IAAI;gBAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YAErD,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;YAC/C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,YAAY,CAAC;oBACrB,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,WAAW,OAAO,QAAQ,EAAE,sBAAsB;oBAC3D,IAAI,EAAE,yBAAyB,IAAI,4CAA4C;oBAC/E,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;iBAC5D,CAAC,CAAA;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;YAChD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;YAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,CAAA;YAChC,MAAM,MAAM,GAAG,cAAc,EAAE,SAAS,IAAI,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAA;YAE3E,oEAAoE;YACpE,kEAAkE;YAClE,0CAA0C;YAC1C,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE;gBAC9D,OAAO,EAAE,KAAK;gBACd,eAAe,EAAE,KAAK;aACvB,CAAC,CAAA;YACF,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YAEjE,MAAM,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YACtC,MAAM,YAAY,CAChB,EAAE,EACF,EAAE,EACF,IAAI,EACJ,OAAO,EACP,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,SAAS,EAAE,EACjD,MAAM,CACP,CAAA;YAED,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,WAAW,CAAC,EAAE,CAAC;gBAC5D,MAAM,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,OAAO,EAAE;oBACjD,UAAU,EAAE,KAAK,EAAE;oBACnB,UAAU,EAAE,MAAM;oBAClB,OAAO,EAAE,IAAI;iBACd,CAAC,CAAA;gBACF,MAAM,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,CAAA;YACpD,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACnC,IAAI,KAAK,KAAK,IAAI;gBAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YACvD,MAAM,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YAC7C,OAAO,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAChC,CAAC,EACD,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB;QAEH,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACjC,IAAI,GAAG,KAAK,IAAI;gBAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YAErD,MAAM,IAAI,GAAG,KAAK,EAAE,OAAe,EAAqB,EAAE;gBACxD,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;gBAC/C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,MAAM,IAAI,YAAY,CAAC;wBACrB,IAAI,EAAE,mBAAmB;wBACzB,OAAO,EAAE,WAAW,OAAO,QAAQ,EAAE,sBAAsB;wBAC3D,IAAI,EAAE,yBAAyB,IAAI,oDAAoD;wBACvF,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE;qBACtD,CAAC,CAAA;gBACJ,CAAC;gBACD,OAAO,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;YAClC,CAAC,CAAA;YAED,OAAO,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QACtD,CAAC;QAED,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE;YAC9C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACjC,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO,EAAE,CAAA;YAC3B,IAAI,QAAQ,CAAC,GAAG,EAAE,mBAAmB,EAAE,OAAO,CAAC;gBAAE,OAAO,EAAE,CAAA;YAE1D,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;YACvE,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAC1B,GAAG,CAAA,iBAAiB,OAAO;oBACf,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,QAAQ;oBACvC,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,MAAM,QAAQ;uBAChD,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CACnD,CAAA;YAED,yEAAyE;YACzE,wEAAwE;YACxE,gDAAgD;YAChD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAA;YAC9F,OAAO,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QACjC,CAAC;QAED,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE;YACzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAA;YAEnC,MAAM,UAAU,GAAkB;gBAChC,GAAG,CAAA,GAAG,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,QAAQ,SAAS,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG;aAC9E,CAAA;YACD,MAAM,KAAK,GAAG,cAAc,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAA;YAC1D,IAAI,KAAK,KAAK,IAAI;gBAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAE1C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAC1B,GAAG,CAAA,iBAAiB,OAAO,UAAU,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAC1E,CAAA;YAED,sEAAsE;YACtE,sEAAsE;YACtE,gEAAgE;YAChE,MAAM,KAAK,GAA4B,EAAE,CAAA;YACzC,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA;YACrE,OAAO,KAAK,CAAA;QACd,CAAC;QAED,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE;YAClD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,IAAI,WAAW,CAAA;YACjD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACjC,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAA;YAChD,IAAI,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC;gBAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAA;YAEzE,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;YACvE,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAC1B,GAAG,CAAA,iBAAiB,OAAO;oBACf,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,QAAQ;oBACvC,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,MAAM,QAAQ,EAAE,CAClE,CAAA;YAED,2EAA2E;YAC3E,wEAAwE;YACxE,oCAAoC;YACpC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAC/B,CAAC,MAAM,EAAE,EAAE,CACT,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC;gBACzC,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,WAAW,CAAC,CAClE,CAAA;YAED,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,MAAM,CAAC,CAAA;YACzE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,KAAK,GACT,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;gBACpF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;YACrD,CAAC;YAED,IAAI,cAAc,CAAC,QAAQ,KAAK,MAAM;gBAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA;YACpE,IAAI,cAAc,CAAC,QAAQ,KAAK,UAAU;gBAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAA;YAE1E,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAA;YAC1E,yEAAyE;YACzE,uEAAuE;YACvE,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAA;YAE1D,MAAM,KAAK,GACT,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;YAC1F,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;QACpD,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../src/store/tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EAKpB,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EACV,oBAAoB,EAEpB,QAAQ,EACR,kBAAkB,EACnB,MAAM,aAAa,CAAA;AAwBpB;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAAA;CACvC;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,oBAAoB,GAAG,cAAc,EAAE,CAuD9E;AAUD,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAYzE;AA6PD;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,cAAc,EAClB,WAAW,EAAE,SAAS,oBAAoB,EAAE,EAC5C,UAAU,GAAE,SAAS,kBAAkB,EAAO,GAC7C,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,SAAS,oBAAoB,EAAE,GAC3C,oBAAoB,EAAE,CAgCxB;AAED,mFAAmF;AACnF,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,cAAc,EAClB,WAAW,EAAE,SAAS,oBAAoB,EAAE,EAC5C,UAAU,GAAE,SAAS,kBAAkB,EAAO,GAC7C,OAAO,CAAC,IAAI,CAAC,CAmBf"}
1
+ {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../src/store/tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EAKpB,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EACV,oBAAoB,EAEpB,QAAQ,EACR,kBAAkB,EACnB,MAAM,aAAa,CAAA;AAwBpB;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAAA;CACvC;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,oBAAoB,GAAG,cAAc,EAAE,CAuD9E;AAUD,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAYzE;AAwQD;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,cAAc,EAClB,WAAW,EAAE,SAAS,oBAAoB,EAAE,EAC5C,UAAU,GAAE,SAAS,kBAAkB,EAAO,GAC7C,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,SAAS,oBAAoB,EAAE,GAC3C,oBAAoB,EAAE,CAgCxB;AAED,mFAAmF;AACnF,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,cAAc,EAClB,WAAW,EAAE,SAAS,oBAAoB,EAAE,EAC5C,UAAU,GAAE,SAAS,kBAAkB,EAAO,GAC7C,OAAO,CAAC,IAAI,CAAC,CAmBf"}
@@ -92,6 +92,12 @@ function systemColumns(dialect) {
92
92
  // Nullable, and orthogonal to `status` (ADR-0022): an entry in the trash
93
93
  // keeps the status it had, so restoring it cannot silently demote it.
94
94
  sql `${identifier('deleted_at', dialect)} ${timestampColumn(dialect)}`,
95
+ // Orthogonal to `status`, same reasoning (`schema@2.1`, ADR-0027):
96
+ // 'none' rather than nullable, so an unfiltered `select *` from a client
97
+ // written before this column existed sees a value it can safely ignore
98
+ // instead of a NULL it has to special-case.
99
+ sql `${identifier('review_state', dialect)} ${textColumn(dialect, 24)} not null`,
100
+ sql `${identifier('assigned_reviewer', dialect)} ${textColumn(dialect, 64)}`,
95
101
  sql `${identifier('locale', dialect)} ${textColumn(dialect, 16)} not null`,
96
102
  sql `${identifier('translation_of', dialect)} ${uuidColumn(dialect)}`,
97
103
  sql `${identifier('version', dialect)} ${integerColumn()} not null`,
@@ -242,6 +248,11 @@ function indexStatements(collection, dialect) {
242
248
  // the hot path of the whole product, not only of the trash screen.
243
249
  sql `create index ${identifier(indexName(name, 'trash'), dialect)}
244
250
  on ${table} (${identifier('deleted_at', dialect)})`,
251
+ // The review queue's whole read path (L37 task 3): "everything pending",
252
+ // "everything assigned to me" and "my own submissions" all filter on
253
+ // these two columns together.
254
+ sql `create index ${identifier(indexName(name, 'review'), dialect)}
255
+ on ${table} (${identifier('review_state', dialect)}, ${identifier('assigned_reviewer', dialect)})`,
245
256
  ];
246
257
  for (const [field, definition] of Object.entries(collection.fields)) {
247
258
  if (definition.unique !== true || isColumnless(definition))