@colijnit/transaction 255.1.45 → 255.1.47

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 (63) hide show
  1. package/bundles/colijnit-transaction.umd.js +595 -240
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.metadata.json +1 -1
  4. package/esm2015/lib/component/avatar/avatar.component.js +8 -3
  5. package/esm2015/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +10 -1
  6. package/esm2015/lib/component/checkout/checkout.module.js +6 -2
  7. package/esm2015/lib/component/delivery-planning/service/delivery-planning.service.js +99 -33
  8. package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-popup/delivery-planning-overview-popup.component.js +39 -25
  9. package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-overview-short-line/delivery-planning-overview-short-line.component.js +4 -4
  10. package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-overview-tile-line/delivery-planning-overview-tile-line.component.js +29 -11
  11. package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-tile-status/delivery-planning-tile-status.component.js +67 -16
  12. package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/delivery-planning-overview-tile.component.js +39 -17
  13. package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/delivery-planning-overview.component.js +56 -30
  14. package/esm2015/lib/component/delivery-planning-main/delivery-planning-main.component.js +59 -46
  15. package/esm2015/lib/component/transaction-card/transaction-card-planning/transaction-card-planning.component.js +18 -3
  16. package/esm2015/lib/component/transaction-card/transaction-card-purchase-confirmation/transaction-card-purchase-confirmation.component.js +101 -96
  17. package/esm2015/lib/component/transaction-cash-register-dialog/transaction-cash-register-dialog.component.js +4 -4
  18. package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.component.js +13 -11
  19. package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.js +2 -3
  20. package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-order.component.js +7 -2
  21. package/esm2015/lib/component/transaction-internal/transaction-internal.component.js +3 -8
  22. package/esm2015/lib/component/transaction-line/transaction-planning-line/transaction-planning-line.component.js +10 -4
  23. package/esm2015/lib/component/transaction-lines-side-panel/transaction-lines-side-panel-service-order/transaction-lines-side-panel-service-order.component.js +6 -4
  24. package/esm2015/lib/component/transaction-lines-side-panel/transaction-lines-side-panel-service-order/transaction-lines-side-panel-service-order.module.js +4 -3
  25. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-planning/transaction-quick-access-planning.component.js +5 -2
  26. package/esm2015/lib/component/transaction-service-overview/components/transaction-service-message.component.js +3 -2
  27. package/esm2015/lib/component/transaction-service-overview/transaction-service-overview.component.js +29 -20
  28. package/esm2015/lib/component/transaction-service-overview/transaction-service-overview.module.js +4 -3
  29. package/esm2015/lib/enum/checkout-cfg-name.enum.js +3 -1
  30. package/esm2015/lib/enum/delivery-planning-update-actions.enum.js +8 -0
  31. package/esm2015/lib/enum/transaction-cfg-name.enum.js +12 -1
  32. package/esm2015/lib/service/transaction-connector-adapter.service.js +12 -1
  33. package/esm2015/lib/service/transaction-connector.service.js +6 -1
  34. package/esm2015/lib/service/transaction-payment.service.js +3 -3
  35. package/esm2015/lib/transaction-version.js +3 -3
  36. package/fesm2015/colijnit-transaction.js +622 -322
  37. package/fesm2015/colijnit-transaction.js.map +1 -1
  38. package/lib/component/delivery-planning/service/delivery-planning.service.d.ts +11 -7
  39. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-popup/delivery-planning-overview-popup.component.d.ts +10 -7
  40. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-overview-short-line/delivery-planning-overview-short-line.component.d.ts +1 -1
  41. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-overview-tile-line/delivery-planning-overview-tile-line.component.d.ts +9 -2
  42. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-overview-tile-line/style/_layout.scss +6 -0
  43. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-tile-status/delivery-planning-tile-status.component.d.ts +18 -7
  44. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-tile-status/style/_layout.scss +12 -0
  45. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/delivery-planning-overview-tile.component.d.ts +20 -5
  46. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/style/_layout.scss +2 -2
  47. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/style/_material-definition.scss +1 -1
  48. package/lib/component/delivery-planning-main/component/delivery-planning-overview/delivery-planning-overview.component.d.ts +23 -10
  49. package/lib/component/delivery-planning-main/delivery-planning-main.component.d.ts +14 -7
  50. package/lib/component/transaction-card/transaction-card/style/_layout.scss +14 -1
  51. package/lib/component/transaction-card/transaction-card-planning/transaction-card-planning.component.d.ts +2 -0
  52. package/lib/component/transaction-header/transaction-header/style/_layout.scss +4 -0
  53. package/lib/component/transaction-line/transaction-planning-line/transaction-planning-line.component.d.ts +3 -2
  54. package/lib/component/transaction-lines-side-panel/transaction-lines-side-panel-service-order/transaction-lines-side-panel-service-order.component.d.ts +2 -0
  55. package/lib/component/transaction-quick-access/transaction-quick-access-planning/transaction-quick-access-planning.component.d.ts +1 -0
  56. package/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.d.ts +1 -1
  57. package/lib/component/transaction-service-overview/style/_layout.scss +14 -6
  58. package/lib/enum/checkout-cfg-name.enum.d.ts +2 -0
  59. package/lib/enum/delivery-planning-update-actions.enum.d.ts +6 -0
  60. package/lib/enum/transaction-cfg-name.enum.d.ts +12 -1
  61. package/lib/service/transaction-connector-adapter.service.d.ts +1 -0
  62. package/lib/service/transaction-connector.service.d.ts +1 -0
  63. package/package.json +2 -2
@@ -3,13 +3,16 @@ import { ChangeDetectorRef, Component, HostBinding, ViewEncapsulation } from "@a
3
3
  import { DeliveryPlanningService } from "../delivery-planning/service/delivery-planning.service";
4
4
  import { SearchViewModeService } from "../search/search-view-mode.service";
5
5
  import { TransactionConnectorService } from "../../service/transaction-connector.service";
6
+ import { TransactionEventService } from "../../service/transaction-event.service";
7
+ import { DeliveryPlanningUpdateActions } from "../../enum/delivery-planning-update-actions.enum";
8
+ import { DeliveryPlanningTileModes } from "../../enum/delivery-planning-tile-modes.enum";
6
9
  export class DeliveryPlanningMainComponent {
7
- constructor(_deliveryPlanningService, _viewModeService, _transaction, _changeDetector) {
10
+ constructor(_deliveryPlanningService, _viewModeService, _transaction, _changeDetector, _transactionEventService) {
8
11
  this._deliveryPlanningService = _deliveryPlanningService;
9
12
  this._viewModeService = _viewModeService;
10
13
  this._transaction = _transaction;
11
14
  this._changeDetector = _changeDetector;
12
- this.fullPlanningTransportWeek = [];
15
+ this._transactionEventService = _transactionEventService;
13
16
  }
14
17
  get currentMode() {
15
18
  return this._deliveryPlanningService.currentCalendarMode;
@@ -20,6 +23,9 @@ export class DeliveryPlanningMainComponent {
20
23
  get currentStartDate() {
21
24
  return this._deliveryPlanningService.currentStartDate;
22
25
  }
26
+ set currentStartDate(date) {
27
+ this._deliveryPlanningService.currentStartDate = date;
28
+ }
23
29
  showClass() {
24
30
  return true;
25
31
  }
@@ -30,63 +36,69 @@ export class DeliveryPlanningMainComponent {
30
36
  ngAfterViewInit() {
31
37
  var _a;
32
38
  if ((_a = this._deliveryPlanningService.currentPlanning) === null || _a === void 0 ? void 0 : _a.planningId) {
33
- this.resetTransportWeek();
39
+ this.getPlanningTransportWeek();
34
40
  }
35
41
  }
36
42
  planningChanged(planning) {
37
43
  this.planning = planning;
38
44
  this._deliveryPlanningService.currentPlanning = planning;
39
- this.resetTransportWeek();
45
+ this.getPlanningTransportWeek();
40
46
  }
41
- weekFilter(planTransportWeek) {
42
- planTransportWeek.forEach((ploeg) => {
43
- if (ploeg) {
44
- for (const property in ploeg) {
45
- if (property) {
46
- if (property !== "day1" && property !== "day2" && property !== "day3") {
47
- delete ploeg[property];
48
- }
47
+ // public async updatePlanTransportWeek(updateData:{week: PlanningTransportWeek, action: DeliveryPlanningUpdateActions}) {
48
+ // if (updateData.week && updateData.week?.day1 && this.fullPlanningTransportWeek.length > 0) {
49
+ // this.fullPlanningTransportWeek[0].day1 = updateData.week?.day1;
50
+ // this.fullPlanningTransportWeek[0].day2 = updateData.week?.day2;
51
+ // this.fullPlanningTransportWeek[0].day3 = updateData.week?.day3;
52
+ // let updateResult = await this._transaction.updatePlanTransportWeek(this.fullPlanningTransportWeek[0]);
53
+ // if (updateResult) {
54
+ // if(updateData.action && updateData.action === DeliveryPlanningUpdateActions.DeletePlannedOrder && this._deliveryPlanningService.deletingOrder) {
55
+ // this._deliveryPlanningService.deletingOrder.dateResetNeeded = true;
56
+ // await this._transaction.restoreDeliverySettings([this._deliveryPlanningService.deletingOrder]);
57
+ // }
58
+ // await this._transaction.commit();
59
+ // }
60
+ // }
61
+ // this.resetTransportWeek();
62
+ // }
63
+ updatePlanTransportWeek(updateData) {
64
+ return __awaiter(this, void 0, void 0, function* () {
65
+ let result = this._deliveryPlanningService.convertToPlanTransportWeek(this._deliveryPlanningService.planTransportWeekArr);
66
+ let week = result.find((week) => week['transportId'] === updateData.week[updateData.week.length - 1]);
67
+ if (week) {
68
+ let updateResult = yield this._transaction.updatePlanTransportWeek(week);
69
+ if (updateResult) {
70
+ if (updateData.action && updateData.action === DeliveryPlanningUpdateActions.DeletePlannedOrder && this._deliveryPlanningService.deletingOrder) {
71
+ this._deliveryPlanningService.deletingOrder.dateResetNeeded = true;
72
+ yield this._transaction.restoreDeliverySettings([this._deliveryPlanningService.deletingOrder]);
73
+ }
74
+ yield this._transaction.commit();
75
+ yield this.updateNewValues();
76
+ if (this._deliveryPlanningService.currentTileMode === DeliveryPlanningTileModes.Calendar) {
77
+ this._deliveryPlanningService.reRenderHourScheduling.next();
49
78
  }
50
79
  }
80
+ else {
81
+ yield this.resetPlanningTransportWeek();
82
+ }
51
83
  }
52
84
  });
53
85
  }
54
- weekFilterWithReturn(planTransportWeek) {
55
- const copy = JSON.parse(JSON.stringify(this.fullPlanningTransportWeek[0])); // Deep copy of the original state
56
- for (const property in copy) {
57
- if (property) {
58
- if (property !== "day1" && property !== "day2" && property !== "day3") {
59
- delete copy[property];
60
- }
61
- }
62
- }
63
- return copy;
86
+ updateNewValues() {
87
+ return __awaiter(this, void 0, void 0, function* () {
88
+ yield this._deliveryPlanningService.updatePlanningTransportValues();
89
+ });
64
90
  }
65
- updatePlanTransportWeek(planningTransportWeek) {
91
+ resetPlanningTransportWeek() {
66
92
  return __awaiter(this, void 0, void 0, function* () {
67
- if (planningTransportWeek && (planningTransportWeek === null || planningTransportWeek === void 0 ? void 0 : planningTransportWeek.day1) && this.fullPlanningTransportWeek.length > 0) {
68
- this.fullPlanningTransportWeek[0].day1 = planningTransportWeek === null || planningTransportWeek === void 0 ? void 0 : planningTransportWeek.day1;
69
- this.fullPlanningTransportWeek[0].day2 = planningTransportWeek === null || planningTransportWeek === void 0 ? void 0 : planningTransportWeek.day2;
70
- this.fullPlanningTransportWeek[0].day3 = planningTransportWeek === null || planningTransportWeek === void 0 ? void 0 : planningTransportWeek.day3;
71
- let updateResult = yield this._transaction.updatePlanTransportWeek(this.fullPlanningTransportWeek[0]);
72
- if (updateResult) {
73
- yield this._transaction.commit();
74
- }
75
- }
76
- this.resetTransportWeek();
77
93
  });
78
94
  }
79
- resetTransportWeek() {
95
+ getPlanningTransportWeek() {
80
96
  return __awaiter(this, void 0, void 0, function* () {
81
- this._transaction.getPlanTransportWeek(this.currentStartDate, this._deliveryPlanningService.currentPlanning.planningId).then((result) => {
82
- if (result.length > 0) {
83
- const myClonedArray = [];
84
- result.forEach(val => myClonedArray.push(Object.assign({}, val)));
85
- this.fullPlanningTransportWeek = myClonedArray;
86
- this.weekFilter(result);
87
- this._deliveryPlanningService.planTransportWeek = result;
88
- }
89
- });
97
+ if (this._deliveryPlanningService.planOrderDate) {
98
+ this.currentStartDate = this._deliveryPlanningService.planOrderDate;
99
+ this._deliveryPlanningService.planOrderDate = undefined;
100
+ }
101
+ yield this._deliveryPlanningService.getPlanningTransportWeek();
90
102
  });
91
103
  }
92
104
  getListData() {
@@ -125,7 +137,7 @@ DeliveryPlanningMainComponent.decorators = [
125
137
  <co-delivery-planning-overview [currentMode]="currentMode"
126
138
  [currentViewMode]="currentViewMode"
127
139
  (updatePlanningTransportEvent)="updatePlanTransportWeek($event)"
128
- (resetPlanningTransportEvent)="resetTransportWeek()"
140
+ (resetPlanningTransportEvent)="getPlanningTransportWeek()"
129
141
  ></co-delivery-planning-overview>
130
142
  </div>
131
143
  </div>
@@ -139,9 +151,10 @@ DeliveryPlanningMainComponent.ctorParameters = () => [
139
151
  { type: DeliveryPlanningService },
140
152
  { type: SearchViewModeService },
141
153
  { type: TransactionConnectorService },
142
- { type: ChangeDetectorRef }
154
+ { type: ChangeDetectorRef },
155
+ { type: TransactionEventService }
143
156
  ];
144
157
  DeliveryPlanningMainComponent.propDecorators = {
145
158
  showClass: [{ type: HostBinding, args: ["class.co-delivery-planning-main",] }]
146
159
  };
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmctbWFpbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9kZWxpdmVyeS1wbGFubmluZy1tYWluL2RlbGl2ZXJ5LXBsYW5uaW5nLW1haW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWdCLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQVUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFbEgsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDL0YsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFJekUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUF5QnhGLE1BQU0sT0FBTyw2QkFBNkI7SUF5QnhDLFlBQW9CLHdCQUFpRCxFQUFVLGdCQUF1QyxFQUFVLFlBQXlDLEVBQVUsZUFBa0M7UUFBak0sNkJBQXdCLEdBQXhCLHdCQUF3QixDQUF5QjtRQUFVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBdUI7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBNkI7UUFBVSxvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUFwQjlNLDhCQUF5QixHQUE0QixFQUFFLENBQUM7SUFxQi9ELENBQUM7SUFuQkQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLG1CQUFtQixDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsZ0JBQWdCLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLGdCQUFnQixDQUFDO0lBQ3hELENBQUM7SUFJTSxTQUFT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QVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUE3Qk8sdUJBQXVCO1lBQ3ZCLHFCQUFxQjtZQUlyQiwyQkFBMkI7WUFQWixpQkFBaUI7Ozt3QkFvRHJDLFdBQVcsU0FBQyxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5UGxhbm5pbmdDYWxlbmRhck1vZGVzfSBmcm9tIFwiLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy1jYWxlbmRhci1tb2Rlcy5lbnVtXCI7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ1NlcnZpY2V9IGZyb20gXCIuLi9kZWxpdmVyeS1wbGFubmluZy9zZXJ2aWNlL2RlbGl2ZXJ5LXBsYW5uaW5nLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTZWFyY2hWaWV3TW9kZVNlcnZpY2V9IGZyb20gXCIuLi9zZWFyY2gvc2VhcmNoLXZpZXctbW9kZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Q2FsZW5kYXJWaWV3fSBmcm9tICdAY29saWpuaXQvc2hhcmVkY29tcG9uZW50cyc7XHJcbmltcG9ydCB7UGxhbm5pbmd9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmcuYm9cIjtcclxuaW1wb3J0IHtQbGFubmluZ1RyYW5zcG9ydFdlZWt9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmctdHJhbnNwb3J0LXdlZWsuYm9cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkNvbm5lY3RvclNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWNvbm5lY3Rvci5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1kZWxpdmVyeS1wbGFubmluZy1tYWluXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyIHJvd1wiPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImRlbGl2ZXJ5LW1haW4td3JhcHBlclwiPlxyXG4gICAgICAgIDwhLS0gICAgICAgICAgICAgIDxjby1kZWxpdmVyeS1wbGFubmluZy1tb2RlLXNlbGVjdGlvbiBbY3VycmVudE1vZGVdPVwiY3VycmVudE1vZGVcIiBbY3VycmVudFZpZXdNb2RlXT1cImN1cnJlbnRWaWV3TW9kZVwiIChtb2RlQ2hhbmdlRXZlbnQpPVwiY2hhbmdlVmlld01vZGUoJGV2ZW50KVwiID48L2NvLWRlbGl2ZXJ5LXBsYW5uaW5nLW1vZGUtc2VsZWN0aW9uPi0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwbGFubmluZy1zZWxlY3Rpb24td3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLWRlbGl2ZXJ5LXBsYW5uaW5nLXNlbGVjdGlvblxyXG4gICAgICAgICAgICAocGxhbm5pbmdDaGFuZ2VFdmVudCk9XCJwbGFubmluZ0NoYW5nZWQoJGV2ZW50KVwiPjwvY28tZGVsaXZlcnktcGxhbm5pbmctc2VsZWN0aW9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxjby1kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldyBbY3VycmVudE1vZGVdPVwiY3VycmVudE1vZGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY3VycmVudFZpZXdNb2RlXT1cImN1cnJlbnRWaWV3TW9kZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1cGRhdGVQbGFubmluZ1RyYW5zcG9ydEV2ZW50KT1cInVwZGF0ZVBsYW5UcmFuc3BvcnRXZWVrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVzZXRQbGFubmluZ1RyYW5zcG9ydEV2ZW50KT1cInJlc2V0VHJhbnNwb3J0V2VlaygpXCJcclxuICAgICAgICA+PC9jby1kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldz5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcblxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVsaXZlcnlQbGFubmluZ01haW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG5cclxuXHJcbiAgcHVibGljIHBsYW5uaW5nOiBQbGFubmluZztcclxuXHJcbiAgcHVibGljIGZ1bGxQbGFubmluZ1RyYW5zcG9ydFdlZWs6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla1tdID0gW107XHJcblxyXG4gIHB1YmxpYyBnZXQgY3VycmVudE1vZGUoKTogRGVsaXZlcnlQbGFubmluZ0NhbGVuZGFyTW9kZXMge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmN1cnJlbnRDYWxlbmRhck1vZGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGN1cnJlbnRWaWV3TW9kZSgpOiBDYWxlbmRhclZpZXcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmRhdGVQbGFubmluZ01vZGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGN1cnJlbnRTdGFydERhdGUoKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuY3VycmVudFN0YXJ0RGF0ZTtcclxuICB9XHJcblxyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1kZWxpdmVyeS1wbGFubmluZy1tYWluXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZGVsaXZlcnlQbGFubmluZ1NlcnZpY2U6IERlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLCBwcml2YXRlIF92aWV3TW9kZVNlcnZpY2U6IFNlYXJjaFZpZXdNb2RlU2VydmljZSwgcHJpdmF0ZSBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZSwgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3ZpZXdNb2RlU2VydmljZS5vblNlYXJjaFZpZXdSZXNpemVDbGljaygpO1xyXG4gICAgdGhpcy5nZXRMaXN0RGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmN1cnJlbnRQbGFubmluZz8ucGxhbm5pbmdJZCkge1xyXG4gICAgICB0aGlzLnJlc2V0VHJhbnNwb3J0V2VlaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHBsYW5uaW5nQ2hhbmdlZChwbGFubmluZzogUGxhbm5pbmcpIHtcclxuICAgIHRoaXMucGxhbm5pbmcgPSBwbGFubmluZztcclxuICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmN1cnJlbnRQbGFubmluZyA9IHBsYW5uaW5nO1xyXG4gICAgdGhpcy5yZXNldFRyYW5zcG9ydFdlZWsoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB3ZWVrRmlsdGVyKHBsYW5UcmFuc3BvcnRXZWVrOiBQbGFubmluZ1RyYW5zcG9ydFdlZWtbXSkge1xyXG4gICAgcGxhblRyYW5zcG9ydFdlZWsuZm9yRWFjaCgocGxvZWc6IFBsYW5uaW5nVHJhbnNwb3J0V2VlaykgPT4ge1xyXG4gICAgICBpZiAocGxvZWcpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIHBsb2VnKSB7XHJcbiAgICAgICAgICBpZiAocHJvcGVydHkpIHtcclxuICAgICAgICAgICAgaWYgKHByb3BlcnR5ICE9PSBcImRheTFcIiAmJiBwcm9wZXJ0eSAhPT0gXCJkYXkyXCIgJiYgcHJvcGVydHkgIT09IFwiZGF5M1wiKSB7XHJcbiAgICAgICAgICAgICAgZGVsZXRlIHBsb2VnW3Byb3BlcnR5XTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd2Vla0ZpbHRlcldpdGhSZXR1cm4ocGxhblRyYW5zcG9ydFdlZWs6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla1tdKSB7XHJcbiAgICBjb25zdCBjb3B5ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmZ1bGxQbGFubmluZ1RyYW5zcG9ydFdlZWtbMF0pKTsgLy8gRGVlcCBjb3B5IG9mIHRoZSBvcmlnaW5hbCBzdGF0ZVxyXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBjb3B5KSB7XHJcbiAgICAgIGlmIChwcm9wZXJ0eSkge1xyXG4gICAgICAgIGlmIChwcm9wZXJ0eSAhPT0gXCJkYXkxXCIgJiYgcHJvcGVydHkgIT09IFwiZGF5MlwiICYmIHByb3BlcnR5ICE9PSBcImRheTNcIikge1xyXG4gICAgICAgICAgZGVsZXRlIGNvcHlbcHJvcGVydHldO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNvcHk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgdXBkYXRlUGxhblRyYW5zcG9ydFdlZWsocGxhbm5pbmdUcmFuc3BvcnRXZWVrOiBQbGFubmluZ1RyYW5zcG9ydFdlZWspIHtcclxuICAgIGlmIChwbGFubmluZ1RyYW5zcG9ydFdlZWsgJiYgcGxhbm5pbmdUcmFuc3BvcnRXZWVrPy5kYXkxICYmIHRoaXMuZnVsbFBsYW5uaW5nVHJhbnNwb3J0V2Vlay5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuZnVsbFBsYW5uaW5nVHJhbnNwb3J0V2Vla1swXS5kYXkxID0gcGxhbm5pbmdUcmFuc3BvcnRXZWVrPy5kYXkxO1xyXG4gICAgICB0aGlzLmZ1bGxQbGFubmluZ1RyYW5zcG9ydFdlZWtbMF0uZGF5MiA9IHBsYW5uaW5nVHJhbnNwb3J0V2Vlaz8uZGF5MjtcclxuICAgICAgdGhpcy5mdWxsUGxhbm5pbmdUcmFuc3BvcnRXZWVrWzBdLmRheTMgPSBwbGFubmluZ1RyYW5zcG9ydFdlZWs/LmRheTM7XHJcbiAgICAgIGxldCB1cGRhdGVSZXN1bHQgPSBhd2FpdCB0aGlzLl90cmFuc2FjdGlvbi51cGRhdGVQbGFuVHJhbnNwb3J0V2Vlayh0aGlzLmZ1bGxQbGFubmluZ1RyYW5zcG9ydFdlZWtbMF0pO1xyXG4gICAgICBpZiAodXBkYXRlUmVzdWx0KSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb24uY29tbWl0KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICAgdGhpcy5yZXNldFRyYW5zcG9ydFdlZWsoKTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgcHVibGljIGFzeW5jIHJlc2V0VHJhbnNwb3J0V2VlaygpIHtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uLmdldFBsYW5UcmFuc3BvcnRXZWVrKHRoaXMuY3VycmVudFN0YXJ0RGF0ZSwgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuY3VycmVudFBsYW5uaW5nLnBsYW5uaW5nSWQpLnRoZW4oKHJlc3VsdDogUGxhbm5pbmdUcmFuc3BvcnRXZWVrW10pID0+IHtcclxuICAgICAgaWYgKHJlc3VsdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgY29uc3QgbXlDbG9uZWRBcnJheSA9IFtdO1xyXG4gICAgICAgIHJlc3VsdC5mb3JFYWNoKHZhbCA9PiBteUNsb25lZEFycmF5LnB1c2goT2JqZWN0LmFzc2lnbih7fSwgdmFsKSkpO1xyXG4gICAgICAgIHRoaXMuZnVsbFBsYW5uaW5nVHJhbnNwb3J0V2VlayA9IG15Q2xvbmVkQXJyYXk7XHJcbiAgICAgICAgdGhpcy53ZWVrRmlsdGVyKHJlc3VsdCk7XHJcblxyXG4gICAgICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLnBsYW5UcmFuc3BvcnRXZWVrID0gcmVzdWx0O1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TGlzdERhdGEoKTogdm9pZCB7XHJcbiAgICBjb25zdCBsb2FkRGF0YUlmTmVlZGVkID0gPFQ+KGRhdGE6IFRbXSwgbG9hZGVyOiAoKSA9PiBQcm9taXNlPFRbXT4sIHNldHRlcjogKHJlc3VsdDogVFtdKSA9PiB2b2lkKTogUHJvbWlzZTx2b2lkPiA9PiB7XHJcbiAgICAgIGlmIChkYXRhLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHJldHVybiBsb2FkZXIoKS50aGVuKHNldHRlcikuY2F0Y2goZXJyb3IgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGxvYWQgZGF0YScsIGVycm9yKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IHByb21pc2VzXHJcbiAgICAgIDpcclxuICAgICAgUHJvbWlzZTx2b2lkPiBbXSA9IFtcclxuICAgICAgbG9hZERhdGFJZk5lZWRlZChcclxuICAgICAgICB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5kZWxpdmVyeU1ldGhvZHMsXHJcbiAgICAgICAgKCkgPT4gdGhpcy5fdHJhbnNhY3Rpb24uZ2V0RGVsaXZlcnlNZXRob2RzKCksXHJcbiAgICAgICAgKHJlc3VsdCkgPT4gdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuZGVsaXZlcnlNZXRob2RzID0gcmVzdWx0XHJcbiAgICAgICksXHJcbiAgICAgIGxvYWREYXRhSWZOZWVkZWQoXHJcbiAgICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuZGlzdHJpY3RzLFxyXG4gICAgICAgICgpID0+IHRoaXMuX3RyYW5zYWN0aW9uLmdldERpc3RyaWN0cygpLFxyXG4gICAgICAgIChyZXN1bHQpID0+IHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmRpc3RyaWN0cyA9IHJlc3VsdFxyXG4gICAgICApLFxyXG4gICAgICBsb2FkRGF0YUlmTmVlZGVkKFxyXG4gICAgICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmVtcGxveWVlcyxcclxuICAgICAgICAoKSA9PiB0aGlzLl90cmFuc2FjdGlvbi5nZXRFbXBsb3llZXMoKSxcclxuICAgICAgICAocmVzdWx0KSA9PiB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5lbXBsb3llZXMgPSByZXN1bHRcclxuICAgICAgKSxcclxuICAgICAgbG9hZERhdGFJZk5lZWRlZChcclxuICAgICAgICB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5za2lsbHMsXHJcbiAgICAgICAgKCkgPT4gdGhpcy5fdHJhbnNhY3Rpb24uZ2V0U2tpbGxzKCksXHJcbiAgICAgICAgKHJlc3VsdCkgPT4gdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2Uuc2tpbGxzID0gcmVzdWx0XHJcbiAgICAgICksXHJcbiAgICAgIGxvYWREYXRhSWZOZWVkZWQoXHJcbiAgICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UudXNlckdyb3VwcyxcclxuICAgICAgICAoKSA9PiB0aGlzLl90cmFuc2FjdGlvbi5nZXRVc2VyR3JvdXBzKCksXHJcbiAgICAgICAgKHJlc3VsdCkgPT4gdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UudXNlckdyb3VwcyA9IHJlc3VsdFxyXG4gICAgICApLFxyXG4gICAgXTtcclxuXHJcbiAgICBQcm9taXNlLmFsbChwcm9taXNlcykudGhlbigoKSA9PiB7XHJcbiAgICAgIC8vIEFsbCBuZWNlc3NhcnkgZGF0YSBoYXMgYmVlbiBsb2FkZWRcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmctbWFpbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9kZWxpdmVyeS1wbGFubmluZy1tYWluL2RlbGl2ZXJ5LXBsYW5uaW5nLW1haW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWdCLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQVUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFbEgsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDL0YsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFJekUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDeEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFFL0YsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sOENBQThDLENBQUM7QUF5QnZGLE1BQU0sT0FBTyw2QkFBNkI7SUEyQnhDLFlBQ1Usd0JBQWlELEVBQ2pELGdCQUF1QyxFQUN2QyxZQUF5QyxFQUN6QyxlQUFrQyxFQUNsQyx3QkFBaUQ7UUFKakQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUF5QjtRQUNqRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXVCO1FBQ3ZDLGlCQUFZLEdBQVosWUFBWSxDQUE2QjtRQUN6QyxvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUFDbEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUF5QjtJQUMzRCxDQUFDO0lBNUJELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxtQkFBbUIsQ0FBQztJQUMzRCxDQUFD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LGlCQUFpQjtZQVFoQyx1QkFBdUI7Ozt3QkFrRDVCLFdBQVcsU0FBQyxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5UGxhbm5pbmdDYWxlbmRhck1vZGVzfSBmcm9tIFwiLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy1jYWxlbmRhci1tb2Rlcy5lbnVtXCI7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ1NlcnZpY2V9IGZyb20gXCIuLi9kZWxpdmVyeS1wbGFubmluZy9zZXJ2aWNlL2RlbGl2ZXJ5LXBsYW5uaW5nLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTZWFyY2hWaWV3TW9kZVNlcnZpY2V9IGZyb20gXCIuLi9zZWFyY2gvc2VhcmNoLXZpZXctbW9kZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Q2FsZW5kYXJWaWV3fSBmcm9tICdAY29saWpuaXQvc2hhcmVkY29tcG9uZW50cyc7XHJcbmltcG9ydCB7UGxhbm5pbmd9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmcuYm9cIjtcclxuaW1wb3J0IHtQbGFubmluZ1RyYW5zcG9ydFdlZWt9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmctdHJhbnNwb3J0LXdlZWsuYm9cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkNvbm5lY3RvclNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWNvbm5lY3Rvci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nVXBkYXRlQWN0aW9uc30gZnJvbSBcIi4uLy4uL2VudW0vZGVsaXZlcnktcGxhbm5pbmctdXBkYXRlLWFjdGlvbnMuZW51bVwiO1xyXG5pbXBvcnQge1BsYW5uaW5nVHJhbnNwb3J0V2Vla0RheX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFubmluZy10cmFuc3BvcnQtd2Vlay1kYXkuYm9cIjtcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nVGlsZU1vZGVzfSBmcm9tIFwiLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy10aWxlLW1vZGVzLmVudW1cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLWRlbGl2ZXJ5LXBsYW5uaW5nLW1haW5cIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cIndyYXBwZXIgcm93XCI+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZGVsaXZlcnktbWFpbi13cmFwcGVyXCI+XHJcbiAgICAgICAgPCEtLSAgICAgICAgICAgICAgPGNvLWRlbGl2ZXJ5LXBsYW5uaW5nLW1vZGUtc2VsZWN0aW9uIFtjdXJyZW50TW9kZV09XCJjdXJyZW50TW9kZVwiIFtjdXJyZW50Vmlld01vZGVdPVwiY3VycmVudFZpZXdNb2RlXCIgKG1vZGVDaGFuZ2VFdmVudCk9XCJjaGFuZ2VWaWV3TW9kZSgkZXZlbnQpXCIgPjwvY28tZGVsaXZlcnktcGxhbm5pbmctbW9kZS1zZWxlY3Rpb24+LS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBsYW5uaW5nLXNlbGVjdGlvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tZGVsaXZlcnktcGxhbm5pbmctc2VsZWN0aW9uXHJcbiAgICAgICAgICAgIChwbGFubmluZ0NoYW5nZUV2ZW50KT1cInBsYW5uaW5nQ2hhbmdlZCgkZXZlbnQpXCI+PC9jby1kZWxpdmVyeS1wbGFubmluZy1zZWxlY3Rpb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGNvLWRlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3IFtjdXJyZW50TW9kZV09XCJjdXJyZW50TW9kZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjdXJyZW50Vmlld01vZGVdPVwiY3VycmVudFZpZXdNb2RlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVwZGF0ZVBsYW5uaW5nVHJhbnNwb3J0RXZlbnQpPVwidXBkYXRlUGxhblRyYW5zcG9ydFdlZWsoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZXNldFBsYW5uaW5nVHJhbnNwb3J0RXZlbnQpPVwiZ2V0UGxhbm5pbmdUcmFuc3BvcnRXZWVrKClcIlxyXG4gICAgICAgID48L2NvLWRlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZWxpdmVyeVBsYW5uaW5nTWFpbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG5cclxuICBwdWJsaWMgcGxhbm5pbmc6IFBsYW5uaW5nO1xyXG5cclxuICBwdWJsaWMgZ2V0IGN1cnJlbnRNb2RlKCk6IERlbGl2ZXJ5UGxhbm5pbmdDYWxlbmRhck1vZGVzIHtcclxuICAgIHJldHVybiB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5jdXJyZW50Q2FsZW5kYXJNb2RlO1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBnZXQgY3VycmVudFZpZXdNb2RlKCk6IENhbGVuZGFyVmlldyB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuZGF0ZVBsYW5uaW5nTW9kZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY3VycmVudFN0YXJ0RGF0ZSgpOiBEYXRlIHtcclxuICAgIHJldHVybiB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5jdXJyZW50U3RhcnREYXRlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBjdXJyZW50U3RhcnREYXRlKGRhdGU6IERhdGUpIHtcclxuICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmN1cnJlbnRTdGFydERhdGUgPSBkYXRlO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tZGVsaXZlcnktcGxhbm5pbmctbWFpblwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZGVsaXZlcnlQbGFubmluZ1NlcnZpY2U6IERlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdmlld01vZGVTZXJ2aWNlOiBTZWFyY2hWaWV3TW9kZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2FjdGlvbjogVHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3ZpZXdNb2RlU2VydmljZS5vblNlYXJjaFZpZXdSZXNpemVDbGljaygpO1xyXG4gICAgdGhpcy5nZXRMaXN0RGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmN1cnJlbnRQbGFubmluZz8ucGxhbm5pbmdJZCkge1xyXG4gICAgICB0aGlzLmdldFBsYW5uaW5nVHJhbnNwb3J0V2VlaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHBsYW5uaW5nQ2hhbmdlZChwbGFubmluZzogUGxhbm5pbmcpIHtcclxuICAgIHRoaXMucGxhbm5pbmcgPSBwbGFubmluZztcclxuICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmN1cnJlbnRQbGFubmluZyA9IHBsYW5uaW5nO1xyXG4gICAgdGhpcy5nZXRQbGFubmluZ1RyYW5zcG9ydFdlZWsoKTtcclxuICB9XHJcblxyXG4gIC8vIHB1YmxpYyBhc3luYyB1cGRhdGVQbGFuVHJhbnNwb3J0V2Vlayh1cGRhdGVEYXRhOnt3ZWVrOiBQbGFubmluZ1RyYW5zcG9ydFdlZWssIGFjdGlvbjogRGVsaXZlcnlQbGFubmluZ1VwZGF0ZUFjdGlvbnN9KSB7XHJcbiAgLy8gICBpZiAodXBkYXRlRGF0YS53ZWVrICYmIHVwZGF0ZURhdGEud2Vlaz8uZGF5MSAmJiB0aGlzLmZ1bGxQbGFubmluZ1RyYW5zcG9ydFdlZWsubGVuZ3RoID4gMCkge1xyXG4gIC8vICAgICB0aGlzLmZ1bGxQbGFubmluZ1RyYW5zcG9ydFdlZWtbMF0uZGF5MSA9IHVwZGF0ZURhdGEud2Vlaz8uZGF5MTtcclxuICAvLyAgICAgdGhpcy5mdWxsUGxhbm5pbmdUcmFuc3BvcnRXZWVrWzBdLmRheTIgPSB1cGRhdGVEYXRhLndlZWs/LmRheTI7XHJcbiAgLy8gICAgIHRoaXMuZnVsbFBsYW5uaW5nVHJhbnNwb3J0V2Vla1swXS5kYXkzID0gdXBkYXRlRGF0YS53ZWVrPy5kYXkzO1xyXG4gIC8vICAgICBsZXQgdXBkYXRlUmVzdWx0ID0gYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb24udXBkYXRlUGxhblRyYW5zcG9ydFdlZWsodGhpcy5mdWxsUGxhbm5pbmdUcmFuc3BvcnRXZWVrWzBdKTtcclxuICAvLyAgICAgaWYgKHVwZGF0ZVJlc3VsdCkge1xyXG4gIC8vICAgICAgIGlmKHVwZGF0ZURhdGEuYWN0aW9uICYmIHVwZGF0ZURhdGEuYWN0aW9uID09PSBEZWxpdmVyeVBsYW5uaW5nVXBkYXRlQWN0aW9ucy5EZWxldGVQbGFubmVkT3JkZXIgJiYgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuZGVsZXRpbmdPcmRlcikge1xyXG4gIC8vICAgICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuZGVsZXRpbmdPcmRlci5kYXRlUmVzZXROZWVkZWQgPSB0cnVlO1xyXG4gIC8vICAgICAgICAgYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb24ucmVzdG9yZURlbGl2ZXJ5U2V0dGluZ3MoW3RoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmRlbGV0aW5nT3JkZXJdKTtcclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgICAgYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb24uY29tbWl0KCk7XHJcbiAgLy8gICAgIH1cclxuICAvLyAgIH1cclxuICAvLyAgICAgdGhpcy5yZXNldFRyYW5zcG9ydFdlZWsoKTtcclxuICAvLyB9XHJcblxyXG5wdWJsaWMgYXN5bmMgdXBkYXRlUGxhblRyYW5zcG9ydFdlZWsodXBkYXRlRGF0YTp7b2xkV2VlazogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5W10sIHdlZWs6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheVtdLCBhY3Rpb246IERlbGl2ZXJ5UGxhbm5pbmdVcGRhdGVBY3Rpb25zfSkge1xyXG4gICAgbGV0IHJlc3VsdDogUGxhbm5pbmdUcmFuc3BvcnRXZWVrW10gPSB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5jb252ZXJ0VG9QbGFuVHJhbnNwb3J0V2Vlayh0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5wbGFuVHJhbnNwb3J0V2Vla0Fycik7XHJcbiAgICBsZXQgd2VlazogUGxhbm5pbmdUcmFuc3BvcnRXZWVrID0gcmVzdWx0LmZpbmQoICh3ZWVrOiBQbGFubmluZ1RyYW5zcG9ydFdlZWspID0+IHdlZWtbJ3RyYW5zcG9ydElkJ10gPT09IHVwZGF0ZURhdGEud2Vla1t1cGRhdGVEYXRhLndlZWsubGVuZ3RoIC0gMV0pO1xyXG4gICAgaWYod2Vlayl7XHJcbiAgICAgIGxldCB1cGRhdGVSZXN1bHQ6IGJvb2xlYW4gPSBhd2FpdCB0aGlzLl90cmFuc2FjdGlvbi51cGRhdGVQbGFuVHJhbnNwb3J0V2Vlayh3ZWVrKTtcclxuICAgICAgICBpZiAodXBkYXRlUmVzdWx0KSB7XHJcbiAgICAgICAgICBpZih1cGRhdGVEYXRhLmFjdGlvbiAmJiB1cGRhdGVEYXRhLmFjdGlvbiA9PT0gRGVsaXZlcnlQbGFubmluZ1VwZGF0ZUFjdGlvbnMuRGVsZXRlUGxhbm5lZE9yZGVyICYmIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmRlbGV0aW5nT3JkZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuZGVsZXRpbmdPcmRlci5kYXRlUmVzZXROZWVkZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLl90cmFuc2FjdGlvbi5yZXN0b3JlRGVsaXZlcnlTZXR0aW5ncyhbdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuZGVsZXRpbmdPcmRlcl0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb24uY29tbWl0KCk7XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLnVwZGF0ZU5ld1ZhbHVlcygpO1xyXG4gICAgICAgICAgaWYodGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuY3VycmVudFRpbGVNb2RlID09PSBEZWxpdmVyeVBsYW5uaW5nVGlsZU1vZGVzLkNhbGVuZGFyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLnJlUmVuZGVySG91clNjaGVkdWxpbmcubmV4dCgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLnJlc2V0UGxhbm5pbmdUcmFuc3BvcnRXZWVrKClcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHVwZGF0ZU5ld1ZhbHVlcygpIHtcclxuICAgIGF3YWl0IHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLnVwZGF0ZVBsYW5uaW5nVHJhbnNwb3J0VmFsdWVzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcmVzZXRQbGFubmluZ1RyYW5zcG9ydFdlZWsoKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFBsYW5uaW5nVHJhbnNwb3J0V2VlaygpIHtcclxuICAgIGlmKHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLnBsYW5PcmRlckRhdGUpIHtcclxuICAgICAgdGhpcy5jdXJyZW50U3RhcnREYXRlID0gdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UucGxhbk9yZGVyRGF0ZTtcclxuICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UucGxhbk9yZGVyRGF0ZSA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICAgIGF3YWl0IHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmdldFBsYW5uaW5nVHJhbnNwb3J0V2VlaygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldExpc3REYXRhKCk6IHZvaWQge1xyXG4gICAgY29uc3QgbG9hZERhdGFJZk5lZWRlZCA9IDxUPihkYXRhOiBUW10sIGxvYWRlcjogKCkgPT4gUHJvbWlzZTxUW10+LCBzZXR0ZXI6IChyZXN1bHQ6IFRbXSkgPT4gdm9pZCk6IFByb21pc2U8dm9pZD4gPT4ge1xyXG4gICAgICBpZiAoZGF0YS5sZW5ndGggPT09IDApIHtcclxuICAgICAgICByZXR1cm4gbG9hZGVyKCkudGhlbihzZXR0ZXIpLmNhdGNoKGVycm9yID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIGRhdGEnLCBlcnJvcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBwcm9taXNlc1xyXG4gICAgICA6XHJcbiAgICAgIFByb21pc2U8dm9pZD4gW10gPSBbXHJcbiAgICAgIGxvYWREYXRhSWZOZWVkZWQoXHJcbiAgICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuZGVsaXZlcnlNZXRob2RzLFxyXG4gICAgICAgICgpID0+IHRoaXMuX3RyYW5zYWN0aW9uLmdldERlbGl2ZXJ5TWV0aG9kcygpLFxyXG4gICAgICAgIChyZXN1bHQpID0+IHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmRlbGl2ZXJ5TWV0aG9kcyA9IHJlc3VsdFxyXG4gICAgICApLFxyXG4gICAgICBsb2FkRGF0YUlmTmVlZGVkKFxyXG4gICAgICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmRpc3RyaWN0cyxcclxuICAgICAgICAoKSA9PiB0aGlzLl90cmFuc2FjdGlvbi5nZXREaXN0cmljdHMoKSxcclxuICAgICAgICAocmVzdWx0KSA9PiB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5kaXN0cmljdHMgPSByZXN1bHRcclxuICAgICAgKSxcclxuICAgICAgbG9hZERhdGFJZk5lZWRlZChcclxuICAgICAgICB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5lbXBsb3llZXMsXHJcbiAgICAgICAgKCkgPT4gdGhpcy5fdHJhbnNhY3Rpb24uZ2V0RW1wbG95ZWVzKCksXHJcbiAgICAgICAgKHJlc3VsdCkgPT4gdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuZW1wbG95ZWVzID0gcmVzdWx0XHJcbiAgICAgICksXHJcbiAgICAgIGxvYWREYXRhSWZOZWVkZWQoXHJcbiAgICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2Uuc2tpbGxzLFxyXG4gICAgICAgICgpID0+IHRoaXMuX3RyYW5zYWN0aW9uLmdldFNraWxscygpLFxyXG4gICAgICAgIChyZXN1bHQpID0+IHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLnNraWxscyA9IHJlc3VsdFxyXG4gICAgICApLFxyXG4gICAgICBsb2FkRGF0YUlmTmVlZGVkKFxyXG4gICAgICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLnVzZXJHcm91cHMsXHJcbiAgICAgICAgKCkgPT4gdGhpcy5fdHJhbnNhY3Rpb24uZ2V0VXNlckdyb3VwcygpLFxyXG4gICAgICAgIChyZXN1bHQpID0+IHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLnVzZXJHcm91cHMgPSByZXN1bHRcclxuICAgICAgKSxcclxuICAgIF07XHJcblxyXG4gICAgUHJvbWlzZS5hbGwocHJvbWlzZXMpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAvLyBBbGwgbmVjZXNzYXJ5IGRhdGEgaGFzIGJlZW4gbG9hZGVkXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -51,19 +51,34 @@ export class TransactionCardPlanningComponent extends TransactionBaseComponent {
51
51
  this._deliveryPlanningService.currentTransId = this.transaction.transactionInfo.id;
52
52
  ev.dataTransfer.setData("text", "lines");
53
53
  }
54
+ lineNotPlanned(line) {
55
+ if (!this._deliveryPlanningService.linesPlanOrder) {
56
+ return true;
57
+ }
58
+ if (this._deliveryPlanningService.linesPlanOrder.lines.find(line => line.lineNr === line.originalLineNr)) {
59
+ return false;
60
+ }
61
+ else {
62
+ return true;
63
+ }
64
+ }
65
+ allowPartialDelivery() {
66
+ var _a;
67
+ return (_a = this.transactionInfo) === null || _a === void 0 ? void 0 : _a.allowPartialDelivery;
68
+ }
54
69
  }
55
70
  TransactionCardPlanningComponent.decorators = [
56
71
  { type: Component, args: [{
57
72
  selector: "co-transaction-card-planning",
58
73
  template: `
59
74
  <div class="transaction-card-wrapper" observeVisibility #observer=visibilityObserve
60
- [draggable]="true"
75
+ [draggable]="lineNotPlanned(transactionLine)"
61
76
  (dragstart)="dragStarted($event)"
62
77
  (visibilityChange)="handleVisibilityChange(transactionLine, $event)">
63
78
  <co-transaction-card-header
64
79
  [transactionLine]="transactionLine"
65
80
  [showActionButtons]="true"
66
- [showCheckbox]="true"
81
+ [showCheckbox]="lineNotPlanned(transactionLine)"
67
82
  [expanded]="expanded" [selected]="selected"
68
83
  (checkboxValueChanged)="selected = $event"
69
84
  >
@@ -137,4 +152,4 @@ TransactionCardPlanningComponent.propDecorators = {
137
152
  transactionLineActionButtons: [{ type: ViewChild, args: [TransactionLineActionButtonsComponent,] }],
138
153
  showClass: [{ type: HostBinding, args: ["class.co-transaction-card-sales-overview",] }]
139
154
  };
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FyZC1wbGFubmluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXJkL3RyYW5zYWN0aW9uLWNhcmQtcGxhbm5pbmcvdHJhbnNhY3Rpb24tY2FyZC1wbGFubmluZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQVMsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLGlGQUFpRixDQUFDO0FBSXRJLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ2hILE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBdUV4RSxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsd0JBQXdCO0lBUTVFLFlBQ1Usd0JBQWlELEVBQ2xELHVCQUFnRCxFQUNoRCxnQkFBa0MsRUFDbEMsbUJBQTBELEVBQzFELG1CQUF3QyxFQUNy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UmVmLCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUFjdGlvbkJ1dHRvbnNDb21wb25lbnR9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWxpbmUtYWN0aW9uLWJ1dHRvbnMvdHJhbnNhY3Rpb24tbGluZS1hY3Rpb24tYnV0dG9ucy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1saW5lLWluZm8uYm8nO1xyXG5pbXBvcnQge1N0YXR1c0JhckNmZ05hbWVzfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2Uvc3RhdHVzLWJhci1jZmctbmFtZXMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtMaW5lRGlzY291bnRDZmdOYW1lc30gZnJvbSBcIi4uLy4uLy4uL2ludGVyZmFjZS9saW5lLWRpc2NvdW50LWNmZy1uYW1lcy5pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nU2VydmljZX0gZnJvbSBcIi4uLy4uL2RlbGl2ZXJ5LXBsYW5uaW5nL3NlcnZpY2UvZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2NyZWVuLWNvbmZpZ3VyYXRpb24uc2VydmljZVwiO1xyXG5pbXBvcnQge09yZGVyTGluZVNldFNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL29yZGVyLWxpbmUtc2V0LXNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkltYWdlU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24taW1hZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2VcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1jYXJkLXBsYW5uaW5nXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1jYXJkLXdyYXBwZXJcIiBvYnNlcnZlVmlzaWJpbGl0eSAjb2JzZXJ2ZXI9dmlzaWJpbGl0eU9ic2VydmVcclxuICAgICAgICAgW2RyYWdnYWJsZV09XCJ0cnVlXCJcclxuICAgICAgICAgKGRyYWdzdGFydCk9XCJkcmFnU3RhcnRlZCgkZXZlbnQpXCJcclxuICAgICAgICAgKHZpc2liaWxpdHlDaGFuZ2UpPVwiaGFuZGxlVmlzaWJpbGl0eUNoYW5nZSh0cmFuc2FjdGlvbkxpbmUsICRldmVudClcIj5cclxuICAgICAgPGNvLXRyYW5zYWN0aW9uLWNhcmQtaGVhZGVyXHJcbiAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgIFtzaG93QWN0aW9uQnV0dG9uc109XCJ0cnVlXCJcclxuICAgICAgICBbc2hvd0NoZWNrYm94XT1cInRydWVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJleHBhbmRlZFwiIFtzZWxlY3RlZF09XCJzZWxlY3RlZFwiXHJcbiAgICAgIChjaGVja2JveFZhbHVlQ2hhbmdlZCk9XCJzZWxlY3RlZCA9ICRldmVudFwiXHJcbiAgICAgID5cclxuICAgICAgPC9jby10cmFuc2FjdGlvbi1jYXJkLWhlYWRlcj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWNhcmQtY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtYmFzZSB0b3AtYmFzZVwiPlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtY29tbWlzc2lvbi1idXR0b24gW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIiBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1jb21taXNzaW9uLWJ1dHRvbj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLXN1cHBsaWVyLWJ1dHRvbiBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCI+PC9jby10cmFuc2FjdGlvbi1saW5lLXN1cHBsaWVyLWJ1dHRvbj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLXN0YXR1c2JhclxyXG4gICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5TdGF0dXNCYXJcIlxyXG4gICAgICAgICAgICBbY29uZmlnTmFtZXNdPVwic3RhdHVzQmFyQ29uZmlnTmFtZXNcIlxyXG4gICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgW2FjdGl2ZUNhdGVnb3J5XT1cImNhdGVnb3J5LlNhbGVzT3JkZXJQbGFubmluZ1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1zdGF0dXNiYXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtYmFzZSBib3R0b20tYmFzZVwiPlxyXG4gICAgICAgICAgPGNvLWVkaXRhYmxlLWxhYmVsIGNsYXNzPVwidHJhbnNhY3Rpb24tY2FyZC1wcmljZSBwcmljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInRyYW5zYWN0aW9uTGluZS5wcmljZSB8IGNvQ3VycmVuY3lcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgID48L2NvLWVkaXRhYmxlLWxhYmVsPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtdG90YWxzLWFtb3VudFwiPlxyXG4gICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1hbW91bnQgY2xhc3M9XCJhbW91bnQtbnVtYmVyLXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lQW1vdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1hbW91bnQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWRpc2NvdW50LWJ1dHRvbiAqbmdJZj1cIiFwcmV2aWV3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lRGlzY291bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdOYW1lc109XCJkaXNjb3VudENvbmZpZ05hbWVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1kaXNjb3VudC1idXR0b24+XHJcbiAgICAgICAgICA8Y28tZWRpdGFibGUtbGFiZWwgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXRvdGFscy10b3RhbCBwcmljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInRyYW5zYWN0aW9uTGluZS5kaXNwbGF5TmV0TGluZVRvdGFsIHwgY29DdXJyZW5jeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VkaXRNb2RlbF09XCJ0cmFuc2FjdGlvbkxpbmUuZGlzcGxheU5ldExpbmVUb3RhbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgPjwvY28tZWRpdGFibGUtbGFiZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtZXhwYW5kZWRcIiAqbmdJZj1cImV4cGFuZGVkXCI+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS13YXJlaG91c2UtYnV0dG9uIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCIgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtd2FyZWhvdXNlLWJ1dHRvbj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWJ1dHRvbiBjbGFzcz1cImZpdC1jb250ZW50XCIgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIiBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1idXR0b24+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS12YXQtYnV0dG9uIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCIgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtdmF0LWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8Y28tdHJhbnNhY3Rpb24tY2FyZC1mb290ZXJcclxuICAgICAgICBbdHJhbnNhY3Rpb25dPVwidHJhbnNhY3Rpb25cIlxyXG4gICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICBbdHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnldPVwiY2F0ZWdvcnkuU2FsZXNPcmRlck92ZXJ2aWV3XCJcclxuICAgICAgICBbZXhwYW5kZWRdPVwiZXhwYW5kZWRcIlxyXG4gICAgICAgIChleHBhbmRDbGlja2VkKT1cImV4cGFuZGVkID0gIWV4cGFuZGVkXCJcclxuICAgICAgPjwvY28tdHJhbnNhY3Rpb24tY2FyZC1mb290ZXI+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQ2FyZFBsYW5uaW5nQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKFRyYW5zYWN0aW9uTGluZUFjdGlvbkJ1dHRvbnNDb21wb25lbnQpXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uTGluZUFjdGlvbkJ1dHRvbnM6IFRyYW5zYWN0aW9uTGluZUFjdGlvbkJ1dHRvbnNDb21wb25lbnQ7XHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdHJhbnNhY3Rpb24tY2FyZC1zYWxlcy1vdmVydmlld1wiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZGVsaXZlcnlQbGFubmluZ1NlcnZpY2U6IERlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHNjcmVlbkNvbmZpZ1NlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgb3JkZXJMaW5lU2V0U2VydmljZTogT3JkZXJMaW5lU2V0U2VydmljZSxcclxuICAgIHByb3RlY3RlZCBpbWFnZVNlcnZpY2U6IFRyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGRpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgIHByb3RlY3RlZCB0cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgKSB7XHJcbiAgICBzdXBlcih0cmFuc2FjdGlvbkV2ZW50U2VydmljZSwgaWNvbkNhY2hlU2VydmljZSwgc2NyZWVuQ29uZmlnU2VydmljZSwgaW1hZ2VTZXJ2aWNlLCBkaWN0aW9uYXJ5U2VydmljZSwgdHJhbnNhY3Rpb25TZXJ2aWNlLCBjaGFuZ2VEZXRlY3Rvcik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIGhhbmRsZVNob3dTaWRlUGFuZWwobGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbyk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5vcGVuU2lkZVBhbmVsLm5leHQobGluZSlcclxuICB9XHJcbiAgcHVibGljIHN0YXR1c0JhckNvbmZpZ05hbWVzOiBTdGF0dXNCYXJDZmdOYW1lcyA9IHtcclxuICAgIHN0YXR1c0JhckJUOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckJULFxyXG4gICAgc3RhdHVzQmFyVEc6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVEcsXHJcbiAgICBzdGF0dXNCYXJQQTogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJQQSxcclxuICAgIHN0YXR1c0JhclBWOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhclBWLFxyXG4gICAgc3RhdHVzQmFyVFA6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVFAsXHJcbiAgICBzdGF0dXNCYXJHVDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHVCxcclxuICAgIHN0YXR1c0JhckdQOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckdQLFxyXG4gICAgc3RhdHVzQmFyR0w6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR0wsXHJcbiAgICBzdGF0dXNCYXJHRjogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHRlxyXG4gIH1cclxuICBwdWJsaWMgZGlzY291bnRDb25maWdOYW1lczogTGluZURpc2NvdW50Q2ZnTmFtZXMgPSB7XHJcbiAgICBsaW5lUHJpY2VMaXN0OiB0aGlzLmNmZ05hbWVzLkxpbmVQcmljZUxpc3QsXHJcbiAgICBsaW5lRGlzY291bnRBbW91bnQ6IHRoaXMuY2ZnTmFtZXMuTGluZURpc2NvdW50QW1vdW50LFxyXG4gICAgbGluZURpc2NvdW50UGVyY2VudGFnZTogdGhpcy5jZmdOYW1lcy5MaW5lRGlzY291bnRQZXJjZW50YWdlLFxyXG4gICAgbGluZURpc2NvdW50U3BlY2lhbDogdGhpcy5jZmdOYW1lcy5MaW5lRGlzY291bnRTcGVjaWFsLFxyXG4gICAgbGluZURpc2NvdW50UXVhbnR1bTogdGhpcy5jZmdOYW1lcy5MaW5lRGlzY291bnRRdWFudHVtXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZHJhZ1N0YXJ0ZWQoZXY6YW55KSB7XHJcbiAgICB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5jdXJyZW50VHJhbnNJZCA9IHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmlkO1xyXG4gICAgZXYuZGF0YVRyYW5zZmVyLnNldERhdGEoXCJ0ZXh0XCIsIFwibGluZXNcIik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FyZC1wbGFubmluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXJkL3RyYW5zYWN0aW9uLWNhcmQtcGxhbm5pbmcvdHJhbnNhY3Rpb24tY2FyZC1wbGFubmluZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQVMsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLGlGQUFpRixDQUFDO0FBSXRJLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ2hILE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBdUV4RSxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsd0JBQXdCO0lBUTVFLFlBQ1Usd0JBQWlELEVBQ2xELHVCQUFnRCxFQUNoRCxnQkFBa0MsRUFDbEMsbUJBQTBELEVBQzFELG1CQUF3QyxFQUNy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QztnQkFDVCxRQUFRLEVBQUUsOEJBQThCO2dCQUN4QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStEVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBN0VPLHVCQUF1QjtZQUN2Qix1QkFBdUI7WUFDdkIsZ0JBQWdCO1lBQ2hCLHFDQUFxQztZQUNyQyxtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFibEIsaUJBQWlCOzs7MkNBcUZ0QixTQUFTLFNBQUMscUNBQXFDO3dCQUUvQyxXQUFXLFNBQUMsMENBQTBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlL3RyYW5zYWN0aW9uLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVBY3Rpb25CdXR0b25zQ29tcG9uZW50fSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1saW5lLWFjdGlvbi1idXR0b25zL3RyYW5zYWN0aW9uLWxpbmUtYWN0aW9uLWJ1dHRvbnMuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVJbmZvfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tbGluZS1pbmZvLmJvJztcclxuaW1wb3J0IHtTdGF0dXNCYXJDZmdOYW1lc30gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlL3N0YXR1cy1iYXItY2ZnLW5hbWVzLmludGVyZmFjZSc7XHJcbmltcG9ydCB7TGluZURpc2NvdW50Q2ZnTmFtZXN9IGZyb20gXCIuLi8uLi8uLi9pbnRlcmZhY2UvbGluZS1kaXNjb3VudC1jZmctbmFtZXMuaW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ1NlcnZpY2V9IGZyb20gXCIuLi8uLi9kZWxpdmVyeS1wbGFubmluZy9zZXJ2aWNlL2RlbGl2ZXJ5LXBsYW5uaW5nLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtPcmRlckxpbmVTZXRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9vcmRlci1saW5lLXNldC1zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbWFnZVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWltYWdlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tdHJhbnNhY3Rpb24tY2FyZC1wbGFubmluZ1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tY2FyZC13cmFwcGVyXCIgb2JzZXJ2ZVZpc2liaWxpdHkgI29ic2VydmVyPXZpc2liaWxpdHlPYnNlcnZlXHJcbiAgICAgICAgIFtkcmFnZ2FibGVdPVwibGluZU5vdFBsYW5uZWQodHJhbnNhY3Rpb25MaW5lKVwiXHJcbiAgICAgICAgIChkcmFnc3RhcnQpPVwiZHJhZ1N0YXJ0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICh2aXNpYmlsaXR5Q2hhbmdlKT1cImhhbmRsZVZpc2liaWxpdHlDaGFuZ2UodHJhbnNhY3Rpb25MaW5lLCAkZXZlbnQpXCI+XHJcbiAgICAgIDxjby10cmFuc2FjdGlvbi1jYXJkLWhlYWRlclxyXG4gICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICBbc2hvd0FjdGlvbkJ1dHRvbnNdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3Nob3dDaGVja2JveF09XCJsaW5lTm90UGxhbm5lZCh0cmFuc2FjdGlvbkxpbmUpXCJcclxuICAgICAgICBbZXhwYW5kZWRdPVwiZXhwYW5kZWRcIiBbc2VsZWN0ZWRdPVwic2VsZWN0ZWRcIlxyXG4gICAgICAoY2hlY2tib3hWYWx1ZUNoYW5nZWQpPVwic2VsZWN0ZWQgPSAkZXZlbnRcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvY28tdHJhbnNhY3Rpb24tY2FyZC1oZWFkZXI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1jYXJkLWNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWJhc2UgdG9wLWJhc2VcIj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWNvbW1pc3Npb24tYnV0dG9uIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCIgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtY29tbWlzc2lvbi1idXR0b24+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1zdXBwbGllci1idXR0b24gW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIiBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1zdXBwbGllci1idXR0b24+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1zdGF0dXNiYXJcclxuICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuU3RhdHVzQmFyXCJcclxuICAgICAgICAgICAgW2NvbmZpZ05hbWVzXT1cInN0YXR1c0JhckNvbmZpZ05hbWVzXCJcclxuICAgICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgICAgIFthY3RpdmVDYXRlZ29yeV09XCJjYXRlZ29yeS5TYWxlc09yZGVyUGxhbm5pbmdcIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtc3RhdHVzYmFyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWJhc2UgYm90dG9tLWJhc2VcIj5cclxuICAgICAgICAgIDxjby1lZGl0YWJsZS1sYWJlbCBjbGFzcz1cInRyYW5zYWN0aW9uLWNhcmQtcHJpY2UgcHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJ0cmFuc2FjdGlvbkxpbmUucHJpY2UgfCBjb0N1cnJlbmN5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICA+PC9jby1lZGl0YWJsZS1sYWJlbD5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXRvdGFscy1hbW91bnRcIj5cclxuICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtYW1vdW50IGNsYXNzPVwiYW1vdW50LW51bWJlci1waWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZUFtb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtYW1vdW50PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1kaXNjb3VudC1idXR0b24gKm5nSWY9XCIhcHJldmlld1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZURpc2NvdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnTmFtZXNdPVwiZGlzY291bnRDb25maWdOYW1lc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtZGlzY291bnQtYnV0dG9uPlxyXG4gICAgICAgICAgPGNvLWVkaXRhYmxlLWxhYmVsIGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS10b3RhbHMtdG90YWwgcHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJ0cmFuc2FjdGlvbkxpbmUuZGlzcGxheU5ldExpbmVUb3RhbCB8IGNvQ3VycmVuY3lcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlZGl0TW9kZWxdPVwidHJhbnNhY3Rpb25MaW5lLmRpc3BsYXlOZXRMaW5lVG90YWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgID48L2NvLWVkaXRhYmxlLWxhYmVsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWV4cGFuZGVkXCIgKm5nSWY9XCJleHBhbmRlZFwiPlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtd2FyZWhvdXNlLWJ1dHRvbiBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCI+PC9jby10cmFuc2FjdGlvbi1saW5lLXdhcmVob3VzZS1idXR0b24+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1idXR0b24gY2xhc3M9XCJmaXQtY29udGVudFwiIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCIgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtZGVsaXZlcnktYnV0dG9uPlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtdmF0LWJ1dHRvbiBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCI+PC9jby10cmFuc2FjdGlvbi1saW5lLXZhdC1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGNvLXRyYW5zYWN0aW9uLWNhcmQtZm9vdGVyXHJcbiAgICAgICAgW3RyYW5zYWN0aW9uXT1cInRyYW5zYWN0aW9uXCJcclxuICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgW3RyYW5zYWN0aW9uVHlwZUNhdGVnb3J5XT1cImNhdGVnb3J5LlNhbGVzT3JkZXJPdmVydmlld1wiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cImV4cGFuZGVkXCJcclxuICAgICAgICAoZXhwYW5kQ2xpY2tlZCk9XCJleHBhbmRlZCA9ICFleHBhbmRlZFwiXHJcbiAgICAgID48L2NvLXRyYW5zYWN0aW9uLWNhcmQtZm9vdGVyPlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkNhcmRQbGFubmluZ0NvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudCB7XHJcbiAgQFZpZXdDaGlsZChUcmFuc2FjdGlvbkxpbmVBY3Rpb25CdXR0b25zQ29tcG9uZW50KVxyXG4gIHB1YmxpYyB0cmFuc2FjdGlvbkxpbmVBY3Rpb25CdXR0b25zOiBUcmFuc2FjdGlvbkxpbmVBY3Rpb25CdXR0b25zQ29tcG9uZW50O1xyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLWNhcmQtc2FsZXMtb3ZlcnZpZXdcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlOiBEZWxpdmVyeVBsYW5uaW5nU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkV2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHB1YmxpYyBzY3JlZW5Db25maWdTZXJ2aWNlOiBUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG4gICAgcHVibGljIG9yZGVyTGluZVNldFNlcnZpY2U6IE9yZGVyTGluZVNldFNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgaW1hZ2VTZXJ2aWNlOiBUcmFuc2FjdGlvbkltYWdlU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBkaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICkge1xyXG4gICAgc3VwZXIodHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsIGljb25DYWNoZVNlcnZpY2UsIHNjcmVlbkNvbmZpZ1NlcnZpY2UsIGltYWdlU2VydmljZSwgZGljdGlvbmFyeVNlcnZpY2UsIHRyYW5zYWN0aW9uU2VydmljZSwgY2hhbmdlRGV0ZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGV4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTaG93U2lkZVBhbmVsKGxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8pOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2Uub3BlblNpZGVQYW5lbC5uZXh0KGxpbmUpXHJcbiAgfVxyXG4gIHB1YmxpYyBzdGF0dXNCYXJDb25maWdOYW1lczogU3RhdHVzQmFyQ2ZnTmFtZXMgPSB7XHJcbiAgICBzdGF0dXNCYXJCVDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJCVCxcclxuICAgIHN0YXR1c0JhclRHOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhclRHLFxyXG4gICAgc3RhdHVzQmFyUEE6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyUEEsXHJcbiAgICBzdGF0dXNCYXJQVjogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJQVixcclxuICAgIHN0YXR1c0JhclRQOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhclRQLFxyXG4gICAgc3RhdHVzQmFyR1Q6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR1QsXHJcbiAgICBzdGF0dXNCYXJHUDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHUCxcclxuICAgIHN0YXR1c0JhckdMOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckdMLFxyXG4gICAgc3RhdHVzQmFyR0Y6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR0ZcclxuICB9XHJcbiAgcHVibGljIGRpc2NvdW50Q29uZmlnTmFtZXM6IExpbmVEaXNjb3VudENmZ05hbWVzID0ge1xyXG4gICAgbGluZVByaWNlTGlzdDogdGhpcy5jZmdOYW1lcy5MaW5lUHJpY2VMaXN0LFxyXG4gICAgbGluZURpc2NvdW50QW1vdW50OiB0aGlzLmNmZ05hbWVzLkxpbmVEaXNjb3VudEFtb3VudCxcclxuICAgIGxpbmVEaXNjb3VudFBlcmNlbnRhZ2U6IHRoaXMuY2ZnTmFtZXMuTGluZURpc2NvdW50UGVyY2VudGFnZSxcclxuICAgIGxpbmVEaXNjb3VudFNwZWNpYWw6IHRoaXMuY2ZnTmFtZXMuTGluZURpc2NvdW50U3BlY2lhbCxcclxuICAgIGxpbmVEaXNjb3VudFF1YW50dW06IHRoaXMuY2ZnTmFtZXMuTGluZURpc2NvdW50UXVhbnR1bVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGRyYWdTdGFydGVkKGV2OmFueSkge1xyXG4gICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuY3VycmVudFRyYW5zSWQgPSB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5pZDtcclxuICAgIGV2LmRhdGFUcmFuc2Zlci5zZXREYXRhKFwidGV4dFwiLCBcImxpbmVzXCIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGxpbmVOb3RQbGFubmVkKGxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8pIHtcclxuICAgIGlmKCF0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5saW5lc1BsYW5PcmRlcikge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGlmKHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmxpbmVzUGxhbk9yZGVyLmxpbmVzLmZpbmQoIGxpbmUgPT4gbGluZS5saW5lTnIgPT09IGxpbmUub3JpZ2luYWxMaW5lTnIpKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFsbG93UGFydGlhbERlbGl2ZXJ5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25JbmZvPy5hbGxvd1BhcnRpYWxEZWxpdmVyeTtcclxuICB9XHJcbn1cclxuIl19
@@ -9,108 +9,113 @@ TransactionCardPurchaseConfirmationComponent.decorators = [
9
9
  { type: Component, args: [{
10
10
  selector: 'co-transaction-card-purchase-confirmation',
11
11
  template: `
12
- <co-transaction-base-card
13
- [transactionInfo]="transactionInfo"
14
- [transactionLine]="transactionLine"
15
- [showColorIndicator]="showColorIndicator"
16
- [colorIndicatorColor]="colorIndicatorColor"
17
- (dragover)="handleDragOver($event)"
18
- (drop)="handleDrop($event)"
19
- (dragleave)="handleDragLeave($event)"
20
- >
21
- <div class="transaction-card-wrapper">
22
- <co-transaction-card-header
23
- [transactionLine]="transactionLine"
24
- [showActionButtons]="true"
25
- [showCheckbox]="showCheckboxForLine"
26
- [showThumbnail]="false"
27
- [expanded]="expanded"
28
- >
29
- </co-transaction-card-header>
12
+ <co-transaction-base-card
13
+ [transactionInfo]="transactionInfo"
14
+ [transactionLine]="transactionLine"
15
+ [showColorIndicator]="showColorIndicator"
16
+ [colorIndicatorColor]="colorIndicatorColor"
17
+ (dragover)="handleDragOver($event)"
18
+ (drop)="handleDrop($event)"
19
+ (dragleave)="handleDragLeave($event)"
20
+ >
21
+ <div class="transaction-card-wrapper">
22
+ <co-transaction-card-header
23
+ [transactionLine]="transactionLine"
24
+ [showActionButtons]="true"
25
+ [showCheckbox]="showCheckboxForLine"
26
+ [showThumbnail]="false"
27
+ [expanded]="expanded"
28
+ >
29
+ </co-transaction-card-header>
30
30
 
31
- <div class="transaction-card-content-wrapper">
32
- <div class="content-base top-base">
33
- <co-transaction-line-commission-button [transactionLine]="transactionLine" [transactionInfo]="transactionInfo"></co-transaction-line-commission-button>
34
- <co-transaction-line-supplier-button [transactionLine]="transactionLine" [transactionInfo]="transactionInfo"></co-transaction-line-supplier-button>
35
- <co-transaction-line-statusbar data-action="openSidePanel"
36
- [screenConfigurationObject]="cfgNames.StatusBar"
37
- [configNames]="statusBarConfigNames"
38
- [transactionInfo]="transactionInfo"
39
- [transactionLine]="transactionLine"
40
- [activeCategory]="transactionTypeCategory.PurchaseOrderOrderConfirmation"
41
- ></co-transaction-line-statusbar>
42
- </div>
43
- <div class="content-base bottom-base">
44
- <co-input-text class="transaction-line-totals-price"
45
- [model]="transactionLine.purchasePortalLine.grossOrderPrice | coCurrency"
46
- [readonly]="true"
47
- [customHeight]="true"
48
- ></co-input-text>
49
- <co-transaction-line-discount-button
50
- [screenConfigurationObject]="cfgNames.LineDiscount"
51
- [transactionLine]="transactionLine"
52
- [transactionInfo]="transactionInfo"
53
- ></co-transaction-line-discount-button>
54
- <div class="transaction-line-totals-amount">
55
- <co-input-text
56
- [model]="transactionLine.amount"
57
- [leftIconData]="iconCacheService.getIcon(icons.CartShoppingRegular)"
58
- [readonly]="true"
59
- [customHeight]="true"
60
- ></co-input-text>
61
- </div>
62
- <co-input-text class="transaction-line-totals-total"
63
- [model]="transactionLine.displayNetLineTotal | coCurrency"
64
- [readonly]="true"
65
- [customHeight]="true"
66
- ></co-input-text>
67
- </div>
68
- <div class="content-expanded" *ngIf="expanded">
69
- <co-input-text
70
- [model]="transactionLine.purchasePortalLine.articleNoSupplier ? transactionLine.purchasePortalLine.articleNoSupplier : '-'"
71
- [leftIconData]="iconCacheService.getIcon(icons.RegularIndustryTag)"
72
- [customHeight]="true"
73
- [readonly]="true"
74
- ></co-input-text>
75
- <co-transaction-line-supplier-delivery-date-button
76
- [screenConfigurationObject]="cfgNames.LineConfirmedDate"
77
- [transactionLine]="transactionLine"
78
- ></co-transaction-line-supplier-delivery-date-button>
79
- </div>
80
- <div class="content-expanded" *ngIf="expanded">
81
- <co-input-number-picker class="amount-number-picker"
82
- [screenConfigurationObject]="cfgNames.LineConfirmedAmount"
83
- [required]="true"
84
- [(model)]="+transactionLine.quantityPurchaseToConfirm"
85
- [decimals]="decimals"
86
- [min]="1"
87
- [max]="+transactionLine.purchasePortalLine.amountOrdered"
88
- [leftIconData]="iconCacheService.getIcon(icons.FileCircleInfoRegular)"
89
- ></co-input-number-picker>
90
- <co-transaction-line-confirmed-price class="transaction-line-confirmed-price price"
91
- [screenConfigurationObject]="cfgNames.LineConfirmedPrice"
92
- [(price)]="transactionLine.purchasePortalLine.confirmedPrice"
93
- [showLabel]="false"
94
- [defaultEditMode]="false"
95
- ></co-transaction-line-confirmed-price>
96
- </div>
31
+ <div class="transaction-card-content-wrapper">
32
+ <div class="content-base top-base">
33
+ <co-transaction-line-commission-button [transactionLine]="transactionLine"
34
+ [transactionInfo]="transactionInfo"></co-transaction-line-commission-button>
35
+ <co-transaction-line-supplier-button [transactionLine]="transactionLine"
36
+ [transactionInfo]="transactionInfo"></co-transaction-line-supplier-button>
37
+ <co-transaction-line-statusbar data-action="openSidePanel"
38
+ [screenConfigurationObject]="cfgNames.StatusBar"
39
+ [configNames]="statusBarConfigNames"
40
+ [transactionInfo]="transactionInfo"
41
+ [transactionLine]="transactionLine"
42
+ [activeCategory]="transactionTypeCategory.PurchaseOrderOrderConfirmation"
43
+ ></co-transaction-line-statusbar>
44
+ </div>
45
+ <div class="content-base bottom-base">
46
+ <co-input-text
47
+ class="transaction-line-totals-price"
48
+ [class.warning]="showColorIndicator && transactionLine.purchasePortalLine.grossOrderPrice != transactionLine.purchasePortalLine.confirmedPrice"
49
+ [model]="transactionLine.purchasePortalLine.grossOrderPrice | coCurrency"
50
+ [readonly]="true"
51
+ [customHeight]="true">
52
+ </co-input-text>
53
+ <co-transaction-line-discount-button
54
+ [screenConfigurationObject]="cfgNames.LineDiscount"
55
+ [transactionLine]="transactionLine"
56
+ [transactionInfo]="transactionInfo"
57
+ ></co-transaction-line-discount-button>
58
+ <div class="transaction-line-totals-amount">
59
+ <co-input-text
60
+ [class.warning]="showColorIndicator && transactionLine.amount !== transactionLine.quantityPurchaseToConfirm"
61
+ [model]="transactionLine.amount"
62
+ [leftIconData]="iconCacheService.getIcon(icons.CartShoppingRegular)"
63
+ [readonly]="true"
64
+ [customHeight]="true"
65
+ ></co-input-text>
97
66
  </div>
98
-
99
- <co-transaction-card-footer
100
- [statusBarConfigNames]="statusBarConfigNames"
101
- [transaction]="transaction"
102
- [transactionLine]="transactionLine"
103
- [transactionTypeCategory]="transactionTypeCategory.SalesOrderPurchase"
104
- [expanded]="expanded"
105
- (expandClicked)="expanded = !expanded"
106
- ></co-transaction-card-footer>
67
+ <co-input-text class="transaction-line-totals-total"
68
+ [model]="transactionLine.displayNetLineTotal | coCurrency"
69
+ [readonly]="true"
70
+ [customHeight]="true"
71
+ ></co-input-text>
72
+ </div>
73
+ <div class="content-expanded" *ngIf="expanded">
74
+ <co-input-text
75
+ [model]="transactionLine.purchasePortalLine.articleNoSupplier ? transactionLine.purchasePortalLine.articleNoSupplier : '-'"
76
+ [leftIconData]="iconCacheService.getIcon(icons.RegularIndustryTag)"
77
+ [customHeight]="true"
78
+ [readonly]="true"
79
+ ></co-input-text>
80
+ <co-transaction-line-supplier-delivery-date-button
81
+ [screenConfigurationObject]="cfgNames.LineConfirmedDate"
82
+ [transactionLine]="transactionLine"
83
+ ></co-transaction-line-supplier-delivery-date-button>
84
+ </div>
85
+ <div class="content-expanded" *ngIf="expanded">
86
+ <co-input-number-picker class="amount-number-picker"
87
+ [screenConfigurationObject]="cfgNames.LineConfirmedAmount"
88
+ [required]="true"
89
+ [(model)]="+transactionLine.quantityPurchaseToConfirm"
90
+ [decimals]="decimals"
91
+ [min]="1"
92
+ [max]="+transactionLine.purchasePortalLine.amountOrdered"
93
+ [leftIconData]="iconCacheService.getIcon(icons.FileCircleInfoRegular)"
94
+ ></co-input-number-picker>
95
+ <co-transaction-line-confirmed-price class="transaction-line-confirmed-price price"
96
+ [screenConfigurationObject]="cfgNames.LineConfirmedPrice"
97
+ [(price)]="transactionLine.purchasePortalLine.confirmedPrice"
98
+ [showLabel]="false"
99
+ [defaultEditMode]="false"
100
+ ></co-transaction-line-confirmed-price>
101
+ </div>
107
102
  </div>
108
- </co-transaction-base-card>
109
- `,
103
+
104
+ <co-transaction-card-footer
105
+ [statusBarConfigNames]="statusBarConfigNames"
106
+ [transaction]="transaction"
107
+ [transactionLine]="transactionLine"
108
+ [transactionTypeCategory]="transactionTypeCategory.SalesOrderPurchase"
109
+ [expanded]="expanded"
110
+ (expandClicked)="expanded = !expanded"
111
+ ></co-transaction-card-footer>
112
+ </div>
113
+ </co-transaction-base-card>
114
+ `,
110
115
  encapsulation: ViewEncapsulation.None
111
116
  },] }
112
117
  ];
113
118
  TransactionCardPurchaseConfirmationComponent.propDecorators = {
114
119
  showClass: [{ type: HostBinding, args: ['class.co-transaction-card-purchase-confirmation',] }]
115
120
  };
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FyZC1wdXJjaGFzZS1jb25maXJtYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tY2FyZC90cmFuc2FjdGlvbi1jYXJkLXB1cmNoYXNlLWNvbmZpcm1hdGlvbi90cmFuc2FjdGlvbi1jYXJkLXB1cmNoYXNlLWNvbmZpcm1hdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUNMLHlDQUF5QyxFQUMxQyxNQUFNLHVHQUF1RyxDQUFDO0FBeUcvRyxNQUFNLE9BQU8sNENBQTZDLFNBQVEseUNBQXlDO0lBR2xHLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OztZQTVHRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJDQUEyQztnQkFDckQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQWtHUDtnQkFDSCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O3dCQUdFLFdBQVcsU0FBQyxpREFBaUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvblB1cmNoYXNlT3JkZXJMaW5lQmFzZUNvbXBvbmVudFxyXG59IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItbGluZS90cmFuc2FjdGlvbi1wdXJjaGFzZS1vcmRlci1saW5lLWJhc2UuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tdHJhbnNhY3Rpb24tY2FyZC1wdXJjaGFzZS1jb25maXJtYXRpb24nLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxjby10cmFuc2FjdGlvbi1iYXNlLWNhcmRcclxuICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgICAgIFtzaG93Q29sb3JJbmRpY2F0b3JdPVwic2hvd0NvbG9ySW5kaWNhdG9yXCJcclxuICAgICAgICAgICAgICBbY29sb3JJbmRpY2F0b3JDb2xvcl09XCJjb2xvckluZGljYXRvckNvbG9yXCJcclxuICAgICAgICAgICAgICAoZHJhZ292ZXIpPVwiaGFuZGxlRHJhZ092ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKGRyb3ApPVwiaGFuZGxlRHJvcCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAoZHJhZ2xlYXZlKT1cImhhbmRsZURyYWdMZWF2ZSgkZXZlbnQpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1jYXJkLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWNhcmQtaGVhZGVyXHJcbiAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaG93QWN0aW9uQnV0dG9uc109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2hvd0NoZWNrYm94XT1cInNob3dDaGVja2JveEZvckxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaG93VGh1bWJuYWlsXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBbZXhwYW5kZWRdPVwiZXhwYW5kZWRcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWNhcmQtaGVhZGVyPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWNhcmQtY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1iYXNlIHRvcC1iYXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtY29tbWlzc2lvbi1idXR0b24gW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIiBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1jb21taXNzaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1zdXBwbGllci1idXR0b24gW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIiBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1zdXBwbGllci1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtc3RhdHVzYmFyIGRhdGEtYWN0aW9uPVwib3BlblNpZGVQYW5lbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLlN0YXR1c0JhclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdOYW1lc109XCJzdGF0dXNCYXJDb25maWdOYW1lc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWN0aXZlQ2F0ZWdvcnldPVwidHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlck9yZGVyQ29uZmlybWF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLXN0YXR1c2Jhcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtYmFzZSBib3R0b20tYmFzZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtdG90YWxzLXByaWNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuZ3Jvc3NPcmRlclByaWNlIHwgY29DdXJyZW5jeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N1c3RvbUhlaWdodF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtZGlzY291bnQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZURpc2NvdW50XCJcclxuICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLWRpc2NvdW50LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtdG90YWxzLWFtb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwidHJhbnNhY3Rpb25MaW5lLmFtb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbbGVmdEljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DYXJ0U2hvcHBpbmdSZWd1bGFyKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tSGVpZ2h0XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtdG90YWxzLXRvdGFsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInRyYW5zYWN0aW9uTGluZS5kaXNwbGF5TmV0TGluZVRvdGFsIHwgY29DdXJyZW5jeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N1c3RvbUhlaWdodF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtZXhwYW5kZWRcIiAqbmdJZj1cImV4cGFuZGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuYXJ0aWNsZU5vU3VwcGxpZXIgPyB0cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmFydGljbGVOb1N1cHBsaWVyIDogJy0nXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGVmdEljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5SZWd1bGFySW5kdXN0cnlUYWcpXCJcclxuICAgICAgICAgICAgICAgICAgICBbY3VzdG9tSGVpZ2h0XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtc3VwcGxpZXItZGVsaXZlcnktZGF0ZS1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lQ29uZmlybWVkRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLXN1cHBsaWVyLWRlbGl2ZXJ5LWRhdGUtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1leHBhbmRlZFwiICpuZ0lmPVwiZXhwYW5kZWRcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LW51bWJlci1waWNrZXIgY2xhc3M9XCJhbW91bnQtbnVtYmVyLXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVDb25maXJtZWRBbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cIit0cmFuc2FjdGlvbkxpbmUucXVhbnRpdHlQdXJjaGFzZVRvQ29uZmlybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWNpbWFsc109XCJkZWNpbWFsc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttaW5dPVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXhdPVwiK3RyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuYW1vdW50T3JkZXJlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsZWZ0SWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkZpbGVDaXJjbGVJbmZvUmVndWxhcilcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1udW1iZXItcGlja2VyPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1jb25maXJtZWQtcHJpY2UgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLWNvbmZpcm1lZC1wcmljZSBwcmljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lQ29uZmlybWVkUHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhwcmljZSldPVwidHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZS5jb25maXJtZWRQcmljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd0xhYmVsXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0RWRpdE1vZGVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLWNvbmZpcm1lZC1wcmljZT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1jYXJkLWZvb3RlclxyXG4gICAgICAgICAgICAgICAgICAgIFtzdGF0dXNCYXJDb25maWdOYW1lc109XCJzdGF0dXNCYXJDb25maWdOYW1lc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uXT1cInRyYW5zYWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uVHlwZUNhdGVnb3J5XT1cInRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJQdXJjaGFzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2V4cGFuZGVkXT1cImV4cGFuZGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAoZXhwYW5kQ2xpY2tlZCk9XCJleHBhbmRlZCA9ICFleHBhbmRlZFwiXHJcbiAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWNhcmQtZm9vdGVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2NvLXRyYW5zYWN0aW9uLWJhc2UtY2FyZD5cclxuICAgIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25DYXJkUHVyY2hhc2VDb25maXJtYXRpb25Db21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvblB1cmNoYXNlT3JkZXJMaW5lQmFzZUNvbXBvbmVudCB7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tdHJhbnNhY3Rpb24tY2FyZC1wdXJjaGFzZS1jb25maXJtYXRpb24nKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FyZC1wdXJjaGFzZS1jb25maXJtYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tY2FyZC90cmFuc2FjdGlvbi1jYXJkLXB1cmNoYXNlLWNvbmZpcm1hdGlvbi90cmFuc2FjdGlvbi1jYXJkLXB1cmNoYXNlLWNvbmZpcm1hdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUNMLHlDQUF5QyxFQUMxQyxNQUFNLHVHQUF1RyxDQUFDO0FBOEcvRyxNQUFNLE9BQU8sNENBQTZDLFNBQVEseUNBQXlDO0lBR2xHLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OztZQWpIRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJDQUEyQztnQkFDckQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUdUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7d0JBR0UsV0FBVyxTQUFDLGlEQUFpRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uUHVyY2hhc2VPcmRlckxpbmVCYXNlQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1wdXJjaGFzZS1vcmRlci1saW5lL3RyYW5zYWN0aW9uLXB1cmNoYXNlLW9yZGVyLWxpbmUtYmFzZS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby10cmFuc2FjdGlvbi1jYXJkLXB1cmNoYXNlLWNvbmZpcm1hdGlvbicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby10cmFuc2FjdGlvbi1iYXNlLWNhcmRcclxuICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgIFtzaG93Q29sb3JJbmRpY2F0b3JdPVwic2hvd0NvbG9ySW5kaWNhdG9yXCJcclxuICAgICAgW2NvbG9ySW5kaWNhdG9yQ29sb3JdPVwiY29sb3JJbmRpY2F0b3JDb2xvclwiXHJcbiAgICAgIChkcmFnb3Zlcik9XCJoYW5kbGVEcmFnT3ZlcigkZXZlbnQpXCJcclxuICAgICAgKGRyb3ApPVwiaGFuZGxlRHJvcCgkZXZlbnQpXCJcclxuICAgICAgKGRyYWdsZWF2ZSk9XCJoYW5kbGVEcmFnTGVhdmUoJGV2ZW50KVwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1jYXJkLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tY2FyZC1oZWFkZXJcclxuICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgIFtzaG93QWN0aW9uQnV0dG9uc109XCJ0cnVlXCJcclxuICAgICAgICAgIFtzaG93Q2hlY2tib3hdPVwic2hvd0NoZWNrYm94Rm9yTGluZVwiXHJcbiAgICAgICAgICBbc2hvd1RodW1ibmFpbF09XCJmYWxzZVwiXHJcbiAgICAgICAgICBbZXhwYW5kZWRdPVwiZXhwYW5kZWRcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWNhcmQtaGVhZGVyPlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tY2FyZC1jb250ZW50LXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWJhc2UgdG9wLWJhc2VcIj5cclxuICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtY29tbWlzc2lvbi1idXR0b24gW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1jb21taXNzaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtc3VwcGxpZXItYnV0dG9uIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCI+PC9jby10cmFuc2FjdGlvbi1saW5lLXN1cHBsaWVyLWJ1dHRvbj5cclxuICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtc3RhdHVzYmFyIGRhdGEtYWN0aW9uPVwib3BlblNpZGVQYW5lbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5TdGF0dXNCYXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ05hbWVzXT1cInN0YXR1c0JhckNvbmZpZ05hbWVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthY3RpdmVDYXRlZ29yeV09XCJ0cmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyT3JkZXJDb25maXJtYXRpb25cIlxyXG4gICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLXN0YXR1c2Jhcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtYmFzZSBib3R0b20tYmFzZVwiPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dFxyXG4gICAgICAgICAgICAgIGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS10b3RhbHMtcHJpY2VcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy53YXJuaW5nXT1cInNob3dDb2xvckluZGljYXRvciAmJiB0cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmdyb3NzT3JkZXJQcmljZSAhPSB0cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmNvbmZpcm1lZFByaWNlXCJcclxuICAgICAgICAgICAgICBbbW9kZWxdPVwidHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZS5ncm9zc09yZGVyUHJpY2UgfCBjb0N1cnJlbmN5XCJcclxuICAgICAgICAgICAgICBbcmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW2N1c3RvbUhlaWdodF09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgIDwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtZGlzY291bnQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZURpc2NvdW50XCJcclxuICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLWRpc2NvdW50LWJ1dHRvbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtdG90YWxzLWFtb3VudFwiPlxyXG4gICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0XHJcbiAgICAgICAgICAgICAgICBbY2xhc3Mud2FybmluZ109XCJzaG93Q29sb3JJbmRpY2F0b3IgJiYgdHJhbnNhY3Rpb25MaW5lLmFtb3VudCAhPT0gdHJhbnNhY3Rpb25MaW5lLnF1YW50aXR5UHVyY2hhc2VUb0NvbmZpcm1cIlxyXG4gICAgICAgICAgICAgICAgW21vZGVsXT1cInRyYW5zYWN0aW9uTGluZS5hbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgW2xlZnRJY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ2FydFNob3BwaW5nUmVndWxhcilcIlxyXG4gICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgW2N1c3RvbUhlaWdodF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXRvdGFscy10b3RhbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJ0cmFuc2FjdGlvbkxpbmUuZGlzcGxheU5ldExpbmVUb3RhbCB8IGNvQ3VycmVuY3lcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjdXN0b21IZWlnaHRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWV4cGFuZGVkXCIgKm5nSWY9XCJleHBhbmRlZFwiPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dFxyXG4gICAgICAgICAgICAgIFttb2RlbF09XCJ0cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmFydGljbGVOb1N1cHBsaWVyID8gdHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZS5hcnRpY2xlTm9TdXBwbGllciA6ICctJ1wiXHJcbiAgICAgICAgICAgICAgW2xlZnRJY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuUmVndWxhckluZHVzdHJ5VGFnKVwiXHJcbiAgICAgICAgICAgICAgW2N1c3RvbUhlaWdodF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbcmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLXN1cHBsaWVyLWRlbGl2ZXJ5LWRhdGUtYnV0dG9uXHJcbiAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZUNvbmZpcm1lZERhdGVcIlxyXG4gICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1zdXBwbGllci1kZWxpdmVyeS1kYXRlLWJ1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtZXhwYW5kZWRcIiAqbmdJZj1cImV4cGFuZGVkXCI+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC1udW1iZXItcGlja2VyIGNsYXNzPVwiYW1vdW50LW51bWJlci1waWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lQ29uZmlybWVkQW1vdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCIrdHJhbnNhY3Rpb25MaW5lLnF1YW50aXR5UHVyY2hhc2VUb0NvbmZpcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVjaW1hbHNdPVwiZGVjaW1hbHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWluXT1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF4XT1cIit0cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmFtb3VudE9yZGVyZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGVmdEljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5GaWxlQ2lyY2xlSW5mb1JlZ3VsYXIpXCJcclxuICAgICAgICAgICAgPjwvY28taW5wdXQtbnVtYmVyLXBpY2tlcj5cclxuICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtY29uZmlybWVkLXByaWNlIGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1jb25maXJtZWQtcHJpY2UgcHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZUNvbmZpcm1lZFByaWNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsocHJpY2UpXT1cInRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuY29uZmlybWVkUHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dMYWJlbF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdEVkaXRNb2RlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1jb25maXJtZWQtcHJpY2U+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWNhcmQtZm9vdGVyXHJcbiAgICAgICAgICBbc3RhdHVzQmFyQ29uZmlnTmFtZXNdPVwic3RhdHVzQmFyQ29uZmlnTmFtZXNcIlxyXG4gICAgICAgICAgW3RyYW5zYWN0aW9uXT1cInRyYW5zYWN0aW9uXCJcclxuICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgIFt0cmFuc2FjdGlvblR5cGVDYXRlZ29yeV09XCJ0cmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyUHVyY2hhc2VcIlxyXG4gICAgICAgICAgW2V4cGFuZGVkXT1cImV4cGFuZGVkXCJcclxuICAgICAgICAgIChleHBhbmRDbGlja2VkKT1cImV4cGFuZGVkID0gIWV4cGFuZGVkXCJcclxuICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1jYXJkLWZvb3Rlcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2NvLXRyYW5zYWN0aW9uLWJhc2UtY2FyZD5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQ2FyZFB1cmNoYXNlQ29uZmlybWF0aW9uQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25QdXJjaGFzZU9yZGVyTGluZUJhc2VDb21wb25lbnQge1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXRyYW5zYWN0aW9uLWNhcmQtcHVyY2hhc2UtY29uZmlybWF0aW9uJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=