@colijnit/transaction 12.1.185 → 12.1.187

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 (70) hide show
  1. package/bundles/colijnit-transaction.umd.js +320 -217
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.d.ts +177 -175
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/colijnit-transaction.js +178 -176
  6. package/esm2015/lib/component/add-product/add-product.component.js +7 -2
  7. package/esm2015/lib/component/avatar/avatar.component.js +2 -2
  8. package/esm2015/lib/component/core/base/transaction-payment-base.component.js +1 -1
  9. package/esm2015/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.js +3 -3
  10. package/esm2015/lib/component/payment-qr-code/payment-qr-code.component.js +1 -1
  11. package/esm2015/lib/component/payment-qr-code/payment-qr-code.module.js +6 -6
  12. package/esm2015/lib/component/payment-to-pay/payment-to-pay.component.js +2 -2
  13. package/esm2015/lib/component/shared/transaction-article-text/transaction-article-text.component.js +3 -2
  14. package/esm2015/lib/component/transaction/transaction.component.js +1 -1
  15. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-picking-button-bar-button.component.js +3 -1
  16. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar.component.js +1 -16
  17. package/esm2015/lib/component/transaction-card/transaction-card-header/transaction-card-header.component.js +1 -1
  18. package/esm2015/lib/component/transaction-card/transaction-card-order-delivery/transaction-card-order-delivery.component.js +1 -1
  19. package/esm2015/lib/component/transaction-cash-register-dialog/transaction-cash-register-dialog.component.js +3 -3
  20. package/esm2015/lib/component/transaction-cash-register-dialog/transaction-cash-register-dialog.module.js +5 -5
  21. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-buttons.component.js +2 -2
  22. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-buttons.module.js +5 -5
  23. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-cash.module.js +8 -8
  24. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-done.component.js +4 -4
  25. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-method.component.js +5 -5
  26. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-pin.component.js +1 -1
  27. package/esm2015/lib/component/transaction-copy-order/transaction-copy-order.component.js +13 -13
  28. package/esm2015/lib/component/transaction-internal/transaction-internal.component.js +8 -5
  29. package/esm2015/lib/component/transaction-line-side-panel-planning/transaction-line-side-panel-planning.component.js +63 -54
  30. package/esm2015/lib/component/transaction-lines-side-panel/transaction-lines-side-panel/transaction-lines-side-panel.component.js +1 -1
  31. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.js +4 -2
  32. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-planning/transaction-quick-access-planning.component.js +67 -0
  33. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-planning/transaction-quick-access-planning.module.js +35 -0
  34. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-sales-quotation/transaction-quick-access-sales-quotation.component.js +22 -22
  35. package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-quotation-filter-content/transaction-sales-quotation-filter-content-order/transaction-sales-quotation-filter-content-order.component.js +1 -1
  36. package/esm2015/lib/service/transaction-base.service.js +2 -5
  37. package/esm2015/lib/service/transaction-connector-adapter.service.js +3 -3
  38. package/esm2015/lib/service/transaction-connector.service.js +1 -1
  39. package/esm2015/lib/service/transaction-mapping.service.js +3 -1
  40. package/esm2015/lib/service/transaction.service.js +1 -1
  41. package/esm2015/lib/transaction-version.js +3 -3
  42. package/fesm2015/colijnit-transaction.js +169 -86
  43. package/fesm2015/colijnit-transaction.js.map +1 -1
  44. package/lib/component/add-product/add-product.component.d.ts +1 -0
  45. package/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.d.ts +5 -1
  46. package/lib/component/transaction-button-bar/transaction-button-bar.component.d.ts +0 -3
  47. package/lib/component/transaction-card/transaction-card-header/transaction-card-header.component.d.ts +1 -1
  48. package/lib/component/transaction-cash-register-dialog/transaction-cash-register-dialog.component.d.ts +6 -6
  49. package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-buttons.component.d.ts +1 -1
  50. package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-done.component.d.ts +2 -2
  51. package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-method.component.d.ts +5 -5
  52. package/lib/component/transaction-copy-order/transaction-copy-order.component.d.ts +14 -14
  53. package/lib/component/transaction-line-side-panel-planning/style/_layout.scss +47 -5
  54. package/lib/component/transaction-line-side-panel-planning/style/_material-definition.scss +6 -0
  55. package/lib/component/transaction-line-side-panel-planning/transaction-line-side-panel-planning.component.d.ts +3 -2
  56. package/lib/component/transaction-lines-side-panel/transaction-lines-side-panel/style/_layout.scss +2 -1
  57. package/lib/component/transaction-lines-side-panel/transaction-lines-side-panel/style/_material-definition.scss +1 -1
  58. package/lib/component/transaction-quick-access/transaction-quick-access-planning/style/_layout.scss +27 -0
  59. package/lib/component/transaction-quick-access/transaction-quick-access-planning/style/_material-definition.scss +3 -0
  60. package/lib/component/transaction-quick-access/transaction-quick-access-planning/style/_theme.scss +6 -0
  61. package/lib/component/transaction-quick-access/transaction-quick-access-planning/style/material.scss +4 -0
  62. package/lib/component/transaction-quick-access/transaction-quick-access-planning/transaction-quick-access-planning.component.d.ts +28 -0
  63. package/lib/component/transaction-quick-access/transaction-quick-access-planning/transaction-quick-access-planning.module.d.ts +2 -0
  64. package/lib/component/transaction-quick-access/transaction-quick-access-sales-quotation/transaction-quick-access-sales-quotation.component.d.ts +16 -16
  65. package/lib/service/transaction-base.service.d.ts +0 -2
  66. package/lib/service/transaction-connector-adapter.service.d.ts +2 -2
  67. package/lib/service/transaction-connector.service.d.ts +2 -2
  68. package/package.json +5 -5
  69. package/esm2015/lib/model/payment-transaction-view-model.js +0 -3
  70. package/lib/model/payment-transaction-view-model.d.ts +0 -12
@@ -0,0 +1,67 @@
1
+ import { ChangeDetectorRef, Component, HostBinding, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import { TransactionSendDocumentsComponent } from '../../transaction-send-documents/transaction-send-documents.component';
3
+ import { TransactionBaseComponent } from "../../core/base/transaction-base.component";
4
+ import { TransactionEventService } from "../../../service/transaction-event.service";
5
+ import { TransactionService } from "../../../service/transaction.service";
6
+ import { IconCacheService } from "../../../service/icon-cache.service";
7
+ import { TransactionScreenConfigurationService } from "../../../service/transaction-screen-configuration.service";
8
+ import { DictionaryService } from "../../../service/dictionary.service";
9
+ import { TransactionImageService } from "../../../service/transaction-image.service";
10
+ import { PurchaseConfirmationService } from "../../../service/purchase-confirmation.service";
11
+ export class TransactionQuickAccessPlanningComponent extends TransactionBaseComponent {
12
+ constructor(transactionEventService, service, iconCacheService, transactionScreenConfigurationService, dictionaryService, imageService, changeDetector, _purchaseConfirmationService, _transactionService) {
13
+ super(transactionEventService, iconCacheService, transactionScreenConfigurationService, imageService, dictionaryService, service, changeDetector);
14
+ this.transactionEventService = transactionEventService;
15
+ this.service = service;
16
+ this.iconCacheService = iconCacheService;
17
+ this.transactionScreenConfigurationService = transactionScreenConfigurationService;
18
+ this.dictionaryService = dictionaryService;
19
+ this.imageService = imageService;
20
+ this.changeDetector = changeDetector;
21
+ this._purchaseConfirmationService = _purchaseConfirmationService;
22
+ this._transactionService = _transactionService;
23
+ this.lspMode = false;
24
+ }
25
+ showClass() {
26
+ return true;
27
+ }
28
+ toggleLspMode() {
29
+ this.lspMode = !this.lspMode;
30
+ }
31
+ openPlanningSideBar() {
32
+ if (this.lspMode && this.selectedLines.length > 0) {
33
+ this.transactionEventService.openSidePanel.next(this.selectedLines[0]);
34
+ }
35
+ }
36
+ get selectedLines() {
37
+ return this._transactionService.currentTransaction.transactionLines.filter(line => line.selected);
38
+ }
39
+ }
40
+ TransactionQuickAccessPlanningComponent.decorators = [
41
+ { type: Component, args: [{
42
+ selector: "co-transaction-quick-access-planning",
43
+ template: `
44
+ <div class="planning-buttons">
45
+ <co-transaction-button-bar-button [class.selected]="lspMode" [iconName]="icons.BoxesPackingRegular" (click)="toggleLspMode()"></co-transaction-button-bar-button>
46
+ <co-transaction-button-bar-button [iconName]="icons.RegularBoxesPackingCircleCheck" (click)="openPlanningSideBar()"></co-transaction-button-bar-button>
47
+ </div>
48
+ `,
49
+ encapsulation: ViewEncapsulation.None
50
+ },] }
51
+ ];
52
+ TransactionQuickAccessPlanningComponent.ctorParameters = () => [
53
+ { type: TransactionEventService },
54
+ { type: TransactionService },
55
+ { type: IconCacheService },
56
+ { type: TransactionScreenConfigurationService },
57
+ { type: DictionaryService },
58
+ { type: TransactionImageService },
59
+ { type: ChangeDetectorRef },
60
+ { type: PurchaseConfirmationService },
61
+ { type: TransactionService }
62
+ ];
63
+ TransactionQuickAccessPlanningComponent.propDecorators = {
64
+ sendDocumentsComponent: [{ type: ViewChild, args: [TransactionSendDocumentsComponent,] }],
65
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-quick-access-planning",] }]
66
+ };
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXBsYW5uaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MtcGxhbm5pbmcvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXBsYW5uaW5nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBVSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDeEgsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDbkYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDaEgsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDbkYsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFZM0YsTUFBTSxPQUFPLHVDQUF3QyxTQUFRLHdCQUF3QjtJQVluRixZQUNTLHVCQUFnRCxFQUNoRCxPQUEyQixFQUMzQixnQkFBa0MsRUFDbEMscUNBQTRFLEVBQ3pFLGlCQUFvQyxFQUNwQyxZQUFxQyxFQUNyQyxjQUFpQyxFQUNuQyw0QkFBeUQsRUFFekQsbUJBQXVDO1FBRS9DLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxxQ0FBcUMsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBWDNJLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFDM0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQywwQ0FBcUMsR0FBckMscUNBQXFDLENBQXVDO1FBQ3pFLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsaUJBQVksR0FBWixZQUFZLENBQXlCO1FBQ3JDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNuQyxpQ0FBNEIsR0FBNUIsNEJBQTRCLENBQTZCO1FBRXpELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFqQjFDLFlBQU8sR0FBWSxLQUFLLENBQUM7SUFvQmhDLENBQUM7SUFqQk0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQWtCTSxhQUFhO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFFTSxtQkFBbUI7UUFDeEIsSUFBRyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNoRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDeEU7SUFDSCxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyRyxDQUFDOzs7WUFsREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxzQ0FBc0M7Z0JBQ2hELFFBQVEsRUFBRTs7Ozs7R0FLVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBakJPLHVCQUF1QjtZQUN2QixrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLHFDQUFxQztZQUNyQyxpQkFBaUI7WUFDakIsdUJBQXVCO1lBUnZCLGlCQUFpQjtZQVNqQiwyQkFBMkI7WUFMM0Isa0JBQWtCOzs7cUNBbUJ2QixTQUFTLFNBQUMsaUNBQWlDO3dCQUszQyxXQUFXLFNBQUMsNENBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlbmREb2N1bWVudHNDb21wb25lbnR9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLXNlbmQtZG9jdW1lbnRzL3RyYW5zYWN0aW9uLXNlbmQtZG9jdW1lbnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vY29yZS9iYXNlL3RyYW5zYWN0aW9uLWJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1zY3JlZW4tY29uZmlndXJhdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1pbWFnZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UHVyY2hhc2VDb25maXJtYXRpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9wdXJjaGFzZS1jb25maXJtYXRpb24uc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXBsYW5uaW5nXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJwbGFubmluZy1idXR0b25zXCI+XHJcbiAgICAgIDxjby10cmFuc2FjdGlvbi1idXR0b24tYmFyLWJ1dHRvbiBbY2xhc3Muc2VsZWN0ZWRdPVwibHNwTW9kZVwiIFtpY29uTmFtZV09XCJpY29ucy5Cb3hlc1BhY2tpbmdSZWd1bGFyXCIgKGNsaWNrKT1cInRvZ2dsZUxzcE1vZGUoKVwiPjwvY28tdHJhbnNhY3Rpb24tYnV0dG9uLWJhci1idXR0b24+XHJcbiAgICAgIDxjby10cmFuc2FjdGlvbi1idXR0b24tYmFyLWJ1dHRvbiBbaWNvbk5hbWVdPVwiaWNvbnMuUmVndWxhckJveGVzUGFja2luZ0NpcmNsZUNoZWNrXCIgKGNsaWNrKT1cIm9wZW5QbGFubmluZ1NpZGVCYXIoKVwiPjwvY28tdHJhbnNhY3Rpb24tYnV0dG9uLWJhci1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NQbGFubmluZ0NvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoVHJhbnNhY3Rpb25TZW5kRG9jdW1lbnRzQ29tcG9uZW50KVxyXG4gIHB1YmxpYyBzZW5kRG9jdW1lbnRzQ29tcG9uZW50OiBUcmFuc2FjdGlvblNlbmREb2N1bWVudHNDb21wb25lbnQ7XHJcblxyXG4gIHB1YmxpYyBsc3BNb2RlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1wbGFubmluZ1wiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICAgIHB1YmxpYyBzZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGRpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgIHByb3RlY3RlZCBpbWFnZVNlcnZpY2U6IFRyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX3B1cmNoYXNlQ29uZmlybWF0aW9uU2VydmljZTogUHVyY2hhc2VDb25maXJtYXRpb25TZXJ2aWNlLFxyXG5cclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgc3VwZXIodHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsIGljb25DYWNoZVNlcnZpY2UsIHRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsIGltYWdlU2VydmljZSwgZGljdGlvbmFyeVNlcnZpY2UsIHNlcnZpY2UsIGNoYW5nZURldGVjdG9yKTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgdG9nZ2xlTHNwTW9kZSgpIHtcclxuICAgIHRoaXMubHNwTW9kZSA9ICF0aGlzLmxzcE1vZGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlblBsYW5uaW5nU2lkZUJhcigpIHtcclxuICAgIGlmKHRoaXMubHNwTW9kZSAmJiB0aGlzLnNlbGVjdGVkTGluZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLm9wZW5TaWRlUGFuZWwubmV4dCh0aGlzLnNlbGVjdGVkTGluZXNbMF0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzZWxlY3RlZExpbmVzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lcy5maWx0ZXIoIGxpbmUgPT4gbGluZS5zZWxlY3RlZCk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { TransactionQuickAccessPlanningComponent } from './transaction-quick-access-planning.component';
4
+ import { InputSearchModule } from '@colijnit/corecomponents_v12';
5
+ import { PipeModule } from '../../../pipe/pipe.module';
6
+ import { DialogCatalogModule } from '../../dialog/catalog/dialog-catalog/dialog-catalog.module';
7
+ import { QuickSendButtonModule } from '../../quick-send-button/quick-send-button.module';
8
+ import { SendMethodDialogModule } from '@colijnit/sharedcomponents';
9
+ import { TransactionSendDocumentsModule } from '../../transaction-send-documents/transaction-send-documents.module';
10
+ import { DigitalSignatureModule } from "../../digital-signature/digital-signature.module";
11
+ import { TransactionButtonBarModule } from "../../transaction-button-bar/transaction-button-bar.module";
12
+ export class TransactionQuickAccessPlanningModule {
13
+ }
14
+ TransactionQuickAccessPlanningModule.decorators = [
15
+ { type: NgModule, args: [{
16
+ imports: [
17
+ CommonModule,
18
+ InputSearchModule,
19
+ PipeModule,
20
+ DialogCatalogModule,
21
+ QuickSendButtonModule,
22
+ SendMethodDialogModule,
23
+ TransactionSendDocumentsModule,
24
+ DigitalSignatureModule,
25
+ TransactionButtonBarModule
26
+ ],
27
+ declarations: [
28
+ TransactionQuickAccessPlanningComponent
29
+ ],
30
+ exports: [
31
+ TransactionQuickAccessPlanningComponent
32
+ ]
33
+ },] }
34
+ ];
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXBsYW5uaW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MtcGxhbm5pbmcvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXBsYW5uaW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsdUNBQXVDLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDOUYsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDdkYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFDbEgsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDeEYsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFxQnRHLE1BQU0sT0FBTyxvQ0FBb0M7OztZQW5CaEQsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGlCQUFpQjtvQkFDakIsVUFBVTtvQkFDVixtQkFBbUI7b0JBQ25CLHFCQUFxQjtvQkFDckIsc0JBQXNCO29CQUN0Qiw4QkFBOEI7b0JBQzlCLHNCQUFzQjtvQkFDdEIsMEJBQTBCO2lCQUMzQjtnQkFDQyxZQUFZLEVBQUU7b0JBQ1YsdUNBQXVDO2lCQUMxQztnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsdUNBQXVDO2lCQUMxQzthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUXVpY2tBY2Nlc3NQbGFubmluZ0NvbXBvbmVudH0gZnJvbSAnLi90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MtcGxhbm5pbmcuY29tcG9uZW50JztcclxuaW1wb3J0IHtJbnB1dFNlYXJjaE1vZHVsZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7UGlwZU1vZHVsZX0gZnJvbSAnLi4vLi4vLi4vcGlwZS9waXBlLm1vZHVsZSc7XHJcbmltcG9ydCB7RGlhbG9nQ2F0YWxvZ01vZHVsZX0gZnJvbSAnLi4vLi4vZGlhbG9nL2NhdGFsb2cvZGlhbG9nLWNhdGFsb2cvZGlhbG9nLWNhdGFsb2cubW9kdWxlJztcclxuaW1wb3J0IHtRdWlja1NlbmRCdXR0b25Nb2R1bGV9IGZyb20gJy4uLy4uL3F1aWNrLXNlbmQtYnV0dG9uL3F1aWNrLXNlbmQtYnV0dG9uLm1vZHVsZSc7XHJcbmltcG9ydCB7U2VuZE1ldGhvZERpYWxvZ01vZHVsZX0gZnJvbSAnQGNvbGlqbml0L3NoYXJlZGNvbXBvbmVudHMnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VuZERvY3VtZW50c01vZHVsZX0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tc2VuZC1kb2N1bWVudHMvdHJhbnNhY3Rpb24tc2VuZC1kb2N1bWVudHMubW9kdWxlJztcclxuaW1wb3J0IHtEaWdpdGFsU2lnbmF0dXJlTW9kdWxlfSBmcm9tIFwiLi4vLi4vZGlnaXRhbC1zaWduYXR1cmUvZGlnaXRhbC1zaWduYXR1cmUubW9kdWxlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25CdXR0b25CYXJNb2R1bGV9IGZyb20gXCIuLi8uLi90cmFuc2FjdGlvbi1idXR0b24tYmFyL3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXIubW9kdWxlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIElucHV0U2VhcmNoTW9kdWxlLFxyXG4gICAgUGlwZU1vZHVsZSxcclxuICAgIERpYWxvZ0NhdGFsb2dNb2R1bGUsXHJcbiAgICBRdWlja1NlbmRCdXR0b25Nb2R1bGUsXHJcbiAgICBTZW5kTWV0aG9kRGlhbG9nTW9kdWxlLFxyXG4gICAgVHJhbnNhY3Rpb25TZW5kRG9jdW1lbnRzTW9kdWxlLFxyXG4gICAgRGlnaXRhbFNpZ25hdHVyZU1vZHVsZSxcclxuICAgIFRyYW5zYWN0aW9uQnV0dG9uQmFyTW9kdWxlXHJcbiAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NQbGFubmluZ0NvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBUcmFuc2FjdGlvblF1aWNrQWNjZXNzUGxhbm5pbmdDb21wb25lbnRcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NQbGFubmluZ01vZHVsZSB7XHJcbn1cclxuIl19
@@ -1,25 +1,25 @@
1
1
  import { __awaiter } from "tslib";
2
- import { ChangeDetectorRef, Component, HostBinding, ViewChild, ViewEncapsulation } from "@angular/core";
3
- import { TransactionQuickAccessSendMethodBaseComponent } from "../transaction-quick-access-send-method-base.component";
4
- import { ReportingDocumentPrintSignDocBaseRequest } from "@colijnit/mainapi/build/model/reporting-document-print-sign-doc-base-request";
5
- import { ReportingDocumentEmailSignDocBaseRequest } from "@colijnit/mainapi/build/model/reporting-document-email-sign-doc-base-request";
6
- import { ReportingDocumentPdfBaseRequest } from "@colijnit/mainapi/build/model/reporting-document-pdf-base-request";
7
- import { CopyTransactionRequest } from "@colijnit/transactionapi/build/model/copy-transaction-request";
8
- import { CoDocument } from "@colijnit/mainapi/build/model/co-document";
9
- import { TransactionSendDocumentsComponent } from "../../transaction-send-documents/transaction-send-documents.component";
10
- import { EmailHistoricQuotationRequest } from "@colijnit/transactionapi/build/model/email-historic-quotation-request";
11
- import { EmailQuotationRequest } from "@colijnit/transactionapi/build/model/email-quotation-request";
12
- import { PrintHistoricQuotationRequest } from "@colijnit/transactionapi/build/model/print-historic-quotation-request";
13
- import { PrintQuotationRequest } from "@colijnit/transactionapi/build/model/print-quotation-request";
14
- import { PdfQuotationRequest } from "@colijnit/transactionapi/build/model/pdf-quotation-request";
15
- import { PdfHistoricQuotationRequest } from "@colijnit/transactionapi/build/model/pdf-historic-quotation-request";
16
- import { TransactionEventService } from "../../../service/transaction-event.service";
17
- import { IconCacheService } from "../../../service/icon-cache.service";
18
- import { TransactionScreenConfigurationService } from "../../../service/transaction-screen-configuration.service";
19
- import { TransactionImageService } from "../../../service/transaction-image.service";
20
- import { DictionaryService } from "../../../service/dictionary.service";
21
- import { TransactionService } from "../../../service/transaction.service";
22
- import { TransactionCreationService } from "../../../service/transaction-creation.service";
2
+ import { ChangeDetectorRef, Component, HostBinding, ViewChild, ViewEncapsulation } from '@angular/core';
3
+ import { TransactionQuickAccessSendMethodBaseComponent } from '../transaction-quick-access-send-method-base.component';
4
+ import { ReportingDocumentPrintSignDocBaseRequest } from '@colijnit/mainapi/build/model/reporting-document-print-sign-doc-base-request';
5
+ import { ReportingDocumentEmailSignDocBaseRequest } from '@colijnit/mainapi/build/model/reporting-document-email-sign-doc-base-request';
6
+ import { ReportingDocumentPdfBaseRequest } from '@colijnit/mainapi/build/model/reporting-document-pdf-base-request';
7
+ import { CopyTransactionRequest } from '@colijnit/transactionapi/build/model/copy-transaction-request';
8
+ import { CoDocument } from '@colijnit/mainapi/build/model/co-document';
9
+ import { TransactionSendDocumentsComponent } from '../../transaction-send-documents/transaction-send-documents.component';
10
+ import { EmailHistoricQuotationRequest } from '@colijnit/transactionapi/build/model/email-historic-quotation-request';
11
+ import { EmailQuotationRequest } from '@colijnit/transactionapi/build/model/email-quotation-request';
12
+ import { PrintHistoricQuotationRequest } from '@colijnit/transactionapi/build/model/print-historic-quotation-request';
13
+ import { PrintQuotationRequest } from '@colijnit/transactionapi/build/model/print-quotation-request';
14
+ import { PdfQuotationRequest } from '@colijnit/transactionapi/build/model/pdf-quotation-request';
15
+ import { PdfHistoricQuotationRequest } from '@colijnit/transactionapi/build/model/pdf-historic-quotation-request';
16
+ import { TransactionEventService } from '../../../service/transaction-event.service';
17
+ import { IconCacheService } from '../../../service/icon-cache.service';
18
+ import { TransactionScreenConfigurationService } from '../../../service/transaction-screen-configuration.service';
19
+ import { TransactionImageService } from '../../../service/transaction-image.service';
20
+ import { DictionaryService } from '../../../service/dictionary.service';
21
+ import { TransactionService } from '../../../service/transaction.service';
22
+ import { TransactionCreationService } from '../../../service/transaction-creation.service';
23
23
  export class TransactionQuickAccessSalesQuotationComponent extends TransactionQuickAccessSendMethodBaseComponent {
24
24
  constructor(transactionEventService, iconCacheService, screenConfigService, imageService, dictionaryService, transactionService, changeDetector, transactionCreationService) {
25
25
  super(transactionEventService, iconCacheService, screenConfigService, imageService, dictionaryService, transactionService, changeDetector);
@@ -209,4 +209,4 @@ TransactionQuickAccessSalesQuotationComponent.propDecorators = {
209
209
  sendDocumentsComponent: [{ type: ViewChild, args: [TransactionSendDocumentsComponent,] }],
210
210
  showClass: [{ type: HostBinding, args: ["class.co-transaction-quick-access-sales-quotation",] }]
211
211
  };
212
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNhbGVzLXF1b3RhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNhbGVzLXF1b3RhdGlvbi90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtc2FsZXMtcXVvdGF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUdYLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLDZDQUE2QyxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDckgsT0FBTyxFQUNMLHdDQUF3QyxFQUN6QyxNQUFNLDhFQUE4RSxDQUFDO0FBQ3RGLE9BQU8sRUFDTCx3Q0FBd0MsRUFDekMsTUFBTSw4RUFBOEUsQ0FBQztBQUN0RixPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQztBQUlsSCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUtyRyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDckUsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDeEgsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDcEgsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sOERBQThELENBQUM7QUFPbkcsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDcEgsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sOERBQThELENBQUM7QUFDbkcsT0FB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LEdBQUcsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztvQkFDNUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUMvQjtZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLG1CQUFtQixDQUFDO0lBQzdCLENBQUM7OztZQWhNRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDZDQUE2QztnQkFDdkQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkNUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUF6RE8sdUJBQXVCO1lBQ3ZCLGdCQUFnQjtZQUNoQixxQ0FBcUM7WUFDckMsdUJBQXVCO1lBQ3ZCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUEzQ3hCLGlCQUFpQjtZQTRDWCwwQkFBMEI7OztxQ0F1RC9CLFNBQVMsU0FBQyxpQ0FBaUM7d0JBTzNDLFdBQVcsU0FBQyxtREFBbUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBIb3N0QmluZGluZyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25RdWlja0FjY2Vzc1NlbmRNZXRob2RCYXNlQ29tcG9uZW50fSBmcm9tIFwiLi4vdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNlbmQtbWV0aG9kLWJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7XHJcbiAgUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdFxyXG59IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtcHJpbnQtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7XHJcbiAgUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdFxyXG59IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtZW1haWwtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7UmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1wZGYtYmFzZS1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1wcmludC5ib1wiO1xyXG5pbXBvcnQge1JlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LWxheW91dC1zZWxlY3Rpb24tZW1haWwuYm9cIjtcclxuaW1wb3J0IHtDcmVhdGVTYWxlc09yZGVyUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jcmVhdGUtc2FsZXMtb3JkZXItcmVxdWVzdFwiO1xyXG5pbXBvcnQge0NvcHlUcmFuc2FjdGlvblJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY29weS10cmFuc2FjdGlvbi1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7XHJcbiAgRW1haWxIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdFxyXG59IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZW1haWwtaGlzdG9yaWMtb3JkZXItY29uZmlybWF0aW9uLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtFbWFpbE9yZGVyQ29uZmlybWF0aW9uUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9lbWFpbC1vcmRlci1jb25maXJtYXRpb24tcmVxdWVzdFwiO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudFwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VuZERvY3VtZW50c0NvbXBvbmVudH0gZnJvbSBcIi4uLy4uL3RyYW5zYWN0aW9uLXNlbmQtZG9jdW1lbnRzL3RyYW5zYWN0aW9uLXNlbmQtZG9jdW1lbnRzLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0VtYWlsSGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2VtYWlsLWhpc3RvcmljLXF1b3RhdGlvbi1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7RW1haWxRdW90YXRpb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2VtYWlsLXF1b3RhdGlvbi1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7XHJcbiAgUHJpbnRIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdFxyXG59IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHJpbnQtaGlzdG9yaWMtb3JkZXItY29uZmlybWF0aW9uLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtcclxuICBQZGZIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdFxyXG59IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGRmLWhpc3RvcmljLW9yZGVyLWNvbmZpcm1hdGlvbi1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7UHJpbnRIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHJpbnQtaGlzdG9yaWMtcXVvdGF0aW9uLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtQcmludFF1b3RhdGlvblJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHJpbnQtcXVvdGF0aW9uLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtQZGZRdW90YXRpb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BkZi1xdW90YXRpb24tcmVxdWVzdFwiO1xyXG5pbXBvcnQge1BkZkhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wZGYtaGlzdG9yaWMtcXVvdGF0aW9uLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkltYWdlU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24taW1hZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkNyZWF0aW9uU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tY3JlYXRpb24uc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUmVmVHJhbnNhY3Rpb259IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tbGluZS1pbmZvLmJvXCI7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNhbGVzLXF1b3RhdGlvblwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwicXVpY2stYWNjZXNzLWNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICA8Y28tcXVpY2stc2VuZC1idXR0b25cclxuICAgICAgICBbZGVmYXVsdE1ldGhvZEljb25dPVwiZGVmYXVsdFNlbmRNZXRob2RJY29uXCJcclxuICAgICAgICBbc2hvd0xvYWRlcl09XCJzaG93TG9hZGVyXCJcclxuICAgICAgICAoc2VuZEljb25DbGlja2VkKT1cImhhbmRsZVNlbmQoZGVmYXVsdFNlbmRNZXRob2QpXCJcclxuICAgICAgICAob3BlblNlbmRNZXRob2REaWFsb2cpPVwic2hvd1NlbmRNZXRob2REaWFsb2cgPSB0cnVlXCJcclxuICAgICAgPjwvY28tcXVpY2stc2VuZC1idXR0b24+XHJcbiAgICAgIDxjby10cmFuc2FjdGlvbi1zZW5kLWRvY3VtZW50c1xyXG4gICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICBbdHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnldPVwidHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclF1b3RhdGlvblwiXHJcbiAgICAgID48L2NvLXRyYW5zYWN0aW9uLXNlbmQtZG9jdW1lbnRzPlxyXG4gICAgICA8Y28tYnV0dG9uXHJcbiAgICAgICAgW2xhYmVsXT1cIidTQUxFU19RVU9UQVRJT04nIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ2FydFNob3BwaW5nUmVndWxhcilcIlxyXG4gICAgICAgIChjbGljayk9XCJjcmVhdGVTYWxlc09yZGVyKClcIlxyXG4gICAgICA+PC9jby1idXR0b24+XHJcbiAgICAgIDxjby10cmFuc2FjdGlvbi1uYXZpZ2F0aW9uLWJ1dHRvbi1saXN0XHJcbiAgICAgICAgW3JlZlRyYW5zYWN0aW9uc109XCJnZXRDdXJyZW50UmVmVHJhbnNhY3Rpb25zKClcIlxyXG4gICAgICAgIFtzaG93UmVsYXRpb25CdXR0b25dPVwiZmFsc2VcIlxyXG4gICAgICAgIFtlbXB0eUxhYmVsXT1cIidOT19TQUxFU19PUkRFUicgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgKHRyYW5zYWN0aW9uQ2xpY2spPVwiaGFuZGxlU2FsZXNPcmRlck5hdmlnYXRpb24oJGV2ZW50KVwiXHJcbiAgICAgID48L2NvLXRyYW5zYWN0aW9uLW5hdmlnYXRpb24tYnV0dG9uLWxpc3Q+XHJcbiAgICAgIDxjby1zZW5kLW1ldGhvZC1kaWFsb2cgKm5nSWY9XCJzaG93U2VuZE1ldGhvZERpYWxvZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hlYWRlclRpdGxlXT1cIidWZXJ6ZW5kbWV0aG9kZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcmludGVyTGlzdF09XCJwcmludGVyTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRTZW5kTWV0aG9kXT1cImRlZmF1bHRTZW5kTWV0aG9kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmlzaWJsZU1ldGhvZHNdPVwiW3NlbmRNZXRob2RUeXBlLlByaW50LCBzZW5kTWV0aG9kVHlwZS5FbWFpbF1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbWFpbEFkZHJlc3Nlc109XCJlbWFpbEFkZHJlc3Nlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtYWlsTGF5b3V0c109XCJlbWFpbExheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcmludExheW91dHNdPVwicHJpbnRMYXlvdXRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNEb2NTaWduRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHJlcG9ydGluZ0RvY3VtZW50RW1haWxSZXF1ZXN0KV09XCJyZXBvcnREb2N1bWVudEVtYWlsUmVxdWVzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhyZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdCldPVwicmVwb3J0RG9jdW1lbnRQcmludFJlcXVlc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsocmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0KV09XCJyZXBvcnREb2N1bWVudFBkZlJlcXVlc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbG9zZUNsaWNrKT1cInNob3dTZW5kTWV0aG9kRGlhbG9nID0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChva0NsaWNrKT1cImhhbmRsZVNlbmRNZXRob2RPa0NsaWNrKCRldmVudClcIlxyXG4gICAgICA+PC9jby1zZW5kLW1ldGhvZC1kaWFsb2c+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxjby1kaWdpdGFsLXNpZ25hdHVyZVxyXG4gICAgICBbZG9jdW1lbnRJZF09XCJzaWduYXR1cmVEb2N1bWVudElkXCJcclxuICAgICAgKGRvY3VtZW50U3RvcmVkKT1cImNvbW1pdEFuZFJlZnJlc2hUcmFuc2FjdGlvbigpXCJcclxuICAgID48L2NvLWRpZ2l0YWwtc2lnbmF0dXJlPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NTYWxlc1F1b3RhdGlvbkNvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NTZW5kTWV0aG9kQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgQFZpZXdDaGlsZChUcmFuc2FjdGlvblNlbmREb2N1bWVudHNDb21wb25lbnQpXHJcbiAgcHVibGljIHNlbmREb2N1bWVudHNDb21wb25lbnQ6IFRyYW5zYWN0aW9uU2VuZERvY3VtZW50c0NvbXBvbmVudDtcclxuXHJcbiAgcHVibGljIGNyZWF0aW5nU2FsZXNPcmRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtc2FsZXMtcXVvdGF0aW9uXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlcG9ydERvY3VtZW50RW1haWxSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0ID0gbmV3IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QoKTtcclxuICBwdWJsaWMgcmVwb3J0RG9jdW1lbnRQcmludFJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QgPSBuZXcgUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCgpO1xyXG4gIHB1YmxpYyByZXBvcnREb2N1bWVudFBkZlJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QgPSBuZXcgUmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkV2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHB1YmxpYyBzY3JlZW5Db25maWdTZXJ2aWNlOiBUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGltYWdlU2VydmljZTogVHJhbnNhY3Rpb25JbWFnZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgdHJhbnNhY3Rpb25DcmVhdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uQ3JlYXRpb25TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcih0cmFuc2FjdGlvbkV2ZW50U2VydmljZSwgaWNvbkNhY2hlU2VydmljZSwgc2NyZWVuQ29uZmlnU2VydmljZSwgaW1hZ2VTZXJ2aWNlLCBkaWN0aW9uYXJ5U2VydmljZSwgdHJhbnNhY3Rpb25TZXJ2aWNlLGNoYW5nZURldGVjdG9yKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudXBkYXRlVHJhbnNhY3Rpb25SZWZlcmVuY2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5jaGVja1JlZlRyYW5zYWN0aW9uKCkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYXN5bmMgZW1haWxEb2N1bWVudChyZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5zZW5kRG9jdW1lbnRzQ29tcG9uZW50LnNlbGVjdGVkKSB7XHJcbiAgICAgIGNvbnN0IGVtYWlsSGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0OiBFbWFpbEhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdCA9XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihuZXcgRW1haWxIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3QoKSwgcmVxdWVzdCk7XHJcbiAgICAgIHRoaXMuX3ByZXBhcmVIaXN0b3JpY1JlcXVlc3QoZW1haWxIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3QpO1xyXG4gICAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5lbWFpbEhpc3RvcmljUXVvdGF0aW9uKGVtYWlsSGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGVtYWlsUXVvdGF0aW9uUmVxdWVzdDogRW1haWxRdW90YXRpb25SZXF1ZXN0ID1cclxuICAgICAgICBPYmplY3QuYXNzaWduKG5ldyBFbWFpbFF1b3RhdGlvblJlcXVlc3QoKSwgcmVxdWVzdCk7XHJcbiAgICAgIGNvbnN0IHJlc3VsdDogQ29Eb2N1bWVudCB8IGJvb2xlYW4gPSBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5lbWFpbFF1b3RhdGlvbihlbWFpbFF1b3RhdGlvblJlcXVlc3QpO1xyXG4gICAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgQ29Eb2N1bWVudCkge1xyXG4gICAgICAgIHRoaXMuc2lnbmF0dXJlRG9jdW1lbnRJZCA9IHJlc3VsdC5kb2N1bWVudElkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0RGVmYXVsdEVtYWlsQWRkcmVzc0xpc3QoKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldERlZmF1bHRFbWFpbEFkZHJlc3NMaXN0Rm9yUXVvdGF0aW9uKHRoaXMudHJhbnNhY3Rpb25JbmZvLnV1aWQpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGFzeW5jIGdldERlZmF1bHRTZW5kTWV0aG9kKCk6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0UXVvdGF0aW9uRGVmYXVsdFNlbmRNZXRob2QodGhpcy50cmFuc2FjdGlvbkluZm8ucmVsYXRpb24ucmVsYXRpb25JZCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0RW1haWxMYXlvdXRzKCk6IFByb21pc2U8UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWxbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFF1b3RhdGlvbkVtYWlsTGF5b3V0cyh0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRQcmludExheW91dHMoKTogUHJvbWlzZTxSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0UXVvdGF0aW9uUHJpbnRMYXlvdXRzKHRoaXMudHJhbnNhY3Rpb25JbmZvLnV1aWQpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGFzeW5jIHBkZkRvY3VtZW50KHJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QpIHtcclxuICAgIGlmICh0aGlzLnNlbmREb2N1bWVudHNDb21wb25lbnQuc2VsZWN0ZWQpIHtcclxuICAgICAgY29uc3QgcGRmSGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0OiBQZGZIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3QgPVxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24obmV3IFBkZkhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdCgpLCByZXF1ZXN0KTtcclxuICAgICAgdGhpcy5fcHJlcGFyZUhpc3RvcmljUmVxdWVzdChwZGZIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3QpO1xyXG4gICAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5wZGZIaXN0b3JpY1F1b3RhdGlvbihwZGZIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgcGRmUXVvdGF0aW9uUmVxdWVzdDogUGRmUXVvdGF0aW9uUmVxdWVzdCA9XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihuZXcgUGRmUXVvdGF0aW9uUmVxdWVzdCgpLCByZXF1ZXN0KTtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UucGRmUXVvdGF0aW9uKHBkZlF1b3RhdGlvblJlcXVlc3QpLnRoZW4oKHJlc3VsdDogQ29Eb2N1bWVudCB8IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgQ29Eb2N1bWVudCkge1xyXG4gICAgICAgICAgdGhpcy5zaWduYXR1cmVEb2N1bWVudElkID0gcmVzdWx0LmRvY3VtZW50SWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3luYyBwcmludERvY3VtZW50KHJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QpIHtcclxuICAgIGlmICh0aGlzLnNlbmREb2N1bWVudHNDb21wb25lbnQuc2VsZWN0ZWQpIHtcclxuICAgICAgY29uc3QgcHJpbnRIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3Q6IFByaW50SGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0ID1cclxuICAgICAgICBPYmplY3QuYXNzaWduKG5ldyBQcmludEhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdCgpLCByZXF1ZXN0KTtcclxuICAgICAgdGhpcy5fcHJlcGFyZUhpc3RvcmljUmVxdWVzdChwcmludEhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdCk7XHJcbiAgICAgIGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnByaW50SGlzdG9yaWNRdW90YXRpb24ocHJpbnRIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgcHJpbnRRdW90YXRpb25SZXF1ZXN0OiBQcmludFF1b3RhdGlvblJlcXVlc3QgPVxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24obmV3IFByaW50UXVvdGF0aW9uUmVxdWVzdCgpLCByZXF1ZXN0KTtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UucHJpbnRRdW90YXRpb24ocHJpbnRRdW90YXRpb25SZXF1ZXN0KS50aGVuKChyZXN1bHQ6IENvRG9jdW1lbnQgfCBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIENvRG9jdW1lbnQpIHtcclxuICAgICAgICAgIHRoaXMuc2lnbmF0dXJlRG9jdW1lbnRJZCA9IHJlc3VsdC5kb2N1bWVudElkO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wcmVwYXJlSGlzdG9yaWNSZXF1ZXN0KHJlcXVlc3Q6IEVtYWlsSGlzdG9yaWNPcmRlckNvbmZpcm1hdGlvblJlcXVlc3QgfCBQcmludEhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0IHwgUGRmSGlzdG9yaWNPcmRlckNvbmZpcm1hdGlvblJlcXVlc3QpOiB2b2lkIHtcclxuICAgIHJlcXVlc3QucmVwb3J0RGF0YUlkID0gdGhpcy5zZW5kRG9jdW1lbnRzQ29tcG9uZW50LmFjdGl2ZVJlcG9ydC5yZXBvcnRJZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVTYWxlc09yZGVyKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgcmVxdWVzdDogQ29weVRyYW5zYWN0aW9uUmVxdWVzdCA9IG5ldyBDb3B5VHJhbnNhY3Rpb25SZXF1ZXN0KCk7XHJcbiAgICByZXF1ZXN0LnRyYW5zSWQgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby5pZDtcclxuICAgIHJlcXVlc3QudHJhbnNhY3Rpb25EYXRlID0gbmV3IERhdGUoKTtcclxuICAgIHJlcXVlc3QudHJhbnNhY3Rpb25SZWxhdGlvbklkID0gdGhpcy50cmFuc2FjdGlvbkluZm8ucmVsYXRpb24ucmVsYXRpb25JZDtcclxuICAgIHJlcXVlc3QuaGFuZGxlZEJ5UmVsYXRpb25JZCA9IHRoaXMudHJhbnNhY3Rpb25JbmZvLmhhbmRsZWRCeTtcclxuXHJcbiAgICB0aGlzLmNyZWF0aW5nU2FsZXNPcmRlciA9IHRydWU7XHJcbiAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uQ3JlYXRpb25TZXJ2aWNlLmNyZWF0ZVNhbGVzT3JkZXJUaHJvdWdoUXVvdGF0aW9uKHJlcXVlc3QpO1xyXG4gICAgdGhpcy5jcmVhdGluZ1NhbGVzT3JkZXIgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTYWxlc09yZGVyTmF2aWdhdGlvbih0cmFuc05yOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25OYXZpZ2F0aW9uLm5leHQodHJhbnNOcik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Q3VycmVudFJlZlRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvblJlZlRyYW5zYWN0aW9uW10ge1xyXG4gICAgY29uc3QgcmVmVHJhbnNhY3Rpb25OcnM6IFNldDxzdHJpbmc+ID0gbmV3IFNldCgpO1xyXG4gICAgY29uc3QgcmVmVHJhbnNhY3Rpb25zTGlzdDogVHJhbnNhY3Rpb25SZWZUcmFuc2FjdGlvbltdID0gW107XHJcblxyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uTGluZXMuZm9yRWFjaCgobGluZSkgPT4ge1xyXG4gICAgICBsaW5lLnJlZlRyYW5zYWN0aW9ucz8uZm9yRWFjaCgocmVmKSA9PiB7XHJcbiAgICAgICAgaWYgKCFyZWZUcmFuc2FjdGlvbk5ycy5oYXMocmVmLnJlZlRyYW5zYWN0aW9uTnIpKSB7XHJcbiAgICAgICAgICByZWZUcmFuc2FjdGlvbk5ycy5hZGQocmVmLnJlZlRyYW5zYWN0aW9uTnIpO1xyXG4gICAgICAgICAgcmVmVHJhbnNhY3Rpb25zTGlzdC5wdXNoKHJlZik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiByZWZUcmFuc2FjdGlvbnNMaXN0O1xyXG4gIH1cclxufVxyXG4iXX0=
212
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNhbGVzLXF1b3RhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNhbGVzLXF1b3RhdGlvbi90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtc2FsZXMtcXVvdGF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQXFCLFNBQVMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6SCxPQUFPLEVBQUMsNkNBQTZDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUNySCxPQUFPLEVBQUMsd0NBQXdDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUN0SSxPQUFPLEVBQUMsd0NBQXdDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUN0SSxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQztBQUdsSCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUVyRyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDckUsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDeEgsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDcEgsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sOERBQThELENBQUM7QUFHbkcsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDcEgsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sOERBQThELENBQUM7QUFDbkcsT0FBTyxF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QUcsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztvQkFDNUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUMvQjtZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLG1CQUFtQixDQUFDO0lBQzdCLENBQUM7OztZQWhNRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDZDQUE2QztnQkFDdkQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkNUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUF6RE8sdUJBQXVCO1lBQ3ZCLGdCQUFnQjtZQUNoQixxQ0FBcUM7WUFDckMsdUJBQXVCO1lBQ3ZCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUF4QmxCLGlCQUFpQjtZQXlCakIsMEJBQTBCOzs7cUNBdUQvQixTQUFTLFNBQUMsaUNBQWlDO3dCQU8zQyxXQUFXLFNBQUMsbURBQW1EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUXVpY2tBY2Nlc3NTZW5kTWV0aG9kQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNlbmQtbWV0aG9kLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtcHJpbnQtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtZW1haWwtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtcGRmLWJhc2UtcmVxdWVzdCc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLXByaW50LmJvJztcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LWxheW91dC1zZWxlY3Rpb24tZW1haWwuYm8nO1xyXG5pbXBvcnQge0NvcHlUcmFuc2FjdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jb3B5LXRyYW5zYWN0aW9uLXJlcXVlc3QnO1xyXG5pbXBvcnQge0VtYWlsSGlzdG9yaWNPcmRlckNvbmZpcm1hdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9lbWFpbC1oaXN0b3JpYy1vcmRlci1jb25maXJtYXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7Q29Eb2N1bWVudH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VuZERvY3VtZW50c0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tc2VuZC1kb2N1bWVudHMvdHJhbnNhY3Rpb24tc2VuZC1kb2N1bWVudHMuY29tcG9uZW50JztcclxuaW1wb3J0IHtFbWFpbEhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2VtYWlsLWhpc3RvcmljLXF1b3RhdGlvbi1yZXF1ZXN0JztcclxuaW1wb3J0IHtFbWFpbFF1b3RhdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9lbWFpbC1xdW90YXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7UHJpbnRIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3ByaW50LWhpc3RvcmljLW9yZGVyLWNvbmZpcm1hdGlvbi1yZXF1ZXN0JztcclxuaW1wb3J0IHtQZGZIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BkZi1oaXN0b3JpYy1vcmRlci1jb25maXJtYXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7UHJpbnRIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wcmludC1oaXN0b3JpYy1xdW90YXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7UHJpbnRRdW90YXRpb25SZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHJpbnQtcXVvdGF0aW9uLXJlcXVlc3QnO1xyXG5pbXBvcnQge1BkZlF1b3RhdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wZGYtcXVvdGF0aW9uLXJlcXVlc3QnO1xyXG5pbXBvcnQge1BkZkhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BkZi1oaXN0b3JpYy1xdW90YXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2NyZWVuLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbWFnZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24taW1hZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25DcmVhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tY3JlYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25SZWZUcmFuc2FjdGlvbn0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWxpbmUtaW5mby5ibyc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXRyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1zYWxlcy1xdW90YXRpb25cIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInF1aWNrLWFjY2Vzcy1jb250ZW50LXdyYXBwZXJcIj5cclxuICAgICAgPGNvLXF1aWNrLXNlbmQtYnV0dG9uXHJcbiAgICAgICAgW2RlZmF1bHRNZXRob2RJY29uXT1cImRlZmF1bHRTZW5kTWV0aG9kSWNvblwiXHJcbiAgICAgICAgW3Nob3dMb2FkZXJdPVwic2hvd0xvYWRlclwiXHJcbiAgICAgICAgKHNlbmRJY29uQ2xpY2tlZCk9XCJoYW5kbGVTZW5kKGRlZmF1bHRTZW5kTWV0aG9kKVwiXHJcbiAgICAgICAgKG9wZW5TZW5kTWV0aG9kRGlhbG9nKT1cInNob3dTZW5kTWV0aG9kRGlhbG9nID0gdHJ1ZVwiXHJcbiAgICAgID48L2NvLXF1aWNrLXNlbmQtYnV0dG9uPlxyXG4gICAgICA8Y28tdHJhbnNhY3Rpb24tc2VuZC1kb2N1bWVudHNcclxuICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgW3RyYW5zYWN0aW9uVHlwZUNhdGVnb3J5XT1cInRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJRdW90YXRpb25cIlxyXG4gICAgICA+PC9jby10cmFuc2FjdGlvbi1zZW5kLWRvY3VtZW50cz5cclxuICAgICAgPGNvLWJ1dHRvblxyXG4gICAgICAgIFtsYWJlbF09XCInU0FMRVNfUVVPVEFUSU9OJyB8IGxvY2FsaXplXCJcclxuICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNhcnRTaG9wcGluZ1JlZ3VsYXIpXCJcclxuICAgICAgICAoY2xpY2spPVwiY3JlYXRlU2FsZXNPcmRlcigpXCJcclxuICAgICAgPjwvY28tYnV0dG9uPlxyXG4gICAgICA8Y28tdHJhbnNhY3Rpb24tbmF2aWdhdGlvbi1idXR0b24tbGlzdFxyXG4gICAgICAgIFtyZWZUcmFuc2FjdGlvbnNdPVwiZ2V0Q3VycmVudFJlZlRyYW5zYWN0aW9ucygpXCJcclxuICAgICAgICBbc2hvd1JlbGF0aW9uQnV0dG9uXT1cImZhbHNlXCJcclxuICAgICAgICBbZW1wdHlMYWJlbF09XCInTk9fU0FMRVNfT1JERVInIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICh0cmFuc2FjdGlvbkNsaWNrKT1cImhhbmRsZVNhbGVzT3JkZXJOYXZpZ2F0aW9uKCRldmVudClcIlxyXG4gICAgICA+PC9jby10cmFuc2FjdGlvbi1uYXZpZ2F0aW9uLWJ1dHRvbi1saXN0PlxyXG4gICAgICA8Y28tc2VuZC1tZXRob2QtZGlhbG9nICpuZ0lmPVwic2hvd1NlbmRNZXRob2REaWFsb2dcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoZWFkZXJUaXRsZV09XCInVmVyemVuZG1ldGhvZGUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcHJpbnRlckxpc3RdPVwicHJpbnRlckxpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0U2VuZE1ldGhvZF09XCJkZWZhdWx0U2VuZE1ldGhvZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Zpc2libGVNZXRob2RzXT1cIltzZW5kTWV0aG9kVHlwZS5QcmludCwgc2VuZE1ldGhvZFR5cGUuRW1haWxdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW1haWxBZGRyZXNzZXNdPVwiZW1haWxBZGRyZXNzZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbWFpbExheW91dHNdPVwiZW1haWxMYXlvdXRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcHJpbnRMYXlvdXRzXT1cInByaW50TGF5b3V0c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzRG9jU2lnbkVuYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhyZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdCldPVwicmVwb3J0RG9jdW1lbnRFbWFpbFJlcXVlc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsocmVwb3J0aW5nRG9jdW1lbnRQcmludFJlcXVlc3QpXT1cInJlcG9ydERvY3VtZW50UHJpbnRSZXF1ZXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdCldPVwicmVwb3J0RG9jdW1lbnRQZGZSZXF1ZXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJzaG93U2VuZE1ldGhvZERpYWxvZyA9IGZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob2tDbGljayk9XCJoYW5kbGVTZW5kTWV0aG9kT2tDbGljaygkZXZlbnQpXCJcclxuICAgICAgPjwvY28tc2VuZC1tZXRob2QtZGlhbG9nPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Y28tZGlnaXRhbC1zaWduYXR1cmVcclxuICAgICAgW2RvY3VtZW50SWRdPVwic2lnbmF0dXJlRG9jdW1lbnRJZFwiXHJcbiAgICAgIChkb2N1bWVudFN0b3JlZCk9XCJjb21taXRBbmRSZWZyZXNoVHJhbnNhY3Rpb24oKVwiXHJcbiAgICA+PC9jby1kaWdpdGFsLXNpZ25hdHVyZT5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvblF1aWNrQWNjZXNzU2FsZXNRdW90YXRpb25Db21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvblF1aWNrQWNjZXNzU2VuZE1ldGhvZEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoVHJhbnNhY3Rpb25TZW5kRG9jdW1lbnRzQ29tcG9uZW50KVxyXG4gIHB1YmxpYyBzZW5kRG9jdW1lbnRzQ29tcG9uZW50OiBUcmFuc2FjdGlvblNlbmREb2N1bWVudHNDb21wb25lbnQ7XHJcblxyXG4gIHB1YmxpYyBjcmVhdGluZ1NhbGVzT3JkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNhbGVzLXF1b3RhdGlvblwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZXBvcnREb2N1bWVudEVtYWlsUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCA9IG5ldyBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0KCk7XHJcbiAgcHVibGljIHJlcG9ydERvY3VtZW50UHJpbnRSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0ID0gbmV3IFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QoKTtcclxuICBwdWJsaWMgcmVwb3J0RG9jdW1lbnRQZGZSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0ID0gbmV3IFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgc2NyZWVuQ29uZmlnU2VydmljZTogVHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBpbWFnZVNlcnZpY2U6IFRyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGRpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgIHByb3RlY3RlZCB0cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHRyYW5zYWN0aW9uQ3JlYXRpb25TZXJ2aWNlOiBUcmFuc2FjdGlvbkNyZWF0aW9uU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIodHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsIGljb25DYWNoZVNlcnZpY2UsIHNjcmVlbkNvbmZpZ1NlcnZpY2UsIGltYWdlU2VydmljZSwgZGljdGlvbmFyeVNlcnZpY2UsIHRyYW5zYWN0aW9uU2VydmljZSxjaGFuZ2VEZXRlY3Rvcik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnVwZGF0ZVRyYW5zYWN0aW9uUmVmZXJlbmNlcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuY2hlY2tSZWZUcmFuc2FjdGlvbigpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGFzeW5jIGVtYWlsRG9jdW1lbnQocmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuc2VuZERvY3VtZW50c0NvbXBvbmVudC5zZWxlY3RlZCkge1xyXG4gICAgICBjb25zdCBlbWFpbEhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdDogRW1haWxIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3QgPVxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24obmV3IEVtYWlsSGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0KCksIHJlcXVlc3QpO1xyXG4gICAgICB0aGlzLl9wcmVwYXJlSGlzdG9yaWNSZXF1ZXN0KGVtYWlsSGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0KTtcclxuICAgICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZW1haWxIaXN0b3JpY1F1b3RhdGlvbihlbWFpbEhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBlbWFpbFF1b3RhdGlvblJlcXVlc3Q6IEVtYWlsUXVvdGF0aW9uUmVxdWVzdCA9XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihuZXcgRW1haWxRdW90YXRpb25SZXF1ZXN0KCksIHJlcXVlc3QpO1xyXG4gICAgICBjb25zdCByZXN1bHQ6IENvRG9jdW1lbnQgfCBib29sZWFuID0gYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZW1haWxRdW90YXRpb24oZW1haWxRdW90YXRpb25SZXF1ZXN0KTtcclxuICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIENvRG9jdW1lbnQpIHtcclxuICAgICAgICB0aGlzLnNpZ25hdHVyZURvY3VtZW50SWQgPSByZXN1bHQuZG9jdW1lbnRJZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldERlZmF1bHRFbWFpbEFkZHJlc3NMaXN0KCk6IFByb21pc2U8c3RyaW5nW10+IHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXREZWZhdWx0RW1haWxBZGRyZXNzTGlzdEZvclF1b3RhdGlvbih0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3luYyBnZXREZWZhdWx0U2VuZE1ldGhvZCgpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFF1b3RhdGlvbkRlZmF1bHRTZW5kTWV0aG9kKHRoaXMudHJhbnNhY3Rpb25JbmZvLnJlbGF0aW9uLnJlbGF0aW9uSWQpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldEVtYWlsTGF5b3V0cygpOiBQcm9taXNlPFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsW10+IHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRRdW90YXRpb25FbWFpbExheW91dHModGhpcy50cmFuc2FjdGlvbkluZm8udXVpZCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0UHJpbnRMYXlvdXRzKCk6IFByb21pc2U8UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnRbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFF1b3RhdGlvblByaW50TGF5b3V0cyh0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3luYyBwZGZEb2N1bWVudChyZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0KSB7XHJcbiAgICBpZiAodGhpcy5zZW5kRG9jdW1lbnRzQ29tcG9uZW50LnNlbGVjdGVkKSB7XHJcbiAgICAgIGNvbnN0IHBkZkhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdDogUGRmSGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0ID1cclxuICAgICAgICBPYmplY3QuYXNzaWduKG5ldyBQZGZIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3QoKSwgcmVxdWVzdCk7XHJcbiAgICAgIHRoaXMuX3ByZXBhcmVIaXN0b3JpY1JlcXVlc3QocGRmSGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0KTtcclxuICAgICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UucGRmSGlzdG9yaWNRdW90YXRpb24ocGRmSGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHBkZlF1b3RhdGlvblJlcXVlc3Q6IFBkZlF1b3RhdGlvblJlcXVlc3QgPVxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24obmV3IFBkZlF1b3RhdGlvblJlcXVlc3QoKSwgcmVxdWVzdCk7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnBkZlF1b3RhdGlvbihwZGZRdW90YXRpb25SZXF1ZXN0KS50aGVuKChyZXN1bHQ6IENvRG9jdW1lbnQgfCBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIENvRG9jdW1lbnQpIHtcclxuICAgICAgICAgIHRoaXMuc2lnbmF0dXJlRG9jdW1lbnRJZCA9IHJlc3VsdC5kb2N1bWVudElkO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYXN5bmMgcHJpbnREb2N1bWVudChyZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KSB7XHJcbiAgICBpZiAodGhpcy5zZW5kRG9jdW1lbnRzQ29tcG9uZW50LnNlbGVjdGVkKSB7XHJcbiAgICAgIGNvbnN0IHByaW50SGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0OiBQcmludEhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdCA9XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihuZXcgUHJpbnRIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3QoKSwgcmVxdWVzdCk7XHJcbiAgICAgIHRoaXMuX3ByZXBhcmVIaXN0b3JpY1JlcXVlc3QocHJpbnRIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3QpO1xyXG4gICAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5wcmludEhpc3RvcmljUXVvdGF0aW9uKHByaW50SGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHByaW50UXVvdGF0aW9uUmVxdWVzdDogUHJpbnRRdW90YXRpb25SZXF1ZXN0ID1cclxuICAgICAgICBPYmplY3QuYXNzaWduKG5ldyBQcmludFF1b3RhdGlvblJlcXVlc3QoKSwgcmVxdWVzdCk7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnByaW50UXVvdGF0aW9uKHByaW50UXVvdGF0aW9uUmVxdWVzdCkudGhlbigocmVzdWx0OiBDb0RvY3VtZW50IHwgYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBDb0RvY3VtZW50KSB7XHJcbiAgICAgICAgICB0aGlzLnNpZ25hdHVyZURvY3VtZW50SWQgPSByZXN1bHQuZG9jdW1lbnRJZDtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZUhpc3RvcmljUmVxdWVzdChyZXF1ZXN0OiBFbWFpbEhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0IHwgUHJpbnRIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCB8IFBkZkhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0KTogdm9pZCB7XHJcbiAgICByZXF1ZXN0LnJlcG9ydERhdGFJZCA9IHRoaXMuc2VuZERvY3VtZW50c0NvbXBvbmVudC5hY3RpdmVSZXBvcnQucmVwb3J0SWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlU2FsZXNPcmRlcigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHJlcXVlc3Q6IENvcHlUcmFuc2FjdGlvblJlcXVlc3QgPSBuZXcgQ29weVRyYW5zYWN0aW9uUmVxdWVzdCgpO1xyXG4gICAgcmVxdWVzdC50cmFuc0lkID0gdGhpcy50cmFuc2FjdGlvbkluZm8uaWQ7XHJcbiAgICByZXF1ZXN0LnRyYW5zYWN0aW9uRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICByZXF1ZXN0LnRyYW5zYWN0aW9uUmVsYXRpb25JZCA9IHRoaXMudHJhbnNhY3Rpb25JbmZvLnJlbGF0aW9uLnJlbGF0aW9uSWQ7XHJcbiAgICByZXF1ZXN0LmhhbmRsZWRCeVJlbGF0aW9uSWQgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby5oYW5kbGVkQnk7XHJcblxyXG4gICAgdGhpcy5jcmVhdGluZ1NhbGVzT3JkZXIgPSB0cnVlO1xyXG4gICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvbkNyZWF0aW9uU2VydmljZS5jcmVhdGVTYWxlc09yZGVyVGhyb3VnaFF1b3RhdGlvbihyZXF1ZXN0KTtcclxuICAgIHRoaXMuY3JlYXRpbmdTYWxlc09yZGVyID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2FsZXNPcmRlck5hdmlnYXRpb24odHJhbnNOcjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uTmF2aWdhdGlvbi5uZXh0KHRyYW5zTnIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEN1cnJlbnRSZWZUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25SZWZUcmFuc2FjdGlvbltdIHtcclxuICAgIGNvbnN0IHJlZlRyYW5zYWN0aW9uTnJzOiBTZXQ8c3RyaW5nPiA9IG5ldyBTZXQoKTtcclxuICAgIGNvbnN0IHJlZlRyYW5zYWN0aW9uc0xpc3Q6IFRyYW5zYWN0aW9uUmVmVHJhbnNhY3Rpb25bXSA9IFtdO1xyXG5cclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkxpbmVzLmZvckVhY2goKGxpbmUpID0+IHtcclxuICAgICAgbGluZS5yZWZUcmFuc2FjdGlvbnM/LmZvckVhY2goKHJlZikgPT4ge1xyXG4gICAgICAgIGlmICghcmVmVHJhbnNhY3Rpb25OcnMuaGFzKHJlZi5yZWZUcmFuc2FjdGlvbk5yKSkge1xyXG4gICAgICAgICAgcmVmVHJhbnNhY3Rpb25OcnMuYWRkKHJlZi5yZWZUcmFuc2FjdGlvbk5yKTtcclxuICAgICAgICAgIHJlZlRyYW5zYWN0aW9uc0xpc3QucHVzaChyZWYpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gcmVmVHJhbnNhY3Rpb25zTGlzdDtcclxuICB9XHJcbn1cclxuIl19
@@ -235,4 +235,4 @@ TransactionSalesQuotationFilterContentOrderComponent.decorators = [
235
235
  TransactionSalesQuotationFilterContentOrderComponent.propDecorators = {
236
236
  showClass: [{ type: HostBinding, args: ["class.co-transaction-sales-quotation-filter-content-order",] }]
237
237
  };
238
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tc2FsZXMtcXVvdGF0aW9uLWZpbHRlci1jb250ZW50LW9yZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC9zYWxlcy1xdW90YXRpb24tZmlsdGVyLWNvbnRlbnQvdHJhbnNhY3Rpb24tc2FsZXMtcXVvdGF0aW9uLWZpbHRlci1jb250ZW50LW9yZGVyL3RyYW5zYWN0aW9uLXNhbGVzLXF1b3RhdGlvbi1maWx0ZXItY29udGVudC1vcmRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxjQUFjLEVBQXVCLGVBQWUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2xHLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUluRixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scURBQXFELENBQUM7QUFHakYsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFvSnRILE1BQU0sT0FBTyxvREFBcUQsU0FBUSxxQ0FBcUM7SUFqSi9HOztRQWtKa0IsVUFBSyxHQUEwQixjQUFjLENBQUM7UUFRdkQsdUJBQWtCLEdBQW9CLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFDLENBQUM7UUFHMUUsZUFBVSxHQUFvQixFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBQyxDQUFDO1FBR3pFLGlCQUFZLEdBQW9CLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUs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Q0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQ0FBaUQsRUFBRSxFQUFFO1lBQ2hHLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxJQUFJLGVBQWUsQ0FBQyxnQ0FBZ0MsRUFBRSxJQUFJLENBQUMsc0NBQXNDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDekosQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUF6UEYsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxxREFBcUQ7Z0JBQy9ELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0E0SVQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDeEM7Ozt3QkFJRSxXQUFXLFNBQUMsMkRBQTJEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RmlsdGVySXRlbU1vZGUsIEZpbHRlckl0ZW1WaWV3bW9kZWwsIEZpbHRlclZpZXdtb2RlbH0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7UmVsYXRpb25SZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7UmVsYXRpb25MaXN0T2JqZWN0fSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tbGlzdC1vYmplY3QuYm8nO1xyXG5pbXBvcnQge1NhbGVzUGVyc29ufSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvc2FsZXMtcGVyc29uLmJvJztcclxuaW1wb3J0IHtUYWd9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3RhZyc7XHJcbmltcG9ydCB7UmVsYXRpb25LaW5kfSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvZW51bS9yZWxhdGlvbi1raW5kLmVudW0nO1xyXG5pbXBvcnQge0NvRG9tYWluVmFsdWV9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvbWFpbi12YWx1ZS5ibyc7XHJcbmltcG9ydCB7Q3VzdG9tZXJHcm91cH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2N1c3RvbWVyLWdyb3VwLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkZpbHRlckNvbnRlbnRCYXNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1JldGFpbFN0YWRpdW19IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmV0YWlsLXN0YWRpdW0uYm9cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiY28tdHJhbnNhY3Rpb24tc2FsZXMtcXVvdGF0aW9uLWZpbHRlci1jb250ZW50LW9yZGVyXCIsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtb3JkZXItd3JhcHBlciB0cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC13cmFwcGVyXCI+XHJcblxyXG4gICAgICAgIDwhLS1PcmRlcmRhdHVtLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ09SREVSX0RBVEUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LnJhbmdlVHJhbnNEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5EYXRlUmFuZ2VGaWVsZFwiPlxyXG4gICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ0RFTElWRVJZX0RBVEUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LmRlbGl2ZXJ5RGF0ZVJhbmdlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5EYXRlUmFuZ2VGaWVsZFwiPlxyXG4gICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ0JSQU5DSCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cImJyYW5jaGVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LnJhbmdlQnJhbmNoSWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLkZpbHRlcmxpc3RcIj5cclxuICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS1WZXJrb3Blci0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cIidIQU5ETEVEX0JZJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwic2FsZXNQZXJzb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LnJhbmdlSGFuZGxlZEJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5GaWx0ZXJsaXN0XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS1TY29yaW5nc2thbnMtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInU0NPUklOR19DSEFOQ0UnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LnJhbmdlU2NvcmluZ0NoYW5jZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NsaWRlckRlZmF1bHRNaW5dPTBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2xpZGVyRGVmYXVsdE1heF09MTAwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuTnVsbGFibGVTbGlkZXJcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPCEtLVNjb3JpbmdzZGF0dW0tLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInU0NPUklOR19EQVRFJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5yYW5nZUV4cGVjdGVkU2NvcmluZ0RhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLkRhdGVSYW5nZUZpZWxkXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS1WZXJrb29wc3RhZGl1bS0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cIidSRVRBSUxfU1RBRElVTSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInJldGFpbFN0YWRpdW1zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LnJhbmdlUmV0YWlsU3RhZGl1bVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuRmlsdGVybGlzdFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tRWlnZW4gcmVmZXJlbnRpZS0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cIidPV05fUkVGRVJFTkNFJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5vd25SZWZlcmVuY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLlRleHRGaWVsZFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tVGFncy0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cIidUQUdTJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwidGFnc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC50YWdSYW5nZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuRmlsdGVybGlzdFwiPlxyXG4gICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPCEtLU9yZGVyIGRlZmluaXRpZWYtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInT1JERVJfREVGSU5JVElWRSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cIm9yZGVyRGVmaW5pdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFNlcnZpY2Uuc2VhcmNoUmVxdWVzdC50cmFuc2FjdGlvbkRlZmluaXRpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLkZpbHRlcmxpc3RcIj5cclxuICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS1Db21taXNzaWVjb2RlLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ0NPTU1JU1NJT05fQ09ERSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cImNvbW1pc3Npb25Db2Rlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5jb21taXNzaW9uQ29kZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLlNlbGVjdExpc3RXaXRoU3RyaW5nQ29sbGVjdGlvbk91dHB1dFwiPlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInSU5BQ1RJVkVfVFJBTlNBQ1RJT05TJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLkNoZWNrYm94XCI+XHJcbiAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tS2xhbnRuYWFtLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ0NVU1RPTUVSX05BTUUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoQ29sbGVjdGlvblBsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyLkN1c3RvbWVyTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuU2luZ2xlU2VsZWN0TGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5yZWxhdGlvbk5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttaW5TZWFyY2hDaGFyc1RvTG9hZENvbGxlY3Rpb25dPVwiM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25Mb2FkRm5dPVwibG9hZEN1c3RvbWVyc1wiPlxyXG4gICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPCEtLUtsYW50Z3JvZXAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInQ1VTVE9NRVJfR1JPVVAnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LmN1c3RvbWVyR3JvdXBJZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuU2luZ2xlU2VsZWN0TGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwiY3VzdG9tZXJHcm91cHNcIj5cclxuICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS0gSXMgcXVvdGF0aW9uIHByb2Nlc3NlZCB0byBzYWxlZCBvcmRlciAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInSVNfUVVPVEFUSU9OX1BST0NFU1NFRF9UT19TQUxFU09SREVSJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwiaXNRdW90YXRpb25Qcm9jZXNzZWRUb1NhbGVzT3JkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3QuaXNRdW90YXRpb25Qcm9jZXNzZWRUb1NhbGVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5GaWx0ZXJsaXN0XCI+XHJcbiAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25TYWxlc1F1b3RhdGlvbkZpbHRlckNvbnRlbnRPcmRlckNvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uRmlsdGVyQ29udGVudEJhc2VDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBtb2RlczogdHlwZW9mIEZpbHRlckl0ZW1Nb2RlID0gRmlsdGVySXRlbU1vZGU7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLXNhbGVzLXF1b3RhdGlvbi1maWx0ZXItY29udGVudC1vcmRlclwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYWxlc1BlcnNvbnM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgc2FsZXNQZXJzb25zRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJuYW1lXCIsIHZhbHVlOiBcInJlbGF0aW9uSWRcIn07XHJcblxyXG4gIHB1YmxpYyB0YWdzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIHRhZ3NGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcInRhZ1ZhbHVlSWRcIn07XHJcblxyXG4gIHB1YmxpYyBicmFuY2hlczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyBicmFuY2hGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImZhbWlseU5hbWVcIiwgdmFsdWU6IFwicmVsYXRpb25JZFwifTtcclxuXHJcbiAgcHVibGljIGNvbW1pc3Npb25Db2RlczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyBjb21taXNzaW9uQ29kZUZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwiY29kZVwifTtcclxuXHJcbiAgcHVibGljIG9yZGVyRGVmaW5pdGU6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgb3JkZXJEZWZpbml0ZUZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwiY29kZVwifTtcclxuXHJcbiAgcHVibGljIGlzUXVvdGF0aW9uUHJvY2Vzc2VkVG9TYWxlc09yZGVyOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIGlzUXVvdGF0aW9uUHJvY2Vzc2VkVG9TYWxlc09yZGVyRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJjb2RlXCJ9O1xyXG5cclxuICBwdWJsaWMgY3VzdG9tZXJHcm91cHM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgY3VzdG9tZXJHcm91cEZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwibmFhbVwiLCB2YWx1ZTogXCJncm9lcHNudW1tZXJcIn07XHJcblxyXG4gIHB1YmxpYyByZXRhaWxTdGFkaXVtczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyByZXRhaWxTdGFkaXVtRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJyZXRhaWxTdGFkaXVtXCIsIHZhbHVlOiBcInJldGFpbFN0YWRpdW1cIn07XHJcblxyXG4gIHB1YmxpYyBsb2FkQ3VzdG9tZXJzID0gYXN5bmMgKG5hbWVGaWx0ZXI6IHN0cmluZykgPT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdDogUmVsYXRpb25SZXF1ZXN0ID0gbmV3IFJlbGF0aW9uUmVxdWVzdCgpO1xyXG4gICAgcmVxdWVzdC5mYW1pbHlOYW1lID0gbmFtZUZpbHRlcjtcclxuICAgIHJldHVybiB0aGlzLnJlbGF0aW9uU2VydmljZS5nZXRSZWxhdGlvbkxpc3RPYmplY3RzKHJlcXVlc3QpLnRoZW4oKHJlbGF0aW9uczogUmVsYXRpb25MaXN0T2JqZWN0W10pID0+IHtcclxuICAgICAgcmV0dXJuIG5ldyBGaWx0ZXJWaWV3bW9kZWwocmVsYXRpb25zLCB7dGV4dDogJ2ZhbWlseU5hbWUnLCB2YWx1ZTogJ2ZhbWlseU5hbWUnfSkuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBsb2FkQ29sbGVjdGlvbnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zZXRTYWxlc1BlcnNvbnMoKTtcclxuICAgIHRoaXMuX3NldFRhZ3MoKTtcclxuICAgIHRoaXMuX3NldEJyYW5jaGVzKCk7XHJcbiAgICB0aGlzLl9zZXRDb21taXNzaW9uQ29kZXMoKTtcclxuICAgIHRoaXMuX3NldE9yZGVyRGVmaW5pdGl2ZSgpO1xyXG4gICAgdGhpcy5fc2V0Q3VzdG9tZXJHcm91cHMoKTtcclxuICAgIHRoaXMuX3NldFJldGFpbFN0YWRpdW1zKCk7XHJcbiAgICB0aGlzLl9zZXRJc1F1b3RhdGlvblByb2Nlc3NlZFRvU2FsZXMoKTtcclxuICB9XHJcblxyXG4gIC8vVmVya29wZXJcclxuICBwcml2YXRlIF9zZXRTYWxlc1BlcnNvbnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRTYWxlc1BlcnNvbnMoKS50aGVuKChzYWxlc1BlcnNvbnM6IFNhbGVzUGVyc29uW10pID0+IHtcclxuICAgICAgdGhpcy5zYWxlc1BlcnNvbnMgPSBuZXcgRmlsdGVyVmlld21vZGVsKHNhbGVzUGVyc29ucywgdGhpcy5zYWxlc1BlcnNvbnNGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBUYWdzXHJcbiAgcHJpdmF0ZSBfc2V0VGFncygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFRhZ3MoMSkudGhlbigodGFnczogVGFnW10pID0+IHtcclxuICAgICAgdGhpcy50YWdzID0gbmV3IEZpbHRlclZpZXdtb2RlbCh0YWdzLCB0aGlzLnRhZ3NGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL0JyYW5jaGVzXHJcbiAgcHJpdmF0ZSBfc2V0QnJhbmNoZXMoKTogdm9pZCB7XHJcbiAgICBjb25zdCByZXF1ZXN0OiBSZWxhdGlvblJlcXVlc3QgPSBuZXcgUmVsYXRpb25SZXF1ZXN0KCk7XHJcbiAgICByZXF1ZXN0LnJlbGF0aW9uVHlwZSA9IFJlbGF0aW9uS2luZC5CcmFuY2g7XHJcbiAgICB0aGlzLnJlbGF0aW9uU2VydmljZS5nZXRSZWxhdGlvbkxpc3RPYmplY3RzKHJlcXVlc3QpLnRoZW4oKGJyYW5jaGVzOiBSZWxhdGlvbkxpc3RPYmplY3RbXSkgPT4ge1xyXG4gICAgICB0aGlzLmJyYW5jaGVzID0gbmV3IEZpbHRlclZpZXdtb2RlbChicmFuY2hlcywgdGhpcy5icmFuY2hGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL0NvbW1pc3Npb25Db2Rlc1xyXG4gIHByaXZhdGUgX3NldENvbW1pc3Npb25Db2RlcygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldENvbW1pc3Npb25Db2RlcyhcIk5MXCIpLnRoZW4oKGNvbW1pc3Npb25Db2RlczogQ29Eb21haW5WYWx1ZVtdKSA9PiB7XHJcbiAgICAgIHRoaXMuY29tbWlzc2lvbkNvZGVzID0gbmV3IEZpbHRlclZpZXdtb2RlbChjb21taXNzaW9uQ29kZXMsIHRoaXMuY29tbWlzc2lvbkNvZGVGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRPcmRlckRlZmluaXRpdmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRZZXNObyhcIk5MXCIpLnRoZW4oKG9yZGVyRGVmaW5pdGU6IENvRG9tYWluVmFsdWVbXSkgPT4ge1xyXG4gICAgICB0aGlzLm9yZGVyRGVmaW5pdGUgPSBuZXcgRmlsdGVyVmlld21vZGVsKG9yZGVyRGVmaW5pdGUsIHRoaXMub3JkZXJEZWZpbml0ZUZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vQ3VzdG9tZXJHcm91cHNcclxuICBwcml2YXRlIF9zZXRDdXN0b21lckdyb3VwcygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldEN1c3RvbWVyR3JvdXBzKCkudGhlbigoY3VzdG9tZXJHcm91cHM6IEN1c3RvbWVyR3JvdXBbXSkgPT4ge1xyXG4gICAgICB0aGlzLmN1c3RvbWVyR3JvdXBzID0gbmV3IEZpbHRlclZpZXdtb2RlbChjdXN0b21lckdyb3VwcywgdGhpcy5jdXN0b21lckdyb3VwRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0UmV0YWlsU3RhZGl1bXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRSZXRhaWxTdGFkaXVtcygpLnRoZW4oKHJldGFpbFN0YWRpdW06IFJldGFpbFN0YWRpdW1bXSkgPT4ge1xyXG4gICAgICB0aGlzLnJldGFpbFN0YWRpdW1zID0gbmV3IEZpbHRlclZpZXdtb2RlbChyZXRhaWxTdGFkaXVtLCB0aGlzLnJldGFpbFN0YWRpdW1GaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRJc1F1b3RhdGlvblByb2Nlc3NlZFRvU2FsZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRZZXNObyhcIk5MXCIpLnRoZW4oKGlzUXVvdGF0aW9uUHJvY2Vzc2VkVG9TYWxlc09yZGVyOiBDb0RvbWFpblZhbHVlW10pID0+IHtcclxuICAgICAgdGhpcy5pc1F1b3RhdGlvblByb2Nlc3NlZFRvU2FsZXNPcmRlciA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwoaXNRdW90YXRpb25Qcm9jZXNzZWRUb1NhbGVzT3JkZXIsIHRoaXMuaXNRdW90YXRpb25Qcm9jZXNzZWRUb1NhbGVzT3JkZXJGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tc2FsZXMtcXVvdGF0aW9uLWZpbHRlci1jb250ZW50LW9yZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC9zYWxlcy1xdW90YXRpb24tZmlsdGVyLWNvbnRlbnQvdHJhbnNhY3Rpb24tc2FsZXMtcXVvdGF0aW9uLWZpbHRlci1jb250ZW50LW9yZGVyL3RyYW5zYWN0aW9uLXNhbGVzLXF1b3RhdGlvbi1maWx0ZXItY29udGVudC1vcmRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxjQUFjLEVBQXVCLGVBQWUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2xHLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUluRixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scURBQXFELENBQUM7QUFHakYsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFvSnRILE1BQU0sT0FBTyxvREFBcUQsU0FBUSxxQ0FBcUM7SUFqSi9HOztRQWtKa0IsVUFBSyxHQUEwQixjQUFjLENBQUM7UUFRdkQsdUJBQWtCLEdBQW9CLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFDLENBQUM7UUFHMUUsZUFBVSxHQUFvQixFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBQyxDQUFDO1FBR3pFLGlCQUFZLEdBQW9CLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFDLENBQUM7UUFHMUUseUJBQW9CLEdBQW9CLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLENBQUM7UUFHN0Usd0JBQW1CLEdBQW9CLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLENBQUM7UUFHNUUsMkNBQXNDLEdBQW9CLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLENBQUM7UUFHL0Ysd0JBQW1CLEdBQW9CLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFDLENBQUM7UUFHN0Usd0JBQW1CLEdBQW9CLEVBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFDLENBQUM7UUFFdkYsa0JBQWEsR0FBRyxDQUFPLFVBQWtCLEVBQUUsRUFBRTtZQUNsRCxNQUFNLE9BQU8sR0FBb0IsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUN2RCxPQUFPLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztZQUNoQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBK0IsRUFBRSxFQUFFO2dCQUNuRyxPQUFPLElBQUksZUFBZSxDQUFDLFNBQVMsRUFBRSxFQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1lBQy9GLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFBLENBQUE7SUFtRUgsQ0FBQztJQXJHUSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBa0NTLGVBQWU7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsK0JBQStCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsVUFBVTtJQUNGLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBMkIsRUFBRSxFQUFFO1lBQzdFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUM3RixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPO0lBQ0MsUUFBUTtRQUNkLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBVyxFQUFFLEVBQUU7WUFDdEQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNyRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVO0lBQ0YsWUFBWTtRQUNsQixNQUFNLE9BQU8sR0FBb0IsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUN2RCxPQUFPLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFDM0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUE4QixFQUFFLEVBQUU7WUFDM0YsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUMvRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxpQkFBaUI7SUFDVCxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLGVBQWdDLEVBQUUsRUFBRTtZQUN6RixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksZUFBZSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDckcsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBOEIsRUFBRSxFQUFFO1lBQzdFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxlQUFlLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNoRyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxnQkFBZ0I7SUFDUixrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsY0FBK0IsRUFBRSxFQUFFO1lBQ25GLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxlQUFlLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNsRyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBOEIsRUFBRSxFQUFFO1lBQ2xGLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxlQUFlLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNqRyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTywrQkFBK0I7UUFDckMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQ0FBaUQsRUFBRSxFQUFFO1lBQ2hHLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxJQUFJLGVBQWUsQ0FBQyxnQ0FBZ0MsRUFBRSxJQUFJLENBQUMsc0NBQXNDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDekosQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUF6UEYsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxxREFBcUQ7Z0JBQy9ELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0E0SVQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDeEM7Ozt3QkFJRSxXQUFXLFNBQUMsMkRBQTJEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RmlsdGVySXRlbU1vZGUsIEZpbHRlckl0ZW1WaWV3bW9kZWwsIEZpbHRlclZpZXdtb2RlbH0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7UmVsYXRpb25SZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7UmVsYXRpb25MaXN0T2JqZWN0fSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tbGlzdC1vYmplY3QuYm8nO1xyXG5pbXBvcnQge1NhbGVzUGVyc29ufSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvc2FsZXMtcGVyc29uLmJvJztcclxuaW1wb3J0IHtUYWd9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3RhZyc7XHJcbmltcG9ydCB7UmVsYXRpb25LaW5kfSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvZW51bS9yZWxhdGlvbi1raW5kLmVudW0nO1xyXG5pbXBvcnQge0NvRG9tYWluVmFsdWV9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvbWFpbi12YWx1ZS5ibyc7XHJcbmltcG9ydCB7Q3VzdG9tZXJHcm91cH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2N1c3RvbWVyLWdyb3VwLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkZpbHRlckNvbnRlbnRCYXNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1JldGFpbFN0YWRpdW19IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZXRhaWwtc3RhZGl1bS5ibyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImNvLXRyYW5zYWN0aW9uLXNhbGVzLXF1b3RhdGlvbi1maWx0ZXItY29udGVudC1vcmRlclwiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LW9yZGVyLXdyYXBwZXIgdHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtd3JhcHBlclwiPlxyXG5cclxuICAgICAgICA8IS0tT3JkZXJkYXR1bS0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cIidPUkRFUl9EQVRFJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5yYW5nZVRyYW5zRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuRGF0ZVJhbmdlRmllbGRcIj5cclxuICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cIidERUxJVkVSWV9EQVRFJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5kZWxpdmVyeURhdGVSYW5nZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuRGF0ZVJhbmdlRmllbGRcIj5cclxuICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cIidCUkFOQ0gnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJicmFuY2hlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5yYW5nZUJyYW5jaElkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5GaWx0ZXJsaXN0XCI+XHJcbiAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tVmVya29wZXItLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInSEFORExFRF9CWSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInNhbGVzUGVyc29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5yYW5nZUhhbmRsZWRCeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuRmlsdGVybGlzdFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tU2NvcmluZ3NrYW5zLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ1NDT1JJTkdfQ0hBTkNFJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5yYW5nZVNjb3JpbmdDaGFuY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzbGlkZXJEZWZhdWx0TWluXT0wXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NsaWRlckRlZmF1bHRNYXhdPTEwMFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLk51bGxhYmxlU2xpZGVyXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS1TY29yaW5nc2RhdHVtLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ1NDT1JJTkdfREFURSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3QucmFuZ2VFeHBlY3RlZFNjb3JpbmdEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5EYXRlUmFuZ2VGaWVsZFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tVmVya29vcHN0YWRpdW0tLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInUkVUQUlMX1NUQURJVU0nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJyZXRhaWxTdGFkaXVtc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5yYW5nZVJldGFpbFN0YWRpdW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLkZpbHRlcmxpc3RcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPCEtLUVpZ2VuIHJlZmVyZW50aWUtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInT1dOX1JFRkVSRU5DRSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3Qub3duUmVmZXJlbmNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5UZXh0RmllbGRcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPCEtLVRhZ3MtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInVEFHUydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInRhZ3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3QudGFnUmFuZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLkZpbHRlcmxpc3RcIj5cclxuICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS1PcmRlciBkZWZpbml0aWVmLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ09SREVSX0RFRklOSVRJVkUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJvcmRlckRlZmluaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3QudHJhbnNhY3Rpb25EZWZpbml0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5GaWx0ZXJsaXN0XCI+XHJcbiAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tQ29tbWlzc2llY29kZS0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cIidDT01NSVNTSU9OX0NPREUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJjb21taXNzaW9uQ29kZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3QuY29tbWlzc2lvbkNvZGVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5TZWxlY3RMaXN0V2l0aFN0cmluZ0NvbGxlY3Rpb25PdXRwdXRcIj5cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ0lOQUNUSVZFX1RSQU5TQUNUSU9OUydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3QuYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5DaGVja2JveFwiPlxyXG4gICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPCEtLUtsYW50bmFhbS0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cIidDVVNUT01FUl9OQU1FJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaENvbGxlY3Rpb25QbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlci5DdXN0b21lck5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLlNpbmdsZVNlbGVjdExpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3QucmVsYXRpb25OYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWluU2VhcmNoQ2hhcnNUb0xvYWRDb2xsZWN0aW9uXT1cIjNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uTG9hZEZuXT1cImxvYWRDdXN0b21lcnNcIj5cclxuICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS1LbGFudGdyb2VwLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ0NVU1RPTUVSX0dST1VQJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5jdXN0b21lckdyb3VwSWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLlNpbmdsZVNlbGVjdExpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cImN1c3RvbWVyR3JvdXBzXCI+XHJcbiAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tIElzIHF1b3RhdGlvbiBwcm9jZXNzZWQgdG8gc2FsZWQgb3JkZXIgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ0lTX1FVT1RBVElPTl9QUk9DRVNTRURfVE9fU0FMRVNPUkRFUidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cImlzUXVvdGF0aW9uUHJvY2Vzc2VkVG9TYWxlc09yZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LmlzUXVvdGF0aW9uUHJvY2Vzc2VkVG9TYWxlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuRmlsdGVybGlzdFwiPlxyXG4gICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgYCxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uU2FsZXNRdW90YXRpb25GaWx0ZXJDb250ZW50T3JkZXJDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkZpbHRlckNvbnRlbnRCYXNlQ29tcG9uZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgbW9kZXM6IHR5cGVvZiBGaWx0ZXJJdGVtTW9kZSA9IEZpbHRlckl0ZW1Nb2RlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10cmFuc2FjdGlvbi1zYWxlcy1xdW90YXRpb24tZmlsdGVyLWNvbnRlbnQtb3JkZXJcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2FsZXNQZXJzb25zOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIHNhbGVzUGVyc29uc0ZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwibmFtZVwiLCB2YWx1ZTogXCJyZWxhdGlvbklkXCJ9O1xyXG5cclxuICBwdWJsaWMgdGFnczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyB0YWdzRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJ0YWdWYWx1ZUlkXCJ9O1xyXG5cclxuICBwdWJsaWMgYnJhbmNoZXM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgYnJhbmNoRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJmYW1pbHlOYW1lXCIsIHZhbHVlOiBcInJlbGF0aW9uSWRcIn07XHJcblxyXG4gIHB1YmxpYyBjb21taXNzaW9uQ29kZXM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgY29tbWlzc2lvbkNvZGVGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcImNvZGVcIn07XHJcblxyXG4gIHB1YmxpYyBvcmRlckRlZmluaXRlOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIG9yZGVyRGVmaW5pdGVGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcImNvZGVcIn07XHJcblxyXG4gIHB1YmxpYyBpc1F1b3RhdGlvblByb2Nlc3NlZFRvU2FsZXNPcmRlcjogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyBpc1F1b3RhdGlvblByb2Nlc3NlZFRvU2FsZXNPcmRlckZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwiY29kZVwifTtcclxuXHJcbiAgcHVibGljIGN1c3RvbWVyR3JvdXBzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIGN1c3RvbWVyR3JvdXBGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcIm5hYW1cIiwgdmFsdWU6IFwiZ3JvZXBzbnVtbWVyXCJ9O1xyXG5cclxuICBwdWJsaWMgcmV0YWlsU3RhZGl1bXM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgcmV0YWlsU3RhZGl1bUZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwicmV0YWlsU3RhZGl1bVwiLCB2YWx1ZTogXCJyZXRhaWxTdGFkaXVtXCJ9O1xyXG5cclxuICBwdWJsaWMgbG9hZEN1c3RvbWVycyA9IGFzeW5jIChuYW1lRmlsdGVyOiBzdHJpbmcpID0+IHtcclxuICAgIGNvbnN0IHJlcXVlc3Q6IFJlbGF0aW9uUmVxdWVzdCA9IG5ldyBSZWxhdGlvblJlcXVlc3QoKTtcclxuICAgIHJlcXVlc3QuZmFtaWx5TmFtZSA9IG5hbWVGaWx0ZXI7XHJcbiAgICByZXR1cm4gdGhpcy5yZWxhdGlvblNlcnZpY2UuZ2V0UmVsYXRpb25MaXN0T2JqZWN0cyhyZXF1ZXN0KS50aGVuKChyZWxhdGlvbnM6IFJlbGF0aW9uTGlzdE9iamVjdFtdKSA9PiB7XHJcbiAgICAgIHJldHVybiBuZXcgRmlsdGVyVmlld21vZGVsKHJlbGF0aW9ucywge3RleHQ6ICdmYW1pbHlOYW1lJywgdmFsdWU6ICdmYW1pbHlOYW1lJ30pLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgbG9hZENvbGxlY3Rpb25zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2V0U2FsZXNQZXJzb25zKCk7XHJcbiAgICB0aGlzLl9zZXRUYWdzKCk7XHJcbiAgICB0aGlzLl9zZXRCcmFuY2hlcygpO1xyXG4gICAgdGhpcy5fc2V0Q29tbWlzc2lvbkNvZGVzKCk7XHJcbiAgICB0aGlzLl9zZXRPcmRlckRlZmluaXRpdmUoKTtcclxuICAgIHRoaXMuX3NldEN1c3RvbWVyR3JvdXBzKCk7XHJcbiAgICB0aGlzLl9zZXRSZXRhaWxTdGFkaXVtcygpO1xyXG4gICAgdGhpcy5fc2V0SXNRdW90YXRpb25Qcm9jZXNzZWRUb1NhbGVzKCk7XHJcbiAgfVxyXG5cclxuICAvL1ZlcmtvcGVyXHJcbiAgcHJpdmF0ZSBfc2V0U2FsZXNQZXJzb25zKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0U2FsZXNQZXJzb25zKCkudGhlbigoc2FsZXNQZXJzb25zOiBTYWxlc1BlcnNvbltdKSA9PiB7XHJcbiAgICAgIHRoaXMuc2FsZXNQZXJzb25zID0gbmV3IEZpbHRlclZpZXdtb2RlbChzYWxlc1BlcnNvbnMsIHRoaXMuc2FsZXNQZXJzb25zRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gVGFnc1xyXG4gIHByaXZhdGUgX3NldFRhZ3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRUYWdzKDEpLnRoZW4oKHRhZ3M6IFRhZ1tdKSA9PiB7XHJcbiAgICAgIHRoaXMudGFncyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwodGFncywgdGhpcy50YWdzRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9CcmFuY2hlc1xyXG4gIHByaXZhdGUgX3NldEJyYW5jaGVzKCk6IHZvaWQge1xyXG4gICAgY29uc3QgcmVxdWVzdDogUmVsYXRpb25SZXF1ZXN0ID0gbmV3IFJlbGF0aW9uUmVxdWVzdCgpO1xyXG4gICAgcmVxdWVzdC5yZWxhdGlvblR5cGUgPSBSZWxhdGlvbktpbmQuQnJhbmNoO1xyXG4gICAgdGhpcy5yZWxhdGlvblNlcnZpY2UuZ2V0UmVsYXRpb25MaXN0T2JqZWN0cyhyZXF1ZXN0KS50aGVuKChicmFuY2hlczogUmVsYXRpb25MaXN0T2JqZWN0W10pID0+IHtcclxuICAgICAgdGhpcy5icmFuY2hlcyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwoYnJhbmNoZXMsIHRoaXMuYnJhbmNoRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9Db21taXNzaW9uQ29kZXNcclxuICBwcml2YXRlIF9zZXRDb21taXNzaW9uQ29kZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRDb21taXNzaW9uQ29kZXMoXCJOTFwiKS50aGVuKChjb21taXNzaW9uQ29kZXM6IENvRG9tYWluVmFsdWVbXSkgPT4ge1xyXG4gICAgICB0aGlzLmNvbW1pc3Npb25Db2RlcyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwoY29tbWlzc2lvbkNvZGVzLCB0aGlzLmNvbW1pc3Npb25Db2RlRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0T3JkZXJEZWZpbml0aXZlKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0WWVzTm8oXCJOTFwiKS50aGVuKChvcmRlckRlZmluaXRlOiBDb0RvbWFpblZhbHVlW10pID0+IHtcclxuICAgICAgdGhpcy5vcmRlckRlZmluaXRlID0gbmV3IEZpbHRlclZpZXdtb2RlbChvcmRlckRlZmluaXRlLCB0aGlzLm9yZGVyRGVmaW5pdGVGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL0N1c3RvbWVyR3JvdXBzXHJcbiAgcHJpdmF0ZSBfc2V0Q3VzdG9tZXJHcm91cHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRDdXN0b21lckdyb3VwcygpLnRoZW4oKGN1c3RvbWVyR3JvdXBzOiBDdXN0b21lckdyb3VwW10pID0+IHtcclxuICAgICAgdGhpcy5jdXN0b21lckdyb3VwcyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwoY3VzdG9tZXJHcm91cHMsIHRoaXMuY3VzdG9tZXJHcm91cEZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldFJldGFpbFN0YWRpdW1zKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0UmV0YWlsU3RhZGl1bXMoKS50aGVuKChyZXRhaWxTdGFkaXVtOiBSZXRhaWxTdGFkaXVtW10pID0+IHtcclxuICAgICAgdGhpcy5yZXRhaWxTdGFkaXVtcyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwocmV0YWlsU3RhZGl1bSwgdGhpcy5yZXRhaWxTdGFkaXVtRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0SXNRdW90YXRpb25Qcm9jZXNzZWRUb1NhbGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0WWVzTm8oXCJOTFwiKS50aGVuKChpc1F1b3RhdGlvblByb2Nlc3NlZFRvU2FsZXNPcmRlcjogQ29Eb21haW5WYWx1ZVtdKSA9PiB7XHJcbiAgICAgIHRoaXMuaXNRdW90YXRpb25Qcm9jZXNzZWRUb1NhbGVzT3JkZXIgPSBuZXcgRmlsdGVyVmlld21vZGVsKGlzUXVvdGF0aW9uUHJvY2Vzc2VkVG9TYWxlc09yZGVyLCB0aGlzLmlzUXVvdGF0aW9uUHJvY2Vzc2VkVG9TYWxlc09yZGVyRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=