@vendure/core 3.7.4-master-202610050222 → 3.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/config/catalog/default-stock-location-strategy.d.ts +57 -2
  2. package/dist/config/catalog/default-stock-location-strategy.js +101 -5
  3. package/dist/config/catalog/default-stock-location-strategy.js.map +1 -1
  4. package/dist/config/catalog/multi-channel-stock-location-strategy.d.ts +0 -5
  5. package/dist/config/catalog/multi-channel-stock-location-strategy.js +13 -27
  6. package/dist/config/catalog/multi-channel-stock-location-strategy.js.map +1 -1
  7. package/dist/config/order/default-order-process.js +13 -1
  8. package/dist/config/order/default-order-process.js.map +1 -1
  9. package/dist/config/order/stock-allocation-strategy.d.ts +4 -0
  10. package/dist/entity/order-line/order-line.entity.d.ts +3 -29
  11. package/dist/entity/order-line/order-line.entity.js +20 -66
  12. package/dist/entity/order-line/order-line.entity.js.map +1 -1
  13. package/dist/event-bus/events/stock-shortfall-event.d.ts +40 -0
  14. package/dist/event-bus/events/stock-shortfall-event.js +29 -0
  15. package/dist/event-bus/events/stock-shortfall-event.js.map +1 -0
  16. package/dist/event-bus/index.d.ts +1 -0
  17. package/dist/event-bus/index.js +1 -0
  18. package/dist/event-bus/index.js.map +1 -1
  19. package/dist/migration-utils/index.d.ts +0 -1
  20. package/dist/migration-utils/index.js +1 -3
  21. package/dist/migration-utils/index.js.map +1 -1
  22. package/dist/service/helpers/order-modifier/order-modifier.d.ts +15 -2
  23. package/dist/service/helpers/order-modifier/order-modifier.js +37 -12
  24. package/dist/service/helpers/order-modifier/order-modifier.js.map +1 -1
  25. package/dist/service/helpers/utils/stock-lock-order.d.ts +11 -0
  26. package/dist/service/helpers/utils/stock-lock-order.js +22 -0
  27. package/dist/service/helpers/utils/stock-lock-order.js.map +1 -0
  28. package/dist/service/services/product-variant.service.d.ts +9 -2
  29. package/dist/service/services/product-variant.service.js +18 -2
  30. package/dist/service/services/product-variant.service.js.map +1 -1
  31. package/dist/service/services/stock-level.service.d.ts +124 -2
  32. package/dist/service/services/stock-level.service.js +181 -12
  33. package/dist/service/services/stock-level.service.js.map +1 -1
  34. package/dist/service/services/stock-movement.service.d.ts +9 -0
  35. package/dist/service/services/stock-movement.service.js +143 -50
  36. package/dist/service/services/stock-movement.service.js.map +1 -1
  37. package/package.json +2 -2
  38. package/dist/migration-utils/v3_8_orderline_promotion_rescale.d.ts +0 -57
  39. package/dist/migration-utils/v3_8_orderline_promotion_rescale.js +0 -232
  40. package/dist/migration-utils/v3_8_orderline_promotion_rescale.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"order-modifier.js","sourceRoot":"","sources":["../../../../src/service/helpers/order-modifier/order-modifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"order-modifier.js","sourceRoot":"","sources":["../../../../src/service/helpers/order-modifier/order-modifier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { ID } from '@vendure/common/lib/shared-types';
2
+ /**
3
+ * Orders ProductVariant ids for taking StockLevel row locks. Every code path which locks the
4
+ * StockLevels of more than one variant in a transaction must visit them in this order, so two
5
+ * transactions never take the same locks in opposite order and deadlock.
6
+ *
7
+ * Numeric ids compare by value (`9` before `10`), without converting to a number, so ids
8
+ * beyond `Number.MAX_SAFE_INTEGER` keep their order. Any other id (e.g. a UUID) compares as a
9
+ * plain string. A single database uses one id strategy, so the two kinds are never mixed.
10
+ */
11
+ export declare function compareIdsForLockOrder(a: ID, b: ID): number;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compareIdsForLockOrder = compareIdsForLockOrder;
4
+ const numericId = /^\d+$/;
5
+ /**
6
+ * Orders ProductVariant ids for taking StockLevel row locks. Every code path which locks the
7
+ * StockLevels of more than one variant in a transaction must visit them in this order, so two
8
+ * transactions never take the same locks in opposite order and deadlock.
9
+ *
10
+ * Numeric ids compare by value (`9` before `10`), without converting to a number, so ids
11
+ * beyond `Number.MAX_SAFE_INTEGER` keep their order. Any other id (e.g. a UUID) compares as a
12
+ * plain string. A single database uses one id strategy, so the two kinds are never mixed.
13
+ */
14
+ function compareIdsForLockOrder(a, b) {
15
+ const idA = String(a);
16
+ const idB = String(b);
17
+ if (numericId.test(idA) && numericId.test(idB) && idA.length !== idB.length) {
18
+ return idA.length - idB.length;
19
+ }
20
+ return idA < idB ? -1 : idA > idB ? 1 : 0;
21
+ }
22
+ //# sourceMappingURL=stock-lock-order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stock-lock-order.js","sourceRoot":"","sources":["../../../../src/service/helpers/utils/stock-lock-order.ts"],"names":[],"mappings":";;AAaA,wDAOC;AAlBD,MAAM,SAAS,GAAG,OAAO,CAAC;AAE1B;;;;;;;;GAQG;AACH,SAAgB,sBAAsB,CAAC,CAAK,EAAE,CAAK;IAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;QAC1E,OAAO,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IACnC,CAAC;IACD,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC"}
@@ -23,7 +23,7 @@ import { ChannelService } from './channel.service';
23
23
  import { FacetValueService } from './facet-value.service';
24
24
  import { GlobalSettingsService } from './global-settings.service';
25
25
  import { RoleService } from './role.service';
26
- import { StockLevelService } from './stock-level.service';
26
+ import { StockLevelReadOptions, StockLevelService } from './stock-level.service';
27
27
  import { StockMovementService } from './stock-movement.service';
28
28
  import { TaxCategoryService } from './tax-category.service';
29
29
  /**
@@ -89,8 +89,15 @@ export declare class ProductVariantService {
89
89
  * Returns the number of saleable units of the ProductVariant, i.e. how many are available
90
90
  * for purchase by Customers. This is determined by the ProductVariant's `stockOnHand` value,
91
91
  * as well as the local and global `outOfStockThreshold` settings.
92
+ *
93
+ * Pass `{ lockStockLevels: true }` when the result is used to decide whether stock may be
94
+ * allocated. This holds a write lock on the StockLevel rows until the surrounding
95
+ * transaction commits, so that two concurrent checkouts cannot both pass the check and
96
+ * then both allocate the same units. See {@link StockLevelService.getAvailableStock}.
97
+ *
98
+ * @since 3.7.4 - Added the `options` parameter
92
99
  */
93
- getSaleableStockLevel(ctx: RequestContext, variant: ProductVariant): Promise<number>;
100
+ getSaleableStockLevel(ctx: RequestContext, variant: ProductVariant, options?: StockLevelReadOptions): Promise<number>;
94
101
  private getOutOfStockThreshold;
95
102
  /**
96
103
  * @description
@@ -259,15 +259,22 @@ let ProductVariantService = class ProductVariantService {
259
259
  * Returns the number of saleable units of the ProductVariant, i.e. how many are available
260
260
  * for purchase by Customers. This is determined by the ProductVariant's `stockOnHand` value,
261
261
  * as well as the local and global `outOfStockThreshold` settings.
262
+ *
263
+ * Pass `{ lockStockLevels: true }` when the result is used to decide whether stock may be
264
+ * allocated. This holds a write lock on the StockLevel rows until the surrounding
265
+ * transaction commits, so that two concurrent checkouts cannot both pass the check and
266
+ * then both allocate the same units. See {@link StockLevelService.getAvailableStock}.
267
+ *
268
+ * @since 3.7.4 - Added the `options` parameter
262
269
  */
263
- async getSaleableStockLevel(ctx, variant) {
270
+ async getSaleableStockLevel(ctx, variant, options) {
264
271
  const { outOfStockThreshold, trackInventory } = await this.globalSettingsService.getSettings(ctx);
265
272
  const inventoryNotTracked = variant.trackInventory === generated_types_1.GlobalFlag.FALSE ||
266
273
  (variant.trackInventory === generated_types_1.GlobalFlag.INHERIT && trackInventory === false);
267
274
  if (inventoryNotTracked) {
268
275
  return Number.MAX_SAFE_INTEGER;
269
276
  }
270
- const { stockOnHand, stockAllocated } = await this.stockLevelService.getAvailableStock(ctx, variant.id);
277
+ const { stockOnHand, stockAllocated } = await this.stockLevelService.getAvailableStock(ctx, variant.id, options);
271
278
  const effectiveOutOfStockThreshold = variant.useGlobalOutOfStockThreshold
272
279
  ? outOfStockThreshold
273
280
  : variant.outOfStockThreshold;
@@ -311,6 +318,9 @@ let ProductVariantService = class ProductVariantService {
311
318
  }
312
319
  async create(ctx, input) {
313
320
  const ids = [];
321
+ // No up-front stock lock here, unlike `update()`: each variant is created in this loop, so
322
+ // its StockLevel rows do not exist until `createSingle` inserts them and no other
323
+ // transaction can be holding them. The ids are not even known before the loop runs.
314
324
  for (const productInput of input) {
315
325
  const id = await this.createSingle(ctx, productInput);
316
326
  ids.push(id);
@@ -320,6 +330,12 @@ let ProductVariantService = class ProductVariantService {
320
330
  return createdVariants;
321
331
  }
322
332
  async update(ctx, input) {
333
+ // Lock every variant whose stock this call adjusts before the loop below touches any of it.
334
+ // The loop visits the variants in input order, and a bulk update can share variants with a
335
+ // concurrent settlement or order modification; taking the locks up front in the shared
336
+ // order is what stops the two from deadlocking. Untracked variants are included because the
337
+ // adjustment derives its delta from the current `stockOnHand` either way.
338
+ await this.stockLevelService.lockStockLevelsForVariants(ctx, input.filter(i => i.stockOnHand != null || i.stockLevels).map(i => i.id), { includeUntrackedVariants: true });
323
339
  for (const productInput of input) {
324
340
  await this.updateSingle(ctx, productInput);
325
341
  }
@@ -1 +1 @@
1
- {"version":3,"file":"product-variant.service.js","sourceRoot":"","sources":["../../../src/service/services/product-variant.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yEAW6C;AAE7C,uDAAoD;AACpD,qCAAqC;AAIrC,6FAAuF;AACvF,sDAAgG;AAChG,4EAA+D;AAC/D,0DAAsD;AAGtD,8CAAiD;AAEjD,gEAA4D;AAC5D,wFAAoF;AACpF,yCASsB;AAEtB,6FAAkF;AAClF,wHAA4G;AAC5G,gGAAqF;AACrF,wEAA8D;AAC9D,yDAAqD;AACrD,wGAAkG;AAClG,wFAAmF;AACnF,oGAA8F;AAC9F,kHAA4G;AAC5G,yFAAoF;AACpF,2GAAsG;AACtG,yFAAqF;AACrF,iFAA6E;AAC7E,gEAA4D;AAC5D,gEAA4D;AAE5D,mDAA+C;AAC/C,uDAAmD;AACnD,+DAA0D;AAC1D,uEAAkE;AAClE,iDAA6C;AAC7C,+DAA0D;AAC1D,qEAAgE;AAChE,iEAA4D;AAE5D;;;;;GAKG;AAGI,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAC9B,YACY,UAAmC,EACnC,aAA4B,EAC5B,kBAAsC,EACtC,iBAAoC,EACpC,YAA0B,EAC1B,iBAAoC,EACpC,QAAkB,EAClB,gBAAkC,EAClC,qBAA4C,EAC5C,oBAA0C,EAC1C,iBAAoC,EACpC,cAA8B,EAC9B,WAAwB,EACxB,0BAAsD,EACtD,YAAwC,EACxC,sBAA8C,EAC9C,UAA6B;QAhB7B,eAAU,GAAV,UAAU,CAAyB;QACnC,kBAAa,GAAb,aAAa,CAAe;QAC5B,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,aAAQ,GAAR,QAAQ,CAAU;QAClB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAa;QACxB,+BAA0B,GAA1B,0BAA0B,CAA4B;QACtD,iBAAY,GAAZ,YAAY,CAA4B;QACxC,2BAAsB,GAAtB,sBAAsB,CAAwB;QAC9C,eAAU,GAAV,UAAU,CAAmB;IACtC,CAAC;IAEJ,KAAK,CAAC,OAAO,CACT,GAAmB,EACnB,OAA0C;QAE1C,MAAM,SAAS,GAAG,CAAC,eAAe,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QAC/D,MAAM,iBAAiB,GAA+B,EAAE,CAAC;QACzD,MAAM,qBAAqB,GACvB,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CACzC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EACf,cAAc,CACjB,CAAC;QACN,IAAI,qBAAqB,EAAE,CAAC;YACxB,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9B,iBAAiB,CAAC,YAAY,GAAG,gBAAgB,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,CAAC,gBAAgB;aACvB,KAAK,CAAC,uCAAc,EAAE,OAAO,EAAE;YAC5B,SAAS;YACT,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,KAAK,EAAE,EAAE,SAAS,EAAE,IAAA,gBAAM,GAAE,EAAE;YAC9B,GAAG;YACH,iBAAiB;SACpB,CAAC;aACD,eAAe,EAAE;aACjB,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE;YACnC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACxE,OAAO;gBACH,KAAK;gBACL,UAAU;aACb,CAAC;QACN,CAAC,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CACH,GAAmB,EACnB,gBAAoB,EACpB,SAAyC;QAEzC,OAAO,IAAI,CAAC,UAAU;aACjB,gBAAgB,CAAC,GAAG,EAAE,uCAAc,EAAE,gBAAgB,EAAE,GAAG,CAAC,SAAS,EAAE;YACpE,SAAS,EAAE;gBACP,GAAG,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,uBAAuB,CAAC,CAAC;gBACvE,aAAa;aAChB;YACD,KAAK,EAAE,EAAE,SAAS,EAAE,IAAA,gBAAM,GAAE,EAAE;SACjC,CAAC;aACD,IAAI,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;YACjB,IAAI,MAAM,EAAE,CAAC;gBACT,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE;oBACnF,SAAS;iBACZ,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;IACX,CAAC;IAED,SAAS,CAAC,GAAmB,EAAE,GAAS;QACpC,OAAO,IAAI,CAAC,UAAU;aACjB,kBAAkB,CAAC,GAAG,EAAE,uCAAc,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE;YACzD,SAAS,EAAE;gBACP,SAAS;gBACT,aAAa;gBACb,mBAAmB;gBACnB,aAAa;gBACb,QAAQ;gBACR,eAAe;aAClB;SACJ,CAAC;aACD,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,sBAAsB,CAClB,GAAmB,EACnB,SAAa,EACb,UAA4C,EAAE,EAC9C,SAAyC;QAEzC,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB;aAC3B,KAAK,CAAC,uCAAc,EAAE,OAAO,EAAE;YAC5B,SAAS,EAAE;gBACP,GAAG,CAAC,SAAS,IAAI;oBACb,SAAS;oBACT,aAAa;oBACb,mBAAmB;oBACnB,QAAQ;oBACR,eAAe;iBAClB,CAAC;gBACF,aAAa;aAChB;YACD,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE;YACtB,KAAK,EAAE,EAAE,SAAS,EAAE,IAAA,gBAAM,GAAE,EAAE;YAC9B,GAAG;SACN,CAAC;aACD,kBAAkB,CAAC,yBAAyB,EAAE,SAAS,EAAE,yBAAyB,EAAE;YACjF,SAAS,EAAE,GAAG,CAAC,SAAS;SAC3B,CAAC;aACD,kBAAkB,CAAC,wBAAwB,EAAE,SAAS,EAAE,yBAAyB,EAAE;YAChF,SAAS;SACZ,CAAC,CAAC;QAEP,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YACzB,EAAE,CAAC,QAAQ,CAAC,mCAAmC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,EAAE,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE;YAC9D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACxE,OAAO;gBACH,KAAK;gBACL,UAAU;aACb,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,yBAAyB,CACrB,GAAmB,EACnB,YAAgB,EAChB,OAAyC,EACzC,YAA2C,EAAE;QAE7C,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB;aAC3B,KAAK,CAAC,uCAAc,EAAE,OAAO,EAAE;YAC5B,SAAS,EAAE,IAAA,eAAM,EAAC,CAAC,GAAG,SAAS,EAAE,aAAa,CAAC,CAAC;YAChD,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,GAAG;SACN,CAAC;aACD,QAAQ,CAAC,4BAA4B,EAAE,YAAY,CAAC;aACpD,QAAQ,CAAC,wBAAwB,EAAE,SAAS,CAAC;aAC7C,QAAQ,CAAC,2BAA2B,CAAC;aACrC,QAAQ,CAAC,kCAAkC,CAAC;aAC5C,QAAQ,CAAC,+BAA+B,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;QAEjE,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YAC5F,EAAE,CAAC,QAAQ,CAAC,4BAA4B,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,EAAE,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE;YAC9D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACxE,OAAO;gBACH,KAAK;gBACL,UAAU;aACb,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,yBAAyB,CAAC,GAAmB,EAAE,gBAAoB;QACrE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,uCAAc,EAAE,gBAAgB,EAAE;YAC1F,SAAS,EAAE,CAAC,UAAU,CAAC;YACvB,SAAS,EAAE,GAAG,CAAC,SAAS;SAC3B,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,GAAmB,EAAE,gBAAoB;QACnE,OAAO,IAAI,CAAC,UAAU;aACjB,aAAa,CAAC,GAAG,EAAE,4BAAmB,CAAC;aACvC,kBAAkB,CAAC,KAAK,CAAC;aACzB,KAAK,CAAC,iCAAiC,EAAE,EAAE,gBAAgB,EAAE,CAAC;aAC9D,QAAQ,CAAC,4BAA4B,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;aACpE,OAAO,EAAE,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,uBAAuB,CAAC,GAAmB,EAAE,WAAe;QAC9D,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,kBAAS,EAAE,WAAW,EAAE;YAC3F,SAAS,EAAE,CAAC,gBAAgB,EAAE,4BAA4B,CAAC;YAC3D,kBAAkB,EAAE,IAAI;SAC3B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACnG,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAAC,GAAmB,EAAE,SAAa;QACnD,OAAO,IAAI,CAAC,UAAU;aACjB,gBAAgB,CAAC,GAAG,EAAE,uCAAc,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE;YAC7D,SAAS,EAAE,CAAC,SAAS,CAAC;SACzB,CAAC;aACD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxG,CAAC;IAED,wBAAwB,CAAC,GAAmB,EAAE,SAAa;QACvD,OAAO,IAAI,CAAC,UAAU;aACjB,gBAAgB,CAAC,GAAG,EAAE,uCAAc,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE;YAC7D,SAAS,EAAE,CAAC,aAAa,EAAE,mBAAmB,EAAE,sBAAsB,CAAC;SAC1E,CAAC;aACD,IAAI,CAAC,OAAO,CAAC,EAAE,CACZ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAC7F,CAAC;IACV,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,GAAmB,EAAE,OAAuB;QACnE,IAAI,OAAO,CAAC;QAEZ,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,wBAAO,EAAE,OAAO,CAAC,SAAS,EAAE;gBAC9E,kBAAkB,EAAE,IAAI;aAC3B,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC9B,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,qBAAqB,CAAC,GAAmB,EAAE,OAAuB;QACpE,MAAM,EAAE,mBAAmB,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAElG,MAAM,mBAAmB,GACrB,OAAO,CAAC,cAAc,KAAK,4BAAU,CAAC,KAAK;YAC3C,CAAC,OAAO,CAAC,cAAc,KAAK,4BAAU,CAAC,OAAO,IAAI,cAAc,KAAK,KAAK,CAAC,CAAC;QAChF,IAAI,mBAAmB,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,gBAAgB,CAAC;QACnC,CAAC;QACD,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAClF,GAAG,EACH,OAAO,CAAC,EAAE,CACb,CAAC;QACF,MAAM,4BAA4B,GAAG,OAAO,CAAC,4BAA4B;YACrE,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;QAElC,OAAO,WAAW,GAAG,cAAc,GAAG,4BAA4B,CAAC;IACvE,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,GAAmB,EAAE,OAAuB;QAC7E,MAAM,EAAE,mBAAmB,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAElG,MAAM,mBAAmB,GACrB,OAAO,CAAC,cAAc,KAAK,4BAAU,CAAC,KAAK;YAC3C,CAAC,OAAO,CAAC,cAAc,KAAK,4BAAU,CAAC,OAAO,IAAI,cAAc,KAAK,KAAK,CAAC,CAAC;QAChF,IAAI,mBAAmB,EAAE,CAAC;YACtB,OAAO,CAAC,CAAC;QACb,CAAC;aAAM,CAAC;YACJ,OAAO,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACpG,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,GAAmB,EAAE,OAAuB;QACnE,MAAM,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;QACnE,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC1E,OAAO,oBAAoB,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAChF,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,wBAAwB,CAAC,GAAmB,EAAE,OAAuB;QACvE,MAAM,EAAE,mBAAmB,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAClG,MAAM,mBAAmB,GACrB,OAAO,CAAC,cAAc,KAAK,4BAAU,CAAC,KAAK;YAC3C,CAAC,OAAO,CAAC,cAAc,KAAK,4BAAU,CAAC,OAAO,IAAI,cAAc,KAAK,KAAK,CAAC,CAAC;QAChF,IAAI,mBAAmB,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,gBAAgB,CAAC;QACnC,CAAC;QACD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACxF,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,MAAM,CACR,GAAmB,EACnB,KAAkC;QAElC,MAAM,GAAG,GAAS,EAAE,CAAC;QACrB,KAAK,MAAM,YAAY,IAAI,KAAK,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QACD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,2CAAmB,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7F,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,MAAM,CACR,GAAmB,EACnB,KAAkC;QAElC,KAAK,MAAM,YAAY,IAAI,KAAK,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,SAAS,CACxC,GAAG,EACH,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACvB,CAAC;QACF,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,2CAAmB,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7F,OAAO,eAAe,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,GAAmB,EAAE,KAAgC;QAC5E,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3E,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACnB,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACtB,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QACpB,CAAC;QACD,KAAK,CAAC,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,MAAM,iBAAiB,qBAChB,KAAK,CACX,CAAC;QACF,OAAO,iBAAiB,CAAC,KAAK,CAAC;QAC/B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACvD,GAAG;YACH,KAAK,EAAE,iBAAiB;YACxB,UAAU,EAAE,uCAAc;YAC1B,eAAe,EAAE,8DAAyB;YAC1C,UAAU,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;gBACxB,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;gBAC5B,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;oBAChC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU;yBACxC,aAAa,CAAC,GAAG,EAAE,qCAAa,CAAC;yBACjC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC5C,OAAO,CAAC,OAAO,GAAG,eAAe,CAAC;gBACtC,CAAC;gBACD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;oBACtB,OAAO,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;gBAC3F,CAAC;gBACD,OAAO,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,EAAS,CAAC;gBACjD,OAAO,CAAC,WAAW,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,aAAa,EAAS,CAAC;gBACzD,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBACjE,MAAM,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACnE,CAAC;YACD,qBAAqB,EAAE;gBACnB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,aAAa,EAAE,KAAK,CAAC,aAAa;aACrC;SACJ,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,0BAA0B,CAAC,eAAe,CAAC,GAAG,EAAE,uCAAc,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QAClG,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;QACvE,IAAI,KAAK,CAAC,WAAW,IAAI,IAAI,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,CACrD,GAAG,EACH,cAAc,CAAC,EAAE;YACjB,oEAAoE;YACpE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAY,CAC1C,CAAC;QACN,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACxE,MAAM,IAAI,CAAC,iCAAiC,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QACjG,IAAI,CAAC,IAAA,mBAAW,EAAC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;YACjD,gFAAgF;YAChF,oFAAoF;YACpF,wCAAwC;YACxC,MAAM,IAAI,CAAC,iCAAiC,CACxC,GAAG,EACH,cAAc,CAAC,EAAE,EACjB,KAAK,CAAC,KAAK,EACX,cAAc,CAAC,EAAE,EACjB,cAAc,CAAC,mBAAmB,CACrC,CAAC;QACN,CAAC;QACD,0FAA0F;QAC1F,2FAA2F;QAC3F,2FAA2F;QAC3F,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAEhF,0FAA0F;QAC1F,yEAAyE;QACzE,6EAA6E;QAC7E,mFAAmF;QACnF,wDAAwD;QACxD,4CAA4C;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,wBAAO,CAAC,CAAC,OAAO,CAAC;YACtE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,EAAE;YAC9B,SAAS,EAAE,CAAC,UAAU,CAAC;YACvB,oBAAoB,EAAE,OAAO;YAC7B,kBAAkB,EAAE,KAAK;SAC5B,CAAC,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,oBAAoB,GAAG,OAAO,CAAC,QAAQ;iBACxC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACd,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAA,mBAAW,EAAC,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAA,mBAAW,EAAC,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;YAE1F,IAAI,oBAAoB,CAAC,MAAM,EAAE,CAAC;gBAC9B,qEAAqE;gBACrE,gFAAgF;gBAChF,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;gBACxC,IAAI,cAAc,GAAS,EAAE,CAAC;gBAC9B,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;oBACnB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,qCAAa,CAAC,CAAC,IAAI,CAAC;wBAChF,KAAK,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,SAAS,CAAC,EAAE;wBAC5B,SAAS,EAAE,CAAC,OAAO,CAAC;wBACpB,kBAAkB,EAAE,KAAK;qBAC5B,CAAC,CAAC;oBACH,cAAc,GAAG,IAAA,eAAM,EAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjE,CAAC;gBAED,KAAK,MAAM,mBAAmB,IAAI,oBAAoB,EAAE,CAAC;oBACrD,MAAM,IAAI,CAAC,8BAA8B,CAAC,GAAG,EAAE;wBAC3C,iBAAiB,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;wBACtC,SAAS,EAAE,mBAAmB;qBACjC,CAAC,CAAC;oBAEH,+DAA+D;oBAC/D,oDAAoD;oBACpD,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;wBACnB,MAAM,OAAO,CAAC,GAAG,CAAC;4BACd,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CACvB,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG,EAAE,2BAAkB,EAAE,EAAE,EAAE;gCAC9D,mBAAmB;6BACtB,CAAC,CACL;4BACD,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAClB,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG,EAAE,qCAAa,EAAE,EAAE,EAAE;gCACzD,mBAAmB;6BACtB,CAAC,CACL;yBACJ,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,cAAc,CAAC,EAAE,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,GAAmB,EAAE,KAAgC;QAC5E,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,uCAAc,EAAE,KAAK,CAAC,EAAE,EAAE;YAC1F,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,CAAC,aAAa,EAAE,sBAAsB,CAAC;SACrD,CAAC,CAAC;QACH,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACpF,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,GAAG,mBAAmB,EAAE,CAAC;YAC/D,MAAM,IAAI,uBAAc,CAAC,sCAAsC,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC/F,CAAC;QACD,MAAM,+BAA+B,qBAC9B,KAAK,CACX,CAAC;QACF,OAAO,+BAA+B,CAAC,KAAK,CAAC;QAC7C,OAAO,+BAA+B,CAAC,WAAW,CAAC;QACnD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACvD,GAAG;YACH,KAAK,EAAE,+BAA+B;YACtC,UAAU,EAAE,uCAAc;YAC1B,eAAe,EAAE,8DAAyB;YAC1C,UAAU,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;gBAClB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;oBACtB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;oBACpF,IAAI,WAAW,EAAE,CAAC;wBACd,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC;oBAChC,CAAC;gBACL,CAAC;gBACD,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;oBAC5C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU;yBACxC,aAAa,CAAC,GAAG,EAAE,qCAAa,CAAC;yBACjC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;oBAClD,CAAC,CAAC,OAAO,GAAG,eAAe,CAAC;gBAChC,CAAC;gBACD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;oBACtB,MAAM,0BAA0B,GAAG,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CACvE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAA,mBAAW,EAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CACxE,CAAC;oBACF,CAAC,CAAC,WAAW,GAAG;wBACZ,GAAG,0BAA0B;wBAC7B,GAAG,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;qBACxE,CAAC;gBACN,CAAC;gBACD,IAAI,KAAK,CAAC,WAAW,IAAI,IAAI,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;oBACjD,MAAM,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,CACrD,GAAG,EACH,eAAe,CAAC,EAAE;oBAClB,oEAAoE;oBACpE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAY,CAC1C,CAAC;gBACN,CAAC;gBACD,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC3D,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YAC9D,CAAC;YACD,qBAAqB,EAAE;gBACnB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,aAAa,EAAE,KAAK,CAAC,aAAa;aACrC;SACJ,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,0BAA0B,CAAC,eAAe,CAAC,GAAG,EAAE,uCAAc,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QAClG,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,iCAAiC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5F,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACpC,IAAI,UAAU,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;oBAC7B,MAAM,IAAI,CAAC,yBAAyB,CAChC,GAAG,EACH,KAAK,CAAC,EAAE,EACR,GAAG,CAAC,SAAS,EACb,UAAU,CAAC,YAAY,CAC1B,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,CAAC,iCAAiC,CACxC,GAAG,EACH,KAAK,CAAC,EAAE,EACR,UAAU,CAAC,KAAK,EAChB,GAAG,CAAC,SAAS,EACb,UAAU,CAAC,YAAY,EACvB,UAAU,CAAC,YAAY,CAC1B,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,cAAc,CAAC,EAAE,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iCAAiC,CACnC,GAAmB,EACnB,gBAAoB,EACpB,KAAa,EACb,SAAa,EACb,YAA2B,EAC3B,YAAiC;QAEjC,MAAM,EAAE,iCAAiC,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;QAChF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,4BAAmB,CAAC,CAAC,IAAI,CAAC;YACjF,KAAK,EAAE;gBACH,OAAO,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE;aACpC;SACJ,CAAC,CAAC;QACH,IAAI,WAAW,GAAG,SAAS,CAAC,IAAI,CAC5B,CAAC,CAAC,EAAE,CACA,IAAA,mBAAW,EAAC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC;YACnC,CAAC,CAAC,YAAY,KAAK,CAAC,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAC3E,CAAC;QACF,IAAI,YAAY,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAClE,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,sBAAsB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA,EAAE,CAAC;gBAC1D,MAAM,IAAI,uBAAc,CAAC,yCAAyC,EAAE;oBAChE,YAAY;iBACf,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QACD,IAAI,wBAAwB,GAAiC,EAAE,CAAC;QAChE,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,4BAAmB,CAAC,CAAC,IAAI,CACnF,IAAI,4BAAmB,CAAC;gBACpB,SAAS;gBACT,KAAK;gBACL,OAAO,EAAE,IAAI,uCAAc,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC;gBACrD,YAAY,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB;gBAC7D,YAAY;aACf,CAAC,CACL,CAAC;YACF,IAAI,YAAY,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,0BAA0B,CAAC,eAAe,CACjD,GAAG,EACH,4BAAmB,EACnB,YAAY,EACZ,YAAY,CACf,CAAC;YACN,CAAC;YACD,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,sDAAwB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YAC1F,wBAAwB,GAAG,MAAM,iCAAiC,CAAC,cAAc,CAC7E,GAAG,EACH,YAAY,EACZ,SAAS,CACZ,CAAC;YACF,WAAW,GAAG,YAAY,CAAC;QAC/B,CAAC;aAAM,CAAC;YACJ,IAAA,0BAAW,EAAC,WAAW,EAAE;gBACrB,KAAK;gBACL,YAAY,EAAE,YAAY,IAAI,WAAW,CAAC,YAAY;aACzD,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU;iBACrC,aAAa,CAAC,GAAG,EAAE,4BAAmB,CAAC;iBACvC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEvB,IAAI,YAAY,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,0BAA0B,CAAC,eAAe,CACjD,GAAG,EACH,4BAAmB,EACnB,YAAY,EACZ,YAAY,CACf,CAAC;YACN,CAAC;YACD,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,sDAAwB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YAC1F,wBAAwB,GAAG,MAAM,iCAAiC,CAAC,cAAc,CAC7E,GAAG,EACH,YAAY,EACZ,SAAS,CACZ,CAAC;QACN,CAAC;QACD,MAAM,8BAA8B,GAAG,IAAA,eAAM,EAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC,MAAM,CAChF,CAAC,CAAC,EAAE;QACA,kEAAkE;QAClE,8DAA8D;QAC9D,oEAAoE;QACpE,CAAC,CAAC,IAAA,mBAAW,EAAC,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,CAAC,CAC5E,CAAC;QACF,IAAI,8BAA8B,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,UAAU;iBAChD,aAAa,CAAC,GAAG,EAAE,4BAAmB,CAAC;iBACvC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC1C,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CACvB,IAAI,sDAAwB,CAAC,GAAG,EAAE,uBAAuB,EAAE,SAAS,CAAC,CACxE,CAAC;QACN,CAAC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC3B,GAAmB,EACnB,SAAa,EACb,SAAa,EACb,YAA0B;QAE1B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,4BAAmB,CAAC,CAAC,OAAO,CAAC;YACvF,KAAK,EAAE;gBACH,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;gBAC1B,SAAS;gBACT,YAAY;aACf;SACJ,CAAC,CAAC;QACH,IAAI,YAAY,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,4BAAmB,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACnF,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,sDAAwB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YAC1F,MAAM,EAAE,iCAAiC,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAChF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,4BAAmB,CAAC,CAAC,IAAI,CAAC;gBACjF,KAAK,EAAE;oBACH,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;iBAC7B;aACJ,CAAC,CAAC;YACH,MAAM,wBAAwB,GAAG,MAAM,iCAAiC,CAAC,cAAc,CACnF,GAAG,EACH,YAAY,EACZ,SAAS,CACZ,CAAC;YACF,IAAI,wBAAwB,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,UAAU;qBAChD,aAAa,CAAC,GAAG,EAAE,4BAAmB,CAAC;qBACvC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CACvB,IAAI,sDAAwB,CAAC,GAAG,EAAE,uBAAuB,EAAE,SAAS,CAAC,CACxE,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,UAAU,CACZ,GAAmB,EACnB,EAAa,EACb,eAAwB,IAAI;QAE5B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,QAA0B,CAAC;QAC/B,IAAI,YAAY,EAAE,CAAC;YACf,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,EAAE,uCAAc,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACjG,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,mBAAW,EAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3F,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBACpB,MAAM,IAAI,4BAAmB,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;YAC/D,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU;iBAC3B,aAAa,CAAC,GAAG,EAAE,uCAAc,CAAC;iBAClC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QACnC,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,uCAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3F,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,2CAAmB,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QACnF,OAAO;YACH,MAAM,EAAE,gCAAc,CAAC,OAAO;SACjC,CAAC;IACN,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,kBAAkB,CACpB,GAAmB,EACnB,OAAuB,EACvB,UAAa;QAEb,MAAM,QAAQ,GAAG,gCAAgC,OAAO,CAAC,EAAE,EAAE,CAAC;QAC9D,IAAI,qBAAqB,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAA0B,GAAG,EAAE,QAAQ,CAAC,CAAC;QAE1F,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACzB,kEAAkE;YAClE,qBAAqB,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;;gBAC1D,IAAI,CAAC;oBACD,IAAI,CAAC,CAAA,MAAA,OAAO,CAAC,oBAAoB,0CAAE,MAAM,CAAA,EAAE,CAAC;wBACxC,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAC5D,GAAG,EACH,uCAAc,EACd,OAAO,CAAC,EAAE,EACV,EAAE,SAAS,EAAE,CAAC,sBAAsB,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CACpE,CAAC;wBACF,OAAO,CAAC,oBAAoB,GAAG,iBAAiB,CAAC,oBAAoB,CAAC;oBAC1E,CAAC;oBACD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;wBACvB,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CACjE,GAAG,EACH,uCAAc,EACd,OAAO,CAAC,EAAE,EACV,EAAE,SAAS,EAAE,CAAC,aAAa,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAC3D,CAAC;wBACF,OAAO,CAAC,WAAW,GAAG,sBAAsB,CAAC,WAAW,CAAC;oBAC7D,CAAC;oBACD,OAAO,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC/E,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBACd,MAAM,CAAC,CAAC,CAAC,CAAC;gBACd,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,eAAe,GAAG,MAAM,qBAAqB,CAAC;QACpD,OAAO,eAAe,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,+BAA+B,CACzC,GAAmB,EACnB,QAA0B;QAE1B,OAAO,MAAM,OAAO,CAAC,GAAG,CACpB,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YACzB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC3E,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,iBAAiB,EAAE,GAAG,EAAE;gBACrD,SAAS;gBACT,aAAa;gBACb,CAAC,aAAa,EAAE,OAAO,CAAC;aAC3B,CAAC,CAAC;QACP,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,uBAAuB,CACzB,OAAuB,EACvB,GAAmB,EACnB,KAAa,EACb,mBAAmB,GAAG,KAAK;QAE3B,OAAO,IAAI,CAAC,sBAAsB,CAAC,uBAAuB,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;IACzG,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,8BAA8B,CAChC,GAAmB,EACnB,KAA0C;;QAE1C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,0BAA0B,CACnE,GAAG,EACH,KAAK,CAAC,SAAS,EACf,4BAAU,CAAC,aAAa,CAC3B,CAAC;QACF,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,MAAM,IAAI,uBAAc,EAAE,CAAC;QAC/B,CAAC;QACD,+EAA+E;QAC/E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CACrD,GAAG,EACH,uCAAc,EACd,KAAK,CAAC,iBAAiB,EACvB,GAAG,CAAC,SAAS,EACb;YACI,SAAS,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;SACvC,CACJ,CAAC;QACF,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,gBAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5F,MAAM,kBAAkB,GAAS,EAAE,CAAC;QACpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACpB,SAAS;YACb,CAAC;YACD,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACjD,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG,EAAE,wBAAO,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAC/F,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG,EAAE,uCAAc,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAC/F,MAAM,KAAK,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YACpF,MAAM,IAAI,CAAC,iCAAiC,CACxC,GAAG,EACH,OAAO,CAAC,EAAE,EACV,IAAA,wBAAU,EAAC,KAAK,GAAG,WAAW,CAAC,EAC/B,KAAK,CAAC,SAAS,EACf,aAAa,CAAC,mBAAmB,CACpC,CAAC;YACF,MAAM,QAAQ,GAAG,CAAA,MAAA,OAAO,CAAC,MAAM,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAI,EAAE,CAAC;YAC3D,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;YACvF,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,yFAAyF;QACzF,sFAAsF;QACtF,sFAAsF;QACtF,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACjF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAC/B,GAAG,EACH,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC1B,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CACvB,IAAI,0DAA0B,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAC5E,CAAC;QACN,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,2BAA2B,CACrC,GAAmB,EACnB,UAAgB,EAChB,SAAa;QAEb,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;QACX,CAAC;QACD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU;aACvC,aAAa,CAAC,GAAG,EAAE,sBAAa,CAAC;aACjC,kBAAkB,CAAC,eAAe,CAAC;aACnC,SAAS,CAAC,wBAAwB,EAAE,SAAS,CAAC;aAC9C,KAAK,CAAC,yBAAyB,EAAE,EAAE,SAAS,EAAE,CAAC;aAC/C,OAAO,EAAE,CAAC;QACf,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO;QACX,CAAC;QACD,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CACzD,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACjC,gBAAgB;YAChB,eAAe,EAAE,aAAa,CAAC,EAAE;YACjC,WAAW,EAAE,CAAC;YACd,cAAc,EAAE,CAAC;SACpB,CAAC,CAAC,CACN,CAAC;QACF,MAAM,IAAI,CAAC,UAAU;aAChB,aAAa,CAAC,GAAG,EAAE,mBAAU,CAAC;aAC9B,kBAAkB,EAAE;aACpB,MAAM,EAAE;aACR,MAAM,CAAC,cAAc,CAAC;YACvB,wFAAwF;YACxF,mFAAmF;YACnF,0FAA0F;aACzF,YAAY,CAAC,KAAK,CAAC;aACnB,QAAQ,EAAE;aACV,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,gCAAgC,CAClC,GAAmB,EACnB,KAA4C;QAE5C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,0BAA0B,CACnE,GAAG,EACH,KAAK,CAAC,SAAS,EACf,4BAAU,CAAC,aAAa,CAC3B,CAAC;QACF,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,MAAM,IAAI,uBAAc,EAAE,CAAC;QAC/B,CAAC;QACD,+EAA+E;QAC/E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CACrD,GAAG,EACH,uCAAc,EACd,KAAK,CAAC,iBAAiB,EACvB,GAAG,CAAC,SAAS,EACb,EAAE,CACL,CAAC;QACF,OAAO,IAAI,CAAC,yBAAyB,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,yBAAyB,CAC3B,GAAmB,EACnB,QAA0B,EAC1B,SAAa;QAEb,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACxE,IAAI,IAAA,mBAAW,EAAC,SAAS,EAAE,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,uBAAc,CAAC,oDAAoD,CAAC,CAAC;QACnF,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,uCAAc,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3F,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,4BAAmB,CAAC,CAAC,MAAM,CAAC;gBACjE,SAAS;gBACT,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE;aAC9B,CAAC,CAAC;YACH,6FAA6F;YAC7F,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,uCAAc,CAAC,CAAC,IAAI,CAAC;gBAClF,KAAK,EAAE;oBACH,SAAS,EAAE,OAAO,CAAC,SAAS;iBAC/B;gBACD,SAAS,EAAE,CAAC,UAAU,CAAC;aAC1B,CAAC,CAAC;YACH,MAAM,2BAA2B,GAAI,EAAgB,CAAC,MAAM,CACxD,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAC5C,CAAC;YACF,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC;gBAC7D,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,wBAAO,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YAC/F,CAAC;QACL,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAC/B,GAAG,EACH,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC1B,CAAC;QACF,4FAA4F;QAC5F,2FAA2F;QAC3F,kCAAkC;QAClC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,0DAA0B,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QACpG,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAClC,GAAmB,EACnB,SAAa,EACb,YAAkB,EAAE,EACpB,iBAA2B;QAE3B,mFAAmF;QACnF,kDAAkD;QAClD,MAAM,YAAY,GAAG,CACjB,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,wBAAO,EAAE,SAAS,EAAE;YAC5D,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,CAAC,cAAc,EAAE,sBAAsB,CAAC;YACnD,kBAAkB,EAAE,KAAK;SAC5B,CAAC,CACL,CAAC,YAAY,CAAC;QAEf,MAAM,aAAa,GAAG,YAAY,IAAI,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAErF,IAAI,SAAS,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC;YAC5C,IAAI,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;QACD,IACI,CAAC,IAAA,0BAAW,EACR,SAAS,EACT,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CACnD,EACH,CAAC;YACC,IAAI,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,wBAAO,EAAE,SAAS,EAAE;YAC5E,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,CAAC,UAAU,EAAE,kBAAkB,CAAC;YAC3C,kBAAkB,EAAE,IAAI;SAC3B,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAErD,OAAO,CAAC,QAAQ;aACX,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;aACzB,OAAO,CAAC,OAAO,CAAC,EAAE;YACf,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACnE,IAAI,iBAAiB;gBAAE,OAAO;YAC9B,IAAI,gBAAgB,KAAK,cAAc,EAAE,CAAC;gBACtC,MAAM,IAAI,uBAAc,CAAC,0DAA0D,EAAE;oBACjF,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI;iBAC5D,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;IACX,CAAC;IAEO,6BAA6B,CAAC,YAAkC;QACpE,MAAM,IAAI,uBAAc,CAAC,iDAAiD,EAAE;YACxE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC;SACxD,CAAC,CAAC;IACP,CAAC;IAEO,QAAQ,CAAI,GAAQ,EAAE,IAAY,EAAE,IAAc;QACtD,OAAO,GAAG;aACL,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9B,IAAI,EAAE;aACN,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,2BAA2B,CACrC,GAAmB,EACnB,aAAoC;;QAEpC,IAAI,WAAwB,CAAC;QAC7B,IAAI,aAAa,EAAE,CAAC;YAChB,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,oBAAW,EAAE,aAAa,CAAC,CAAC;QAC1F,CAAC;aAAM,CAAC;YACJ,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjE,WAAW,GAAG,MAAA,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,mCAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,sDAAsD;YACtD,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ,CAAA;AA7jCY,sDAAqB;gCAArB,qBAAqB;IAFjC,IAAA,mBAAU,GAAE;IACZ,IAAA,iCAAU,GAAE;qCAGe,kDAAuB;QACpB,8BAAa;QACR,yCAAkB;QACnB,uCAAiB;QACtB,4BAAY;QACP,sCAAiB;QAC1B,oBAAQ;QACA,qCAAgB;QACX,+CAAqB;QACtB,6CAAoB;QACvB,uCAAiB;QACpB,gCAAc;QACjB,0BAAW;QACI,0DAA0B;QACxC,0DAA0B;QAChB,iDAAsB;QAClC,sCAAiB;GAlBhC,qBAAqB,CA6jCjC"}
1
+ {"version":3,"file":"product-variant.service.js","sourceRoot":"","sources":["../../../src/service/services/product-variant.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yEAW6C;AAE7C,uDAAoD;AACpD,qCAAqC;AAIrC,6FAAuF;AACvF,sDAAgG;AAChG,4EAA+D;AAC/D,0DAAsD;AAGtD,8CAAiD;AAEjD,gEAA4D;AAC5D,wFAAoF;AACpF,yCASsB;AAEtB,6FAAkF;AAClF,wHAA4G;AAC5G,gGAAqF;AACrF,wEAA8D;AAC9D,yDAAqD;AACrD,wGAAkG;AAClG,wFAAmF;AACnF,oGAA8F;AAC9F,kHAA4G;AAC5G,yFAAoF;AACpF,2GAAsG;AACtG,yFAAqF;AACrF,iFAA6E;AAC7E,gEAA4D;AAC5D,gEAA4D;AAE5D,mDAA+C;AAC/C,uDAAmD;AACnD,+DAA0D;AAC1D,uEAAkE;AAClE,iDAA6C;AAC7C,+DAAiF;AACjF,qEAAgE;AAChE,iEAA4D;AAE5D;;;;;GAKG;AAGI,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAC9B,YACY,UAAmC,EACnC,aAA4B,EAC5B,kBAAsC,EACtC,iBAAoC,EACpC,YAA0B,EAC1B,iBAAoC,EACpC,QAAkB,EAClB,gBAAkC,EAClC,qBAA4C,EAC5C,oBAA0C,EAC1C,iBAAoC,EACpC,cAA8B,EAC9B,WAAwB,EACxB,0BAAsD,EACtD,YAAwC,EACxC,sBAA8C,EAC9C,UAA6B;QAhB7B,eAAU,GAAV,UAAU,CAAyB;QACnC,kBAAa,GAAb,aAAa,CAAe;QAC5B,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,aAAQ,GAAR,QAAQ,CAAU;QAClB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAa;QACxB,+BAA0B,GAA1B,0BAA0B,CAA4B;QACtD,iBAAY,GAAZ,YAAY,CAA4B;QACxC,2BAAsB,GAAtB,sBAAsB,CAAwB;QAC9C,eAAU,GAAV,UAAU,CAAmB;IACtC,CAAC;IAEJ,KAAK,CAAC,OAAO,CACT,GAAmB,EACnB,OAA0C;QAE1C,MAAM,SAAS,GAAG,CAAC,eAAe,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QAC/D,MAAM,iBAAiB,GAA+B,EAAE,CAAC;QACzD,MAAM,qBAAqB,GACvB,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CACzC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EACf,cAAc,CACjB,CAAC;QACN,IAAI,qBAAqB,EAAE,CAAC;YACxB,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9B,iBAAiB,CAAC,YAAY,GAAG,gBAAgB,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,CAAC,gBAAgB;aACvB,KAAK,CAAC,uCAAc,EAAE,OAAO,EAAE;YAC5B,SAAS;YACT,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,KAAK,EAAE,EAAE,SAAS,EAAE,IAAA,gBAAM,GAAE,EAAE;YAC9B,GAAG;YACH,iBAAiB;SACpB,CAAC;aACD,eAAe,EAAE;aACjB,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE;YACnC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACxE,OAAO;gBACH,KAAK;gBACL,UAAU;aACb,CAAC;QACN,CAAC,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CACH,GAAmB,EACnB,gBAAoB,EACpB,SAAyC;QAEzC,OAAO,IAAI,CAAC,UAAU;aACjB,gBAAgB,CAAC,GAAG,EAAE,uCAAc,EAAE,gBAAgB,EAAE,GAAG,CAAC,SAAS,EAAE;YACpE,SAAS,EAAE;gBACP,GAAG,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,uBAAuB,CAAC,CAAC;gBACvE,aAAa;aAChB;YACD,KAAK,EAAE,EAAE,SAAS,EAAE,IAAA,gBAAM,GAAE,EAAE;SACjC,CAAC;aACD,IAAI,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;YACjB,IAAI,MAAM,EAAE,CAAC;gBACT,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE;oBACnF,SAAS;iBACZ,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;IACX,CAAC;IAED,SAAS,CAAC,GAAmB,EAAE,GAAS;QACpC,OAAO,IAAI,CAAC,UAAU;aACjB,kBAAkB,CAAC,GAAG,EAAE,uCAAc,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE;YACzD,SAAS,EAAE;gBACP,SAAS;gBACT,aAAa;gBACb,mBAAmB;gBACnB,aAAa;gBACb,QAAQ;gBACR,eAAe;aAClB;SACJ,CAAC;aACD,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,sBAAsB,CAClB,GAAmB,EACnB,SAAa,EACb,UAA4C,EAAE,EAC9C,SAAyC;QAEzC,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB;aAC3B,KAAK,CAAC,uCAAc,EAAE,OAAO,EAAE;YAC5B,SAAS,EAAE;gBACP,GAAG,CAAC,SAAS,IAAI;oBACb,SAAS;oBACT,aAAa;oBACb,mBAAmB;oBACnB,QAAQ;oBACR,eAAe;iBAClB,CAAC;gBACF,aAAa;aAChB;YACD,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE;YACtB,KAAK,EAAE,EAAE,SAAS,EAAE,IAAA,gBAAM,GAAE,EAAE;YAC9B,GAAG;SACN,CAAC;aACD,kBAAkB,CAAC,yBAAyB,EAAE,SAAS,EAAE,yBAAyB,EAAE;YACjF,SAAS,EAAE,GAAG,CAAC,SAAS;SAC3B,CAAC;aACD,kBAAkB,CAAC,wBAAwB,EAAE,SAAS,EAAE,yBAAyB,EAAE;YAChF,SAAS;SACZ,CAAC,CAAC;QAEP,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YACzB,EAAE,CAAC,QAAQ,CAAC,mCAAmC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,EAAE,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE;YAC9D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACxE,OAAO;gBACH,KAAK;gBACL,UAAU;aACb,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,yBAAyB,CACrB,GAAmB,EACnB,YAAgB,EAChB,OAAyC,EACzC,YAA2C,EAAE;QAE7C,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB;aAC3B,KAAK,CAAC,uCAAc,EAAE,OAAO,EAAE;YAC5B,SAAS,EAAE,IAAA,eAAM,EAAC,CAAC,GAAG,SAAS,EAAE,aAAa,CAAC,CAAC;YAChD,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,GAAG;SACN,CAAC;aACD,QAAQ,CAAC,4BAA4B,EAAE,YAAY,CAAC;aACpD,QAAQ,CAAC,wBAAwB,EAAE,SAAS,CAAC;aAC7C,QAAQ,CAAC,2BAA2B,CAAC;aACrC,QAAQ,CAAC,kCAAkC,CAAC;aAC5C,QAAQ,CAAC,+BAA+B,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;QAEjE,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YAC5F,EAAE,CAAC,QAAQ,CAAC,4BAA4B,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,EAAE,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE;YAC9D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACxE,OAAO;gBACH,KAAK;gBACL,UAAU;aACb,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,yBAAyB,CAAC,GAAmB,EAAE,gBAAoB;QACrE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,uCAAc,EAAE,gBAAgB,EAAE;YAC1F,SAAS,EAAE,CAAC,UAAU,CAAC;YACvB,SAAS,EAAE,GAAG,CAAC,SAAS;SAC3B,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,GAAmB,EAAE,gBAAoB;QACnE,OAAO,IAAI,CAAC,UAAU;aACjB,aAAa,CAAC,GAAG,EAAE,4BAAmB,CAAC;aACvC,kBAAkB,CAAC,KAAK,CAAC;aACzB,KAAK,CAAC,iCAAiC,EAAE,EAAE,gBAAgB,EAAE,CAAC;aAC9D,QAAQ,CAAC,4BAA4B,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;aACpE,OAAO,EAAE,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,uBAAuB,CAAC,GAAmB,EAAE,WAAe;QAC9D,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,kBAAS,EAAE,WAAW,EAAE;YAC3F,SAAS,EAAE,CAAC,gBAAgB,EAAE,4BAA4B,CAAC;YAC3D,kBAAkB,EAAE,IAAI;SAC3B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACnG,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAAC,GAAmB,EAAE,SAAa;QACnD,OAAO,IAAI,CAAC,UAAU;aACjB,gBAAgB,CAAC,GAAG,EAAE,uCAAc,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE;YAC7D,SAAS,EAAE,CAAC,SAAS,CAAC;SACzB,CAAC;aACD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxG,CAAC;IAED,wBAAwB,CAAC,GAAmB,EAAE,SAAa;QACvD,OAAO,IAAI,CAAC,UAAU;aACjB,gBAAgB,CAAC,GAAG,EAAE,uCAAc,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE;YAC7D,SAAS,EAAE,CAAC,aAAa,EAAE,mBAAmB,EAAE,sBAAsB,CAAC;SAC1E,CAAC;aACD,IAAI,CAAC,OAAO,CAAC,EAAE,CACZ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAC7F,CAAC;IACV,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,GAAmB,EAAE,OAAuB;QACnE,IAAI,OAAO,CAAC;QAEZ,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,wBAAO,EAAE,OAAO,CAAC,SAAS,EAAE;gBAC9E,kBAAkB,EAAE,IAAI;aAC3B,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC9B,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,qBAAqB,CACvB,GAAmB,EACnB,OAAuB,EACvB,OAA+B;QAE/B,MAAM,EAAE,mBAAmB,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAElG,MAAM,mBAAmB,GACrB,OAAO,CAAC,cAAc,KAAK,4BAAU,CAAC,KAAK;YAC3C,CAAC,OAAO,CAAC,cAAc,KAAK,4BAAU,CAAC,OAAO,IAAI,cAAc,KAAK,KAAK,CAAC,CAAC;QAChF,IAAI,mBAAmB,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,gBAAgB,CAAC;QACnC,CAAC;QACD,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAClF,GAAG,EACH,OAAO,CAAC,EAAE,EACV,OAAO,CACV,CAAC;QACF,MAAM,4BAA4B,GAAG,OAAO,CAAC,4BAA4B;YACrE,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;QAElC,OAAO,WAAW,GAAG,cAAc,GAAG,4BAA4B,CAAC;IACvE,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,GAAmB,EAAE,OAAuB;QAC7E,MAAM,EAAE,mBAAmB,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAElG,MAAM,mBAAmB,GACrB,OAAO,CAAC,cAAc,KAAK,4BAAU,CAAC,KAAK;YAC3C,CAAC,OAAO,CAAC,cAAc,KAAK,4BAAU,CAAC,OAAO,IAAI,cAAc,KAAK,KAAK,CAAC,CAAC;QAChF,IAAI,mBAAmB,EAAE,CAAC;YACtB,OAAO,CAAC,CAAC;QACb,CAAC;aAAM,CAAC;YACJ,OAAO,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACpG,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,GAAmB,EAAE,OAAuB;QACnE,MAAM,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;QACnE,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC1E,OAAO,oBAAoB,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAChF,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,wBAAwB,CAAC,GAAmB,EAAE,OAAuB;QACvE,MAAM,EAAE,mBAAmB,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAClG,MAAM,mBAAmB,GACrB,OAAO,CAAC,cAAc,KAAK,4BAAU,CAAC,KAAK;YAC3C,CAAC,OAAO,CAAC,cAAc,KAAK,4BAAU,CAAC,OAAO,IAAI,cAAc,KAAK,KAAK,CAAC,CAAC;QAChF,IAAI,mBAAmB,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,gBAAgB,CAAC;QACnC,CAAC;QACD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACxF,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,MAAM,CACR,GAAmB,EACnB,KAAkC;QAElC,MAAM,GAAG,GAAS,EAAE,CAAC;QACrB,2FAA2F;QAC3F,kFAAkF;QAClF,oFAAoF;QACpF,KAAK,MAAM,YAAY,IAAI,KAAK,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QACD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,2CAAmB,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7F,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,MAAM,CACR,GAAmB,EACnB,KAAkC;QAElC,4FAA4F;QAC5F,2FAA2F;QAC3F,uFAAuF;QACvF,4FAA4F;QAC5F,0EAA0E;QAC1E,MAAM,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CACnD,GAAG,EACH,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACxE,EAAE,wBAAwB,EAAE,IAAI,EAAE,CACrC,CAAC;QACF,KAAK,MAAM,YAAY,IAAI,KAAK,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,SAAS,CACxC,GAAG,EACH,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACvB,CAAC;QACF,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,2CAAmB,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7F,OAAO,eAAe,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,GAAmB,EAAE,KAAgC;QAC5E,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3E,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACnB,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACtB,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QACpB,CAAC;QACD,KAAK,CAAC,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,MAAM,iBAAiB,qBAChB,KAAK,CACX,CAAC;QACF,OAAO,iBAAiB,CAAC,KAAK,CAAC;QAC/B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACvD,GAAG;YACH,KAAK,EAAE,iBAAiB;YACxB,UAAU,EAAE,uCAAc;YAC1B,eAAe,EAAE,8DAAyB;YAC1C,UAAU,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;gBACxB,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;gBAC5B,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;oBAChC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU;yBACxC,aAAa,CAAC,GAAG,EAAE,qCAAa,CAAC;yBACjC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC5C,OAAO,CAAC,OAAO,GAAG,eAAe,CAAC;gBACtC,CAAC;gBACD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;oBACtB,OAAO,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;gBAC3F,CAAC;gBACD,OAAO,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,EAAS,CAAC;gBACjD,OAAO,CAAC,WAAW,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,aAAa,EAAS,CAAC;gBACzD,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBACjE,MAAM,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACnE,CAAC;YACD,qBAAqB,EAAE;gBACnB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,aAAa,EAAE,KAAK,CAAC,aAAa;aACrC;SACJ,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,0BAA0B,CAAC,eAAe,CAAC,GAAG,EAAE,uCAAc,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QAClG,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;QACvE,IAAI,KAAK,CAAC,WAAW,IAAI,IAAI,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,CACrD,GAAG,EACH,cAAc,CAAC,EAAE;YACjB,oEAAoE;YACpE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAY,CAC1C,CAAC;QACN,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACxE,MAAM,IAAI,CAAC,iCAAiC,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QACjG,IAAI,CAAC,IAAA,mBAAW,EAAC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;YACjD,gFAAgF;YAChF,oFAAoF;YACpF,wCAAwC;YACxC,MAAM,IAAI,CAAC,iCAAiC,CACxC,GAAG,EACH,cAAc,CAAC,EAAE,EACjB,KAAK,CAAC,KAAK,EACX,cAAc,CAAC,EAAE,EACjB,cAAc,CAAC,mBAAmB,CACrC,CAAC;QACN,CAAC;QACD,0FAA0F;QAC1F,2FAA2F;QAC3F,2FAA2F;QAC3F,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAEhF,0FAA0F;QAC1F,yEAAyE;QACzE,6EAA6E;QAC7E,mFAAmF;QACnF,wDAAwD;QACxD,4CAA4C;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,wBAAO,CAAC,CAAC,OAAO,CAAC;YACtE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,EAAE;YAC9B,SAAS,EAAE,CAAC,UAAU,CAAC;YACvB,oBAAoB,EAAE,OAAO;YAC7B,kBAAkB,EAAE,KAAK;SAC5B,CAAC,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,oBAAoB,GAAG,OAAO,CAAC,QAAQ;iBACxC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACd,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAA,mBAAW,EAAC,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAA,mBAAW,EAAC,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;YAE1F,IAAI,oBAAoB,CAAC,MAAM,EAAE,CAAC;gBAC9B,qEAAqE;gBACrE,gFAAgF;gBAChF,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;gBACxC,IAAI,cAAc,GAAS,EAAE,CAAC;gBAC9B,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;oBACnB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,qCAAa,CAAC,CAAC,IAAI,CAAC;wBAChF,KAAK,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,SAAS,CAAC,EAAE;wBAC5B,SAAS,EAAE,CAAC,OAAO,CAAC;wBACpB,kBAAkB,EAAE,KAAK;qBAC5B,CAAC,CAAC;oBACH,cAAc,GAAG,IAAA,eAAM,EAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjE,CAAC;gBAED,KAAK,MAAM,mBAAmB,IAAI,oBAAoB,EAAE,CAAC;oBACrD,MAAM,IAAI,CAAC,8BAA8B,CAAC,GAAG,EAAE;wBAC3C,iBAAiB,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;wBACtC,SAAS,EAAE,mBAAmB;qBACjC,CAAC,CAAC;oBAEH,+DAA+D;oBAC/D,oDAAoD;oBACpD,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;wBACnB,MAAM,OAAO,CAAC,GAAG,CAAC;4BACd,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CACvB,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG,EAAE,2BAAkB,EAAE,EAAE,EAAE;gCAC9D,mBAAmB;6BACtB,CAAC,CACL;4BACD,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAClB,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG,EAAE,qCAAa,EAAE,EAAE,EAAE;gCACzD,mBAAmB;6BACtB,CAAC,CACL;yBACJ,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,cAAc,CAAC,EAAE,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,GAAmB,EAAE,KAAgC;QAC5E,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,uCAAc,EAAE,KAAK,CAAC,EAAE,EAAE;YAC1F,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,CAAC,aAAa,EAAE,sBAAsB,CAAC;SACrD,CAAC,CAAC;QACH,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACpF,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,GAAG,mBAAmB,EAAE,CAAC;YAC/D,MAAM,IAAI,uBAAc,CAAC,sCAAsC,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC/F,CAAC;QACD,MAAM,+BAA+B,qBAC9B,KAAK,CACX,CAAC;QACF,OAAO,+BAA+B,CAAC,KAAK,CAAC;QAC7C,OAAO,+BAA+B,CAAC,WAAW,CAAC;QACnD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACvD,GAAG;YACH,KAAK,EAAE,+BAA+B;YACtC,UAAU,EAAE,uCAAc;YAC1B,eAAe,EAAE,8DAAyB;YAC1C,UAAU,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;gBAClB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;oBACtB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;oBACpF,IAAI,WAAW,EAAE,CAAC;wBACd,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC;oBAChC,CAAC;gBACL,CAAC;gBACD,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;oBAC5C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU;yBACxC,aAAa,CAAC,GAAG,EAAE,qCAAa,CAAC;yBACjC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;oBAClD,CAAC,CAAC,OAAO,GAAG,eAAe,CAAC;gBAChC,CAAC;gBACD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;oBACtB,MAAM,0BAA0B,GAAG,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CACvE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAA,mBAAW,EAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CACxE,CAAC;oBACF,CAAC,CAAC,WAAW,GAAG;wBACZ,GAAG,0BAA0B;wBAC7B,GAAG,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;qBACxE,CAAC;gBACN,CAAC;gBACD,IAAI,KAAK,CAAC,WAAW,IAAI,IAAI,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;oBACjD,MAAM,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,CACrD,GAAG,EACH,eAAe,CAAC,EAAE;oBAClB,oEAAoE;oBACpE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAY,CAC1C,CAAC;gBACN,CAAC;gBACD,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC3D,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YAC9D,CAAC;YACD,qBAAqB,EAAE;gBACnB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,aAAa,EAAE,KAAK,CAAC,aAAa;aACrC;SACJ,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,0BAA0B,CAAC,eAAe,CAAC,GAAG,EAAE,uCAAc,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QAClG,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,iCAAiC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5F,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACpC,IAAI,UAAU,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;oBAC7B,MAAM,IAAI,CAAC,yBAAyB,CAChC,GAAG,EACH,KAAK,CAAC,EAAE,EACR,GAAG,CAAC,SAAS,EACb,UAAU,CAAC,YAAY,CAC1B,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,CAAC,iCAAiC,CACxC,GAAG,EACH,KAAK,CAAC,EAAE,EACR,UAAU,CAAC,KAAK,EAChB,GAAG,CAAC,SAAS,EACb,UAAU,CAAC,YAAY,EACvB,UAAU,CAAC,YAAY,CAC1B,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,cAAc,CAAC,EAAE,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iCAAiC,CACnC,GAAmB,EACnB,gBAAoB,EACpB,KAAa,EACb,SAAa,EACb,YAA2B,EAC3B,YAAiC;QAEjC,MAAM,EAAE,iCAAiC,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;QAChF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,4BAAmB,CAAC,CAAC,IAAI,CAAC;YACjF,KAAK,EAAE;gBACH,OAAO,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE;aACpC;SACJ,CAAC,CAAC;QACH,IAAI,WAAW,GAAG,SAAS,CAAC,IAAI,CAC5B,CAAC,CAAC,EAAE,CACA,IAAA,mBAAW,EAAC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC;YACnC,CAAC,CAAC,YAAY,KAAK,CAAC,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAC3E,CAAC;QACF,IAAI,YAAY,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAClE,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,sBAAsB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA,EAAE,CAAC;gBAC1D,MAAM,IAAI,uBAAc,CAAC,yCAAyC,EAAE;oBAChE,YAAY;iBACf,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QACD,IAAI,wBAAwB,GAAiC,EAAE,CAAC;QAChE,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,4BAAmB,CAAC,CAAC,IAAI,CACnF,IAAI,4BAAmB,CAAC;gBACpB,SAAS;gBACT,KAAK;gBACL,OAAO,EAAE,IAAI,uCAAc,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC;gBACrD,YAAY,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB;gBAC7D,YAAY;aACf,CAAC,CACL,CAAC;YACF,IAAI,YAAY,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,0BAA0B,CAAC,eAAe,CACjD,GAAG,EACH,4BAAmB,EACnB,YAAY,EACZ,YAAY,CACf,CAAC;YACN,CAAC;YACD,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,sDAAwB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YAC1F,wBAAwB,GAAG,MAAM,iCAAiC,CAAC,cAAc,CAC7E,GAAG,EACH,YAAY,EACZ,SAAS,CACZ,CAAC;YACF,WAAW,GAAG,YAAY,CAAC;QAC/B,CAAC;aAAM,CAAC;YACJ,IAAA,0BAAW,EAAC,WAAW,EAAE;gBACrB,KAAK;gBACL,YAAY,EAAE,YAAY,IAAI,WAAW,CAAC,YAAY;aACzD,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU;iBACrC,aAAa,CAAC,GAAG,EAAE,4BAAmB,CAAC;iBACvC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEvB,IAAI,YAAY,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,0BAA0B,CAAC,eAAe,CACjD,GAAG,EACH,4BAAmB,EACnB,YAAY,EACZ,YAAY,CACf,CAAC;YACN,CAAC;YACD,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,sDAAwB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YAC1F,wBAAwB,GAAG,MAAM,iCAAiC,CAAC,cAAc,CAC7E,GAAG,EACH,YAAY,EACZ,SAAS,CACZ,CAAC;QACN,CAAC;QACD,MAAM,8BAA8B,GAAG,IAAA,eAAM,EAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC,MAAM,CAChF,CAAC,CAAC,EAAE;QACA,kEAAkE;QAClE,8DAA8D;QAC9D,oEAAoE;QACpE,CAAC,CAAC,IAAA,mBAAW,EAAC,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,CAAC,CAC5E,CAAC;QACF,IAAI,8BAA8B,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,UAAU;iBAChD,aAAa,CAAC,GAAG,EAAE,4BAAmB,CAAC;iBACvC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC1C,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CACvB,IAAI,sDAAwB,CAAC,GAAG,EAAE,uBAAuB,EAAE,SAAS,CAAC,CACxE,CAAC;QACN,CAAC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC3B,GAAmB,EACnB,SAAa,EACb,SAAa,EACb,YAA0B;QAE1B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,4BAAmB,CAAC,CAAC,OAAO,CAAC;YACvF,KAAK,EAAE;gBACH,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;gBAC1B,SAAS;gBACT,YAAY;aACf;SACJ,CAAC,CAAC;QACH,IAAI,YAAY,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,4BAAmB,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACnF,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,sDAAwB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YAC1F,MAAM,EAAE,iCAAiC,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAChF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,4BAAmB,CAAC,CAAC,IAAI,CAAC;gBACjF,KAAK,EAAE;oBACH,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;iBAC7B;aACJ,CAAC,CAAC;YACH,MAAM,wBAAwB,GAAG,MAAM,iCAAiC,CAAC,cAAc,CACnF,GAAG,EACH,YAAY,EACZ,SAAS,CACZ,CAAC;YACF,IAAI,wBAAwB,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,UAAU;qBAChD,aAAa,CAAC,GAAG,EAAE,4BAAmB,CAAC;qBACvC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CACvB,IAAI,sDAAwB,CAAC,GAAG,EAAE,uBAAuB,EAAE,SAAS,CAAC,CACxE,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,UAAU,CACZ,GAAmB,EACnB,EAAa,EACb,eAAwB,IAAI;QAE5B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,QAA0B,CAAC;QAC/B,IAAI,YAAY,EAAE,CAAC;YACf,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,EAAE,uCAAc,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACjG,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,mBAAW,EAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3F,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBACpB,MAAM,IAAI,4BAAmB,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;YAC/D,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU;iBAC3B,aAAa,CAAC,GAAG,EAAE,uCAAc,CAAC;iBAClC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QACnC,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,uCAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3F,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,2CAAmB,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QACnF,OAAO;YACH,MAAM,EAAE,gCAAc,CAAC,OAAO;SACjC,CAAC;IACN,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,kBAAkB,CACpB,GAAmB,EACnB,OAAuB,EACvB,UAAa;QAEb,MAAM,QAAQ,GAAG,gCAAgC,OAAO,CAAC,EAAE,EAAE,CAAC;QAC9D,IAAI,qBAAqB,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAA0B,GAAG,EAAE,QAAQ,CAAC,CAAC;QAE1F,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACzB,kEAAkE;YAClE,qBAAqB,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;;gBAC1D,IAAI,CAAC;oBACD,IAAI,CAAC,CAAA,MAAA,OAAO,CAAC,oBAAoB,0CAAE,MAAM,CAAA,EAAE,CAAC;wBACxC,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAC5D,GAAG,EACH,uCAAc,EACd,OAAO,CAAC,EAAE,EACV,EAAE,SAAS,EAAE,CAAC,sBAAsB,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CACpE,CAAC;wBACF,OAAO,CAAC,oBAAoB,GAAG,iBAAiB,CAAC,oBAAoB,CAAC;oBAC1E,CAAC;oBACD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;wBACvB,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CACjE,GAAG,EACH,uCAAc,EACd,OAAO,CAAC,EAAE,EACV,EAAE,SAAS,EAAE,CAAC,aAAa,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAC3D,CAAC;wBACF,OAAO,CAAC,WAAW,GAAG,sBAAsB,CAAC,WAAW,CAAC;oBAC7D,CAAC;oBACD,OAAO,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC/E,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBACd,MAAM,CAAC,CAAC,CAAC,CAAC;gBACd,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,eAAe,GAAG,MAAM,qBAAqB,CAAC;QACpD,OAAO,eAAe,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,+BAA+B,CACzC,GAAmB,EACnB,QAA0B;QAE1B,OAAO,MAAM,OAAO,CAAC,GAAG,CACpB,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YACzB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC3E,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,iBAAiB,EAAE,GAAG,EAAE;gBACrD,SAAS;gBACT,aAAa;gBACb,CAAC,aAAa,EAAE,OAAO,CAAC;aAC3B,CAAC,CAAC;QACP,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,uBAAuB,CACzB,OAAuB,EACvB,GAAmB,EACnB,KAAa,EACb,mBAAmB,GAAG,KAAK;QAE3B,OAAO,IAAI,CAAC,sBAAsB,CAAC,uBAAuB,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;IACzG,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,8BAA8B,CAChC,GAAmB,EACnB,KAA0C;;QAE1C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,0BAA0B,CACnE,GAAG,EACH,KAAK,CAAC,SAAS,EACf,4BAAU,CAAC,aAAa,CAC3B,CAAC;QACF,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,MAAM,IAAI,uBAAc,EAAE,CAAC;QAC/B,CAAC;QACD,+EAA+E;QAC/E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CACrD,GAAG,EACH,uCAAc,EACd,KAAK,CAAC,iBAAiB,EACvB,GAAG,CAAC,SAAS,EACb;YACI,SAAS,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;SACvC,CACJ,CAAC;QACF,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,gBAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5F,MAAM,kBAAkB,GAAS,EAAE,CAAC;QACpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACpB,SAAS;YACb,CAAC;YACD,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACjD,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG,EAAE,wBAAO,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAC/F,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG,EAAE,uCAAc,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAC/F,MAAM,KAAK,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YACpF,MAAM,IAAI,CAAC,iCAAiC,CACxC,GAAG,EACH,OAAO,CAAC,EAAE,EACV,IAAA,wBAAU,EAAC,KAAK,GAAG,WAAW,CAAC,EAC/B,KAAK,CAAC,SAAS,EACf,aAAa,CAAC,mBAAmB,CACpC,CAAC;YACF,MAAM,QAAQ,GAAG,CAAA,MAAA,OAAO,CAAC,MAAM,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAI,EAAE,CAAC;YAC3D,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;YACvF,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,yFAAyF;QACzF,sFAAsF;QACtF,sFAAsF;QACtF,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACjF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAC/B,GAAG,EACH,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC1B,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CACvB,IAAI,0DAA0B,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAC5E,CAAC;QACN,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,2BAA2B,CACrC,GAAmB,EACnB,UAAgB,EAChB,SAAa;QAEb,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;QACX,CAAC;QACD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU;aACvC,aAAa,CAAC,GAAG,EAAE,sBAAa,CAAC;aACjC,kBAAkB,CAAC,eAAe,CAAC;aACnC,SAAS,CAAC,wBAAwB,EAAE,SAAS,CAAC;aAC9C,KAAK,CAAC,yBAAyB,EAAE,EAAE,SAAS,EAAE,CAAC;aAC/C,OAAO,EAAE,CAAC;QACf,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO;QACX,CAAC;QACD,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CACzD,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACjC,gBAAgB;YAChB,eAAe,EAAE,aAAa,CAAC,EAAE;YACjC,WAAW,EAAE,CAAC;YACd,cAAc,EAAE,CAAC;SACpB,CAAC,CAAC,CACN,CAAC;QACF,MAAM,IAAI,CAAC,UAAU;aAChB,aAAa,CAAC,GAAG,EAAE,mBAAU,CAAC;aAC9B,kBAAkB,EAAE;aACpB,MAAM,EAAE;aACR,MAAM,CAAC,cAAc,CAAC;YACvB,wFAAwF;YACxF,mFAAmF;YACnF,0FAA0F;aACzF,YAAY,CAAC,KAAK,CAAC;aACnB,QAAQ,EAAE;aACV,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,gCAAgC,CAClC,GAAmB,EACnB,KAA4C;QAE5C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,0BAA0B,CACnE,GAAG,EACH,KAAK,CAAC,SAAS,EACf,4BAAU,CAAC,aAAa,CAC3B,CAAC;QACF,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,MAAM,IAAI,uBAAc,EAAE,CAAC;QAC/B,CAAC;QACD,+EAA+E;QAC/E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CACrD,GAAG,EACH,uCAAc,EACd,KAAK,CAAC,iBAAiB,EACvB,GAAG,CAAC,SAAS,EACb,EAAE,CACL,CAAC;QACF,OAAO,IAAI,CAAC,yBAAyB,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,yBAAyB,CAC3B,GAAmB,EACnB,QAA0B,EAC1B,SAAa;QAEb,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACxE,IAAI,IAAA,mBAAW,EAAC,SAAS,EAAE,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,uBAAc,CAAC,oDAAoD,CAAC,CAAC;QACnF,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,uCAAc,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3F,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,4BAAmB,CAAC,CAAC,MAAM,CAAC;gBACjE,SAAS;gBACT,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE;aAC9B,CAAC,CAAC;YACH,6FAA6F;YAC7F,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,uCAAc,CAAC,CAAC,IAAI,CAAC;gBAClF,KAAK,EAAE;oBACH,SAAS,EAAE,OAAO,CAAC,SAAS;iBAC/B;gBACD,SAAS,EAAE,CAAC,UAAU,CAAC;aAC1B,CAAC,CAAC;YACH,MAAM,2BAA2B,GAAI,EAAgB,CAAC,MAAM,CACxD,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAC5C,CAAC;YACF,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC;gBAC7D,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,wBAAO,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YAC/F,CAAC;QACL,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAC/B,GAAG,EACH,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC1B,CAAC;QACF,4FAA4F;QAC5F,2FAA2F;QAC3F,kCAAkC;QAClC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,0DAA0B,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QACpG,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAClC,GAAmB,EACnB,SAAa,EACb,YAAkB,EAAE,EACpB,iBAA2B;QAE3B,mFAAmF;QACnF,kDAAkD;QAClD,MAAM,YAAY,GAAG,CACjB,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,wBAAO,EAAE,SAAS,EAAE;YAC5D,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,CAAC,cAAc,EAAE,sBAAsB,CAAC;YACnD,kBAAkB,EAAE,KAAK;SAC5B,CAAC,CACL,CAAC,YAAY,CAAC;QAEf,MAAM,aAAa,GAAG,YAAY,IAAI,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAErF,IAAI,SAAS,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC;YAC5C,IAAI,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;QACD,IACI,CAAC,IAAA,0BAAW,EACR,SAAS,EACT,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CACnD,EACH,CAAC;YACC,IAAI,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,wBAAO,EAAE,SAAS,EAAE;YAC5E,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,CAAC,UAAU,EAAE,kBAAkB,CAAC;YAC3C,kBAAkB,EAAE,IAAI;SAC3B,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAErD,OAAO,CAAC,QAAQ;aACX,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;aACzB,OAAO,CAAC,OAAO,CAAC,EAAE;YACf,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACnE,IAAI,iBAAiB;gBAAE,OAAO;YAC9B,IAAI,gBAAgB,KAAK,cAAc,EAAE,CAAC;gBACtC,MAAM,IAAI,uBAAc,CAAC,0DAA0D,EAAE;oBACjF,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI;iBAC5D,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;IACX,CAAC;IAEO,6BAA6B,CAAC,YAAkC;QACpE,MAAM,IAAI,uBAAc,CAAC,iDAAiD,EAAE;YACxE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC;SACxD,CAAC,CAAC;IACP,CAAC;IAEO,QAAQ,CAAI,GAAQ,EAAE,IAAY,EAAE,IAAc;QACtD,OAAO,GAAG;aACL,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9B,IAAI,EAAE;aACN,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,2BAA2B,CACrC,GAAmB,EACnB,aAAoC;;QAEpC,IAAI,WAAwB,CAAC;QAC7B,IAAI,aAAa,EAAE,CAAC;YAChB,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,oBAAW,EAAE,aAAa,CAAC,CAAC;QAC1F,CAAC;aAAM,CAAC;YACJ,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjE,WAAW,GAAG,MAAA,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,mCAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,sDAAsD;YACtD,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ,CAAA;AAtlCY,sDAAqB;gCAArB,qBAAqB;IAFjC,IAAA,mBAAU,GAAE;IACZ,IAAA,iCAAU,GAAE;qCAGe,kDAAuB;QACpB,8BAAa;QACR,yCAAkB;QACnB,uCAAiB;QACtB,4BAAY;QACP,sCAAiB;QAC1B,oBAAQ;QACA,qCAAgB;QACX,+CAAqB;QACtB,6CAAoB;QACvB,uCAAiB;QACpB,gCAAc;QACjB,0BAAW;QACI,0DAA0B;QACxC,0DAA0B;QAChB,iDAAsB;QAClC,sCAAiB;GAlBhC,qBAAqB,CAslCjC"}
@@ -5,7 +5,59 @@ import { AvailableStock } from '../../config/catalog/stock-location-strategy';
5
5
  import { ConfigService } from '../../config/config.service';
6
6
  import { TransactionalConnection } from '../../connection/transactional-connection';
7
7
  import { StockLevel } from '../../entity/stock-level/stock-level.entity';
8
+ import { GlobalSettingsService } from './global-settings.service';
8
9
  import { StockLocationService } from './stock-location.service';
10
+ /**
11
+ * @description
12
+ * Options which control how the stock levels of a {@link ProductVariant} are read.
13
+ *
14
+ * @docsCategory services
15
+ * @since 3.7.4
16
+ */
17
+ export interface StockLevelReadOptions {
18
+ /**
19
+ * @description
20
+ * When `true`, a write lock is taken on the underlying {@link StockLevel} rows and held until
21
+ * the surrounding transaction commits. Use it when the returned figures decide whether stock
22
+ * may be allocated, and the allocation happens in the same transaction. Databases without row
23
+ * locks (SQLite and SQL.js) fall back to an unlocked read.
24
+ *
25
+ * The lock covers every StockLevel row of the ProductVariant, whatever its
26
+ * {@link StockLocation} or Channel, because that is the set the figures are derived from.
27
+ * Two checkouts of the same variant therefore wait for each other even when they draw on
28
+ * different stock locations, which {@link MultiChannelStockLocationStrategy} otherwise
29
+ * treats as independent.
30
+ *
31
+ * @default false
32
+ */
33
+ lockStockLevels?: boolean;
34
+ }
35
+ /**
36
+ * @description
37
+ * Options which control which {@link StockLevel} rows
38
+ * {@link StockLevelService.lockStockLevelsForVariants} locks.
39
+ *
40
+ * @docsCategory services
41
+ * @since 3.7.4
42
+ */
43
+ export interface StockLevelLockOptions {
44
+ /**
45
+ * @description
46
+ * When `true`, ProductVariants which do not track inventory are locked as well.
47
+ *
48
+ * Leave it `false` when the lock protects a saleable stock check, as the order paths do:
49
+ * an untracked variant has no stock to check, so locking it would only make concurrent
50
+ * checkouts of that variant wait for each other.
51
+ *
52
+ * Set it to `true` when the transaction derives what it writes from the current
53
+ * `stockOnHand`, as an absolute stock adjustment does. That read-then-write needs the lock
54
+ * whether or not the variant tracks inventory, because an admin can set the `stockOnHand` of
55
+ * an untracked variant just the same.
56
+ *
57
+ * @default false
58
+ */
59
+ includeUntrackedVariants?: boolean;
60
+ }
9
61
  /**
10
62
  * @description
11
63
  * The StockLevelService is responsible for managing the stock levels of ProductVariants.
@@ -20,7 +72,10 @@ export declare class StockLevelService {
20
72
  private stockLocationService;
21
73
  private configService;
22
74
  private requestCache;
23
- constructor(connection: TransactionalConnection, stockLocationService: StockLocationService, configService: ConfigService, requestCache: RequestContextCacheService);
75
+ private globalSettingsService;
76
+ private hasWarnedAboutMissingRowLockSupport;
77
+ private hasWarnedAboutMissingTransaction;
78
+ constructor(connection: TransactionalConnection, stockLocationService: StockLocationService, configService: ConfigService, requestCache: RequestContextCacheService, globalSettingsService: GlobalSettingsService);
24
79
  /**
25
80
  * @description
26
81
  * Returns the StockLevel for the given {@link ProductVariant} and {@link StockLocation}.
@@ -31,8 +86,15 @@ export declare class StockLevelService {
31
86
  * @description
32
87
  * Returns the available stock (on hand and allocated) for the given {@link ProductVariant}. This is determined
33
88
  * by the configured {@link StockLocationStrategy}.
89
+ *
90
+ * Pass `{ lockStockLevels: true }` when the caller is about to allocate stock based on the
91
+ * returned figures. This takes a write lock on the underlying StockLevel rows which is held
92
+ * until the surrounding transaction commits, so that the check and the allocation cannot be
93
+ * interleaved with another checkout for the same ProductVariant.
94
+ *
95
+ * @since 3.7.4 - Added the `options` parameter
34
96
  */
35
- getAvailableStock(ctx: RequestContext, productVariantId: ID): Promise<AvailableStock>;
97
+ getAvailableStock(ctx: RequestContext, productVariantId: ID, options?: StockLevelReadOptions): Promise<AvailableStock>;
36
98
  /**
37
99
  * Resolving a list of ProductVariants costs one query per variant otherwise, and the Admin
38
100
  * API doubles that because `stockOnHand` and `stockAllocated` are separate field resolvers.
@@ -56,11 +118,71 @@ export declare class StockLevelService {
56
118
  /**
57
119
  * @description
58
120
  * Updates the `stockOnHand` for the given {@link ProductVariant} and {@link StockLocation}.
121
+ * When creating a new StockLevel the initial value is the adjustment delta itself, which may be
122
+ * negative (e.g. a backorder against a variant with a negative `outOfStockThreshold`), so the
123
+ * row stays consistent with the `StockAdjustment` ledger.
59
124
  */
60
125
  updateStockOnHandForLocation(ctx: RequestContext, productVariantId: ID, stockLocationId: ID, change: number): Promise<void>;
61
126
  /**
62
127
  * @description
63
128
  * Updates the `stockAllocated` for the given {@link ProductVariant} and {@link StockLocation}.
129
+ * `stockAllocated` is clamped at 0 so a release can never produce a negative value. A clamp
130
+ * which fires is logged, since it means more was released than was ever allocated.
64
131
  */
65
132
  updateStockAllocatedForLocation(ctx: RequestContext, productVariantId: ID, stockLocationId: ID, change: number): Promise<void>;
133
+ /**
134
+ * A second atomic statement rather than a clamp computed in JavaScript, for the same reason as
135
+ * `incrementStockLevel`: only the database knows the value the decrement actually produced.
136
+ */
137
+ private clampStockAllocatedAtZero;
138
+ /**
139
+ * Applies the change with a single atomic SQL statement (`SET column = column + change`),
140
+ * via TypeORM's `Repository.increment()`. The invariant: the stored value must never be
141
+ * computed from a value read earlier in JavaScript, because two overlapping requests would
142
+ * then both start from the same figure and one of the two changes would be lost. A negative
143
+ * change decrements.
144
+ */
145
+ private incrementStockLevel;
146
+ /**
147
+ * @description
148
+ * Takes the write lock of {@link StockLevelService.getLockedStockLevelsForVariant} for each of
149
+ * the given ProductVariants, in a fixed order: duplicates are dropped, the variants are visited
150
+ * in ascending id order and each variant's rows in id order. A transaction which changes the
151
+ * stock of more than one variant should call this once, before its first stock read or write.
152
+ * Two such transactions then take their locks in the same order, so they cannot deadlock, and
153
+ * later stock writes in the transaction meet rows it already holds.
154
+ *
155
+ * Variants which do not track inventory are skipped by default: nothing is checked or counted
156
+ * for them, so locking them would only serialize their checkouts. Pass
157
+ * `{ includeUntrackedVariants: true }` when the transaction derives what it writes from the
158
+ * current `stockOnHand` rather than from a saleable stock check.
159
+ *
160
+ * Degrades like `getLockedStockLevelsForVariant` without a transaction or row lock support.
161
+ *
162
+ * @since 3.7.4
163
+ */
164
+ lockStockLevelsForVariants(ctx: RequestContext, productVariantIds: ID[], options?: StockLevelLockOptions): Promise<void>;
165
+ private filterToTrackedIds;
166
+ /**
167
+ * @description
168
+ * Returns every {@link StockLevel} of the given {@link ProductVariant}, whatever its
169
+ * {@link StockLocation} or Channel, with a write lock (`SELECT ... FOR UPDATE`) held until
170
+ * the surrounding transaction commits. Use it when the returned figures decide how much
171
+ * stock to allocate and the allocation happens in the same transaction: a second
172
+ * transaction for the same variant waits here until the first commits, then reads the
173
+ * updated `stockAllocated`.
174
+ *
175
+ * The rows are read by the locking statement itself. On MySQL and MariaDB a plain SELECT
176
+ * under REPEATABLE READ keeps returning the transaction's opening snapshot, while a locking
177
+ * read sees the latest committed row.
178
+ *
179
+ * Rows are locked in id order. When locking several variants in one transaction, visit them
180
+ * in a fixed order too, so two transactions cannot take the same locks in opposite order.
181
+ *
182
+ * Without an open transaction, or on a driver without row locks (SQLite, SQL.js), this falls
183
+ * back to an unlocked read and logs a warning once per process.
184
+ *
185
+ * @since 3.7.4
186
+ */
187
+ getLockedStockLevelsForVariant(ctx: RequestContext, productVariantId: ID): Promise<StockLevel[]>;
66
188
  }