bigal 10.1.0 → 10.2.0-beta2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Change Log
2
2
 
3
+ ## 10.2.0 - 2022-04-13
4
+
5
+ - Add `onConflict` options to `create()` to support `ON CONFLICT DO NOTHING` and `ON CONFLICT DO UPDATE`
6
+ - Update npms
7
+
8
+ ## 10.1.1 - 2022-03-22
9
+
10
+ - Update npms
11
+
3
12
  ## 10.1.0 - 2022-03-15
4
13
 
5
14
  - Add ability to override db pool for `count()`
package/IRepository.d.ts CHANGED
@@ -2,42 +2,47 @@ import type { Entity } from './Entity';
2
2
  import type { IReadonlyRepository } from './IReadonlyRepository';
3
3
  import type { CreateUpdateOptions, //
4
4
  DeleteOptions, DestroyResult, DoNotReturnRecords, ReturnSelect, WhereQuery } from './query';
5
+ import type { CreateOptions } from './query/CreateOptions';
6
+ import type { OnConflictOptions } from './query/OnConflictOptions';
5
7
  import type { CreateUpdateParams, QueryResult } from './types';
6
8
  export interface IRepository<T extends Entity> extends IReadonlyRepository<T> {
7
9
  /**
8
- * Creates a objects using the specified values
10
+ * Creates an object using the specified values
9
11
  * @param {object} values - Values to insert as multiple new objects.
10
12
  * @param {object} [options]
11
13
  * @param {string[]} [options.returnSelect] - Array of model property names to return from the query.
14
+ * @param {object} [options.onConflict] - Options to handle conflicts due to a unique constraint or exclusion constraint error during insert
12
15
  * @returns {object}
13
16
  */
14
- create(values: CreateUpdateParams<T>, options?: ReturnSelect<T>): Promise<QueryResult<T>>;
17
+ create(values: CreateUpdateParams<T>, options?: OnConflictOptions<T> | (Partial<OnConflictOptions<T>> & ReturnSelect<T>)): Promise<QueryResult<T>>;
15
18
  /**
16
- * Creates a objects using the specified values
19
+ * Creates an object or objects using the specified values
17
20
  * @param {object|object[]} values - Values to insert as multiple new objects.
18
21
  * @param {object} options
19
22
  * @param {boolean} options.returnRecords - Determines if inserted records should be returned
23
+ * @param {object} [options.onConflict] - Options to handle conflicts due to a unique constraint or exclusion constraint error during insert
20
24
  * @returns {void}
21
25
  */
22
- create(values: CreateUpdateParams<T> | CreateUpdateParams<T>[], options: DoNotReturnRecords): Promise<void>;
26
+ create(values: CreateUpdateParams<T> | CreateUpdateParams<T>[], options: DoNotReturnRecords & Partial<OnConflictOptions<T>>): Promise<void>;
23
27
  /**
24
- * Creates a objects using the specified values
28
+ * Creates objects using the specified values
25
29
  * @param {object[]} values - Values to insert as multiple new objects.
26
30
  * @param {object} [options]
27
- * @param {boolean} [options.returnRecords=true] - Determines if inserted records should be returned
31
+ * @param {object} [options.onConflict] - Options to handle conflicts due to a unique constraint or exclusion constraint error during insert
28
32
  * @param {string[]} [options.returnSelect] - Array of model property names to return from the query.
29
33
  * @returns {object[]}
30
34
  */
31
- create(values: CreateUpdateParams<T>[], options?: ReturnSelect<T>): Promise<QueryResult<T>[]>;
35
+ create(values: CreateUpdateParams<T>[], options?: (OnConflictOptions<T> & Partial<ReturnSelect<T>>) | (Partial<OnConflictOptions<T>> & ReturnSelect<T>)): Promise<QueryResult<T>[]>;
32
36
  /**
33
37
  * Creates an object using the specified values
34
38
  * @param {object|object[]} values - Values to insert as a new object. If an array is specified, multiple rows will be inserted
35
39
  * @param {object} [options]
36
40
  * @param {boolean} [options.returnRecords=true] - Determines if inserted records should be returned
37
41
  * @param {string[]} [options.returnSelect] - Array of model property names to return from the query.
42
+ * @param {object} [options.onConflict] - Options to handle conflicts due to a unique constraint or exclusion constraint error during insert
38
43
  * @returns {object|object[]|void} Return value from the db
39
44
  */
40
- create(values: CreateUpdateParams<T> | CreateUpdateParams<T>[], options?: CreateUpdateOptions<T>): Promise<QueryResult<T> | QueryResult<T>[] | void>;
45
+ create(values: CreateUpdateParams<T> | CreateUpdateParams<T>[], options?: CreateOptions<T>): Promise<QueryResult<T> | QueryResult<T>[] | void>;
41
46
  /**
42
47
  * Updates object(s) matching the where query, with the specified values
43
48
  * @param {object} where - Object representing the where query
package/README.md CHANGED
@@ -403,7 +403,7 @@ const item = await PersonRepository.create(
403
403
 
404
404
  > Note: The primary key will always be included. To only return the primary key value, pass an empty array
405
405
 
406
- #### Insert a multiple object
406
+ #### Insert multiple objects
407
407
 
408
408
  ```ts
409
409
  const items = await PersonRepository.create([
@@ -417,7 +417,7 @@ const items = await PersonRepository.create([
417
417
  // items = [{ id: 24, name: 'LX', createdAt: ... }, { id: 25, name: 'Big Al', createdAt: ... }]
418
418
  ```
419
419
 
420
- #### Insert a multiple object without returning results from the db
420
+ #### Insert multiple objects without returning results from the db
421
421
 
422
422
  ```ts
423
423
  await PersonRepository.create(
@@ -435,7 +435,7 @@ await PersonRepository.create(
435
435
  );
436
436
  ```
437
437
 
438
- #### Insert multiple objects
438
+ #### Insert multiple objects with limited return properties
439
439
 
440
440
  ```ts
441
441
  const items = await PersonRepository.create(
@@ -458,6 +458,58 @@ const items = await PersonRepository.create(
458
458
 
459
459
  ---
460
460
 
461
+ #### Insert a single object with onConflict ignore (ON CONFLICT DO NOTHING)
462
+
463
+ ```ts
464
+ const item = await PersonRepository.create(
465
+ {
466
+ name: 'Karl',
467
+ },
468
+ {
469
+ onConflict: {
470
+ action: 'ignore',
471
+ targets: ['name'],
472
+ },
473
+ },
474
+ );
475
+ // item = { id: 42, name: 'Karl', createdAt: ... }
476
+ ```
477
+
478
+ #### Insert a single object with onConflict merge (ON CONFLICT DO UPDATE) - Update all data
479
+
480
+ ```ts
481
+ const item = await PersonRepository.create(
482
+ {
483
+ name: 'Karl',
484
+ },
485
+ {
486
+ onConflict: {
487
+ action: 'merge',
488
+ targets: ['ssn'],
489
+ },
490
+ },
491
+ );
492
+ // item = { id: 42, name: 'Karl', createdAt: ... }
493
+ ```
494
+
495
+ #### Insert a single object with onConflict merge (ON CONFLICT DO UPDATE) - Update specific data
496
+
497
+ ```ts
498
+ const item = await PersonRepository.create(
499
+ {
500
+ name: 'Karl',
501
+ },
502
+ {
503
+ onConflict: {
504
+ action: 'merge',
505
+ targets: ['ssn'],
506
+ merge: ['name', 'age'],
507
+ },
508
+ },
509
+ );
510
+ // item = { id: 42, name: 'Karl', createdAt: ... }
511
+ ```
512
+
461
513
  ### `.update()` - Update objects
462
514
 
463
515
  #### Update single record
@@ -136,7 +136,7 @@ class ReadonlyRepository {
136
136
  async then(resolve, reject) {
137
137
  try {
138
138
  if (lodash_1.default.isString(where)) {
139
- return reject(new Error('The query cannot be a string, it must be an object'));
139
+ return await reject(new Error('The query cannot be a string, it must be an object'));
140
140
  }
141
141
  const { query, params } = (0, SqlHelper_1.getSelectQueryAndParams)({
142
142
  repositoriesByModelNameLowered: modelInstance._repositoriesByModelNameLowered,
@@ -159,9 +159,9 @@ class ReadonlyRepository {
159
159
  // @ts-ignore - Ignoring unknown is not a key
160
160
  result[manuallySetField.propertyName] = manuallySetField.value;
161
161
  }
162
- return resolve(result);
162
+ return await resolve(result);
163
163
  }
164
- return resolve(null);
164
+ return await resolve(null);
165
165
  }
166
166
  catch (ex) {
167
167
  const typedException = ex;
@@ -314,7 +314,7 @@ class ReadonlyRepository {
314
314
  async then(resolve, reject) {
315
315
  try {
316
316
  if (lodash_1.default.isString(where)) {
317
- return reject(new Error('The query cannot be a string, it must be an object'));
317
+ return await reject(new Error('The query cannot be a string, it must be an object'));
318
318
  }
319
319
  const { query, params } = (0, SqlHelper_1.getSelectQueryAndParams)({
320
320
  repositoriesByModelNameLowered: modelInstance._repositoriesByModelNameLowered,
@@ -331,7 +331,7 @@ class ReadonlyRepository {
331
331
  if (populates.length) {
332
332
  await modelInstance.populateFields(entities, populates);
333
333
  }
334
- return resolve(entities);
334
+ return await resolve(entities);
335
335
  }
336
336
  catch (ex) {
337
337
  const typedException = ex;
@@ -398,7 +398,7 @@ class ReadonlyRepository {
398
398
  const pool = poolOverride || modelInstance._readonlyPool;
399
399
  const result = await pool.query(query, params);
400
400
  const originalValue = result.rows[0].count;
401
- return resolve(Number(originalValue));
401
+ return await resolve(Number(originalValue));
402
402
  }
403
403
  catch (ex) {
404
404
  const typedException = ex;
@@ -1 +1 @@
1
- {"version":3,"file":"ReadonlyRepository.js","sourceRoot":"./","sources":["ReadonlyRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReadonlyRepository.js","sourceRoot":"./","sources":["ReadonlyRepository.ts"],"names":[],"mappings":"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"}
package/Repository.d.ts CHANGED
@@ -2,33 +2,37 @@ import type { Entity } from './Entity';
2
2
  import type { IRepository } from './IRepository';
3
3
  import type { //
4
4
  DestroyResult, DoNotReturnRecords, ReturnSelect, WhereQuery, DeleteOptions } from './query';
5
+ import type { OnConflictOptions } from './query/OnConflictOptions';
5
6
  import { ReadonlyRepository } from './ReadonlyRepository';
6
7
  import type { CreateUpdateParams, QueryResult } from './types';
7
8
  export declare class Repository<T extends Entity> extends ReadonlyRepository<T> implements IRepository<T> {
8
9
  /**
9
- * Creates a objects using the specified values
10
+ * Creates an object using the specified values
10
11
  * @param {object} values - Values to insert as multiple new objects.
11
12
  * @param {object} [options]
12
13
  * @param {string[]} [options.returnSelect] - Array of model property names to return from the query.
14
+ * @param {object} [options.onConflict] - Options to handle conflicts due to a unique constraint or exclusion constraint error during insert
13
15
  * @returns {object}
14
16
  */
15
- create(values: CreateUpdateParams<T>, options?: ReturnSelect<T>): Promise<QueryResult<T>>;
17
+ create(values: CreateUpdateParams<T>, options?: OnConflictOptions<T> | (Partial<OnConflictOptions<T>> & ReturnSelect<T>)): Promise<QueryResult<T>>;
16
18
  /**
17
- * Creates a objects using the specified values
19
+ * Creates an object or objects using the specified values
18
20
  * @param {object|object[]} values - Values to insert as multiple new objects.
19
21
  * @param {object} options
20
22
  * @param {boolean} options.returnRecords - Determines if inserted records should be returned
23
+ * @param {object} [options.onConflict] - Options to handle conflicts due to a unique constraint or exclusion constraint error during insert
21
24
  * @returns {void}
22
25
  */
23
- create(values: CreateUpdateParams<T> | CreateUpdateParams<T>[], options: DoNotReturnRecords): Promise<void>;
26
+ create(values: CreateUpdateParams<T> | CreateUpdateParams<T>[], options: DoNotReturnRecords & Partial<OnConflictOptions<T>>): Promise<void>;
24
27
  /**
25
- * Creates a objects using the specified values
28
+ * Creates objects using the specified values
26
29
  * @param {object[]} values - Values to insert as multiple new objects.
27
30
  * @param {object} [options]
31
+ * @param {object} [options.onConflict] - Options to handle conflicts due to a unique constraint or exclusion constraint error during insert
28
32
  * @param {string[]} [options.returnSelect] - Array of model property names to return from the query.
29
33
  * @returns {object[]}
30
34
  */
31
- create(values: CreateUpdateParams<T>[], options?: ReturnSelect<T>): Promise<QueryResult<T>[]>;
35
+ create(values: CreateUpdateParams<T>[], options?: (OnConflictOptions<T> & Partial<ReturnSelect<T>>) | (Partial<OnConflictOptions<T>> & ReturnSelect<T>)): Promise<QueryResult<T>[]>;
32
36
  /**
33
37
  * Updates object(s) matching the where query, with the specified values
34
38
  * @param {object} where - Object representing the where query
package/Repository.js CHANGED
@@ -14,6 +14,7 @@ class Repository extends ReadonlyRepository_1.ReadonlyRepository {
14
14
  * @param {object} [options]
15
15
  * @param {boolean} [options.returnRecords=true] - Determines if inserted records should be returned
16
16
  * @param {string[]} [options.returnSelect] - Array of model property names to return from the query.
17
+ * @param {object} [options.onConflict] - Options to handle conflicts due to a unique constraint or exclusion constraint error during insert
17
18
  * @returns {object|object[]|void} Return value from the db
18
19
  */
19
20
  async create(values, options) {
@@ -49,6 +50,7 @@ class Repository extends ReadonlyRepository_1.ReadonlyRepository {
49
50
  values,
50
51
  returnRecords,
51
52
  returnSelect,
53
+ onConflict: options?.onConflict,
52
54
  });
53
55
  const results = await this._pool.query(query, params);
54
56
  if (returnRecords) {
@@ -147,9 +149,9 @@ class Repository extends ReadonlyRepository_1.ReadonlyRepository {
147
149
  });
148
150
  const result = await modelInstance._pool.query(query, params);
149
151
  if (returnRecords) {
150
- return resolve(modelInstance._buildInstances(result.rows));
152
+ return await resolve(modelInstance._buildInstances(result.rows));
151
153
  }
152
- return resolve();
154
+ return await resolve();
153
155
  }
154
156
  catch (ex) {
155
157
  const typedException = ex;
package/Repository.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Repository.js","sourceRoot":"./","sources":["Repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Repository.js","sourceRoot":"./","sources":["Repository.ts"],"names":[],"mappings":"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"}
package/SqlHelper.d.ts CHANGED
@@ -3,6 +3,7 @@ import type { IReadonlyRepository } from './IReadonlyRepository';
3
3
  import type { IRepository } from './IRepository';
4
4
  import type { ModelMetadata } from './metadata';
5
5
  import type { OrderBy, WhereQuery } from './query';
6
+ import type { OnConflictOptions } from './query/OnConflictOptions';
6
7
  import type { CreateUpdateParams, OmitEntityCollections, OmitFunctions } from './types';
7
8
  interface QueryAndParams {
8
9
  query: string;
@@ -48,16 +49,18 @@ export declare function getCountQueryAndParams<T extends Entity>({ repositoriesB
48
49
  * @param {object} args.repositoriesByModelNameLowered - All model schemas organized by model name
49
50
  * @param {object} args.model - Model schema
50
51
  * @param {object|object[]} args.values - Values to insert. Insert multiple records by passing an array of values.
52
+ * @param {object} [args.onConflict] - Options to handle conflicts due to a unique constraint or exclusion constraint error during insert
51
53
  * @param {boolean} [args.returnRecords=true] - Determines if inserted records should be returned
52
54
  * @param {string[]} [args.returnSelect] - Array of model property names to return from the query.
53
55
  * @returns {{query: string, params: object[]}}
54
56
  */
55
- export declare function getInsertQueryAndParams<T extends Entity>({ repositoriesByModelNameLowered, model, values, returnRecords, returnSelect, }: {
57
+ export declare function getInsertQueryAndParams<T extends Entity, K extends string & keyof OmitFunctions<OmitEntityCollections<T>> = string & keyof OmitFunctions<OmitEntityCollections<T>>>({ repositoriesByModelNameLowered, model, values, returnRecords, returnSelect, onConflict, }: {
56
58
  repositoriesByModelNameLowered: Record<string, IReadonlyRepository<Entity> | IRepository<Entity>>;
57
59
  model: ModelMetadata<T>;
58
60
  values: CreateUpdateParams<T> | CreateUpdateParams<T>[];
59
61
  returnRecords?: boolean;
60
- returnSelect?: readonly (string & keyof OmitFunctions<OmitEntityCollections<T>>)[];
62
+ returnSelect?: readonly K[];
63
+ onConflict?: OnConflictOptions<T, K>['onConflict'];
61
64
  }): QueryAndParams;
62
65
  /**
63
66
  * Gets the update syntax for the specified model and values
@@ -103,9 +106,9 @@ export declare function getDeleteQueryAndParams<T extends Entity>({ repositories
103
106
  * @returns {string} SQL columns
104
107
  * @private
105
108
  */
106
- export declare function getColumnsToSelect<T extends Entity>({ model, select }: {
109
+ export declare function getColumnsToSelect<T extends Entity, K extends string & keyof OmitFunctions<OmitEntityCollections<T>> = string & keyof OmitFunctions<OmitEntityCollections<T>>>({ model, select, }: {
107
110
  model: ModelMetadata<T>;
108
- select?: readonly (string & keyof OmitFunctions<OmitEntityCollections<T>>)[];
111
+ select?: readonly K[];
109
112
  }): string;
110
113
  /**
111
114
  * Builds the SQL where statement based on the where expression
package/SqlHelper.js CHANGED
@@ -120,13 +120,16 @@ exports.getCountQueryAndParams = getCountQueryAndParams;
120
120
  * @param {object} args.repositoriesByModelNameLowered - All model schemas organized by model name
121
121
  * @param {object} args.model - Model schema
122
122
  * @param {object|object[]} args.values - Values to insert. Insert multiple records by passing an array of values.
123
+ * @param {object} [args.onConflict] - Options to handle conflicts due to a unique constraint or exclusion constraint error during insert
123
124
  * @param {boolean} [args.returnRecords=true] - Determines if inserted records should be returned
124
125
  * @param {string[]} [args.returnSelect] - Array of model property names to return from the query.
125
126
  * @returns {{query: string, params: object[]}}
126
127
  */
127
- function getInsertQueryAndParams({ repositoriesByModelNameLowered, model, values, returnRecords = true, returnSelect, }) {
128
+ function getInsertQueryAndParams({ repositoriesByModelNameLowered, model, values, returnRecords = true, returnSelect, onConflict, }) {
128
129
  const entitiesToInsert = _.isArray(values) ? values : [values];
130
+ const conflictTargetColumns = [];
129
131
  const columnsToInsert = [];
132
+ const columnsToMerge = [];
130
133
  // Set defaulted property values and verify required columns have a value specified
131
134
  for (const column of model.columns) {
132
135
  const collectionColumn = column;
@@ -169,6 +172,21 @@ function getInsertQueryAndParams({ repositoriesByModelNameLowered, model, values
169
172
  if (includePropertyName) {
170
173
  columnsToInsert.push(column);
171
174
  }
175
+ if (onConflict) {
176
+ if (onConflict.targets.includes(column.propertyName)) {
177
+ conflictTargetColumns.push(column);
178
+ }
179
+ if (onConflict.action === 'merge') {
180
+ if (onConflict.merge) {
181
+ if (onConflict.merge.includes(column.propertyName)) {
182
+ columnsToMerge.push(column);
183
+ }
184
+ }
185
+ else if (!column.createDate && !column.primary) {
186
+ columnsToMerge.push(column);
187
+ }
188
+ }
189
+ }
172
190
  }
173
191
  }
174
192
  const valueCollections = entitiesToInsert.map(() => []);
@@ -226,6 +244,55 @@ function getInsertQueryAndParams({ repositoriesByModelNameLowered, model, values
226
244
  }
227
245
  query += `(${valueCollection.join(',')})`;
228
246
  }
247
+ if (onConflict) {
248
+ query += ' ON CONFLICT (';
249
+ for (const [index, targetColumn] of conflictTargetColumns.entries()) {
250
+ if (index > 0) {
251
+ query += ',';
252
+ }
253
+ query += `"${targetColumn.name}"`;
254
+ }
255
+ query += ') ';
256
+ if (onConflict.action === 'ignore' || (onConflict.merge && !onConflict.merge.length)) {
257
+ if (onConflict.where) {
258
+ const { whereStatement } = buildWhereStatement({
259
+ repositoriesByModelNameLowered,
260
+ model,
261
+ where: onConflict.where,
262
+ params,
263
+ });
264
+ if (whereStatement) {
265
+ query += `${whereStatement} `;
266
+ }
267
+ }
268
+ query += 'DO NOTHING';
269
+ }
270
+ else {
271
+ query += 'DO UPDATE SET ';
272
+ for (const [index, column] of columnsToMerge.entries()) {
273
+ if (index > 0) {
274
+ query += ',';
275
+ }
276
+ if (column.version) {
277
+ query += `"${column.name}"="${column.name}"+1`;
278
+ }
279
+ else {
280
+ query += `"${column.name}"=EXCLUDED."${column.name}"`;
281
+ }
282
+ }
283
+ if (onConflict.where) {
284
+ const { whereStatement } = buildWhereStatement({
285
+ repositoriesByModelNameLowered,
286
+ model,
287
+ where: onConflict.where,
288
+ params,
289
+ });
290
+ if (whereStatement) {
291
+ query += ` ${whereStatement}`;
292
+ }
293
+ }
294
+ }
295
+ }
229
296
  if (returnRecords) {
230
297
  query += ' RETURNING ';
231
298
  query += getColumnsToSelect({
@@ -377,7 +444,7 @@ exports.getDeleteQueryAndParams = getDeleteQueryAndParams;
377
444
  * @returns {string} SQL columns
378
445
  * @private
379
446
  */
380
- function getColumnsToSelect({ model, select }) {
447
+ function getColumnsToSelect({ model, select, }) {
381
448
  let selectColumns;
382
449
  if (select) {
383
450
  const { primaryKeyColumn } = model;
package/SqlHelper.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"SqlHelper.js","sourceRoot":"./","sources":["SqlHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqlHelper.js","sourceRoot":"./","sources":["SqlHelper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA4B;AAoB5B,4DAA4D;AAE5D;;;;;;;;;;;GAWG;AACH,SAAgB,uBAAuB,CAAmB,EACxD,8BAA8B,EAC9B,KAAK,EACL,MAAM,EACN,KAAK,EACL,KAAK,EACL,IAAI,EACJ,KAAK,GASN;IACC,IAAI,KAAK,GAAG,SAAS,CAAC;IAEtB,KAAK,IAAI,kBAAkB,CAAC;QAC1B,KAAK;QACL,MAAM;KACP,CAAC,CAAC;IAEH,KAAK,IAAI,UAAU,KAAK,CAAC,SAAS,GAAG,CAAC;IAEtC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC;QACrD,8BAA8B;QAC9B,KAAK;QACL,KAAK;KACN,CAAC,CAAC;IAEH,IAAI,cAAc,EAAE;QAClB,KAAK,IAAI,IAAI,cAAc,EAAE,CAAC;KAC/B;IAED,MAAM,cAAc,GAAG,mBAAmB,CAAC;QACzC,KAAK;QACL,KAAK;KACN,CAAC,CAAC;IAEH,IAAI,cAAc,EAAE;QAClB,KAAK,IAAI,IAAI,cAAc,EAAE,CAAC;KAC/B;IAED,IAAI,KAAK,EAAE;QACT,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACrB,6CAA6C;YAC7C,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;SACvB;QAED,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC7C;QAED,KAAK,IAAI,UAAU,KAAK,EAAE,CAAC;KAC5B;IAED,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACpB,6CAA6C;YAC7C,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;SACrB;QAED,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC5C;QAED,KAAK,IAAI,WAAW,IAAI,EAAE,CAAC;KAC5B;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,MAAM,EAAE;QACrD,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;KAChC;IAED,OAAO;QACL,KAAK;QACL,MAAM;KACP,CAAC;AACJ,CAAC;AAhFD,0DAgFC;AAED;;;;;;;GAOG;AACH,SAAgB,sBAAsB,CAAmB,EACvD,8BAA8B,EAC9B,KAAK,EACL,KAAK,GAKN;IACC,IAAI,KAAK,GAAG,oCAAoC,KAAK,CAAC,SAAS,GAAG,CAAC;IAEnE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC;QACrD,8BAA8B;QAC9B,KAAK;QACL,KAAK;KACN,CAAC,CAAC;IAEH,IAAI,cAAc,EAAE;QAClB,KAAK,IAAI,IAAI,cAAc,EAAE,CAAC;KAC/B;IAED,OAAO;QACL,KAAK;QACL,MAAM;KACP,CAAC;AACJ,CAAC;AAzBD,wDAyBC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,uBAAuB,CAA8I,EACnL,8BAA8B,EAC9B,KAAK,EACL,MAAM,EACN,aAAa,GAAG,IAAI,EACpB,YAAY,EACZ,UAAU,GAQX;IACC,MAAM,gBAAgB,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,qBAAqB,GAAG,EAAE,CAAC;IACjC,MAAM,eAAe,GAAG,EAAE,CAAC;IAC3B,MAAM,cAAc,GAAG,EAAE,CAAC;IAC1B,mFAAmF;IACnF,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE;QAClC,MAAM,gBAAgB,GAAG,MAAkC,CAAC;QAC5D,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;YAChC,MAAM,EAAE,UAAU,EAAE,GAAG,MAA4B,CAAC;YACpD,IAAI,YAAY,CAAC;YACjB,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;gBAC5B,YAAY,GAAG,UAAU,EAAE,CAAC;aAC7B;iBAAM,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE;gBACrC,YAAY,GAAG,UAAU,CAAC;aAC3B;iBAAM,IAAI,MAAM,CAAC,UAAU,EAAE;gBAC5B,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;aAC3B;iBAAM,IAAI,MAAM,CAAC,UAAU,EAAE;gBAC5B,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;aAC3B;iBAAM,IAAI,MAAM,CAAC,OAAO,EAAE;gBACzB,YAAY,GAAG,CAAC,CAAC;aAClB;YAED,MAAM,eAAe,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACrD,IAAI,mBAAmB,GAAG,KAAK,CAAC;YAChC,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE;gBACrC,sFAAsF;gBACtF,IAAI,eAAe,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,YAAoD,CAAC,CAAC,EAAE;oBACzG,6DAA6D;oBAC7D,2EAA2E;oBAC3E,MAAM,CAAC,MAAM,CAAC,YAAoD,CAAC,GAAG,YAAY,CAAC;iBACpF;gBAED,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,YAAoD,CAAC,CAAC,EAAE;oBACtF,IAAI,MAAM,CAAC,QAAQ,EAAE;wBACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,IAAI,0CAA0C,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;qBACrH;iBACF;qBAAM;oBACL,mBAAmB,GAAG,IAAI,CAAC;iBAC5B;aACF;YAED,IAAI,mBAAmB,EAAE;gBACvB,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC9B;YAED,IAAI,UAAU,EAAE;gBACd,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAiB,CAAC,EAAE;oBACzD,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACpC;gBAED,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,EAAE;oBACjC,IAAI,UAAU,CAAC,KAAK,EAAE;wBACpB,IAAI,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAiB,CAAC,EAAE;4BACvD,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;yBAC7B;qBACF;yBAAM,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;wBAChD,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBAC7B;iBACF;aACF;SACF;KACF;IAED,MAAM,gBAAgB,GAAe,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,IAAI,KAAK,GAAG,gBAAgB,KAAK,CAAC,SAAS,KAAK,CAAC;IACjD,KAAK,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE;QAC7D,IAAI,WAAW,GAAG,CAAC,EAAE;YACnB,KAAK,IAAI,GAAG,CAAC;SACd;QAED,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC;QAE5B,KAAK,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,EAAE;YAC9D,IAAI,KAAK,CAAC;YACV,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,YAAoD,CAAqB,CAAC;YAC5G,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;gBACxB,KAAK,GAAG,MAAM,CAAC;aAChB;iBAAM;gBACL,MAAM,WAAW,GAAI,MAA6B,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC7F,MAAM,gBAAgB,GAAI,MAA8B,CAAC,KAAK,CAAC;gBAC/D,IAAI,gBAAgB,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;oBAC/C,MAAM,sBAAsB,GAAG,8BAA8B,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC;oBAE9F,IAAI,CAAC,sBAAsB,EAAE;wBAC3B,MAAM,IAAI,KAAK,CAAC,gCAAgC,gBAAgB,kCAAkC,MAAM,CAAC,YAAY,SAAS,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;qBAC9I;oBAED,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,KAAK,CAAC,gBAAgB,CAAC;oBAC7E,IAAI,CAAC,sBAAsB,EAAE;wBAC3B,MAAM,IAAI,KAAK,CAAC,yCAAyC,gBAAgB,mBAAmB,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,YAAY,SAAS,CAAC,CAAC;qBACzI;oBAED,MAAM,eAAe,GAAI,WAA0B,CAAC,sBAAsB,CAAC,YAA8D,CAAqB,CAAC;oBAC/J,IAAI,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE;wBAC5B,MAAM,IAAI,KAAK,CAAC,8DAA8D,MAAM,CAAC,YAAY,SAAS,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;qBAC1H;oBAED,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;iBAC9B;qBAAM,IAAI,WAAW,EAAE;oBACtB,yGAAyG;oBACzG,qDAAqD;oBACrD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;iBAC1C;qBAAM;oBACL,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iBAC1B;gBAED,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC5B,IAAI,WAAW,EAAE;oBACf,KAAK,IAAI,SAAS,CAAC;iBACpB;aACF;YAED,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3C;KACF;IAED,KAAK,IAAI,WAAW,CAAC;IACrB,KAAK,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,EAAE;QACjE,IAAI,KAAK,GAAG,CAAC,EAAE;YACb,KAAK,IAAI,GAAG,CAAC;SACd;QAED,KAAK,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;KAC3C;IAED,IAAI,UAAU,EAAE;QACd,KAAK,IAAI,gBAAgB,CAAC;QAC1B,KAAK,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,qBAAqB,CAAC,OAAO,EAAE,EAAE;YACnE,IAAI,KAAK,GAAG,CAAC,EAAE;gBACb,KAAK,IAAI,GAAG,CAAC;aACd;YAED,KAAK,IAAI,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC;SACnC;QAED,KAAK,IAAI,IAAI,CAAC;QAEd,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YACpF,IAAI,UAAU,CAAC,KAAK,EAAE;gBACpB,MAAM,EAAE,cAAc,EAAE,GAAG,mBAAmB,CAAC;oBAC7C,8BAA8B;oBAC9B,KAAK;oBACL,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,MAAM;iBACP,CAAC,CAAC;gBAEH,IAAI,cAAc,EAAE;oBAClB,KAAK,IAAI,GAAG,cAAc,GAAG,CAAC;iBAC/B;aACF;YAED,KAAK,IAAI,YAAY,CAAC;SACvB;aAAM;YACL,KAAK,IAAI,gBAAgB,CAAC;YAE1B,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE;gBACtD,IAAI,KAAK,GAAG,CAAC,EAAE;oBACb,KAAK,IAAI,GAAG,CAAC;iBACd;gBAED,IAAI,MAAM,CAAC,OAAO,EAAE;oBAClB,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,IAAI,KAAK,CAAC;iBAChD;qBAAM;oBACL,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,eAAe,MAAM,CAAC,IAAI,GAAG,CAAC;iBACvD;aACF;YAED,IAAI,UAAU,CAAC,KAAK,EAAE;gBACpB,MAAM,EAAE,cAAc,EAAE,GAAG,mBAAmB,CAAC;oBAC7C,8BAA8B;oBAC9B,KAAK;oBACL,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,MAAM;iBACP,CAAC,CAAC;gBAEH,IAAI,cAAc,EAAE;oBAClB,KAAK,IAAI,IAAI,cAAc,EAAE,CAAC;iBAC/B;aACF;SACF;KACF;IAED,IAAI,aAAa,EAAE;QACjB,KAAK,IAAI,aAAa,CAAC;QACvB,KAAK,IAAI,kBAAkB,CAAC;YAC1B,KAAK;YACL,MAAM,EAAE,YAAY;SACrB,CAAC,CAAC;KACJ;IAED,OAAO;QACL,KAAK;QACL,MAAM;KACP,CAAC;AACJ,CAAC;AAlND,0DAkNC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,uBAAuB,CAAmB,EACxD,8BAA8B,EAC9B,KAAK,EACL,KAAK,EACL,MAAM,GAAG,EAAE,EACX,aAAa,GAAG,IAAI,EACpB,YAAY,GAQb;IACC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,iBAAiB,EAAE;QAC5C,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,YAAoD,CAAC,CAAC,EAAE;YACtF,gFAAgF;YAChF,6DAA6D;YAC7D,MAAM,CAAC,MAAM,CAAC,YAAoD,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;SAClF;KACF;IAED,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,IAAI,KAAK,GAAG,WAAW,KAAK,CAAC,SAAS,QAAQ,CAAC;IAC/C,IAAI,eAAe,GAAG,IAAI,CAAC;IAC3B,KAAK,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,MAAM,IAAI,CAAE,MAAmC,CAAC,UAAU,EAAE;YAC9D,IAAI,CAAC,eAAe,EAAE;gBACpB,KAAK,IAAI,GAAG,CAAC;aACd;YAED,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC;YAC7B,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAClB,KAAK,IAAI,MAAM,CAAC;aACjB;iBAAM;gBACL,MAAM,WAAW,GAAI,MAA6B,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACvF,MAAM,gBAAgB,GAAI,MAA8B,CAAC,KAAK,CAAC;gBAC/D,IAAI,gBAAgB,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;oBACzC,MAAM,sBAAsB,GAAG,8BAA8B,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC;oBAE9F,IAAI,CAAC,sBAAsB,EAAE;wBAC3B,MAAM,IAAI,KAAK,CAAC,gCAAgC,gBAAgB,kCAAkC,YAAY,SAAS,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;qBACvI;oBAED,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,KAAK,CAAC,gBAAgB,CAAC;oBAC7E,IAAI,CAAC,sBAAsB,EAAE;wBAC3B,MAAM,IAAI,KAAK,CAAC,yCAAyC,gBAAgB,mBAAmB,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,YAAY,SAAS,CAAC,CAAC;qBACzI;oBAED,MAAM,eAAe,GAAI,KAAoB,CAAC,sBAAsB,CAAC,YAA8D,CAAqB,CAAC;oBACzJ,IAAI,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE;wBAC5B,MAAM,IAAI,KAAK,CAAC,8DAA8D,MAAM,CAAC,YAAY,SAAS,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;qBAC1H;oBAED,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;iBAC9B;qBAAM,IAAI,WAAW,EAAE;oBACtB,yGAAyG;oBACzG,qDAAqD;oBACrD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;iBACpC;qBAAM;oBACL,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACpB;gBAED,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC7B,IAAI,WAAW,EAAE;oBACf,KAAK,IAAI,SAAS,CAAC;iBACpB;aACF;YAED,eAAe,GAAG,KAAK,CAAC;SACzB;KACF;IAED,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,cAAc,EAAE;QACzC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,YAAoD,CAAC,CAAC,EAAE;YACvF,IAAI,CAAC,eAAe,EAAE;gBACpB,KAAK,IAAI,GAAG,CAAC;aACd;YAED,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,IAAI,KAAK,CAAC;YAE/C,eAAe,GAAG,KAAK,CAAC;SACzB;KACF;IAED,MAAM,EAAE,cAAc,EAAE,GAAG,mBAAmB,CAAC;QAC7C,8BAA8B;QAC9B,KAAK;QACL,KAAK;QACL,MAAM;KACP,CAAC,CAAC;IAEH,IAAI,cAAc,EAAE;QAClB,KAAK,IAAI,IAAI,cAAc,EAAE,CAAC;KAC/B;IAED,IAAI,aAAa,EAAE;QACjB,KAAK,IAAI,aAAa,CAAC;QACvB,KAAK,IAAI,kBAAkB,CAAC;YAC1B,KAAK;YACL,MAAM,EAAE,YAAY;SACrB,CAAC,CAAC;KACJ;IAED,OAAO;QACL,KAAK;QACL,MAAM;KACP,CAAC;AACJ,CAAC;AA9GD,0DA8GC;AAED;;;;;;;;;GASG;AACH,SAAgB,uBAAuB,CAAmB,EACxD,8BAA8B,EAC9B,KAAK,EACL,KAAK,EACL,aAAa,GAAG,IAAI,EACpB,YAAY,GAOb;IACC,IAAI,KAAK,GAAG,gBAAgB,KAAK,CAAC,SAAS,GAAG,CAAC;IAE/C,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC;QACrD,8BAA8B;QAC9B,KAAK;QACL,KAAK;KACN,CAAC,CAAC;IAEH,IAAI,cAAc,EAAE;QAClB,KAAK,IAAI,IAAI,cAAc,EAAE,CAAC;KAC/B;IAED,IAAI,aAAa,EAAE;QACjB,KAAK,IAAI,aAAa,CAAC;QACvB,KAAK,IAAI,kBAAkB,CAAC;YAC1B,KAAK;YACL,MAAM,EAAE,YAAY;SACrB,CAAC,CAAC;KACJ;IAED,OAAO;QACL,KAAK;QACL,MAAM;KACP,CAAC;AACJ,CAAC;AArCD,0DAqCC;AAED;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAA8I,EAC9K,KAAK,EACL,MAAM,GAIP;IACC,IAAI,aAA0B,CAAC;IAC/B,IAAI,MAAM,EAAE;QACV,MAAM,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;QAEnC,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAEhC,yCAAyC;QACzC,IAAI,gBAAgB,EAAE;YACpB,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;SAClD;KACF;SAAM;QACL,6CAA6C;QAC7C,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE;YAClC,IAAI,CAAE,MAAmC,CAAC,UAAU,EAAE;gBACpD,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;aACxC;SACF;KACF;IAED,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE;QACvE,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,uCAAuC,YAAY,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;SAC9F;QAED,IAAI,KAAK,GAAG,CAAC,EAAE;YACb,KAAK,IAAI,GAAG,CAAC;SACd;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE;YAChC,KAAK,IAAI,IAAI,YAAY,GAAG,CAAC;SAC9B;aAAM;YACL,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,SAAS,YAAY,GAAG,CAAC;SAClD;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AA9CD,gDA8CC;AAED;;;;;;;;;GASG;AACH,SAAgB,mBAAmB,CAAmB,EACpD,8BAA8B,EAC9B,KAAK,EACL,KAAK,EACL,MAAM,GAAG,EAAE,GAMZ;IAIC,IAAI,cAAc,CAAC;IACnB,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QACrB,cAAc,GAAG,UAAU,CAAC;YAC1B,8BAA8B;YAC9B,KAAK;YACL,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,KAAK;YACZ,MAAM;SACP,CAAC,CAAC;KACJ;IAED,IAAI,cAAc,EAAE;QAClB,cAAc,GAAG,SAAS,cAAc,EAAE,CAAC;KAC5C;IAED,OAAO;QACL,cAAc;QACd,MAAM;KACP,CAAC;AACJ,CAAC;AAjCD,kDAiCC;AAED;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CAAmB,EAAE,KAAK,EAAE,KAAK,EAA6D;IAC/H,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACpC,OAAO,EAAE,CAAC;KACX;IAED,IAAI,cAAc,GAAG,WAAW,CAAC;IAEjC,KAAK,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE;QACpD,IAAI,KAAK,GAAG,CAAC,EAAE;YACb,cAAc,IAAI,GAAG,CAAC;SACvB;QAED,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC;QACnD,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,aAAa,YAAY,yBAAyB,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;SACnF;QAED,cAAc,IAAI,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC;QAErC,IAAI,UAAU,EAAE;YACd,cAAc,IAAI,OAAO,CAAC;SAC3B;KACF;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AA1BD,kDA0BC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,UAAU,CAAmB,EACpC,8BAA8B,EAC9B,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,SAAS,GAAG,KAAK,EACjB,KAAK,EACL,MAAM,GAAG,EAAE,GASZ;IACC,QAAQ,QAAQ,IAAI,YAAY,EAAE;QAChC,KAAK,GAAG,CAAC;QACT,KAAK,KAAK;YACR,OAAO,UAAU,CAAC;gBAChB,8BAA8B;gBAC9B,KAAK;gBACL,YAAY;gBACZ,SAAS,EAAE,IAAI;gBACf,KAAK;gBACL,MAAM;aACP,CAAC,CAAC;QACL,KAAK,IAAI;YACP,OAAO,wBAAwB,CAAC;gBAC9B,8BAA8B;gBAC9B,KAAK;gBACL,SAAS;gBACT,KAAK,EAAE,KAAwB;gBAC/B,MAAM;aACP,CAAC,CAAC;QACL,KAAK,UAAU;YACb,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACpB,MAAM,MAAM,GAAI,KAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC7C,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBACpB,MAAM,IAAI,KAAK,CAAC,gFAAgF,YAAY,IAAI,EAAE,eAAe,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;qBAClJ;oBAED,OAAO,IAAI,GAAG,GAAG,CAAC;gBACpB,CAAC,CAAC,CAAC;gBAEH,OAAO,UAAU,CAAC;oBAChB,8BAA8B;oBAC9B,KAAK;oBACL,YAAY;oBACZ,QAAQ,EAAE,MAAM;oBAChB,SAAS;oBACT,KAAK,EAAE,MAAM;oBACb,MAAM;iBACP,CAAC,CAAC;aACJ;YAED,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACrB,OAAO,UAAU,CAAC;oBAChB,8BAA8B;oBAC9B,KAAK;oBACL,YAAY;oBACZ,QAAQ,EAAE,MAAM;oBAChB,SAAS;oBACT,KAAK,EAAE,IAAI,KAAK,GAAG;oBACnB,MAAM;iBACP,CAAC,CAAC;aACJ;YAED,MAAM,IAAI,KAAK,CAAC,sEAAsE,YAAY,IAAI,EAAE,eAAe,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;QACzI,KAAK,YAAY;YACf,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACpB,MAAM,MAAM,GAAI,KAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC7C,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBACpB,MAAM,IAAI,KAAK,CAAC,kFAAkF,YAAY,IAAI,EAAE,eAAe,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;qBACpJ;oBAED,OAAO,GAAG,GAAG,GAAG,CAAC;gBACnB,CAAC,CAAC,CAAC;gBAEH,OAAO,UAAU,CAAC;oBAChB,8BAA8B;oBAC9B,KAAK;oBACL,YAAY;oBACZ,QAAQ,EAAE,MAAM;oBAChB,SAAS;oBACT,KAAK,EAAE,MAAM;oBACb,MAAM;iBACP,CAAC,CAAC;aACJ;YAED,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACrB,OAAO,UAAU,CAAC;oBAChB,8BAA8B;oBAC9B,KAAK;oBACL,YAAY;oBACZ,QAAQ,EAAE,MAAM;oBAChB,SAAS;oBACT,KAAK,EAAE,GAAG,KAAK,GAAG;oBAClB,MAAM;iBACP,CAAC,CAAC;aACJ;YAED,MAAM,IAAI,KAAK,CAAC,wEAAwE,YAAY,IAAI,EAAE,eAAe,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;QAC3I,KAAK,UAAU;YACb,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACpB,MAAM,MAAM,GAAI,KAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC7C,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBACpB,MAAM,IAAI,KAAK,CAAC,gFAAgF,YAAY,IAAI,EAAE,eAAe,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;qBAClJ;oBAED,OAAO,IAAI,GAAG,EAAE,CAAC;gBACnB,CAAC,CAAC,CAAC;gBAEH,OAAO,UAAU,CAAC;oBAChB,8BAA8B;oBAC9B,KAAK;oBACL,YAAY;oBACZ,QAAQ,EAAE,MAAM;oBAChB,SAAS;oBACT,KAAK,EAAE,MAAM;oBACb,MAAM;iBACP,CAAC,CAAC;aACJ;YAED,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACrB,OAAO,UAAU,CAAC;oBAChB,8BAA8B;oBAC9B,KAAK;oBACL,YAAY;oBACZ,QAAQ,EAAE,MAAM;oBAChB,SAAS;oBACT,KAAK,EAAE,IAAI,KAAK,EAAE;oBAClB,MAAM;iBACP,CAAC,CAAC;aACJ;YAED,MAAM,IAAI,KAAK,CAAC,sEAAsE,YAAY,IAAI,EAAE,eAAe,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;QACzI,KAAK,MAAM;YACT,OAAO,0BAA0B,CAAC;gBAChC,KAAK;gBACL,oEAAoE;gBACpE,YAAY,EAAE,YAAa;gBAC3B,SAAS;gBACT,KAAK,EAAE,KAAgD;gBACvD,MAAM;aACP,CAAC,CAAC;QACL,OAAO,CAAC,CAAC;YACP,IAAI,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;gBACxB,MAAM,IAAI,KAAK,CAAC,gDAAgD,YAAY,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;aACxG;YAED,IAAI,YAAY,EAAE;gBAChB,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,YAAY,CAAwB,CAAC;gBAChF,IAAI,MAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;oBAC/B,IAAI,MAAM,CAAC,OAAO,EAAE;wBAClB,MAAM,eAAe,GAAI,KAA+B,CAAC,MAAM,CAAC,YAAgC,CAAC,CAAC;wBAClG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE;4BAC7B,qCAAqC;4BACrC,OAAO,UAAU,CAAC;gCAChB,8BAA8B;gCAC9B,KAAK;gCACL,YAAY;gCACZ,QAAQ;gCACR,SAAS;gCACT,KAAK,EAAE,eAAsC;gCAC7C,MAAM;6BACP,CAAC,CAAC;yBACJ;qBACF;yBAAM,IAAI,MAAM,CAAC,KAAK,EAAE;wBACvB,MAAM,sBAAsB,GAAG,8BAA8B,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;wBAE1F,IAAI,CAAC,sBAAsB,EAAE;4BAC3B,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,CAAC,KAAK,oCAAoC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC;yBACzH;wBAED,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,KAAK,CAAC,gBAAgB,CAAC;wBAC7E,IAAI,CAAC,sBAAsB,EAAE;4BAC3B,MAAM,IAAI,KAAK,CAAC,yCAAyC,MAAM,CAAC,KAAK,kCAAkC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;yBAC7I;wBAED,MAAM,eAAe,GAAI,KAA+B,CAAC,sBAAsB,CAAC,YAAgC,CAAC,CAAC;wBAClH,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE;4BAC7B,qCAAqC;4BACrC,OAAO,UAAU,CAAC;gCAChB,8BAA8B;gCAC9B,KAAK;gCACL,YAAY;gCACZ,QAAQ;gCACR,SAAS;gCACT,KAAK,EAAE,eAAsC;gCAC7C,MAAM;6BACP,CAAC,CAAC;yBACJ;qBACF;iBACF;aACF;YAED,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACpB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;oBACjB,MAAM,0BAA0B,GAAG,YAAY,CAAC,CAAC,CAAE,KAAK,CAAC,qBAAqB,CAAC,YAAY,CAAwB,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC3H,MAAM,sBAAsB,GAAG,QAAQ,CAAC,CAAC,CAAE,KAAK,CAAC,qBAAqB,CAAC,QAAQ,CAAwB,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC/G,MAAM,WAAW,GAAG,0BAA0B,IAAI,sBAAsB,CAAC;oBAEzE,IAAI,WAAW,EAAE;wBACf,MAAM,eAAe,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/E,IAAI,eAAe,KAAK,OAAO,IAAI,eAAe,KAAK,UAAU,IAAI,eAAe,KAAK,WAAW,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,WAAW,EAAE;4BACxK,OAAO,IAAI,WAAW,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;yBAC7D;qBACF;oBAED,IAAI,SAAS,EAAE;wBACb,OAAO,KAAK,CAAC;qBACd;oBAED,OAAO,MAAM,CAAC;iBACf;gBAED,MAAM,aAAa,GAAG,EAAE,CAAC;gBACzB,MAAM,gBAAgB,GAAG,EAAE,CAAC;gBAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;oBACxB,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;wBAClB,aAAa,CAAC,IAAI,CAChB,UAAU,CAAC;4BACT,8BAA8B;4BAC9B,KAAK;4BACL,YAAY;4BACZ,SAAS;4BACT,KAAK,EAAE,IAAI;4BACX,MAAM;yBACP,CAAC,CACH,CAAC;qBACH;yBAAM,IAAI,IAAI,KAAK,EAAE,EAAE;wBACtB,aAAa,CAAC,IAAI,CAChB,UAAU,CAAC;4BACT,8BAA8B;4BAC9B,KAAK;4BACL,YAAY;4BACZ,SAAS;4BACT,KAAK,EAAE,EAAE;4BACT,MAAM;yBACP,CAAC,CACH,CAAC;qBACH;yBAAM;wBACL,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC7B;iBACF;gBAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;oBACjC,aAAa,CAAC,IAAI,CAChB,UAAU,CAAC;wBACT,8BAA8B;wBAC9B,KAAK;wBACL,YAAY;wBACZ,SAAS;wBACT,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAwB;wBACjD,MAAM;qBACP,CAAC,CACH,CAAC;iBACH;qBAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE;oBAClC,MAAM,0BAA0B,GAAG,YAAY,CAAC,CAAC,CAAE,KAAK,CAAC,qBAAqB,CAAC,YAAY,CAAwB,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC3H,MAAM,sBAAsB,GAAG,QAAQ,CAAC,CAAC,CAAE,KAAK,CAAC,qBAAqB,CAAC,QAAQ,CAAwB,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC/G,MAAM,UAAU,GAAG,0BAA0B,IAAI,sBAAsB,CAAC;oBAExE,IAAI,UAAU,EAAE;wBACd,IAAI,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7E,IAAI,iBAAiB,KAAK,OAAO,IAAI,iBAAiB,KAAK,UAAU,IAAI,iBAAiB,KAAK,WAAW,IAAI,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,KAAK,WAAW,EAAE;4BAClL,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE;gCAClC,aAAa,CAAC,IAAI,CAChB,UAAU,CAAC;oCACT,8BAA8B;oCAC9B,KAAK;oCACL,YAAY;oCACZ,SAAS;oCACT,KAAK,EAAE,GAA0B;oCACjC,MAAM;iCACP,CAAC,CACH,CAAC;6BACH;yBACF;6BAAM;4BACL,qHAAqH;4BACrH,IAAI,CAAC,iBAAiB,EAAE;gCACtB,MAAM,iBAAiB,GAAG,UAA4C,CAAC;gCACvE,IAAI,iBAAiB,CAAC,KAAK,EAAE;oCAC3B,MAAM,sBAAsB,GAAG,8BAA8B,CAAC,iBAAiB,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;oCAErG,IAAI,CAAC,sBAAsB,EAAE;wCAC3B,MAAM,IAAI,KAAK,CAAC,gCAAgC,iBAAiB,CAAC,KAAK,oCAAoC,iBAAiB,CAAC,YAAY,GAAG,CAAC,CAAC;qCAC/I;oCAED,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,KAAK,CAAC,gBAAsC,CAAC;oCACnG,IAAI,CAAC,sBAAsB,EAAE;wCAC3B,MAAM,IAAI,KAAK,CAAC,yCAAyC,iBAAiB,CAAC,KAAK,kCAAkC,KAAK,CAAC,IAAI,IAAI,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC;qCACnK;oCAED,iBAAiB,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iCAClG;6BACF;4BAED,IAAI,QAAQ,CAAC;4BAEb,QAAQ,iBAAiB,EAAE;gCACzB,KAAK,KAAK,CAAC;gCACX,KAAK,SAAS,CAAC;gCACf,KAAK,WAAW;oCACd,QAAQ,GAAG,aAAa,CAAC;oCACzB,MAAM;gCACR,KAAK,OAAO,CAAC;gCACb,KAAK,SAAS;oCACZ,QAAQ,GAAG,aAAa,CAAC;oCACzB,MAAM;gCACR,KAAK,SAAS,CAAC;gCACf,KAAK,WAAW;oCACd,QAAQ,GAAG,aAAa,CAAC;oCACzB,MAAM;gCACR;oCACE,QAAQ,GAAG,UAAU,CAAC;oCACtB,MAAM;6BACT;4BAED,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;4BAC9B,aAAa,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAC;yBACzG;qBACF;oBAED,6FAA6F;iBAC9F;gBAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC9B,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;iBACzB;gBAED,IAAI,SAAS,EAAE;oBACb,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACpC;gBAED,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;aAC1C;YAED,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACzC,MAAM,SAAS,GAAa,EAAE,CAAC;gBAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBAChD,IAAI,gBAA+C,CAAC;oBACpD,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE;wBACnB,gBAAgB,GAAG,GAAG,CAAC;qBACxB;yBAAM;wBACL,6CAA6C;wBAC7C,YAAY,GAAG,GAAG,CAAC;qBACpB;oBAED,SAAS,CAAC,IAAI,CACZ,UAAU,CAAC;wBACT,8BAA8B;wBAC9B,KAAK;wBACL,YAAY;wBACZ,QAAQ,EAAE,gBAAgB;wBAC1B,SAAS;wBACT,KAAK,EAAE,KAA4B;wBACnC,MAAM;qBACP,CAAC,CACH,CAAC;iBACH;gBAED,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAChC;YAED,OAAO,gCAAgC,CAAC;gBACtC,KAAK;gBACL,oEAAoE;gBACpE,YAAY,EAAE,YAAa;gBAC3B,QAAQ;gBACR,SAAS;gBACT,KAAK,EAAE,KAA4B;gBACnC,MAAM;aACP,CAAC,CAAC;SACJ;KACF;AACH,CAAC;AAED,SAAS,wBAAwB,CAAmB,EAClD,8BAA8B,EAC9B,KAAK,EACL,SAAS,EACT,KAAK,EACL,MAAM,GAAG,EAAE,GAOZ;IACC,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,KAAK,MAAM,UAAU,IAAI,KAAK,EAAE;QAC9B,MAAM,QAAQ,GAAG,UAAU,CAAC;YAC1B,8BAA8B;YAC9B,KAAK;YACL,SAAS;YACT,KAAK,EAAE,UAAU;YACjB,MAAM;SACP,CAAC,CAAC;QAEH,SAAS,CAAC,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC;KACjC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1B,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;KACrB;IAED,IAAI,SAAS,EAAE;QACb,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAChC;IAED,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AACvC,CAAC;AAeD,SAAS,0BAA0B,CAAmB,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAkC;IACrI,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACpB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACjB,IAAI,SAAS,EAAE;gBACb,OAAO,KAAK,CAAC;aACd;YAED,OAAO,MAAM,CAAC;SACf;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,MAAM,aAAa,GAAa,EAAE,CAAC;YACnC,KAAK,MAAM,IAAI,IAAI,KAA0B,EAAE;gBAC7C,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBAClB,aAAa,CAAC,IAAI,CAChB,0BAA0B,CAAC;wBACzB,KAAK;wBACL,YAAY;wBACZ,SAAS;wBACT,KAAK,EAAE,IAAI;wBACX,MAAM;qBACP,CAAC,CACH,CAAC;iBACH;qBAAM,IAAI,IAAI,KAAK,EAAE,EAAE;oBACtB,aAAa,CAAC,IAAI,CAChB,0BAA0B,CAAC;wBACzB,KAAK;wBACL,YAAY;wBACZ,SAAS;wBACT,KAAK,EAAE,EAAE;wBACT,MAAM;qBACP,CAAC,CACH,CAAC;iBACH;qBAAM;oBACL,aAAa,CAAC,IAAI,CAChB,0BAA0B,CAAC;wBACzB,KAAK;wBACL,YAAY;wBACZ,SAAS;wBACT,KAAK,EAAE,IAAI;wBACX,MAAM;qBACP,CAAC,CACH,CAAC;iBACH;aACF;YAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;aACzB;YAED,IAAI,SAAS,EAAE;gBACb,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACpC;YAED,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;SAC1C;QAED,6CAA6C;QAC7C,KAAK,GAAG,KAAK,CAAC,CAAC,CAAkB,CAAC;KACnC;IAED,oEAAoE;IACpE,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;IACzD,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,2BAA2B,YAAY,aAAa,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;KACnF;IAED,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QACnB,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;KAC/D;IAED,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QACrB,IAAI,KAAK,EAAE;YACT,uDAAuD;YACvD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEnB,MAAM,UAAU,GAAI,MAA6B,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;YACtE,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,UAAU,EAAE;gBACvD,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,wCAAwC,MAAM,CAAC,IAAI,mBAAmB,MAAM,CAAC,IAAI,iCAAiC,MAAM,CAAC,IAAI,YAAY,MAAM,CAAC,MAAM,GAAG,CAAC;aAC5L;YAED,OAAO,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC;SAC7E;QAED,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;KACxD;IAED,MAAM,IAAI,KAAK,CAAC,kEAAkE,YAAY,eAAe,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;AAC/H,CAAC;AAED,SAAS,gCAAgC,CAAmB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,EAAE,EAAwC;IAChK,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;IACzD,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,2BAA2B,YAAY,aAAa,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;KACnF;IAED,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QACnB,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;KAC/D;IAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEnB,MAAM,UAAU,GAAI,MAA6B,CAAC,IAAI,CAAC;IACvD,MAAM,2BAA2B,GAAG,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,MAAM,CAAC;IAEpF,QAAQ,QAAQ,EAAE;QAChB,KAAK,GAAG;YACN,IAAI,CAAC,2BAA2B,EAAE;gBAChC,MAAM,IAAI,KAAK,CAAC,mCAAmC,UAAU,IAAI,SAAS,UAAU,YAAY,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;aAC5H;YAED,OAAO,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACtE,KAAK,IAAI;YACP,IAAI,CAAC,2BAA2B,EAAE;gBAChC,MAAM,IAAI,KAAK,CAAC,oCAAoC,UAAU,IAAI,SAAS,UAAU,YAAY,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;aAC7H;YAED,OAAO,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACtE,KAAK,GAAG;YACN,IAAI,CAAC,2BAA2B,EAAE;gBAChC,MAAM,IAAI,KAAK,CAAC,mCAAmC,UAAU,IAAI,SAAS,UAAU,YAAY,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;aAC5H;YAED,OAAO,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACtE,KAAK,IAAI;YACP,IAAI,CAAC,2BAA2B,EAAE;gBAChC,MAAM,IAAI,KAAK,CAAC,oCAAoC,UAAU,IAAI,SAAS,UAAU,YAAY,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;aAC7H;YAED,OAAO,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACtE;YACE,IAAI,UAAU,IAAI,CAAC,UAAU,KAAK,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE;gBACvE,OAAO,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC;aAC9E;YAED,OAAO,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;KACvE;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,KAAa;IAC/B,QAAQ,KAAK,EAAE;QACb,KAAK,GAAG,CAAC;QACT,KAAK,KAAK,CAAC;QACX,KAAK,IAAI,CAAC;QACV,KAAK,KAAK,CAAC;QACX,KAAK,UAAU,CAAC;QAChB,KAAK,YAAY,CAAC;QAClB,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM,CAAC;QACZ,KAAK,GAAG,CAAC;QACT,KAAK,IAAI,CAAC;QACV,KAAK,GAAG,CAAC;QACT,KAAK,IAAI;YACP,OAAO,IAAI,CAAC;QACd;YACE,OAAO,KAAK,CAAC;KAChB;AACH,CAAC;AACD,2DAA2D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bigal",
3
- "version": "10.1.0",
3
+ "version": "10.2.0-beta2",
4
4
  "description": "A fast and lightweight orm for postgres and node.js, written in typescript.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -24,33 +24,32 @@
24
24
  "@types/pg": "^8.6.5",
25
25
  "lodash": "^4.17.21",
26
26
  "pg": "^8.7.3",
27
- "postgres-pool": "^5.0.13"
27
+ "postgres-pool": "^5.0.14"
28
28
  },
29
29
  "devDependencies": {
30
+ "@faker-js/faker": "^6.0.0",
30
31
  "@types/chai": "^4.3.0",
31
- "@types/faker": "^5.5.9",
32
32
  "@types/mocha": "^9.1.0",
33
- "@typescript-eslint/eslint-plugin": "^5.15.0",
34
- "@typescript-eslint/parser": "^5.15.0",
33
+ "@typescript-eslint/eslint-plugin": "^5.16.0",
34
+ "@typescript-eslint/parser": "^5.16.0",
35
35
  "chai": "^4.3.6",
36
36
  "eslint": "^8.11.0",
37
37
  "eslint-config-airbnb-base": "^15.0.0",
38
- "eslint-config-airbnb-typescript": "^16.1.2",
38
+ "eslint-config-airbnb-typescript": "^16.1.4",
39
39
  "eslint-config-prettier": "^8.5.0",
40
40
  "eslint-plugin-import": "^2.25.4",
41
- "eslint-plugin-jsdoc": "^38.0.4",
41
+ "eslint-plugin-jsdoc": "^38.0.6",
42
42
  "eslint-plugin-mocha": "^10.0.3",
43
43
  "eslint-plugin-prettier": "^4.0.0",
44
44
  "eslint-plugin-promise": "^6.0.0",
45
45
  "eslint-plugin-security": "^1.4.0",
46
- "faker": "^5.5.3",
47
46
  "husky": "^7.0.4",
48
- "lint-staged": "^12.3.5",
47
+ "lint-staged": "^12.3.7",
49
48
  "markdownlint-cli": "^0.31.1",
50
49
  "mocha": "^9.2.2",
51
50
  "npm-run-all": "^4.1.5",
52
51
  "pinst": "^3.0.0",
53
- "prettier": "^2.5.1",
52
+ "prettier": "^2.6.0",
54
53
  "rimraf": "^3.0.2",
55
54
  "strict-event-emitter-types": "^2.0.0",
56
55
  "ts-mockito": "^2.6.1",
@@ -66,7 +65,7 @@
66
65
  "lint:code": "eslint --fix --ext .ts src tests",
67
66
  "lint": "run-p lint:*",
68
67
  "lint-staged": "lint-staged",
69
- "dist": "if [ -d \"src\" ]; then rm -rf dist && npm run build && npm run lint && npm run test && cp package.json dist && cp package-lock.json dist && cp *.md dist && cp LICENSE dist && cp .npmignore dist && cd dist && npm publish; fi",
68
+ "dist": "if [ -d \"src\" ]; then rm -rf dist && npm run build && npm run lint && npm run test && cp package.json dist && cp package-lock.json dist && cp *.md dist && cp LICENSE dist && cp .npmignore dist && cd dist && npm publish --tag beta; fi",
70
69
  "prepublishOnly": "if [ -d \"src\" ]; then echo \"Please use: npm run dist\" && exit 125; fi && pinst --disable",
71
70
  "_postinstall": "husky install",
72
71
  "postpublish": "pinst --enable"
@@ -0,0 +1,9 @@
1
+ import type { Entity } from '../Entity';
2
+ import type { OmitEntityCollections, OmitFunctions } from '../types';
3
+ import type { DoNotReturnRecords } from './DoNotReturnRecords';
4
+ import type { OnConflictOptions } from './OnConflictOptions';
5
+ import type { ReturnSelect } from './ReturnSelect';
6
+ declare type CreateOnConflictOptions<T extends Entity, K extends string & keyof OmitFunctions<OmitEntityCollections<T>> = string & keyof OmitFunctions<OmitEntityCollections<T>>> = OnConflictOptions<T, K> & Partial<DoNotReturnRecords | ReturnSelect<T>>;
7
+ declare type CreateOptionalOnConflictOptions<T extends Entity, K extends string & keyof OmitFunctions<OmitEntityCollections<T>> = string & keyof OmitFunctions<OmitEntityCollections<T>>> = Partial<OnConflictOptions<T, K>> & (DoNotReturnRecords | ReturnSelect<T>);
8
+ export declare type CreateOptions<T extends Entity, K extends string & keyof OmitFunctions<OmitEntityCollections<T>> = string & keyof OmitFunctions<OmitEntityCollections<T>>> = CreateOnConflictOptions<T, K> | CreateOptionalOnConflictOptions<T, K>;
9
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=CreateOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateOptions.js","sourceRoot":"./","sources":["query/CreateOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import type { Entity } from '../Entity';
2
+ import type { OmitEntityCollections, OmitFunctions } from '../types';
3
+ import type { WhereQuery } from './WhereQuery';
4
+ export interface OnConflictIgnoreOptions<T extends Entity, K extends string & keyof OmitFunctions<OmitEntityCollections<T>> = string & keyof OmitFunctions<OmitEntityCollections<T>>> {
5
+ onConflict: {
6
+ action: 'ignore';
7
+ targets: K[];
8
+ where?: WhereQuery<T>;
9
+ };
10
+ }
11
+ export interface OnConflictMergeOptions<T extends Entity, K extends string & keyof OmitFunctions<OmitEntityCollections<T>> = string & keyof OmitFunctions<OmitEntityCollections<T>>> {
12
+ onConflict: {
13
+ action: 'merge';
14
+ targets: K[];
15
+ merge?: K[];
16
+ where?: WhereQuery<T>;
17
+ };
18
+ }
19
+ export declare type OnConflictOptions<T extends Entity, K extends string & keyof OmitFunctions<OmitEntityCollections<T>> = string & keyof OmitFunctions<OmitEntityCollections<T>>> = OnConflictIgnoreOptions<T, K> | OnConflictMergeOptions<T, K>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=OnConflictOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnConflictOptions.js","sourceRoot":"./","sources":["query/OnConflictOptions.ts"],"names":[],"mappings":""}