@spinajs/orm 1.2.211 → 2.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/builders.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  import { Container, Constructor, IContainer } from '@spinajs/di';
2
- import { ColumnType, QueryMethod, SORT_ORDER, WhereBoolean, SqlOperator } from './enums';
2
+ import { ColumnType, QueryMethod, SordOrder, WhereBoolean, SqlOperator } from './enums';
3
3
  import { IColumnsBuilder, ICompilerOutput, ILimitBuilder, IOrderByBuilder, IQueryBuilder, IQueryLimit, ISort, IWhereBuilder, QueryContext, IJoinBuilder, IBuilderMiddleware, IWithRecursiveBuilder, ReferentialAction, IGroupByBuilder } from './interfaces';
4
4
  import { ColumnStatement, IQueryStatement, Wrap } from './statements';
5
5
  import { WhereFunction } from './types';
6
6
  import { OrmDriver } from './driver';
7
7
  import { ModelBase } from './model';
8
8
  import { OrmRelation, IOrmRelation } from './relations';
9
- import { ColumnAlterationType, IUpdateResult, ISelectBuilderExtensions, QueryMiddleware } from '.';
9
+ import { ColumnAlterationType, IUpdateResult, ISelectBuilderExtensions, QueryMiddleware, DefaultValueBuilder } from '.';
10
10
  /**
11
11
  * Trick typescript by using the inbuilt interface inheritance and declaration merging
12
12
  * for builder classes.
@@ -111,7 +111,7 @@ export declare class LimitBuilder<T> implements ILimitBuilder<T> {
111
111
  export declare class OrderByBuilder implements IOrderByBuilder {
112
112
  protected _sort: ISort;
113
113
  constructor();
114
- order(column: string, direction: SORT_ORDER): this;
114
+ order(column: string, direction: SordOrder): this;
115
115
  orderBy(column: string): this;
116
116
  orderByDescending(column: string): this;
117
117
  getSort(): ISort;
@@ -366,11 +366,12 @@ export declare class ForeignKeyBuilder {
366
366
  cascade(): this;
367
367
  }
368
368
  export declare class ColumnQueryBuilder {
369
+ protected container: IContainer;
369
370
  Name: string;
370
371
  Unique: boolean;
371
372
  Unsigned: boolean;
372
373
  AutoIncrement: boolean;
373
- Default: string | RawQuery | number;
374
+ Default: DefaultValueBuilder<ColumnQueryBuilder>;
374
375
  PrimaryKey: boolean;
375
376
  Comment: string;
376
377
  Charset: string;
@@ -378,12 +379,12 @@ export declare class ColumnQueryBuilder {
378
379
  NotNull: boolean;
379
380
  Type: ColumnType;
380
381
  Args: any[];
381
- constructor(name: string, type: ColumnType, ...args: any[]);
382
+ constructor(container: IContainer, name: string, type: ColumnType, ...args: any[]);
382
383
  notNull(): this;
383
384
  unique(): this;
384
385
  unsigned(): this;
385
386
  autoIncrement(): this;
386
- default(val: string | RawQuery | number): this;
387
+ default(): DefaultValueBuilder<ColumnQueryBuilder>;
387
388
  primaryKey(): this;
388
389
  comment(comment: string): this;
389
390
  charset(charset: string): this;
@@ -393,7 +394,7 @@ export declare class AlterColumnQueryBuilder extends ColumnQueryBuilder {
393
394
  AlterType: ColumnAlterationType;
394
395
  AfterColumn: string;
395
396
  OldName: string;
396
- constructor(name: string, type: ColumnType, ...args: any[]);
397
+ constructor(container: IContainer, name: string, type: ColumnType, ...args: any[]);
397
398
  addColumn(): this;
398
399
  modify(): this;
399
400
  rename(newName: string): this;
@@ -403,6 +404,12 @@ export declare class TableExistsQueryBuilder extends QueryBuilder {
403
404
  constructor(container: Container, driver: OrmDriver, name: string);
404
405
  toDB(): ICompilerOutput;
405
406
  }
407
+ export declare class DropTableQueryBuilder extends QueryBuilder {
408
+ Exists: boolean;
409
+ constructor(container: Container, driver: OrmDriver, name: string, database?: string);
410
+ ifExists(): this;
411
+ toDB(): ICompilerOutput;
412
+ }
406
413
  export declare class AlterTableQueryBuilder extends QueryBuilder {
407
414
  protected _columns: ColumnQueryBuilder[];
408
415
  NewTableName: string;
@@ -456,6 +463,10 @@ export declare class TableQueryBuilder extends QueryBuilder {
456
463
  smalltext: (name: string) => ColumnQueryBuilder;
457
464
  longtext: (name: string) => ColumnQueryBuilder;
458
465
  string: (name: string, length?: number) => ColumnQueryBuilder;
466
+ /**
467
+ * Alias for string(name, 36 )
468
+ */
469
+ uuid(name: string): ColumnQueryBuilder;
459
470
  float: (name: string, precision?: number, scale?: number) => ColumnQueryBuilder;
460
471
  double: (name: string, precision?: number, scale?: number) => ColumnQueryBuilder;
461
472
  decimal: (name: string, precision?: number, scale?: number) => ColumnQueryBuilder;
@@ -534,5 +545,6 @@ export declare class SchemaQueryBuilder {
534
545
  createTable(name: string, callback: (table: TableQueryBuilder) => void): TableQueryBuilder;
535
546
  cloneTable(callback: (clone: CloneTableQueryBuilder) => void): CloneTableQueryBuilder;
536
547
  alterTable(name: string, callback: (table: AlterTableQueryBuilder) => void): AlterTableQueryBuilder;
548
+ dropTable(name: string, schema?: string): DropTableQueryBuilder;
537
549
  tableExists(name: string, schema?: string): Promise<boolean>;
538
550
  }
package/lib/builders.js CHANGED
@@ -33,7 +33,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
33
33
  };
34
34
  var RawQuery_1, WhereBuilder_1;
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.SchemaQueryBuilder = exports.CloneTableQueryBuilder = exports.TruncateTableQueryBuilder = exports.TableQueryBuilder = exports.AlterTableQueryBuilder = exports.TableExistsQueryBuilder = exports.AlterColumnQueryBuilder = exports.ColumnQueryBuilder = exports.ForeignKeyBuilder = exports.IndexQueryBuilder = exports.InsertQueryBuilder = exports.UpdateQueryBuilder = exports.OnDuplicateQueryBuilder = exports.DeleteQueryBuilder = exports.SelectQueryBuilder = exports.WhereBuilder = exports.WithRecursiveBuilder = exports.JoinBuilder = exports.GroupByBuilder = exports.RawQuery = exports.ColumnsBuilder = exports.OrderByBuilder = exports.LimitBuilder = exports.QueryBuilder = exports.Builder = void 0;
36
+ exports.SchemaQueryBuilder = exports.CloneTableQueryBuilder = exports.TruncateTableQueryBuilder = exports.TableQueryBuilder = exports.AlterTableQueryBuilder = exports.DropTableQueryBuilder = exports.TableExistsQueryBuilder = exports.AlterColumnQueryBuilder = exports.ColumnQueryBuilder = exports.ForeignKeyBuilder = exports.IndexQueryBuilder = exports.InsertQueryBuilder = exports.UpdateQueryBuilder = exports.OnDuplicateQueryBuilder = exports.DeleteQueryBuilder = exports.SelectQueryBuilder = exports.WhereBuilder = exports.WithRecursiveBuilder = exports.JoinBuilder = exports.GroupByBuilder = exports.RawQuery = exports.ColumnsBuilder = exports.OrderByBuilder = exports.LimitBuilder = exports.QueryBuilder = exports.Builder = void 0;
37
37
  /* eslint-disable prettier/prettier */
38
38
  const luxon_1 = require("luxon");
39
39
  const di_1 = require("@spinajs/di");
@@ -294,7 +294,7 @@ let OrderByBuilder = class OrderByBuilder {
294
294
  constructor() {
295
295
  this._sort = {
296
296
  column: '',
297
- order: enums_1.SORT_ORDER.ASC,
297
+ order: enums_1.SordOrder.ASC,
298
298
  };
299
299
  }
300
300
  order(column, direction) {
@@ -307,14 +307,14 @@ let OrderByBuilder = class OrderByBuilder {
307
307
  orderBy(column) {
308
308
  this._sort = {
309
309
  column,
310
- order: enums_1.SORT_ORDER.ASC,
310
+ order: enums_1.SordOrder.ASC,
311
311
  };
312
312
  return this;
313
313
  }
314
314
  orderByDescending(column) {
315
315
  this._sort = {
316
316
  column,
317
- order: enums_1.SORT_ORDER.DESC,
317
+ order: enums_1.SordOrder.DESC,
318
318
  };
319
319
  return this;
320
320
  }
@@ -667,7 +667,7 @@ class SelectQueryBuilder extends QueryBuilder {
667
667
  this._boolean = enums_1.WhereBoolean.AND;
668
668
  this._sort = {
669
669
  column: '',
670
- order: enums_1.SORT_ORDER.ASC,
670
+ order: enums_1.SordOrder.ASC,
671
671
  };
672
672
  this._first = false;
673
673
  this._limit = {
@@ -957,9 +957,8 @@ class InsertQueryBuilder extends QueryBuilder {
957
957
  onDuplicate(column) {
958
958
  let columnToCheck = column;
959
959
  if (!columnToCheck && this._model) {
960
- columnToCheck = (0, model_1.extractModelDescriptor)(this._model)
961
- .Columns.filter((c) => c.Unique)
962
- .map((c) => c.Name);
960
+ const dsc = (0, model_1.extractModelDescriptor)(this._model);
961
+ columnToCheck = dsc.Columns.filter((c) => c.Unique).map((c) => c.Name);
963
962
  }
964
963
  this._update = true;
965
964
  this.DuplicateQueryBuilder = new OnDuplicateQueryBuilder(this._container, this, columnToCheck);
@@ -1067,14 +1066,14 @@ ForeignKeyBuilder = __decorate([
1067
1066
  ], ForeignKeyBuilder);
1068
1067
  exports.ForeignKeyBuilder = ForeignKeyBuilder;
1069
1068
  let ColumnQueryBuilder = class ColumnQueryBuilder {
1070
- constructor(name, type, ...args) {
1069
+ constructor(container, name, type, ...args) {
1070
+ this.container = container;
1071
1071
  this.Name = name;
1072
1072
  this.Type = type;
1073
1073
  this.Charset = '';
1074
1074
  this.Args = [];
1075
1075
  this.AutoIncrement = false;
1076
1076
  this.NotNull = false;
1077
- this.Default = '';
1078
1077
  this.Collation = '';
1079
1078
  this.Comment = '';
1080
1079
  this.Unique = false;
@@ -1097,9 +1096,9 @@ let ColumnQueryBuilder = class ColumnQueryBuilder {
1097
1096
  this.AutoIncrement = true;
1098
1097
  return this;
1099
1098
  }
1100
- default(val) {
1101
- this.Default = val;
1102
- return this;
1099
+ default() {
1100
+ this.Default = this.container.resolve((_1.DefaultValueBuilder), [this]);
1101
+ return this.Default;
1103
1102
  }
1104
1103
  primaryKey() {
1105
1104
  this.PrimaryKey = true;
@@ -1120,12 +1119,13 @@ let ColumnQueryBuilder = class ColumnQueryBuilder {
1120
1119
  };
1121
1120
  ColumnQueryBuilder = __decorate([
1122
1121
  (0, di_1.NewInstance)(),
1123
- __metadata("design:paramtypes", [String, String, Object])
1122
+ (0, di_1.Inject)(di_1.Container),
1123
+ __metadata("design:paramtypes", [Object, String, String, Object])
1124
1124
  ], ColumnQueryBuilder);
1125
1125
  exports.ColumnQueryBuilder = ColumnQueryBuilder;
1126
- class AlterColumnQueryBuilder extends ColumnQueryBuilder {
1127
- constructor(name, type, ...args) {
1128
- super(name, type, ...args);
1126
+ let AlterColumnQueryBuilder = class AlterColumnQueryBuilder extends ColumnQueryBuilder {
1127
+ constructor(container, name, type, ...args) {
1128
+ super(container, name, type, ...args);
1129
1129
  this.OldName = name;
1130
1130
  // we assume add by default
1131
1131
  this.AlterType = _1.ColumnAlterationType.Add;
@@ -1147,7 +1147,11 @@ class AlterColumnQueryBuilder extends ColumnQueryBuilder {
1147
1147
  this.AfterColumn = columnName;
1148
1148
  return this;
1149
1149
  }
1150
- }
1150
+ };
1151
+ AlterColumnQueryBuilder = __decorate([
1152
+ (0, di_1.Inject)(di_1.Container),
1153
+ __metadata("design:paramtypes", [Object, String, String, Object])
1154
+ ], AlterColumnQueryBuilder);
1151
1155
  exports.AlterColumnQueryBuilder = AlterColumnQueryBuilder;
1152
1156
  class TableExistsQueryBuilder extends QueryBuilder {
1153
1157
  constructor(container, driver, name) {
@@ -1160,6 +1164,25 @@ class TableExistsQueryBuilder extends QueryBuilder {
1160
1164
  }
1161
1165
  }
1162
1166
  exports.TableExistsQueryBuilder = TableExistsQueryBuilder;
1167
+ class DropTableQueryBuilder extends QueryBuilder {
1168
+ constructor(container, driver, name, database) {
1169
+ super(container, driver, null);
1170
+ this.setTable(name);
1171
+ if (database) {
1172
+ this.database(database);
1173
+ }
1174
+ this.Exists = false;
1175
+ this.QueryContext = interfaces_1.QueryContext.Schema;
1176
+ }
1177
+ ifExists() {
1178
+ this.Exists = true;
1179
+ return this;
1180
+ }
1181
+ toDB() {
1182
+ return this._container.resolve(_1.DropTableCompiler, [this]).compile();
1183
+ }
1184
+ }
1185
+ exports.DropTableQueryBuilder = DropTableQueryBuilder;
1163
1186
  class AlterTableQueryBuilder extends QueryBuilder {
1164
1187
  constructor(container, driver, name) {
1165
1188
  super(container, driver, null);
@@ -1198,6 +1221,12 @@ class TableQueryBuilder extends QueryBuilder {
1198
1221
  this.setTable(name);
1199
1222
  this.QueryContext = interfaces_1.QueryContext.Schema;
1200
1223
  }
1224
+ /**
1225
+ * Alias for string(name, 36 )
1226
+ */
1227
+ uuid(name) {
1228
+ return this.string(name, 36);
1229
+ }
1201
1230
  ifExists() {
1202
1231
  this._checkExists = true;
1203
1232
  return this;
@@ -1335,6 +1364,9 @@ let SchemaQueryBuilder = class SchemaQueryBuilder {
1335
1364
  callback.call(this, builder);
1336
1365
  return builder;
1337
1366
  }
1367
+ dropTable(name, schema) {
1368
+ return new DropTableQueryBuilder(this.container, this.driver, name, schema);
1369
+ }
1338
1370
  async tableExists(name, schema) {
1339
1371
  const query = new TableExistsQueryBuilder(this.container, this.driver, name);
1340
1372
  if (schema) {
@@ -1352,14 +1384,14 @@ SchemaQueryBuilder = __decorate([
1352
1384
  exports.SchemaQueryBuilder = SchemaQueryBuilder;
1353
1385
  Object.values(enums_1.ColumnType).forEach((type) => {
1354
1386
  TableQueryBuilder.prototype[type] = function (name, ...args) {
1355
- const _builder = new ColumnQueryBuilder(name, type, ...args);
1387
+ const _builder = new ColumnQueryBuilder(this.Container, name, type, ...args);
1356
1388
  this._columns.push(_builder);
1357
1389
  return _builder;
1358
1390
  };
1359
1391
  });
1360
1392
  Object.values(enums_1.ColumnType).forEach((type) => {
1361
1393
  AlterTableQueryBuilder.prototype[type] = function (name, ...args) {
1362
- const _builder = new AlterColumnQueryBuilder(name, type, ...args);
1394
+ const _builder = new AlterColumnQueryBuilder(this.Container, name, type, ...args);
1363
1395
  this._columns.push(_builder);
1364
1396
  return _builder;
1365
1397
  };
@@ -1 +1 @@
1
- {"version":3,"file":"builders.js","sourceRoot":"","sources":["../src/builders.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,iCAAiC;AACjC,oCAA0F;AAC1F,oDAA8F;AAC9F,6CAA4C;AAC5C,0CAA4B;AAC5B,mDAAqC;AACrC,mCAAoH;AACpH,6CAAod;AACpd,6CAAuS;AAEvS,qCAAqC;AACrC,mCAA4D;AAC5D,2CAA8I;AAC9I,+BAA4B;AAC5B,wBAAiJ;AAcjJ,SAAS,eAAe,CAAC,GAAQ;IAC/B,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,mBAAW,CAAC,CAAC,QAAQ,CAAE,GAAW,CAAC,WAAW,EAAE,CAAC,CAAC;AAC5F,CAAC;AAID,IAAa,OAAO,GAApB,MAAa,OAAO;IAyBlB,YAAY,SAAqB,EAAE,MAAiB,EAAE,KAA8B;QAnB1E,iBAAY,GAA4B,EAAE,CAAC;QAC3C,sBAAiB,GAAsB,EAAE,CAAC;QAmBlD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,iBAAiB,GAAG,OAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAe,CAAC,CAAC,CAAC;IACrE,CAAC;IApBD,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAYD,IAAI,CAAiC,WAA4D,EAAE,UAA8D;QAC/J,MAAM,OAAO,GAAG,CAAC,QAAyB,EAAE,EAAE;YAC5C,OAAO,IAAI,CAAC,OAAO;iBAChB,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;iBAClE,IAAI,CAAC,CAAC,MAAS,EAAE,EAAE;gBAClB,IAAI;oBACF,IAAI,IAAI,CAAC,MAAM,EAAE;wBACf,WAAW,CAAC,MAAM,CAAC,CAAC;wBACpB,OAAO;qBACR;oBAED,IAAI,iBAAiB,GAAG,MAAM,CAAC;oBAE/B,wCAAwC;oBACxC,IAAI,iBAAiB,EAAE;wBACrB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;4BAC9B,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;wBACpE,CAAC,CAAC,CAAC;qBACJ;oBAED,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;wBACnC,6BAA6B;wBAC7B,MAAM,MAAM,GAAI,iBAAsC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;4BAC/D,IAAI,KAAK,GAAG,IAAI,CAAC;4BACjB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE;gCACpD,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gCACpC,IAAI,KAAK,KAAK,IAAI,EAAE;oCAClB,MAAM;iCACP;6BACF;4BAED,IAAI,KAAK,KAAK,IAAI,EAAE;gCAClB,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gCAC1B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;6BAClB;4BAED,OAAO,KAAK,CAAC;wBACf,CAAC,CAAC,CAAC;wBAEH,MAAM,uBAAuB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;4BACzE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBACvD,CAAC,EAAE,EAAkC,CAAC,CAAC;wBAEvC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;4BAChC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gCAC7C,WAAW,CAAC,MAAsB,CAAC,CAAC;4BACtC,CAAC,EAAE,UAAU,CAAC,CAAC;yBAChB;6BAAM;4BACL,WAAW,CAAC,MAAsB,CAAC,CAAC;yBACrC;qBACF;yBAAM;wBACL,WAAW,CAAC,iBAAiB,CAAC,CAAC;qBAChC;iBACF;gBAAC,OAAO,GAAG,EAAE;oBACZ,UAAU,CAAC,GAAG,CAAC,CAAC;iBACjB;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,UAAU,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC,CAAiB,CAAC;QACvB,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE7B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC3B,0BAA0B;YAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAQ,CAAC;SAC5D;aAAM;YACL,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC1B;IACH,CAAC;IAEM,UAAU,CAAC,UAAiC;QACjD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACI,IAAI;QACT,MAAM,IAAI,iCAAoB,EAAE,CAAC;IACnC,CAAC;CACF,CAAA;AAtHY,OAAO;IAFnB,IAAA,gBAAW,GAAE;IACb,IAAA,WAAM,EAAC,cAAS,CAAC;6CA0B2B,kBAAS;GAzBzC,OAAO,CAsHnB;AAtHY,0BAAO;AAwHpB;;;GAGG;AAGH,IAAa,YAAY,GAAzB,MAAa,YAAsB,SAAQ,OAAU;IAMnD,YAAY,SAAqB,EAAE,MAAiB,EAAE,KAA8B;QAClF,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IACH,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACI,QAAQ,CAAC,QAAgB;QAC9B,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,4BAAe,CAAC,yCAAyC,CAAC,CAAC;SACtE;QAED,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;OAUG;IACI,QAAQ,CAAC,KAAa,EAAE,KAAc;QAC3C,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE;YACjB,MAAM,IAAI,4BAAe,CAAC,qBAAqB,CAAC,CAAC;SAClD;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAErB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACI,QAAQ,CAAC,KAAa;QAC3B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,IAAI,CAAC,KAAa,EAAE,KAAc;QACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;CACF,CAAA;AAxFY,YAAY;IAFxB,IAAA,gBAAW,GAAE;IACb,IAAA,WAAM,EAAC,cAAS,CAAC;6CAO2B,kBAAS;GANzC,YAAY,CAwFxB;AAxFY,oCAAY;AA2FzB,IAAa,YAAY,GAAzB,MAAa,YAAY;IAIvB;QACE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG;YACZ,KAAK,EAAE,CAAC,CAAC;YACT,MAAM,EAAE,CAAC,CAAC;SACX,CAAC;IACJ,CAAC;IAEM,IAAI,CAAC,KAAa;QACvB,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,MAAM,IAAI,4BAAe,CAAC,sCAAsC,CAAC,CAAC;SACnE;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,IAAI,CAAC,KAAa;QACvB,IAAI,KAAK,GAAG,CAAC,EAAE;YACb,MAAM,IAAI,4BAAe,CAAC,sCAAsC,CAAC,CAAC;SACnE;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;QAEtB,OAAO,CAAC,MAAM,IAAI,CAAQ,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,WAAW;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,yBAAY,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1D,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,KAAY;QAC/B,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAQ,CAAC;QACnC,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;YAC1E,MAAM,KAAK,CAAC;SACb;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,KAAY;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,MAAM,KAAK,CAAC;SACb;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF,CAAA;AA9DY,YAAY;IADxB,IAAA,gBAAW,GAAE;;GACD,YAAY,CA8DxB;AA9DY,oCAAY;AAiEzB,IAAa,cAAc,GAA3B,MAAa,cAAc;IAGzB;QACE,IAAI,CAAC,KAAK,GAAG;YACX,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,kBAAU,CAAC,GAAG;SACtB,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,MAAc,EAAE,SAAqB;QAChD,IAAI,CAAC,KAAK,GAAG;YACX,MAAM;YACN,KAAK,EAAE,SAAS;SACjB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,OAAO,CAAC,MAAc;QAC3B,IAAI,CAAC,KAAK,GAAG;YACX,MAAM;YACN,KAAK,EAAE,kBAAU,CAAC,GAAG;SACtB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,iBAAiB,CAAC,MAAc;QACrC,IAAI,CAAC,KAAK,GAAG;YACX,MAAM;YACN,KAAK,EAAE,kBAAU,CAAC,IAAI;SACvB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;CACF,CAAA;AArCY,cAAc;IAD1B,IAAA,gBAAW,GAAE;;GACD,cAAc,CAqC1B;AArCY,wCAAc;AAwC3B,IAAa,cAAc,GAA3B,MAAa,cAAc;IAMzB;QACE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;OAOG;IACI,YAAY;QACjB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QAEnB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,OAAO,CAAC,KAAe;QAC5B,MAAM,UAAU,GAAG,IAAA,8BAAsB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEvD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAkB,4BAAe,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/I,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,MAA+C,EAAE,KAAc;QAC3E,MAAM,UAAU,GAAG,IAAA,8BAAsB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEvD,IAAI,MAAM,YAAY,GAAG,EAAE;YACzB,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAkB,4BAAe,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACzK,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,MAAM,YAAY,QAAQ,EAAE;YAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAqB,+BAAkB,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SACvH;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAkB,4BAAe,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACtK;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF,CAAA;AAvDY,cAAc;IAD1B,IAAA,gBAAW,GAAE;;GACD,cAAc,CAuD1B;AAvDY,wCAAc;AA0D3B,IAAa,QAAQ,gBAArB,MAAa,QAAQ;IAenB,YAAY,KAAa,EAAE,QAAgB;QAHnC,WAAM,GAAG,EAAE,CAAC;QACZ,cAAS,GAAU,EAAE,CAAC;QAG5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAjBD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,KAAa,EAAE,QAAgB;QAClD,OAAO,IAAI,UAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;CAQF,CAAA;AAnBY,QAAQ;IADpB,IAAA,gBAAW,GAAE;;GACD,QAAQ,CAmBpB;AAnBY,4BAAQ;AAqBrB,MAAa,cAAc;IAA3B;QAEY,qBAAgB,GAAsB,EAAE,CAAC;IAgBrD,CAAC;IAdC,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAEM,YAAY;QACjB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,OAAO,CAAC,UAA6B;QAC1C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAmB,6BAAgB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAEtG,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAlBD,wCAkBC;AAED,MAAa,WAAW;IAStB,YAAY,SAAoB;QAJtB,oBAAe,GAAsB,EAAE,CAAC;QAKhD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;IAC5B,CAAC;IAXD,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAWM,UAAU;QACf,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAE1B,OAAO,IAAI,CAAC;IACd,CAAC;IAIM,SAAS,CAAC,MAAyB,EAAE,kBAA2B,EAAE,UAAmB,EAAE,WAAoB;QAChH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAU,CAAC,KAAK,EAAE,GAAG,SAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAIM,QAAQ,CAAC,MAAyB,EAAE,kBAA2B,EAAE,UAAmB,EAAE,WAAoB;QAC/G,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAU,CAAC,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IAIM,aAAa,CAAC,MAAyB,EAAE,kBAA2B,EAAE,UAAmB,EAAE,WAAoB;QACpH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAU,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IAIM,SAAS,CAAC,MAAyB,EAAE,kBAA2B,EAAE,UAAmB,EAAE,WAAoB;QAChH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAU,CAAC,KAAK,EAAE,GAAG,SAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAIM,cAAc,CAAC,MAAyB,EAAE,kBAA2B,EAAE,UAAmB,EAAE,WAAoB;QACrH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAU,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IAIM,aAAa,CAAC,MAAyB,EAAE,kBAA2B,EAAE,UAAmB,EAAE,WAAoB;QACpH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAU,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IAIM,SAAS,CAAC,MAAyB,EAAE,kBAA2B,EAAE,UAAmB,EAAE,WAAoB;QAChH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAU,CAAC,KAAK,EAAE,GAAG,SAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,gBAAgB,CAAC,MAAkB,EAAE,KAAwB,EAAE,iBAA0B,EAAE,SAAkB,EAAE,UAAmB;QACxI,IAAI,IAAI,GAAkB,IAAI,CAAC;QAE/B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAgB,0BAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;SACrI;aAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YACjC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAgB,0BAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;SAC3I;aAAM;YACL,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAgB,0BAAa,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;SAC/E;QAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF;AAlFD,kCAkFC;AAGD,IAAa,oBAAoB,GAAjC,MAAa,oBAAoB;IAK/B,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEM,aAAa,CAAC,SAAiB,EAAE,MAAc;QACpD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAyB,mCAAsB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/H,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAbY,oBAAoB;IADhC,IAAA,gBAAW,GAAE;GACD,oBAAoB,CAahC;AAbY,oDAAoB;AAgBjC,IAAa,YAAY,oBAAzB,MAAa,YAAY;IAgBvB,YAAY,SAAoB,EAAE,UAAmB;QAf3C,gBAAW,GAAsB,EAAE,CAAC;QAEpC,aAAQ,GAAiB,oBAAY,CAAC,GAAG,CAAC;QAclD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,oBAAY,CAAC,GAAG,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAbD,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IASM,KAAK,CAAC,MAA0E,EAAE,QAA4B,EAAE,KAAW;QAChI,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,sCAAsC;QACtC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SAC/D;QAED,IAAI,MAAM,YAAY,QAAQ,EAAE;YAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAoB,8BAAiB,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACvI,OAAO,IAAI,CAAC;SACb;QAED,wBAAwB;QACxB,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YACxB,MAAM,OAAO,GAAG,IAAI,cAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACpE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAErB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAsB,gCAAmB,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACrH,OAAO,IAAI,CAAC;SACb;QAED,2CAA2C;QAC3C,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,YAAY,iBAAI,CAAC,EAAE;YACnD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACjC;QAED,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;YAChC,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;SACnD;QAED,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAE3D;;;WAGG;QACH,SAAS,aAAa,CAAC,CAAM,EAAE,CAAM;YACnC,IAAI,IAAI,GAAG,CAAC,CAAC;YAEb,IAAI,IAAI,KAAK,SAAS,EAAE;gBACtB,MAAM,IAAI,4BAAe,CAAC,2BAA2B,CAAC,CAAC;aACxD;YAED,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,iBAAI,CAAC,EAAE;gBAC1C,MAAM,IAAI,4BAAe,CAAC,0CAA0C,CAAC,CAAC;aACvE;YAED,IAAI,IAAI,KAAK,IAAI,EAAE;gBACjB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAC1B;YAED,IAAI,IAAI,YAAY,gBAAQ,IAAI,IAAI,YAAY,IAAI,EAAE;gBACpD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,mCAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnE;YAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAiB,2BAAc,EAAE,CAAC,CAAC,EAAE,mBAAW,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAE7I,OAAO,IAAI,CAAC;QACd,CAAC;QAED;;;WAGG;QACH,SAAS,eAAe,CAAC,CAAM,EAAE,CAAM,EAAE,CAAM;YAC7C,IAAI,IAAI,GAAG,CAAC,CAAC;YAEb,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;gBACvB,MAAM,IAAI,4BAAe,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;aACvD;YAED,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,iBAAI,CAAC,EAAE;gBAC1C,MAAM,IAAI,4BAAe,CAAC,0CAA0C,CAAC,CAAC;aACvE;YAED,IAAI,IAAI,KAAK,IAAI,EAAE;gBACjB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAC1B;YAED,IAAI,IAAI,KAAK,IAAI,EAAE;gBACjB,OAAO,CAAC,KAAK,mBAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAC9E;YAED,IAAI,IAAI,YAAY,gBAAQ,IAAI,IAAI,YAAY,IAAI,EAAE;gBACpD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,mCAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnE;YAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAiB,2BAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAEhI,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEM,OAAO,CAAC,MAAgD,EAAE,GAAG,KAAY;QAC9E,IAAI,CAAC,QAAQ,GAAG,oBAAY,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAEM,QAAQ,CAAC,MAAgD,EAAE,GAAG,KAAY;QAC/E,IAAI,CAAC,QAAQ,GAAG,oBAAY,CAAC,GAAG,CAAC;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAEM,WAAW,CAAC,GAAQ;QACzB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,mBAAW,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SAC9C;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,YAAY,CAAC,MAAc;QAChC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAiB,2BAAc,EAAE,CAAC,MAAM,EAAE,mBAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAEvI,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,SAAS,CAAC,MAAc;QAC7B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAiB,2BAAc,EAAE,CAAC,MAAM,EAAE,mBAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACnI,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,QAAQ,CAAC,MAAc,EAAE,GAAQ;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,mBAAW,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,CAAC;IAEM,OAAO,CAAC,MAAc,EAAE,GAAU;QACvC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAc,wBAAW,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACjI,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,UAAU,CAAC,MAAc,EAAE,GAAU;QAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAc,wBAAW,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAChI,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,UAAU,CAAC,KAAyB;QACzC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAuB,iCAAoB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3G,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,cAAc,CAAC,KAAyB;QAC7C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAuB,iCAAoB,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1G,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,YAAY,CAAC,MAAc,EAAE,GAAU;QAC5C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAmB,6BAAgB,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC3I,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,eAAe,CAAC,MAAc,EAAE,GAAU;QAC/C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAmB,6BAAgB,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC1I,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,UAAU,CAAC,MAAc,EAAE,GAAU;QAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAiB,2BAAc,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACvI,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,aAAa,CAAC,MAAc,EAAE,GAAU;QAC7C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAiB,2BAAc,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACtI,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,UAAU;QACf,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAES,SAAS,CAAC,GAAwB;QAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,mCAAsB,CAAC,CAAC;QAEnE,MAAM,MAAM,GAAG,CAAC,CAAU,EAAE,EAAE;YAC5B,IAAI,CAAC,YAAY,gBAAQ,IAAI,CAAC,YAAY,IAAI,EAAE;gBAC9C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC3B;YAED,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QAEF,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACtB,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SACxB;aAAM;YACL,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;SACpB;IACH,CAAC;CACF,CAAA;AApNY,YAAY;IADxB,IAAA,gBAAW,GAAE;qCAiBW,cAAS;GAhBrB,YAAY,CAoNxB;AApNY,oCAAY;AAqNzB,MAAa,kBAA4B,SAAQ,YAAe;IAmD9D,YAAY,SAAqB,EAAE,MAAiB,EAAE,KAAwB,EAAE,KAAoB;QAClG,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QA/CxB,aAAQ,GAAsB,EAAE,CAAC;QAc3C;;WAEG;QACO,gBAAW,GAAsB,EAAE,CAAC;QAIpC,oBAAe,GAAsB,EAAE,CAAC;QAExC,qBAAgB,GAAsB,EAAE,CAAC;QAIzC,eAAU,GAAmB,EAAE,CAAC;QAsBxC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,mBAAW,CAAC,MAAM,CAAC;QAElC,IAAI,CAAC,QAAQ,GAAG,oBAAY,CAAC,GAAG,CAAC;QAEjC,IAAI,CAAC,KAAK,GAAG;YACX,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,kBAAU,CAAC,GAAG;SACtB,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG;YACZ,KAAK,EAAE,CAAC,CAAC;YACT,MAAM,EAAE,CAAC,CAAC;SACX,CAAC;QAEF,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,yBAAY,CAAC,MAAM,CAAC;QAExC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;IAvCD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAKD,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IA4BM,KAAK,CAAC,KAAK;QAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,OAAO,CAAC,MAAM,IAAI,CAAQ,CAAC;IAC7B,CAAC;IAEM,QAAQ,CAAC,KAAa;QAC3B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC;QAExD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK;QACV,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEnG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,MAAM,qBAAQ,IAAI,CAAC,MAAM,CAAE,CAAC;QACpC,OAAO,CAAC,KAAK,qBAAQ,IAAI,CAAC,KAAK,CAAE,CAAC;QAClC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAEvC,OAAO,OAAc,CAAC;IACxB,CAAC;IAEM,QAAQ,CAAW,QAAgB,EAAE,QAAuE;;QACjH,8DAA8D;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACnE,IAAI,SAAS,EAAE;YACb,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACnC,OAAO;SACR;QAED,IAAI,WAAW,GAAgB,IAAI,CAAC;QACpC,MAAM,UAAU,GAAG,IAAA,8BAAsB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEvD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACvC,MAAM,IAAI,4BAAe,CAAC,YAAY,QAAQ,wBAAwB,MAAA,IAAI,CAAC,MAAM,0CAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;SACxG;QAED,MAAM,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,cAAc,CAAC,IAAI,KAAK,yBAAY,CAAC,GAAG,IAAI,cAAc,CAAC,SAAS,EAAE;YACxE,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAA6B,sCAA0B,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAG,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;SAC9J;aAAM;YACL,IAAI,cAAc,CAAC,SAAS,EAAE;gBAC5B,MAAM,IAAI,6BAAgB,CAAC,qEAAqE,CAAC,CAAC;aACnG;YAED,QAAQ,cAAc,CAAC,IAAI,EAAE;gBAC3B,KAAK,yBAAY,CAAC,GAAG;oBACnB,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAoB,6BAAiB,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAG,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC3I,MAAM;gBACR,KAAK,yBAAY,CAAC,IAAI;oBACpB,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAoB,6BAAiB,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAG,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC3I,MAAM;gBACR,KAAK,yBAAY,CAAC,UAAU;oBAC1B,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAqB,8BAAkB,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAG,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;oBACtI,MAAM;aACT;SACF;QAED,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9B,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC;QAE5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAElC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,eAAe,CAAC,OAA2B;QAChD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC5E,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACrE,CAAC;IAEM,GAAG,CAAC,MAAc,EAAE,EAAW;QACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAwB,kCAAqB,EAAE,CAAC,MAAM,EAAE,qBAAa,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC7I,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,MAAc,EAAE,EAAW;QACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAwB,kCAAqB,EAAE,CAAC,MAAM,EAAE,qBAAa,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC7I,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,MAAc,EAAE,EAAW;QACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAwB,kCAAqB,EAAE,CAAC,MAAM,EAAE,qBAAa,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC/I,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,MAAc,EAAE,EAAW;QACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAwB,kCAAqB,EAAE,CAAC,MAAM,EAAE,qBAAa,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC7I,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,MAAc,EAAE,EAAW;QACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAwB,kCAAqB,EAAE,CAAC,MAAM,EAAE,qBAAa,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC7I,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,QAAQ;QACb,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAqB,CAAC,UAAU,EAAE;YAClF,MAAM,IAAI,6BAAgB,CAAC,yCAAyC,CAAC,CAAC;SACvE;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,IAAI;QACT,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAsB,gCAAmB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3F,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAEM,IAAI,CAAiC,WAA4D,EAAE,UAA8D;QACtK,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,MAAS,EAAE,EAAE;YAC9B,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBACzB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;wBACvB,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;qBAC/C;yBAAM;wBACL,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC;qBAC/B;iBACF;qBAAM;oBACL,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;iBAC5B;aACF;iBAAM;gBACL,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;aAC5B;QACH,CAAC,EAAE,UAAU,CAAC,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,OAAO,CAAC,MAAM,IAAI,CAAQ,CAAC;IAC7B,CAAC;CACF;AAnLC;IADC,IAAA,oBAAG,EAAC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,oBAAoB,EAAE,cAAc,CAAC;;gDACxG;AAzCb,gDA4NC;AAED,MAAa,kBAAsB,SAAQ,YAA2B;IAapE,YAAY,SAAoB,EAAE,MAAiB,EAAE,KAAuB;QAC1E,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAEhC,IAAI,CAAC,OAAO,GAAG,mBAAW,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,oBAAY,CAAC,GAAG,CAAC;QAEjC,IAAI,CAAC,MAAM,GAAG;YACZ,KAAK,EAAE,CAAC,CAAC;YACT,MAAM,EAAE,CAAC,CAAC;SACX,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,yBAAY,CAAC,MAAM,CAAC;IAC1C,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAsB,gCAAmB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC7F,CAAC;CACF;AApBC;IAFC,IAAA,oBAAG,EAAC,YAAY,EAAE,YAAY,CAAC;;gDAEb;AAXrB,gDA+BC;AAED,MAAa,uBAAuB;IASlC,YAAY,SAAqB,EAAE,kBAAsC,EAAE,MAA0B;QACnG,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,kBAAkB;QACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,MAAM,CAAC,OAA8B;QAC1C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,IAAI,CAA6B,WAA8D,EAAE,UAA8D;QACpK,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;CACF;AAxCD,0DAwCC;AAED,MAAa,kBAAsB,SAAQ,YAA2B;IAcpE,YAAY,SAAoB,EAAE,MAAiB,EAAE,KAAuB;QAC1E,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,mBAAW,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,oBAAY,CAAC,GAAG,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC,YAAY,GAAG,yBAAY,CAAC,MAAM,CAAC;IAC1C,CAAC;IAdD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAcM,EAAE,CAAC,IAAY;QACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,KAAS;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAsB,gCAAmB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC7F,CAAC;CACF;AAzBoB;IAAlB,IAAA,oBAAG,EAAC,YAAY,CAAC;;gDAAY;AAZhC,gDAqCC;AAED,MAAa,kBAAmB,SAAQ,YAA2B;IA+BjE,YAAY,SAAoB,EAAE,MAAiB,EAAE,KAAuB;QAC1E,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAEhC,IAAI,CAAC,OAAO,GAAG,mBAAW,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAElB,IAAI,CAAC,YAAY,GAAG,yBAAY,CAAC,MAAM,CAAC;IAC1C,CAAC;IAxBD,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAYD;;OAEG;IACI,QAAQ;QACb,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,SAAS;QACd,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,IAAoB;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;YAEjE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;gBACtB,QAAQ,CAAC,CAAC,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC,CAAC;SAChB;QAED,SAAS,QAAQ,CAAC,CAAM;YACtB,MAAM,OAAO,GAAU,EAAE,CAAC;YAE1B,IAAI,CAAC,QAAQ;iBACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,QAAQ,CAAC,CAAC;iBAC9C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACT,OAAO,CAAC,CAAC,MAAM,CAAC;YAClB,CAAC,CAAC;iBACD,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE;gBACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;YAEL,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,IAAI,CAAC,KAAa,EAAE,MAAe;QACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,WAAW,CAAC,MAA0B;QAC3C,IAAI,aAAa,GAAG,MAAM,CAAC;QAC3B,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,EAAE;YACjC,aAAa,GAAG,IAAA,8BAAsB,EAAC,IAAI,CAAC,MAAM,CAAC;iBAChD,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;iBAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACvB;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,qBAAqB,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAsB,gCAAmB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC7F,CAAC;CACF;AAhGsB;IAApB,IAAA,oBAAG,EAAC,cAAc,CAAC;;gDAAY;AAblC,gDA6GC;AAID,IAAa,iBAAiB,GAA9B,MAAa,iBAAkB,SAAQ,OAAO;IAM5C,YAAY,SAAoB,EAAE,MAAiB;QACjD,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAEzB,IAAI,CAAC,YAAY,GAAG,yBAAY,CAAC,MAAM,CAAC;IAC1C,CAAC;IAEM,IAAI,CAAC,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,IAAY;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,OAAO,CAAC,QAAkB;QAC/B,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;QAExB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAqB,+BAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3F,CAAC;CACF,CAAA;AAvCY,iBAAiB;IAF7B,IAAA,gBAAW,GAAE;IACb,IAAA,WAAM,EAAC,cAAS,CAAC;qCAOO,cAAS,EAAU,kBAAS;GANxC,iBAAiB,CAuC7B;AAvCY,8CAAiB;AA0C9B,IAAa,iBAAiB,GAA9B,MAAa,iBAAiB;IAW5B;QACE,IAAI,CAAC,cAAc,GAAG,8BAAiB,CAAC,QAAQ,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,8BAAiB,CAAC,QAAQ,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACI,UAAU,CAAC,MAAc;QAC9B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;QAE9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACI,UAAU,CAAC,KAAa,EAAE,IAAY;QAC3C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,QAAQ,CAAC,MAAyB;QACvC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAE7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,QAAQ,CAAC,MAAyB;QACvC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAE7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACI,OAAO;QACZ,IAAI,CAAC,cAAc,GAAG,8BAAiB,CAAC,OAAO,CAAC;QAChD,IAAI,CAAC,cAAc,GAAG,8BAAiB,CAAC,OAAO,CAAC;QAEhD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AA3EY,iBAAiB;IAD7B,IAAA,gBAAW,GAAE;;GACD,iBAAiB,CA2E7B;AA3EY,8CAAiB;AA8E9B,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAc7B,YAAY,IAAY,EAAE,IAAgB,EAAE,GAAG,IAAW;QACxD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,aAAa;QAClB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,OAAO,CAAC,GAA+B;QAC5C,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QAEnB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,UAAU;QACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,OAAO,CAAC,OAAe;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,OAAO,CAAC,OAAe;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,SAAS,CAAC,SAAiB;QAChC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAlFY,kBAAkB;IAD9B,IAAA,gBAAW,GAAE;;GACD,kBAAkB,CAkF9B;AAlFY,gDAAkB;AAoF/B,MAAa,uBAAwB,SAAQ,kBAAkB;IAK7D,YAAY,IAAY,EAAE,IAAgB,EAAE,GAAG,IAAW;QACxD,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,2BAA2B;QAC3B,IAAI,CAAC,SAAS,GAAG,uBAAoB,CAAC,GAAG,CAAC;IAC5C,CAAC;IAEM,SAAS;QACd,IAAI,CAAC,SAAS,GAAG,uBAAoB,CAAC,GAAG,CAAC;QAE1C,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,SAAS,GAAG,uBAAoB,CAAC,MAAM,CAAC;QAE7C,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,OAAe;QAC3B,IAAI,CAAC,SAAS,GAAG,uBAAoB,CAAC,MAAM,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,UAAkB;QAC7B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAnCD,0DAmCC;AAED,MAAa,uBAAwB,SAAQ,YAAY;IACvD,YAAY,SAAoB,EAAE,MAAiB,EAAE,IAAY;QAC/D,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAE/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEpB,IAAI,CAAC,YAAY,GAAG,yBAAY,CAAC,MAAM,CAAC;IAC1C,CAAC;IACM,IAAI;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAsB,sBAAmB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC7F,CAAC;CACF;AAXD,0DAWC;AAED,MAAa,sBAAuB,SAAQ,YAAY;IAWtD,YAAY,SAAoB,EAAE,MAAiB,EAAE,IAAY;QAC/D,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAE/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEpB,IAAI,CAAC,YAAY,GAAG,yBAAY,CAAC,MAAM,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;IAC3B,CAAC;IAZD,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IA4CD;;;;OAIG;IACI,MAAM,CAAC,YAAoB;QAChC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAEM,UAAU,CAAC,MAAc;QAC9B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAA0B,oCAAuB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACrG,CAAC;CACF;AArED,wDAqEC;AAED,MAAa,iBAAkB,SAAQ,YAAY;IAyEjD,YAAY,SAAoB,EAAE,MAAiB,EAAE,IAAY;QAC/D,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAE/B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAExB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEpB,IAAI,CAAC,YAAY,GAAG,yBAAY,CAAC,MAAM,CAAC;IAC1C,CAAC;IApDM,QAAQ;QACb,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,SAAS;QACd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAID,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAcD,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAgBM,UAAU,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,CAAC;IAC/D,CAAC;IAEM,OAAO,CAAC,OAAe;QAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAEM,OAAO,CAAC,OAAe;QAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAEM,UAAU,CAAC,UAAkB;QAClC,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACxC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhC,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAqB,+BAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3F,CAAC;CACF;AA9GD,8CA8GC;AAID,IAAa,yBAAyB,GAAtC,MAAa,yBAA0B,SAAQ,YAAY;IACzD,YAAsB,SAAoB,EAAY,MAAiB;QACrE,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QADL,cAAS,GAAT,SAAS,CAAW;QAAY,WAAM,GAAN,MAAM,CAAW;IAEvE,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAA6B,uCAA0B,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3G,CAAC;CACF,CAAA;AARY,yBAAyB;IAFrC,IAAA,gBAAW,GAAE;IACb,IAAA,WAAM,EAAC,cAAS,CAAC;qCAEiB,cAAS,EAAoB,kBAAS;GAD5D,yBAAyB,CAQrC;AARY,8DAAyB;AAYtC,IAAa,sBAAsB,GAAnC,MAAa,sBAAuB,SAAQ,YAAY;IAyBtD,YAAsB,SAAoB,EAAY,MAAiB;QACrE,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QADL,cAAS,GAAT,SAAS,CAAW;QAAY,WAAM,GAAN,MAAM,CAAW;QAGrE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAtBD,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAUD;;;;;;OAMG;IACI,YAAY,CAAC,QAAgB,EAAE,QAAgB;QACpD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,QAAgB,EAAE,MAA4C;QACrG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACrE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACtB;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAA0B,0BAAuB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACrG,CAAC;CACF,CAAA;AAvEY,sBAAsB;IAFlC,IAAA,gBAAW,GAAE;IACb,IAAA,WAAM,EAAC,cAAS,CAAC;qCA0BiB,cAAS,EAAoB,kBAAS;GAzB5D,sBAAsB,CAuElC;AAvEY,wDAAsB;AA2EnC,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAC7B,YAAsB,SAAoB,EAAY,MAAiB;QAAjD,cAAS,GAAT,SAAS,CAAW;QAAY,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAEpE,WAAW,CAAC,IAAY,EAAE,QAA4C;QAC3E,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE7B,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,UAAU,CAAC,QAAiD;QACjE,MAAM,OAAO,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxE,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClB,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,UAAU,CAAC,IAAY,EAAE,QAAiD;QAC/E,MAAM,OAAO,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9E,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7B,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,MAAe;QACpD,MAAM,KAAK,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAE7E,IAAI,MAAM,EAAE;YACV,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACxB;QAED,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC;QAC3B,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;IAChD,CAAC;CACF,CAAA;AAhCY,kBAAkB;IAF9B,IAAA,gBAAW,GAAE;IACb,IAAA,WAAM,EAAC,cAAS,CAAC;qCAEiB,cAAS,EAAoB,kBAAS;GAD5D,kBAAkB,CAgC9B;AAhCY,gDAAkB;AAkC/B,MAAM,CAAC,MAAM,CAAC,kBAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;IACxC,iBAAiB,CAAC,SAAiB,CAAC,IAAI,CAAC,GAAG,UAAU,IAAY,EAAE,GAAG,IAAW;QACjF,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,CAAC,kBAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;IACxC,sBAAsB,CAAC,SAAiB,CAAC,IAAI,CAAC,GAAG,UAAU,IAAY,EAAE,GAAG,IAAW;QACtF,MAAM,QAAQ,GAAG,IAAI,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"builders.js","sourceRoot":"","sources":["../src/builders.ts"],"names":[],"mappings":"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"}
@@ -83,7 +83,7 @@ export declare const forwardRef: (fn: () => any) => IForwardReference;
83
83
  * @param foreignKey - foreign key name in db, defaults to lowercase property name with _id suffix eg. owner_id
84
84
  * @param primaryKey - primary key in related model, defaults to primary key taken from db
85
85
  */
86
- export declare function BelongsTo(targetModel: Constructor<ModelBase>, foreignKey?: string, primaryKey?: string): any;
86
+ export declare function BelongsTo(targetModel: Constructor<ModelBase> | string, foreignKey?: string, primaryKey?: string): any;
87
87
  /**
88
88
  * Creates one to one relation with target model.
89
89
  *
@@ -99,7 +99,7 @@ export declare function ForwardBelongsTo(forwardRef: IForwardReference, foreignK
99
99
  * @param primaryKey - primary key in source table defaults to lowercase property name with _id suffix eg. owner_id
100
100
  *
101
101
  */
102
- export declare function HasMany(targetModel: Constructor<ModelBase>, foreignKey?: string, primaryKey?: string): any;
102
+ export declare function HasMany(targetModel: Constructor<ModelBase> | string, foreignKey?: string, primaryKey?: string): any;
103
103
  /**
104
104
  * Creates many to many relation with separate join table
105
105
  *
@@ -110,7 +110,7 @@ export declare function HasMany(targetModel: Constructor<ModelBase>, foreignKey?
110
110
  * @param junctionModelTargetPk - junction table target primary key name ( foreign key for target model )
111
111
  * @param junctionModelSourcePk - junction table source primary key name ( foreign key for source model )
112
112
  */
113
- export declare function HasManyToMany(junctionModel: Constructor<ModelBase>, targetModel: Constructor<ModelBase>, targetModelPKey?: string, sourceModelPKey?: string, junctionModelTargetPk?: string, junctionModelSourcePk?: string): any;
113
+ export declare function HasManyToMany(junctionModel: Constructor<ModelBase>, targetModel: Constructor<ModelBase> | string, targetModelPKey?: string, sourceModelPKey?: string, junctionModelTargetPk?: string, junctionModelSourcePk?: string): any;
114
114
  /**
115
115
  * Mark field as datetime type. It will ensure that conversion to & from DB is valid, eg. sqlite DB
116
116
  * saves datetime as TEXT and ISO8601 strings
package/lib/decorators.js CHANGED
@@ -46,6 +46,7 @@ function extractDecoratorDescriptor(callback, base = false) {
46
46
  Field: '',
47
47
  Models: null,
48
48
  },
49
+ Schema: {},
49
50
  };
50
51
  if (!base) {
51
52
  target.constructor[exports.MODEL_DESCTRIPTION_SYMBOL] = metadata;
@@ -266,7 +267,8 @@ function BelongsTo(targetModel, foreignKey, primaryKey) {
266
267
  Name: propertyKey,
267
268
  Type: interfaces_1.RelationType.One,
268
269
  SourceModel: target.constructor,
269
- TargetModel: targetModel,
270
+ TargetModelType: targetModel,
271
+ TargetModel: null,
270
272
  ForeignKey: foreignKey !== null && foreignKey !== void 0 ? foreignKey : `${propertyKey.toLowerCase()}_id`,
271
273
  PrimaryKey: primaryKey !== null && primaryKey !== void 0 ? primaryKey : model.PrimaryKey,
272
274
  Recursive: false,
@@ -286,7 +288,8 @@ function ForwardBelongsTo(forwardRef, foreignKey, primaryKey) {
286
288
  Name: propertyKey,
287
289
  Type: interfaces_1.RelationType.One,
288
290
  SourceModel: target.constructor,
289
- TargetModel: forwardRef.forwardRef,
291
+ TargetModelType: forwardRef.forwardRef,
292
+ TargetModel: null,
290
293
  ForeignKey: foreignKey !== null && foreignKey !== void 0 ? foreignKey : `${propertyKey.toLowerCase()}_id`,
291
294
  PrimaryKey: primaryKey !== null && primaryKey !== void 0 ? primaryKey : model.PrimaryKey,
292
295
  Recursive: false,
@@ -308,7 +311,8 @@ function HasMany(targetModel, foreignKey, primaryKey) {
308
311
  Name: propertyKey,
309
312
  Type: interfaces_1.RelationType.Many,
310
313
  SourceModel: target.constructor,
311
- TargetModel: targetModel,
314
+ TargetModelType: targetModel,
315
+ TargetModel: null,
312
316
  ForeignKey: foreignKey !== null && foreignKey !== void 0 ? foreignKey : `${model.Name.toLowerCase()}_id`,
313
317
  PrimaryKey: primaryKey !== null && primaryKey !== void 0 ? primaryKey : model.PrimaryKey,
314
318
  Recursive: false,
@@ -334,7 +338,8 @@ function HasManyToMany(junctionModel, targetModel, targetModelPKey, sourceModelP
334
338
  Recursive: false,
335
339
  Type: interfaces_1.RelationType.ManyToMany,
336
340
  SourceModel: target.constructor,
337
- TargetModel: targetModel,
341
+ TargetModelType: targetModel,
342
+ TargetModel: null,
338
343
  ForeignKey: targetModelPKey !== null && targetModelPKey !== void 0 ? targetModelPKey : targetModelDescriptor.PrimaryKey,
339
344
  PrimaryKey: sourceModelPKey !== null && sourceModelPKey !== void 0 ? sourceModelPKey : model.PrimaryKey,
340
345
  JunctionModel: junctionModel,
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { ModelBase } from './model';
2
2
  export declare abstract class ModelDehydrator {
3
- abstract dehydrate(model: ModelBase, includeRelations?: boolean, omit?: string[]): any;
3
+ abstract dehydrate(model: ModelBase, omit?: string[]): any;
4
4
  }
5
5
  export declare class StandardModelDehydrator extends ModelDehydrator {
6
- dehydrate(model: ModelBase, includeRelations?: boolean, omit?: string[]): {};
6
+ dehydrate(model: ModelBase, omit?: string[]): {};
7
7
  }
@@ -7,11 +7,13 @@ class ModelDehydrator {
7
7
  }
8
8
  exports.ModelDehydrator = ModelDehydrator;
9
9
  class StandardModelDehydrator extends ModelDehydrator {
10
- dehydrate(model, includeRelations, omit) {
11
- var _a, _b, _c;
10
+ dehydrate(model, omit) {
11
+ var _a;
12
12
  const obj = {};
13
+ const relArr = [...model.ModelDescriptor.Relations.values()];
13
14
  (_a = model.ModelDescriptor.Columns) === null || _a === void 0 ? void 0 : _a.forEach((c) => {
14
- if (omit && omit.indexOf(c.Name) !== -1) {
15
+ // if in omit list OR it is foreign key for relation - skip
16
+ if ((omit && omit.indexOf(c.Name) !== -1) || relArr.find((r) => r.ForeignKey === c.Name)) {
15
17
  return;
16
18
  }
17
19
  const val = model[c.Name];
@@ -20,12 +22,15 @@ class StandardModelDehydrator extends ModelDehydrator {
20
22
  }
21
23
  obj[c.Name] = c.Converter ? c.Converter.toDB(val) : val;
22
24
  });
23
- if (includeRelations) {
24
- for (const [, val] of model.ModelDescriptor.Relations) {
25
- if (val.Type === interfaces_1.RelationType.One) {
26
- if (model[val.Name]) {
27
- obj[val.ForeignKey] = (_b = obj[val.ForeignKey]) !== null && _b !== void 0 ? _b : (_c = model[val.Name].Value) === null || _c === void 0 ? void 0 : _c.PrimaryKeyValue;
28
- }
25
+ for (const val of relArr) {
26
+ if (val.Type === interfaces_1.RelationType.One) {
27
+ if (model[val.Name].Value) {
28
+ obj[val.Name] = model[val.Name].Value.dehydrate();
29
+ }
30
+ }
31
+ if (val.Type === interfaces_1.RelationType.Many) {
32
+ if (model[val.Name]) {
33
+ obj[val.Name] = [...model[val.Name].map((x) => x.dehydrate())];
29
34
  }
30
35
  }
31
36
  }