@snabcentr/client-core 3.21.0-profstroy → 3.22.0

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 (71) hide show
  1. package/cart/classes/sc-cart.d.ts +0 -4
  2. package/cart/constants/sc-empty-cart.d.ts +0 -1
  3. package/cart/internal/sc-i-cart.d.ts +0 -4
  4. package/cart/services/sc-cart.service.d.ts +0 -7
  5. package/catalog/dto/sc-product.d.ts +0 -7
  6. package/config/sc-i-update-interval.d.ts +0 -12
  7. package/esm2022/cart/classes/sc-cart.mjs +2 -3
  8. package/esm2022/cart/constants/sc-empty-cart.mjs +2 -2
  9. package/esm2022/cart/internal/sc-i-cart.mjs +1 -1
  10. package/esm2022/cart/services/sc-cart.service.mjs +2 -16
  11. package/esm2022/catalog/classes/sc-catalog-item.mjs +2 -2
  12. package/esm2022/catalog/dto/sc-product.mjs +1 -13
  13. package/esm2022/config/sc-i-update-interval.mjs +1 -1
  14. package/esm2022/helpers/index.mjs +1 -2
  15. package/esm2022/helpers/sc-units-helper.mjs +2 -3
  16. package/esm2022/order/classes/index.mjs +1 -3
  17. package/esm2022/order/classes/sc-order-draft-short.mjs +2 -7
  18. package/esm2022/order/classes/sc-order-draft.mjs +3 -15
  19. package/esm2022/order/classes/sc-order-item.mjs +1 -24
  20. package/esm2022/order/classes/sc-order-short.mjs +1 -3
  21. package/esm2022/order/enums/index.mjs +1 -2
  22. package/esm2022/order/internal/index.mjs +1 -6
  23. package/esm2022/order/internal/sc-i-order-draft-short.mjs +1 -1
  24. package/esm2022/order/internal/sc-i-order-draft.mjs +1 -1
  25. package/esm2022/order/internal/sc-i-order-item.mjs +1 -1
  26. package/esm2022/order/internal/sc-i-order-short.mjs +1 -1
  27. package/esm2022/order/services/sc-order-drafts.service.mjs +11 -122
  28. package/esm2022/order/services/sc-orders.service.mjs +5 -6
  29. package/esm2022/ui/services/sc-ui.service.mjs +13 -39
  30. package/esm2022/user/dto/sc-user-metadata.mjs +5 -6
  31. package/esm2022/user-metrika/enums/sc-user-metrika-goals-enum.mjs +1 -19
  32. package/fesm2022/snabcentr-client-core.mjs +74 -470
  33. package/fesm2022/snabcentr-client-core.mjs.map +1 -1
  34. package/helpers/index.d.ts +0 -1
  35. package/helpers/sc-units-helper.d.ts +1 -1
  36. package/order/classes/index.d.ts +0 -2
  37. package/order/classes/sc-order-draft-short.d.ts +2 -16
  38. package/order/classes/sc-order-draft.d.ts +2 -16
  39. package/order/classes/sc-order-item.d.ts +0 -16
  40. package/order/classes/sc-order-short.d.ts +0 -4
  41. package/order/enums/index.d.ts +0 -1
  42. package/order/internal/index.d.ts +0 -5
  43. package/order/internal/sc-i-order-draft-short.d.ts +0 -15
  44. package/order/internal/sc-i-order-draft.d.ts +1 -2
  45. package/order/internal/sc-i-order-item.d.ts +0 -4
  46. package/order/internal/sc-i-order-short.d.ts +0 -4
  47. package/order/services/sc-order-drafts.service.d.ts +1 -63
  48. package/order/services/sc-orders.service.d.ts +2 -3
  49. package/package.json +1 -1
  50. package/release_notes.tmp +4 -2
  51. package/ui/services/sc-ui.service.d.ts +6 -15
  52. package/user/dto/sc-user-metadata.d.ts +2 -2
  53. package/user-metrika/enums/sc-user-metrika-goals-enum.d.ts +0 -18
  54. package/esm2022/helpers/sc-date-helper.mjs +0 -23
  55. package/esm2022/order/classes/sc-order-draft-actualization.mjs +0 -46
  56. package/esm2022/order/classes/sc-profstroy-order-item.mjs +0 -88
  57. package/esm2022/order/enums/sc-order-draft-actualization-status.mjs +0 -24
  58. package/esm2022/order/internal/sc-i-new-profstroy-order-draft-request.mjs +0 -2
  59. package/esm2022/order/internal/sc-i-order-draft-actualization.mjs +0 -2
  60. package/esm2022/order/internal/sc-i-order-draft-file.mjs +0 -2
  61. package/esm2022/order/internal/sc-i-profstroy-order-item.mjs +0 -2
  62. package/esm2022/order/internal/sc-i-profstroy-product-stub.mjs +0 -2
  63. package/helpers/sc-date-helper.d.ts +0 -12
  64. package/order/classes/sc-order-draft-actualization.d.ts +0 -47
  65. package/order/classes/sc-profstroy-order-item.d.ts +0 -73
  66. package/order/enums/sc-order-draft-actualization-status.d.ts +0 -21
  67. package/order/internal/sc-i-new-profstroy-order-draft-request.d.ts +0 -14
  68. package/order/internal/sc-i-order-draft-actualization.d.ts +0 -22
  69. package/order/internal/sc-i-order-draft-file.d.ts +0 -13
  70. package/order/internal/sc-i-profstroy-order-item.d.ts +0 -28
  71. package/order/internal/sc-i-profstroy-product-stub.d.ts +0 -13
@@ -1,5 +1,4 @@
1
1
  import { ScProduct } from '../../catalog/dto/sc-product';
2
- import { ScUnitsHelper } from '../../helpers/sc-units-helper';
3
2
  /**
4
3
  * Данные о единичной позиции товара/услуги в заказе (корзине / черновике).
5
4
  */
@@ -22,32 +21,10 @@ export class ScOrderItem {
22
21
  this.length = data.length;
23
22
  this.width = data.width;
24
23
  this.logicGroupId = data.logicGroupId;
25
- this.salesDirection = data.salesDirection;
26
24
  this.specificationImgUrl = data.specificationImgUrl;
27
25
  this.configurator = data.configurator;
28
26
  this.configuratorParams = data.configuratorParams;
29
27
  }
30
- /**
31
- * Признак, что позиция может попасть в заказ: товар есть в каталоге и предоставляется.
32
- */
33
- get isOrderable() {
34
- return !this.product.isNull && !this.product.isHidden;
35
- }
36
- /**
37
- * Шаг изменения количества позиции.
38
- */
39
- get quantityStep() {
40
- return ScUnitsHelper.getProductMultiplicity(this.product);
41
- }
42
- /**
43
- * Возвращает причину, по которой позиция не может попасть в заказ, или пустую строку.
44
- */
45
- getUnavailableReason() {
46
- if (this.product.isNull) {
47
- return 'Товар не найден в каталоге';
48
- }
49
- return this.product.isHidden ? 'Товар больше не предоставляется' : '';
50
- }
51
28
  /**
52
29
  * @inheritDoc
53
30
  */
@@ -79,4 +56,4 @@ export class ScOrderItem {
79
56
  return this.costRub === 0 ? 'Цена требует уточнения' : '';
80
57
  }
81
58
  }
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtb3JkZXItaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvb3JkZXIvY2xhc3Nlcy9zYy1vcmRlci1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHOUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sV0FBVztJQWlGcEI7Ozs7T0FJRztJQUNILFlBQW1CLElBQWtCO1FBQ2pDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDdEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzFDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDcEQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDdEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxXQUFXO1FBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQzFELENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsWUFBWTtRQUNuQixPQUFPLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksb0JBQW9CO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QixPQUFPLDRCQUE0QixDQUFDO1FBQ3hDLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzFFLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWM7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDdkcsQ0FBQztJQUVEOztPQUVHO0lBQ0ksNEJBQTRCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUNuSSxDQUFDO0lBRUQ7O09BRUc7SUFDSSx1QkFBdUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDM0csQ0FBQztJQUVEOztPQUVHO0lBQ0ksYUFBYTtRQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWM7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM5RCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY1Byb2R1Y3QgfSBmcm9tICcuLi8uLi9jYXRhbG9nL2R0by9zYy1wcm9kdWN0JztcbmltcG9ydCB7IFNjSUNvbmZpZ3VyYXRvclNlYXJjaFByb2R1Y3RCYXNlIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdG9yL2R0by9zYy1pLWNvbmZpZ3VyYXRvci1zZWFyY2gtcHJvZHVjdC1iYXNlJztcbmltcG9ydCB7IFNjVW5pdHNIZWxwZXIgfSBmcm9tICcuLi8uLi9oZWxwZXJzL3NjLXVuaXRzLWhlbHBlcic7XG5pbXBvcnQgeyBTY0lPcmRlckl0ZW0gfSBmcm9tICcuLi9pbnRlcm5hbC9zYy1pLW9yZGVyLWl0ZW0nO1xuXG4vKipcbiAqINCU0LDQvdC90YvQtSDQviDQtdC00LjQvdC40YfQvdC+0Lkg0L/QvtC30LjRhtC40Lgg0YLQvtCy0LDRgNCwL9GD0YHQu9GD0LPQuCDQsiDQt9Cw0LrQsNC30LUgKNC60L7RgNC30LjQvdC1IC8g0YfQtdGA0L3QvtCy0LjQutC1KS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNjT3JkZXJJdGVtIHtcbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBpZDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgcHJvZHVjdDogU2NQcm9kdWN0O1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgcXVhbnRpdHk6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGNvc3Q6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGNvc3RPbmU6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGNvc3RPbmVSdWI6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGNvc3RSdWI6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIG1hcmtlcj86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGhlaWdodD86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGxlbmd0aD86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIHdpZHRoPzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgbG9naWNHcm91cElkPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgc2FsZXNEaXJlY3Rpb24/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBzcGVjaWZpY2F0aW9uSW1nVXJsPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgY29uZmlndXJhdG9yPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgY29uZmlndXJhdG9yUGFyYW1zPzogU2NJQ29uZmlndXJhdG9yU2VhcmNoUHJvZHVjdEJhc2U7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjT3JkZXJJdGVtfS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRhINCU0LDQvdC90YvQtSDQtNC70Y8g0L/QtdGA0LLQvtC90LDRh9Cw0LvRjNC90L7QuSDQuNC90LjRhtC40LDQu9C40LfQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoZGF0YTogU2NJT3JkZXJJdGVtKSB7XG4gICAgICAgIHRoaXMuaWQgPSBkYXRhLmlkO1xuICAgICAgICB0aGlzLnByb2R1Y3QgPSBuZXcgU2NQcm9kdWN0KGRhdGEucHJvZHVjdCk7XG4gICAgICAgIHRoaXMucXVhbnRpdHkgPSBkYXRhLnF1YW50aXR5O1xuICAgICAgICB0aGlzLmNvc3QgPSBkYXRhLmNvc3Q7XG4gICAgICAgIHRoaXMuY29zdE9uZSA9IGRhdGEuY29zdE9uZTtcbiAgICAgICAgdGhpcy5jb3N0UnViID0gZGF0YS5jb3N0UnViO1xuICAgICAgICB0aGlzLmNvc3RPbmVSdWIgPSBkYXRhLmNvc3RPbmVSdWI7XG4gICAgICAgIHRoaXMubWFya2VyID0gZGF0YS5tYXJrZXI7XG4gICAgICAgIHRoaXMuaGVpZ2h0ID0gZGF0YS5oZWlnaHQ7XG4gICAgICAgIHRoaXMubGVuZ3RoID0gZGF0YS5sZW5ndGg7XG4gICAgICAgIHRoaXMud2lkdGggPSBkYXRhLndpZHRoO1xuICAgICAgICB0aGlzLmxvZ2ljR3JvdXBJZCA9IGRhdGEubG9naWNHcm91cElkO1xuICAgICAgICB0aGlzLnNhbGVzRGlyZWN0aW9uID0gZGF0YS5zYWxlc0RpcmVjdGlvbjtcbiAgICAgICAgdGhpcy5zcGVjaWZpY2F0aW9uSW1nVXJsID0gZGF0YS5zcGVjaWZpY2F0aW9uSW1nVXJsO1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRvciA9IGRhdGEuY29uZmlndXJhdG9yO1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRvclBhcmFtcyA9IGRhdGEuY29uZmlndXJhdG9yUGFyYW1zO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0L/QvtC30LjRhtC40Y8g0LzQvtC20LXRgiDQv9C+0L/QsNGB0YLRjCDQsiDQt9Cw0LrQsNC3OiDRgtC+0LLQsNGAINC10YHRgtGMINCyINC60LDRgtCw0LvQvtCz0LUg0Lgg0L/RgNC10LTQvtGB0YLQsNCy0LvRj9C10YLRgdGPLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgaXNPcmRlcmFibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5wcm9kdWN0LmlzTnVsbCAmJiAhdGhpcy5wcm9kdWN0LmlzSGlkZGVuO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCo0LDQsyDQuNC30LzQtdC90LXQvdC40Y8g0LrQvtC70LjRh9C10YHRgtCy0LAg0L/QvtC30LjRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIGdldCBxdWFudGl0eVN0ZXAoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFNjVW5pdHNIZWxwZXIuZ2V0UHJvZHVjdE11bHRpcGxpY2l0eSh0aGlzLnByb2R1Y3QpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC/0YDQuNGH0LjQvdGDLCDQv9C+INC60L7RgtC+0YDQvtC5INC/0L7Qt9C40YbQuNGPINC90LUg0LzQvtC20LXRgiDQv9C+0L/QsNGB0YLRjCDQsiDQt9Cw0LrQsNC3LCDQuNC70Lgg0L/Rg9GB0YLRg9GOINGB0YLRgNC+0LrRgy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VW5hdmFpbGFibGVSZWFzb24oKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMucHJvZHVjdC5pc051bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAn0KLQvtCy0LDRgCDQvdC1INC90LDQudC00LXQvSDQsiDQutCw0YLQsNC70L7Qs9C1JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnByb2R1Y3QuaXNIaWRkZW4gPyAn0KLQvtCy0LDRgCDQsdC+0LvRjNGI0LUg0L3QtSDQv9GA0LXQtNC+0YHRgtCw0LLQu9GP0LXRgtGB0Y8nIDogJyc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q29zdFBlckl0ZW0oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29zdE9uZSA+IDAgPyBgJHt0aGlzLmNvc3RPbmUudG9Mb2NhbGVTdHJpbmcoKX0gJHt0aGlzLnByb2R1Y3QuY3VycmVuY3kuc3ltYm9sfWAgOiAnLSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q29zdEluQ3VycmVuY3lEZXNjUGVySXRlbSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb3N0T25lID4gMCA/IGAke3RoaXMuY29zdE9uZS50b0xvY2FsZVN0cmluZygpfSAke3RoaXMucHJvZHVjdC5jdXJyZW5jeS5zeW1ib2x9IC8gJHt0aGlzLnByb2R1Y3QudW5pdC5uYW1lfWAgOiAnLSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q29zdEluUnViRGVzY1Blckl0ZW0oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29zdE9uZVJ1YiA+IDAgPyBgJHt0aGlzLmNvc3RPbmVSdWIudG9Mb2NhbGVTdHJpbmcoKX0g4oK9IC8gJHt0aGlzLnByb2R1Y3QudW5pdC5uYW1lfWAgOiAnLSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q29zdFJ1YlN0cigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb3N0UnViID4gMCA/IGAke3RoaXMuY29zdFJ1Yi50b0xvY2FsZVN0cmluZygpfSDigr1gIDogJy0nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGdldENvc3RNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvc3RSdWIgPT09IDAgPyAn0KbQtdC90LAg0YLRgNC10LHRg9C10YIg0YPRgtC+0YfQvdC10L3QuNGPJyA6ICcnO1xuICAgIH1cbn1cbiJdfQ==
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtb3JkZXItaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvb3JkZXIvY2xhc3Nlcy9zYy1vcmRlci1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUl6RDs7R0FFRztBQUNILE1BQU0sT0FBTyxXQUFXO0lBNEVwQjs7OztPQUlHO0lBQ0gsWUFBbUIsSUFBa0I7UUFDakMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN0QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQ3BELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN0QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ3RELENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWM7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDdkcsQ0FBQztJQUVEOztPQUVHO0lBQ0ksNEJBQTRCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUNuSSxDQUFDO0lBRUQ7O09BRUc7SUFDSSx1QkFBdUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDM0csQ0FBQztJQUVEOztPQUVHO0lBQ0ksYUFBYTtRQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWM7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM5RCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY1Byb2R1Y3QgfSBmcm9tICcuLi8uLi9jYXRhbG9nL2R0by9zYy1wcm9kdWN0JztcbmltcG9ydCB7IFNjSUNvbmZpZ3VyYXRvclNlYXJjaFByb2R1Y3RCYXNlIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdG9yL2R0by9zYy1pLWNvbmZpZ3VyYXRvci1zZWFyY2gtcHJvZHVjdC1iYXNlJztcbmltcG9ydCB7IFNjSU9yZGVySXRlbSB9IGZyb20gJy4uL2ludGVybmFsL3NjLWktb3JkZXItaXRlbSc7XG5cbi8qKlxuICog0JTQsNC90L3Ri9C1INC+INC10LTQuNC90LjRh9C90L7QuSDQv9C+0LfQuNGG0LjQuCDRgtC+0LLQsNGA0LAv0YPRgdC70YPQs9C4INCyINC30LDQutCw0LfQtSAo0LrQvtGA0LfQuNC90LUgLyDRh9C10YDQvdC+0LLQuNC60LUpLlxuICovXG5leHBvcnQgY2xhc3MgU2NPcmRlckl0ZW0ge1xuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGlkOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBwcm9kdWN0OiBTY1Byb2R1Y3Q7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBxdWFudGl0eTogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgY29zdDogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgY29zdE9uZTogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgY29zdE9uZVJ1YjogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgY29zdFJ1YjogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgbWFya2VyPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgaGVpZ2h0PzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgbGVuZ3RoPzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgd2lkdGg/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBsb2dpY0dyb3VwSWQ/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBzcGVjaWZpY2F0aW9uSW1nVXJsPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgY29uZmlndXJhdG9yPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgY29uZmlndXJhdG9yUGFyYW1zPzogU2NJQ29uZmlndXJhdG9yU2VhcmNoUHJvZHVjdEJhc2U7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjT3JkZXJJdGVtfS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRhINCU0LDQvdC90YvQtSDQtNC70Y8g0L/QtdGA0LLQvtC90LDRh9Cw0LvRjNC90L7QuSDQuNC90LjRhtC40LDQu9C40LfQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoZGF0YTogU2NJT3JkZXJJdGVtKSB7XG4gICAgICAgIHRoaXMuaWQgPSBkYXRhLmlkO1xuICAgICAgICB0aGlzLnByb2R1Y3QgPSBuZXcgU2NQcm9kdWN0KGRhdGEucHJvZHVjdCk7XG4gICAgICAgIHRoaXMucXVhbnRpdHkgPSBkYXRhLnF1YW50aXR5O1xuICAgICAgICB0aGlzLmNvc3QgPSBkYXRhLmNvc3Q7XG4gICAgICAgIHRoaXMuY29zdE9uZSA9IGRhdGEuY29zdE9uZTtcbiAgICAgICAgdGhpcy5jb3N0UnViID0gZGF0YS5jb3N0UnViO1xuICAgICAgICB0aGlzLmNvc3RPbmVSdWIgPSBkYXRhLmNvc3RPbmVSdWI7XG4gICAgICAgIHRoaXMubWFya2VyID0gZGF0YS5tYXJrZXI7XG4gICAgICAgIHRoaXMuaGVpZ2h0ID0gZGF0YS5oZWlnaHQ7XG4gICAgICAgIHRoaXMubGVuZ3RoID0gZGF0YS5sZW5ndGg7XG4gICAgICAgIHRoaXMud2lkdGggPSBkYXRhLndpZHRoO1xuICAgICAgICB0aGlzLmxvZ2ljR3JvdXBJZCA9IGRhdGEubG9naWNHcm91cElkO1xuICAgICAgICB0aGlzLnNwZWNpZmljYXRpb25JbWdVcmwgPSBkYXRhLnNwZWNpZmljYXRpb25JbWdVcmw7XG4gICAgICAgIHRoaXMuY29uZmlndXJhdG9yID0gZGF0YS5jb25maWd1cmF0b3I7XG4gICAgICAgIHRoaXMuY29uZmlndXJhdG9yUGFyYW1zID0gZGF0YS5jb25maWd1cmF0b3JQYXJhbXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q29zdFBlckl0ZW0oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29zdE9uZSA+IDAgPyBgJHt0aGlzLmNvc3RPbmUudG9Mb2NhbGVTdHJpbmcoKX0gJHt0aGlzLnByb2R1Y3QuY3VycmVuY3kuc3ltYm9sfWAgOiAnLSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q29zdEluQ3VycmVuY3lEZXNjUGVySXRlbSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb3N0T25lID4gMCA/IGAke3RoaXMuY29zdE9uZS50b0xvY2FsZVN0cmluZygpfSAke3RoaXMucHJvZHVjdC5jdXJyZW5jeS5zeW1ib2x9IC8gJHt0aGlzLnByb2R1Y3QudW5pdC5uYW1lfWAgOiAnLSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q29zdEluUnViRGVzY1Blckl0ZW0oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29zdE9uZVJ1YiA+IDAgPyBgJHt0aGlzLmNvc3RPbmVSdWIudG9Mb2NhbGVTdHJpbmcoKX0g4oK9IC8gJHt0aGlzLnByb2R1Y3QudW5pdC5uYW1lfWAgOiAnLSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q29zdFJ1YlN0cigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb3N0UnViID4gMCA/IGAke3RoaXMuY29zdFJ1Yi50b0xvY2FsZVN0cmluZygpfSDigr1gIDogJy0nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGdldENvc3RNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvc3RSdWIgPT09IDAgPyAn0KbQtdC90LAg0YLRgNC10LHRg9C10YIg0YPRgtC+0YfQvdC10L3QuNGPJyA6ICcnO1xuICAgIH1cbn1cbiJdfQ==
@@ -16,7 +16,6 @@ export class ScOrderShort extends ScOrderBase {
16
16
  this.payment = data.payment;
17
17
  this.numberDoc = data.numberDoc;
18
18
  this.barcode = data.barcode;
19
- this.isProfstroy = data.isProfstroy === true;
20
19
  }
21
20
  /**
22
21
  * @inheritDoc
@@ -27,7 +26,6 @@ export class ScOrderShort extends ScOrderBase {
27
26
  this.payment = order.payment;
28
27
  this.sum = order.sum;
29
28
  this.delivery = order.delivery;
30
- this.isProfstroy = order.isProfstroy;
31
29
  }
32
30
  }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtb3JkZXItc2hvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL29yZGVyL2NsYXNzZXMvc2Mtb3JkZXItc2hvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSTlDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFlBQWEsU0FBUSxXQUFXO0lBeUN6Qzs7OztPQUlHO0lBQ0gsWUFBbUIsSUFBbUI7UUFDbEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ1osSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMxQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQztJQUNqRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxVQUFVLENBQUMsS0FBbUI7UUFDakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQztRQUMzQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7SUFDekMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NJUmVmZXJlbmNlc1R5cGVzLCBTY0lTYWxlc0RpcmVjdGlvbiwgU2NPcmRlclN0YXRlU3RhdHVzIH0gZnJvbSAnLi4vLi4vcmVmZXJlbmNlcyc7XG5pbXBvcnQgeyBTY0lPcmRlclNob3J0IH0gZnJvbSAnLi4vaW50ZXJuYWwnO1xuaW1wb3J0IHsgU2NPcmRlckJhc2UgfSBmcm9tICcuL3NjLW9yZGVyLWJhc2UnO1xuaW1wb3J0IHsgU2NJT3JkZXJEZWxpdmVyeSB9IGZyb20gJy4vc2Mtb3JkZXItZGVsaXZlcnknO1xuaW1wb3J0IHsgU2NJT3JkZXJQYXltZW50IH0gZnJvbSAnLi9zYy1vcmRlci1wYXltZW50JztcblxuLyoqXG4gKiDQlNCw0L3QvdGL0LUg0L4g0LrRgNCw0YLQutC+0Lwg0LfQsNC60LDQt9C1LlxuICovXG5leHBvcnQgY2xhc3MgU2NPcmRlclNob3J0IGV4dGVuZHMgU2NPcmRlckJhc2UgaW1wbGVtZW50cyBTY0lPcmRlclNob3J0IHtcbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0dXM6IFNjSVJlZmVyZW5jZXNUeXBlczxudW1iZXIsIFNjT3JkZXJTdGF0ZVN0YXR1cz47XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0dXNEZXRhaWw6IFNjSVJlZmVyZW5jZXNUeXBlczxudW1iZXIsIFNjT3JkZXJTdGF0ZVN0YXR1cz47XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBzYWxlc0RpcmVjdGlvbjogU2NJU2FsZXNEaXJlY3Rpb247XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBwYXltZW50OiBTY0lPcmRlclBheW1lbnQ7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBkZWxpdmVyeTogU2NJT3JkZXJEZWxpdmVyeTtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIG51bWJlckRvYz86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGJhcmNvZGU/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiDQt9Cw0LrQsNC30LAsINGB0L7Qt9C00LDQvdC90L7Qs9C+INC40Lcg0YfQtdGA0L3QvtCy0LjQutCwINCf0YDQvtGE0YHRgtGA0L7QuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNQcm9mc3Ryb3k6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjT3JkZXJTaG9ydH0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSDQlNCw0L3QvdGL0LUg0LTQu9GPINC/0LXRgNCy0L7QvdCw0YfQsNC70YzQvdC+0Lkg0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGRhdGE6IFNjSU9yZGVyU2hvcnQpIHtcbiAgICAgICAgc3VwZXIoZGF0YSk7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gZGF0YS5zdGF0dXM7XG4gICAgICAgIHRoaXMuc2FsZXNEaXJlY3Rpb24gPSBkYXRhLnNhbGVzRGlyZWN0aW9uO1xuICAgICAgICB0aGlzLmRlbGl2ZXJ5ID0gZGF0YS5kZWxpdmVyeTtcbiAgICAgICAgdGhpcy5wYXltZW50ID0gZGF0YS5wYXltZW50O1xuICAgICAgICB0aGlzLm51bWJlckRvYyA9IGRhdGEubnVtYmVyRG9jO1xuICAgICAgICB0aGlzLmJhcmNvZGUgPSBkYXRhLmJhcmNvZGU7XG4gICAgICAgIHRoaXMuaXNQcm9mc3Ryb3kgPSBkYXRhLmlzUHJvZnN0cm95ID09PSB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIHVwZGF0ZURhdGEob3JkZXI6IFNjT3JkZXJTaG9ydCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0YXR1cyA9IG9yZGVyLnN0YXR1cztcbiAgICAgICAgdGhpcy5zYWxlc0RpcmVjdGlvbiA9IG9yZGVyLnNhbGVzRGlyZWN0aW9uO1xuICAgICAgICB0aGlzLnBheW1lbnQgPSBvcmRlci5wYXltZW50O1xuICAgICAgICB0aGlzLnN1bSA9IG9yZGVyLnN1bTtcbiAgICAgICAgdGhpcy5kZWxpdmVyeSA9IG9yZGVyLmRlbGl2ZXJ5O1xuICAgICAgICB0aGlzLmlzUHJvZnN0cm95ID0gb3JkZXIuaXNQcm9mc3Ryb3k7XG4gICAgfVxufVxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtb3JkZXItc2hvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL29yZGVyL2NsYXNzZXMvc2Mtb3JkZXItc2hvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSTlDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFlBQWEsU0FBUSxXQUFXO0lBb0N6Qzs7OztPQUlHO0lBQ0gsWUFBbUIsSUFBbUI7UUFDbEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ1osSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMxQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDaEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksVUFBVSxDQUFDLEtBQW1CO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUM7UUFDM0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzdCLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDbkMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NJUmVmZXJlbmNlc1R5cGVzLCBTY0lTYWxlc0RpcmVjdGlvbiwgU2NPcmRlclN0YXRlU3RhdHVzIH0gZnJvbSAnLi4vLi4vcmVmZXJlbmNlcyc7XG5pbXBvcnQgeyBTY0lPcmRlclNob3J0IH0gZnJvbSAnLi4vaW50ZXJuYWwnO1xuaW1wb3J0IHsgU2NPcmRlckJhc2UgfSBmcm9tICcuL3NjLW9yZGVyLWJhc2UnO1xuaW1wb3J0IHsgU2NJT3JkZXJEZWxpdmVyeSB9IGZyb20gJy4vc2Mtb3JkZXItZGVsaXZlcnknO1xuaW1wb3J0IHsgU2NJT3JkZXJQYXltZW50IH0gZnJvbSAnLi9zYy1vcmRlci1wYXltZW50JztcblxuLyoqXG4gKiDQlNCw0L3QvdGL0LUg0L4g0LrRgNCw0YLQutC+0Lwg0LfQsNC60LDQt9C1LlxuICovXG5leHBvcnQgY2xhc3MgU2NPcmRlclNob3J0IGV4dGVuZHMgU2NPcmRlckJhc2UgaW1wbGVtZW50cyBTY0lPcmRlclNob3J0IHtcbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0dXM6IFNjSVJlZmVyZW5jZXNUeXBlczxudW1iZXIsIFNjT3JkZXJTdGF0ZVN0YXR1cz47XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0dXNEZXRhaWw6IFNjSVJlZmVyZW5jZXNUeXBlczxudW1iZXIsIFNjT3JkZXJTdGF0ZVN0YXR1cz47XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBzYWxlc0RpcmVjdGlvbjogU2NJU2FsZXNEaXJlY3Rpb247XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBwYXltZW50OiBTY0lPcmRlclBheW1lbnQ7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBkZWxpdmVyeTogU2NJT3JkZXJEZWxpdmVyeTtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIG51bWJlckRvYz86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGJhcmNvZGU/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjT3JkZXJTaG9ydH0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSDQlNCw0L3QvdGL0LUg0LTQu9GPINC/0LXRgNCy0L7QvdCw0YfQsNC70YzQvdC+0Lkg0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGRhdGE6IFNjSU9yZGVyU2hvcnQpIHtcbiAgICAgICAgc3VwZXIoZGF0YSk7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gZGF0YS5zdGF0dXM7XG4gICAgICAgIHRoaXMuc2FsZXNEaXJlY3Rpb24gPSBkYXRhLnNhbGVzRGlyZWN0aW9uO1xuICAgICAgICB0aGlzLmRlbGl2ZXJ5ID0gZGF0YS5kZWxpdmVyeTtcbiAgICAgICAgdGhpcy5wYXltZW50ID0gZGF0YS5wYXltZW50O1xuICAgICAgICB0aGlzLm51bWJlckRvYyA9IGRhdGEubnVtYmVyRG9jO1xuICAgICAgICB0aGlzLmJhcmNvZGUgPSBkYXRhLmJhcmNvZGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgdXBkYXRlRGF0YShvcmRlcjogU2NPcmRlclNob3J0KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gb3JkZXIuc3RhdHVzO1xuICAgICAgICB0aGlzLnNhbGVzRGlyZWN0aW9uID0gb3JkZXIuc2FsZXNEaXJlY3Rpb247XG4gICAgICAgIHRoaXMucGF5bWVudCA9IG9yZGVyLnBheW1lbnQ7XG4gICAgICAgIHRoaXMuc3VtID0gb3JkZXIuc3VtO1xuICAgICAgICB0aGlzLmRlbGl2ZXJ5ID0gb3JkZXIuZGVsaXZlcnk7XG4gICAgfVxufVxuIl19
@@ -1,5 +1,4 @@
1
1
  export * from './sc-delivery-type';
2
2
  export * from './sc-order-draft-type';
3
3
  export * from './sc-payment-type';
4
- export * from './sc-order-draft-actualization-status';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL29yZGVyL2VudW1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsdUNBQXVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NjLWRlbGl2ZXJ5LXR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1vcmRlci1kcmFmdC10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtcGF5bWVudC10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc2Mtb3JkZXItZHJhZnQtYWN0dWFsaXphdGlvbi1zdGF0dXMnO1xuIl19
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL29yZGVyL2VudW1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zYy1kZWxpdmVyeS10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc2Mtb3JkZXItZHJhZnQtdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3NjLXBheW1lbnQtdHlwZSc7XG4iXX0=
@@ -12,9 +12,4 @@ export * from './sc-i-order-item';
12
12
  export * from './sc-i-order-loader';
13
13
  export * from './sc-i-order-short';
14
14
  export * from './sc-i-update-order-order-request';
15
- export * from './sc-i-order-draft-actualization';
16
- export * from './sc-i-order-draft-file';
17
- export * from './sc-i-profstroy-order-item';
18
- export * from './sc-i-profstroy-product-stub';
19
- export * from './sc-i-new-profstroy-order-draft-request';
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL29yZGVyL2ludGVybmFsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDBDQUEwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zYy1pLW5ldy1vcmRlci1kcmFmdC1yZXF1ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vc2MtaS1kZWxpdmVyeS1jb3N0LWR0byc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWktbmV3LW9yZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtaS1uZXctb3JkZXItaXRlbS1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtaS1uZXctb3JkZXItaXRlbS1tZWFzdXJlZCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWktb3JkZXItYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWktb3JkZXItZHJhZnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1pLW9yZGVyLWRyYWZ0LWxpc3QtcGFyYW1zJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtaS1vcmRlci1kcmFmdC1zaG9ydCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWktb3JkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1pLW9yZGVyLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1pLW9yZGVyLWxvYWRlcic7XG5leHBvcnQgKiBmcm9tICcuL3NjLWktb3JkZXItc2hvcnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1pLXVwZGF0ZS1vcmRlci1vcmRlci1yZXF1ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vc2MtaS1vcmRlci1kcmFmdC1hY3R1YWxpemF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtaS1vcmRlci1kcmFmdC1maWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtaS1wcm9mc3Ryb3ktb3JkZXItaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWktcHJvZnN0cm95LXByb2R1Y3Qtc3R1Yic7XG5leHBvcnQgKiBmcm9tICcuL3NjLWktbmV3LXByb2ZzdHJveS1vcmRlci1kcmFmdC1yZXF1ZXN0JztcbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL29yZGVyL2ludGVybmFsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NjLWktbmV3LW9yZGVyLWRyYWZ0LXJlcXVlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1pLWRlbGl2ZXJ5LWNvc3QtZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtaS1uZXctb3JkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1pLW5ldy1vcmRlci1pdGVtLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1pLW5ldy1vcmRlci1pdGVtLW1lYXN1cmVkJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtaS1vcmRlci1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtaS1vcmRlci1kcmFmdCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWktb3JkZXItZHJhZnQtbGlzdC1wYXJhbXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1pLW9yZGVyLWRyYWZ0LXNob3J0JztcbmV4cG9ydCAqIGZyb20gJy4vc2MtaS1vcmRlcic7XG5leHBvcnQgKiBmcm9tICcuL3NjLWktb3JkZXItaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWktb3JkZXItbG9hZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtaS1vcmRlci1zaG9ydCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWktdXBkYXRlLW9yZGVyLW9yZGVyLXJlcXVlc3QnO1xuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1vcmRlci1kcmFmdC1zaG9ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvb3JkZXIvaW50ZXJuYWwvc2MtaS1vcmRlci1kcmFmdC1zaG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NPcmRlckRyYWZ0QWN0dWFsaXphdGlvbiB9IGZyb20gJy4uL2NsYXNzZXMvc2Mtb3JkZXItZHJhZnQtYWN0dWFsaXphdGlvbic7XG5pbXBvcnQgeyBTY09yZGVyRHJhZnRUeXBlIH0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHsgU2NJT3JkZXJCYXNlIH0gZnJvbSAnLi9zYy1pLW9yZGVyLWJhc2UnO1xuaW1wb3J0IHsgU2NJT3JkZXJEcmFmdEFjdHVhbGl6YXRpb24gfSBmcm9tICcuL3NjLWktb3JkZXItZHJhZnQtYWN0dWFsaXphdGlvbic7XG5pbXBvcnQgeyBTY0lPcmRlckRyYWZ0RmlsZSB9IGZyb20gJy4vc2MtaS1vcmRlci1kcmFmdC1maWxlJztcblxuLyoqXG4gKiDQlNCw0L3QvdGL0LUg0L4g0LrRgNCw0YLQutC+0Lwg0LrQvtC80LzQtdGA0YfQtdGB0LrQvtC8INC/0YDQtdC00LvQvtC20LXQvdC40Lgv0YfQtdGA0L3QvtCy0LjQutC1INC30LDQutCw0LfQsC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY0lPcmRlckRyYWZ0U2hvcnQgZXh0ZW5kcyBTY0lPcmRlckJhc2Uge1xuICAgIC8qKlxuICAgICAqINCd0LDQt9Cy0LDQvdC40LUg0LrQvtC80LzQtdGA0YfQtdGB0LrQvtCz0L4g0L/RgNC10LTQu9C+0LbQtdC90LjRjy/Rh9C10YDQvdC+0LLQuNC60LAuXG4gICAgICovXG4gICAgbmFtZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCi0LjQvyDQutC+0LzQvNC10YDRh9C10YHQutC+0LPQviDQv9GA0LXQtNC70L7QttC10L3QuNGPL9GH0LXRgNC90L7QstC40LrQsC5cbiAgICAgKi9cbiAgICB0eXBlOiBTY09yZGVyRHJhZnRUeXBlO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0Log0YfQtdGA0L3QvtCy0LjQutCwLCDRgdC+0LfQtNCw0L3QvdC+0LPQviDQuNC3INGE0LDQudC70LAg0L/RgNC+0LPRgNCw0LzQvNGLIMKr0J/RgNC+0YTRgdGC0YDQvtC5wrsuXG4gICAgICovXG4gICAgaXNQcm9mc3Ryb3k/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog0JTQsNC90L3Ri9C1INC+0LEg0LDQutGC0YPQsNC70LjQt9Cw0YbQuNC4INGH0LXRgNC90L7QstC40LrQsCDQn9GA0L7RhNGB0YLRgNC+0LkuXG4gICAgICovXG4gICAgYWN0dWFsaXphdGlvbj86IFNjSU9yZGVyRHJhZnRBY3R1YWxpemF0aW9uIHwgU2NPcmRlckRyYWZ0QWN0dWFsaXphdGlvbiB8IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiDQlNCw0L3QvdGL0LUg0L7QsSDQuNGB0YXQvtC00L3QvtC8INGE0LDQudC70LUg0YfQtdGA0L3QvtCy0LjQutCwINCf0YDQvtGE0YHRgtGA0L7QuS5cbiAgICAgKi9cbiAgICBmaWxlPzogU2NJT3JkZXJEcmFmdEZpbGUgfCBudWxsO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1vcmRlci1kcmFmdC1zaG9ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvb3JkZXIvaW50ZXJuYWwvc2MtaS1vcmRlci1kcmFmdC1zaG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NPcmRlckRyYWZ0VHlwZSB9IGZyb20gJy4uL2VudW1zJztcbmltcG9ydCB7IFNjSU9yZGVyQmFzZSB9IGZyb20gJy4vc2MtaS1vcmRlci1iYXNlJztcblxuLyoqXG4gKiDQlNCw0L3QvdGL0LUg0L4g0LrRgNCw0YLQutC+0Lwg0LrQvtC80LzQtdGA0YfQtdGB0LrQvtC8INC/0YDQtdC00LvQvtC20LXQvdC40Lgv0YfQtdGA0L3QvtCy0LjQutC1INC30LDQutCw0LfQsC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY0lPcmRlckRyYWZ0U2hvcnQgZXh0ZW5kcyBTY0lPcmRlckJhc2Uge1xuICAgIC8qKlxuICAgICAqINCd0LDQt9Cy0LDQvdC40LUg0LrQvtC80LzQtdGA0YfQtdGB0LrQvtCz0L4g0L/RgNC10LTQu9C+0LbQtdC90LjRjy/Rh9C10YDQvdC+0LLQuNC60LAuXG4gICAgICovXG4gICAgbmFtZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCi0LjQvyDQutC+0LzQvNC10YDRh9C10YHQutC+0LPQviDQv9GA0LXQtNC70L7QttC10L3QuNGPL9GH0LXRgNC90L7QstC40LrQsC5cbiAgICAgKi9cbiAgICB0eXBlOiBTY09yZGVyRHJhZnRUeXBlO1xufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1vcmRlci1kcmFmdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvb3JkZXIvaW50ZXJuYWwvc2MtaS1vcmRlci1kcmFmdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NPcmRlckRyYWZ0IH0gZnJvbSAnLi4vY2xhc3Nlcy9zYy1vcmRlci1kcmFmdCc7XG5pbXBvcnQgeyBTY09yZGVyRHJhZnRTaG9ydCB9IGZyb20gJy4uL2NsYXNzZXMvc2Mtb3JkZXItZHJhZnQtc2hvcnQnO1xuaW1wb3J0IHsgU2NJT3JkZXJEcmFmdFNob3J0IH0gZnJvbSAnLi9zYy1pLW9yZGVyLWRyYWZ0LXNob3J0JztcbmltcG9ydCB7IFNjSU9yZGVySXRlbSB9IGZyb20gJy4vc2MtaS1vcmRlci1pdGVtJztcbmltcG9ydCB7IFNjSVByb2ZzdHJveU9yZGVySXRlbSB9IGZyb20gJy4vc2MtaS1wcm9mc3Ryb3ktb3JkZXItaXRlbSc7XG5cbi8qKlxuICog0JTQsNC90L3Ri9C1INC+INC60L7QvNC80LXRgNGH0LXRgdC60L7QvCDQv9GA0LXQtNC70L7QttC10L3QuNC4L9GH0LXRgNC90L7QstC40LrQtSDQt9Cw0LrQsNC30LAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NJT3JkZXJEcmFmdCBleHRlbmRzIFNjSU9yZGVyRHJhZnRTaG9ydCB7XG4gICAgLyoqXG4gICAgICog0KHRg9C80LzQsCDQutC+0LzQvNC10YDRh9C10YHQutC+0LPQviDQv9GA0LXQtNC70L7QttC10L3QuNGPL9GH0LXRgNC90L7QstC40LrQsC5cbiAgICAgKi9cbiAgICBzdW06IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDQv9GA0L7QtNGD0LrRgtC+0LIg0LrQvtC80LzQtdGA0YfQtdGB0LrQvtCz0L4g0L/RgNC10LTQu9C+0LbQtdC90LjRjy/Rh9C10YDQvdC+0LLQuNC60LAuXG4gICAgICovXG4gICAgcHJvZHVjdHM6IEFycmF5PFNjSU9yZGVySXRlbSB8IFNjSVByb2ZzdHJveU9yZGVySXRlbT47XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgdGD0LzQvNGDINCyINCy0LjQtNC1INGB0YLRgNC+0LrQuC4g0JXRgdC70Lgg0YHRgtC+0LjQvNC+0YHRgtGMINC+0YLRgdGD0YLRgdGC0LLRg9C10YIsINGC0L4g0LLQtdGA0L3RkdGCICctJy5cbiAgICAgKi9cbiAgICBnZXRTdW1TdHIoKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YHQvtC+0LHRidC10L3QuNC1INC+INC90LXQvtCx0YXQvtC00LjQvNC+0YHRgtC4INGD0YLQvtGH0L3QuNGC0Ywg0YHRg9C80LzRgyDQuNC70Lgg0L/Rg9GB0YLRg9GOINGB0YLRgNC+0LrRgy5cbiAgICAgKi9cbiAgICBnZXRTdW1NZXNzYWdlKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC/0YDQuNC30L3QsNC6INGC0L7Qs9C+LCDRh9GC0L4g0YHRgNC+0Log0LbQuNC30L3QuCDQuNC90YTQvtGA0LzQsNGG0LjQuCDQvdC1INC40YHRgtGR0LouXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbGlmZVRpbWUg0KHRgNC+0Log0LbQuNC30L3QuCDQtNCw0L3QvdGL0YUg0LIgbXMuXG4gICAgICovXG4gICAgY2FjaGVkRGF0YUlzQWN0dWFsKGxpZmVUaW1lOiBudW1iZXIpOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog0J7QsdC90L7QstC70Y/QtdGCINC00LDQvdC90YvQtSDQv9C+0LvQvdC+0LPQviDQutC+0LzQvNC10YDRh9C10YHQutC+0LPQviDQv9GA0LXQtNC70L7QttC10L3QuNGPL9GH0LXRgNC90L7QstC40LrQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvZmZlciDQn9C+0LvQvdCw0Y8g0LjQvdGE0L7RgNC80LDRhtC40Y8g0L4g0LrQvtC80LzQtdGA0YfQtdGB0LrQvtC8INC/0YDQtdC00LvQvtC20LXQvdC40Lgv0YfQtdGA0L3QvtCy0LjQutC1LlxuICAgICAqL1xuICAgIHVwZGF0ZURhdGEob2ZmZXI6IFNjT3JkZXJEcmFmdCk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiDQntCx0L3QvtCy0LvRj9C10YIg0LTQsNC90L3Ri9C1INC60YDQsNGC0LrQvtC5INC40L3RhNC+0YDQvNCw0YbQuNC10LkuINCd0LUg0L7QsdC90L7QstC70Y/QtdGCINC00LDRgtGDINC/0L7RgdC70LXQtNC90LXQs9C+INC+0LHQvdC+0LLQu9C10L3QuNGPLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9mZmVyINCa0YDQsNGC0LrQsNGPINC40L3RhNC+0YDQvNCw0YbQuNGPINC+INC60L7QvNC80LXRgNGH0LXRgdC60L7QvCDQv9GA0LXQtNC70L7QttC10L3QuNC4L9GH0LXRgNC90L7QstC40LrQtS5cbiAgICAgKi9cbiAgICB1cGRhdGVEYXRhRnJvbVNob3J0T2ZmZXIob2ZmZXI6IFNjT3JkZXJEcmFmdFNob3J0KTogdm9pZDtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1vcmRlci1kcmFmdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvb3JkZXIvaW50ZXJuYWwvc2MtaS1vcmRlci1kcmFmdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NPcmRlckRyYWZ0IH0gZnJvbSAnLi4vY2xhc3Nlcy9zYy1vcmRlci1kcmFmdCc7XG5pbXBvcnQgeyBTY09yZGVyRHJhZnRTaG9ydCB9IGZyb20gJy4uL2NsYXNzZXMvc2Mtb3JkZXItZHJhZnQtc2hvcnQnO1xuaW1wb3J0IHsgU2NJT3JkZXJEcmFmdFNob3J0IH0gZnJvbSAnLi9zYy1pLW9yZGVyLWRyYWZ0LXNob3J0JztcbmltcG9ydCB7IFNjSU9yZGVySXRlbSB9IGZyb20gJy4vc2MtaS1vcmRlci1pdGVtJztcblxuLyoqXG4gKiDQlNCw0L3QvdGL0LUg0L4g0LrQvtC80LzQtdGA0YfQtdGB0LrQvtC8INC/0YDQtdC00LvQvtC20LXQvdC40Lgv0YfQtdGA0L3QvtCy0LjQutC1INC30LDQutCw0LfQsC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY0lPcmRlckRyYWZ0IGV4dGVuZHMgU2NJT3JkZXJEcmFmdFNob3J0IHtcbiAgICAvKipcbiAgICAgKiDQodGD0LzQvNCwINC60L7QvNC80LXRgNGH0LXRgdC60L7Qs9C+INC/0YDQtdC00LvQvtC20LXQvdC40Y8v0YfQtdGA0L3QvtCy0LjQutCwLlxuICAgICAqL1xuICAgIHN1bTogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INC/0YDQvtC00YPQutGC0L7QsiDQutC+0LzQvNC10YDRh9C10YHQutC+0LPQviDQv9GA0LXQtNC70L7QttC10L3QuNGPL9GH0LXRgNC90L7QstC40LrQsC5cbiAgICAgKi9cbiAgICBwcm9kdWN0czogU2NJT3JkZXJJdGVtW107XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgdGD0LzQvNGDINCyINCy0LjQtNC1INGB0YLRgNC+0LrQuC4g0JXRgdC70Lgg0YHRgtC+0LjQvNC+0YHRgtGMINC+0YLRgdGD0YLRgdGC0LLRg9C10YIsINGC0L4g0LLQtdGA0L3RkdGCICctJy5cbiAgICAgKi9cbiAgICBnZXRTdW1TdHIoKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YHQvtC+0LHRidC10L3QuNC1INC+INC90LXQvtCx0YXQvtC00LjQvNC+0YHRgtC4INGD0YLQvtGH0L3QuNGC0Ywg0YHRg9C80LzRgyDQuNC70Lgg0L/Rg9GB0YLRg9GOINGB0YLRgNC+0LrRgy5cbiAgICAgKi9cbiAgICBnZXRTdW1NZXNzYWdlKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC/0YDQuNC30L3QsNC6INGC0L7Qs9C+LCDRh9GC0L4g0YHRgNC+0Log0LbQuNC30L3QuCDQuNC90YTQvtGA0LzQsNGG0LjQuCDQvdC1INC40YHRgtGR0LouXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbGlmZVRpbWUg0KHRgNC+0Log0LbQuNC30L3QuCDQtNCw0L3QvdGL0YUg0LIgbXMuXG4gICAgICovXG4gICAgY2FjaGVkRGF0YUlzQWN0dWFsKGxpZmVUaW1lOiBudW1iZXIpOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog0J7QsdC90L7QstC70Y/QtdGCINC00LDQvdC90YvQtSDQv9C+0LvQvdC+0LPQviDQutC+0LzQvNC10YDRh9C10YHQutC+0LPQviDQv9GA0LXQtNC70L7QttC10L3QuNGPL9GH0LXRgNC90L7QstC40LrQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvZmZlciDQn9C+0LvQvdCw0Y8g0LjQvdGE0L7RgNC80LDRhtC40Y8g0L4g0LrQvtC80LzQtdGA0YfQtdGB0LrQvtC8INC/0YDQtdC00LvQvtC20LXQvdC40Lgv0YfQtdGA0L3QvtCy0LjQutC1LlxuICAgICAqL1xuICAgIHVwZGF0ZURhdGEob2ZmZXI6IFNjT3JkZXJEcmFmdCk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiDQntCx0L3QvtCy0LvRj9C10YIg0LTQsNC90L3Ri9C1INC60YDQsNGC0LrQvtC5INC40L3RhNC+0YDQvNCw0YbQuNC10LkuINCd0LUg0L7QsdC90L7QstC70Y/QtdGCINC00LDRgtGDINC/0L7RgdC70LXQtNC90LXQs9C+INC+0LHQvdC+0LLQu9C10L3QuNGPLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9mZmVyINCa0YDQsNGC0LrQsNGPINC40L3RhNC+0YDQvNCw0YbQuNGPINC+INC60L7QvNC80LXRgNGH0LXRgdC60L7QvCDQv9GA0LXQtNC70L7QttC10L3QuNC4L9GH0LXRgNC90L7QstC40LrQtS5cbiAgICAgKi9cbiAgICB1cGRhdGVEYXRhRnJvbVNob3J0T2ZmZXIob2ZmZXI6IFNjT3JkZXJEcmFmdFNob3J0KTogdm9pZDtcbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1vcmRlci1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9vcmRlci9pbnRlcm5hbC9zYy1pLW9yZGVyLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjSVByb2R1Y3QgfSBmcm9tICcuLi8uLi9jYXRhbG9nL2ludGVyZmFjZXMvc2MtaS1wcm9kdWN0JztcbmltcG9ydCB7IFNjSUNvbmZpZ3VyYXRvclNlYXJjaFByb2R1Y3RCYXNlIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdG9yL2R0by9zYy1pLWNvbmZpZ3VyYXRvci1zZWFyY2gtcHJvZHVjdC1iYXNlJztcblxuLyoqXG4gKiDQlNCw0L3QvdGL0LUg0L4g0LXQtNC40L3QuNGH0L3QvtC5INC/0L7Qt9C40YbQuNC4INGC0L7QstCw0YDQsC/Rg9GB0LvRg9Cz0Lgg0LIg0LfQsNC60LDQt9C1LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjSU9yZGVySXRlbSB7XG4gICAgLyoqXG4gICAgICog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L/QvtC30LjRhtC40LguXG4gICAgICovXG4gICAgaWQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCU0LDQvdC90YvQtSDQviDRgtC+0LLQsNGA0LUuINCg0LDQstC10L0gYG51bGxgINC10YHQu9C4INGC0L7QstCw0YAg0L7RgtGB0YPRgtGB0YLQstGD0LXRgi5cbiAgICAgKi9cbiAgICBwcm9kdWN0OiBTY0lQcm9kdWN0IHwgbnVsbDtcblxuICAgIC8qKlxuICAgICAqINCa0L7Qu9C40YfQtdGB0YLQstC+INGC0L7QstCw0YDQsC/Rg9GB0LvRg9Cz0LguXG4gICAgICovXG4gICAgcXVhbnRpdHk6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCY0YLQvtCz0L7QstCw0Y8g0YHRgtC+0LjQvNC+0YHRgtGMINGC0L7QstCw0YDQsCDQuNC70Lgg0YPRgdC70YPQs9C4INCyINCy0LDQu9GO0YLQtS5cbiAgICAgKi9cbiAgICBjb3N0OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDQodGC0L7QuNC80L7RgdGC0Ywg0LXQtNC40L3QuNGG0Ysg0YLQvtCy0LDRgNCwINC40LvQuCDRg9GB0LvRg9Cz0Lgg0LIg0LLQsNC70Y7RgtC1LlxuICAgICAqL1xuICAgIGNvc3RPbmU6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCh0YLQvtC40LzQvtGB0YLRjCDQtdC00LjQvdC40YbRiyDRgtC+0LLQsNGA0LAg0LjQu9C4INGD0YHQu9GD0LPQuCDQsiDRgNGD0LHQu9GP0YUuXG4gICAgICovXG4gICAgY29zdE9uZVJ1YjogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog0JjRgtC+0LPQvtCy0LDRjyDRgdGC0L7QuNC80L7RgdGC0Ywg0L/QvtC30LjRhtC40Lgg0LrQvtGA0LfQuNC90YsuXG4gICAgICovXG4gICAgY29zdFJ1YjogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog0J7Qv9C40YHQsNC90LjQtSDQv9C+0LfQuNGG0LjQuC5cbiAgICAgKi9cbiAgICBtYXJrZXI/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQktGL0YHQvtGC0LAg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIGhlaWdodD86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCU0LvQuNC90LAg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIGxlbmd0aD86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCo0LjRgNC40L3QsCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgd2lkdGg/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQu9C+0LPQuNGH0LXRgdC60L7QuSDQs9GA0YPQv9C/0Ysg0YLQvtCy0LDRgNC+0LIv0YPRgdC70YPQsy5cbiAgICAgKi9cbiAgICBsb2dpY0dyb3VwSWQ/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQndCw0L/RgNCw0LLQu9C10L3QuNC1INC/0YDQvtC00LDQti5cbiAgICAgKi9cbiAgICBzYWxlc0RpcmVjdGlvbj86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFVSTCDQuNC30L7QsdGA0LDQttC10L3QuNGPINGB0L4g0YHQv9C10YbQuNGE0LjQutCw0YbQuNC10LkuXG4gICAgICovXG4gICAgc3BlY2lmaWNhdGlvbkltZ1VybD86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCd0LDQt9Cy0LDQvdC40LUg0LrQvtC90YTQuNCz0YPRgNCw0YLQvtGA0LAuXG4gICAgICovXG4gICAgY29uZmlndXJhdG9yPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0J/QsNGA0LDQvNC10YLRgNGLINCy0LLQtdC00LXQvdC90YvQtSDQsiDQutC+0L3RhNC40LPRg9GA0LDRgtC+0YAsINC/0YDQuCDQtNC+0LHQsNCy0LvQtdC90LjQuCDQv9C+0LfQuNGG0LjQuCDQsiDQutC+0YDQt9C40L3Rgy5cbiAgICAgKi9cbiAgICBjb25maWd1cmF0b3JQYXJhbXM/OiBTY0lDb25maWd1cmF0b3JTZWFyY2hQcm9kdWN0QmFzZTtcblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0YLQvtC40LzQvtGB0YLRjCDQtdC00LjQvdC40YbRiyDRgtC+0LLQsNGA0LAgKNCy0LrQu9GO0YfQsNGPINCy0LDQu9GO0YLRgykuINCV0YHQu9C4INGB0YLQvtC40LzQvtGB0YLRjCDQvtGC0YHRg9GC0YHRgtCy0YPQtdGCLCDRgtC+INCy0LXRgNC90ZHRgiAnLScuXG4gICAgICovXG4gICAgZ2V0Q29zdFBlckl0ZW0oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YHRgtGA0L7QutC+0LLQvtC1INC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNC1INGB0YLQvtC40LzQvtGB0YLQuCDQtdC00LjQvdC40YbRiyDRgtC+0LLQsNGA0LAgKNCy0LrQu9GO0YfQsNGPINC10LTQuNC90LjRhtGDINC40LfQvNC10YDQtdC90LjRjykg0LIg0LLQsNC70Y7RgtC1LiDQldGB0LvQuCDRgdGC0L7QuNC80L7RgdGC0Ywg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiwg0YLQviDQstC10YDQvdGR0YIgJy0nLlxuICAgICAqL1xuICAgIGdldENvc3RJbkN1cnJlbmN5RGVzY1Blckl0ZW0oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YHRgtGA0L7QutC+0LLQvtC1INC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNC1INGB0YLQvtC40LzQvtGB0YLQuCDQtdC00LjQvdC40YbRiyDRgtC+0LLQsNGA0LAgKNCy0LrQu9GO0YfQsNGPINC10LTQuNC90LjRhtGDINC40LfQvNC10YDQtdC90LjRjykg0LIg0YDRg9Cx0LvRj9GFLiDQldGB0LvQuCDRgdGC0L7QuNC80L7RgdGC0Ywg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiwg0YLQviDQstC10YDQvdGR0YIgJy0nLlxuICAgICAqL1xuICAgIGdldENvc3RJblJ1YkRlc2NQZXJJdGVtKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0YLQvtC40LzQvtGB0YLRjCDRgtC+0LLQsNGA0LAg0LIg0LLQuNC00LUg0YHRgtGA0L7QutC4LiDQldGB0LvQuCDRgdGC0L7QuNC80L7RgdGC0Ywg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiwg0YLQviDQstC10YDQvdGR0YIgJy0nLlxuICAgICAqL1xuICAgIGdldENvc3RSdWJTdHIoKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YHQvtC+0LHRidC10L3QuNC1INC+INC90LXQvtCx0YXQvtC00LjQvNC+0YHRgtC4INGD0YLQvtGH0L3QuNGC0Ywg0YbQtdC90YMg0LjQu9C4INC/0YPRgdGC0YPRjiDRgdGC0YDQvtC60YMuXG4gICAgICovXG4gICAgZ2V0Q29zdE1lc3NhZ2UoKTogc3RyaW5nO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1vcmRlci1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9vcmRlci9pbnRlcm5hbC9zYy1pLW9yZGVyLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjSVByb2R1Y3QgfSBmcm9tICcuLi8uLi9jYXRhbG9nL2ludGVyZmFjZXMvc2MtaS1wcm9kdWN0JztcbmltcG9ydCB7IFNjSUNvbmZpZ3VyYXRvclNlYXJjaFByb2R1Y3RCYXNlIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdG9yL2R0by9zYy1pLWNvbmZpZ3VyYXRvci1zZWFyY2gtcHJvZHVjdC1iYXNlJztcblxuLyoqXG4gKiDQlNCw0L3QvdGL0LUg0L4g0LXQtNC40L3QuNGH0L3QvtC5INC/0L7Qt9C40YbQuNC4INGC0L7QstCw0YDQsC/Rg9GB0LvRg9Cz0Lgg0LIg0LfQsNC60LDQt9C1LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjSU9yZGVySXRlbSB7XG4gICAgLyoqXG4gICAgICog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L/QvtC30LjRhtC40LguXG4gICAgICovXG4gICAgaWQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCU0LDQvdC90YvQtSDQviDRgtC+0LLQsNGA0LUuINCg0LDQstC10L0gYG51bGxgINC10YHQu9C4INGC0L7QstCw0YAg0L7RgtGB0YPRgtGB0YLQstGD0LXRgi5cbiAgICAgKi9cbiAgICBwcm9kdWN0OiBTY0lQcm9kdWN0IHwgbnVsbDtcblxuICAgIC8qKlxuICAgICAqINCa0L7Qu9C40YfQtdGB0YLQstC+INGC0L7QstCw0YDQsC/Rg9GB0LvRg9Cz0LguXG4gICAgICovXG4gICAgcXVhbnRpdHk6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCY0YLQvtCz0L7QstCw0Y8g0YHRgtC+0LjQvNC+0YHRgtGMINGC0L7QstCw0YDQsCDQuNC70Lgg0YPRgdC70YPQs9C4INCyINCy0LDQu9GO0YLQtS5cbiAgICAgKi9cbiAgICBjb3N0OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDQodGC0L7QuNC80L7RgdGC0Ywg0LXQtNC40L3QuNGG0Ysg0YLQvtCy0LDRgNCwINC40LvQuCDRg9GB0LvRg9Cz0Lgg0LIg0LLQsNC70Y7RgtC1LlxuICAgICAqL1xuICAgIGNvc3RPbmU6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCh0YLQvtC40LzQvtGB0YLRjCDQtdC00LjQvdC40YbRiyDRgtC+0LLQsNGA0LAg0LjQu9C4INGD0YHQu9GD0LPQuCDQsiDRgNGD0LHQu9GP0YUuXG4gICAgICovXG4gICAgY29zdE9uZVJ1YjogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog0JjRgtC+0LPQvtCy0LDRjyDRgdGC0L7QuNC80L7RgdGC0Ywg0L/QvtC30LjRhtC40Lgg0LrQvtGA0LfQuNC90YsuXG4gICAgICovXG4gICAgY29zdFJ1YjogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog0J7Qv9C40YHQsNC90LjQtSDQv9C+0LfQuNGG0LjQuC5cbiAgICAgKi9cbiAgICBtYXJrZXI/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQktGL0YHQvtGC0LAg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIGhlaWdodD86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCU0LvQuNC90LAg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIGxlbmd0aD86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCo0LjRgNC40L3QsCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgd2lkdGg/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQu9C+0LPQuNGH0LXRgdC60L7QuSDQs9GA0YPQv9C/0Ysg0YLQvtCy0LDRgNC+0LIv0YPRgdC70YPQsy5cbiAgICAgKi9cbiAgICBsb2dpY0dyb3VwSWQ/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBVUkwg0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDRgdC+INGB0L/QtdGG0LjRhNC40LrQsNGG0LjQtdC5LlxuICAgICAqL1xuICAgIHNwZWNpZmljYXRpb25JbWdVcmw/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQndCw0LfQstCw0L3QuNC1INC60L7QvdGE0LjQs9GD0YDQsNGC0L7RgNCwLlxuICAgICAqL1xuICAgIGNvbmZpZ3VyYXRvcj86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCf0LDRgNCw0LzQtdGC0YDRiyDQstCy0LXQtNC10L3QvdGL0LUg0LIg0LrQvtC90YTQuNCz0YPRgNCw0YLQvtGALCDQv9GA0Lgg0LTQvtCx0LDQstC70LXQvdC40Lgg0L/QvtC30LjRhtC40Lgg0LIg0LrQvtGA0LfQuNC90YMuXG4gICAgICovXG4gICAgY29uZmlndXJhdG9yUGFyYW1zPzogU2NJQ29uZmlndXJhdG9yU2VhcmNoUHJvZHVjdEJhc2U7XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgdGC0L7QuNC80L7RgdGC0Ywg0LXQtNC40L3QuNGG0Ysg0YLQvtCy0LDRgNCwICjQstC60LvRjtGH0LDRjyDQstCw0LvRjtGC0YMpLiDQldGB0LvQuCDRgdGC0L7QuNC80L7RgdGC0Ywg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiwg0YLQviDQstC10YDQvdGR0YIgJy0nLlxuICAgICAqL1xuICAgIGdldENvc3RQZXJJdGVtKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0YLRgNC+0LrQvtCy0L7QtSDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjQtSDRgdGC0L7QuNC80L7RgdGC0Lgg0LXQtNC40L3QuNGG0Ysg0YLQvtCy0LDRgNCwICjQstC60LvRjtGH0LDRjyDQtdC00LjQvdC40YbRgyDQuNC30LzQtdGA0LXQvdC40Y8pINCyINCy0LDQu9GO0YLQtS4g0JXRgdC70Lgg0YHRgtC+0LjQvNC+0YHRgtGMINC+0YLRgdGD0YLRgdGC0LLRg9C10YIsINGC0L4g0LLQtdGA0L3RkdGCICctJy5cbiAgICAgKi9cbiAgICBnZXRDb3N0SW5DdXJyZW5jeURlc2NQZXJJdGVtKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0YLRgNC+0LrQvtCy0L7QtSDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjQtSDRgdGC0L7QuNC80L7RgdGC0Lgg0LXQtNC40L3QuNGG0Ysg0YLQvtCy0LDRgNCwICjQstC60LvRjtGH0LDRjyDQtdC00LjQvdC40YbRgyDQuNC30LzQtdGA0LXQvdC40Y8pINCyINGA0YPQsdC70Y/RhS4g0JXRgdC70Lgg0YHRgtC+0LjQvNC+0YHRgtGMINC+0YLRgdGD0YLRgdGC0LLRg9C10YIsINGC0L4g0LLQtdGA0L3RkdGCICctJy5cbiAgICAgKi9cbiAgICBnZXRDb3N0SW5SdWJEZXNjUGVySXRlbSgpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgdGC0L7QuNC80L7RgdGC0Ywg0YLQvtCy0LDRgNCwINCyINCy0LjQtNC1INGB0YLRgNC+0LrQuC4g0JXRgdC70Lgg0YHRgtC+0LjQvNC+0YHRgtGMINC+0YLRgdGD0YLRgdGC0LLRg9C10YIsINGC0L4g0LLQtdGA0L3RkdGCICctJy5cbiAgICAgKi9cbiAgICBnZXRDb3N0UnViU3RyKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0L7QvtCx0YnQtdC90LjQtSDQviDQvdC10L7QsdGF0L7QtNC40LzQvtGB0YLQuCDRg9GC0L7Rh9C90LjRgtGMINGG0LXQvdGDINC40LvQuCDQv9GD0YHRgtGD0Y4g0YHRgtGA0L7QutGDLlxuICAgICAqL1xuICAgIGdldENvc3RNZXNzYWdlKCk6IHN0cmluZztcbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1vcmRlci1zaG9ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvb3JkZXIvaW50ZXJuYWwvc2MtaS1vcmRlci1zaG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NJUmVmZXJlbmNlc1R5cGVzLCBTY0lTYWxlc0RpcmVjdGlvbiwgU2NPcmRlclN0YXRlU3RhdHVzIH0gZnJvbSAnLi4vLi4vcmVmZXJlbmNlcyc7XG5pbXBvcnQgeyBTY0lPcmRlckRlbGl2ZXJ5IH0gZnJvbSAnLi4vY2xhc3Nlcy9zYy1vcmRlci1kZWxpdmVyeSc7XG5pbXBvcnQgeyBTY0lPcmRlclBheW1lbnQgfSBmcm9tICcuLi9jbGFzc2VzL3NjLW9yZGVyLXBheW1lbnQnO1xuaW1wb3J0IHsgU2NPcmRlclNob3J0IH0gZnJvbSAnLi4vY2xhc3Nlcy9zYy1vcmRlci1zaG9ydCc7XG5pbXBvcnQgeyBTY0lPcmRlckJhc2UgfSBmcm9tICcuL3NjLWktb3JkZXItYmFzZSc7XG5cbi8qKlxuICog0JTQsNC90L3Ri9C1INC+INC60YDQsNGC0LrQvtC8INC30LDQutCw0LfQtS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY0lPcmRlclNob3J0IGV4dGVuZHMgU2NJT3JkZXJCYXNlIHtcbiAgICAvKipcbiAgICAgKiDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgdGC0LDRgtGD0YHQsC5cbiAgICAgKi9cbiAgICBzdGF0dXM6IFNjSVJlZmVyZW5jZXNUeXBlczxudW1iZXIsIFNjT3JkZXJTdGF0ZVN0YXR1cz47XG5cbiAgICAvKipcbiAgICAgKiDQlNC10YLQsNC70LjQt9C40YDRg9GO0YnQuNC5INGB0YLQsNGC0YPRgSDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgc3RhdHVzRGV0YWlsOiBTY0lSZWZlcmVuY2VzVHlwZXM8bnVtYmVyLCBTY09yZGVyU3RhdGVTdGF0dXM+O1xuXG4gICAgLyoqXG4gICAgICog0JTQsNC90L3Ri9C1INC+INC90LDQv9GA0LDQstC70LXQvdC40Lgg0L/RgNC+0LTQsNC2LlxuICAgICAqL1xuICAgIHNhbGVzRGlyZWN0aW9uOiBTY0lTYWxlc0RpcmVjdGlvbjtcblxuICAgIC8qKlxuICAgICAqINCU0LDQvdC90YvQtSDQvtCxINC+0L/Qu9Cw0YLQtSDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgcGF5bWVudDogU2NJT3JkZXJQYXltZW50O1xuXG4gICAgLyoqXG4gICAgICog0JTQsNC90L3Ri9C1INC+INC00L7RgdGC0LDQstC60LUg0LfQsNC60LDQt9CwLlxuICAgICAqL1xuICAgIGRlbGl2ZXJ5OiBTY0lPcmRlckRlbGl2ZXJ5O1xuXG4gICAgLyoqXG4gICAgICog0KHRg9C80LzQsCDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgc3VtOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDQndC+0LzQtdGAINC00L7QutGD0LzQtdC90YLQsCDQsiDRg9GH0LXRgtC90L7QuSDRgdC40YHRgtC10LzQtSDQutC70LjQtdC90YLQsC5cbiAgICAgKi9cbiAgICBudW1iZXJEb2M/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDQqNGC0YDQuNGFLdC60L7QtCDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgYmFyY29kZT86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6INC30LDQutCw0LfQsCwg0YHQvtC30LTQsNC90L3QvtCz0L4g0LjQtyDRh9C10YDQvdC+0LLQuNC60LAg0J/RgNC+0YTRgdGC0YDQvtC5LlxuICAgICAqL1xuICAgIGlzUHJvZnN0cm95PzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqINCe0LHQvdC+0LLQu9GP0LXRgiDQtNCw0L3QvdGL0LUg0LfQsNC60LDQt9CwLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9yZGVyINCa0YDQsNGC0LrQsNGPINC40L3RhNC+0YDQvNCw0YbQuNGPINC+INC30LDQutCw0LfQtS5cbiAgICAgKi9cbiAgICB1cGRhdGVEYXRhKG9yZGVyOiBTY09yZGVyU2hvcnQpOiB2b2lkO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1vcmRlci1zaG9ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvb3JkZXIvaW50ZXJuYWwvc2MtaS1vcmRlci1zaG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NJUmVmZXJlbmNlc1R5cGVzLCBTY0lTYWxlc0RpcmVjdGlvbiwgU2NPcmRlclN0YXRlU3RhdHVzIH0gZnJvbSAnLi4vLi4vcmVmZXJlbmNlcyc7XG5pbXBvcnQgeyBTY0lPcmRlckRlbGl2ZXJ5IH0gZnJvbSAnLi4vY2xhc3Nlcy9zYy1vcmRlci1kZWxpdmVyeSc7XG5pbXBvcnQgeyBTY0lPcmRlclBheW1lbnQgfSBmcm9tICcuLi9jbGFzc2VzL3NjLW9yZGVyLXBheW1lbnQnO1xuaW1wb3J0IHsgU2NPcmRlclNob3J0IH0gZnJvbSAnLi4vY2xhc3Nlcy9zYy1vcmRlci1zaG9ydCc7XG5pbXBvcnQgeyBTY0lPcmRlckJhc2UgfSBmcm9tICcuL3NjLWktb3JkZXItYmFzZSc7XG5cbi8qKlxuICog0JTQsNC90L3Ri9C1INC+INC60YDQsNGC0LrQvtC8INC30LDQutCw0LfQtS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY0lPcmRlclNob3J0IGV4dGVuZHMgU2NJT3JkZXJCYXNlIHtcbiAgICAvKipcbiAgICAgKiDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgdGC0LDRgtGD0YHQsC5cbiAgICAgKi9cbiAgICBzdGF0dXM6IFNjSVJlZmVyZW5jZXNUeXBlczxudW1iZXIsIFNjT3JkZXJTdGF0ZVN0YXR1cz47XG5cbiAgICAvKipcbiAgICAgKiDQlNC10YLQsNC70LjQt9C40YDRg9GO0YnQuNC5INGB0YLQsNGC0YPRgSDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgc3RhdHVzRGV0YWlsOiBTY0lSZWZlcmVuY2VzVHlwZXM8bnVtYmVyLCBTY09yZGVyU3RhdGVTdGF0dXM+O1xuXG4gICAgLyoqXG4gICAgICog0JTQsNC90L3Ri9C1INC+INC90LDQv9GA0LDQstC70LXQvdC40Lgg0L/RgNC+0LTQsNC2LlxuICAgICAqL1xuICAgIHNhbGVzRGlyZWN0aW9uOiBTY0lTYWxlc0RpcmVjdGlvbjtcblxuICAgIC8qKlxuICAgICAqINCU0LDQvdC90YvQtSDQvtCxINC+0L/Qu9Cw0YLQtSDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgcGF5bWVudDogU2NJT3JkZXJQYXltZW50O1xuXG4gICAgLyoqXG4gICAgICog0JTQsNC90L3Ri9C1INC+INC00L7RgdGC0LDQstC60LUg0LfQsNC60LDQt9CwLlxuICAgICAqL1xuICAgIGRlbGl2ZXJ5OiBTY0lPcmRlckRlbGl2ZXJ5O1xuXG4gICAgLyoqXG4gICAgICog0KHRg9C80LzQsCDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgc3VtOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDQndC+0LzQtdGAINC00L7QutGD0LzQtdC90YLQsCDQsiDRg9GH0LXRgtC90L7QuSDRgdC40YHRgtC10LzQtSDQutC70LjQtdC90YLQsC5cbiAgICAgKi9cbiAgICBudW1iZXJEb2M/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDQqNGC0YDQuNGFLdC60L7QtCDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgYmFyY29kZT86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCe0LHQvdC+0LLQu9GP0LXRgiDQtNCw0L3QvdGL0LUg0LfQsNC60LDQt9CwLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9yZGVyINCa0YDQsNGC0LrQsNGPINC40L3RhNC+0YDQvNCw0YbQuNGPINC+INC30LDQutCw0LfQtS5cbiAgICAgKi9cbiAgICB1cGRhdGVEYXRhKG9yZGVyOiBTY09yZGVyU2hvcnQpOiB2b2lkO1xufVxuIl19
@@ -1,12 +1,10 @@
1
1
  /* eslint-disable no-param-reassign */
2
- import { DOCUMENT } from '@angular/common';
3
2
  import { HttpClient } from '@angular/common/http';
4
3
  import { inject, Injectable } from '@angular/core';
5
- import { catchError, EMPTY, exhaustMap, filter, map, of, take, tap, timer } from 'rxjs';
4
+ import { filter, map, of, take, tap } from 'rxjs';
6
5
  import { ScCartService } from '../../cart';
7
6
  import { ScCachedItem } from '../../catalog/classes/sc-cached-item';
8
- import { ScConvertersService } from '../../converters/services/sc-converters.service';
9
- import { SC_DATE_FORMAT, SC_UPDATE_INTERVAL, SC_URLS } from '../../tokens';
7
+ import { SC_UPDATE_INTERVAL, SC_URLS } from '../../tokens';
10
8
  import { SC_USER_INFO } from '../../user/tokens/sc-user-providers';
11
9
  import { ScUserMetrikaGoalsEnum, ScUserMetrikaService } from '../../user-metrika';
12
10
  import { ScOrderDraft, ScOrderDraftShort, ScOrderShort } from '../classes';
@@ -44,18 +42,6 @@ export class ScOrderDraftsService {
44
42
  * Сервис для сбора метрик о действиях пользователей.
45
43
  */
46
44
  this.userMetrikaService = inject(ScUserMetrikaService);
47
- /**
48
- * Форматы дат.
49
- */
50
- this.dateFormats = inject(SC_DATE_FORMAT);
51
- /**
52
- * Сервис конвертации данных.
53
- */
54
- this.convertersService = inject(ScConvertersService);
55
- /**
56
- * Объект документа.
57
- */
58
- this.document = inject(DOCUMENT);
59
45
  /**
60
46
  * Коллекция пар ключ-значение для кэшированных коммерческих предложений/черновиков пользователя.
61
47
  */
@@ -71,85 +57,17 @@ export class ScOrderDraftsService {
71
57
  */
72
58
  getList$(params) {
73
59
  return this.http.get(`${this.urls.apiUrl}/orders/offers`, { params: params }).pipe(map((offersPaginateDTO) => {
74
- offersPaginateDTO.data = offersPaginateDTO.data.map((item) => new ScOrderDraftShort(item, this.dateFormats.api));
60
+ offersPaginateDTO.data = offersPaginateDTO.data.map((item) => new ScOrderDraftShort(item));
75
61
  return offersPaginateDTO;
76
62
  }));
77
63
  }
78
- /**
79
- * Возвращает краткие данные черновиков с указанными номерами. Используется для лёгкого опроса состояния актуализации без загрузки позиций.
80
- *
81
- * @param ids Номера черновиков.
82
- */
83
- getShortList$(ids) {
84
- const params = { perPage: ids.length, filters: { number: { in: ids } } };
85
- return this.getList$(this.convertersService.toHttpParams(params, { nonNullable: true })).pipe(map((response) => response.data));
86
- }
87
- /**
88
- * Периодически запрашивает краткие данные черновиков с указанными номерами, пока есть подписка.
89
- * Пока вкладка браузера скрыта, запросы не выполняются; новый запрос не начинается до завершения предыдущего.
90
- *
91
- * @param ids Номера черновиков.
92
- */
93
- watchShortList$(ids) {
94
- return this.poll$(this.updateInterval.orderDraftStatus, () => this.getShortList$(ids));
95
- }
96
- /**
97
- * Периодически перезапрашивает страницу списка черновиков в фоне, пока есть подписка. Условия запросов как у {@link watchShortList$}.
98
- *
99
- * @param params Параметры запроса получения списка.
100
- */
101
- watchList$(params) {
102
- return this.poll$(this.updateInterval.orderDraftsList, () => this.getList$(params).pipe(map((response) => response.data)));
103
- }
104
- /**
105
- * Создаёт черновик заказа из файла программы «Профстрой» и запускает его обработку.
106
- *
107
- * @param data Данные для создания.
108
- */
109
- createProfstroy$(data) {
110
- return this.http.post(`${this.urls.apiUrl}/orders/offers/profstroy`, data).pipe(map((offerDTO) => new ScOrderDraft(offerDTO, this.dateFormats.api)), tap((offer) => {
111
- this.userMetrikaService.emitUserMetrikaEvent({
112
- target: ScUserMetrikaGoalsEnum.orderDraftProfstroyCreated,
113
- params: { offer_id: offer.id },
114
- });
115
- this.offerMap.set(offer.id, new ScCachedItem(this.updateInterval.orderData, of(offer), loadingPlaceholder));
116
- }));
117
- }
118
- /**
119
- * Запускает актуализацию черновика Профстрой (повторный обмен с 1С по текущему составу).
120
- *
121
- * @param offerId Идентификатор черновика.
122
- */
123
- actualizeProfstroy$(offerId) {
124
- return this.http.post(`${this.urls.apiUrl}/orders/offers/${offerId}/profstroy/actualize`, {}).pipe(map((offerDTO) => new ScOrderDraft(offerDTO, this.dateFormats.api)), tap((offer) => {
125
- this.userMetrikaService.emitUserMetrikaEvent({
126
- target: ScUserMetrikaGoalsEnum.orderDraftProfstroyActualized,
127
- params: { offer_id: offerId },
128
- });
129
- this.offerMap.get(offerId)?.setValue(offer);
130
- }));
131
- }
132
- /**
133
- * Запускает пересборку черновика Профстрой из ранее загруженного файла.
134
- *
135
- * @param offerId Идентификатор черновика.
136
- */
137
- reloadProfstroy$(offerId) {
138
- return this.http.post(`${this.urls.apiUrl}/orders/offers/${offerId}/profstroy/reload`, {}).pipe(map((offerDTO) => new ScOrderDraft(offerDTO, this.dateFormats.api)), tap((offer) => {
139
- this.userMetrikaService.emitUserMetrikaEvent({
140
- target: ScUserMetrikaGoalsEnum.orderDraftProfstroyReloaded,
141
- params: { offer_id: offerId },
142
- });
143
- this.offerMap.get(offerId)?.setValue(offer);
144
- }));
145
- }
146
64
  /**
147
65
  * Создаёт новое коммерческое предложение/черновик заказа.
148
66
  *
149
67
  * @param data Данные для создания.
150
68
  */
151
69
  create$(data) {
152
- return this.http.post(`${this.urls.apiUrl}/orders/offers`, data).pipe(map((offerDTO) => new ScOrderDraft(offerDTO, this.dateFormats.api)), tap((offer) => {
70
+ return this.http.post(`${this.urls.apiUrl}/orders/offers`, data).pipe(map((offerDTO) => new ScOrderDraft(offerDTO)), tap((offer) => {
153
71
  this.userMetrikaService.emitUserMetrikaEvent({
154
72
  target: ScUserMetrikaGoalsEnum.orderDraftCreated,
155
73
  params: { offer_id: offer.id },
@@ -167,7 +85,7 @@ export class ScOrderDraftsService {
167
85
  get$(draftId, cacheable = true) {
168
86
  let cachedItem = this.offerMap.get(draftId);
169
87
  if (!cachedItem) {
170
- cachedItem = new ScCachedItem(this.updateInterval.orderData, this.http.get(`${this.urls.apiUrl}/orders/offers/${draftId}`).pipe(map((data) => new ScOrderDraft(data, this.dateFormats.api))), loadingPlaceholder);
88
+ cachedItem = new ScCachedItem(this.updateInterval.orderData, this.http.get(`${this.urls.apiUrl}/orders/offers/${draftId}`).pipe(map((data) => new ScOrderDraft(data))), loadingPlaceholder);
171
89
  if (cacheable) {
172
90
  this.offerMap.set(draftId, cachedItem);
173
91
  }
@@ -177,22 +95,6 @@ export class ScOrderDraftsService {
177
95
  }
178
96
  return cachedItem.item$;
179
97
  }
180
- /**
181
- * Запрашивает полную информацию о черновике в обход кэша и обновляет кэш полученными данными.
182
- *
183
- * @param draftId Идентификатор записи.
184
- */
185
- fetch$(draftId) {
186
- return this.http.get(`${this.urls.apiUrl}/orders/offers/${draftId}`).pipe(map((offerDTO) => new ScOrderDraft(offerDTO, this.dateFormats.api)), tap((offer) => {
187
- const cachedItem = this.offerMap.get(draftId);
188
- if (cachedItem) {
189
- cachedItem.setValue(offer);
190
- }
191
- else {
192
- this.offerMap.set(draftId, new ScCachedItem(this.updateInterval.orderData, of(offer), loadingPlaceholder));
193
- }
194
- }));
195
- }
196
98
  /**
197
99
  * Возвращает список элементов коммерческого предложения/черновика.
198
100
  *
@@ -209,7 +111,7 @@ export class ScOrderDraftsService {
209
111
  */
210
112
  update$(draftId, patch) {
211
113
  const cachedItem = this.offerMap.get(draftId);
212
- return this.http.patch(`${this.urls.apiUrl}/orders/offers/${draftId}`, patch).pipe(map((offerDTO) => new ScOrderDraft(offerDTO, this.dateFormats.api)), tap((offer) => {
114
+ return this.http.patch(`${this.urls.apiUrl}/orders/offers/${draftId}`, patch).pipe(map((offerDTO) => new ScOrderDraft(offerDTO)), tap((offer) => {
213
115
  this.userMetrikaService.emitUserMetrikaEvent({
214
116
  target: ScUserMetrikaGoalsEnum.orderDraftUpdated,
215
117
  params: { offer_id: draftId },
@@ -248,15 +150,6 @@ export class ScOrderDraftsService {
248
150
  this.removeOrderedProductsFromCache(offerId, data.items ?? []);
249
151
  }));
250
152
  }
251
- /**
252
- * Выполняет запрос с указанным интервалом, пока вкладка браузера видна. Новый запрос не начинается до завершения предыдущего, ошибки пропускаются.
253
- *
254
- * @param period Интервал запросов (ms).
255
- * @param request Функция, возвращающая запрос.
256
- */
257
- poll$(period, request) {
258
- return timer(period, period).pipe(filter(() => this.document.visibilityState !== 'hidden'), exhaustMap(() => request().pipe(catchError(() => EMPTY))));
259
- }
260
153
  /**
261
154
  * Убирает заказанные позиции из кэша черновика локально (сервер сразу после заказа ещё может вернуть их в списке).
262
155
  *
@@ -274,15 +167,11 @@ export class ScOrderDraftsService {
274
167
  return;
275
168
  }
276
169
  const currentDraft = draft;
277
- // Из черновика Профстрой позиции после оформления заказа не удаляются.
278
- if (currentDraft.isProfstroy) {
279
- return;
280
- }
281
170
  const remainingProducts = currentDraft.products.filter((product) => !orderedIds.has(product.id));
282
171
  if (remainingProducts.length === currentDraft.products.length) {
283
172
  return;
284
173
  }
285
- const updatedDraft = new ScOrderDraft(currentDraft, this.dateFormats.api);
174
+ const updatedDraft = new ScOrderDraft(currentDraft);
286
175
  updatedDraft.products = remainingProducts;
287
176
  updatedDraft.sum = remainingProducts.reduce((sum, product) => sum + product.costRub, 0);
288
177
  cachedItem.setValue(updatedDraft);
@@ -295,7 +184,7 @@ export class ScOrderDraftsService {
295
184
  * @param offerId Идентификатор коммерческого предложения/черновика.
296
185
  */
297
186
  addProduct$(productData, offerId) {
298
- return this.http.post(`${this.urls.apiUrl}/orders/offers/${offerId}/products`, productData).pipe(map((offerDTO) => new ScOrderDraft(offerDTO, this.dateFormats.api)), tap((offer) => {
187
+ return this.http.post(`${this.urls.apiUrl}/orders/offers/${offerId}/products`, productData).pipe(map((offerDTO) => new ScOrderDraft(offerDTO)), tap((offer) => {
299
188
  if (this.offerMap.has(offerId)) {
300
189
  this.offerMap.get(offerId)?.setValue(offer);
301
190
  }
@@ -309,7 +198,7 @@ export class ScOrderDraftsService {
309
198
  * @param offerId Идентификатор коммерческого предложения/черновика.
310
199
  */
311
200
  updateProduct$(productId, patch, offerId) {
312
- return this.http.patch(`${this.urls.apiUrl}/orders/offers/${offerId}/products/${productId}`, patch).pipe(map((offerDTO) => new ScOrderDraft(offerDTO, this.dateFormats.api)), tap((offer) => {
201
+ return this.http.patch(`${this.urls.apiUrl}/orders/offers/${offerId}/products/${productId}`, patch).pipe(map((offerDTO) => new ScOrderDraft(offerDTO)), tap((offer) => {
313
202
  if (this.offerMap.has(offerId)) {
314
203
  this.offerMap.get(offerId)?.setValue(offer);
315
204
  }
@@ -322,7 +211,7 @@ export class ScOrderDraftsService {
322
211
  * @param offerId Идентификатор коммерческого предложения/черновика.
323
212
  */
324
213
  deleteProduct$(item, offerId) {
325
- return this.http.delete(`${this.urls.apiUrl}/orders/offers/${offerId}/products/${item.id}`).pipe(map((offerDTO) => new ScOrderDraft(offerDTO, this.dateFormats.api)), tap((offer) => {
214
+ return this.http.delete(`${this.urls.apiUrl}/orders/offers/${offerId}/products/${item.id}`).pipe(map((offerDTO) => new ScOrderDraft(offerDTO)), tap((offer) => {
326
215
  if (this.offerMap.has(offerId)) {
327
216
  this.offerMap.get(offerId)?.setValue(offer);
328
217
  }
@@ -337,4 +226,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
337
226
  providedIn: 'root',
338
227
  }]
339
228
  }], ctorParameters: () => [] });
340
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtb3JkZXItZHJhZnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL29yZGVyL3NlcnZpY2VzL3NjLW9yZGVyLWRyYWZ0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUVwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUV0RixPQUFPLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFPM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFrQixNQUFNLGlDQUFpQyxDQUFDOztBQUVyRjs7R0FFRztBQUlILE1BQU0sT0FBTyxvQkFBb0I7SUFtRDdCOztPQUVHO0lBQ0g7UUFy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LENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQ25FLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1YsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEQsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOytHQS9ZUSxvQkFBb0I7bUhBQXBCLG9CQUFvQixjQUZqQixNQUFNOzs0RkFFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cblxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgRU1QVFksIGV4aGF1c3RNYXAsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgdGFrZSwgdGFwLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY0NhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY2FydCc7XG5pbXBvcnQgeyBTY0NhY2hlZEl0ZW0gfSBmcm9tICcuLi8uLi9jYXRhbG9nL2NsYXNzZXMvc2MtY2FjaGVkLWl0ZW0nO1xuaW1wb3J0IHsgU2NJRGF0ZUZvcm1hdCwgU2NJVXBkYXRlSW50ZXJ2YWwsIFNjSVVybHMgfSBmcm9tICcuLi8uLi9jb25maWcnO1xuaW1wb3J0IHsgU2NDb252ZXJ0ZXJzU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnZlcnRlcnMvc2VydmljZXMvc2MtY29udmVydGVycy5zZXJ2aWNlJztcbmltcG9ydCB7IFNjSVBhZ2luYXRlIH0gZnJvbSAnLi4vLi4vcGFnaW5hdGlvbic7XG5pbXBvcnQgeyBTQ19EQVRFX0ZPUk1BVCwgU0NfVVBEQVRFX0lOVEVSVkFMLCBTQ19VUkxTIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcbmltcG9ydCB7IFNjVXNlciB9IGZyb20gJy4uLy4uL3VzZXIvZHRvL3NjLXVzZXInO1xuaW1wb3J0IHsgU0NfVVNFUl9JTkZPIH0gZnJvbSAnLi4vLi4vdXNlci90b2tlbnMvc2MtdXNlci1wcm92aWRlcnMnO1xuaW1wb3J0IHsgU2NVc2VyTWV0cmlrYUdvYWxzRW51bSwgU2NVc2VyTWV0cmlrYVNlcnZpY2UgfSBmcm9tICcuLi8uLi91c2VyLW1ldHJpa2EnO1xuaW1wb3J0IHsgU2NPcmRlckRyYWZ0LCBTY09yZGVyRHJhZnRTaG9ydCwgU2NPcmRlclNob3J0IH0gZnJvbSAnLi4vY2xhc3Nlcyc7XG5pbXBvcnQgeyBTY09yZGVySXRlbSB9IGZyb20gJy4uL2NsYXNzZXMvc2Mtb3JkZXItaXRlbSc7XG5pbXBvcnQgeyBTY0lOZXdQcm9mc3Ryb3lPcmRlckRyYWZ0UmVxdWVzdCwgU2NJT3JkZXJEcmFmdCwgU2NJT3JkZXJEcmFmdExpc3RQYXJhbXMsIFNjSU9yZGVyRHJhZnRTaG9ydCwgU2NJT3JkZXJFZGl0b3JMb2FkZXIsIFNjSU9yZGVyU2hvcnQgfSBmcm9tICcuLi9pbnRlcm5hbCc7XG5pbXBvcnQgeyBTY0lOZXdPcmRlciB9IGZyb20gJy4uL2ludGVybmFsL3NjLWktbmV3LW9yZGVyJztcbmltcG9ydCB7IFNjSU5ld09yZGVyRHJhZnRSZXF1ZXN0IH0gZnJvbSAnLi4vaW50ZXJuYWwvc2MtaS1uZXctb3JkZXItZHJhZnQtcmVxdWVzdCc7XG5pbXBvcnQgeyBTY0lOZXdPcmRlckl0ZW1CYXNlIH0gZnJvbSAnLi4vaW50ZXJuYWwvc2MtaS1uZXctb3JkZXItaXRlbS1iYXNlJztcbmltcG9ydCB7IFNjSVVwZGF0ZU9yZGVyRHJhZnRSZXF1ZXN0IH0gZnJvbSAnLi4vaW50ZXJuYWwvc2MtaS11cGRhdGUtb3JkZXItb3JkZXItcmVxdWVzdCc7XG5pbXBvcnQgeyBsb2FkaW5nUGxhY2Vob2xkZXIsIFNjT3JkZXJMb2FkaW5nIH0gZnJvbSAnLi4vdG9rZW5zL3NjLW9yZGVyLWxvYWRlci50b2tlbic7XG5cbi8qKlxuICog0JTQsNC90L3Ri9C1INC+INGB0LXRgNCy0LjRgdC1INC60L7QvNC80LXRgNGH0LXRgdC60LjRhSDQv9GA0LXQtNC70L7QttC10L3QuNC5INC4INGH0LXRgNC90L7QstC40LrQvtCyINC30LDQutCw0LfQvtCyLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY09yZGVyRHJhZnRzU2VydmljZSBpbXBsZW1lbnRzIFNjSU9yZGVyRWRpdG9yTG9hZGVyPFNjT3JkZXJJdGVtLCBTY09yZGVyRHJhZnQ+IHtcbiAgICAvKipcbiAgICAgKiBIVFRQLdC60LvQuNC10L3Rgi5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQgPSBpbmplY3QoSHR0cENsaWVudCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC/0LjRgdC+0Log0YHRgdGL0LvQvtC6INC/0YDQuNC70L7QttC10L3QuNGPLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXJsczogU2NJVXJscyA9IGluamVjdChTQ19VUkxTKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQtNCw0L3QvdGL0YUg0L4g0YLQtdC60YPRidC10Lwg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C1LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlciQ6IE9ic2VydmFibGU8U2NVc2VyPiA9IGluamVjdChTQ19VU0VSX0lORk8pO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdGC0LXRgNCy0LDQu9GLINC+0LHQvdC+0LLQu9C10L3QuNGPINC00LDQvdC90YvRhS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVwZGF0ZUludGVydmFsOiBTY0lVcGRhdGVJbnRlcnZhbCA9IGluamVjdChTQ19VUERBVEVfSU5URVJWQUwpO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEg0LrQvtGA0LfQuNC90L7QuS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhcnRTZXJ2aWNlOiBTY0NhcnRTZXJ2aWNlID0gaW5qZWN0KFNjQ2FydFNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINC00LvRjyDRgdCx0L7RgNCwINC80LXRgtGA0LjQuiDQviDQtNC10LnRgdGC0LLQuNGP0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LkuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyTWV0cmlrYVNlcnZpY2U6IFNjVXNlck1ldHJpa2FTZXJ2aWNlID0gaW5qZWN0KFNjVXNlck1ldHJpa2FTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCk0L7RgNC80LDRgtGLINC00LDRgi5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRhdGVGb3JtYXRzOiBTY0lEYXRlRm9ybWF0ID0gaW5qZWN0KFNDX0RBVEVfRk9STUFUKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQutC+0L3QstC10YDRgtCw0YbQuNC4INC00LDQvdC90YvRhS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnZlcnRlcnNTZXJ2aWNlOiBTY0NvbnZlcnRlcnNTZXJ2aWNlID0gaW5qZWN0KFNjQ29udmVydGVyc1NlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0J7QsdGK0LXQutGCINC00L7QutGD0LzQtdC90YLQsC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50OiBEb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG5cbiAgICAvKipcbiAgICAgKiDQmtC+0LvQu9C10LrRhtC40Y8g0L/QsNGAINC60LvRjtGHLdC30L3QsNGH0LXQvdC40LUg0LTQu9GPINC60Y3RiNC40YDQvtCy0LDQvdC90YvRhSDQutC+0LzQvNC10YDRh9C10YHQutC40YUg0L/RgNC10LTQu9C+0LbQtdC90LjQuS/Rh9C10YDQvdC+0LLQuNC60L7QsiDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBvZmZlck1hcDogTWFwPG51bWJlciwgU2NDYWNoZWRJdGVtPFNjT3JkZXJEcmFmdCwgU2NPcmRlckxvYWRpbmc+PiA9IG5ldyBNYXA8bnVtYmVyLCBTY0NhY2hlZEl0ZW08U2NPcmRlckRyYWZ0LCBTY09yZGVyTG9hZGluZz4+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjT3JkZXJEcmFmdHNTZXJ2aWNlfS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMudXNlciQucGlwZShmaWx0ZXIoKHVzZXIpID0+IHVzZXIuaXNHdWVzdCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9mZmVyTWFwLmNsZWFyKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0L/QuNGB0L7QuiDQutC+0LzQvNC10YDRh9C10YHQutC40YUg0L/RgNC10LTQu9C+0LbQtdC90LjQuS/Rh9C10YDQvdC+0LLQuNC60L7QsiDRgSDQv9Cw0LPQuNC90LDRhtC40LXQuS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXJhbXMg0J/QsNGA0LDQvNC10YLRgNGLINC30LDQv9GA0L7RgdCwINC/0L7Qu9GD0YfQtdC90LjRjyDRgdC/0LjRgdC60LAuXG4gICAgICovXG4gICAgcHVibGljIGdldExpc3QkKHBhcmFtczogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8U2NJUGFnaW5hdGU8U2NPcmRlckRyYWZ0U2hvcnQ+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFNjSVBhZ2luYXRlPFNjSU9yZGVyRHJhZnRTaG9ydD4+KGAke3RoaXMudXJscy5hcGlVcmx9L29yZGVycy9vZmZlcnNgLCB7IHBhcmFtczogcGFyYW1zIH0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKG9mZmVyc1BhZ2luYXRlRFRPKSA9PiB7XG4gICAgICAgICAgICAgICAgb2ZmZXJzUGFnaW5hdGVEVE8uZGF0YSA9IG9mZmVyc1BhZ2luYXRlRFRPLmRhdGEubWFwKChpdGVtKSA9PiBuZXcgU2NPcmRlckRyYWZ0U2hvcnQoaXRlbSwgdGhpcy5kYXRlRm9ybWF0cy5hcGkpKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBvZmZlcnNQYWdpbmF0ZURUTyBhcyBTY0lQYWdpbmF0ZTxTY09yZGVyRHJhZnRTaG9ydD47XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC60YDQsNGC0LrQuNC1INC00LDQvdC90YvQtSDRh9C10YDQvdC+0LLQuNC60L7QsiDRgSDRg9C60LDQt9Cw0L3QvdGL0LzQuCDQvdC+0LzQtdGA0LDQvNC4LiDQmNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0LTQu9GPINC70ZHQs9C60L7Qs9C+INC+0L/RgNC+0YHQsCDRgdC+0YHRgtC+0Y/QvdC40Y8g0LDQutGC0YPQsNC70LjQt9Cw0YbQuNC4INCx0LXQtyDQt9Cw0LPRgNGD0LfQutC4INC/0L7Qt9C40YbQuNC5LlxuICAgICAqXG4gICAgICogQHBhcmFtIGlkcyDQndC+0LzQtdGA0LAg0YfQtdGA0L3QvtCy0LjQutC+0LIuXG4gICAgICovXG4gICAgcHVibGljIGdldFNob3J0TGlzdCQoaWRzOiBudW1iZXJbXSk6IE9ic2VydmFibGU8U2NPcmRlckRyYWZ0U2hvcnRbXT4ge1xuICAgICAgICBjb25zdCBwYXJhbXM6IFNjSU9yZGVyRHJhZnRMaXN0UGFyYW1zID0geyBwZXJQYWdlOiBpZHMubGVuZ3RoLCBmaWx0ZXJzOiB7IG51bWJlcjogeyBpbjogaWRzIH0gfSB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLmdldExpc3QkKHRoaXMuY29udmVydGVyc1NlcnZpY2UudG9IdHRwUGFyYW1zKHBhcmFtcywgeyBub25OdWxsYWJsZTogdHJ1ZSB9KSkucGlwZShtYXAoKHJlc3BvbnNlKSA9PiByZXNwb25zZS5kYXRhKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J/QtdGA0LjQvtC00LjRh9C10YHQutC4INC30LDQv9GA0LDRiNC40LLQsNC10YIg0LrRgNCw0YLQutC40LUg0LTQsNC90L3Ri9C1INGH0LXRgNC90L7QstC40LrQvtCyINGBINGD0LrQsNC30LDQvdC90YvQvNC4INC90L7QvNC10YDQsNC80LgsINC/0L7QutCwINC10YHRgtGMINC/0L7QtNC/0LjRgdC60LAuXG4gICAgICog0J/QvtC60LAg0LLQutC70LDQtNC60LAg0LHRgNCw0YPQt9C10YDQsCDRgdC60YDRi9GC0LAsINC30LDQv9GA0L7RgdGLINC90LUg0LLRi9C/0L7Qu9C90Y/RjtGC0YHRjzsg0L3QvtCy0YvQuSDQt9Cw0L/RgNC+0YEg0L3QtSDQvdCw0YfQuNC90LDQtdGC0YHRjyDQtNC+INC30LDQstC10YDRiNC10L3QuNGPINC/0YDQtdC00YvQtNGD0YnQtdCz0L4uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaWRzINCd0L7QvNC10YDQsCDRh9C10YDQvdC+0LLQuNC60L7Qsi5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2F0Y2hTaG9ydExpc3QkKGlkczogbnVtYmVyW10pOiBPYnNlcnZhYmxlPFNjT3JkZXJEcmFmdFNob3J0W10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9sbCQodGhpcy51cGRhdGVJbnRlcnZhbC5vcmRlckRyYWZ0U3RhdHVzLCAoKSA9PiB0aGlzLmdldFNob3J0TGlzdCQoaWRzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J/QtdGA0LjQvtC00LjRh9C10YHQutC4INC/0LXRgNC10LfQsNC/0YDQsNGI0LjQstCw0LXRgiDRgdGC0YDQsNC90LjRhtGDINGB0L/QuNGB0LrQsCDRh9C10YDQvdC+0LLQuNC60L7QsiDQsiDRhNC+0L3QtSwg0L/QvtC60LAg0LXRgdGC0Ywg0L/QvtC00L/QuNGB0LrQsC4g0KPRgdC70L7QstC40Y8g0LfQsNC/0YDQvtGB0L7QsiDQutCw0Log0YMge0BsaW5rIHdhdGNoU2hvcnRMaXN0JH0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcGFyYW1zINCf0LDRgNCw0LzQtdGC0YDRiyDQt9Cw0L/RgNC+0YHQsCDQv9C+0LvRg9GH0LXQvdC40Y8g0YHQv9C40YHQutCwLlxuICAgICAqL1xuICAgIHB1YmxpYyB3YXRjaExpc3QkKHBhcmFtczogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8U2NPcmRlckRyYWZ0U2hvcnRbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wb2xsJCh0aGlzLnVwZGF0ZUludGVydmFsLm9yZGVyRHJhZnRzTGlzdCwgKCkgPT4gdGhpcy5nZXRMaXN0JChwYXJhbXMpLnBpcGUobWFwKChyZXNwb25zZSkgPT4gcmVzcG9uc2UuZGF0YSkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0ZHRgiDRh9C10YDQvdC+0LLQuNC6INC30LDQutCw0LfQsCDQuNC3INGE0LDQudC70LAg0L/RgNC+0LPRgNCw0LzQvNGLIMKr0J/RgNC+0YTRgdGC0YDQvtC5wrsg0Lgg0LfQsNC/0YPRgdC60LDQtdGCINC10LPQviDQvtCx0YDQsNCx0L7RgtC60YMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSDQlNCw0L3QvdGL0LUg0LTQu9GPINGB0L7Qt9C00LDQvdC40Y8uXG4gICAgICovXG4gICAgcHVibGljIGNyZWF0ZVByb2ZzdHJveSQoZGF0YTogU2NJTmV3UHJvZnN0cm95T3JkZXJEcmFmdFJlcXVlc3QpOiBPYnNlcnZhYmxlPFNjT3JkZXJEcmFmdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8U2NJT3JkZXJEcmFmdD4oYCR7dGhpcy51cmxzLmFwaVVybH0vb3JkZXJzL29mZmVycy9wcm9mc3Ryb3lgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKChvZmZlckRUTykgPT4gbmV3IFNjT3JkZXJEcmFmdChvZmZlckRUTywgdGhpcy5kYXRlRm9ybWF0cy5hcGkpKSxcbiAgICAgICAgICAgIHRhcCgob2ZmZXIpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJNZXRyaWthU2VydmljZS5lbWl0VXNlck1ldHJpa2FFdmVudCh7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5vcmRlckRyYWZ0UHJvZnN0cm95Q3JlYXRlZCxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7IG9mZmVyX2lkOiBvZmZlci5pZCB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMub2ZmZXJNYXAuc2V0KG9mZmVyLmlkLCBuZXcgU2NDYWNoZWRJdGVtKHRoaXMudXBkYXRlSW50ZXJ2YWwub3JkZXJEYXRhLCBvZihvZmZlciksIGxvYWRpbmdQbGFjZWhvbGRlcikpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQl9Cw0L/Rg9GB0LrQsNC10YIg0LDQutGC0YPQsNC70LjQt9Cw0YbQuNGOINGH0LXRgNC90L7QstC40LrQsCDQn9GA0L7RhNGB0YLRgNC+0LkgKNC/0L7QstGC0L7RgNC90YvQuSDQvtCx0LzQtdC9INGBIDHQoSDQv9C+INGC0LXQutGD0YnQtdC80YMg0YHQvtGB0YLQsNCy0YMpLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9mZmVySWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YfQtdGA0L3QvtCy0LjQutCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBhY3R1YWxpemVQcm9mc3Ryb3kkKG9mZmVySWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2NPcmRlckRyYWZ0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxTY0lPcmRlckRyYWZ0PihgJHt0aGlzLnVybHMuYXBpVXJsfS9vcmRlcnMvb2ZmZXJzLyR7b2ZmZXJJZH0vcHJvZnN0cm95L2FjdHVhbGl6ZWAsIHt9KS5waXBlKFxuICAgICAgICAgICAgbWFwKChvZmZlckRUTykgPT4gbmV3IFNjT3JkZXJEcmFmdChvZmZlckRUTywgdGhpcy5kYXRlRm9ybWF0cy5hcGkpKSxcbiAgICAgICAgICAgIHRhcCgob2ZmZXIpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJNZXRyaWthU2VydmljZS5lbWl0VXNlck1ldHJpa2FFdmVudCh7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5vcmRlckRyYWZ0UHJvZnN0cm95QWN0dWFsaXplZCxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7IG9mZmVyX2lkOiBvZmZlcklkIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5vZmZlck1hcC5nZXQob2ZmZXJJZCk/LnNldFZhbHVlKG9mZmVyKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JfQsNC/0YPRgdC60LDQtdGCINC/0LXRgNC10YHQsdC+0YDQutGDINGH0LXRgNC90L7QstC40LrQsCDQn9GA0L7RhNGB0YLRgNC+0Lkg0LjQtyDRgNCw0L3QtdC1INC30LDQs9GA0YPQttC10L3QvdC+0LPQviDRhNCw0LnQu9CwLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9mZmVySWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YfQtdGA0L3QvtCy0LjQutCwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWxvYWRQcm9mc3Ryb3kkKG9mZmVySWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2NPcmRlckRyYWZ0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxTY0lPcmRlckRyYWZ0PihgJHt0aGlzLnVybHMuYXBpVXJsfS9vcmRlcnMvb2ZmZXJzLyR7b2ZmZXJJZH0vcHJvZnN0cm95L3JlbG9hZGAsIHt9KS5waXBlKFxuICAgICAgICAgICAgbWFwKChvZmZlckRUTykgPT4gbmV3IFNjT3JkZXJEcmFmdChvZmZlckRUTywgdGhpcy5kYXRlRm9ybWF0cy5hcGkpKSxcbiAgICAgICAgICAgIHRhcCgob2ZmZXIpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJNZXRyaWthU2VydmljZS5lbWl0VXNlck1ldHJpa2FFdmVudCh7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5vcmRlckRyYWZ0UHJvZnN0cm95UmVsb2FkZWQsXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczogeyBvZmZlcl9pZDogb2ZmZXJJZCB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMub2ZmZXJNYXAuZ2V0KG9mZmVySWQpPy5zZXRWYWx1ZShvZmZlcik7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0L7Qt9C00LDRkdGCINC90L7QstC+0LUg0LrQvtC80LzQtdGA0YfQtdGB0LrQvtC1INC/0YDQtdC00LvQvtC20LXQvdC40LUv0YfQtdGA0L3QvtCy0LjQuiDQt9Cw0LrQsNC30LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSDQlNCw0L3QvdGL0LUg0LTQu9GPINGB0L7Qt9C00LDQvdC40Y8uXG4gICAgICovXG4gICAgcHVibGljIGNyZWF0ZSQoZGF0YTogU2NJTmV3T3JkZXJEcmFmdFJlcXVlc3QpOiBPYnNlcnZhYmxlPFNjT3JkZXJEcmFmdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8U2NJT3JkZXJEcmFmdD4oYCR7dGhpcy51cmxzLmFwaVVybH0vb3JkZXJzL29mZmVyc2AsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKG9mZmVyRFRPKSA9PiBuZXcgU2NPcmRlckRyYWZ0KG9mZmVyRFRPLCB0aGlzLmRhdGVGb3JtYXRzLmFwaSkpLFxuICAgICAgICAgICAgdGFwKChvZmZlcikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBTY1VzZXJNZXRyaWthR29hbHNFbnVtLm9yZGVyRHJhZnRDcmVhdGVkLFxuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsgb2ZmZXJfaWQ6IG9mZmVyLmlkIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXJ0U2VydmljZS51cGRhdGVDYXJ0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vZmZlck1hcC5zZXQob2ZmZXIuaWQsIG5ldyBTY0NhY2hlZEl0ZW0odGhpcy51cGRhdGVJbnRlcnZhbC5vcmRlckRhdGEsIG9mKG9mZmVyKSwgbG9hZGluZ1BsYWNlaG9sZGVyKSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC/0L7Qu9C90YPRjiDQuNC90YTQvtGA0LzQsNGG0LjRjiDQviDQutC+0LzQvNC10YDRh9C10YHQutC+0Lwg0L/RgNC10LTQu9C+0LbQtdC90LjQuC/Rh9C10YDQvdC+0LLQuNC60LUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZHJhZnRJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQt9Cw0L/QuNGB0LguXG4gICAgICogQHBhcmFtIGNhY2hlYWJsZSDQn9GA0LjQt9C90LDQuiDQstC+0LfQvNC+0LbQvdC+0YHRgtC4INC/0L7Qu9GD0YfQtdC90LjRjyDQuNC3INC60Y3RiNC40YDQvtCy0LDQvdC90YvRhSDQtNCw0L3QvdGL0YUuXG4gICAgICovXG4gICAgcHVibGljIGdldCQoZHJhZnRJZDogbnVtYmVyLCBjYWNoZWFibGU6IGJvb2xlYW4gPSB0cnVlKTogT2JzZXJ2YWJsZTxTY09yZGVyRHJhZnQgfCBTY09yZGVyTG9hZGluZz4ge1xuICAgICAgICBsZXQgY2FjaGVkSXRlbSA9IHRoaXMub2ZmZXJNYXAuZ2V0KGRyYWZ0SWQpO1xuXG4gICAgICAgIGlmICghY2FjaGVkSXRlbSkge1xuICAgICAgICAgICAgY2FjaGVkSXRlbSA9IG5ldyBTY0NhY2hlZEl0ZW0oXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVJbnRlcnZhbC5vcmRlckRhdGEsXG4gICAgICAgICAgICAgICAgdGhpcy5odHRwLmdldDxTY0lPcmRlckRyYWZ0PihgJHt0aGlzLnVybHMuYXBpVXJsfS9vcmRlcnMvb2ZmZXJzLyR7ZHJhZnRJZH1gKS5waXBlKG1hcCgoZGF0YSkgPT4gbmV3IFNjT3JkZXJEcmFmdChkYXRhLCB0aGlzLmRhdGVGb3JtYXRzLmFwaSkpKSxcbiAgICAgICAgICAgICAgICBsb2FkaW5nUGxhY2Vob2xkZXJcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChjYWNoZWFibGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9mZmVyTWFwLnNldChkcmFmdElkLCBjYWNoZWRJdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjYWNoZWFibGUgJiYgIWNhY2hlZEl0ZW0uY2FjaGVkRGF0YUlzQWN0dWFsKCkpIHtcbiAgICAgICAgICAgIGNhY2hlZEl0ZW0udXBkYXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2FjaGVkSXRlbS5pdGVtJDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQl9Cw0L/RgNCw0YjQuNCy0LDQtdGCINC/0L7Qu9C90YPRjiDQuNC90YTQvtGA0LzQsNGG0LjRjiDQviDRh9C10YDQvdC+0LLQuNC60LUg0LIg0L7QsdGF0L7QtCDQutGN0YjQsCDQuCDQvtCx0L3QvtCy0LvRj9C10YIg0LrRjdGIINC/0L7Qu9GD0YfQtdC90L3Ri9C80Lgg0LTQsNC90L3Ri9C80LguXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZHJhZnRJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQt9Cw0L/QuNGB0LguXG4gICAgICovXG4gICAgcHVibGljIGZldGNoJChkcmFmdElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNjT3JkZXJEcmFmdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTY0lPcmRlckRyYWZ0PihgJHt0aGlzLnVybHMuYXBpVXJsfS9vcmRlcnMvb2ZmZXJzLyR7ZHJhZnRJZH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKChvZmZlckRUTykgPT4gbmV3IFNjT3JkZXJEcmFmdChvZmZlckRUTywgdGhpcy5kYXRlRm9ybWF0cy5hcGkpKSxcbiAgICAgICAgICAgIHRhcCgob2ZmZXIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjYWNoZWRJdGVtID0gdGhpcy5vZmZlck1hcC5nZXQoZHJhZnRJZCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoY2FjaGVkSXRlbSkge1xuICAgICAgICAgICAgICAgICAgICBjYWNoZWRJdGVtLnNldFZhbHVlKG9mZmVyKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9mZmVyTWFwLnNldChkcmFmdElkLCBuZXcgU2NDYWNoZWRJdGVtKHRoaXMudXBkYXRlSW50ZXJ2YWwub3JkZXJEYXRhLCBvZihvZmZlciksIGxvYWRpbmdQbGFjZWhvbGRlcikpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YHQv9C40YHQvtC6INGN0LvQtdC80LXQvdGC0L7QsiDQutC+0LzQvNC10YDRh9C10YHQutC+0LPQviDQv9GA0LXQtNC70L7QttC10L3QuNGPL9GH0LXRgNC90L7QstC40LrQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQutC+0LzQvNC10YDRh9C10YHQutC+0LPQviDQv9GA0LXQtNC70L7QttC10L3QuNGPL9GH0LXRgNC90L7QstC40LrQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SXRlbXMkKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNjT3JkZXJJdGVtW10gfCBTY09yZGVyTG9hZGluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQkKGlkKS5waXBlKG1hcCgoZHJhZnQpID0+IChkcmFmdCA9PT0gbG9hZGluZ1BsYWNlaG9sZGVyID8gbG9hZGluZ1BsYWNlaG9sZGVyIDogKGRyYWZ0IGFzIFNjT3JkZXJEcmFmdCkucHJvZHVjdHMpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7QsdC90L7QstC70Y/QtdGCINC00LDQvdC90YvQtSDQutC+0LzQvNC10YDRh9C10YHQutC+0LPQviDQv9GA0LXQtNC70L7QttC10L3QuNGPL9GH0LXRgNC90L7QstC40LrQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkcmFmdElkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC30LDQv9C40YHQuC5cbiAgICAgKiBAcGFyYW0gcGF0Y2gg0JTQsNC90L3Ri9C1INC00LvRjyDQvtCx0L3QvtCy0LvQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgdXBkYXRlJChkcmFmdElkOiBudW1iZXIsIHBhdGNoOiBTY0lVcGRhdGVPcmRlckRyYWZ0UmVxdWVzdCk6IE9ic2VydmFibGU8U2NPcmRlckRyYWZ0PiB7XG4gICAgICAgIGNvbnN0IGNhY2hlZEl0ZW0gPSB0aGlzLm9mZmVyTWFwLmdldChkcmFmdElkKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBhdGNoPFNjSU9yZGVyRHJhZnQ+KGAke3RoaXMudXJscy5hcGlVcmx9L29yZGVycy9vZmZlcnMvJHtkcmFmdElkfWAsIHBhdGNoKS5waXBlKFxuICAgICAgICAgICAgbWFwKChvZmZlckRUTykgPT4gbmV3IFNjT3JkZXJEcmFmdChvZmZlckRUTywgdGhpcy5kYXRlRm9ybWF0cy5hcGkpKSxcbiAgICAgICAgICAgIHRhcCgob2ZmZXIpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJNZXRyaWthU2VydmljZS5lbWl0VXNlck1ldHJpa2FFdmVudCh7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5vcmRlckRyYWZ0VXBkYXRlZCxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7IG9mZmVyX2lkOiBkcmFmdElkIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY2FjaGVkSXRlbT8uc2V0VmFsdWUob2ZmZXIpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9C00LDQu9GP0LXRgiDQutC+0LzQvNC10YDRh9C10YHQutC+0LUg0L/RgNC10LTQu9C+0LbQtdC90LjQtS/Rh9C10YDQvdC+0LLQuNC6LlxuICAgICAqXG4gICAgICogQHBhcmFtIG9mZmVySWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LfQsNC/0LjRgdC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBkZWxldGUkKG9mZmVySWQ6IG51bWJlcik6IE9ic2VydmFibGU8dW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPHVuZGVmaW5lZD4oYCR7dGhpcy51cmxzLmFwaVVybH0vb3JkZXJzL29mZmVycy8ke29mZmVySWR9YCkucGlwZShcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyTWV0cmlrYVNlcnZpY2UuZW1pdFVzZXJNZXRyaWthRXZlbnQoe1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0ub3JkZXJEcmFmdERlbGV0ZWQsXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczogeyBvZmZlcl9pZDogb2ZmZXJJZCB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMub2ZmZXJNYXAuZGVsZXRlKG9mZmVySWQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0ZHRgiDQt9Cw0LrQsNC3INC90LAg0L7RgdC90L7QstC1INC60L7QvNC80LXRgNGH0LXRgdC60L7Qs9C+INC/0YDQtdC00LvQvtC20LXQvdC40Y8v0YfQtdGA0L3QvtCy0LjQutCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9mZmVySWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LfQsNC/0LjRgdC4LlxuICAgICAqIEBwYXJhbSBkYXRhINCU0LDQvdC90YvQtSDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgcHVibGljIGNyZWF0ZU9yZGVyJChvZmZlcklkOiBudW1iZXIsIGRhdGE6IFNjSU5ld09yZGVyKTogT2JzZXJ2YWJsZTxTY09yZGVyU2hvcnRbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8U2NJT3JkZXJTaG9ydFtdPihgJHt0aGlzLnVybHMuYXBpVXJsfS9vcmRlcnMvb2ZmZXJzLyR7b2ZmZXJJZH0vY3JlYXRlLW9yZGVyYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcCgob3JkZXJzKSA9PiBvcmRlcnMubWFwKChpdGVtKSA9PiBuZXcgU2NPcmRlclNob3J0KGl0ZW0pKSksXG4gICAgICAgICAgICB0YXAoKG9yZGVyczogU2NPcmRlclNob3J0W10pID0+IHtcbiAgICAgICAgICAgICAgICBvcmRlcnMuZm9yRWFjaCgob3JkZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51c2VyTWV0cmlrYVNlcnZpY2UuZW1pdFVzZXJNZXRyaWthRXZlbnQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBTY1VzZXJNZXRyaWthR29hbHNFbnVtLm9yZGVyQ3JlYXRlZEZyb21EcmFmdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczogeyBvZmZlcl9pZDogb2ZmZXJJZCwgb3JkZXJfaWQ6IG9yZGVyLmlkIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVPcmRlcmVkUHJvZHVjdHNGcm9tQ2FjaGUob2ZmZXJJZCwgZGF0YS5pdGVtcyA/PyBbXSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0YvQv9C+0LvQvdGP0LXRgiDQt9Cw0L/RgNC+0YEg0YEg0YPQutCw0LfQsNC90L3Ri9C8INC40L3RgtC10YDQstCw0LvQvtC8LCDQv9C+0LrQsCDQstC60LvQsNC00LrQsCDQsdGA0LDRg9C30LXRgNCwINCy0LjQtNC90LAuINCd0L7QstGL0Lkg0LfQsNC/0YDQvtGBINC90LUg0L3QsNGH0LjQvdCw0LXRgtGB0Y8g0LTQviDQt9Cw0LLQtdGA0YjQtdC90LjRjyDQv9GA0LXQtNGL0LTRg9GJ0LXQs9C+LCDQvtGI0LjQsdC60Lgg0L/RgNC+0L/Rg9GB0LrQsNGO0YLRgdGPLlxuICAgICAqXG4gICAgICogQHBhcmFtIHBlcmlvZCDQmNC90YLQtdGA0LLQsNC7INC30LDQv9GA0L7RgdC+0LIgKG1zKS5cbiAgICAgKiBAcGFyYW0gcmVxdWVzdCDQpNGD0L3QutGG0LjRjywg0LLQvtC30LLRgNCw0YnQsNGO0YnQsNGPINC30LDQv9GA0L7RgS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHBvbGwkPFQ+KHBlcmlvZDogbnVtYmVyLCByZXF1ZXN0OiAoKSA9PiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHJldHVybiB0aW1lcihwZXJpb2QsIHBlcmlvZCkucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLmRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSAhPT0gJ2hpZGRlbicpLFxuICAgICAgICAgICAgZXhoYXVzdE1hcCgoKSA9PiByZXF1ZXN0KCkucGlwZShjYXRjaEVycm9yKCgpID0+IEVNUFRZKSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPQsdC40YDQsNC10YIg0LfQsNC60LDQt9Cw0L3QvdGL0LUg0L/QvtC30LjRhtC40Lgg0LjQtyDQutGN0YjQsCDRh9C10YDQvdC+0LLQuNC60LAg0LvQvtC60LDQu9GM0L3QviAo0YHQtdGA0LLQtdGAINGB0YDQsNC30YMg0L/QvtGB0LvQtSDQt9Cw0LrQsNC30LAg0LXRidGRINC80L7QttC10YIg0LLQtdGA0L3Rg9GC0Ywg0LjRhSDQsiDRgdC/0LjRgdC60LUpLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9mZmVySWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YfQtdGA0L3QvtCy0LjQutCwLlxuICAgICAqIEBwYXJhbSBvcmRlcmVkSXRlbUlkcyDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGLINC30LDQutCw0LfQsNC90L3Ri9GFINC/0L7Qt9C40YbQuNC5LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVtb3ZlT3JkZXJlZFByb2R1Y3RzRnJvbUNhY2hlKG9mZmVySWQ6IG51bWJlciwgb3JkZXJlZEl0ZW1JZHM6IEFycmF5PG51bWJlciB8IHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY2FjaGVkSXRlbSA9IHRoaXMub2ZmZXJNYXAuZ2V0KG9mZmVySWQpO1xuXG4gICAgICAgIGlmICghY2FjaGVkSXRlbSB8fCBvcmRlcmVkSXRlbUlkcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9yZGVyZWRJZHMgPSBuZXcgU2V0KG9yZGVyZWRJdGVtSWRzLm1hcChTdHJpbmcpKTtcblxuICAgICAgICBjYWNoZWRJdGVtLml0ZW0kLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKChkcmFmdCkgPT4ge1xuICAgICAgICAgICAgaWYgKGRyYWZ0ID09PSBsb2FkaW5nUGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnREcmFmdCA9IGRyYWZ0IGFzIFNjT3JkZXJEcmFmdDtcblxuICAgICAgICAgICAgLy8g0JjQtyDRh9C10YDQvdC+0LLQuNC60LAg0J/RgNC+0YTRgdGC0YDQvtC5INC/0L7Qt9C40YbQuNC4INC/0L7RgdC70LUg0L7RhNC+0YDQvNC70LXQvdC40Y8g0LfQsNC60LDQt9CwINC90LUg0YPQtNCw0LvRj9GO0YLRgdGPLlxuICAgICAgICAgICAgaWYgKGN1cnJlbnREcmFmdC5pc1Byb2ZzdHJveSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcmVtYWluaW5nUHJvZHVjdHMgPSBjdXJyZW50RHJhZnQucHJvZHVjdHMuZmlsdGVyKChwcm9kdWN0KSA9PiAhb3JkZXJlZElkcy5oYXMocHJvZHVjdC5pZCkpO1xuXG4gICAgICAgICAgICBpZiAocmVtYWluaW5nUHJvZHVjdHMubGVuZ3RoID09PSBjdXJyZW50RHJhZnQucHJvZHVjdHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB1cGRhdGVkRHJhZnQgPSBuZXcgU2NPcmRlckRyYWZ0KGN1cnJlbnREcmFmdCwgdGhpcy5kYXRlRm9ybWF0cy5hcGkpO1xuICAgICAgICAgICAgdXBkYXRlZERyYWZ0LnByb2R1Y3RzID0gcmVtYWluaW5nUHJvZHVjdHM7XG4gICAgICAgICAgICB1cGRhdGVkRHJhZnQuc3VtID0gcmVtYWluaW5nUHJvZHVjdHMucmVkdWNlKChzdW0sIHByb2R1Y3QpID0+IHN1bSArIHByb2R1Y3QuY29zdFJ1YiwgMCk7XG5cbiAgICAgICAgICAgIGNhY2hlZEl0ZW0uc2V0VmFsdWUodXBkYXRlZERyYWZ0KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JTQvtCx0LDQstC70Y/QtdGCINC/0YDQvtC00YPQutGCINCyINC60L7QvNC80LXRgNGH0LXRgdC60L7QtSDQv9GA0LXQtNC70L7QttC10L3QuNC1L9GH0LXRgNC90L7QstC40LouXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdERhdGEg0JTQsNC90L3Ri9C1INC/0YDQvtC00YPQutGC0LAg0LTQu9GPINC00L7QsdCw0LLQu9C10L3QuNGPLlxuICAgICAqIEBwYXJhbSBvZmZlcklkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC60L7QvNC80LXRgNGH0LXRgdC60L7Qs9C+INC/0YDQtdC00LvQvtC20LXQvdC40Y8v0YfQtdGA0L3QvtCy0LjQutCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRQcm9kdWN0JChwcm9kdWN0RGF0YTogU2NJTmV3T3JkZXJJdGVtQmFzZSwgb2ZmZXJJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTY09yZGVyRHJhZnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFNjSU9yZGVyRHJhZnQ+KGAke3RoaXMudXJscy5hcGlVcmx9L29yZGVycy9vZmZlcnMvJHtvZmZlcklkfS9wcm9kdWN0c2AsIHByb2R1Y3REYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKChvZmZlckRUTykgPT4gbmV3IFNjT3JkZXJEcmFmdChvZmZlckRUTywgdGhpcy5kYXRlRm9ybWF0cy5hcGkpKSxcbiAgICAgICAgICAgIHRhcCgob2ZmZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5vZmZlck1hcC5oYXMob2ZmZXJJZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vZmZlck1hcC5nZXQob2ZmZXJJZCk/LnNldFZhbHVlKG9mZmVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCY0LfQvNC10L3Rj9C10YIg0L/RgNC+0LTRg9C60YIg0LIg0LrQvtC80LzQtdGA0YfQtdGB0LrQvtC8INC/0YDQtdC00LvQvtC20LXQvdC40Lgv0YfQtdGA0L3QvtCy0LjQutC1LlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2R1Y3RJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQv9GA0L7QtNGD0LrRgtCwINCyINC60L7RgNC30LjQvdC1LlxuICAgICAqIEBwYXJhbSBwYXRjaCDQp9Cw0YHRgtC40YfQvdGL0LUg0LTQsNC90L3Ri9C1INC00LvRjyDQvtCx0L3QvtCy0LvQtdC90LjRjy5cbiAgICAgKiBAcGFyYW0gb2ZmZXJJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQutC+0LzQvNC10YDRh9C10YHQutC+0LPQviDQv9GA0LXQtNC70L7QttC10L3QuNGPL9GH0LXRgNC90L7QstC40LrQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgdXBkYXRlUHJvZHVjdCQocHJvZHVjdElkOiBzdHJpbmcsIHBhdGNoOiBPbWl0PFNjSU5ld09yZGVySXRlbUJhc2UsICdwcm9kdWN0SWQnPiwgb2ZmZXJJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTY09yZGVyRHJhZnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wYXRjaDxTY0lPcmRlckRyYWZ0PihgJHt0aGlzLnVybHMuYXBpVXJsfS9vcmRlcnMvb2ZmZXJzLyR7b2ZmZXJJZH0vcHJvZHVjdHMvJHtwcm9kdWN0SWR9YCwgcGF0Y2gpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKG9mZmVyRFRPKSA9PiBuZXcgU2NPcmRlckRyYWZ0KG9mZmVyRFRPLCB0aGlzLmRhdGVGb3JtYXRzLmFwaSkpLFxuICAgICAgICAgICAgdGFwKChvZmZlcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm9mZmVyTWFwLmhhcyhvZmZlcklkKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9mZmVyTWFwLmdldChvZmZlcklkKT8uc2V0VmFsdWUob2ZmZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPQtNCw0LvRj9C10YIg0L/RgNC+0LTRg9C60YIg0LjQtyDQutC+0LzQvNC10YDRh9C10YHQutC+0LPQviDQv9GA0LXQtNC70L7QttC10L3QuNGPL9GH0LXRgNC90L7QstC40LrQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtINCj0LTQsNC70Y/QtdC80LDRjyDQv9C+0LfQuNGG0LjRjy5cbiAgICAgKiBAcGFyYW0gb2ZmZXJJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQutC+0LzQvNC10YDRh9C10YHQutC+0LPQviDQv9GA0LXQtNC70L7QttC10L3QuNGPL9GH0LXRgNC90L7QstC40LrQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGVsZXRlUHJvZHVjdCQoaXRlbTogU2NPcmRlckl0ZW0sIG9mZmVySWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2NPcmRlckRyYWZ0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPFNjSU9yZGVyRHJhZnQ+KGAke3RoaXMudXJscy5hcGlVcmx9L29yZGVycy9vZmZlcnMvJHtvZmZlcklkfS9wcm9kdWN0cy8ke2l0ZW0uaWR9YCkucGlwZShcbiAgICAgICAgICAgIG1hcCgob2ZmZXJEVE8pID0+IG5ldyBTY09yZGVyRHJhZnQob2ZmZXJEVE8sIHRoaXMuZGF0ZUZvcm1hdHMuYXBpKSksXG4gICAgICAgICAgICB0YXAoKG9mZmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMub2ZmZXJNYXAuaGFzKG9mZmVySWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub2ZmZXJNYXAuZ2V0KG9mZmVySWQpPy5zZXRWYWx1ZShvZmZlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtb3JkZXItZHJhZnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL29yZGVyL3NlcnZpY2VzL3NjLW9yZGVyLWRyYWZ0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsVUFBVSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFPM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFrQixNQUFNLGlDQUFpQyxDQUFDOztBQUVyRjs7R0FFRztBQUlILE1BQU0sT0FBTyxvQkFBb0I7SUFvQzdCOztPQUVHO0lBQ0g7UUF0Q0E7O1dBRUc7UUFDYyxTQUFJLEdBQWUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXZEOztXQUVHO1FBQ2MsU0FBSSxHQUFZLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVqRDs7V0FFRztRQUNjLFVBQUssR0FBdUIsTUFBTSxDQUFD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RUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5cbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjQ2FydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jYXJ0JztcbmltcG9ydCB7IFNjQ2FjaGVkSXRlbSB9IGZyb20gJy4uLy4uL2NhdGFsb2cvY2xhc3Nlcy9zYy1jYWNoZWQtaXRlbSc7XG5pbXBvcnQgeyBTY0lVcGRhdGVJbnRlcnZhbCwgU2NJVXJscyB9IGZyb20gJy4uLy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBTY0lQYWdpbmF0ZSB9IGZyb20gJy4uLy4uL3BhZ2luYXRpb24nO1xuaW1wb3J0IHsgU0NfVVBEQVRFX0lOVEVSVkFMLCBTQ19VUkxTIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcbmltcG9ydCB7IFNjVXNlciB9IGZyb20gJy4uLy4uL3VzZXIvZHRvL3NjLXVzZXInO1xuaW1wb3J0IHsgU0NfVVNFUl9JTkZPIH0gZnJvbSAnLi4vLi4vdXNlci90b2tlbnMvc2MtdXNlci1wcm92aWRlcnMnO1xuaW1wb3J0IHsgU2NVc2VyTWV0cmlrYUdvYWxzRW51bSwgU2NVc2VyTWV0cmlrYVNlcnZpY2UgfSBmcm9tICcuLi8uLi91c2VyLW1ldHJpa2EnO1xuaW1wb3J0IHsgU2NPcmRlckRyYWZ0LCBTY09yZGVyRHJhZnRTaG9ydCwgU2NPcmRlclNob3J0IH0gZnJvbSAnLi4vY2xhc3Nlcyc7XG5pbXBvcnQgeyBTY09yZGVySXRlbSB9IGZyb20gJy4uL2NsYXNzZXMvc2Mtb3JkZXItaXRlbSc7XG5pbXBvcnQgeyBTY0lPcmRlckRyYWZ0LCBTY0lPcmRlckRyYWZ0U2hvcnQsIFNjSU9yZGVyRWRpdG9yTG9hZGVyLCBTY0lPcmRlclNob3J0IH0gZnJvbSAnLi4vaW50ZXJuYWwnO1xuaW1wb3J0IHsgU2NJTmV3T3JkZXIgfSBmcm9tICcuLi9pbnRlcm5hbC9zYy1pLW5ldy1vcmRlcic7XG5pbXBvcnQgeyBTY0lOZXdPcmRlckRyYWZ0UmVxdWVzdCB9IGZyb20gJy4uL2ludGVybmFsL3NjLWktbmV3LW9yZGVyLWRyYWZ0LXJlcXVlc3QnO1xuaW1wb3J0IHsgU2NJTmV3T3JkZXJJdGVtQmFzZSB9IGZyb20gJy4uL2ludGVybmFsL3NjLWktbmV3LW9yZGVyLWl0ZW0tYmFzZSc7XG5pbXBvcnQgeyBTY0lVcGRhdGVPcmRlckRyYWZ0UmVxdWVzdCB9IGZyb20gJy4uL2ludGVybmFsL3NjLWktdXBkYXRlLW9yZGVyLW9yZGVyLXJlcXVlc3QnO1xuaW1wb3J0IHsgbG9hZGluZ1BsYWNlaG9sZGVyLCBTY09yZGVyTG9hZGluZyB9IGZyb20gJy4uL3Rva2Vucy9zYy1vcmRlci1sb2FkZXIudG9rZW4nO1xuXG4vKipcbiAqINCU0LDQvdC90YvQtSDQviDRgdC10YDQstC40YHQtSDQutC+0LzQvNC10YDRh9C10YHQutC40YUg0L/RgNC10LTQu9C+0LbQtdC90LjQuSDQuCDRh9C10YDQvdC+0LLQuNC60L7QsiDQt9Cw0LrQsNC30L7Qsi5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2NPcmRlckRyYWZ0c1NlcnZpY2UgaW1wbGVtZW50cyBTY0lPcmRlckVkaXRvckxvYWRlcjxTY09yZGVySXRlbSwgU2NPcmRlckRyYWZ0PiB7XG4gICAgLyoqXG4gICAgICogSFRUUC3QutC70LjQtdC90YIuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50ID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INGB0YHRi9C70L7QuiDQv9GA0LjQu9C+0LbQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVybHM6IFNjSVVybHMgPSBpbmplY3QoU0NfVVJMUyk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LTQsNC90L3Ri9GFINC+INGC0LXQutGD0YnQtdC8INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXIkOiBPYnNlcnZhYmxlPFNjVXNlcj4gPSBpbmplY3QoU0NfVVNFUl9JTkZPKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3RgtC10YDQstCw0LvRiyDQvtCx0L3QvtCy0LvQtdC90LjRjyDQtNCw0L3QvdGL0YUuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1cGRhdGVJbnRlcnZhbDogU2NJVXBkYXRlSW50ZXJ2YWwgPSBpbmplY3QoU0NfVVBEQVRFX0lOVEVSVkFMKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC60L7RgNC30LjQvdC+0LkuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXJ0U2VydmljZTogU2NDYXJ0U2VydmljZSA9IGluamVjdChTY0NhcnRTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQtNC70Y8g0YHQsdC+0YDQsCDQvNC10YLRgNC40Log0L4g0LTQtdC50YHRgtCy0LjRj9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlck1ldHJpa2FTZXJ2aWNlOiBTY1VzZXJNZXRyaWthU2VydmljZSA9IGluamVjdChTY1VzZXJNZXRyaWthU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiDQmtC+0LvQu9C10LrRhtC40Y8g0L/QsNGAINC60LvRjtGHLdC30L3QsNGH0LXQvdC40LUg0LTQu9GPINC60Y3RiNC40YDQvtCy0LDQvdC90YvRhSDQutC+0LzQvNC10YDRh9C10YHQutC40YUg0L/RgNC10LTQu9C+0LbQtdC90LjQuS/Rh9C10YDQvdC+0LLQuNC60L7QsiDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBvZmZlck1hcDogTWFwPG51bWJlciwgU2NDYWNoZWRJdGVtPFNjT3JkZXJEcmFmdCwgU2NPcmRlckxvYWRpbmc+PiA9IG5ldyBNYXA8bnVtYmVyLCBTY0NhY2hlZEl0ZW08U2NPcmRlckRyYWZ0LCBTY09yZGVyTG9hZGluZz4+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjT3JkZXJEcmFmdHNTZXJ2aWNlfS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMudXNlciQucGlwZShmaWx0ZXIoKHVzZXIpID0+IHVzZXIuaXNHdWVzdCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9mZmVyTWFwLmNsZWFyKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0L/QuNGB0L7QuiDQutC+0LzQvNC10YDRh9C10YHQutC40YUg0L/RgNC10LTQu9C+0LbQtdC90LjQuS/Rh9C10YDQvdC+0LLQuNC60L7QsiDRgSDQv9Cw0LPQuNC90LDRhtC40LXQuS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXJhbXMg0J/QsNGA0LDQvNC10YLRgNGLINC30LDQv9GA0L7RgdCwINC/0L7Qu9GD0YfQtdC90LjRjyDRgdC/0LjRgdC60LAuXG4gICAgICovXG4gICAgcHVibGljIGdldExpc3QkKHBhcmFtczogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8U2NJUGFnaW5hdGU8U2NPcmRlckRyYWZ0U2hvcnQ+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFNjSVBhZ2luYXRlPFNjSU9yZGVyRHJhZnRTaG9ydD4+KGAke3RoaXMudXJscy5hcGlVcmx9L29yZGVycy9vZmZlcnNgLCB7IHBhcmFtczogcGFyYW1zIH0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKG9mZmVyc1BhZ2luYXRlRFRPKSA9PiB7XG4gICAgICAgICAgICAgICAgb2ZmZXJzUGFnaW5hdGVEVE8uZGF0YSA9IG9mZmVyc1BhZ2luYXRlRFRPLmRhdGEubWFwKChpdGVtKSA9PiBuZXcgU2NPcmRlckRyYWZ0U2hvcnQoaXRlbSkpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mZmVyc1BhZ2luYXRlRFRPIGFzIFNjSVBhZ2luYXRlPFNjT3JkZXJEcmFmdFNob3J0PjtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNGR0YIg0L3QvtCy0L7QtSDQutC+0LzQvNC10YDRh9C10YHQutC+0LUg0L/RgNC10LTQu9C+0LbQtdC90LjQtS/Rh9C10YDQvdC+0LLQuNC6INC30LDQutCw0LfQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRhINCU0LDQvdC90YvQtSDQtNC70Y8g0YHQvtC30LTQsNC90LjRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgY3JlYXRlJChkYXRhOiBTY0lOZXdPcmRlckRyYWZ0UmVxdWVzdCk6IE9ic2VydmFibGU8U2NPcmRlckRyYWZ0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxTY0lPcmRlckRyYWZ0PihgJHt0aGlzLnVybHMuYXBpVXJsfS9vcmRlcnMvb2ZmZXJzYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcCgob2ZmZXJEVE8pID0+IG5ldyBTY09yZGVyRHJhZnQob2ZmZXJEVE8pKSxcbiAgICAgICAgICAgIHRhcCgob2ZmZXIpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJNZXRyaWthU2VydmljZS5lbWl0VXNlck1ldHJpa2FFdmVudCh7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5vcmRlckRyYWZ0Q3JlYXRlZCxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7IG9mZmVyX2lkOiBvZmZlci5pZCB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMuY2FydFNlcnZpY2UudXBkYXRlQ2FydCgpO1xuICAgICAgICAgICAgICAgIHRoaXMub2ZmZXJNYXAuc2V0KG9mZmVyLmlkLCBuZXcgU2NDYWNoZWRJdGVtKHRoaXMudXBkYXRlSW50ZXJ2YWwub3JkZXJEYXRhLCBvZihvZmZlciksIGxvYWRpbmdQbGFjZWhvbGRlcikpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQv9C+0LvQvdGD0Y4g0LjQvdGE0L7RgNC80LDRhtC40Y4g0L4g0LrQvtC80LzQtdGA0YfQtdGB0LrQvtC8INC/0YDQtdC00LvQvtC20LXQvdC40Lgv0YfQtdGA0L3QvtCy0LjQutC1LlxuICAgICAqXG4gICAgICogQHBhcmFtIGRyYWZ0SWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LfQsNC/0LjRgdC4LlxuICAgICAqIEBwYXJhbSBjYWNoZWFibGUg0J/RgNC40LfQvdCw0Log0LLQvtC30LzQvtC20L3QvtGB0YLQuCDQv9C+0LvRg9GH0LXQvdC40Y8g0LjQtyDQutGN0YjQuNGA0L7QstCw0L3QvdGL0YUg0LTQsNC90L3Ri9GFLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQkKGRyYWZ0SWQ6IG51bWJlciwgY2FjaGVhYmxlOiBib29sZWFuID0gdHJ1ZSk6IE9ic2VydmFibGU8U2NPcmRlckRyYWZ0IHwgU2NPcmRlckxvYWRpbmc+IHtcbiAgICAgICAgbGV0IGNhY2hlZEl0ZW0gPSB0aGlzLm9mZmVyTWFwLmdldChkcmFmdElkKTtcblxuICAgICAgICBpZiAoIWNhY2hlZEl0ZW0pIHtcbiAgICAgICAgICAgIGNhY2hlZEl0ZW0gPSBuZXcgU2NDYWNoZWRJdGVtKFxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlSW50ZXJ2YWwub3JkZXJEYXRhLFxuICAgICAgICAgICAgICAgIHRoaXMuaHR0cC5nZXQ8U2NJT3JkZXJEcmFmdD4oYCR7dGhpcy51cmxzLmFwaVVybH0vb3JkZXJzL29mZmVycy8ke2RyYWZ0SWR9YCkucGlwZShtYXAoKGRhdGEpID0+IG5ldyBTY09yZGVyRHJhZnQoZGF0YSkpKSxcbiAgICAgICAgICAgICAgICBsb2FkaW5nUGxhY2Vob2xkZXJcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChjYWNoZWFibGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9mZmVyTWFwLnNldChkcmFmdElkLCBjYWNoZWRJdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjYWNoZWFibGUgJiYgIWNhY2hlZEl0ZW0uY2FjaGVkRGF0YUlzQWN0dWFsKCkpIHtcbiAgICAgICAgICAgIGNhY2hlZEl0ZW0udXBkYXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2FjaGVkSXRlbS5pdGVtJDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgdC/0LjRgdC+0Log0Y3Qu9C10LzQtdC90YLQvtCyINC60L7QvNC80LXRgNGH0LXRgdC60L7Qs9C+INC/0YDQtdC00LvQvtC20LXQvdC40Y8v0YfQtdGA0L3QvtCy0LjQutCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGlkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC60L7QvNC80LXRgNGH0LXRgdC60L7Qs9C+INC/0YDQtdC00LvQvtC20LXQvdC40Y8v0YfQtdGA0L3QvtCy0LjQutCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRJdGVtcyQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2NPcmRlckl0ZW1bXSB8IFNjT3JkZXJMb2FkaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldCQoaWQpLnBpcGUobWFwKChkcmFmdCkgPT4gKGRyYWZ0ID09PSBsb2FkaW5nUGxhY2Vob2xkZXIgPyBsb2FkaW5nUGxhY2Vob2xkZXIgOiAoZHJhZnQgYXMgU2NPcmRlckRyYWZ0KS5wcm9kdWN0cykpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntCx0L3QvtCy0LvRj9C10YIg0LTQsNC90L3Ri9C1INC60L7QvNC80LXRgNGH0LXRgdC60L7Qs9C+INC/0YDQtdC00LvQvtC20LXQvdC40Y8v0YfQtdGA0L3QvtCy0LjQutCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGRyYWZ0SWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LfQsNC/0LjRgdC4LlxuICAgICAqIEBwYXJhbSBwYXRjaCDQlNCw0L3QvdGL0LUg0LTQu9GPINC+0LHQvdC+0LLQu9C10L3QuNGPLlxuICAgICAqL1xuICAgIHB1YmxpYyB1cGRhdGUkKGRyYWZ0SWQ6IG51bWJlciwgcGF0Y2g6IFNjSVVwZGF0ZU9yZGVyRHJhZnRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxTY09yZGVyRHJhZnQ+IHtcbiAgICAgICAgY29uc3QgY2FjaGVkSXRlbSA9IHRoaXMub2ZmZXJNYXAuZ2V0KGRyYWZ0SWQpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8U2NJT3JkZXJEcmFmdD4oYCR7dGhpcy51cmxzLmFwaVVybH0vb3JkZXJzL29mZmVycy8ke2RyYWZ0SWR9YCwgcGF0Y2gpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKG9mZmVyRFRPKSA9PiBuZXcgU2NPcmRlckRyYWZ0KG9mZmVyRFRPKSksXG4gICAgICAgICAgICB0YXAoKG9mZmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyTWV0cmlrYVNlcnZpY2UuZW1pdFVzZXJNZXRyaWthRXZlbnQoe1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0ub3JkZXJEcmFmdFVwZGF0ZWQsXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczogeyBvZmZlcl9pZDogZHJhZnRJZCB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNhY2hlZEl0ZW0/LnNldFZhbHVlKG9mZmVyKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPQtNCw0LvRj9C10YIg0LrQvtC80LzQtdGA0YfQtdGB0LrQvtC1INC/0YDQtdC00LvQvtC20LXQvdC40LUv0YfQtdGA0L3QvtCy0LjQui5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvZmZlcklkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC30LDQv9C40YHQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGVsZXRlJChvZmZlcklkOiBudW1iZXIpOiBPYnNlcnZhYmxlPHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTx1bmRlZmluZWQ+KGAke3RoaXMudXJscy5hcGlVcmx9L29yZGVycy9vZmZlcnMvJHtvZmZlcklkfWApLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBTY1VzZXJNZXRyaWthR29hbHNFbnVtLm9yZGVyRHJhZnREZWxldGVkLFxuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsgb2ZmZXJfaWQ6IG9mZmVySWQgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLm9mZmVyTWFwLmRlbGV0ZShvZmZlcklkKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNGR0YIg0LfQsNC60LDQtyDQvdCwINC+0YHQvdC+0LLQtSDQutC+0LzQvNC10YDRh9C10YHQutC+0LPQviDQv9GA0LXQtNC70L7QttC10L3QuNGPL9GH0LXRgNC90L7QstC40LrQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvZmZlcklkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC30LDQv9C40YHQuC5cbiAgICAgKiBAcGFyYW0gZGF0YSDQlNCw0L3QvdGL0LUg0LfQsNC60LDQt9CwLlxuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGVPcmRlciQob2ZmZXJJZDogbnVtYmVyLCBkYXRhOiBTY0lOZXdPcmRlcik6IE9ic2VydmFibGU8U2NPcmRlclNob3J0W10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFNjSU9yZGVyU2hvcnRbXT4oYCR7dGhpcy51cmxzLmFwaVVybH0vb3JkZXJzL29mZmVycy8ke29mZmVySWR9L2NyZWF0ZS1vcmRlcmAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKG9yZGVycykgPT4gb3JkZXJzLm1hcCgoaXRlbSkgPT4gbmV3IFNjT3JkZXJTaG9ydChpdGVtKSkpLFxuICAgICAgICAgICAgdGFwKChvcmRlcnM6IFNjT3JkZXJTaG9ydFtdKSA9PiB7XG4gICAgICAgICAgICAgICAgb3JkZXJzLmZvckVhY2goKG9yZGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5vcmRlckNyZWF0ZWRGcm9tRHJhZnQsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsgb2ZmZXJfaWQ6IG9mZmVySWQsIG9yZGVyX2lkOiBvcmRlci5pZCB9LFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlT3JkZXJlZFByb2R1Y3RzRnJvbUNhY2hlKG9mZmVySWQsIGRhdGEuaXRlbXMgPz8gW10pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9Cx0LjRgNCw0LXRgiDQt9Cw0LrQsNC30LDQvdC90YvQtSDQv9C+0LfQuNGG0LjQuCDQuNC3INC60Y3RiNCwINGH0LXRgNC90L7QstC40LrQsCDQu9C+0LrQsNC70YzQvdC+ICjRgdC10YDQstC10YAg0YHRgNCw0LfRgyDQv9C+0YHQu9C1INC30LDQutCw0LfQsCDQtdGJ0ZEg0LzQvtC20LXRgiDQstC10YDQvdGD0YLRjCDQuNGFINCyINGB0L/QuNGB0LrQtSkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb2ZmZXJJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRh9C10YDQvdC+0LLQuNC60LAuXG4gICAgICogQHBhcmFtIG9yZGVyZWRJdGVtSWRzINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0Ysg0LfQsNC60LDQt9Cw0L3QvdGL0YUg0L/QvtC30LjRhtC40LkuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZW1vdmVPcmRlcmVkUHJvZHVjdHNGcm9tQ2FjaGUob2ZmZXJJZDogbnVtYmVyLCBvcmRlcmVkSXRlbUlkczogQXJyYXk8bnVtYmVyIHwgc3RyaW5nPik6IHZvaWQge1xuICAgICAgICBjb25zdCBjYWNoZWRJdGVtID0gdGhpcy5vZmZlck1hcC5nZXQob2ZmZXJJZCk7XG5cbiAgICAgICAgaWYgKCFjYWNoZWRJdGVtIHx8IG9yZGVyZWRJdGVtSWRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3JkZXJlZElkcyA9IG5ldyBTZXQob3JkZXJlZEl0ZW1JZHMubWFwKFN0cmluZykpO1xuXG4gICAgICAgIGNhY2hlZEl0ZW0uaXRlbSQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKGRyYWZ0KSA9PiB7XG4gICAgICAgICAgICBpZiAoZHJhZnQgPT09IGxvYWRpbmdQbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgY3VycmVudERyYWZ0ID0gZHJhZnQgYXMgU2NPcmRlckRyYWZ0O1xuICAgICAgICAgICAgY29uc3QgcmVtYWluaW5nUHJvZHVjdHMgPSBjdXJyZW50RHJhZnQucHJvZHVjdHMuZmlsdGVyKChwcm9kdWN0KSA9PiAhb3JkZXJlZElkcy5oYXMocHJvZHVjdC5pZCkpO1xuXG4gICAgICAgICAgICBpZiAocmVtYWluaW5nUHJvZHVjdHMubGVuZ3RoID09PSBjdXJyZW50RHJhZnQucHJvZHVjdHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB1cGRhdGVkRHJhZnQgPSBuZXcgU2NPcmRlckRyYWZ0KGN1cnJlbnREcmFmdCk7XG4gICAgICAgICAgICB1cGRhdGVkRHJhZnQucHJvZHVjdHMgPSByZW1haW5pbmdQcm9kdWN0cztcbiAgICAgICAgICAgIHVwZGF0ZWREcmFmdC5zdW0gPSByZW1haW5pbmdQcm9kdWN0cy5yZWR1Y2UoKHN1bSwgcHJvZHVjdCkgPT4gc3VtICsgcHJvZHVjdC5jb3N0UnViLCAwKTtcblxuICAgICAgICAgICAgY2FjaGVkSXRlbS5zZXRWYWx1ZSh1cGRhdGVkRHJhZnQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQlNC+0LHQsNCy0LvRj9C10YIg0L/RgNC+0LTRg9C60YIg0LIg0LrQvtC80LzQtdGA0YfQtdGB0LrQvtC1INC/0YDQtdC00LvQvtC20LXQvdC40LUv0YfQtdGA0L3QvtCy0LjQui5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9kdWN0RGF0YSDQlNCw0L3QvdGL0LUg0L/RgNC+0LTRg9C60YLQsCDQtNC70Y8g0LTQvtCx0LDQstC70LXQvdC40Y8uXG4gICAgICogQHBhcmFtIG9mZmVySWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LrQvtC80LzQtdGA0YfQtdGB0LrQvtCz0L4g0L/RgNC10LTQu9C+0LbQtdC90LjRjy/Rh9C10YDQvdC+0LLQuNC60LAuXG4gICAgICovXG4gICAgcHVibGljIGFkZFByb2R1Y3QkKHByb2R1Y3REYXRhOiBTY0lOZXdPcmRlckl0ZW1CYXNlLCBvZmZlcklkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNjT3JkZXJEcmFmdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8U2NJT3JkZXJEcmFmdD4oYCR7dGhpcy51cmxzLmFwaVVybH0vb3JkZXJzL29mZmVycy8ke29mZmVySWR9L3Byb2R1Y3RzYCwgcHJvZHVjdERhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKG9mZmVyRFRPKSA9PiBuZXcgU2NPcmRlckRyYWZ0KG9mZmVyRFRPKSksXG4gICAgICAgICAgICB0YXAoKG9mZmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMub2ZmZXJNYXAuaGFzKG9mZmVySWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub2ZmZXJNYXAuZ2V0KG9mZmVySWQpPy5zZXRWYWx1ZShvZmZlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQmNC30LzQtdC90Y/QtdGCINC/0YDQvtC00YPQutGCINCyINC60L7QvNC80LXRgNGH0LXRgdC60L7QvCDQv9GA0LXQtNC70L7QttC10L3QuNC4L9GH0LXRgNC90L7QstC40LrQtS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9kdWN0SWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L/RgNC+0LTRg9C60YLQsCDQsiDQutC+0YDQt9C40L3QtS5cbiAgICAgKiBAcGFyYW0gcGF0Y2gg0KfQsNGB0YLQuNGH0L3Ri9C1INC00LDQvdC90YvQtSDQtNC70Y8g0L7QsdC90L7QstC70LXQvdC40Y8uXG4gICAgICogQHBhcmFtIG9mZmVySWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LrQvtC80LzQtdGA0YfQtdGB0LrQvtCz0L4g0L/RgNC10LTQu9C+0LbQtdC90LjRjy/Rh9C10YDQvdC+0LLQuNC60LAuXG4gICAgICovXG4gICAgcHVibGljIHVwZGF0ZVByb2R1Y3QkKHByb2R1Y3RJZDogc3RyaW5nLCBwYXRjaDogT21pdDxTY0lOZXdPcmRlckl0ZW1CYXNlLCAncHJvZHVjdElkJz4sIG9mZmVySWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2NPcmRlckRyYWZ0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8U2NJT3JkZXJEcmFmdD4oYCR7dGhpcy51cmxzLmFwaVVybH0vb3JkZXJzL29mZmVycy8ke29mZmVySWR9L3Byb2R1Y3RzLyR7cHJvZHVjdElkfWAsIHBhdGNoKS5waXBlKFxuICAgICAgICAgICAgbWFwKChvZmZlckRUTykgPT4gbmV3IFNjT3JkZXJEcmFmdChvZmZlckRUTykpLFxuICAgICAgICAgICAgdGFwKChvZmZlcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm9mZmVyTWFwLmhhcyhvZmZlcklkKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9mZmVyTWFwLmdldChvZmZlcklkKT8uc2V0VmFsdWUob2ZmZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPQtNCw0LvRj9C10YIg0L/RgNC+0LTRg9C60YIg0LjQtyDQutC+0LzQvNC10YDRh9C10YHQutC+0LPQviDQv9GA0LXQtNC70L7QttC10L3QuNGPL9GH0LXRgNC90L7QstC40LrQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtINCj0LTQsNC70Y/QtdC80LDRjyDQv9C+0LfQuNGG0LjRjy5cbiAgICAgKiBAcGFyYW0gb2ZmZXJJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQutC+0LzQvNC10YDRh9C10YHQutC+0LPQviDQv9GA0LXQtNC70L7QttC10L3QuNGPL9GH0LXRgNC90L7QstC40LrQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGVsZXRlUHJvZHVjdCQoaXRlbTogU2NPcmRlckl0ZW0sIG9mZmVySWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2NPcmRlckRyYWZ0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPFNjSU9yZGVyRHJhZnQ+KGAke3RoaXMudXJscy5hcGlVcmx9L29yZGVycy9vZmZlcnMvJHtvZmZlcklkfS9wcm9kdWN0cy8ke2l0ZW0uaWR9YCkucGlwZShcbiAgICAgICAgICAgIG1hcCgob2ZmZXJEVE8pID0+IG5ldyBTY09yZGVyRHJhZnQob2ZmZXJEVE8pKSxcbiAgICAgICAgICAgIHRhcCgob2ZmZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5vZmZlck1hcC5oYXMob2ZmZXJJZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vZmZlck1hcC5nZXQob2ZmZXJJZCk/LnNldFZhbHVlKG9mZmVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==