@colijnit/transaction 256.1.26 → 256.1.27

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 (101) hide show
  1. package/bundles/colijnit-transaction.umd.js +663 -644
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.d.ts +320 -320
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/colijnit-transaction.js +321 -321
  6. package/esm2015/lib/component/checkout/checkout.component.js +10 -2
  7. package/esm2015/lib/component/core/base/components/characteristic-answer/characteristic-answer.component.js +36 -22
  8. package/esm2015/lib/component/core/base/service/transaction-header.service.js +3 -1
  9. package/esm2015/lib/component/core/base/transaction-base.component.js +4 -32
  10. package/esm2015/lib/component/core/base/transaction-header-base.component.js +13 -5
  11. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-direct-sell/dialog-transaction-line-direct-sell.component.js +14 -7
  12. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.component.js +2 -2
  13. package/esm2015/lib/component/transaction-card/transaction-card-footer/transaction-card-footer.component.js +1 -3
  14. package/esm2015/lib/component/transaction-card/transaction-card-goods-allocation/transaction-card-goods-allocation.component.js +1 -2
  15. package/esm2015/lib/component/transaction-card/transaction-card-header/transaction-card-header.component.js +1 -3
  16. package/esm2015/lib/component/transaction-card/transaction-card-margin/transaction-card-margin.component.js +1 -2
  17. package/esm2015/lib/component/transaction-card/transaction-card-picked/transaction-card-picked.component.js +1 -2
  18. package/esm2015/lib/component/transaction-card/transaction-card-planning/transaction-card-planning.component.js +1 -2
  19. package/esm2015/lib/component/transaction-card/transaction-card-purchase/transaction-card-purchase.component.js +1 -2
  20. package/esm2015/lib/component/transaction-card/transaction-card-purchase-overview/transaction-card-purchase-overview.component.js +1 -2
  21. package/esm2015/lib/component/transaction-card/transaction-card-sales-overview/transaction-card-sales-overview.component.js +1 -2
  22. package/esm2015/lib/component/transaction-card/transaction-card-to-be-picked/transaction-card-to-be-picked.component.js +1 -2
  23. package/esm2015/lib/component/transaction-internal/transaction-internal.component.js +11 -1
  24. package/esm2015/lib/component/transaction-internal/transaction-internal.module.js +12 -5
  25. package/esm2015/lib/component/transaction-labeled-warehouse-location-button/transaction-labeled-warehouse-location-button.component.js +48 -52
  26. package/esm2015/lib/component/transaction-labeled-warehouse-location-button/transaction-labeled-warehouse-location-button.module.js +4 -2
  27. package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.js +3 -3
  28. package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line-base.component.js +37 -4
  29. package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.js +10 -65
  30. package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.module.js +2 -5
  31. package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.js +3 -1
  32. package/esm2015/lib/component/transaction-line/transaction-sales-order-quotation-line/transaction-sales-order-quotation-line.component.js +71 -32
  33. package/esm2015/lib/component/transaction-line/transaction-sales-order-quotation-line/transaction-sales-order-quotation-line.module.js +6 -2
  34. package/esm2015/lib/component/transaction-line/transaction-text-line/transaction-text-line.component.js +1 -3
  35. package/esm2015/lib/component/transaction-line-fields/transaction-line-direct-sell/transaction-line-direct-sell.component.js +1 -3
  36. package/esm2015/lib/component/transaction-line-fields/transaction-line-discount-button.component.js +3 -2
  37. package/esm2015/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.component.js +1 -6
  38. package/esm2015/lib/component/transaction-line-purchase-receive-goods/transaction-line-purchase-receive-goods.component.js +5 -3
  39. package/esm2015/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.js +1 -2
  40. package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.component.js +1 -24
  41. package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.js +1 -3
  42. package/esm2015/lib/component/transaction-line-statusbar/transaction-line-statusbar.component.js +2 -2
  43. package/esm2015/lib/component/transaction-print-package-sticker/transaction-print-package-sticker.component.js +5 -1
  44. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.js +40 -11
  45. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.js +6 -5
  46. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.js +1 -2
  47. package/esm2015/lib/component/transaction-reservation/service/transaction-sales-reservation.service.js +84 -0
  48. package/esm2015/lib/component/transaction-reservation/transaction-sales-reservation-popup/transaction-sales-reservation-popup.component.js +86 -0
  49. package/esm2015/lib/service/transaction-base.service.js +7 -2
  50. package/esm2015/lib/service/transaction.service.js +2 -2
  51. package/esm2015/lib/transaction-version.js +3 -3
  52. package/fesm2015/colijnit-transaction.js +463 -374
  53. package/fesm2015/colijnit-transaction.js.map +1 -1
  54. package/lib/component/checkout/checkout.component.d.ts +3 -1
  55. package/lib/component/core/base/components/characteristic-answer/characteristic-answer.component.d.ts +1 -0
  56. package/lib/component/core/base/service/transaction-header.service.d.ts +2 -0
  57. package/lib/component/core/base/transaction-base.component.d.ts +1 -1
  58. package/lib/component/dialog/transaction-line/dialog-transaction-line-direct-sell/style/_layout.scss +3 -0
  59. package/lib/component/dialog/transaction-line/dialog-transaction-line-direct-sell/style/_material-definition.scss +1 -0
  60. package/lib/component/transaction-card/transaction-card-footer/transaction-card-footer.component.d.ts +0 -1
  61. package/lib/component/transaction-card/transaction-card-goods-allocation/transaction-card-goods-allocation.component.d.ts +0 -1
  62. package/lib/component/transaction-card/transaction-card-header/transaction-card-header.component.d.ts +0 -1
  63. package/lib/component/transaction-card/transaction-card-margin/transaction-card-margin.component.d.ts +0 -1
  64. package/lib/component/transaction-card/transaction-card-picked/transaction-card-picked.component.d.ts +0 -1
  65. package/lib/component/transaction-card/transaction-card-planning/transaction-card-planning.component.d.ts +0 -1
  66. package/lib/component/transaction-card/transaction-card-purchase/transaction-card-purchase.component.d.ts +0 -1
  67. package/lib/component/transaction-card/transaction-card-purchase-overview/transaction-card-purchase-overview.component.d.ts +0 -1
  68. package/lib/component/transaction-card/transaction-card-sales-overview/transaction-card-sales-overview.component.d.ts +0 -1
  69. package/lib/component/transaction-card/transaction-card-to-be-picked/transaction-card-to-be-picked.component.d.ts +0 -1
  70. package/lib/component/transaction-internal/style/_layout.scss +6 -0
  71. package/lib/component/transaction-internal/transaction-internal.component.d.ts +1 -0
  72. package/lib/component/transaction-labeled-warehouse-location-button/transaction-labeled-warehouse-location-button.component.d.ts +15 -18
  73. package/lib/component/transaction-line/transaction-line/style/_layout.scss +17 -1
  74. package/lib/component/transaction-line/transaction-line/style/_material-definition.scss +2 -2
  75. package/lib/component/transaction-line/transaction-line/style/material.scss +1 -0
  76. package/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line-base.component.d.ts +14 -1
  77. package/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.d.ts +2 -30
  78. package/lib/component/transaction-line/transaction-sales-order-quotation-line/transaction-sales-order-quotation-line.component.d.ts +2 -0
  79. package/lib/component/transaction-line/transaction-text-line/transaction-text-line.component.d.ts +0 -1
  80. package/lib/component/transaction-line-fields/transaction-line-direct-sell/transaction-line-direct-sell.component.d.ts +0 -1
  81. package/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.component.d.ts +0 -3
  82. package/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.d.ts +0 -1
  83. package/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.component.d.ts +1 -8
  84. package/lib/component/transaction-print-package-sticker/transaction-print-package-sticker.component.d.ts +1 -1
  85. package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.d.ts +13 -1
  86. package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.d.ts +1 -1
  87. package/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.d.ts +0 -1
  88. package/lib/component/transaction-reservation/service/transaction-sales-reservation.service.d.ts +17 -0
  89. package/lib/component/{transaction-line-side-panel-sales/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation → transaction-reservation/transaction-sales-reservation-popup}/style/_layout.scss +12 -2
  90. package/lib/component/transaction-reservation/transaction-sales-reservation-popup/style/_theme.scss +4 -0
  91. package/lib/component/{transaction-line-side-panel-sales/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation → transaction-reservation/transaction-sales-reservation-popup}/style/material.scss +1 -1
  92. package/lib/component/transaction-reservation/transaction-sales-reservation-popup/transaction-sales-reservation-popup.component.d.ts +20 -0
  93. package/lib/service/transaction-base.service.d.ts +3 -2
  94. package/lib/service/transaction.service.d.ts +1 -1
  95. package/package.json +2 -2
  96. package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation.component.js +0 -75
  97. package/esm2015/lib/service/purchase-reservation.service.js +0 -34
  98. package/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation/style/_theme.scss +0 -4
  99. package/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation.component.d.ts +0 -20
  100. package/lib/service/purchase-reservation.service.d.ts +0 -13
  101. /package/lib/component/{transaction-line-side-panel-sales/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation → transaction-reservation/transaction-sales-reservation-popup}/style/_material-definition.scss +0 -0
@@ -1,15 +1,24 @@
1
1
  import { __awaiter } from "tslib";
2
- import { Component, HostBinding, ViewEncapsulation } from '@angular/core';
2
+ import { ChangeDetectorRef, Component, HostBinding, ViewEncapsulation } from '@angular/core';
3
3
  import { TransactionQuickAccessSendMethodBaseComponent } from "../transaction-quick-access-send-method-base.component";
4
4
  import { ReportingDocumentPrintSignDocBaseRequest } from "@colijnit/mainapi/build/model/reporting-document-print-sign-doc-base-request";
5
5
  import { ReportingDocumentEmailSignDocBaseRequest } from "@colijnit/mainapi/build/model/reporting-document-email-sign-doc-base-request";
6
6
  import { ReportingDocumentPdfBaseRequest } from "@colijnit/mainapi/build/model/reporting-document-pdf-base-request";
7
7
  import { PrintPurchaseOrderForSalesOrderRequest } from "@colijnit/transactionapi/build/model/print-purchase-order-for-sales-order-request";
8
- import { OrderReservationSalesOrderLinesRequest } from "@colijnit/transactionapi/build/model/order-reservation-sales-order-lines-request.bo";
8
+ import { TransactionEventService } from "../../../service/transaction-event.service";
9
+ import { IconCacheService } from "../../../service/icon-cache.service";
10
+ import { TransactionScreenConfigurationService } from "../../../service/transaction-screen-configuration.service";
11
+ import { TransactionSearchService } from "../../transaction-search/service/transaction-search.service";
12
+ import { TransactionImageService } from "../../../service/transaction-image.service";
13
+ import { DictionaryService } from "../../../service/dictionary.service";
14
+ import { TransactionService } from "../../../service/transaction.service";
15
+ import { DialogService } from "../../../service/dialog.service";
16
+ import { TransactionSalesReservationService } from "../../transaction-reservation/service/transaction-sales-reservation.service";
17
+ import { TransactionHeaderService } from "../../core/base/service/transaction-header.service";
9
18
  export class TransactionQuickAccessOrderPurchaseComponent extends TransactionQuickAccessSendMethodBaseComponent {
10
- constructor() {
11
- super(...arguments);
12
- this.showLoader = false;
19
+ constructor(searchService, transactionHeaderService, transactionEventService, iconCacheService, screenConfigService, imageService, dictionaryService, transactionService, changeDetector, dialogService, salesReservationService) {
20
+ super(searchService, transactionHeaderService, transactionEventService, iconCacheService, screenConfigService, imageService, dictionaryService, transactionService, changeDetector, dialogService);
21
+ this.salesReservationService = salesReservationService;
13
22
  this.canGenerate = false;
14
23
  this.reportDocumentEmailRequest = new ReportingDocumentEmailSignDocBaseRequest();
15
24
  this.reportDocumentPrintRequest = new ReportingDocumentPrintSignDocBaseRequest();
@@ -45,12 +54,19 @@ export class TransactionQuickAccessOrderPurchaseComponent extends TransactionQui
45
54
  });
46
55
  }
47
56
  handleReservationModeClick() {
57
+ var _a, _b;
48
58
  return __awaiter(this, void 0, void 0, function* () {
49
- let request = new OrderReservationSalesOrderLinesRequest();
50
- request.salesOrderId = this.transactionInfo.id;
51
- let purchaseReservations = yield this.transactionService.getSalesOrderLines(request);
52
- this.transactionHeaderService.reservationMode = !this.transactionHeaderService.reservationMode;
53
- this.transactionEventService.reservationModeToggle.next([this.transactionHeaderService.reservationMode, purchaseReservations]);
59
+ if ((_b = (_a = this.transaction) === null || _a === void 0 ? void 0 : _a.transactionInfo) === null || _b === void 0 ? void 0 : _b.id) {
60
+ if (!this.transactionHeaderService.reservationMode) {
61
+ yield this.salesReservationService.getSalesOrderLines(this.transaction.transactionInfo.id);
62
+ }
63
+ else {
64
+ this.salesReservationService.purchaseReservations = [];
65
+ }
66
+ this.transactionHeaderService.reservationMode = !this.transactionHeaderService.reservationMode;
67
+ this.transactionHeaderService.reservationStateChange.next(this.transactionHeaderService.reservationMode);
68
+ }
69
+ this.changeDetector.detectChanges();
54
70
  });
55
71
  }
56
72
  transactionSet() {
@@ -124,7 +140,20 @@ TransactionQuickAccessOrderPurchaseComponent.decorators = [
124
140
  encapsulation: ViewEncapsulation.None
125
141
  },] }
126
142
  ];
143
+ TransactionQuickAccessOrderPurchaseComponent.ctorParameters = () => [
144
+ { type: TransactionSearchService },
145
+ { type: TransactionHeaderService },
146
+ { type: TransactionEventService },
147
+ { type: IconCacheService },
148
+ { type: TransactionScreenConfigurationService },
149
+ { type: TransactionImageService },
150
+ { type: DictionaryService },
151
+ { type: TransactionService },
152
+ { type: ChangeDetectorRef },
153
+ { type: DialogService },
154
+ { type: TransactionSalesReservationService }
155
+ ];
127
156
  TransactionQuickAccessOrderPurchaseComponent.propDecorators = {
128
157
  showClass: [{ type: HostBinding, args: ["class.co-transaction-quick-access-order-purchase",] }]
129
158
  };
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW9yZGVyLXB1cmNoYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtb3JkZXItcHVyY2hhc2UvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW9yZGVyLXB1cmNoYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQXFCLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzNGLE9BQU8sRUFBQyw2Q0FBNkMsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ3JILE9BQU8sRUFDTCx3Q0FBd0MsRUFDekMsTUFBTSw4RUFBOEUsQ0FBQztBQUN0RixPQUFPLEVBQ0wsd0NBQXdDLEVBQ3pDLE1BQU0sOEVBQThFLENBQUM7QUFDdEYsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFHbEgsT0FBTyxFQUNMLHNDQUFzQyxFQUN2QyxNQUFNLG1GQUFtRixDQUFDO0FBQzNGLE9BQU8sRUFDTCxzQ0FBc0MsRUFDdkMsTUFBTSxxRkFBcUYsQ0FBQztBQXdDN0YsTUFBTSxPQUFPLDRDQUE2QyxTQUFRLDZDQUE2QztJQXRDL0c7O1FBNkNTLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFFN0IsK0JBQTBCLEdBQTZDLElBQUksd0NBQXdDLEVBQUUsQ0FBQztRQUN0SCwrQkFBMEIsR0FBNkMsSUFBSSx3Q0FBd0MsRUFBRSxDQUFDO1FBQ3RILDZCQUF3QixHQUFvQyxJQUFJLCtCQUErQixFQUFFLENBQUM7UUFFakcsVUFBSyxHQUFtQixFQUFFLENBQUM7SUE2RXJDLENB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QUFpRDtJQUN6RSxDQUFDO0lBRWUsYUFBYSxDQUFDLE9BQWlEOztZQUM3RSxNQUFNLHNDQUFzQyxHQUMxQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksc0NBQXNDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN2RSxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQywwQ0FBMEMsQ0FBQyxzQ0FBc0MsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pKLENBQUM7S0FBQTs7O1lBaElGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNENBQTRDO2dCQUN0RCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O3dCQUdFLFdBQVcsU0FBQyxrREFBa0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVJbmZvfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tbGluZS1pbmZvLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblF1aWNrQWNjZXNzU2VuZE1ldGhvZEJhc2VDb21wb25lbnR9IGZyb20gXCIuLi90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtc2VuZC1tZXRob2QtYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtcclxuICBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0XHJcbn0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1wcmludC1zaWduLWRvYy1iYXNlLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtcclxuICBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0XHJcbn0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1lbWFpbC1zaWduLWRvYy1iYXNlLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0aW5nLWRvY3VtZW50LXBkZi1iYXNlLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLWVtYWlsLmJvXCI7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1wcmludC5ib1wiO1xyXG5pbXBvcnQge1xyXG4gIFByaW50UHVyY2hhc2VPcmRlckZvclNhbGVzT3JkZXJSZXF1ZXN0XHJcbn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wcmludC1wdXJjaGFzZS1vcmRlci1mb3Itc2FsZXMtb3JkZXItcmVxdWVzdFwiO1xyXG5pbXBvcnQge1xyXG4gIE9yZGVyUmVzZXJ2YXRpb25TYWxlc09yZGVyTGluZXNSZXF1ZXN0XHJcbn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9vcmRlci1yZXNlcnZhdGlvbi1zYWxlcy1vcmRlci1saW5lcy1yZXF1ZXN0LmJvXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtb3JkZXItcHVyY2hhc2VcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInF1aWNrLWFjY2Vzcy1jb250ZW50LXdyYXBwZXJcIiAqbmdJZj1cImNhbkdlbmVyYXRlICYmIHRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbkRlZmluaXRpdmVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdC1hbGwtd3JhcHBlclwiPlxyXG4gICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgW2xhYmVsXT1cIidTRUxFQ1RfQUxMX0xJTkVTJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVTZWxlY3RBbGxMaW5lcygkZXZlbnQpXCJcclxuICAgICAgICA+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxjby1xdWljay1zZW5kLWJ1dHRvblxyXG4gICAgICAgIFtzaG93U2VuZE1ldGhvZEljb25dPVwiZmFsc2VcIlxyXG4gICAgICAgIFtzaG93U2VuZE1ldGhvZERpYWxvZ0ljb25dPVwiZmFsc2VcIlxyXG4gICAgICAgIFtzaG93TG9hZGVyXT1cInNob3dMb2FkZXJcIlxyXG4gICAgICAgIChzZW5kSWNvbkNsaWNrZWQpPVwiaGFuZGxlU2VuZChkZWZhdWx0U2VuZE1ldGhvZClcIlxyXG4gICAgICA+PC9jby1xdWljay1zZW5kLWJ1dHRvbj5cclxuXHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiYnV0dG9uXCIgW2NsYXNzLnNlbGVjdGVkXT1cInRyYW5zYWN0aW9uSGVhZGVyU2VydmljZS5yZXNlcnZhdGlvbk1vZGVcIj48Y28taWNvbiAoY2xpY2spPVwiaGFuZGxlUmVzZXJ2YXRpb25Nb2RlQ2xpY2soKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5QYWxsZXRCb3hlc1JvdGF0ZSlcIj48L2NvLWljb24+PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Y28tc2VuZC1tZXRob2QtZGlhbG9nICpuZ0lmPVwic2hvd1NlbmRNZXRob2REaWFsb2dcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcHJpbnRlckxpc3RdPVwicHJpbnRlckxpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbaGVhZGVyVGl0bGVdPVwiJ0NSRUFURV9QVVJDSEFTRV9PUkRFUicgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0U2VuZE1ldGhvZF09XCJkZWZhdWx0U2VuZE1ldGhvZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2aXNpYmxlTWV0aG9kc109XCJbc2VuZE1ldGhvZFR5cGUuUHJpbnRdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtYWlsQWRkcmVzc2VzXT1cImVtYWlsQWRkcmVzc2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtYWlsTGF5b3V0c109XCJlbWFpbExheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNQcmludGVyTGF5b3V0c0VuYWJsZWRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNEb2NTaWduRW5hYmxlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFsocmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3QpXT1cInJlcG9ydERvY3VtZW50RW1haWxSZXF1ZXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhyZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdCldPVwicmVwb3J0RG9jdW1lbnRQcmludFJlcXVlc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbKHJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdCldPVwicmVwb3J0RG9jdW1lbnRQZGZSZXF1ZXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsb3NlQ2xpY2spPVwic2hvd1NlbmRNZXRob2REaWFsb2cgPSBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChva0NsaWNrKT1cImhhbmRsZVNlbmRNZXRob2RPa0NsaWNrKCRldmVudClcIlxyXG4gICAgPjwvY28tc2VuZC1tZXRob2QtZGlhbG9nPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc09yZGVyUHVyY2hhc2VDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvblF1aWNrQWNjZXNzU2VuZE1ldGhvZEJhc2VDb21wb25lbnQge1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtb3JkZXItcHVyY2hhc2VcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0xvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBjYW5HZW5lcmF0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgcmVwb3J0RG9jdW1lbnRFbWFpbFJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QgPSBuZXcgUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCgpO1xyXG4gIHB1YmxpYyByZXBvcnREb2N1bWVudFByaW50UmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCA9IG5ldyBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KCk7XHJcbiAgcHVibGljIHJlcG9ydERvY3VtZW50UGRmUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCA9IG5ldyBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0KCk7XHJcblxyXG4gIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuX3N1YnMucHVzaChcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS50cmFuc2FjdGlvbkxpbmVDaGFuZ2VkLnN1YnNjcmliZSgobGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbykgPT4ge1xyXG4gICAgICAgIHRoaXMuX2NoZWNrUHVyY2hhc2VPcmRlcnMoKTtcclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2VsZWN0QWxsTGluZXModmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2Uuc2VsZWN0QWxsU2FsZXNPcmRlckxpbmVzRm9yUHVyY2hhc2UubmV4dCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlU2VuZChtZXRob2Q6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5zaG93U2VuZE1ldGhvZERpYWxvZyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlU2VuZE1ldGhvZE9rQ2xpY2sobWV0aG9kOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuc2hvd1NlbmRNZXRob2REaWFsb2cgPSBmYWxzZTtcclxuICAgIGF3YWl0IHRoaXMucHJpbnREb2N1bWVudCh0aGlzLnJlcG9ydERvY3VtZW50UHJpbnRSZXF1ZXN0KTtcclxuICAgIHRoaXMuX3NldERlZmF1bHRNZXRob2QobWV0aG9kKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVSZXNlcnZhdGlvbk1vZGVDbGljaygpIHtcclxuICAgIGxldCByZXF1ZXN0OiBPcmRlclJlc2VydmF0aW9uU2FsZXNPcmRlckxpbmVzUmVxdWVzdCA9IG5ldyBPcmRlclJlc2VydmF0aW9uU2FsZXNPcmRlckxpbmVzUmVxdWVzdCgpO1xyXG4gICAgcmVxdWVzdC5zYWxlc09yZGVySWQgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby5pZDtcclxuICAgIGxldCBwdXJjaGFzZVJlc2VydmF0aW9ucyA9IGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFNhbGVzT3JkZXJMaW5lcyhyZXF1ZXN0KTtcclxuXHJcblxyXG4gICAgdGhpcy50cmFuc2FjdGlvbkhlYWRlclNlcnZpY2UucmVzZXJ2YXRpb25Nb2RlID0gIXRoaXMudHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlLnJlc2VydmF0aW9uTW9kZTtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UucmVzZXJ2YXRpb25Nb2RlVG9nZ2xlLm5leHQoW3RoaXMudHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlLnJlc2VydmF0aW9uTW9kZSwgcHVyY2hhc2VSZXNlcnZhdGlvbnNdKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFuc2FjdGlvblNldCgpIHtcclxuICAgIHN1cGVyLnRyYW5zYWN0aW9uU2V0KCk7XHJcbiAgICB0aGlzLl9jaGVja1B1cmNoYXNlT3JkZXJzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jaGVja1B1cmNoYXNlT3JkZXJzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYW5HZW5lcmF0ZSA9IHRoaXMudHJhbnNhY3Rpb25MaW5lcyAmJlxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZXMuZmlsdGVyKGwgPT4gbC5jb21taXNzaW9uQ29kZSA9PT0gXCIwXCIgJiYgKGwuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgbC5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eU9yZGVyZWQgIT09IGwuYW1vdW50KSkubGVuZ3RoID4gMDtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0RW1haWxBZGRyZXNzTGlzdCgpOiBQcm9taXNlPHN0cmluZ1tdPiB7XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0U2VuZE1ldGhvZCgpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgxKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRFbWFpbExheW91dHMoKTogUHJvbWlzZTxSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbFtdPiB7XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRQcmludExheW91dHMoKTogUHJvbWlzZTxSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludFtdPiB7XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBwZGZEb2N1bWVudChyZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0KSB7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZW1haWxEb2N1bWVudChyZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0KSB7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYXN5bmMgcHJpbnREb2N1bWVudChyZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KSB7XHJcbiAgICBjb25zdCBwcmludFB1cmNoYXNlT3JkZXJGb3JTYWxlc09yZGVyUmVxdWVzdDogUHJpbnRQdXJjaGFzZU9yZGVyRm9yU2FsZXNPcmRlclJlcXVlc3QgPVxyXG4gICAgICBPYmplY3QuYXNzaWduKG5ldyBQcmludFB1cmNoYXNlT3JkZXJGb3JTYWxlc09yZGVyUmVxdWVzdCgpLCByZXF1ZXN0KTtcclxuICAgIGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdlbmVyYXRlQW5kU2VuZFB1cmNoYXNlT3JkZXJzRm9yU2FsZXNPcmRlcihwcmludFB1cmNoYXNlT3JkZXJGb3JTYWxlc09yZGVyUmVxdWVzdCwgdGhpcy50cmFuc2FjdGlvbkluZm8udmVyc2lvbik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW9yZGVyLXB1cmNoYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtb3JkZXItcHVyY2hhc2UvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW9yZGVyLXB1cmNoYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQXFCLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzlHLE9BQU8sRUFBQyw2Q0FBNkMsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ3JILE9BQU8sRUFDTCx3Q0FBd0MsRUFDekMsTUFBTSw4RUFBOEUsQ0FBQztBQUN0RixPQUFPLEVBQ0wsd0NBQXdDLEVBQ3pDLE1BQU0sOEVBQThFLENBQUM7QUFDdEYsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFHbEgsT0FBTyxFQUNMLHNDQUFzQyxFQUN2QyxNQUFNLG1GQUFtRixDQUFDO0FBSzNGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ2hILE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDZEQUE2RCxDQUFDO0FBQ3JHLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxrQkFB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QU8sQ0FBQyxDQUFDO1lBQ3ZFLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLDBDQUEwQyxDQUFDLHNDQUFzQyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakosQ0FBQztLQUFBOzs7WUF6SUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw0Q0FBNEM7Z0JBQ3RELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUNUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUEvQ08sd0JBQXdCO1lBUXhCLHdCQUF3QjtZQVh4Qix1QkFBdUI7WUFDdkIsZ0JBQWdCO1lBQ2hCLHFDQUFxQztZQUVyQyx1QkFBdUI7WUFDdkIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQTFCbEIsaUJBQWlCO1lBMkJqQixhQUFhO1lBRW5CLGtDQUFrQzs7O3dCQTRDakMsV0FBVyxTQUFDLGtEQUFrRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVJbmZvfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tbGluZS1pbmZvLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblF1aWNrQWNjZXNzU2VuZE1ldGhvZEJhc2VDb21wb25lbnR9IGZyb20gXCIuLi90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtc2VuZC1tZXRob2QtYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtcclxuICBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0XHJcbn0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1wcmludC1zaWduLWRvYy1iYXNlLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtcclxuICBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0XHJcbn0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1lbWFpbC1zaWduLWRvYy1iYXNlLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0aW5nLWRvY3VtZW50LXBkZi1iYXNlLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLWVtYWlsLmJvXCI7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1wcmludC5ib1wiO1xyXG5pbXBvcnQge1xyXG4gIFByaW50UHVyY2hhc2VPcmRlckZvclNhbGVzT3JkZXJSZXF1ZXN0XHJcbn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wcmludC1wdXJjaGFzZS1vcmRlci1mb3Itc2FsZXMtb3JkZXItcmVxdWVzdFwiO1xyXG5pbXBvcnQge1xyXG4gIE9yZGVyUmVzZXJ2YXRpb25TYWxlc09yZGVyTGluZXNSZXF1ZXN0XHJcbn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9vcmRlci1yZXNlcnZhdGlvbi1zYWxlcy1vcmRlci1saW5lcy1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7UHVyY2hhc2VSZXNlcnZhdGlvbn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wdXJjaGFzZS1yZXNlcnZhdGlvbi5ib1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2NyZWVuLWNvbmZpZ3VyYXRpb24uc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VhcmNoU2VydmljZX0gZnJvbSBcIi4uLy4uL3RyYW5zYWN0aW9uLXNlYXJjaC9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNlYXJjaC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbWFnZVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWltYWdlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7RGlhbG9nU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvZGlhbG9nLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvblNhbGVzUmVzZXJ2YXRpb25TZXJ2aWNlXHJcbn0gZnJvbSBcIi4uLy4uL3RyYW5zYWN0aW9uLXJlc2VydmF0aW9uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2FsZXMtcmVzZXJ2YXRpb24uc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyU2VydmljZX0gZnJvbSBcIi4uLy4uL2NvcmUvYmFzZS9zZXJ2aWNlL3RyYW5zYWN0aW9uLWhlYWRlci5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtb3JkZXItcHVyY2hhc2VcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInF1aWNrLWFjY2Vzcy1jb250ZW50LXdyYXBwZXJcIiAqbmdJZj1cImNhbkdlbmVyYXRlICYmIHRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbkRlZmluaXRpdmVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdC1hbGwtd3JhcHBlclwiPlxyXG4gICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgW2xhYmVsXT1cIidTRUxFQ1RfQUxMX0xJTkVTJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVTZWxlY3RBbGxMaW5lcygkZXZlbnQpXCJcclxuICAgICAgICA+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxjby1xdWljay1zZW5kLWJ1dHRvblxyXG4gICAgICAgIFtzaG93U2VuZE1ldGhvZEljb25dPVwiZmFsc2VcIlxyXG4gICAgICAgIFtzaG93U2VuZE1ldGhvZERpYWxvZ0ljb25dPVwiZmFsc2VcIlxyXG4gICAgICAgIFtzaG93TG9hZGVyXT1cInNob3dMb2FkZXJcIlxyXG4gICAgICAgIChzZW5kSWNvbkNsaWNrZWQpPVwiaGFuZGxlU2VuZChkZWZhdWx0U2VuZE1ldGhvZClcIlxyXG4gICAgICA+PC9jby1xdWljay1zZW5kLWJ1dHRvbj5cclxuXHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiYnV0dG9uXCIgW2NsYXNzLnNlbGVjdGVkXT1cInRyYW5zYWN0aW9uSGVhZGVyU2VydmljZS5yZXNlcnZhdGlvbk1vZGVcIj48Y28taWNvbiAoY2xpY2spPVwiaGFuZGxlUmVzZXJ2YXRpb25Nb2RlQ2xpY2soKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5QYWxsZXRCb3hlc1JvdGF0ZSlcIj48L2NvLWljb24+PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Y28tc2VuZC1tZXRob2QtZGlhbG9nICpuZ0lmPVwic2hvd1NlbmRNZXRob2REaWFsb2dcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcHJpbnRlckxpc3RdPVwicHJpbnRlckxpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbaGVhZGVyVGl0bGVdPVwiJ0NSRUFURV9QVVJDSEFTRV9PUkRFUicgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0U2VuZE1ldGhvZF09XCJkZWZhdWx0U2VuZE1ldGhvZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2aXNpYmxlTWV0aG9kc109XCJbc2VuZE1ldGhvZFR5cGUuUHJpbnRdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtYWlsQWRkcmVzc2VzXT1cImVtYWlsQWRkcmVzc2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtYWlsTGF5b3V0c109XCJlbWFpbExheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNQcmludGVyTGF5b3V0c0VuYWJsZWRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNEb2NTaWduRW5hYmxlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFsocmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3QpXT1cInJlcG9ydERvY3VtZW50RW1haWxSZXF1ZXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhyZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdCldPVwicmVwb3J0RG9jdW1lbnRQcmludFJlcXVlc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbKHJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdCldPVwicmVwb3J0RG9jdW1lbnRQZGZSZXF1ZXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsb3NlQ2xpY2spPVwic2hvd1NlbmRNZXRob2REaWFsb2cgPSBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChva0NsaWNrKT1cImhhbmRsZVNlbmRNZXRob2RPa0NsaWNrKCRldmVudClcIlxyXG4gICAgPjwvY28tc2VuZC1tZXRob2QtZGlhbG9nPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc09yZGVyUHVyY2hhc2VDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvblF1aWNrQWNjZXNzU2VuZE1ldGhvZEJhc2VDb21wb25lbnQge1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtb3JkZXItcHVyY2hhc2VcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FuR2VuZXJhdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHJlcG9ydERvY3VtZW50RW1haWxSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0ID0gbmV3IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QoKTtcclxuICBwdWJsaWMgcmVwb3J0RG9jdW1lbnRQcmludFJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QgPSBuZXcgUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCgpO1xyXG4gIHB1YmxpYyByZXBvcnREb2N1bWVudFBkZlJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QgPSBuZXcgUmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCgpO1xyXG5cclxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3Ioc2VhcmNoU2VydmljZTogVHJhbnNhY3Rpb25TZWFyY2hTZXJ2aWNlLCB0cmFuc2FjdGlvbkhlYWRlclNlcnZpY2U6IFRyYW5zYWN0aW9uSGVhZGVyU2VydmljZSwgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLCBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLCBzY3JlZW5Db25maWdTZXJ2aWNlOiBUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLCBpbWFnZVNlcnZpY2U6IFRyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlLCBkaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLCBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsIHB1YmxpYyBzYWxlc1Jlc2VydmF0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TYWxlc1Jlc2VydmF0aW9uU2VydmljZSkge1xyXG4gICAgc3VwZXIoc2VhcmNoU2VydmljZSwgdHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlLCB0cmFuc2FjdGlvbkV2ZW50U2VydmljZSwgaWNvbkNhY2hlU2VydmljZSwgc2NyZWVuQ29uZmlnU2VydmljZSwgaW1hZ2VTZXJ2aWNlLCBkaWN0aW9uYXJ5U2VydmljZSwgdHJhbnNhY3Rpb25TZXJ2aWNlLCBjaGFuZ2VEZXRlY3RvciwgZGlhbG9nU2VydmljZSk7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uTGluZUNoYW5nZWQuc3Vic2NyaWJlKChsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fY2hlY2tQdXJjaGFzZU9yZGVycygpO1xyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTZWxlY3RBbGxMaW5lcyh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5zZWxlY3RBbGxTYWxlc09yZGVyTGluZXNGb3JQdXJjaGFzZS5uZXh0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVTZW5kKG1ldGhvZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLnNob3dTZW5kTWV0aG9kRGlhbG9nID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVTZW5kTWV0aG9kT2tDbGljayhtZXRob2Q6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5zaG93U2VuZE1ldGhvZERpYWxvZyA9IGZhbHNlO1xyXG4gICAgYXdhaXQgdGhpcy5wcmludERvY3VtZW50KHRoaXMucmVwb3J0RG9jdW1lbnRQcmludFJlcXVlc3QpO1xyXG4gICAgdGhpcy5fc2V0RGVmYXVsdE1ldGhvZChtZXRob2QpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZVJlc2VydmF0aW9uTW9kZUNsaWNrKCkge1xyXG4gICAgaWYodGhpcy50cmFuc2FjdGlvbj8udHJhbnNhY3Rpb25JbmZvPy5pZCkge1xyXG4gICAgICBpZiAoIXRoaXMudHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlLnJlc2VydmF0aW9uTW9kZSkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc2FsZXNSZXNlcnZhdGlvblNlcnZpY2UuZ2V0U2FsZXNPcmRlckxpbmVzKHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmlkKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNhbGVzUmVzZXJ2YXRpb25TZXJ2aWNlLnB1cmNoYXNlUmVzZXJ2YXRpb25zID0gW107XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlLnJlc2VydmF0aW9uTW9kZSA9ICF0aGlzLnRyYW5zYWN0aW9uSGVhZGVyU2VydmljZS5yZXNlcnZhdGlvbk1vZGU7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlLnJlc2VydmF0aW9uU3RhdGVDaGFuZ2UubmV4dCh0aGlzLnRyYW5zYWN0aW9uSGVhZGVyU2VydmljZS5yZXNlcnZhdGlvbk1vZGUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdHJhbnNhY3Rpb25TZXQoKSB7XHJcbiAgICBzdXBlci50cmFuc2FjdGlvblNldCgpO1xyXG4gICAgdGhpcy5fY2hlY2tQdXJjaGFzZU9yZGVycygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2hlY2tQdXJjaGFzZU9yZGVycygpOiB2b2lkIHtcclxuICAgIHRoaXMuY2FuR2VuZXJhdGUgPSB0aGlzLnRyYW5zYWN0aW9uTGluZXMgJiZcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmVzLmZpbHRlcihsID0+IGwuY29tbWlzc2lvbkNvZGUgPT09IFwiMFwiICYmIChsLmFydGljbGVMaW5lU3RhdHVzICYmIGwuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlPcmRlcmVkICE9PSBsLmFtb3VudCkpLmxlbmd0aCA+IDA7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0RGVmYXVsdEVtYWlsQWRkcmVzc0xpc3QoKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xyXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0RGVmYXVsdFNlbmRNZXRob2QoKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoMSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0RW1haWxMYXlvdXRzKCk6IFByb21pc2U8UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWxbXT4ge1xyXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0UHJpbnRMYXlvdXRzKCk6IFByb21pc2U8UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnRbXT4ge1xyXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcGRmRG9jdW1lbnQocmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCkge1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGVtYWlsRG9jdW1lbnQocmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCkge1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGFzeW5jIHByaW50RG9jdW1lbnQocmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCkge1xyXG4gICAgY29uc3QgcHJpbnRQdXJjaGFzZU9yZGVyRm9yU2FsZXNPcmRlclJlcXVlc3Q6IFByaW50UHVyY2hhc2VPcmRlckZvclNhbGVzT3JkZXJSZXF1ZXN0ID1cclxuICAgICAgT2JqZWN0LmFzc2lnbihuZXcgUHJpbnRQdXJjaGFzZU9yZGVyRm9yU2FsZXNPcmRlclJlcXVlc3QoKSwgcmVxdWVzdCk7XHJcbiAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZW5lcmF0ZUFuZFNlbmRQdXJjaGFzZU9yZGVyc0ZvclNhbGVzT3JkZXIocHJpbnRQdXJjaGFzZU9yZGVyRm9yU2FsZXNPcmRlclJlcXVlc3QsIHRoaXMudHJhbnNhY3Rpb25JbmZvLnZlcnNpb24pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -49,7 +49,7 @@ export class TransactionQuickAccessReceivedGoodsComponent extends TransactionQui
49
49
  }
50
50
  handleGlobalLocationChange(location) {
51
51
  this.globalWarehouseLocation = location;
52
- this.transactionService.currentTransaction.transactionLines
52
+ this.transactionLines
53
53
  .filter(l => l.isLocationRequired && l.articleLineStatus.quantityToReceive > 0 && !l.locationNr)
54
54
  .forEach((l) => {
55
55
  l.locationNr = location;
@@ -57,7 +57,7 @@ export class TransactionQuickAccessReceivedGoodsComponent extends TransactionQui
57
57
  });
58
58
  }
59
59
  checkForLocationButtonVisibility() {
60
- const trLines = this.transactionService.currentTransaction.transactionLines;
60
+ const trLines = this.transactionLines;
61
61
  if (trLines.length === 0) {
62
62
  return;
63
63
  }
@@ -110,12 +110,13 @@ TransactionQuickAccessReceivedGoodsComponent.decorators = [
110
110
  [placeholder]="'PACKING_SLIP' | localize"
111
111
  [(model)]="packingSlipNr"
112
112
  ></co-input-text>
113
- <co-transaction-labeled-warehouse-location-button
114
- *ngIf="internalParamMLocat && showWarehouseLocationButton"
113
+ <!--
114
+ <co-transaction-labeled-warehouse-location-button *ngIf="internalParamMLocat && showWarehouseLocationButton"
115
115
  [locationNr]="globalWarehouseLocation"
116
116
  [warehouseNumber]="warehouseNumber"
117
117
  (locationNrChange)="handleGlobalLocationChange($event)"
118
118
  ></co-transaction-labeled-warehouse-location-button>
119
+ -->
119
120
  <co-quick-send-button
120
121
  [showSendMethodIcon]="false"
121
122
  [icon]="icons.CheckDuotone"
@@ -147,4 +148,4 @@ TransactionQuickAccessReceivedGoodsComponent.decorators = [
147
148
  TransactionQuickAccessReceivedGoodsComponent.propDecorators = {
148
149
  showClass: [{ type: HostBinding, args: ["class.co-transaction-quick-access-received-goods",] }]
149
150
  };
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXJlY2VpdmVkLWdvb2RzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MtcmVjZWl2ZWQtZ29vZHMvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXJlY2VpdmVkLWdvb2RzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQXFCLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUMzRixPQUFPLEVBQUMsNkNBQTZDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUdySCxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3pDLE1BQU0sOEVBQThFLENBQUM7QUFDdEYsT0FBTyxFQUNMLHdDQUF3QyxFQUN6QyxNQUFNLDhFQUE4RSxDQUFDO0FBcUR0RixNQUFNLE9BQU8sNENBQTZDLFNBQVEsNkNBQTZDO0lBbEQvRzs7UUFtRGtCLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBRTFDLG1EQUFtRDtRQUM1QywrQkFBMEIsR0FBNkMsSUFBSSx3Q0FBd0MsRUFBRSxDQUFDO1FBQ3RILCtCQUEwQixHQUE2QyxJQUFJLHdDQUF3QyxFQUFFLENBQUM7UUFDdEgsNkJBQXdCLEdBQXNCLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUV0RSx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFDcEMsZUFBVSxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7UUFHOUIsNEJBQXVCLEdBQVcsR0FBRyxDQUFDO1FBQ3RD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LENBQUM7SUFFUyxvQkFBb0I7UUFDNUIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFUyxlQUFlO1FBQ3ZCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRVMsZUFBZTtRQUN2QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFFUyxXQUFXO1FBQ25CLE9BQU87SUFDVCxDQUFDO0lBRVMsYUFBYSxDQUFDLFlBQXNEO1FBQzVFLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQUM7UUFDNUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztJQUN4RCxDQUFDO0lBRVMsYUFBYSxDQUFDLG1CQUE2RDtRQUNuRixPQUFPO0lBQ1QsQ0FBQztJQUVTLGtCQUFrQjtRQUMxQixLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHVCQUF1QixDQUFDO0lBQzdFLENBQUM7OztZQTFKRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDRDQUE0QztnQkFDdEQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Q1Q7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7Ozt3QkFtQkUsV0FBVyxTQUFDLGtEQUFrRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgT25EZXN0cm95LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7UGRmSW52b2ljZVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wZGYtaW52b2ljZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblF1aWNrQWNjZXNzU2VuZE1ldGhvZEJhc2VDb21wb25lbnR9IGZyb20gJy4uL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1zZW5kLW1ldGhvZC1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWx9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLWVtYWlsLmJvJztcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LWxheW91dC1zZWxlY3Rpb24tcHJpbnQuYm8nO1xyXG5pbXBvcnQge1xyXG4gIFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3RcclxufSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtZW1haWwtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtcclxuICBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0XHJcbn0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0aW5nLWRvY3VtZW50LXByaW50LXNpZ24tZG9jLWJhc2UtcmVxdWVzdCc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXRyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1yZWNlaXZlZC1nb29kc1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwicXVpY2stYWNjZXNzLXdyYXBwZXJcIiAqbmdJZj1cIiFoaWRlUXVpY2tBY2Nlc3NDb250ZW50XCI+XHJcbiAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgIGNsYXNzPVwiY2hlY2tib3gtd3JhcHBlclwiXHJcbiAgICAgICAgWyhtb2RlbCldPVwibG9jYWxDaGVja2JveFN0YXRlXCJcclxuICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlU2VsZWN0QWxsTGluZXMoJGV2ZW50KVwiXHJcbiAgICAgID48L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICA8Y28taW5wdXQtZGF0ZVxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInUkVDRUlWRURfREFURScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgWyhtb2RlbCldPVwiY29tbWl0RGF0ZVwiXHJcbiAgICAgID48L2NvLWlucHV0LWRhdGU+XHJcbiAgICAgIDxjby1pbnB1dC10ZXh0XHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidQQUNLSU5HX1NMSVAnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFsobW9kZWwpXT1cInBhY2tpbmdTbGlwTnJcIlxyXG4gICAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICA8Y28tdHJhbnNhY3Rpb24tbGFiZWxlZC13YXJlaG91c2UtbG9jYXRpb24tYnV0dG9uXHJcbiAgICAgICAgKm5nSWY9XCJpbnRlcm5hbFBhcmFtTUxvY2F0ICYmIHNob3dXYXJlaG91c2VMb2NhdGlvbkJ1dHRvblwiXHJcbiAgICAgICAgW2xvY2F0aW9uTnJdPVwiZ2xvYmFsV2FyZWhvdXNlTG9jYXRpb25cIlxyXG4gICAgICAgIFt3YXJlaG91c2VOdW1iZXJdPVwid2FyZWhvdXNlTnVtYmVyXCJcclxuICAgICAgICAobG9jYXRpb25OckNoYW5nZSk9XCJoYW5kbGVHbG9iYWxMb2NhdGlvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGFiZWxlZC13YXJlaG91c2UtbG9jYXRpb24tYnV0dG9uPlxyXG4gICAgICA8Y28tcXVpY2stc2VuZC1idXR0b25cclxuICAgICAgICBbc2hvd1NlbmRNZXRob2RJY29uXT1cImZhbHNlXCJcclxuICAgICAgICBbaWNvbl09XCJpY29ucy5DaGVja0R1b3RvbmVcIlxyXG4gICAgICAgIFtzaG93TG9hZGVyXT1cInRoaXMuc2hvd1Byb2Nlc3NpbmdMb2FkZXJcIlxyXG4gICAgICAgIFt0aXRsZV09XCInUFJPQ0VTUydcIlxyXG4gICAgICAgIChzZW5kSWNvbkNsaWNrZWQpPVwiaGFuZGxlQ29tbWl0RXZlbnQoKVwiXHJcbiAgICAgICAgKG9wZW5TZW5kTWV0aG9kRGlhbG9nKT1cInNob3dTZW5kTWV0aG9kRGlhbG9nID0gdHJ1ZVwiXHJcbiAgICAgID48L2NvLXF1aWNrLXNlbmQtYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Y28tc2VuZC1tZXRob2QtZGlhbG9nICpuZ0lmPVwic2hvd1NlbmRNZXRob2REaWFsb2dcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcHJpbnRlckxpc3RdPVwicHJpbnRlckxpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbaGVhZGVyVGl0bGVdPVwiJ1ByaW50ZXIgZW4gbGF5LW91dCBzZWxlY3RpZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdFNlbmRNZXRob2RdPVwiZGVmYXVsdFNlbmRNZXRob2RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbdmlzaWJsZU1ldGhvZHNdPVwiW3NlbmRNZXRob2RUeXBlLlByaW50XVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbWFpbEFkZHJlc3Nlc109XCJlbWFpbEFkZHJlc3Nlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbWFpbExheW91dHNdPVwiZW1haWxMYXlvdXRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ByaW50TGF5b3V0c109XCJwcmludExheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNEb2NTaWduRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhyZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdCldPVwicmVwb3J0RG9jdW1lbnRFbWFpbFJlcXVlc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbKHJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0KV09XCJyZXBvcnREb2N1bWVudFByaW50UmVxdWVzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFsocmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0KV09XCJyZXBvcnREb2N1bWVudFBkZlJlcXVlc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJzaG93U2VuZE1ldGhvZERpYWxvZyA9IGZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9rQ2xpY2spPVwiaGFuZGxlU2VuZE1ldGhvZE9rQ2xpY2soJGV2ZW50KVwiXHJcbiAgICA+PC9jby1zZW5kLW1ldGhvZC1kaWFsb2c+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvblF1aWNrQWNjZXNzUmVjZWl2ZWRHb29kc0NvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NTZW5kTWV0aG9kQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgLy8gVGhlcmUgYXJlIG5vIHJlcXVlc3Qgb2JqZWN0cyBmb3IgcmVjZWl2aW5nIGdvb2RzXHJcbiAgcHVibGljIHJlcG9ydERvY3VtZW50RW1haWxSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0ID0gbmV3IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QoKTtcclxuICBwdWJsaWMgcmVwb3J0RG9jdW1lbnRQcmludFJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QgPSBuZXcgUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCgpO1xyXG4gIHB1YmxpYyByZXBvcnREb2N1bWVudFBkZlJlcXVlc3Q6IFBkZkludm9pY2VSZXF1ZXN0ID0gbmV3IFBkZkludm9pY2VSZXF1ZXN0KCk7XHJcblxyXG4gIHB1YmxpYyBsb2NhbENoZWNrYm94U3RhdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgY29tbWl0RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgcHVibGljIHBhY2tpbmdTbGlwTnI6IHN0cmluZztcclxuICBwdWJsaWMgaGlkZVF1aWNrQWNjZXNzQ29udGVudDogYm9vbGVhbjtcclxuICBwdWJsaWMgZ2xvYmFsV2FyZWhvdXNlTG9jYXRpb246IHN0cmluZyA9ICctJztcclxuICBwdWJsaWMgaW50ZXJuYWxQYXJhbU1Mb2NhdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93UHJvY2Vzc2luZ0xvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93V2FyZWhvdXNlTG9jYXRpb25CdXR0b246IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyB3YXJlaG91c2VOdW1iZXI6IG51bWJlciA9IDA7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1yZWNlaXZlZC1nb29kc1wiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UucHVyY2hhc2VPcmRlclJlY2VpdmVHb29kc0NvbXBsZXRlZENoYW5nZWQuc3Vic2NyaWJlKChjb21wbGV0ZWQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICB0aGlzLmhpZGVRdWlja0FjY2Vzc0NvbnRlbnQgPSBjb21wbGV0ZWQ7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgdGhpcy5jaGVja0ZvckxvY2F0aW9uQnV0dG9uVmlzaWJpbGl0eSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVDb21taXRFdmVudCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuc2hvd1Byb2Nlc3NpbmdMb2FkZXIgPSB0cnVlO1xyXG4gICAgYXdhaXQgdGhpcy5oYW5kbGVTZW5kKHRoaXMuZGVmYXVsdFNlbmRNZXRob2QpO1xyXG4gICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuaGFuZGxlUmVjZWl2ZVNlbGVjdGVkUHVyY2hhc2VPcmRlcnModGhpcy5jb21taXREYXRlLCB0aGlzLnBhY2tpbmdTbGlwTnIpO1xyXG4gICAgdGhpcy5zaG93UHJvY2Vzc2luZ0xvYWRlciA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNlbGVjdEFsbExpbmVzKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnNlbGVjdEFsbFB1cmNoYXNlT3JkZXJMaW5lc0ZvclJlY2VpdmVHb29kcy5uZXh0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVHbG9iYWxMb2NhdGlvbkNoYW5nZShsb2NhdGlvbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmdsb2JhbFdhcmVob3VzZUxvY2F0aW9uID0gbG9jYXRpb247XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lc1xyXG4gICAgICAuZmlsdGVyKGwgPT4gbC5pc0xvY2F0aW9uUmVxdWlyZWQgJiYgbC5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVRvUmVjZWl2ZSA+IDAgJiYgIWwubG9jYXRpb25OcilcclxuICAgICAgLmZvckVhY2goKGwpID0+IHtcclxuICAgICAgICBsLmxvY2F0aW9uTnIgPSBsb2NhdGlvbjtcclxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uTGluZUNoYW5nZWQubmV4dChsKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hlY2tGb3JMb2NhdGlvbkJ1dHRvblZpc2liaWxpdHkoKSB7XHJcbiAgICBjb25zdCB0ckxpbmVzID0gdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uTGluZXM7XHJcbiAgICBpZiAodHJMaW5lcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZpcnN0V2FyZWhvdXNlTnVtYmVyID0gdHJMaW5lc1swXVsnd2FyZWhvdXNlTnVtYmVyJ107XHJcbiAgICB0aGlzLnNob3dXYXJlaG91c2VMb2NhdGlvbkJ1dHRvbiA9IHRyTGluZXMuZXZlcnkob2JqID0+IG9ialsnd2FyZWhvdXNlTnVtYmVyJ10gPT09IGZpcnN0V2FyZWhvdXNlTnVtYmVyKTtcclxuICAgIHRoaXMud2FyZWhvdXNlTnVtYmVyID0gdGhpcy5zaG93V2FyZWhvdXNlTG9jYXRpb25CdXR0b24gPyBmaXJzdFdhcmVob3VzZU51bWJlciA6IDA7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0RGVmYXVsdEVtYWlsQWRkcmVzc0xpc3QoKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xyXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0RGVmYXVsdFNlbmRNZXRob2QoKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoMSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0RW1haWxMYXlvdXRzKCk6IFByb21pc2U8UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWxbXT4ge1xyXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0UHJpbnRMYXlvdXRzKCk6IFByb21pc2U8UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnRbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFBhY2thZ2VTdGlja2VyUHJpbnRMYXlvdXRzKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcGRmRG9jdW1lbnQoKTogdm9pZCB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcHJpbnREb2N1bWVudChwcmludFJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QpIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25JbmZvLnByaW50ZXJOYW1lID0gcHJpbnRSZXF1ZXN0LnByaW50ZXJOYW1lO1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbkluZm8ucmVwb3J0SWQgPSBwcmludFJlcXVlc3QucmVwb3J0SWQ7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZW1haWxEb2N1bWVudChlbWFpbEludm9pY2VSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0KTogdm9pZCB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25JbmZvU2V0KCkge1xyXG4gICAgc3VwZXIudHJhbnNhY3Rpb25JbmZvU2V0KCk7XHJcbiAgICB0aGlzLmludGVybmFsUGFyYW1NTG9jYXQgPSB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5pbnRlcm5hbFBhcmFtZXRlck1Mb2NhdDtcclxuICB9XHJcbn1cclxuIl19
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXJlY2VpdmVkLWdvb2RzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MtcmVjZWl2ZWQtZ29vZHMvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXJlY2VpdmVkLWdvb2RzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQXFCLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUMzRixPQUFPLEVBQUMsNkNBQTZDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUdySCxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3pDLE1BQU0sOEVBQThFLENBQUM7QUFDdEYsT0FBTyxFQUNMLHdDQUF3QyxFQUN6QyxNQUFNLDhFQUE4RSxDQUFDO0FBc0R0RixNQUFNLE9BQU8sNENBQTZDLFNBQVEsNkNBQTZDO0lBbkQvRzs7UUFvRGtCLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBTzFDLG1EQUFtRDtRQUM1QywrQkFBMEIsR0FBNkMsSUFBSSx3Q0FBd0MsRUFBRSxDQUFDO1FBQ3RILCtCQUEwQixHQUE2QyxJQUFJLHdDQUF3QyxFQUFFLENBQUM7UUFDdEgsNkJBQXdCLEdBQXNCLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUV0RSx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFDcEMsZUFBVSxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7UUFHOUIsNEJBQXVCLEdBQVcsR0FBRyxDQUFDO1FBQ3RDLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQUNyQyx5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFDdEMsZ0NBQTJCLEdBQVksSUFBSSxDQUFDO1FBQzVDLG9CQUFlLEdBQVcsQ0FBQyxDQUFDO1FBRTNCLFVBQUssR0FBbUIsRUFBRSxDQUFDO0lBa0ZyQyxDQUFDO0lBckdRLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFtQk0sUUFBUTtRQUNiLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDYixJQUFJLENBQUMsdUJBQXVCLENBQUMseUNBQXlDLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBa0IsRUFBRSxFQUFFO1lBQ3RHLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxTQUFTLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNGLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUN6QyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVZLGlCQUFpQjs7WUFDNUIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztZQUNqQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDOUMsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsbUNBQW1DLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDdkcsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztRQUNwQyxDQUFDO0tBQUE7SUFFTSxvQkFBb0IsQ0FBQyxLQUFjO1FBQ3hDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQywwQ0FBMEMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVNLDBCQUEwQixDQUFDLFFBQWdCO1FBQ2hELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxRQUFRLENBQUM7UUFDeEMsSUFBSSxDQUFDLGdCQUFnQjthQUNsQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLElBQUksQ0FBQyxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7YUFDL0YsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDYixDQUFDLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztZQUN4QixJQUFJLENBQUMsdUJBQXVCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLGdDQUFnQztRQUNyQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDdEMsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN4QixPQUFPO1NBQ1I7UUFFRCxNQUFNLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQywyQkFBMkIsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEtBQUssb0JBQW9CLENBQUMsQ0FBQztRQUN6RyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRVMsMEJBQTBCO1FBQ2xDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRVMsb0JBQW9CO1FBQzVCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRVMsZUFBZTtRQUN2QixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVTLGVBQWU7UUFDdkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRVMsV0FBVztRQUNuQixPQUFPO0lBQ1QsQ0FBQztJQUVTLGFBQWEsQ0FBQyxZQUFzRDtRQUM1RSxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDO1FBQzVELElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUM7SUFDeEQsQ0FBQztJQUVTLGFBQWEsQ0FBQyxtQkFBNkQ7UUFDbkYsT0FBTztJQUNULENBQUM7SUFFUyxrQkFBa0I7UUFDMUIsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQztJQUM3RSxDQUFDOzs7WUEzSkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw0Q0FBNEM7Z0JBQ3RELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThDVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O3dCQUlFLFdBQVcsU0FBQyxrREFBa0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge1BkZkludm9pY2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGRmLWludm9pY2UtcmVxdWVzdCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25RdWlja0FjY2Vzc1NlbmRNZXRob2RCYXNlQ29tcG9uZW50fSBmcm9tICcuLi90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtc2VuZC1tZXRob2QtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1JlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1lbWFpbC5ibyc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLXByaW50LmJvJztcclxuaW1wb3J0IHtcclxuICBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0XHJcbn0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0aW5nLWRvY3VtZW50LWVtYWlsLXNpZ24tZG9jLWJhc2UtcmVxdWVzdCc7XHJcbmltcG9ydCB7XHJcbiAgUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdFxyXG59IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1wcmludC1zaWduLWRvYy1iYXNlLXJlcXVlc3QnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MtcmVjZWl2ZWQtZ29vZHNcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInF1aWNrLWFjY2Vzcy13cmFwcGVyXCIgKm5nSWY9XCIhaGlkZVF1aWNrQWNjZXNzQ29udGVudFwiPlxyXG4gICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICBjbGFzcz1cImNoZWNrYm94LXdyYXBwZXJcIlxyXG4gICAgICAgIFsobW9kZWwpXT1cImxvY2FsQ2hlY2tib3hTdGF0ZVwiXHJcbiAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZVNlbGVjdEFsbExpbmVzKCRldmVudClcIlxyXG4gICAgICA+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgPGNvLWlucHV0LWRhdGVcclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1JFQ0VJVkVEX0RBVEUnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFsobW9kZWwpXT1cImNvbW1pdERhdGVcIlxyXG4gICAgICA+PC9jby1pbnB1dC1kYXRlPlxyXG4gICAgICA8Y28taW5wdXQtdGV4dFxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInUEFDS0lOR19TTElQJyB8IGxvY2FsaXplXCJcclxuICAgICAgICBbKG1vZGVsKV09XCJwYWNraW5nU2xpcE5yXCJcclxuICAgICAgPjwvY28taW5wdXQtdGV4dD5cclxuPCEtLVxyXG4gICAgICA8Y28tdHJhbnNhY3Rpb24tbGFiZWxlZC13YXJlaG91c2UtbG9jYXRpb24tYnV0dG9uICpuZ0lmPVwiaW50ZXJuYWxQYXJhbU1Mb2NhdCAmJiBzaG93V2FyZWhvdXNlTG9jYXRpb25CdXR0b25cIlxyXG4gICAgICAgIFtsb2NhdGlvbk5yXT1cImdsb2JhbFdhcmVob3VzZUxvY2F0aW9uXCJcclxuICAgICAgICBbd2FyZWhvdXNlTnVtYmVyXT1cIndhcmVob3VzZU51bWJlclwiXHJcbiAgICAgICAgKGxvY2F0aW9uTnJDaGFuZ2UpPVwiaGFuZGxlR2xvYmFsTG9jYXRpb25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxhYmVsZWQtd2FyZWhvdXNlLWxvY2F0aW9uLWJ1dHRvbj5cclxuLS0+XHJcbiAgICAgIDxjby1xdWljay1zZW5kLWJ1dHRvblxyXG4gICAgICAgIFtzaG93U2VuZE1ldGhvZEljb25dPVwiZmFsc2VcIlxyXG4gICAgICAgIFtpY29uXT1cImljb25zLkNoZWNrRHVvdG9uZVwiXHJcbiAgICAgICAgW3Nob3dMb2FkZXJdPVwidGhpcy5zaG93UHJvY2Vzc2luZ0xvYWRlclwiXHJcbiAgICAgICAgW3RpdGxlXT1cIidQUk9DRVNTJ1wiXHJcbiAgICAgICAgKHNlbmRJY29uQ2xpY2tlZCk9XCJoYW5kbGVDb21taXRFdmVudCgpXCJcclxuICAgICAgICAob3BlblNlbmRNZXRob2REaWFsb2cpPVwic2hvd1NlbmRNZXRob2REaWFsb2cgPSB0cnVlXCJcclxuICAgICAgPjwvY28tcXVpY2stc2VuZC1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxjby1zZW5kLW1ldGhvZC1kaWFsb2cgKm5nSWY9XCJzaG93U2VuZE1ldGhvZERpYWxvZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcmludGVyTGlzdF09XCJwcmludGVyTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoZWFkZXJUaXRsZV09XCInUHJpbnRlciBlbiBsYXktb3V0IHNlbGVjdGllJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0U2VuZE1ldGhvZF09XCJkZWZhdWx0U2VuZE1ldGhvZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2aXNpYmxlTWV0aG9kc109XCJbc2VuZE1ldGhvZFR5cGUuUHJpbnRdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtYWlsQWRkcmVzc2VzXT1cImVtYWlsQWRkcmVzc2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtYWlsTGF5b3V0c109XCJlbWFpbExheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcHJpbnRMYXlvdXRzXT1cInByaW50TGF5b3V0c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc0RvY1NpZ25FbmFibGVkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbKHJlcG9ydGluZ0RvY3VtZW50RW1haWxSZXF1ZXN0KV09XCJyZXBvcnREb2N1bWVudEVtYWlsUmVxdWVzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFsocmVwb3J0aW5nRG9jdW1lbnRQcmludFJlcXVlc3QpXT1cInJlcG9ydERvY3VtZW50UHJpbnRSZXF1ZXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhyZXBvcnRpbmdEb2N1bWVudFBkZlJlcXVlc3QpXT1cInJlcG9ydERvY3VtZW50UGRmUmVxdWVzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbG9zZUNsaWNrKT1cInNob3dTZW5kTWV0aG9kRGlhbG9nID0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAob2tDbGljayk9XCJoYW5kbGVTZW5kTWV0aG9kT2tDbGljaygkZXZlbnQpXCJcclxuICAgID48L2NvLXNlbmQtbWV0aG9kLWRpYWxvZz5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NSZWNlaXZlZEdvb2RzQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1NlbmRNZXRob2RCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MtcmVjZWl2ZWQtZ29vZHNcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICAvLyBUaGVyZSBhcmUgbm8gcmVxdWVzdCBvYmplY3RzIGZvciByZWNlaXZpbmcgZ29vZHNcclxuICBwdWJsaWMgcmVwb3J0RG9jdW1lbnRFbWFpbFJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QgPSBuZXcgUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCgpO1xyXG4gIHB1YmxpYyByZXBvcnREb2N1bWVudFByaW50UmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCA9IG5ldyBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KCk7XHJcbiAgcHVibGljIHJlcG9ydERvY3VtZW50UGRmUmVxdWVzdDogUGRmSW52b2ljZVJlcXVlc3QgPSBuZXcgUGRmSW52b2ljZVJlcXVlc3QoKTtcclxuXHJcbiAgcHVibGljIGxvY2FsQ2hlY2tib3hTdGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBjb21taXREYXRlOiBEYXRlID0gbmV3IERhdGUoKTtcclxuICBwdWJsaWMgcGFja2luZ1NsaXBOcjogc3RyaW5nO1xyXG4gIHB1YmxpYyBoaWRlUXVpY2tBY2Nlc3NDb250ZW50OiBib29sZWFuO1xyXG4gIHB1YmxpYyBnbG9iYWxXYXJlaG91c2VMb2NhdGlvbjogc3RyaW5nID0gJy0nO1xyXG4gIHB1YmxpYyBpbnRlcm5hbFBhcmFtTUxvY2F0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dQcm9jZXNzaW5nTG9hZGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dXYXJlaG91c2VMb2NhdGlvbkJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHdhcmVob3VzZU51bWJlcjogbnVtYmVyID0gMDtcclxuXHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuX3N1YnMucHVzaChcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5wdXJjaGFzZU9yZGVyUmVjZWl2ZUdvb2RzQ29tcGxldGVkQ2hhbmdlZC5zdWJzY3JpYmUoKGNvbXBsZXRlZDogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIHRoaXMuaGlkZVF1aWNrQWNjZXNzQ29udGVudCA9IGNvbXBsZXRlZDtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB0aGlzLmNoZWNrRm9yTG9jYXRpb25CdXR0b25WaXNpYmlsaXR5KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZUNvbW1pdEV2ZW50KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5zaG93UHJvY2Vzc2luZ0xvYWRlciA9IHRydWU7XHJcbiAgICBhd2FpdCB0aGlzLmhhbmRsZVNlbmQodGhpcy5kZWZhdWx0U2VuZE1ldGhvZCk7XHJcbiAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5oYW5kbGVSZWNlaXZlU2VsZWN0ZWRQdXJjaGFzZU9yZGVycyh0aGlzLmNvbW1pdERhdGUsIHRoaXMucGFja2luZ1NsaXBOcik7XHJcbiAgICB0aGlzLnNob3dQcm9jZXNzaW5nTG9hZGVyID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2VsZWN0QWxsTGluZXModmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2Uuc2VsZWN0QWxsUHVyY2hhc2VPcmRlckxpbmVzRm9yUmVjZWl2ZUdvb2RzLm5leHQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUdsb2JhbExvY2F0aW9uQ2hhbmdlKGxvY2F0aW9uOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2xvYmFsV2FyZWhvdXNlTG9jYXRpb24gPSBsb2NhdGlvbjtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lc1xyXG4gICAgICAuZmlsdGVyKGwgPT4gbC5pc0xvY2F0aW9uUmVxdWlyZWQgJiYgbC5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVRvUmVjZWl2ZSA+IDAgJiYgIWwubG9jYXRpb25OcilcclxuICAgICAgLmZvckVhY2goKGwpID0+IHtcclxuICAgICAgICBsLmxvY2F0aW9uTnIgPSBsb2NhdGlvbjtcclxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uTGluZUNoYW5nZWQubmV4dChsKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hlY2tGb3JMb2NhdGlvbkJ1dHRvblZpc2liaWxpdHkoKSB7XHJcbiAgICBjb25zdCB0ckxpbmVzID0gdGhpcy50cmFuc2FjdGlvbkxpbmVzO1xyXG4gICAgaWYgKHRyTGluZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBmaXJzdFdhcmVob3VzZU51bWJlciA9IHRyTGluZXNbMF1bJ3dhcmVob3VzZU51bWJlciddO1xyXG4gICAgdGhpcy5zaG93V2FyZWhvdXNlTG9jYXRpb25CdXR0b24gPSB0ckxpbmVzLmV2ZXJ5KG9iaiA9PiBvYmpbJ3dhcmVob3VzZU51bWJlciddID09PSBmaXJzdFdhcmVob3VzZU51bWJlcik7XHJcbiAgICB0aGlzLndhcmVob3VzZU51bWJlciA9IHRoaXMuc2hvd1dhcmVob3VzZUxvY2F0aW9uQnV0dG9uID8gZmlyc3RXYXJlaG91c2VOdW1iZXIgOiAwO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldERlZmF1bHRFbWFpbEFkZHJlc3NMaXN0KCk6IFByb21pc2U8c3RyaW5nW10+IHtcclxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldERlZmF1bHRTZW5kTWV0aG9kKCk6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKDEpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldEVtYWlsTGF5b3V0cygpOiBQcm9taXNlPFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsW10+IHtcclxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldFByaW50TGF5b3V0cygpOiBQcm9taXNlPFJlcG9ydExheW91dFNlbGVjdGlvblByaW50W10+IHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRQYWNrYWdlU3RpY2tlclByaW50TGF5b3V0cygpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHBkZkRvY3VtZW50KCk6IHZvaWQge1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHByaW50RG9jdW1lbnQocHJpbnRSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KSB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uSW5mby5wcmludGVyTmFtZSA9IHByaW50UmVxdWVzdC5wcmludGVyTmFtZTtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25JbmZvLnJlcG9ydElkID0gcHJpbnRSZXF1ZXN0LnJlcG9ydElkO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGVtYWlsRG9jdW1lbnQoZW1haWxJbnZvaWNlUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCk6IHZvaWQge1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uSW5mb1NldCgpIHtcclxuICAgIHN1cGVyLnRyYW5zYWN0aW9uSW5mb1NldCgpO1xyXG4gICAgdGhpcy5pbnRlcm5hbFBhcmFtTUxvY2F0ID0gdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuaW50ZXJuYWxQYXJhbWV0ZXJNTG9jYXQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -39,7 +39,6 @@ export class TransactionQuickAccessSendMethodBaseComponent extends TransactionHe
39
39
  this.emailAddresses = [];
40
40
  this.showSendMethodDialog = false;
41
41
  this.sendMethods = sendMethodsWithIcon;
42
- this.showLoader = false;
43
42
  this.historicReports = [];
44
43
  }
45
44
  ngOnInit() {
@@ -181,4 +180,4 @@ TransactionQuickAccessSendMethodBaseComponent.ctorParameters = () => [
181
180
  { type: ChangeDetectorRef },
182
181
  { type: DialogService }
183
182
  ];
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNlbmQtbWV0aG9kLWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1zZW5kLW1ldGhvZC1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUduRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUUzRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFFbEYsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBSWxGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUdoRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDN0csT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFD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Q2pCLGtCQUFrQjtZQXRCbEIsaUJBQWlCO1lBZ0JqQixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1JlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1lbWFpbC5ibyc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLXByaW50LmJvJztcclxuaW1wb3J0IHtDb21tdW5pY2F0aW9uVHlwZX0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL2VudW0vY29tbXVuaWNhdGlvbi10eXBlLmVudW0nO1xyXG5pbXBvcnQge0NvbnRhY3RPcHRpb259IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9jb250YWN0LW9wdGlvbi5ibyc7XHJcbmltcG9ydCB7c2VuZE1ldGhvZHNXaXRoSWNvbn0gZnJvbSAnQGNvbGlqbml0L3NoYXJlZGNvbXBvbmVudHMnO1xyXG5pbXBvcnQge1NlbmRNZXRob2RUeXBlfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL3NlbmQtbWV0aG9kLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7UmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0aW5nLWRvY3VtZW50LXBkZi1iYXNlLXJlcXVlc3QnO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0gZnJvbSAnLi4vLi4vZW51bS90cmFuc2FjdGlvbi10eXBlLWNhdGVnb3J5LmVudW0nO1xyXG5pbXBvcnQge1ByaW50ZXJ9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3ByaW50ZXIuYm8nO1xyXG5pbXBvcnQge1JlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1lbWFpbC1zaWduLWRvYy1iYXNlLXJlcXVlc3QnO1xyXG5pbXBvcnQge1JlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1wcmludC1zaWduLWRvYy1iYXNlLXJlcXVlc3QnO1xyXG5pbXBvcnQge0xheW91dENvZGV9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL2xheW91dC1jb2RlLmVudW0nO1xyXG5pbXBvcnQge0hpc3RvcmljUmVwb3J0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvaGlzdG9yaWMtcmVwb3J0LmJvJztcclxuaW1wb3J0IHtEaWFsb2dSZXNwb25zZUludGVyZmFjZX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlL2RpYWxvZy1yZXNwb25zZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge0RpYWxvZ1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWltYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0FwcFBvcHVwQnV0dG9uVHlwZX0gZnJvbSAnLi4vY29yZS9lbnVtL2FwcC1wb3B1cC1idXR0b24tdHlwZS5lbnVtJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclNlcnZpY2V9IGZyb20gJy4uL2NvcmUvYmFzZS9zZXJ2aWNlL3RyYW5zYWN0aW9uLWhlYWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVTZXJ2aWNlfSBmcm9tICcuLi9jb3JlL2Jhc2Uvc2VydmljZS90cmFuc2FjdGlvbi1saW5lLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUJhc2VDb21wb25lbnR9IGZyb20gJy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1saW5lLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlYXJjaFNlcnZpY2V9IGZyb20gJy4uL3RyYW5zYWN0aW9uLXNlYXJjaC9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNlYXJjaC5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlckJhc2VDb21wb25lbnR9IGZyb20gJy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1oZWFkZXItYmFzZS5jb21wb25lbnQnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUcmFuc2FjdGlvblF1aWNrQWNjZXNzU2VuZE1ldGhvZEJhc2VDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkhlYWRlckJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gIHB1YmxpYyByZWFkb25seSBzZW5kTWV0aG9kVHlwZTogdHlwZW9mIFNlbmRNZXRob2RUeXBlID0gU2VuZE1ldGhvZFR5cGU7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5OiB0eXBlb2YgVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkgPSBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeTtcclxuXHJcbiAgcHVibGljIHByaW50ZXJMaXN0OiBQcmludGVyW10gPSBbXTtcclxuICBwdWJsaWMgZW1haWxMYXlvdXRzOiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbFtdID0gW107XHJcbiAgcHVibGljIHByaW50TGF5b3V0czogUmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnRbXSA9IFtdO1xyXG4gIHB1YmxpYyBkZWZhdWx0U2VuZE1ldGhvZDogc3RyaW5nO1xyXG4gIHB1YmxpYyBkZWZhdWx0U2VuZE1ldGhvZEljb246IHN0cmluZztcclxuICBwdWJsaWMgZW1haWxBZGRyZXNzZXM6IHN0cmluZ1tdID0gW107XHJcbiAgcHVibGljIHNob3dTZW5kTWV0aG9kRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNlbmRNZXRob2RzID0gc2VuZE1ldGhvZHNXaXRoSWNvbjtcclxuICBwdWJsaWMgc2hvd0xvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaWduYXR1cmVEb2N1bWVudElkOiBudW1iZXI7XHJcbiAgcHVibGljIGhpc3RvcmljUmVwb3J0czogSGlzdG9yaWNSZXBvcnRbXSA9IFtdO1xyXG5cclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVwb3J0RG9jdW1lbnRFbWFpbFJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3Q7XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHJlcG9ydERvY3VtZW50UHJpbnRSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCByZXBvcnREb2N1bWVudFBkZlJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3Q7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHNlYXJjaFNlcnZpY2U6IFRyYW5zYWN0aW9uU2VhcmNoU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkhlYWRlclNlcnZpY2U6IFRyYW5zYWN0aW9uSGVhZGVyU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkV2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHB1YmxpYyBzY3JlZW5Db25maWdTZXJ2aWNlOiBUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGltYWdlU2VydmljZTogVHJhbnNhY3Rpb25JbWFnZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByb3RlY3RlZCBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcih0cmFuc2FjdGlvbkhlYWRlclNlcnZpY2UsIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLCBpY29uQ2FjaGVTZXJ2aWNlLCBzY3JlZW5Db25maWdTZXJ2aWNlLCBpbWFnZVNlcnZpY2UsIGRpY3Rpb25hcnlTZXJ2aWNlLCB0cmFuc2FjdGlvblNlcnZpY2UsIGNoYW5nZURldGVjdG9yKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuX2dldFByaW50ZXJzKCk7XHJcbiAgICB0aGlzLl9nZXREZWZhdWx0U2VuZE1ldGhvZCgpO1xyXG4gICAgdGhpcy5fZ2V0RW1haWxMYXlvdXRzKCk7XHJcbiAgICB0aGlzLl9nZXRQcmludExheW91dHMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFuc2FjdGlvblNldCgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVwb3J0RG9jdW1lbnRFbWFpbFJlcXVlc3QudHJhbnNJZCA9IHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkO1xyXG4gICAgdGhpcy5yZXBvcnREb2N1bWVudFByaW50UmVxdWVzdC50cmFuc0lkID0gdGhpcy50cmFuc2FjdGlvbkluZm8uaWQ7XHJcbiAgICB0aGlzLnJlcG9ydERvY3VtZW50UGRmUmVxdWVzdC50cmFuc0lkID0gdGhpcy50cmFuc2FjdGlvbkluZm8uaWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVsYXRpb25TZXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVtYWlsQWRkcmVzc2VzLmxlbmd0aCA9IDA7XHJcbiAgICBjb25zdCBlbWFpbENvbnRhY3RPcHRpb25zOiBDb250YWN0T3B0aW9uW10gPSB0aGlzLnRyYW5zYWN0aW9uSGVhZGVyU2VydmljZS5yZWxhdGlvbi5jb250YWN0T3B0aW9ucy5maWx0ZXIoY28gPT4gY28udHlwZSA9PT0gQ29tbXVuaWNhdGlvblR5cGUuRW1haWwpO1xyXG4gICAgY29uc3QgZGVmYXVsdEVtYWlsQ29udGFjdE9wdGlvbjogQ29udGFjdE9wdGlvbiA9IGVtYWlsQ29udGFjdE9wdGlvbnMuZmluZChjbyA9PiBjby5sb3dlc3RTZXF1ZW5jZSk7XHJcbiAgICB0aGlzLmVtYWlsQWRkcmVzc2VzID0gZW1haWxDb250YWN0T3B0aW9ucy5tYXAoZSA9PiBlLnZhbHVlKTtcclxuICAgIHRoaXMuZ2V0RGVmYXVsdEVtYWlsQWRkcmVzc0xpc3QoKS50aGVuKChhZGRyZXNzZXM6IHN0cmluZ1tdKSA9PiB7XHJcbiAgICAgIGlmIChhZGRyZXNzZXMgJiYgYWRkcmVzc2VzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICB0aGlzLnJlcG9ydERvY3VtZW50RW1haWxSZXF1ZXN0LnRvQWRkcmVzc2VzID0gYWRkcmVzc2VzLmpvaW4oJzsnKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnJlcG9ydERvY3VtZW50RW1haWxSZXF1ZXN0LnRvQWRkcmVzc2VzID0gZGVmYXVsdEVtYWlsQ29udGFjdE9wdGlvbiA/IGRlZmF1bHRFbWFpbENvbnRhY3RPcHRpb24udmFsdWUgOiAnJztcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0SGlzdG9yaWNEb2N1bWVudHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRIaXN0b3JpY0RvY3VtZW50cyh0aGlzLnRyYW5zYWN0aW9uSW5mby5pZCwgTGF5b3V0Q29kZS5PcmRlckNvbmZpcm1hdGlvbilcclxuICAgICAgLnRoZW4oKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgIHRoaXMuaGlzdG9yaWNSZXBvcnRzID0gcmVzdWx0O1xyXG4gICAgICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVTZW5kTWV0aG9kT2tDbGljayhtZXRob2Q6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuaGlzdG9yaWNSZXBvcnRzLmxlbmd0aCA+IDAgJiYgKG1ldGhvZCA9PT0gU2VuZE1ldGhvZFR5cGUuRW1haWwgfHwgbWV0aG9kID09PSBTZW5kTWV0aG9kVHlwZS5QZGYpKSB7XHJcbiAgICAgIGNvbnN0IHJlc3BvbnNlOiBEaWFsb2dSZXNwb25zZUludGVyZmFjZSA9IGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5zaG93WWVzTm8oJ1FVRVNUSU9OJywgJ1FVRVNUSU9OX0RPQ1VNRU5UX0FMUkVBRFlfUFJJTlRFRCcpO1xyXG4gICAgICBpZiAocmVzcG9uc2UuYnV0dG9uID09PSBBcHBQb3B1cEJ1dHRvblR5cGUuWWVzKSB7XHJcbiAgICAgICAgdGhpcy5zaG93U2VuZE1ldGhvZERpYWxvZyA9IGZhbHNlO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuaGFuZGxlU2VuZChtZXRob2QpO1xyXG4gICAgICAgIHRoaXMuX3NldERlZmF1bHRNZXRob2QobWV0aG9kKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zaG93U2VuZE1ldGhvZERpYWxvZyA9IGZhbHNlO1xyXG4gICAgICBhd2FpdCB0aGlzLmhhbmRsZVNlbmQobWV0aG9kKTtcclxuICAgICAgdGhpcy5fc2V0RGVmYXVsdE1ldGhvZChtZXRob2QpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZVNlbmQobWV0aG9kOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuc2hvd0xvYWRlciA9IHRydWU7XHJcbiAgICBzd2l0Y2ggKG1ldGhvZCkge1xyXG4gICAgICBjYXNlIFNlbmRNZXRob2RUeXBlLlByaW50OlxyXG4gICAgICAgIGF3YWl0IHRoaXMucHJpbnREb2N1bWVudCh0aGlzLnJlcG9ydERvY3VtZW50UHJpbnRSZXF1ZXN0KTtcclxuICAgICAgICB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBTZW5kTWV0aG9kVHlwZS5FbWFpbDpcclxuICAgICAgICBhd2FpdCB0aGlzLmVtYWlsRG9jdW1lbnQodGhpcy5yZXBvcnREb2N1bWVudEVtYWlsUmVxdWVzdCk7XHJcbiAgICAgICAgdGhpcy5zaG93TG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgU2VuZE1ldGhvZFR5cGUuUGRmOlxyXG4gICAgICAgIGF3YWl0IHRoaXMucGRmRG9jdW1lbnQodGhpcy5yZXBvcnREb2N1bWVudFBkZlJlcXVlc3QpO1xyXG4gICAgICAgIHRoaXMuc2hvd0xvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLmdldEhpc3RvcmljRG9jdW1lbnRzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY29tbWl0QW5kUmVmcmVzaFRyYW5zYWN0aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuY29tbWl0QW5kUmVmcmVzaFRyYW5zYWN0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcHJpbnREb2N1bWVudChyZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KTtcclxuXHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGVtYWlsRG9jdW1lbnQocmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCk7XHJcblxyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBwZGZEb2N1bWVudChyZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0KTtcclxuXHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldEVtYWlsTGF5b3V0cygpOiBQcm9taXNlPFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsW10+O1xyXG5cclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0UHJpbnRMYXlvdXRzKCk6IFByb21pc2U8UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnRbXT47XHJcblxyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXREZWZhdWx0RW1haWxBZGRyZXNzTGlzdCgpOiBQcm9taXNlPHN0cmluZ1tdPjtcclxuXHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldERlZmF1bHRTZW5kTWV0aG9kKCk6IFByb21pc2U8bnVtYmVyPjtcclxuXHJcbiAgcHJpdmF0ZSBfZ2V0UHJpbnRlcnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRQcmludGVycygpLnRoZW4oKHByaW50ZXJMaXN0OiBQcmludGVyW10pID0+IHtcclxuICAgICAgdGhpcy5wcmludGVyTGlzdCA9IHByaW50ZXJMaXN0O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXREZWZhdWx0U2VuZE1ldGhvZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0RGVmYXVsdFNlbmRNZXRob2QoKS50aGVuKChtZXRob2Q6IG51bWJlcikgPT4ge1xyXG4gICAgICBpZiAobWV0aG9kICE9PSBudWxsICYmIG1ldGhvZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0RGVmYXVsdE1ldGhvZChtZXRob2QudG9TdHJpbmcoKSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9zZXREZWZhdWx0TWV0aG9kKG1ldGhvZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBzZW5kTWV0aG9kID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IG1ldGhvZCk7XHJcbiAgICBpZiAoc2VuZE1ldGhvZCkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRTZW5kTWV0aG9kID0gc2VuZE1ldGhvZC5jb2RlO1xyXG4gICAgICB0aGlzLmRlZmF1bHRTZW5kTWV0aG9kSWNvbiA9IHNlbmRNZXRob2QuaWNvbjtcclxuICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRFbWFpbExheW91dHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldEVtYWlsTGF5b3V0cygpLnRoZW4oKGxheW91dHM6IFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsW10pID0+IHtcclxuICAgICAgdGhpcy5lbWFpbExheW91dHMgPSBsYXlvdXRzO1xyXG4gICAgICBpZiAodGhpcy5lbWFpbExheW91dHMgJiYgdGhpcy5lbWFpbExheW91dHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGNvbnN0IGRlZmF1bHRMYXlvdXQ6IFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsID0gdGhpcy5lbWFpbExheW91dHMuZmluZChlID0+IGUuaXNEZWZhdWx0KTtcclxuICAgICAgICBpZiAoZGVmYXVsdExheW91dCkge1xyXG4gICAgICAgICAgdGhpcy5yZXBvcnREb2N1bWVudEVtYWlsUmVxdWVzdC5yZXBvcnRJZCA9IGRlZmF1bHRMYXlvdXQucmVwb3J0SWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldFByaW50TGF5b3V0cygpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0UHJpbnRMYXlvdXRzKCkudGhlbigobGF5b3V0czogUmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnRbXSkgPT4ge1xyXG4gICAgICB0aGlzLnByaW50TGF5b3V0cyA9IGxheW91dHM7XHJcbiAgICAgIGlmICh0aGlzLnByaW50TGF5b3V0cyAmJiB0aGlzLnByaW50TGF5b3V0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgY29uc3QgZGVmYXVsdExheW91dDogUmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnQgPSB0aGlzLnByaW50TGF5b3V0cy5maW5kKHAgPT4gcC5pc0RlZmF1bHQpO1xyXG4gICAgICAgIGlmIChkZWZhdWx0TGF5b3V0KSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5yZXBvcnREb2N1bWVudFByaW50UmVxdWVzdCkge1xyXG4gICAgICAgICAgICB0aGlzLnJlcG9ydERvY3VtZW50UHJpbnRSZXF1ZXN0LnJlcG9ydElkID0gZGVmYXVsdExheW91dC5yZXBvcnRJZDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0aGlzLnJlcG9ydERvY3VtZW50UGRmUmVxdWVzdCkge1xyXG4gICAgICAgICAgICB0aGlzLnJlcG9ydERvY3VtZW50UGRmUmVxdWVzdC5yZXBvcnRJZCA9IGRlZmF1bHRMYXlvdXQucmVwb3J0SWQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNlbmQtbWV0aG9kLWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1zZW5kLW1ldGhvZC1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFHOUUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMERBQTBELENBQUM7QUFFM0YsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBRWxGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUlsRixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFHaEYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQzdHLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FB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WUFnQmpCLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LWxheW91dC1zZWxlY3Rpb24tZW1haWwuYm8nO1xyXG5pbXBvcnQge1JlcG9ydExheW91dFNlbGVjdGlvblByaW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1wcmludC5ibyc7XHJcbmltcG9ydCB7Q29tbXVuaWNhdGlvblR5cGV9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9lbnVtL2NvbW11bmljYXRpb24tdHlwZS5lbnVtJztcclxuaW1wb3J0IHtDb250YWN0T3B0aW9ufSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvY29udGFjdC1vcHRpb24uYm8nO1xyXG5pbXBvcnQge3NlbmRNZXRob2RzV2l0aEljb259IGZyb20gJ0Bjb2xpam5pdC9zaGFyZWRjb21wb25lbnRzJztcclxuaW1wb3J0IHtTZW5kTWV0aG9kVHlwZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9zZW5kLW1ldGhvZC10eXBlLmVudW0nO1xyXG5pbXBvcnQge1JlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1wZGYtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9IGZyb20gJy4uLy4uL2VudW0vdHJhbnNhY3Rpb24tdHlwZS1jYXRlZ29yeS5lbnVtJztcclxuaW1wb3J0IHtQcmludGVyfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9wcmludGVyLmJvJztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtZW1haWwtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtcHJpbnQtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtMYXlvdXRDb2RlfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9sYXlvdXQtY29kZS5lbnVtJztcclxuaW1wb3J0IHtIaXN0b3JpY1JlcG9ydH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2hpc3RvcmljLXJlcG9ydC5ibyc7XHJcbmltcG9ydCB7RGlhbG9nUmVzcG9uc2VJbnRlcmZhY2V9IGZyb20gJy4uLy4uL2ludGVyZmFjZS9kaWFsb2ctcmVzcG9uc2UuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtEaWFsb2dTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2RpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1zY3JlZW4tY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkltYWdlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1pbWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtBcHBQb3B1cEJ1dHRvblR5cGV9IGZyb20gJy4uL2NvcmUvZW51bS9hcHAtcG9wdXAtYnV0dG9uLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlfSBmcm9tICcuLi9jb3JlL2Jhc2Uvc2VydmljZS90cmFuc2FjdGlvbi1oZWFkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lU2VydmljZX0gZnJvbSAnLi4vY29yZS9iYXNlL3NlcnZpY2UvdHJhbnNhY3Rpb24tbGluZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVCYXNlQ29tcG9uZW50fSBmcm9tICcuLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tbGluZS1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZWFyY2hTZXJ2aWNlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1zZWFyY2gvc2VydmljZS90cmFuc2FjdGlvbi1zZWFyY2guc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJCYXNlQ29tcG9uZW50fSBmcm9tICcuLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24taGVhZGVyLWJhc2UuY29tcG9uZW50JztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1NlbmRNZXRob2RCYXNlQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25IZWFkZXJCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuICBwdWJsaWMgcmVhZG9ubHkgc2VuZE1ldGhvZFR5cGU6IHR5cGVvZiBTZW5kTWV0aG9kVHlwZSA9IFNlbmRNZXRob2RUeXBlO1xyXG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2FjdGlvblR5cGVDYXRlZ29yeTogdHlwZW9mIFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5ID0gVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnk7XHJcblxyXG4gIHB1YmxpYyBwcmludGVyTGlzdDogUHJpbnRlcltdID0gW107XHJcbiAgcHVibGljIGVtYWlsTGF5b3V0czogUmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBwcmludExheW91dHM6IFJlcG9ydExheW91dFNlbGVjdGlvblByaW50W10gPSBbXTtcclxuICBwdWJsaWMgZGVmYXVsdFNlbmRNZXRob2Q6IHN0cmluZztcclxuICBwdWJsaWMgZGVmYXVsdFNlbmRNZXRob2RJY29uOiBzdHJpbmc7XHJcbiAgcHVibGljIGVtYWlsQWRkcmVzc2VzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHB1YmxpYyBzaG93U2VuZE1ldGhvZERpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzZW5kTWV0aG9kcyA9IHNlbmRNZXRob2RzV2l0aEljb247XHJcbiAgcHVibGljIHNpZ25hdHVyZURvY3VtZW50SWQ6IG51bWJlcjtcclxuICBwdWJsaWMgaGlzdG9yaWNSZXBvcnRzOiBIaXN0b3JpY1JlcG9ydFtdID0gW107XHJcblxyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCByZXBvcnREb2N1bWVudEVtYWlsUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdDtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVwb3J0RG9jdW1lbnRQcmludFJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Q7XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHJlcG9ydERvY3VtZW50UGRmUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgc2VhcmNoU2VydmljZTogVHJhbnNhY3Rpb25TZWFyY2hTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uSGVhZGVyU2VydmljZTogVHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHNjcmVlbkNvbmZpZ1NlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgaW1hZ2VTZXJ2aWNlOiBUcmFuc2FjdGlvbkltYWdlU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBkaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJvdGVjdGVkIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKHRyYW5zYWN0aW9uSGVhZGVyU2VydmljZSwgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsIGljb25DYWNoZVNlcnZpY2UsIHNjcmVlbkNvbmZpZ1NlcnZpY2UsIGltYWdlU2VydmljZSwgZGljdGlvbmFyeVNlcnZpY2UsIHRyYW5zYWN0aW9uU2VydmljZSwgY2hhbmdlRGV0ZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5fZ2V0UHJpbnRlcnMoKTtcclxuICAgIHRoaXMuX2dldERlZmF1bHRTZW5kTWV0aG9kKCk7XHJcbiAgICB0aGlzLl9nZXRFbWFpbExheW91dHMoKTtcclxuICAgIHRoaXMuX2dldFByaW50TGF5b3V0cygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uU2V0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXBvcnREb2N1bWVudEVtYWlsUmVxdWVzdC50cmFuc0lkID0gdGhpcy50cmFuc2FjdGlvbkluZm8uaWQ7XHJcbiAgICB0aGlzLnJlcG9ydERvY3VtZW50UHJpbnRSZXF1ZXN0LnRyYW5zSWQgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby5pZDtcclxuICAgIHRoaXMucmVwb3J0RG9jdW1lbnRQZGZSZXF1ZXN0LnRyYW5zSWQgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby5pZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWxhdGlvblNldCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZW1haWxBZGRyZXNzZXMubGVuZ3RoID0gMDtcclxuICAgIGNvbnN0IGVtYWlsQ29udGFjdE9wdGlvbnM6IENvbnRhY3RPcHRpb25bXSA9IHRoaXMudHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlLnJlbGF0aW9uLmNvbnRhY3RPcHRpb25zLmZpbHRlcihjbyA9PiBjby50eXBlID09PSBDb21tdW5pY2F0aW9uVHlwZS5FbWFpbCk7XHJcbiAgICBjb25zdCBkZWZhdWx0RW1haWxDb250YWN0T3B0aW9uOiBDb250YWN0T3B0aW9uID0gZW1haWxDb250YWN0T3B0aW9ucy5maW5kKGNvID0+IGNvLmxvd2VzdFNlcXVlbmNlKTtcclxuICAgIHRoaXMuZW1haWxBZGRyZXNzZXMgPSBlbWFpbENvbnRhY3RPcHRpb25zLm1hcChlID0+IGUudmFsdWUpO1xyXG4gICAgdGhpcy5nZXREZWZhdWx0RW1haWxBZGRyZXNzTGlzdCgpLnRoZW4oKGFkZHJlc3Nlczogc3RyaW5nW10pID0+IHtcclxuICAgICAgaWYgKGFkZHJlc3NlcyAmJiBhZGRyZXNzZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMucmVwb3J0RG9jdW1lbnRFbWFpbFJlcXVlc3QudG9BZGRyZXNzZXMgPSBhZGRyZXNzZXMuam9pbignOycpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucmVwb3J0RG9jdW1lbnRFbWFpbFJlcXVlc3QudG9BZGRyZXNzZXMgPSBkZWZhdWx0RW1haWxDb250YWN0T3B0aW9uID8gZGVmYXVsdEVtYWlsQ29udGFjdE9wdGlvbi52YWx1ZSA6ICcnO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRIaXN0b3JpY0RvY3VtZW50cygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldEhpc3RvcmljRG9jdW1lbnRzKHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkLCBMYXlvdXRDb2RlLk9yZGVyQ29uZmlybWF0aW9uKVxyXG4gICAgICAudGhlbigocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgdGhpcy5oaXN0b3JpY1JlcG9ydHMgPSByZXN1bHQ7XHJcbiAgICAgICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZVNlbmRNZXRob2RPa0NsaWNrKG1ldGhvZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5oaXN0b3JpY1JlcG9ydHMubGVuZ3RoID4gMCAmJiAobWV0aG9kID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbCB8fCBtZXRob2QgPT09IFNlbmRNZXRob2RUeXBlLlBkZikpIHtcclxuICAgICAgY29uc3QgcmVzcG9uc2U6IERpYWxvZ1Jlc3BvbnNlSW50ZXJmYWNlID0gYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLnNob3dZZXNObygnUVVFU1RJT04nLCAnUVVFU1RJT05fRE9DVU1FTlRfQUxSRUFEWV9QUklOVEVEJyk7XHJcbiAgICAgIGlmIChyZXNwb25zZS5idXR0b24gPT09IEFwcFBvcHVwQnV0dG9uVHlwZS5ZZXMpIHtcclxuICAgICAgICB0aGlzLnNob3dTZW5kTWV0aG9kRGlhbG9nID0gZmFsc2U7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5oYW5kbGVTZW5kKG1ldGhvZCk7XHJcbiAgICAgICAgdGhpcy5fc2V0RGVmYXVsdE1ldGhvZChtZXRob2QpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dTZW5kTWV0aG9kRGlhbG9nID0gZmFsc2U7XHJcbiAgICAgIGF3YWl0IHRoaXMuaGFuZGxlU2VuZChtZXRob2QpO1xyXG4gICAgICB0aGlzLl9zZXREZWZhdWx0TWV0aG9kKG1ldGhvZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlU2VuZChtZXRob2Q6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5zaG93TG9hZGVyID0gdHJ1ZTtcclxuICAgIHN3aXRjaCAobWV0aG9kKSB7XHJcbiAgICAgIGNhc2UgU2VuZE1ldGhvZFR5cGUuUHJpbnQ6XHJcbiAgICAgICAgYXdhaXQgdGhpcy5wcmludERvY3VtZW50KHRoaXMucmVwb3J0RG9jdW1lbnRQcmludFJlcXVlc3QpO1xyXG4gICAgICAgIHRoaXMuc2hvd0xvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFNlbmRNZXRob2RUeXBlLkVtYWlsOlxyXG4gICAgICAgIGF3YWl0IHRoaXMuZW1haWxEb2N1bWVudCh0aGlzLnJlcG9ydERvY3VtZW50RW1haWxSZXF1ZXN0KTtcclxuICAgICAgICB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBTZW5kTWV0aG9kVHlwZS5QZGY6XHJcbiAgICAgICAgYXdhaXQgdGhpcy5wZGZEb2N1bWVudCh0aGlzLnJlcG9ydERvY3VtZW50UGRmUmVxdWVzdCk7XHJcbiAgICAgICAgdGhpcy5zaG93TG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICAgIHRoaXMuZ2V0SGlzdG9yaWNEb2N1bWVudHMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb21taXRBbmRSZWZyZXNoVHJhbnNhY3Rpb24oKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5jb21taXRBbmRSZWZyZXNoVHJhbnNhY3Rpb24oKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBwcmludERvY3VtZW50KHJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QpO1xyXG5cclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZW1haWxEb2N1bWVudChyZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0KTtcclxuXHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHBkZkRvY3VtZW50KHJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QpO1xyXG5cclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0RW1haWxMYXlvdXRzKCk6IFByb21pc2U8UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWxbXT47XHJcblxyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRQcmludExheW91dHMoKTogUHJvbWlzZTxSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludFtdPjtcclxuXHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldERlZmF1bHRFbWFpbEFkZHJlc3NMaXN0KCk6IFByb21pc2U8c3RyaW5nW10+O1xyXG5cclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0RGVmYXVsdFNlbmRNZXRob2QoKTogUHJvbWlzZTxudW1iZXI+O1xyXG5cclxuICBwcml2YXRlIF9nZXRQcmludGVycygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFByaW50ZXJzKCkudGhlbigocHJpbnRlckxpc3Q6IFByaW50ZXJbXSkgPT4ge1xyXG4gICAgICB0aGlzLnByaW50ZXJMaXN0ID0gcHJpbnRlckxpc3Q7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldERlZmF1bHRTZW5kTWV0aG9kKCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXREZWZhdWx0U2VuZE1ldGhvZCgpLnRoZW4oKG1ldGhvZDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGlmIChtZXRob2QgIT09IG51bGwgJiYgbWV0aG9kICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLl9zZXREZWZhdWx0TWV0aG9kKG1ldGhvZC50b1N0cmluZygpKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX3NldERlZmF1bHRNZXRob2QobWV0aG9kOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IHNlbmRNZXRob2QgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gbWV0aG9kKTtcclxuICAgIGlmIChzZW5kTWV0aG9kKSB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdFNlbmRNZXRob2QgPSBzZW5kTWV0aG9kLmNvZGU7XHJcbiAgICAgIHRoaXMuZGVmYXVsdFNlbmRNZXRob2RJY29uID0gc2VuZE1ldGhvZC5pY29uO1xyXG4gICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldEVtYWlsTGF5b3V0cygpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0RW1haWxMYXlvdXRzKCkudGhlbigobGF5b3V0czogUmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWxbXSkgPT4ge1xyXG4gICAgICB0aGlzLmVtYWlsTGF5b3V0cyA9IGxheW91dHM7XHJcbiAgICAgIGlmICh0aGlzLmVtYWlsTGF5b3V0cyAmJiB0aGlzLmVtYWlsTGF5b3V0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgY29uc3QgZGVmYXVsdExheW91dDogUmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWwgPSB0aGlzLmVtYWlsTGF5b3V0cy5maW5kKGUgPT4gZS5pc0RlZmF1bHQpO1xyXG4gICAgICAgIGlmIChkZWZhdWx0TGF5b3V0KSB7XHJcbiAgICAgICAgICB0aGlzLnJlcG9ydERvY3VtZW50RW1haWxSZXF1ZXN0LnJlcG9ydElkID0gZGVmYXVsdExheW91dC5yZXBvcnRJZDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0UHJpbnRMYXlvdXRzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXRQcmludExheW91dHMoKS50aGVuKChsYXlvdXRzOiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludFtdKSA9PiB7XHJcbiAgICAgIHRoaXMucHJpbnRMYXlvdXRzID0gbGF5b3V0cztcclxuICAgICAgaWYgKHRoaXMucHJpbnRMYXlvdXRzICYmIHRoaXMucHJpbnRMYXlvdXRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBjb25zdCBkZWZhdWx0TGF5b3V0OiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludCA9IHRoaXMucHJpbnRMYXlvdXRzLmZpbmQocCA9PiBwLmlzRGVmYXVsdCk7XHJcbiAgICAgICAgaWYgKGRlZmF1bHRMYXlvdXQpIHtcclxuICAgICAgICAgIGlmICh0aGlzLnJlcG9ydERvY3VtZW50UHJpbnRSZXF1ZXN0KSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVwb3J0RG9jdW1lbnRQcmludFJlcXVlc3QucmVwb3J0SWQgPSBkZWZhdWx0TGF5b3V0LnJlcG9ydElkO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRoaXMucmVwb3J0RG9jdW1lbnRQZGZSZXF1ZXN0KSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVwb3J0RG9jdW1lbnRQZGZSZXF1ZXN0LnJlcG9ydElkID0gZGVmYXVsdExheW91dC5yZXBvcnRJZDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -0,0 +1,84 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { OrderReservationSalesOrderLinesRequest } from "@colijnit/transactionapi/build/model/order-reservation-sales-order-lines-request.bo";
4
+ import { TransactionService } from "../../../service/transaction.service";
5
+ import { ProcessOrderReservationRequest } from "@colijnit/transactionapi/build/model/process-order-reservation-request.bo";
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../../service/transaction.service";
8
+ export class TransactionSalesReservationService {
9
+ constructor(_transaction) {
10
+ this._transaction = _transaction;
11
+ this.lineNr = 0;
12
+ this.salesReservationLines = [];
13
+ }
14
+ getSalesOrderLines(salesOrderId) {
15
+ return __awaiter(this, void 0, void 0, function* () {
16
+ if (salesOrderId) {
17
+ this.purchaseReservations = yield this._transaction.getSalesOrderLines(this.makeGetSalesOrderLinesRequest(salesOrderId));
18
+ }
19
+ });
20
+ }
21
+ makeGetSalesOrderLinesRequest(salesOrderId, purchaseTransactionOrder, correctionAllowed, correctionMode, supplierNo) {
22
+ let request = new OrderReservationSalesOrderLinesRequest();
23
+ request.salesOrderId = salesOrderId;
24
+ request.purchaseTransactionOrder = purchaseTransactionOrder;
25
+ request.correctionAllowed = correctionAllowed;
26
+ request.correctionMode = correctionMode;
27
+ request.supplierNo = supplierNo;
28
+ return request;
29
+ }
30
+ reservationAvailable(salesOrderId, lineNr) {
31
+ if (salesOrderId && lineNr) {
32
+ let reservation = this.purchaseReservations.find((reservation) => reservation.salesOrderId === salesOrderId);
33
+ if (reservation) {
34
+ let line = reservation.salesOrderLines.find((line) => line.lineNr === lineNr);
35
+ return !!line;
36
+ }
37
+ else {
38
+ return false;
39
+ }
40
+ }
41
+ else {
42
+ return false;
43
+ }
44
+ }
45
+ processReservation(reservationLines) {
46
+ var _a;
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ let request = new ProcessOrderReservationRequest();
49
+ request.transId = this._transaction.currentTransaction.transactionInfo.id;
50
+ request.lineId = this.lineNr;
51
+ request.reservationLines = reservationLines;
52
+ let response = yield this._transaction.processReservation(request);
53
+ if ((_a = response === null || response === void 0 ? void 0 : response.transactionInfo) === null || _a === void 0 ? void 0 : _a.id) {
54
+ this._transaction.currentTransaction = response;
55
+ yield this._transaction.saveTransaction(true);
56
+ yield this._transaction.commit();
57
+ if (this._transaction.currentTransaction.transactionInfo.id) {
58
+ yield this._transaction.getTransactionById(this._transaction.currentTransaction.transactionInfo.id);
59
+ }
60
+ yield this.getSalesOrderLines(request.transId);
61
+ this.resetLineData();
62
+ return true;
63
+ }
64
+ else {
65
+ return false;
66
+ }
67
+ });
68
+ }
69
+ resetLineData() {
70
+ this.salesReservationLines = [];
71
+ this.salesReservationLines = [];
72
+ this.lineNr = undefined;
73
+ }
74
+ }
75
+ TransactionSalesReservationService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TransactionSalesReservationService_Factory() { return new TransactionSalesReservationService(i0.ɵɵinject(i1.TransactionService)); }, token: TransactionSalesReservationService, providedIn: "root" });
76
+ TransactionSalesReservationService.decorators = [
77
+ { type: Injectable, args: [{
78
+ providedIn: "root"
79
+ },] }
80
+ ];
81
+ TransactionSalesReservationService.ctorParameters = () => [
82
+ { type: TransactionService }
83
+ ];
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tc2FsZXMtcmVzZXJ2YXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXJlc2VydmF0aW9uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2FsZXMtcmVzZXJ2YXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFrQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUF5QjFFLE9BQU8sRUFDTCxzQ0FBc0MsRUFDdkMsTUFBTSxxRkFBcUYsQ0FBQztBQUU3RixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUd4RSxPQUFPLEVBQ0wsOEJBQThCLEVBQy9CLE1BQU0sMkVBQTJFLENBQUM7OztBQUtuRixNQUFNLE9BQU8sa0NBQWtDO0lBUTdDLFlBQ1UsWUFBZ0M7UUFBaEMsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBTm5DLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFDbkIsMEJBQXFCLEdBQW1DLEVBQUUsQ0FBQztJQU0vRCxDQUFDO0lBR1Msa0JBQWtCLENBQUMsWUFBcUI7O1lBQ25ELElBQUcsWUFBWSxFQUFFO2dCQUNmLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7YUFDMUg7UUFDSCxDQUFDO0tBQUE7SUFDTSw2QkFBNkIsQ0FBQyxZQUFvQixFQUFFLHdCQUFpQyxFQUFFLGlCQUEyQixFQUFFLGNBQXdCLEVBQUUsVUFBbUI7UUFDdEssSUFBSSxPQUFPLEdBQTJDLElBQUksc0NBQXNDLEVBQUUsQ0FBQztRQUVuRyxPQUFPLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNwQyxPQUFPLENBQUMsd0JBQXdCLEdBQUcsd0JBQXdCLENBQUM7UUFDNUQsT0FBTyxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO1FBQzlDLE9BQU8sQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBRWhDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxZQUFvQixFQUFFLE1BQWM7UUFDOUQsSUFBRyxZQUFZLElBQUksTUFBTSxFQUFFO1lBQ3pCLElBQUksV0FBVyxHQUF3QixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFFLENBQUMsV0FBZ0MsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFlBQVksS0FBSyxZQUFZLENBQUMsQ0FBQztZQUN4SixJQUFHLFdBQVcsRUFBRTtnQkFDZCxJQUFJLElBQUksR0FBaUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUUsQ0FBQyxJQUFrQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxDQUFDO2dCQUMzSSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUM7YUFDZjtpQkFBTTtnQkFDTCxPQUFPLEtBQUssQ0FBQzthQUNkO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0lBRVksa0JBQWtCLENBQUMsZ0JBQW1EOzs7WUFDakYsSUFBSSxPQUFPLEdBQW1DLElBQUksOEJBQThCLEVBQUUsQ0FBQztZQUNuRixPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUMxRSxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDN0IsT0FBTyxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO1lBQzVDLElBQUksUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuRSxJQUFJLE1BQUEsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLGVBQWUsMENBQUUsRUFBRSxFQUFFO2dCQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixHQUFHLFFBQVEsQ0FBQztnQkFDaEQsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDOUMsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNqQyxJQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRTtvQkFDMUQsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUNyRztnQkFDRCxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDckIsT0FBTyxJQUFJLENBQUM7YUFDYjtpQkFBTTtnQkFDTCxPQUFPLEtBQUssQ0FBQzthQUNkOztLQUNGO0lBRU0sYUFBYTtRQUNsQixJQUFJLENBQUMscUJBQXFCLEdBQUcsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDMUIsQ0FBQzs7OztZQXhFRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQVRPLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1jb25uZWN0b3Iuc2VydmljZVwiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5UGxhbm5pbmdDYWxlbmRhck1vZGVzfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy1jYWxlbmRhci1tb2Rlcy5lbnVtXCI7XHJcbmltcG9ydCB7Q2FsZW5kYXJWaWV3fSBmcm9tICdAY29saWpuaXQvc2hhcmVkY29tcG9uZW50cyc7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ1ZpZXdNb2Rlc30gZnJvbSBcIi4uLy4uLy4uL2VudW0vZGVsaXZlcnktcGxhbm5pbmctdmlldy1tb2Rlcy5lbnVtXCI7XHJcbmltcG9ydCB7UGxhbm5pbmd9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmcuYm9cIjtcclxuaW1wb3J0IHtTZXF1ZW5jZU5hbWV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9zZXF1ZW5jZS1uYW1lLmVudW1cIjtcclxuaW1wb3J0IHtQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXl9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmctdHJhbnNwb3J0LXdlZWstZGF5LmJvXCI7XHJcbmltcG9ydCB7R2V0VHJhbnNwb3J0T3JkZXJzUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9nZXQtdHJhbnNwb3J0LW9yZGVycy1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7UGxhbm5pbmdUcmFuc3BvcnRXZWVrfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW5uaW5nLXRyYW5zcG9ydC13ZWVrLmJvXCI7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ01vZGVzfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy1tb2Rlcy5lbnVtXCI7XHJcbmltcG9ydCB7UGxhbk9yZGVyfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXIuYm9cIjtcclxuaW1wb3J0IHtPcmRlckxpbmVzUGxhbm5lZFJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb3JkZXItbGluZXMtcGxhbm5lZC1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7UGxhbm5pbmdGaWx0ZXJPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmctZmlsdGVyLW9iamVjdC5ib1wiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5TWV0aG9kfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RlbGl2ZXJ5LW1ldGhvZC5ib1wiO1xyXG5pbXBvcnQge0Rpc3RyaWN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2Rpc3RyaWN0LmJvXCI7XHJcbmltcG9ydCB7U2tpbGx9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvc2tpbGwuYm9cIjtcclxuaW1wb3J0IHtSZWxhdGlvbkxpc3RPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tbGlzdC1vYmplY3QuYm9cIjtcclxuaW1wb3J0IHtVc2VyR3JvdXB9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdXNlci1ncm91cC5ib1wiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5UGxhbm5pbmdUaWxlTW9kZXN9IGZyb20gXCIuLi8uLi8uLi9lbnVtL2RlbGl2ZXJ5LXBsYW5uaW5nLXRpbGUtbW9kZXMuZW51bVwiO1xyXG5pbXBvcnQge1BsYW5PcmRlckxpbmV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbi1vcmRlci1saW5lLmJvXCI7XHJcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0fSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge1xyXG4gIFB1cmNoYXNlUmVzZXJ2YXRpb25QdXJjaGFzZUxpbmVcclxufSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3B1cmNoYXNlLXJlc2VydmF0aW9uLXB1cmNoYXNlLWxpbmUuYm9cIjtcclxuaW1wb3J0IHtcclxuICBPcmRlclJlc2VydmF0aW9uU2FsZXNPcmRlckxpbmVzUmVxdWVzdFxyXG59IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb3JkZXItcmVzZXJ2YXRpb24tc2FsZXMtb3JkZXItbGluZXMtcmVxdWVzdC5ib1wiO1xyXG5pbXBvcnQge1B1cmNoYXNlUmVzZXJ2YXRpb259IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHVyY2hhc2UtcmVzZXJ2YXRpb24uYm9cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZVwiO1xyXG5pbXBvcnQge1B1cmNoYXNlUmVzZXJ2YXRpb25TYWxlc0xpbmV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHVyY2hhc2UtcmVzZXJ2YXRpb24tc2FsZXMtbGluZS5ib1wiO1xyXG5pbXBvcnQge1xyXG4gIFByb2Nlc3NPcmRlclJlc2VydmF0aW9uUmVxdWVzdFxyXG59IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHJvY2Vzcy1vcmRlci1yZXNlcnZhdGlvbi1yZXF1ZXN0LmJvXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uU2FsZXNSZXNlcnZhdGlvblNlcnZpY2Uge1xyXG5cclxuXHJcbiAgcHVibGljIGxpbmVOcjogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgc2FsZXNSZXNlcnZhdGlvbkxpbmVzOiBQdXJjaGFzZVJlc2VydmF0aW9uU2FsZXNMaW5lW10gPSBbXTtcclxuICBwdWJsaWMgcHVyY2hhc2VSZXNlcnZhdGlvbnM6IFB1cmNoYXNlUmVzZXJ2YXRpb25bXTtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICApIHt9XHJcblxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U2FsZXNPcmRlckxpbmVzKHNhbGVzT3JkZXJJZCA6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYoc2FsZXNPcmRlcklkKSB7XHJcbiAgICAgIHRoaXMucHVyY2hhc2VSZXNlcnZhdGlvbnMgPSBhd2FpdCB0aGlzLl90cmFuc2FjdGlvbi5nZXRTYWxlc09yZGVyTGluZXModGhpcy5tYWtlR2V0U2FsZXNPcmRlckxpbmVzUmVxdWVzdChzYWxlc09yZGVySWQpKTtcclxuICAgIH1cclxuICB9XHJcbiAgcHVibGljIG1ha2VHZXRTYWxlc09yZGVyTGluZXNSZXF1ZXN0KHNhbGVzT3JkZXJJZDogbnVtYmVyLCBwdXJjaGFzZVRyYW5zYWN0aW9uT3JkZXI/OiBudW1iZXIsIGNvcnJlY3Rpb25BbGxvd2VkPzogYm9vbGVhbiwgY29ycmVjdGlvbk1vZGU/OiBib29sZWFuLCBzdXBwbGllck5vPzogbnVtYmVyKTogT3JkZXJSZXNlcnZhdGlvblNhbGVzT3JkZXJMaW5lc1JlcXVlc3Qge1xyXG4gICAgbGV0IHJlcXVlc3Q6IE9yZGVyUmVzZXJ2YXRpb25TYWxlc09yZGVyTGluZXNSZXF1ZXN0ID0gbmV3IE9yZGVyUmVzZXJ2YXRpb25TYWxlc09yZGVyTGluZXNSZXF1ZXN0KCk7XHJcblxyXG4gICAgcmVxdWVzdC5zYWxlc09yZGVySWQgPSBzYWxlc09yZGVySWQ7XHJcbiAgICByZXF1ZXN0LnB1cmNoYXNlVHJhbnNhY3Rpb25PcmRlciA9IHB1cmNoYXNlVHJhbnNhY3Rpb25PcmRlcjtcclxuICAgIHJlcXVlc3QuY29ycmVjdGlvbkFsbG93ZWQgPSBjb3JyZWN0aW9uQWxsb3dlZDtcclxuICAgIHJlcXVlc3QuY29ycmVjdGlvbk1vZGUgPSBjb3JyZWN0aW9uTW9kZTtcclxuICAgIHJlcXVlc3Quc3VwcGxpZXJObyA9IHN1cHBsaWVyTm87XHJcblxyXG4gICAgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVzZXJ2YXRpb25BdmFpbGFibGUoc2FsZXNPcmRlcklkOiBudW1iZXIsIGxpbmVOcjogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICBpZihzYWxlc09yZGVySWQgJiYgbGluZU5yKSB7XHJcbiAgICAgIGxldCByZXNlcnZhdGlvbjogUHVyY2hhc2VSZXNlcnZhdGlvbiA9IHRoaXMucHVyY2hhc2VSZXNlcnZhdGlvbnMuZmluZCggKHJlc2VydmF0aW9uOiBQdXJjaGFzZVJlc2VydmF0aW9uKSA9PiByZXNlcnZhdGlvbi5zYWxlc09yZGVySWQgPT09IHNhbGVzT3JkZXJJZCk7XHJcbiAgICAgIGlmKHJlc2VydmF0aW9uKSB7XHJcbiAgICAgICAgbGV0IGxpbmU6IFB1cmNoYXNlUmVzZXJ2YXRpb25TYWxlc0xpbmUgPSByZXNlcnZhdGlvbi5zYWxlc09yZGVyTGluZXMuZmluZCggKGxpbmU6IFB1cmNoYXNlUmVzZXJ2YXRpb25TYWxlc0xpbmUpID0+IGxpbmUubGluZU5yID09PSBsaW5lTnIpO1xyXG4gICAgICAgIHJldHVybiAhIWxpbmU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcHJvY2Vzc1Jlc2VydmF0aW9uKHJlc2VydmF0aW9uTGluZXM6IFB1cmNoYXNlUmVzZXJ2YXRpb25QdXJjaGFzZUxpbmVbXSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgbGV0IHJlcXVlc3Q6IFByb2Nlc3NPcmRlclJlc2VydmF0aW9uUmVxdWVzdCA9IG5ldyBQcm9jZXNzT3JkZXJSZXNlcnZhdGlvblJlcXVlc3QoKTtcclxuICAgIHJlcXVlc3QudHJhbnNJZCA9IHRoaXMuX3RyYW5zYWN0aW9uLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8uaWQ7XHJcbiAgICByZXF1ZXN0LmxpbmVJZCA9IHRoaXMubGluZU5yO1xyXG4gICAgcmVxdWVzdC5yZXNlcnZhdGlvbkxpbmVzID0gcmVzZXJ2YXRpb25MaW5lcztcclxuICAgIGxldCByZXNwb25zZSA9IGF3YWl0IHRoaXMuX3RyYW5zYWN0aW9uLnByb2Nlc3NSZXNlcnZhdGlvbihyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZT8udHJhbnNhY3Rpb25JbmZvPy5pZCkge1xyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbi5jdXJyZW50VHJhbnNhY3Rpb24gPSByZXNwb25zZTtcclxuICAgICAgYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb24uc2F2ZVRyYW5zYWN0aW9uKHRydWUpO1xyXG4gICAgICBhd2FpdCB0aGlzLl90cmFuc2FjdGlvbi5jb21taXQoKTtcclxuICAgICAgaWYodGhpcy5fdHJhbnNhY3Rpb24uY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5pZCkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuX3RyYW5zYWN0aW9uLmdldFRyYW5zYWN0aW9uQnlJZCh0aGlzLl90cmFuc2FjdGlvbi5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmlkKTtcclxuICAgICAgfVxyXG4gICAgICBhd2FpdCB0aGlzLmdldFNhbGVzT3JkZXJMaW5lcyhyZXF1ZXN0LnRyYW5zSWQpO1xyXG4gICAgICB0aGlzLnJlc2V0TGluZURhdGEoKTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVzZXRMaW5lRGF0YSgpIHtcclxuICAgIHRoaXMuc2FsZXNSZXNlcnZhdGlvbkxpbmVzID0gW107XHJcbiAgICB0aGlzLnNhbGVzUmVzZXJ2YXRpb25MaW5lcyA9IFtdO1xyXG4gICAgdGhpcy5saW5lTnIgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuXHJcbiJdfQ==
@@ -0,0 +1,86 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Component, HostBinding, Input, ViewEncapsulation } from "@angular/core";
3
+ import { IconCacheService } from "../../../service/icon-cache.service";
4
+ import { Icon } from "../../../enum/icon.enum";
5
+ import { TransactionSalesReservationService } from "../service/transaction-sales-reservation.service";
6
+ import { TransactionHeaderService } from "../../core/base/service/transaction-header.service";
7
+ import { TransactionService } from "../../../service/transaction.service";
8
+ export class TransactionSalesReservationPopupComponent {
9
+ constructor(iconCacheService, salesReservationService, _transactionService, _transactionHeaderService) {
10
+ this.iconCacheService = iconCacheService;
11
+ this.salesReservationService = salesReservationService;
12
+ this._transactionService = _transactionService;
13
+ this._transactionHeaderService = _transactionHeaderService;
14
+ this.icons = Icon;
15
+ this.reservationOrderLines = [];
16
+ }
17
+ showClass() {
18
+ return true;
19
+ }
20
+ ngOnInit() {
21
+ this.reservationOrderLines = this.salesReservationService.salesReservationLines[0].reservationOrderLines;
22
+ }
23
+ handleClosePopup() {
24
+ this.reservationOrderLines = [];
25
+ this.salesReservationService.resetLineData();
26
+ this._transactionHeaderService.reservationPopupToggle.next(false);
27
+ }
28
+ processReservation() {
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ let response = yield this.salesReservationService.processReservation([...this.reservationOrderLines.filter(line => line.selected)]);
31
+ if (response) {
32
+ this.handleClosePopup();
33
+ }
34
+ });
35
+ }
36
+ }
37
+ TransactionSalesReservationPopupComponent.decorators = [
38
+ { type: Component, args: [{
39
+ selector: "co-transaction-sales-reservation-popup",
40
+ template: `
41
+ <co-dialog
42
+ (closeClick)="handleClosePopup()"
43
+ [headerTemplate]="headerTemplate"
44
+ [footerTemplate]="footerTemplate"
45
+ >
46
+ <ng-template #headerTemplate>
47
+ <div class="reservation-title">
48
+ <co-icon [iconData]="iconCacheService.getIcon(icons.PalletBoxesRotate)"></co-icon>
49
+ <span [textContent]="'RESERVATION_PURCHASEORDER' | localize "></span>
50
+ </div>
51
+ </ng-template>
52
+
53
+ <div class="wrapper">
54
+ <co-transaction-purchase-reservation-order-tile *ngFor="let line of reservationOrderLines"
55
+ [purchaseReservationPurchaseLine]="line"></co-transaction-purchase-reservation-order-tile>
56
+ </div>
57
+
58
+ <ng-template #footerTemplate>
59
+ <div class="save-cancel-wrapper">
60
+ <co-button [iconData]="iconCacheService.getIcon(icons.CheckDuotone)"
61
+ (click)="processReservation()"
62
+ ></co-button>
63
+ <co-button class="cancel-button"
64
+ [iconData]="iconCacheService.getIcon(icons.Crossskinny)"
65
+ (click)="handleClosePopup()"
66
+ ></co-button>
67
+ </div>
68
+ </ng-template>
69
+
70
+
71
+ </co-dialog>
72
+ `,
73
+ encapsulation: ViewEncapsulation.None
74
+ },] }
75
+ ];
76
+ TransactionSalesReservationPopupComponent.ctorParameters = () => [
77
+ { type: IconCacheService },
78
+ { type: TransactionSalesReservationService },
79
+ { type: TransactionService },
80
+ { type: TransactionHeaderService }
81
+ ];
82
+ TransactionSalesReservationPopupComponent.propDecorators = {
83
+ reservationOrderLines: [{ type: Input }],
84
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-sales-reservation-popup",] }]
85
+ };
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tc2FsZXMtcmVzZXJ2YXRpb24tcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tcmVzZXJ2YXRpb24vdHJhbnNhY3Rpb24tc2FsZXMtcmVzZXJ2YXRpb24tcG9wdXAvdHJhbnNhY3Rpb24tc2FsZXMtcmVzZXJ2YXRpb24tcG9wdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzdDLE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBSXBHLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQzVGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBdUN4RSxNQUFNLE9BQU8seUNBQXlDO0lBYXBELFlBQ1MsZ0JBQWtDLEVBQ2xDLHVCQUEyRCxFQUMxRCxtQkFBdUMsRUFDdkMseUJBQW1EO1FBSHBELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFvQztRQUMxRCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ3ZDLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMEI7UUFmN0MsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFHbkMsMEJBQXFCLEdBQXNDLEVBQUUsQ0FBQztJQWFyRSxDQUFDO0lBVE0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQVNELFFBQVE7UUFDTixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDO0lBQzNHLENBQUM7SUFHTSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLHlCQUF5QixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBR1ksa0JBQWtCOztZQUM3QixJQUFJLFFBQVEsR0FBWSxNQUFNLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0ksSUFBRyxRQUFRLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7YUFDekI7UUFDSCxDQUFDO0tBQUE7OztZQTFFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdDQUF3QztnQkFDbEQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdDVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBN0NPLGdCQUFnQjtZQUVoQixrQ0FBa0M7WUFLbEMsa0JBQWtCO1lBRGxCLHdCQUF3Qjs7O29DQTRDN0IsS0FBSzt3QkFJTCxXQUFXLFNBQUMsOENBQThDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNhbGVzUmVzZXJ2YXRpb25TZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZS90cmFuc2FjdGlvbi1zYWxlcy1yZXNlcnZhdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7XHJcbiAgUHVyY2hhc2VSZXNlcnZhdGlvblB1cmNoYXNlTGluZVxyXG59IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHVyY2hhc2UtcmVzZXJ2YXRpb24tcHVyY2hhc2UtbGluZS5ib1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyU2VydmljZX0gZnJvbSBcIi4uLy4uL2NvcmUvYmFzZS9zZXJ2aWNlL3RyYW5zYWN0aW9uLWhlYWRlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1zYWxlcy1yZXNlcnZhdGlvbi1wb3B1cFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tZGlhbG9nXHJcbiAgICAgIChjbG9zZUNsaWNrKT1cImhhbmRsZUNsb3NlUG9wdXAoKVwiXHJcbiAgICAgIFtoZWFkZXJUZW1wbGF0ZV09XCJoZWFkZXJUZW1wbGF0ZVwiXHJcbiAgICAgIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiXHJcbiAgICA+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVGVtcGxhdGU+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJlc2VydmF0aW9uLXRpdGxlXCI+XHJcbiAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlBhbGxldEJveGVzUm90YXRlKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInUkVTRVJWQVRJT05fUFVSQ0hBU0VPUkRFUicgfCBsb2NhbGl6ZSBcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1wdXJjaGFzZS1yZXNlcnZhdGlvbi1vcmRlci10aWxlICpuZ0Zvcj1cImxldCBsaW5lIG9mIHJlc2VydmF0aW9uT3JkZXJMaW5lc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3B1cmNoYXNlUmVzZXJ2YXRpb25QdXJjaGFzZUxpbmVdPVwibGluZVwiPjwvY28tdHJhbnNhY3Rpb24tcHVyY2hhc2UtcmVzZXJ2YXRpb24tb3JkZXItdGlsZT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYXZlLWNhbmNlbC13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ2hlY2tEdW90b25lKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwcm9jZXNzUmVzZXJ2YXRpb24oKVwiXHJcbiAgICAgICAgICA+PC9jby1idXR0b24+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2FuY2VsLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ3Jvc3Nza2lubnkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNsb3NlUG9wdXAoKVwiXHJcbiAgICAgICAgICA+PC9jby1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG5cclxuICAgIDwvY28tZGlhbG9nPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25TYWxlc1Jlc2VydmF0aW9uUG9wdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVzZXJ2YXRpb25PcmRlckxpbmVzOiBQdXJjaGFzZVJlc2VydmF0aW9uUHVyY2hhc2VMaW5lW10gPSBbXTtcclxuXHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLXNhbGVzLXJlc2VydmF0aW9uLXBvcHVwXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHB1YmxpYyBzYWxlc1Jlc2VydmF0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TYWxlc1Jlc2VydmF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlOiBUcmFuc2FjdGlvbkhlYWRlclNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5yZXNlcnZhdGlvbk9yZGVyTGluZXMgPSB0aGlzLnNhbGVzUmVzZXJ2YXRpb25TZXJ2aWNlLnNhbGVzUmVzZXJ2YXRpb25MaW5lc1swXS5yZXNlcnZhdGlvbk9yZGVyTGluZXM7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIGhhbmRsZUNsb3NlUG9wdXAoKSB7XHJcbiAgICB0aGlzLnJlc2VydmF0aW9uT3JkZXJMaW5lcyA9IFtdO1xyXG4gICAgdGhpcy5zYWxlc1Jlc2VydmF0aW9uU2VydmljZS5yZXNldExpbmVEYXRhKCk7XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvbkhlYWRlclNlcnZpY2UucmVzZXJ2YXRpb25Qb3B1cFRvZ2dsZS5uZXh0KGZhbHNlKTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgYXN5bmMgcHJvY2Vzc1Jlc2VydmF0aW9uKCkge1xyXG4gICAgbGV0IHJlc3BvbnNlOiBib29sZWFuID0gYXdhaXQgdGhpcy5zYWxlc1Jlc2VydmF0aW9uU2VydmljZS5wcm9jZXNzUmVzZXJ2YXRpb24oWy4uLnRoaXMucmVzZXJ2YXRpb25PcmRlckxpbmVzLmZpbHRlcihsaW5lID0+IGxpbmUuc2VsZWN0ZWQpXSk7XHJcbiAgICBpZihyZXNwb25zZSkge1xyXG4gICAgICB0aGlzLmhhbmRsZUNsb3NlUG9wdXAoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19