@contember/engine-system-api 1.3.3 → 1.3.4

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.
@@ -0,0 +1,4 @@
1
+ import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations';
2
+ import { SystemMigrationArgs } from './types';
3
+ export default function (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>): Promise<void>;
4
+ //# sourceMappingURL=2023-10-19-173000-fix-unique.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2023-10-19-173000-fix-unique.d.ts","sourceRoot":"","sources":["../../../src/migrations/2023-10-19-173000-fix-unique.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAEhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAI7C,yBAA+B,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,CAAC,mBAAmB,CAAC,iBAkCjG"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const database_1 = require("@contember/database");
4
+ const schema_migrations_1 = require("@contember/schema-migrations");
5
+ async function default_1(builder, args) {
6
+ var _a;
7
+ var _b;
8
+ const schema = await args.schemaResolver(args.connection);
9
+ const stages = (await args.connection.query('SELECT schema FROM stage')).rows;
10
+ const metadataByStage = {};
11
+ for (const entity of Object.values(schema.model.entities)) {
12
+ if (entity.view) {
13
+ continue;
14
+ }
15
+ const expectedUnique = [];
16
+ for (const uniq of entity.unique) {
17
+ const columns = (0, schema_migrations_1.getUniqueConstraintColumns)({
18
+ entity,
19
+ fields: uniq.fields,
20
+ model: schema.model,
21
+ });
22
+ expectedUnique.push(columns);
23
+ }
24
+ for (const stage of stages) {
25
+ const databaseMetadata = (_a = metadataByStage[_b = stage.schema]) !== null && _a !== void 0 ? _a : (metadataByStage[_b] = await args.databaseMetadataResolver(args.connection, stage.schema));
26
+ const existingUniqueConstraints = databaseMetadata.getAllUniqueConstraints().filter(it => it.tableName === entity.tableName);
27
+ for (const constraint of existingUniqueConstraints) {
28
+ if (constraint.columnNames.length === 1 || expectedUnique.some(it => stringArrayEquals(it, constraint.columnNames))) {
29
+ continue;
30
+ }
31
+ builder.sql(`ALTER TABLE ${(0, database_1.wrapIdentifier)(stage.schema)}.${(0, database_1.wrapIdentifier)(entity.tableName)} DROP CONSTRAINT ${(0, database_1.wrapIdentifier)(constraint.constraintName)}`);
32
+ }
33
+ }
34
+ }
35
+ }
36
+ exports.default = default_1;
37
+ const stringArrayEquals = (colA, colB) => {
38
+ if (colA.length !== colB.length) {
39
+ return false;
40
+ }
41
+ const a = [...colA].sort();
42
+ const b = [...colB].sort();
43
+ return a.every((it, index) => it === b[index]);
44
+ };
45
+ //# sourceMappingURL=2023-10-19-173000-fix-unique.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2023-10-19-173000-fix-unique.js","sourceRoot":"","sources":["../../../src/migrations/2023-10-19-173000-fix-unique.ts"],"names":[],"mappings":";;AACA,kDAAoD;AAGpD,oEAAyE;AAE1D,KAAK,oBAAW,OAAyB,EAAE,IAAwC;;;IACjG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACzD,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAmB,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAA;IAC/F,MAAM,eAAe,GAA2C,EAAE,CAAA;IAElE,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;QAC1D,IAAI,MAAM,CAAC,IAAI,EAAE;YAChB,SAAQ;SACR;QAED,MAAM,cAAc,GAAe,EAAE,CAAA;QAErC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE;YACjC,MAAM,OAAO,GAAG,IAAA,8CAA0B,EAAC;gBAC1C,MAAM;gBACN,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;aACnB,CAAC,CAAA;YACF,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;SAC5B;QAGD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC3B,MAAM,gBAAgB,SAAG,eAAe,MAAC,KAAK,CAAC,MAAM,qCAA5B,eAAe,OAAmB,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA,CAAA;YAE7H,MAAM,yBAAyB,GAAG,gBAAgB,CAAC,uBAAuB,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,CAAC,CAAA;YAC5H,KAAK,MAAM,UAAU,IAAI,yBAAyB,EAAE;gBACnD,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE;oBACpH,SAAQ;iBACR;gBACD,OAAO,CAAC,GAAG,CAAC,eAAe,IAAA,yBAAc,EAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAA,yBAAc,EAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,IAAA,yBAAc,EAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;aAC3J;SACD;KACD;AACF,CAAC;AAlCD,4BAkCC;AACD,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAE,IAAc,EAAE,EAAE;IAC5D,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;QAChC,OAAO,KAAK,CAAA;KACZ;IACD,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;IAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;IAC1B,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AAC/C,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/migrations/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA0C,MAAM,gCAAgC,CAAA;AAsBvG,OAAO,EAAiD,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACnG,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAG1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,kDAAkD,CAAA;AAyBjG,qBAAa,sBAAsB;IAEjC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,wBAAwB;gBALxB,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,EAAE,aAAa,GAAG;QAAE,EAAE,EAAE,cAAc,CAAA;KAAE,EAC/C,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,oBAAoB,EAC1C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,EACxD,wBAAwB,EAAE,8BAA8B;IAGpE,GAAG,CAAC,MAAM,EAAE,MAAM;CAmCxB"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/migrations/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA0C,MAAM,gCAAgC,CAAA;AAuBvG,OAAO,EAAiD,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACnG,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAG1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,kDAAkD,CAAA;AA0BjG,qBAAa,sBAAsB;IAEjC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,wBAAwB;gBALxB,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,EAAE,aAAa,GAAG;QAAE,EAAE,EAAE,cAAc,CAAA;KAAE,EAC/C,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,oBAAoB,EAC1C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,EACxD,wBAAwB,EAAE,8BAA8B;IAGpE,GAAG,CAAC,MAAM,EAAE,MAAM;CAmCxB"}
@@ -24,6 +24,7 @@ const _2022_02_08_140500_drop_deadcode_1 = __importDefault(require("./2022-02-08
24
24
  const _2022_02_08_144400_dynamic_stage_schema_1 = __importDefault(require("./2022-02-08-144400-dynamic-stage-schema"));
25
25
  const _2022_10_03_110000_table_on_delete_1 = __importDefault(require("./2022-10-03-110000-table-on-delete"));
26
26
  const _2023_09_11_174000_fix_on_delete_1 = __importDefault(require("./2023-09-11-174000-fix-on-delete"));
27
+ const _2023_10_19_173000_fix_unique_1 = __importDefault(require("./2023-10-19-173000-fix-unique"));
27
28
  const snapshot_1 = __importDefault(require("./snapshot"));
28
29
  const database_1 = require("@contember/database");
29
30
  const database_migrations_2 = require("@contember/database-migrations");
@@ -48,6 +49,7 @@ const migrations = {
48
49
  '2022-02-08-144400-dynamic-stage-schema': _2022_02_08_144400_dynamic_stage_schema_1.default,
49
50
  '2022-10-03-110000-table-on-delete': _2022_10_03_110000_table_on_delete_1.default,
50
51
  '2023-09-11-174000-fix-on-delete': _2023_09_11_174000_fix_on_delete_1.default,
52
+ '2023-10-19-173000-fix-unique': _2023_10_19_173000_fix_unique_1.default,
51
53
  };
52
54
  class SystemMigrationsRunner {
53
55
  constructor(databaseContextFactory, project, schema, schemaVersionBuilder, migrationGroups, databaseMetadataResolver) {
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/migrations/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/migrations/runner.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export declare class ResolvedDatabaseMetadata implements SchemaDatabaseMetadata
4
4
  private readonly uniqueConstraints;
5
5
  private readonly indexes;
6
6
  constructor(foreignKeys: ForeignKeyConstraintMetadata[], uniqueConstraints: UniqueConstraintMetadata[], indexes: IndexMetadata[]);
7
+ getAllUniqueConstraints(): UniqueConstraintMetadata[];
7
8
  getUniqueConstraint(tableName: string, constraintName: string): UniqueConstraintMetadata | null;
8
9
  getForeignKeyConstraint(tableName: string, constraintName: string): ForeignKeyConstraintMetadata | null;
9
10
  getForeignKeyConstraintNames({ fromTable, fromColumn, toTable, toColumn }: GetForeignKeyConstraintNameArgs): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"ResolvedDatabaseMetadata.d.ts","sourceRoot":"","sources":["../../../../src/model/metadata/ResolvedDatabaseMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,4BAA4B,EAC5B,+BAA+B,EAC/B,gBAAgB,EAChB,2BAA2B,EAC3B,aAAa,EACb,sBAAsB,EACtB,wBAAwB,EACxB,MAAM,yBAAyB,CAAA;AAOhC,qBAAa,wBAAyB,YAAW,sBAAsB;IAErE,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAFP,WAAW,EAAE,4BAA4B,EAAE,EAC3C,iBAAiB,EAAE,wBAAwB,EAAE,EAC7C,OAAO,EAAE,aAAa,EAAE;IAI1C,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,wBAAwB,GAAG,IAAI;IAI/F,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,4BAA4B,GAAG,IAAI;IAIvG,4BAA4B,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,+BAA+B,GAAG,MAAM,EAAE;IAWrH,wBAAwB,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,2BAA2B,GAAG,MAAM,EAAE;IAM3F,aAAa,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,gBAAgB,GAAG,MAAM,EAAE;CAKrE"}
1
+ {"version":3,"file":"ResolvedDatabaseMetadata.d.ts","sourceRoot":"","sources":["../../../../src/model/metadata/ResolvedDatabaseMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,4BAA4B,EAC5B,+BAA+B,EAC/B,gBAAgB,EAChB,2BAA2B,EAC3B,aAAa,EACb,sBAAsB,EACtB,wBAAwB,EACxB,MAAM,yBAAyB,CAAA;AAWhC,qBAAa,wBAAyB,YAAW,sBAAsB;IAErE,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAFP,WAAW,EAAE,4BAA4B,EAAE,EAC3C,iBAAiB,EAAE,wBAAwB,EAAE,EAC7C,OAAO,EAAE,aAAa,EAAE;IAI1C,uBAAuB,IAAI,wBAAwB,EAAE;IAIrD,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,wBAAwB,GAAG,IAAI;IAI/F,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,4BAA4B,GAAG,IAAI;IAIvG,4BAA4B,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,+BAA+B,GAAG,MAAM,EAAE;IAWrH,wBAAwB,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,2BAA2B,GAAG,MAAM,EAAE;IAM3F,aAAa,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,gBAAgB,GAAG,MAAM,EAAE;CAKrE"}
@@ -2,8 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ResolvedDatabaseMetadata = void 0;
4
4
  const stringArrayEquals = (colA, colB) => {
5
- return colA.length === colB.length
6
- && colA.every((it, index) => it === colB[index]);
5
+ if (colA.length !== colB.length) {
6
+ return false;
7
+ }
8
+ const a = [...colA].sort();
9
+ const b = [...colB].sort();
10
+ return a.every((it, index) => it === b[index]);
7
11
  };
8
12
  class ResolvedDatabaseMetadata {
9
13
  constructor(foreignKeys, uniqueConstraints, indexes) {
@@ -11,6 +15,9 @@ class ResolvedDatabaseMetadata {
11
15
  this.uniqueConstraints = uniqueConstraints;
12
16
  this.indexes = indexes;
13
17
  }
18
+ getAllUniqueConstraints() {
19
+ return this.uniqueConstraints;
20
+ }
14
21
  getUniqueConstraint(tableName, constraintName) {
15
22
  var _a;
16
23
  return (_a = this.uniqueConstraints.find(it => it.tableName === tableName && it.constraintName === constraintName)) !== null && _a !== void 0 ? _a : null;
@@ -1 +1 @@
1
- {"version":3,"file":"ResolvedDatabaseMetadata.js","sourceRoot":"","sources":["../../../../src/model/metadata/ResolvedDatabaseMetadata.ts"],"names":[],"mappings":";;;AAUA,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAE,IAAc,EAAE,EAAE;IAC5D,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;WAC9B,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;AAClD,CAAC,CAAA;AAED,MAAa,wBAAwB;IACpC,YACkB,WAA2C,EAC3C,iBAA6C,EAC7C,OAAwB;QAFxB,gBAAW,GAAX,WAAW,CAAgC;QAC3C,sBAAiB,GAAjB,iBAAiB,CAA4B;QAC7C,YAAO,GAAP,OAAO,CAAiB;IAE1C,CAAC;IAED,mBAAmB,CAAC,SAAiB,EAAE,cAAsB;;QAC5D,OAAO,MAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,CAAC,cAAc,KAAK,cAAc,CAAC,mCAAI,IAAI,CAAA;IACrH,CAAC;IAED,uBAAuB,CAAC,SAAiB,EAAE,cAAsB;;QAChE,OAAO,MAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,CAAC,cAAc,KAAK,cAAc,CAAC,mCAAI,IAAI,CAAA;IAC/G,CAAC;IAED,4BAA4B,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAmC;QACzG,OAAO,IAAI,CAAC,WAAW;aACrB,MAAM,CAAC,EAAE,CAAC,EAAE,CACZ,EAAE,CAAC,SAAS,KAAK,SAAS;eACvB,EAAE,CAAC,OAAO,KAAK,OAAO;eACtB,EAAE,CAAC,UAAU,KAAK,UAAU;eAC5B,EAAE,CAAC,QAAQ,KAAK,QAAQ,CAC3B;aACA,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IAC/B,CAAC;IAED,wBAAwB,CAAC,EAAE,SAAS,EAAE,WAAW,EAA+B;QAC/E,OAAO,IAAI,CAAC,iBAAiB;aAC3B,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,SAAS,IAAI,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;aAC1F,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IAC/B,CAAC;IAED,aAAa,CAAC,EAAE,SAAS,EAAE,WAAW,EAAoB;QACzD,OAAO,IAAI,CAAC,OAAO;aACjB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,SAAS,IAAI,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;aAC1F,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IAC1B,CAAC;CACD;AAtCD,4DAsCC"}
1
+ {"version":3,"file":"ResolvedDatabaseMetadata.js","sourceRoot":"","sources":["../../../../src/model/metadata/ResolvedDatabaseMetadata.ts"],"names":[],"mappings":";;;AAUA,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAE,IAAc,EAAE,EAAE;IAC5D,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;QAChC,OAAO,KAAK,CAAA;KACZ;IACD,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;IAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;IAC1B,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AAC/C,CAAC,CAAA;AAED,MAAa,wBAAwB;IACpC,YACkB,WAA2C,EAC3C,iBAA6C,EAC7C,OAAwB;QAFxB,gBAAW,GAAX,WAAW,CAAgC;QAC3C,sBAAiB,GAAjB,iBAAiB,CAA4B;QAC7C,YAAO,GAAP,OAAO,CAAiB;IAE1C,CAAC;IAED,uBAAuB;QACtB,OAAO,IAAI,CAAC,iBAAiB,CAAA;IAC9B,CAAC;IAED,mBAAmB,CAAC,SAAiB,EAAE,cAAsB;;QAC5D,OAAO,MAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,CAAC,cAAc,KAAK,cAAc,CAAC,mCAAI,IAAI,CAAA;IACrH,CAAC;IAED,uBAAuB,CAAC,SAAiB,EAAE,cAAsB;;QAChE,OAAO,MAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,CAAC,cAAc,KAAK,cAAc,CAAC,mCAAI,IAAI,CAAA;IAC/G,CAAC;IAED,4BAA4B,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAmC;QACzG,OAAO,IAAI,CAAC,WAAW;aACrB,MAAM,CAAC,EAAE,CAAC,EAAE,CACZ,EAAE,CAAC,SAAS,KAAK,SAAS;eACvB,EAAE,CAAC,OAAO,KAAK,OAAO;eACtB,EAAE,CAAC,UAAU,KAAK,UAAU;eAC5B,EAAE,CAAC,QAAQ,KAAK,QAAQ,CAC3B;aACA,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IAC/B,CAAC;IAED,wBAAwB,CAAC,EAAE,SAAS,EAAE,WAAW,EAA+B;QAC/E,OAAO,IAAI,CAAC,iBAAiB;aAC3B,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,SAAS,IAAI,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;aAC1F,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IAC/B,CAAC;IAED,aAAa,CAAC,EAAE,SAAS,EAAE,WAAW,EAAoB;QACzD,OAAO,IAAI,CAAC,OAAO;aACjB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,SAAS,IAAI,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;aAC1F,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IAC1B,CAAC;CACD;AA1CD,4DA0CC"}