@c9up/atlas 0.1.4 → 0.1.6

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 (40) hide show
  1. package/db.darwin-arm64.node +0 -0
  2. package/db.darwin-x64.node +0 -0
  3. package/db.linux-arm64-gnu.node +0 -0
  4. package/db.linux-x64-gnu.node +0 -0
  5. package/db.win32-x64-msvc.node +0 -0
  6. package/dist/AtlasProvider.d.ts +1 -1
  7. package/dist/AtlasProvider.js +1 -1
  8. package/dist/AtlasProvider.js.map +1 -1
  9. package/dist/BaseRepository.d.ts +7 -0
  10. package/dist/BaseRepository.d.ts.map +1 -1
  11. package/dist/BaseRepository.js +80 -11
  12. package/dist/BaseRepository.js.map +1 -1
  13. package/dist/adapters/NapiDbAdapter.d.ts +1 -1
  14. package/dist/schema/MigrationRunner.d.ts +10 -10
  15. package/dist/schema/MigrationRunner.d.ts.map +1 -1
  16. package/dist/schema/MigrationRunner.js +16 -12
  17. package/dist/schema/MigrationRunner.js.map +1 -1
  18. package/dist/schema/TableBuilder.d.ts +9 -0
  19. package/dist/schema/TableBuilder.d.ts.map +1 -1
  20. package/dist/schema/TableBuilder.js +23 -0
  21. package/dist/schema/TableBuilder.js.map +1 -1
  22. package/dist/schema/types.d.ts +2 -0
  23. package/dist/schema/types.d.ts.map +1 -1
  24. package/dist/testing/DatabaseCleanup.d.ts +1 -1
  25. package/dist/testing/DatabaseCleanup.d.ts.map +1 -1
  26. package/dist/testing/DatabaseCleanup.js +6 -7
  27. package/dist/testing/DatabaseCleanup.js.map +1 -1
  28. package/index.darwin-arm64.node +0 -0
  29. package/index.darwin-x64.node +0 -0
  30. package/index.linux-arm64-gnu.node +0 -0
  31. package/index.linux-x64-gnu.node +0 -0
  32. package/index.win32-x64-msvc.node +0 -0
  33. package/package.json +1 -1
  34. package/src/AtlasProvider.ts +2 -2
  35. package/src/BaseRepository.ts +85 -11
  36. package/src/adapters/NapiDbAdapter.ts +1 -1
  37. package/src/schema/MigrationRunner.ts +16 -12
  38. package/src/schema/TableBuilder.ts +26 -0
  39. package/src/schema/types.ts +2 -0
  40. package/src/testing/DatabaseCleanup.ts +6 -7
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -86,7 +86,7 @@ export interface AtlasDatabaseConfig extends ConnectionConfig {
86
86
  migrations?: {
87
87
  path?: string;
88
88
  /**
89
- * Custom name for the migrations tracking table. Defaults to `"_migrations"`.
89
+ * Custom name for the migrations tracking table. Defaults to `"ream_migrations"`.
90
90
  * Must match `/^[A-Za-z_][A-Za-z0-9_]*$/` — the `MigrationRunner` constructor
91
91
  * throws `AtlasError("MIGRATION_INVALID_TABLE_NAME")` otherwise.
92
92
  */
@@ -175,7 +175,7 @@ export default class AtlasProvider {
175
175
  close: () => db.close(),
176
176
  // Thread the transactional path through so MigrationRunner takes the
177
177
  // atomic branch (a mid-migration failure rolls back both the SQL and the
178
- // `_migrations` bookkeeping row together). Without this, the runner
178
+ // `ream_migrations` bookkeeping row together). Without this, the runner
179
179
  // silently falls back to non-transactional execution.
180
180
  runInTransaction: async (batch) => db.runInTransaction(batch),
181
181
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AtlasProvider.js","sourceRoot":"","sources":["../src/AtlasProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AtlasProvider.js","sourceRoot":"","sources":["../src/AtlasProvider.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * @implements FR29, FR31, FR35
5
5
  */
6
6
  import type { BaseEntity, DomainEvent, RelationProxy } from "./BaseEntity.js";
7
+ import { getColumnMetadata } from "./decorators/entity.js";
7
8
  import { ModelQuery } from "./ModelQuery.js";
8
9
  import { type AtlasDialect } from "./query/native.js";
9
10
  type EntityConstructor<T extends BaseEntity> = new () => T;
@@ -33,6 +34,12 @@ export interface DatabaseConnection {
33
34
  /** Run a SELECT and return all rows. */
34
35
  query<T = Row>(sql: string, params?: unknown[]): Promise<T[]>;
35
36
  }
37
+ /**
38
+ * Snake column → logical type for params needing a Postgres `$N::<type>` cast.
39
+ * sqlx binds JS strings as `text`; Postgres won't implicitly coerce that to
40
+ * timestamp/uuid/date. The Rust compiler applies these on Postgres only.
41
+ */
42
+ export declare function computeCastTypes(entityClass: Parameters<typeof getColumnMetadata>[0]): Record<string, string>;
36
43
  export declare class BaseRepository<T extends BaseEntity> {
37
44
  #private;
38
45
  /** Callback to dispatch domain events (set by framework integration). */
@@ -1 +1 @@
1
- {"version":3,"file":"BaseRepository.d.ts","sourceRoot":"","sources":["../src/BaseRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseRepository.d.ts","sourceRoot":"","sources":["../src/BaseRepository.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,47 @@ function isUniqueKeyViolation(err) {
52
52
  errno === 1062);
53
53
  }
54
54
  // ─── Repository ─────────────────────────────────────────────
55
+ /** Logical column types Postgres won't coerce from a text-bound param. */
56
+ const POSTGRES_CAST_TYPES = new Set([
57
+ "timestamp",
58
+ "timestamptz",
59
+ "datetime",
60
+ "date",
61
+ "time",
62
+ "uuid",
63
+ "json",
64
+ "jsonb",
65
+ ]);
66
+ /**
67
+ * Snake column → logical type for params needing a Postgres `$N::<type>` cast.
68
+ * sqlx binds JS strings as `text`; Postgres won't implicitly coerce that to
69
+ * timestamp/uuid/date. The Rust compiler applies these on Postgres only.
70
+ */
71
+ export function computeCastTypes(entityClass) {
72
+ const out = {};
73
+ for (const col of getColumnMetadata(entityClass)) {
74
+ const t = col.type?.toLowerCase();
75
+ if (t && POSTGRES_CAST_TYPES.has(t)) {
76
+ out[camelToSnake(col.propertyKey)] = t;
77
+ }
78
+ }
79
+ // `@column.date()` / `@column.dateTime()` columns are tracked in a SEPARATE
80
+ // metadata map (DATE_COLUMNS_KEY) and routinely declared with no explicit
81
+ // `type` — e.g. `@column.dateTime() declare emailVerifiedAt: Date | null`.
82
+ // Their values bind as ISO strings (text), so Postgres needs an explicit
83
+ // `::date` / `::timestamp` cast exactly like the `col.type`-flagged columns
84
+ // above; without it sqlx's text bind hits `column is of type timestamp but
85
+ // expression is of type text`. An explicit recognized `col.type` already set
86
+ // in the loop above wins via `??=`.
87
+ for (const [prop, cfg] of Object.entries(getDateColumnConfig(entityClass))) {
88
+ out[camelToSnake(prop)] ??= cfg.dateOnly ? "date" : "timestamp";
89
+ }
90
+ // A uuid-strategy primary key is generated app-side as a string.
91
+ if (getPrimaryKeyGenerator(entityClass) === "uuid") {
92
+ out[camelToSnake(getPrimaryKey(entityClass) ?? "id")] ??= "uuid";
93
+ }
94
+ return out;
95
+ }
55
96
  export class BaseRepository {
56
97
  #entityClass;
57
98
  #tableName;
@@ -62,6 +103,8 @@ export class BaseRepository {
62
103
  #validColumns;
63
104
  #columnMap; // camelCase → snake_case (cached)
64
105
  #dateColumns;
106
+ /** Snake column → logical type for params needing a Postgres `::cast`. */
107
+ #castTypes;
65
108
  /**
66
109
  * Per-property `prepare` (model → DB) callbacks lifted directly from
67
110
  * `@Column({ prepare })` metadata. Keyed by camelCase `propertyKey`.
@@ -133,6 +176,9 @@ export class BaseRepository {
133
176
  this.#validColumns.add(this.#primaryKey);
134
177
  this.#validColumns.add(camelToSnake(this.#primaryKey));
135
178
  this.#columnMap.set(this.#primaryKey, camelToSnake(this.#primaryKey));
179
+ // Postgres cast hints: sqlx binds JS strings as `text`, which Postgres
180
+ // won't coerce to timestamp/uuid/date. See `computeCastTypes`.
181
+ this.#castTypes = computeCastTypes(entityClass);
136
182
  }
137
183
  // ─── Column validation ────────────────────────────────────
138
184
  /** Resolve a column name to snake_case. Throws on invalid column. */
@@ -359,6 +405,7 @@ export class BaseRepository {
359
405
  kind: "insert",
360
406
  table: this.#tableName,
361
407
  rows: specRows,
408
+ casts: this.#castTypes,
362
409
  returning: [
363
410
  camelToSnake(this.#primaryKey),
364
411
  ...this.#columns.map((c) => camelToSnake(c)),
@@ -433,6 +480,7 @@ export class BaseRepository {
433
480
  rows,
434
481
  conflictColumns: conflictColumns.map((c) => this.#resolveColumn(c)),
435
482
  updateColumns: updateColumns.map((c) => this.#resolveColumn(c)),
483
+ casts: this.#castTypes,
436
484
  };
437
485
  const compiled = compileStatementNative(spec, this.#dialect);
438
486
  const result = await this.#db.execute(compiled.statements[0], compiled.params);
@@ -652,7 +700,13 @@ export class BaseRepository {
652
700
  async #runUpdate(set, wheres) {
653
701
  if (set.length === 0)
654
702
  return;
655
- const compiled = compileStatementNative({ kind: "update", table: this.#tableName, set, wheres }, this.#dialect);
703
+ const compiled = compileStatementNative({
704
+ kind: "update",
705
+ table: this.#tableName,
706
+ set,
707
+ wheres,
708
+ casts: this.#castTypes,
709
+ }, this.#dialect);
656
710
  await this.#db.execute(compiled.statements[0], compiled.params);
657
711
  }
658
712
  /**
@@ -670,12 +724,18 @@ export class BaseRepository {
670
724
  kind: "insert",
671
725
  table: this.#tableName,
672
726
  values,
727
+ casts: this.#castTypes,
673
728
  returning: [
674
729
  camelToSnake(this.#primaryKey),
675
730
  ...this.#columns.map((c) => camelToSnake(c)),
676
731
  ],
677
732
  }
678
- : { kind: "insert", table: this.#tableName, values };
733
+ : {
734
+ kind: "insert",
735
+ table: this.#tableName,
736
+ values,
737
+ casts: this.#castTypes,
738
+ };
679
739
  const compiled = compileStatementNative(spec, this.#dialect);
680
740
  if (supportsReturning) {
681
741
  const rows = await this.#db.query(compiled.statements[0], compiled.params);
@@ -1068,14 +1128,6 @@ export class BaseRepository {
1068
1128
  const tsConfig = pivot.pivotTimestamps;
1069
1129
  const pivotAdapters = pivot.pivotColumnAdapters;
1070
1130
  const dialect = this.#dialect;
1071
- // Validated quote: allow only `[A-Za-z0-9_]` so a malicious metadata
1072
- // value never breaks out of the identifier. Anything else throws.
1073
- const quote = (name) => {
1074
- if (!/^[A-Za-z0-9_]+$/.test(name)) {
1075
- throw new Error(`Unsafe identifier in pivot metadata: '${name}'`);
1076
- }
1077
- return dialect === "mysql" ? `\`${name}\`` : `"${name}"`;
1078
- };
1079
1131
  /**
1080
1132
  * Resolve pivot timestamp column names from the decorator config.
1081
1133
  *
@@ -1232,7 +1284,24 @@ export class BaseRepository {
1232
1284
  pairs.push([k, v]);
1233
1285
  return pairs;
1234
1286
  });
1235
- const spec = { kind: "insert", table: pivotTable, rows: rowPairs };
1287
+ // Postgres casts for the pivot row: the two FK columns reference the
1288
+ // parent / related PK types (often uuid), and pivot timestamps are
1289
+ // bound strings — all need `$N::<type>` on Postgres.
1290
+ const pivotCasts = {};
1291
+ const parentPkCast = this.#castTypes[camelToSnake(this.#primaryKey)];
1292
+ if (parentPkCast)
1293
+ pivotCasts[pivotFk] = parentPkCast;
1294
+ const relatedPkCast = computeCastTypes(relatedClass)[camelToSnake(getPrimaryKey(relatedClass) ?? "id")];
1295
+ if (relatedPkCast)
1296
+ pivotCasts[pivotOther] = relatedPkCast;
1297
+ for (const k of Object.keys(ts))
1298
+ pivotCasts[k] = "timestamp";
1299
+ const spec = {
1300
+ kind: "insert",
1301
+ table: pivotTable,
1302
+ rows: rowPairs,
1303
+ casts: pivotCasts,
1304
+ };
1236
1305
  const compiled = compileStatementNative(spec, dialect);
1237
1306
  await db.execute(compiled.statements[0], compiled.params);
1238
1307
  };
@@ -1 +1 @@
1
- {"version":3,"file":"BaseRepository.js","sourceRoot":"","sources":["../src/BaseRepository.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAUzC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAEN,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,GAEd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAEN,sBAAsB,EACtB,eAAe,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAwB/D;;;GAGG;AACH,SAAS,cAAc,CAAC,KAAsB;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACzE,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,EAAW;IAChC,OAAO,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,CAAC;AACxC,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,oBAAoB,CAAC,GAAY;IACzC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC1D,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;IACpB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACtB,OAAO,CACN,IAAI,KAAK,OAAO;QAChB,IAAI,KAAK,8BAA8B;QACvC,IAAI,KAAK,0BAA0B;QACnC,IAAI,KAAK,cAAc;QACvB,KAAK,KAAK,IAAI,CACd,CAAC;AACH,CAAC;AAmBD,+DAA+D;AAE/D,MAAM,OAAO,cAAc;IAC1B,YAAY,CAAuB;IACnC,UAAU,CAAS;IACnB,WAAW,CAAS;IACpB,QAAQ,CAAW;IACnB,GAAG,CAAqB;IACxB,YAAY,CAAU;IACtB,aAAa,CAAc;IAC3B,UAAU,CAAsB,CAAC,kCAAkC;IACnE,YAAY,CAAmC;IAC/C;;;;OAIG;IACH,eAAe,CAA2C;IAC1D;;;;OAIG;IACH,eAAe,CAA2C;IAC1D;;;;;;;OAOG;IACH,QAAQ,CAAe;IAEvB,yEAAyE;IACzE,cAAc,CAA4C;IAE1D,YACC,WAAiC,EACjC,EAAsB,EACtB,OAAoC;QAEpC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QAEd,oFAAoF;QACpF,MAAM,WAAW,GAAI,EAAiC,CAAC,OAAO,CAAC;QAC/D,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,OAAO,IAAI,WAAW,IAAI,eAAe,EAAE,CAAC;QAErE,MAAM,IAAI,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,IAAI,UAAU,CACnB,YAAY,EACZ,UAAU,WAAW,CAAC,IAAI,mCAAmC,EAC7D;gBACC,IAAI,EAAE,mDAAmD;aACzD,CACD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;QACtD,MAAM,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAErD,0EAA0E;QAC1E,wEAAwE;QACxE,yEAAyE;QACzE,6BAA6B;QAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAuC,CAAC;QACtE,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAuC,CAAC;QACtE,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC/B,IAAI,GAAG,CAAC,OAAO;gBAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACxE,IAAI,GAAG,CAAC,OAAO;gBAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACzE,CAAC;QAED,0DAA0D;QAC1D,qEAAqE;QACrE,8DAA8D;QAC9D,mEAAmE;QACnE,oEAAoE;QACpE,+DAA+D;QAC/D,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,6DAA6D;IAE7D,qEAAqE;IACrE,cAAc,CAAC,MAAc;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAEhD,MAAM,IAAI,UAAU,CACnB,kBAAkB,EAClB,WAAW,MAAM,uBAAuB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAChE;YACC,IAAI,EAAE,kBAAkB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAClD,CACD,CAAC;IACH,CAAC;IAED,6DAA6D;IAE7D,KAAK;QACJ,OAAO,IAAI,UAAU,CACpB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,GAAG,EACR,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAC3B,IAAI,CAAC,YAAY,EACjB,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EACjC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,QAAQ,CACb,CAAC;IACH,CAAC;IAED,6DAA6D;IAE7D,cAAc,CAAC,GAAuB;QACrC,yEAAyE;QACzE,yEAAyE;QACzE,mEAAmE;QACnE,uEAAuE;QACvE,uCAAuC;QACvC,MAAM,IAAI,GAAG,IAAI,cAAc,CAAI,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE;YAC1D,OAAO,EAAE,IAAI,CAAC,QAAQ;SACtB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,OAAO,IAAI,CAAC;IACb,CAAC;IAED,6DAA6D;IAE7D,KAAK,CAAC,IAAI,CAAC,EAA4B;QACtC,MAAM,MAAM,GAAmC;YAC9C,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;SACnE,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAM,GAAG,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAmB;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;gBACrD,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;aACtB,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,KAAc;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,MAAM,GAAmC;YAC9C,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;SAClD,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAM,GAAG,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,GAAG;QACR,MAAM,MAAM,GAAmC,EAAE,CAAC;QAClD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,cAAc;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,WAAW;QAChB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC;YACtB,MAAM,EAAE;gBACP;oBACC,MAAM,EAAE,YAAY;oBACpB,QAAQ,EAAE,aAAa;oBACvB,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,KAAK;iBACX;aACD;SACD,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,KAAc;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,MAAM,GAAmC;YAC9C,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;SAClD,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC9B,0EAA0E;QAC1E,uEAAuE;QACvE,yEAAyE;QACzE,0EAA0E;QAC1E,oEAAoE;QACpE,kEAAkE;QAClE,kDAAkD;QAClD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC;YACtB,MAAM;YACN,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;SAC/C,CAAC,CAAC;IACJ,CAAC;IAED,6DAA6D;IAE7D;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,IAAsC;QAClD,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,IACC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;gBAC3B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EACxC,CAAC;gBACF,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5B,CAAC;QACF,CAAC;QACD,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,IAAI,CAAC,MAAS;QACnB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,sEAAsE;QACtE,sEAAsE;QACtE,mCAAmC;QACnC,MAAM,QAAQ,GAAG,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;QAEpE,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QACzD,IAAI,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACP,IAAI,CAAC;gBACJ,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,6DAA6D;gBAC7D,8DAA8D;gBAC9D,8DAA8D;gBAC9D,wDAAwD;gBACxD,IAAI,YAAY,CAAC,EAAE,CAAC,IAAI,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnD,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBACP,MAAM,GAAG,CAAC;gBACX,CAAC;YACF,CAAC;QACF,CAAC;QACD,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAExD,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC1C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACJ,MAAM,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,KAAK,MAAM,CAAC,IAAI,MAAM;oBAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC9D,MAAM,GAAG,CAAC;YACX,CAAC;QACF,CAAC;IACF,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAS;QAC/B,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAS;QAC/B,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU,CACf,IAA6C;QAE7C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACpC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAClC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxC,IACC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;oBACzB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;oBAEvC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;YACpD,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC/B,6CAA6C;YAC7C,KAAK,MAAM,CAAC,IAAI,QAAQ;gBAAE,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACP,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,MAAM,IAAI,GAAG;gBACZ,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,IAAI,CAAC,UAAU;gBACtB,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE;oBACV,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;oBAC9B,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;iBAC5C;aACD,CAAC;YACF,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CACpC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EACtB,QAAQ,CAAC,MAAM,CACf,CAAC;YACF,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC3B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;oBACvC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;YAC/B,CAAC,CAAC,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;YACrD,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,QAAa;QAC3B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACrC,wEAAwE;QACxE,yDAAyD;QACzD,MAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,MAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;gBAC1D,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC5B,MAAM,CAAC,GAA4B,EAAE,CAAC;gBACtC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACf,IAAI,CAAC,KAAK,SAAS;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC/B,CAAC;gBACD,OAAO,CAAC,CAAC;YACV,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC5C,qDAAqD;YACrD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACxB,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBACxD,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACX,IAA8D,EAC9D,eAAyB,EACzB,gBAA0B,EAAE;QAE5B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG;YACZ,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,IAAI,CAAC,UAAU;YACtB,IAAI;YACJ,eAAe,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACnE,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;SAC/D,CAAC;QACF,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CACpC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EACtB,QAAQ,CAAC,MAAM,CACf,CAAC;QACF,OAAO,MAAM,CAAC,YAAY,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAClB,MAA+B,EAC/B,WAAoC,EAAE;QAEtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,oEAAoE;IACpE,KAAK,CAAC,UAAU,CACf,MAA+B,EAC/B,WAAoC,EAAE;QAEtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC,EAAE,CAAC;YACjE,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACvE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,CAAC;IACV,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,cAAc,CACnB,MAA+B,EAC/B,MAA+B;QAE/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,QAAQ,EAAE,CAAC;YACd,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpE,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO,QAAQ,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAA+B;QAClD,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,WAAmB,EAAE,KAAc;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC3B,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACJ,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,gBAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;QACrD,CAAC;QACD,gBAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,aAAa,CAAC,WAAmB,EAAE,KAAc;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC3B,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACJ,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,gBAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;QACrD,CAAC;QACD,gBAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,gBAAgB,CAAC,GAA4B;QAC5C,MAAM,KAAK,GAA6B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,yEAAyE;YACzE,mEAAmE;YACnE,iDAAiD;YACjD,IAAI,CAAC,KAAK,SAAS;gBAAE,SAAS;YAC9B,yEAAyE;YACzE,+DAA+D;YAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,MAAS;QAC1B,MAAM,KAAK,GAA6B,EAAE,CAAC;QAC3C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,SAAS;gBAClB,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,uFAAuF;IACvF,KAAK,CAAC,MAAM,CAAC,MAAS;QACrB,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,UAAU,CACpB,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,EACrB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CACrE,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,CAAC,UAAU,CAAC;gBACrB,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;aACnE,CAAC,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED,6FAA6F;IAC7F,KAAK,CAAC,WAAW,CAAC,MAAS;QAC1B,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,IAAI,CAAC,UAAU,CAAC;YACrB;gBACC,MAAM,EAAE,IAAI,CAAC,WAAW;gBACxB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC/B,IAAI,EAAE,KAAK;aACX;SACD,CAAC,CAAC;QACH,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAS;QACtB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAC/B,MAAM,IAAI,CAAC,UAAU,CACpB,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,EACtB;YACC;gBACC,MAAM,EAAE,IAAI,CAAC,WAAW;gBACxB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC/B,IAAI,EAAE,KAAK;aACX;SACD,CACD,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,6DAA6D;IAE7D,KAAK,CAAC,UAAU,CACf,EAAmB,EACnB,IAAsC;QAEtC,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;YAC1B,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;SACnE,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAChB,MAAc,EACd,WAAoB,EACpB,IAAsC;QAEtC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;YAC1B,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;SACpE,CAAC,CAAC;IACJ,CAAC;IAqBD,KAAK,CAAC,SAAS,CACd,EAAmB,EACnB,WAA4C,EAC5C,MAAM,GAAG,CAAC;QAEV,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACxE,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;YAC1B,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;SACnE,CAAC,CAAC;IACJ,CAAC;IAYD,KAAK,CAAC,SAAS,CACd,EAAmB,EACnB,WAA4C,EAC5C,MAAM,GAAG,CAAC;QAEV,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACxE,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;YAC1B,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;SACnE,CAAC,CAAC;IACJ,CAAC;IAED,6DAA6D;IAE7D,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,GAAG,MAAiB;QAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAM,GAAG,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,6DAA6D;IAE7D,YAAY;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IACD,mBAAmB;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,6DAA6D;IAE7D,cAAc,CAAC,IAId;QACA,MAAM,IAAI,GAAG;YACZ,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,IAAI,CAAC,UAAU;YACtB,MAAM,EAAE,CAAC,GAAG,CAAC;YACb,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;YAC3B,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;YACzB,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;SACV,CAAC;QACF,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7D,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAIhB;QACA,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAM,GAAG,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAsC;QACtD,MAAM,QAAQ,GAAG,sBAAsB,CACtC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,EAClD,IAAI,CAAC,QAAQ,CACb,CAAC;QACF,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CACf,GAEC,EACD,MAAsC;QAEtC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC7B,MAAM,QAAQ,GAAG,sBAAsB,CACtC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,EACvD,IAAI,CAAC,QAAQ,CACb,CAAC;QACF,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,MAAgC;QAChD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACnC,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC;QACpD,MAAM,IAAI,GAAG,iBAAiB;YAC7B,CAAC,CAAC;gBACA,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,IAAI,CAAC,UAAU;gBACtB,MAAM;gBACN,SAAS,EAAE;oBACV,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;oBAC9B,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;iBAC5C;aACD;YACF,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAChC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EACtB,QAAQ,CAAC,MAAM,CACf,CAAC;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,CAAC;QACD,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChE,mEAAmE;QACnE,kEAAkE;QAClE,+DAA+D;QAC/D,gEAAgE;QAChE,qDAAqD;QACrD,OAAO,EAAE,CAAC;IACX,CAAC;IAED,gBAAgB,CAAC,MAAsC;QACtD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,YAAY;gBACpB,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,KAAK;aACX,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAS;QACtB,uEAAuE;QACvE,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACvC,uFAAuF;QACvF,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,uEAAuE;QACvE,oEAAoE;QACpE,4DAA4D;QAC5D,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YAChB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;gBAC9C,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC;aAAM,IACN,MAAM,CAAC,eAAe,KAAK,SAAS;YACpC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EACtC,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QAC1E,CAAC;QACD,oEAAoE;QACpE,uEAAuE;QACvE,MAAM,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,MAAS;QACtB,2EAA2E;QAC3E,mEAAmE;QACnE,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE5C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,yDAAyD;QACzD,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE/B,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,kBAAkB;QAE/D,uEAAuE;QACvE,2EAA2E;QAC3E,kEAAkE;QAClE,oEAAoE;QACpE,4DAA4D;QAC5D,MAAM,QAAQ,GAA6B,EAAE,CAAC;QAC9C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,SAAS;gBAAE,SAAS;YAC9B,QAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,kEAAkE;YAClE,0DAA0D;YAC1D,kEAAkE;YAClE,yBAAyB;YACzB,MAAM,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO;QACR,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;YAC/B,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;SACnE,CAAC,CAAC;QACH,yCAAyC;QACzC,MAAM,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,yBAAyB,CAAC,MAAS;QAClC,MAAM,QAAQ,GAAoC,sBAAsB,CACvE,IAAI,CAAC,YAAY,CACjB,CAAC;QACF,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,SAAS;YAAE,OAAO;QACnD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;QAChD,CAAC;IACF,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAAC,MAAS,EAAE,KAA0B;QACzD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7D,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACxB,IAAI,GAAG,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBAClD,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC3B,CAAC;gBACD,IAAI,GAAG,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBAClD,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC3B,CAAC;YACF,CAAC;iBAAM,IAAI,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;gBACjD,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC3B,CAAC;QACF,CAAC;IACF,CAAC;IAED,QAAQ,CAAC,GAA4B;QACpC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YACnC,qEAAqE;YACrE,qEAAqE;YACrE,kCAAkC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACjD,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;oBAC5B,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,IAAI,CAAC;YACT,IAAI,CAAC,SAAS;gBAAE,SAAS;YACzB,wEAAwE;YACxE,oEAAoE;YACpE,uEAAuE;YACvE,+DAA+D;YAC/D,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,yEAAyE;QACzE,qDAAqD;QACrD,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,sEAAsE;QACtE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE;YACvC,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,MAAkB;QAC/B,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;gBACrD,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;aACtB,CAAC,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAqB,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;gBACrD,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;aACtB,CAAC,CAAC;QACJ,CAAC;QACD,wEAAwE;QACxE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CACd,MAAkB,EAClB,YAAoB,EACpB,KAAc;QAEd,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;gBACrD,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;aACtB,CAAC,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,IAAI,GAAG,YAAY,QAAQ,CAAC;QACpD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;aACpB,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;aAC3B,SAAS,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE;YAChC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,SAAS;YAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAClB,MAAkB,EAClB,YAAoB,EACpB,KAA2B;QAE3B,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;gBACrD,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;aACtB,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,aAAiC,CAAC;QACtC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;aACpB,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;aAC3B,aAAa,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE;YACpC,KAAK,CAAC,GAAG,CAAC,CAAC;YACX,aAAa,GAAI,GAA8B,CAAC,aAAa,CAAC;QAC/D,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,aAAa,IAAI,YAAY,CAAC;QAC5C,IAAI,SAAS;YAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CACjB,MAAkB,EAClB,YAAoB,EACpB,QAA+B;QAE/B,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;gBACrD,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;aACtB,CAAC,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,QAAQ;YACX,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,QAA+C,CAAC,CAAC;;YACrE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7B,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,QAAQ,EAAE,CAAC;YACd,uDAAuD;YACvD,MAAM,KAAK,GAAI,QAAoC,CAAC,YAAY,CAAC,CAAC;YAClE,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;IACF,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,MAAkB,EAAE,YAAoB;QACpD,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,YAAY,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ;YACZ,MAAM,IAAI,KAAK,CACd,aAAa,YAAY,kBAAkB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CACnE,CAAC;QACH,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,EAA0B,CAAC;QAC/D,MAAM,WAAW,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW;YACf,MAAM,IAAI,KAAK,CACd,4CAA4C,YAAY,CAAC,IAAI,EAAE,CAC/D,CAAC;QACH,MAAM,YAAY,GAAG,WAAW,CAAC,SAAS,CAAC;QAC3C,MAAM,QAAQ,GACb,QAAQ,CAAC,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;QAC/D,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,cAAc,CAAa,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;YAC1E,OAAO,EAAE,IAAI,CAAC,QAAQ;SACtB,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAEpB,wFAAwF;QACxF,MAAM,KAAK,GACV,QAAQ,CAAC,UAAU;YACnB,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW;gBAC7B,CAAC,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK;gBACzC,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAEnC,MAAM,QAAQ,GAAG,CAChB,IAA6B,EACH,EAAE,CAAC,CAAC;YAC9B,GAAG,IAAI;YACP,CAAC,KAAK,CAAC,EAAE,aAAa;YACtB,CAAC,MAAM,CAAC,EAAE,aAAa;SACvB,CAAC,CAAC;QAEH,gEAAgE;QAChE,MAAM,MAAM,GAAG;YACd,KAAK,CAAC,MAAM,CAAC,IAA6B;gBACzC,OAAO,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3C,CAAC;YACD,KAAK,CAAC,UAAU,CAAC,IAAoC;gBACpD,OAAO,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnD,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,OAAmB;gBAC7B,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;gBACtC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;gBACvC,MAAM,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;YACD,KAAK,CAAC,QAAQ,CAAC,OAAqB;gBACnC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACzB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;oBAChC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;gBAClC,CAAC;gBACD,OAAO,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC;SACD,CAAC;QAEF,mEAAmE;QACnE,qEAAqE;QACrE,gCAAgC;QAChC,MAAM,WAAW,GAAG,GAA2B,EAAE;YAChD,MAAM,CAAC,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC,KAAK;oBAClB,MAAM,IAAI,KAAK,CAAC,eAAe,YAAY,yBAAyB,CAAC,CAAC;gBACvE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAC7B,MAAM,OAAO,GACZ,KAAK,CAAC,UAAU,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;gBAClE,MAAM,UAAU,GACf,KAAK,CAAC,QAAQ,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC3D,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;gBACtD,gEAAgE;gBAChE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAC9B,MAAM,KAAK,GAAG,CAAC,IAAY,EAAU,EAAE;oBACtC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBACnC,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,GAAG,CAAC,CAAC;oBACnE,CAAC;oBACD,OAAO,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;gBAC1D,CAAC,CAAC;gBACF,yFAAyF;gBACzF,oEAAoE;gBACpE,oEAAoE;gBACpE,uEAAuE;gBACvE,0BAA0B,CAAC,GAAG,EAAE;oBAC/B,CAAC,CAAC,QAAQ,CACT,yBAAyB,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG;wBAClD,SAAS,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO;wBACzD,OAAO,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,EACpG,CAAC,aAAa,CAAC,CACf,CAAC;gBACH,CAAC,CAAC,CAAC;YACJ,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC1C,MAAM,QAAQ,GACb,QAAQ,CAAC,QAAQ,IAAI,aAAa,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;gBAC1D,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACP,mBAAmB;gBACnB,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,CAAC,CAAC;QACV,CAAC,CAAC;QAEF,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACnC,yEAAyE;YACzE,yEAAyE;YACzE,yEAAyE;YACzE,qEAAqE;YACrE,0BAA0B;YAC1B,MAAM,UAAU,GAAG,IAAkC,CAAC;YACtD,MAAM,KAAK,GAA2B;gBACrC,IAAI,EAAE,WAAW;gBACjB,GAAG,MAAM;gBACT,KAAK,EAAE,WAAW;gBAClB,KAAK,CAAC,SAAS,CAAC,KAAiB;oBAChC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBAC3C,MAAM,IAAI,KAAK,CACd,YAAY,YAAY,kEAAkE,CAC1F,CAAC;oBACH,CAAC;oBACD,MAAM,QAAQ,GACb,QAAQ,CAAC,QAAQ,IAAI,aAAa,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;oBAC1D,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAChC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;oBAC/B,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBAChC,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBACD,KAAK,CAAC,UAAU;oBACf,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC5B,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAC7B,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;aACD,CAAC;YACF,OAAO,KAAK,CAAC;QACd,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,KAAK;gBAClB,MAAM,IAAI,KAAK,CAAC,eAAe,YAAY,yBAAyB,CAAC,CAAC;YACvE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;YACpC,MAAM,OAAO,GACZ,KAAK,CAAC,UAAU,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;YAClE,MAAM,UAAU,GACf,KAAK,CAAC,QAAQ,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3D,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC;YACvC,MAAM,aAAa,GAAG,KAAK,CAAC,mBAAmB,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,qEAAqE;YACrE,kEAAkE;YAClE,MAAM,KAAK,GAAG,CAAC,IAAY,EAAU,EAAE;gBACtC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnC,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,GAAG,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;YAC1D,CAAC,CAAC;YAEF;;;;;;;;;;eAUG;YACH,MAAM,iBAAiB,GAAG,GAA4B,EAAE;gBACvD,IAAI,CAAC,QAAQ;oBAAE,OAAO,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACrC,IAAI,UAAyB,CAAC;gBAC9B,IAAI,UAAyB,CAAC;gBAC9B,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACvB,UAAU,GAAG,YAAY,CAAC;oBAC1B,UAAU,GAAG,YAAY,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACP,UAAU;wBACT,QAAQ,CAAC,SAAS,KAAK,KAAK;4BAC3B,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,YAAY,CAAC,CAAC;oBACzC,UAAU;wBACT,QAAQ,CAAC,SAAS,KAAK,KAAK;4BAC3B,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,YAAY,CAAC,CAAC;gBAC1C,CAAC;gBACD,MAAM,GAAG,GAA4B,EAAE,CAAC;gBACxC,IAAI,UAAU;oBAAE,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC;gBACtC,IAAI,UAAU;oBAAE,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC;gBACtC,OAAO,GAAG,CAAC;YACZ,CAAC,CAAC;YAEF,MAAM,eAAe,GAAG,CACvB,GAAqE,EACH,EAAE;gBACpE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;oBAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;gBACrE,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACpE,CAAC,CAAC;YAEF,oEAAoE;YACpE,oEAAoE;YACpE,kEAAkE;YAClE,8DAA8D;YAC9D,EAAE;YACF,6DAA6D;YAC7D,MAAM,UAAU,GAAG,KAAK,IAAqC,EAAE;gBAC9D,MAAM,UAAU,GAAG;oBAClB,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,UAAU;oBACjB,MAAM,EAAE,CAAC,UAAU,CAAC;oBACpB,MAAM,EAAE;wBACP;4BACC,MAAM,EAAE,OAAO;4BACf,QAAQ,EAAE,GAAG;4BACb,KAAK,EAAE,aAAa;4BACpB,IAAI,EAAE,KAAK;yBACX;qBACD;oBACD,gBAAgB,EAAE,EAAE;oBACpB,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,EAAE;oBACX,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,KAAK;oBACf,IAAI,EAAE,EAAE;oBACR,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,EAAE;oBACT,QAAQ,EAAE,IAAI;iBACd,CAAC;gBACF,MAAM,QAAQ,GAAG,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC7D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CAC1B,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EACtB,QAAQ,CAAC,MAAM,CACf,CAAC;gBACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAoB,CAAC,CAAC;YAC1D,CAAC,CAAC;YAEF,uEAAuE;YACvE,sEAAsE;YACtE,uDAAuD;YACvD,MAAM,MAAM,GAAG,KAAK,EAAE,GAA4B,EAAiB,EAAE;gBACpE,MAAM,MAAM,GAAmC;oBAC9C,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;iBACrE,CAAC;gBACF,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,MAAM,CAAC,IAAI,CAAC;wBACX,MAAM,EAAE,UAAU;wBAClB,QAAQ,EAAE,IAAI;wBACd,KAAK,EAAE,GAAG;wBACV,IAAI,EAAE,KAAK;qBACX,CAAC,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,GAAG;oBACZ,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,UAAU;oBACjB,MAAM;oBACN,SAAS,EAAE,EAAE;iBACb,CAAC;gBACF,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACvD,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC,CAAC;YAEF,MAAM,MAAM,GAAG,KAAK,EACnB,GAAqE,EACrD,EAAE;gBAClB,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO;gBACjC,MAAM,EAAE,GAAG,iBAAiB,EAAE,CAAC;gBAC/B,kEAAkE;gBAClE,sEAAsE;gBACtE,sEAAsE;gBACtE,sCAAsC;gBACtC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;gBACpC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACzB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;wBAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACzD,CAAC;gBACD,uEAAuE;gBACvE,uEAAuE;gBACvE,oEAAoE;gBACpE,gEAAgE;gBAChE,kEAAkE;gBAClE,mCAAmC;gBACnC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;oBAC3B,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;wBACvC,MAAM,IAAI,KAAK,CACd,qBAAqB,CAAC,uBAAuB,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,eAAe,UAAU,6DAA6D,CAC5K,CAAC;oBACH,CAAC;oBACD,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;wBAC1B,MAAM,IAAI,KAAK,CACd,qBAAqB,CAAC,gDAAgD,UAAU,wEAAwE,CACxJ,CAAC;oBACH,CAAC;gBACF,CAAC;gBACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAClC,MAAM,KAAK,GAA6B;wBACvC,CAAC,OAAO,EAAE,aAAa,CAAC;wBACxB,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC;qBAClB,CAAC;oBACF,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;wBAC3B,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;wBAChC,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;wBAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;4BACd,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;4BACrB,SAAS;wBACV,CAAC;wBACD,IAAI,OAAgB,CAAC;wBACrB,IAAI,CAAC;4BACJ,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;wBACxB,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACd,MAAM,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;wBAC3C,CAAC;wBACD,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;wBACxC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;oBAC1B,CAAC;oBACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;wBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC5D,OAAO,KAAK,CAAC;gBACd,CAAC,CAAC,CAAC;gBACH,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;gBACnE,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACvD,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC,CAAC;YAEF;;;;;;;;;;;eAWG;YACH,MAAM,IAAI,GAAG,KAAK,EACjB,MAE0C,EAC1C,QAAQ,GAAG,KAAK,EACA,EAAE;gBAClB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,UAAU,EAAE,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;gBACxC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3D,MAAM,QAAQ,GAAG,QAAQ;oBACxB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;oBAAE,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,SAAS,GAA4C,EAAE,CAAC;oBAC9D,KAAK,MAAM,CAAC,IAAI,QAAQ;wBAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;oBAC7D,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;gBACzB,CAAC;YACF,CAAC,CAAC;YAEF,MAAM,KAAK,GAA4B;gBACtC,IAAI,EAAE,YAAY;gBAClB,GAAG,MAAM;gBACT,KAAK,EAAE,WAAW;gBAClB,MAAM;gBACN,MAAM;gBACN,IAAI;aACJ,CAAC;YACF,OAAO,KAAK,CAAC;QACd,CAAC;QAED,4BAA4B;QAC5B,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAChC,uEAAuE;YACvE,uEAAuE;YACvE,gEAAgE;YAChE,oEAAoE;YACpE,4BAA4B;YAC5B,MAAM,MAAM,GAAG,KAAK,EAAE,EAAU,EAAkB,EAAE;gBACnD,MAAM,IAAI,KAAK,CACd,YAAY,YAAY,MAAM,EAAE,mCAAmC;oBAClE,mDAAmD,CACpD,CAAC;YACH,CAAC,CAAC;YACF,MAAM,KAAK,GAAwB;gBAClC,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;gBACtC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;gBAClC,KAAK,EAAE,WAAW;aAClB,CAAC;YACF,OAAO,KAAK,CAAC;QACd,CAAC;QACD,MAAM,KAAK,GAAyB;YACnC,IAAI,EAAE,SAAS;YACf,GAAG,MAAM;YACT,KAAK,EAAE,WAAW;SAClB,CAAC;QACF,OAAO,KAAK,CAAC;IACd,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAS;QACpB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;gBACrD,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;aACtB,CAAC,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAqB,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;gBACrD,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;aACtB,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,YAAY,CAAC,MAAS;QACrB,wEAAwE;QACxE,sEAAsE;QACtE,oEAAoE;QACpE,uEAAuE;QACvE,yEAAyE;QACzE,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACzD,CAAC;QACF,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,cAAc,CACb,IAAsC;QAEtC,MAAM,KAAK,GAA6B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,uEAAuE;YACvE,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACxE,KAAK,CAAC,IAAI,CAAC;gBACV,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;gBACxB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC;aAClC,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CACnB,WAA4C,EAC5C,MAAc,EACd,EAA6B;QAE7B,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CACrC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAChB,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAG9C,CACF,CAAC;IACH,CAAC;CACD;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CACxB,KAA4B,EAC5B,WAAmB,EACnB,GAAY;IAEZ,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,uEAAuE;IACvE,uEAAuE;IACvE,mEAAmE;IACnE,mEAAmE;IACnE,4BAA4B;IAC5B,OAAO,IAAI,KAAK,CAAC,WAAW,KAAK,cAAc,WAAW,MAAM,OAAO,EAAE,EAAE;QAC1E,KAAK,EAAE,GAAG;KACV,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CACxB,KAA4B,EAC5B,WAAmB,EACnB,KAAc;IAEd,IACC,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,IAAI,KAAK;QACf,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,UAAU,EAC/C,CAAC;QACF,MAAM,IAAI,KAAK,CACd,WAAW,KAAK,QAAQ,WAAW,oFAAoF,CACvH,CAAC;IACH,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"BaseRepository.js","sourceRoot":"","sources":["../src/BaseRepository.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ export interface AsyncDatabaseConnection {
17
17
  /**
18
18
  * Run every statement in `batch` atomically inside a single sqlx transaction.
19
19
  * Either every statement commits or none do — used by MigrationRunner to
20
- * wrap `up()` / `down()` SQL together with the `_migrations` bookkeeping.
20
+ * wrap `up()` / `down()` SQL together with the `ream_migrations` bookkeeping.
21
21
  */
22
22
  runInTransaction(batch: readonly BatchStatement[]): Promise<number>;
23
23
  close(): Promise<void>;
@@ -43,33 +43,33 @@ export declare class MigrationRunner {
43
43
  * @param options.migrationsDir Directory containing migration files. Defaults to `database/migrations`.
44
44
  * @param options.dialect SQL dialect of the adapter. Defaults to `sqlite`.
45
45
  * @param options.tableName Custom name for the migrations tracking table.
46
- * Defaults to `"_migrations"`. Must match `/^[A-Za-z_][A-Za-z0-9_]*$/` —
46
+ * Defaults to `"ream_migrations"`. Must match `/^[A-Za-z_][A-Za-z0-9_]*$/` —
47
47
  * throws `AtlasError("MIGRATION_INVALID_TABLE_NAME")` synchronously otherwise.
48
48
  *
49
49
  * Cleanup coupling: `DatabaseCleanup.truncateAll` (`src/testing/DatabaseCleanup.ts`)
50
- * skips tables whose name starts with a literal `_` (via `LIKE '\_%' ESCAPE '\'`).
51
- * The default `"_migrations"` is therefore auto-protected. Choosing a non-`_`
52
- * prefix (e.g. `"schema_versions"`) opts the tracking table out of that
53
- * protection — `truncateAll` will wipe it alongside user tables, forcing a
54
- * re-`init()` and replay of every migration on next test run.
50
+ * skips tables whose name starts with `ream_` (via `LIKE 'ream\_%' ESCAPE '\'`).
51
+ * The default `"ream_migrations"` is therefore auto-protected. Choosing a name
52
+ * without the `ream_` prefix (e.g. `"schema_versions"`) opts the tracking table
53
+ * out of that protection — `truncateAll` will wipe it alongside user tables,
54
+ * forcing a re-`init()` and replay of every migration on next test run.
55
55
  *
56
56
  * Rename caveat: `init()` emits `CREATE TABLE IF NOT EXISTS <tableName>` —
57
57
  * it does NOT auto-migrate from a previous tracking table. A project that
58
- * has been running with `_migrations` and then changes `tableName` to
58
+ * has been running with `ream_migrations` and then changes `tableName` to
59
59
  * `schema_versions` will get a fresh empty `schema_versions` on next boot,
60
60
  * read zero applied migrations, and re-run every past migration (likely
61
61
  * crashing on `CREATE TABLE <user-table>` already-exists). To rename
62
62
  * safely, copy the history manually before switching:
63
63
  *
64
- * INSERT INTO schema_versions SELECT * FROM _migrations;
65
- * -- (then DROP TABLE _migrations once verified)
64
+ * INSERT INTO schema_versions SELECT * FROM ream_migrations;
65
+ * -- (then DROP TABLE ream_migrations once verified)
66
66
  */
67
67
  constructor(db: DatabaseAdapter, options?: {
68
68
  migrationsDir?: string;
69
69
  dialect?: AtlasDialect;
70
70
  tableName?: string;
71
71
  });
72
- /** Ensure the _migrations tracking table exists. */
72
+ /** Ensure the ream_migrations tracking table exists. */
73
73
  init(): Promise<void>;
74
74
  /** Get the status of all migrations. */
75
75
  status(): Promise<MigrationStatus[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationRunner.d.ts","sourceRoot":"","sources":["../../src/schema/MigrationRunner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,KAAK,YAAY,EAA0B,MAAM,oBAAoB,CAAC;AA2C/E,MAAM,WAAW,SAAS;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC/B,kEAAkE;IAClE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,qDAAqD;IACrD,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACxD;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChE,4BAA4B;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,eAAe;;IAM3B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;gBAEF,EAAE,EAAE,eAAe,EACnB,OAAO,CAAC,EAAE;QACT,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,OAAO,CAAC,EAAE,YAAY,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB;IAWF,oDAAoD;IAC9C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA2D3B,wCAAwC;IAClC,MAAM,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAyB1C,kCAAkC;IAC5B,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAmElC,6CAA6C;IACvC,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAuFnC;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAMlE;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAIhE;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAYhC;;;;OAIG;IACG,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CA2G/D"}
1
+ {"version":3,"file":"MigrationRunner.d.ts","sourceRoot":"","sources":["../../src/schema/MigrationRunner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,KAAK,YAAY,EAA0B,MAAM,oBAAoB,CAAC;AA2C/E,MAAM,WAAW,SAAS;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC/B,kEAAkE;IAClE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,qDAAqD;IACrD,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACxD;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChE,4BAA4B;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,eAAe;;IAM3B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;gBAEF,EAAE,EAAE,eAAe,EACnB,OAAO,CAAC,EAAE;QACT,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,OAAO,CAAC,EAAE,YAAY,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB;IAWF,wDAAwD;IAClD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA+D3B,wCAAwC;IAClC,MAAM,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAyB1C,kCAAkC;IAC5B,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAmElC,6CAA6C;IACvC,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAuFnC;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAMlE;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAIhE;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAYhC;;;;OAIG;IACG,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CA2G/D"}
@@ -9,7 +9,7 @@ import { pathToFileURL } from "node:url";
9
9
  import { AtlasError } from "../errors.js";
10
10
  import { compileStatementNative } from "../query/native.js";
11
11
  import { assertPathInsideBase, assertSafeName, pathExists, } from "../utils/safePath.js";
12
- const DEFAULT_TABLE = "_migrations";
12
+ const DEFAULT_TABLE = "ream_migrations";
13
13
  const TABLE_NAME_PATTERN = /^[A-Za-z_][A-Za-z0-9_]*$/;
14
14
  function validateTrackingTableName(name) {
15
15
  if (!TABLE_NAME_PATTERN.test(name)) {
@@ -42,26 +42,26 @@ export class MigrationRunner {
42
42
  * @param options.migrationsDir Directory containing migration files. Defaults to `database/migrations`.
43
43
  * @param options.dialect SQL dialect of the adapter. Defaults to `sqlite`.
44
44
  * @param options.tableName Custom name for the migrations tracking table.
45
- * Defaults to `"_migrations"`. Must match `/^[A-Za-z_][A-Za-z0-9_]*$/` —
45
+ * Defaults to `"ream_migrations"`. Must match `/^[A-Za-z_][A-Za-z0-9_]*$/` —
46
46
  * throws `AtlasError("MIGRATION_INVALID_TABLE_NAME")` synchronously otherwise.
47
47
  *
48
48
  * Cleanup coupling: `DatabaseCleanup.truncateAll` (`src/testing/DatabaseCleanup.ts`)
49
- * skips tables whose name starts with a literal `_` (via `LIKE '\_%' ESCAPE '\'`).
50
- * The default `"_migrations"` is therefore auto-protected. Choosing a non-`_`
51
- * prefix (e.g. `"schema_versions"`) opts the tracking table out of that
52
- * protection — `truncateAll` will wipe it alongside user tables, forcing a
53
- * re-`init()` and replay of every migration on next test run.
49
+ * skips tables whose name starts with `ream_` (via `LIKE 'ream\_%' ESCAPE '\'`).
50
+ * The default `"ream_migrations"` is therefore auto-protected. Choosing a name
51
+ * without the `ream_` prefix (e.g. `"schema_versions"`) opts the tracking table
52
+ * out of that protection — `truncateAll` will wipe it alongside user tables,
53
+ * forcing a re-`init()` and replay of every migration on next test run.
54
54
  *
55
55
  * Rename caveat: `init()` emits `CREATE TABLE IF NOT EXISTS <tableName>` —
56
56
  * it does NOT auto-migrate from a previous tracking table. A project that
57
- * has been running with `_migrations` and then changes `tableName` to
57
+ * has been running with `ream_migrations` and then changes `tableName` to
58
58
  * `schema_versions` will get a fresh empty `schema_versions` on next boot,
59
59
  * read zero applied migrations, and re-run every past migration (likely
60
60
  * crashing on `CREATE TABLE <user-table>` already-exists). To rename
61
61
  * safely, copy the history manually before switching:
62
62
  *
63
- * INSERT INTO schema_versions SELECT * FROM _migrations;
64
- * -- (then DROP TABLE _migrations once verified)
63
+ * INSERT INTO schema_versions SELECT * FROM ream_migrations;
64
+ * -- (then DROP TABLE ream_migrations once verified)
65
65
  */
66
66
  constructor(db, options) {
67
67
  this.#db = db;
@@ -72,16 +72,20 @@ export class MigrationRunner {
72
72
  ? DEFAULT_TABLE
73
73
  : validateTrackingTableName(options.tableName);
74
74
  }
75
- /** Ensure the _migrations tracking table exists. */
75
+ /** Ensure the ream_migrations tracking table exists. */
76
76
  async init() {
77
77
  await runStmt(this.#db, this.#dialect, {
78
78
  kind: "createTable",
79
79
  table: this.#tableName,
80
80
  ifNotExists: true,
81
81
  columns: [
82
+ // Auto-increment PK (Lucid's adonis_schema uses `increments`). The
83
+ // Rust compiler emits the dialect-appropriate identity clause, so
84
+ // the INSERT below omits `id` on every dialect.
82
85
  {
83
86
  name: "id",
84
87
  kind: "integer",
88
+ autoIncrement: true,
85
89
  nullable: false,
86
90
  primary: true,
87
91
  unique: false,
@@ -184,7 +188,7 @@ export class MigrationRunner {
184
188
  this.#assertSafeName(name);
185
189
  const migration = await this.#loadMigration(name);
186
190
  const statements = await migration.getUpSQL();
187
- // Compile the _migrations INSERT so we can include it in the same
191
+ // Compile the ream_migrations INSERT so we can include it in the same
188
192
  // transaction as the migration's own DDL/DML — either everything
189
193
  // commits or nothing does.
190
194
  const insertCompiled = compileStatementNative({