@colijnit/transaction 12.1.130 → 12.1.132

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 (133) hide show
  1. package/bundles/colijnit-transaction.umd.js +1794 -469
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.d.ts +378 -366
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/colijnit-transaction.js +379 -367
  6. package/esm2015/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +2 -2
  7. package/esm2015/lib/component/core/base/transaction-base.component.js +2 -2
  8. package/esm2015/lib/component/deposit-payment/deposit-payment.component.js +17 -5
  9. package/esm2015/lib/component/discount/discount.component.js +110 -0
  10. package/esm2015/lib/component/discount/discount.module.js +29 -0
  11. package/esm2015/lib/component/payment/payment.component.js +86 -44
  12. package/esm2015/lib/component/payment/payment.module.js +4 -2
  13. package/esm2015/lib/component/payment-to-pay/payment-to-pay.component.js +26 -0
  14. package/esm2015/lib/component/payment-to-pay/payment-to-pay.module.js +21 -0
  15. package/esm2015/lib/component/transaction/transaction.module.js +4 -2
  16. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/transaction-cash-register-dialog.component.js +178 -0
  17. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/transaction-cash-register-dialog.module.js +28 -0
  18. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-order-receipt-dialog/transaction-cash-register-order-receipt-dialog.component.js +97 -0
  19. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-order-receipt-dialog/transaction-cash-register-order-receipt-dialog.module.js +24 -0
  20. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-order.component.js +189 -0
  21. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-order.module.js +41 -0
  22. package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +11 -2
  23. package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-payment.component.js +97 -4
  24. package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup.module.js +8 -3
  25. package/esm2015/lib/component/transaction-header-fields/transaction-header-amount-to-settle.component.js +55 -0
  26. package/esm2015/lib/component/transaction-header-fields/transaction-header-amount-to-settle.module.js +24 -0
  27. package/esm2015/lib/component/transaction-header-fields/transaction-header-deposit-amount.component.js +24 -3
  28. package/esm2015/lib/component/transaction-header-fields/transaction-header-divide-evenly.component.js +38 -0
  29. package/esm2015/lib/component/transaction-header-fields/transaction-header-divide-evenly.module.js +25 -0
  30. package/esm2015/lib/component/transaction-header-fields/transaction-header-payment-button/transaction-header-payment-button.component.js +14 -3
  31. package/esm2015/lib/component/transaction-line/transaction-cash-register-order-line/transaction-cash-register-order-line.component.js +52 -0
  32. package/esm2015/lib/component/transaction-line/transaction-cash-register-order-line/transaction-cash-register-order-line.module.js +36 -0
  33. package/esm2015/lib/component/transaction-line/transaction-to-be-picked-line/transaction-to-be-picked-line.component.js +4 -6
  34. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.js +13 -13
  35. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-to-be-picked/transaction-quick-access-to-be-picked.component.js +2 -2
  36. package/esm2015/lib/enum/icon.enum.js +3 -1
  37. package/esm2015/lib/enum/order-discount-type.enum.js +7 -0
  38. package/esm2015/lib/enum/transaction-type-category.enum.js +2 -1
  39. package/esm2015/lib/model/icon-svg.js +3 -1
  40. package/esm2015/lib/model/payment-transaction-view-model.js +3 -0
  41. package/esm2015/lib/res/dictionary/dictionaries.js +3 -3
  42. package/esm2015/lib/service/payment.service.js +29 -5
  43. package/esm2015/lib/service/transaction-connector-adapter.service.js +168 -2
  44. package/esm2015/lib/service/transaction-connector.service.js +50 -2
  45. package/esm2015/lib/service/transaction-event.service.js +2 -1
  46. package/esm2015/lib/service/transaction-mapping.service.js +4 -2
  47. package/esm2015/lib/service/transaction.service.js +58 -5
  48. package/esm2015/lib/transaction-version.js +3 -3
  49. package/esm2015/public_api.js +3 -1
  50. package/fesm2015/colijnit-transaction.js +1315 -82
  51. package/fesm2015/colijnit-transaction.js.map +1 -1
  52. package/lib/component/cash-register-order-wrapper.ts/style/_layout.scss +4 -0
  53. package/lib/component/cash-register-order-wrapper.ts/style/_material-definition.scss +0 -0
  54. package/lib/component/cash-register-order-wrapper.ts/style/_theme.scss +4 -0
  55. package/lib/component/cash-register-order-wrapper.ts/style/material.scss +4 -0
  56. package/lib/component/checkout/checkout-overview-relation-edit/style/_layout.scss +9 -0
  57. package/lib/component/checkout/checkout-overview-relation-edit/style/_material-definition.scss +4 -1
  58. package/lib/component/checkout/checkout-overview-relation-edit/style/_theme.scss +3 -0
  59. package/lib/component/checkout-simple/checkout-simple-overview-relation-edit/style/_layout.scss +9 -0
  60. package/lib/component/checkout-simple/checkout-simple-overview-relation-edit/style/_material-definition.scss +4 -1
  61. package/lib/component/checkout-simple/checkout-simple-overview-relation-edit/style/_theme.scss +3 -0
  62. package/lib/component/core/base/transaction-base.component.d.ts +1 -1
  63. package/lib/component/deposit-payment/deposit-payment.component.d.ts +9 -3
  64. package/lib/component/discount/discount.component.d.ts +19 -0
  65. package/lib/component/discount/discount.module.d.ts +2 -0
  66. package/lib/component/discount/style/_layout.scss +0 -0
  67. package/lib/component/discount/style/_material-definition.scss +0 -0
  68. package/lib/component/discount/style/_theme.scss +0 -0
  69. package/lib/component/discount/style/material.scss +0 -0
  70. package/lib/component/payment/payment.component.d.ts +16 -6
  71. package/lib/component/payment/style/_layout.scss +5 -0
  72. package/lib/component/payment/style/_material-definition.scss +3 -6
  73. package/lib/component/payment/style/_theme.scss +0 -24
  74. package/lib/component/payment/style/material.scss +1 -0
  75. package/lib/component/payment-to-pay/payment-to-pay.component.d.ts +4 -0
  76. package/lib/component/payment-to-pay/payment-to-pay.module.d.ts +2 -0
  77. package/lib/component/payment-to-pay/style/_layout.scss +26 -0
  78. package/lib/component/payment-to-pay/style/_material-definition.scss +6 -0
  79. package/lib/component/payment-to-pay/style/_theme.scss +9 -0
  80. package/lib/component/payment-to-pay/style/material.scss +4 -0
  81. package/lib/component/quick-send-button/style/_layout.scss +24 -0
  82. package/lib/component/quick-send-button/style/_material-definition.scss +2 -0
  83. package/lib/component/tile/style/_layout.scss +4 -0
  84. package/lib/component/transaction-cash-register-order/style/_layout.scss +134 -0
  85. package/lib/component/transaction-cash-register-order/style/_material-definition.scss +0 -0
  86. package/lib/component/transaction-cash-register-order/style/_theme.scss +4 -0
  87. package/lib/component/transaction-cash-register-order/style/material.scss +7 -0
  88. package/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/style/_layout.scss +37 -0
  89. package/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/style/_material-definition.scss +0 -0
  90. package/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/style/_theme.scss +4 -0
  91. package/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/style/material.scss +4 -0
  92. package/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/transaction-cash-register-dialog.component.d.ts +36 -0
  93. package/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/transaction-cash-register-dialog.module.d.ts +2 -0
  94. package/lib/component/transaction-cash-register-order/transaction-cash-register-order-receipt-dialog/style/_layout.scss +53 -0
  95. package/lib/component/transaction-cash-register-order/transaction-cash-register-order-receipt-dialog/style/_material-definition.scss +0 -0
  96. package/lib/component/transaction-cash-register-order/transaction-cash-register-order-receipt-dialog/style/_theme.scss +4 -0
  97. package/lib/component/transaction-cash-register-order/transaction-cash-register-order-receipt-dialog/style/material.scss +5 -0
  98. package/lib/component/transaction-cash-register-order/transaction-cash-register-order-receipt-dialog/transaction-cash-register-order-receipt-dialog.component.d.ts +18 -0
  99. package/lib/component/transaction-cash-register-order/transaction-cash-register-order-receipt-dialog/transaction-cash-register-order-receipt-dialog.module.d.ts +2 -0
  100. package/lib/component/transaction-cash-register-order/transaction-cash-register-order.component.d.ts +46 -0
  101. package/lib/component/transaction-cash-register-order/transaction-cash-register-order.module.d.ts +2 -0
  102. package/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.d.ts +5 -2
  103. package/lib/component/transaction-header/transaction-header-popup/style/_layout.scss +33 -0
  104. package/lib/component/transaction-header/transaction-header-popup/style/_material-definition.scss +5 -0
  105. package/lib/component/transaction-header/transaction-header-popup/style/_theme.scss +10 -0
  106. package/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-payment.component.d.ts +32 -1
  107. package/lib/component/transaction-header-fields/transaction-header-amount-to-settle.component.d.ts +8 -0
  108. package/lib/component/transaction-header-fields/transaction-header-amount-to-settle.module.d.ts +2 -0
  109. package/lib/component/transaction-header-fields/transaction-header-deposit-amount.component.d.ts +6 -0
  110. package/lib/component/transaction-header-fields/transaction-header-divide-evenly.component.d.ts +5 -0
  111. package/lib/component/transaction-header-fields/transaction-header-divide-evenly.module.d.ts +2 -0
  112. package/lib/component/transaction-header-fields/transaction-header-payment-button/transaction-header-payment-button.component.d.ts +7 -3
  113. package/lib/component/transaction-line/transaction-cash-register-order-line/style/_layout.scss +21 -0
  114. package/lib/component/transaction-line/transaction-cash-register-order-line/style/_material-definition.scss +0 -0
  115. package/lib/component/transaction-line/transaction-cash-register-order-line/style/_theme.scss +4 -0
  116. package/lib/component/transaction-line/transaction-cash-register-order-line/style/material.scss +4 -0
  117. package/lib/component/transaction-line/transaction-cash-register-order-line/transaction-cash-register-order-line.component.d.ts +4 -0
  118. package/lib/component/transaction-line/transaction-cash-register-order-line/transaction-cash-register-order-line.module.d.ts +2 -0
  119. package/lib/component/transaction-line/transaction-to-be-picked-line/transaction-to-be-picked-line.component.d.ts +0 -1
  120. package/lib/component/transaction-lines/style/material.scss +1 -0
  121. package/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.d.ts +13 -13
  122. package/lib/enum/icon.enum.d.ts +2 -0
  123. package/lib/enum/order-discount-type.enum.d.ts +5 -0
  124. package/lib/enum/transaction-type-category.enum.d.ts +2 -1
  125. package/lib/model/payment-transaction-view-model.d.ts +12 -0
  126. package/lib/res/dictionary/dictionaries.d.ts +15 -2
  127. package/lib/service/payment.service.d.ts +13 -2
  128. package/lib/service/transaction-connector-adapter.service.d.ts +26 -4
  129. package/lib/service/transaction-connector.service.d.ts +37 -22
  130. package/lib/service/transaction-event.service.d.ts +1 -0
  131. package/lib/service/transaction.service.d.ts +15 -0
  132. package/package.json +2 -2
  133. package/public_api.d.ts +2 -0
@@ -6,16 +6,21 @@ import { PaymentService } from '../../service/payment.service';
6
6
  import { SharedService } from '../../service/shared.service';
7
7
  import { DepositPaymentViewModel } from '../../model/deposit-payment-view-model';
8
8
  import { IonePaymentStatusCode } from '@colijnit/transactionapi/build/enum/ione-payment-status-code.enum';
9
+ import { TransactionKind } from "@colijnit/transactionapi/build/enum/transaction-kind.enum";
10
+ import { TransactionEventService } from '../../service/transaction-event.service';
11
+ import { DoPaymentRequest } from "@colijnit/transactionapi/build/model/do-payment-request";
12
+ import { CalculateAmountToPayRequest } from "@colijnit/transactionapi/build/model/calculate-amount-to-pay-request";
9
13
  export class PaymentComponent {
10
- constructor(_transactionService, _sharedService, _paymentService) {
14
+ constructor(_transactionService, _sharedService, _paymentService, _transactionEventService) {
11
15
  this._transactionService = _transactionService;
12
16
  this._sharedService = _sharedService;
13
17
  this._paymentService = _paymentService;
18
+ this._transactionEventService = _transactionEventService;
14
19
  this.icons = Icon;
20
+ this.transKind = TransactionKind;
15
21
  this.updateDepositAmount = false;
22
+ this.transactionKind = this.transKind.SalesOrder;
16
23
  this.payed = new EventEmitter();
17
- this.paymentMethodIdx = 0;
18
- this.cashRegisterIdx = 0;
19
24
  this.paymentMethods = [];
20
25
  this.depositPayments = [];
21
26
  this.cashRegisters = [];
@@ -29,6 +34,7 @@ export class PaymentComponent {
29
34
  this._paymentStatusPollIntervalMs = 5000;
30
35
  this._paymentStatusMaxPollInterval = 10;
31
36
  this._paymentStatusPollIntervalCount = 0;
37
+ this._subs = [];
32
38
  }
33
39
  set amount(value) {
34
40
  this._amount = value;
@@ -42,42 +48,44 @@ export class PaymentComponent {
42
48
  }
43
49
  ngOnInit() {
44
50
  return __awaiter(this, void 0, void 0, function* () {
51
+ this._subs.push(this._transactionEventService.transactionPaymentDone.subscribe(() => this._getDepositPaymentInfo()), this._transactionService.transactionUpdated.subscribe(() => this._calculateAmountToPay()));
45
52
  if (this.updateDepositAmount) {
46
53
  yield this._transactionService.updateHeaderTransactionDepositAmount(this.transactionUuid, this.amountToPay, true);
47
54
  }
48
55
  this._getPaymentMethods().then(() => {
49
56
  this.showLoader = false;
50
57
  this._getDepositPaymentInfo();
58
+ this._calculateAmountToPay();
51
59
  this._prepareCashRegisters();
52
60
  });
53
61
  });
54
62
  }
55
63
  ngOnDestroy() {
64
+ this._subs.forEach(s => s.unsubscribe());
56
65
  this._clearInterval();
57
66
  }
58
- paymentMethodSelected(method, index) {
59
- this.paymentMethodIdx = index;
67
+ paymentMethodSelected(method) {
68
+ this.selectedPaymentMethod = method;
69
+ this._calculateAmountToPay();
60
70
  this._prepareCashRegisters();
61
71
  }
62
- cashRegisterSelected(cashRegister, index) {
63
- this.cashRegisterIdx = index;
72
+ cashRegisterSelected(cashRegister) {
73
+ this.selectedCashRegister = cashRegister;
64
74
  }
65
75
  handlePayment() {
66
76
  this.statusMessage = "";
67
- const currentPaymentViewModel = this.paymentMethods[this.paymentMethodIdx];
68
- this.currentPaymentMethod = currentPaymentViewModel.payment;
69
- if (this.currentPaymentMethod && this.currentPaymentMethod.externalSourceId) { // psp payment
70
- if (this.currentPaymentMethod.pinTerminal) {
71
- const cashRegister = this.cashRegisters[this.cashRegisterIdx];
72
- this._paymentService.doPinPayment(this.transId, this.currentPaymentMethod.code, cashRegister.nr, cashRegister.group, this.amountToPay).then((pspTransactionUuid) => {
73
- if (pspTransactionUuid) {
77
+ if (this.selectedPaymentMethod && this.selectedPaymentMethod.externalSourceId) { // psp payment
78
+ if (this.selectedPaymentMethod.pinTerminal) {
79
+ this._doPayment().then((uuid) => {
80
+ if (uuid) {
74
81
  this._paymentStatusPollIntervalCount = 0;
75
- this._waitForPinPaymentStatus(pspTransactionUuid);
82
+ this._waitForPinPaymentStatus(uuid);
76
83
  }
77
84
  });
78
85
  }
79
86
  else {
80
- this._paymentService.createIonePaymentLinkAndQRCode(this.transactionUuid, this.amountToPay, this.currentPaymentMethod.code).then((response) => {
87
+ this._paymentService.createIonePaymentLinkAndQRCode(this.transactionUuid, this.amountToPay, this.selectedPaymentMethod.code)
88
+ .then((response) => {
81
89
  this._paymentResult = response;
82
90
  if (this._paymentResult && this._paymentResult.imageBase64) {
83
91
  this.qrCodeImage = this._dataUriToBase64(this._paymentResult.imageBase64, 'image/png');
@@ -89,12 +97,13 @@ export class PaymentComponent {
89
97
  }
90
98
  }
91
99
  else {
92
- const currentCashRegister = this.cashRegisters[this.cashRegisterIdx];
93
- this._paymentService.registerSalesOrderPayment(this.transactionUuid, this.amountToPay, this.currencyId, this.currentPaymentMethod.code, currentCashRegister.group).then(() => __awaiter(this, void 0, void 0, function* () {
100
+ this._doPayment().then(() => __awaiter(this, void 0, void 0, function* () {
94
101
  this.showKeyPad = false;
95
102
  yield this._getDepositPaymentInfo();
103
+ yield this._calculateAmountToPay();
104
+ this._handlePayment(false);
96
105
  if (this.amountToPay === 0) {
97
- this.payed.emit();
106
+ this._handlePayment();
98
107
  }
99
108
  }));
100
109
  }
@@ -106,7 +115,6 @@ export class PaymentComponent {
106
115
  this.depositPayments.length = 0;
107
116
  return new Promise((resolve) => {
108
117
  this._paymentService.getDepositPaymentInfo(this.transactionUuid).then((info) => {
109
- this.amountToPay = info.depositRemainderAmount;
110
118
  if (info.depositPayments) {
111
119
  info.depositPayments.forEach((dp) => {
112
120
  const paymentMethod = this.paymentMethods.find(pm => pm.payment.code === dp.paymentMethodCode);
@@ -117,6 +125,19 @@ export class PaymentComponent {
117
125
  });
118
126
  });
119
127
  }
128
+ _calculateAmountToPay() {
129
+ return __awaiter(this, void 0, void 0, function* () {
130
+ if (this.selectedPaymentMethod) {
131
+ const calculateAmountToPayRequest = new CalculateAmountToPayRequest();
132
+ calculateAmountToPayRequest.transactionUuid = this.transactionUuid;
133
+ calculateAmountToPayRequest.paymentMethodCode = this.selectedPaymentMethod.code;
134
+ const result = yield this._paymentService.calculateAmountToPay(calculateAmountToPayRequest);
135
+ if (result) {
136
+ this.amountToPay = result.amountToPay;
137
+ }
138
+ }
139
+ });
140
+ }
120
141
  _dataUriToBase64(uri, mimeType) {
121
142
  return uri ? "data:" + mimeType + ";base64," + uri : "";
122
143
  }
@@ -132,8 +153,9 @@ export class PaymentComponent {
132
153
  this._clearInterval();
133
154
  this.showPspQrCode = false;
134
155
  yield this._getDepositPaymentInfo();
156
+ yield this._calculateAmountToPay();
135
157
  if (this.amountToPay === 0) {
136
- this.payed.emit();
158
+ this._handlePayment();
137
159
  }
138
160
  }
139
161
  this._paymentStatusPollIntervalCount++;
@@ -159,8 +181,9 @@ export class PaymentComponent {
159
181
  this._clearInterval();
160
182
  if (pinStatus.status.code === IonePaymentStatusCode.PAID) {
161
183
  yield this._getDepositPaymentInfo();
184
+ yield this._calculateAmountToPay();
162
185
  if (this.amountToPay === 0) {
163
- this.payed.emit();
186
+ this._handlePayment();
164
187
  }
165
188
  }
166
189
  }
@@ -181,13 +204,12 @@ export class PaymentComponent {
181
204
  * @private
182
205
  */
183
206
  _prepareCashRegisters() {
184
- const paymentMethod = this.paymentMethods[this.paymentMethodIdx].payment;
185
- if (paymentMethod && (!paymentMethod.externalSourceId || paymentMethod.pinTerminal)) {
207
+ if (this.selectedPaymentMethod && (!this.selectedPaymentMethod.externalSourceId || this.selectedPaymentMethod.pinTerminal)) {
186
208
  this.cashRegisters.length = 0;
187
- paymentMethod.posGroups.forEach(crg => {
209
+ this.selectedPaymentMethod.posGroups.forEach(crg => {
188
210
  this._getCashRegisters(this.branch, crg.id);
189
211
  });
190
- this.showCashRegisters = true;
212
+ this.showCashRegisters = this.transactionKind !== this.transKind.CashDesk;
191
213
  }
192
214
  else {
193
215
  this.showCashRegisters = false;
@@ -201,19 +223,39 @@ export class PaymentComponent {
201
223
  _getPaymentMethods() {
202
224
  return new Promise((resolve) => {
203
225
  this.paymentMethods.length = 0;
204
- this._paymentService.getPaymentMethodsViewModels(this.branch).then((methods) => {
226
+ this._paymentService.getPaymentMethodsViewModels(this.branch, this.transactionKind).then((methods) => {
205
227
  this.paymentMethods = methods.slice();
228
+ this.selectedPaymentMethod = this.paymentMethods[0].payment;
206
229
  resolve();
207
230
  });
208
231
  });
209
232
  }
233
+ _handlePayment(emitPayed = true) {
234
+ this._transactionEventService.transactionPaymentDone.next();
235
+ if (emitPayed) {
236
+ this.payed.emit();
237
+ }
238
+ }
239
+ _doPayment() {
240
+ return __awaiter(this, void 0, void 0, function* () {
241
+ const request = new DoPaymentRequest();
242
+ request.transId = this.transId;
243
+ request.paymentMethodCode = this.selectedPaymentMethod.code;
244
+ request.amount = this.amountToPay;
245
+ request.currencyId = this.currencyId;
246
+ request.cashRegisterNr = this.paymentDetails ? this.paymentDetails.cashRegister.nr : this.selectedCashRegister.nr;
247
+ request.cashRegisterGroupId = this.paymentDetails ? this.paymentDetails.cashRegister.group : this.selectedCashRegister.group;
248
+ request.cashRegisterDrawerId = this.paymentDetails ? this.paymentDetails.cashDrawer.id : null;
249
+ return yield this._paymentService.doPayment(request);
250
+ });
251
+ }
210
252
  }
211
253
  PaymentComponent.decorators = [
212
254
  { type: Component, args: [{
213
255
  selector: "co-payment",
214
256
  template: `
215
257
  <div class="payment-wrapper">
216
- <div class="payment-methods-header">
258
+ <div class="payment-methods-header" *ngIf="transactionKind !== transKind.CashDesk">
217
259
  <span class="payment-header-title" [textContent]="'SELECT_A' | localize"></span>
218
260
  <span class="payment-header-title extra" [textContent]="'FREE' | localize:false"></span>
219
261
  <span class="payment-header-title" [textContent]="'PAYMENT_METHOD' | localize:false"></span>
@@ -221,11 +263,11 @@ PaymentComponent.decorators = [
221
263
  <div class="payment-methods">
222
264
  <co-loader class="loader" *ngIf="showLoader"></co-loader>
223
265
  <ng-container *ngIf="!showLoader">
224
- <co-payment-tile *ngFor="let paymentMethod of paymentMethods; let index = index"
266
+ <co-payment-tile *ngFor="let paymentMethod of paymentMethods"
225
267
  [image]="paymentMethod.image"
226
268
  [description]="paymentMethod.payment.description"
227
- [selected]="paymentMethodIdx === index"
228
- (selectedChange)="paymentMethodSelected(paymentMethod.payment, index)"
269
+ [selected]="selectedPaymentMethod === paymentMethod.payment"
270
+ (selectedChange)="paymentMethodSelected(paymentMethod.payment)"
229
271
  ></co-payment-tile>
230
272
  </ng-container>
231
273
  </div>
@@ -234,26 +276,23 @@ PaymentComponent.decorators = [
234
276
  <span class="payment-header-title" [textContent]="'SELECT_CASH_REGISTER' | localize"></span>
235
277
  </div>
236
278
  <div class="payment-methods">
237
- <co-payment-tile *ngFor="let cashRegister of cashRegisters; let index = index"
279
+ <co-payment-tile *ngFor="let cashRegister of cashRegisters;"
238
280
  [icon]="cashRegister.icon"
239
281
  [description]="cashRegister.description"
240
- [selected]="cashRegisterIdx === index"
241
- (selectedChange)="cashRegisterSelected(cashRegister, index)"
282
+ [selected]="cashRegister === selectedCashRegister"
283
+ (selectedChange)="cashRegisterSelected(cashRegister)"
242
284
  ></co-payment-tile>
243
285
  </div>
244
286
  </div>
245
- <div class="payment-to-pay-wrapper">
246
- <div class="payment-to-pay">
247
- <div [textContent]="'TO_PAY' | localize"></div>
248
- <div class="payment-amount" [textContent]="amountToPay === 0 ? amountToPay : (amountToPay | coCurrency)"></div>
249
- </div>
287
+ <div class="payment-to-pay-wrapper" [class.cash-register-order]="transactionKind === transKind.CashDesk">
288
+ <co-payment-to-pay [amountToPay]="amountToPay"></co-payment-to-pay>
250
289
  <div class="payment-deposit">
251
290
  <co-deposit-payment [branch]="branch" [transactionUuid]="transactionUuid"></co-deposit-payment>
252
291
  </div>
253
292
  <div class="payment-to-pay-button">
254
- <!--
255
- <co-loader *ngIf="statusMessage"></co-loader>
256
- -->
293
+ <!--
294
+ <co-loader *ngIf="statusMessage"></co-loader>
295
+ -->
257
296
  <div class="payment-error-message" *ngIf="statusMessage" [textContent]="statusMessage"></div>
258
297
  <co-button [label]="'PAY' | localize" (click)="handlePayment()" [disabled]="amountToPay === 0"></co-button>
259
298
  </div>
@@ -278,7 +317,8 @@ PaymentComponent.decorators = [
278
317
  PaymentComponent.ctorParameters = () => [
279
318
  { type: TransactionService },
280
319
  { type: SharedService },
281
- { type: PaymentService }
320
+ { type: PaymentService },
321
+ { type: TransactionEventService }
282
322
  ];
283
323
  PaymentComponent.propDecorators = {
284
324
  transId: [{ type: Input }],
@@ -287,7 +327,9 @@ PaymentComponent.propDecorators = {
287
327
  updateDepositAmount: [{ type: Input }],
288
328
  amount: [{ type: Input }],
289
329
  currencyId: [{ type: Input }],
330
+ transactionKind: [{ type: Input }],
331
+ paymentDetails: [{ type: Input }],
290
332
  payed: [{ type: Output }],
291
333
  showClass: [{ type: HostBinding, args: ["class.co-payment",] }]
292
334
  };
293
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9wYXltZW50L3BheW1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRXJFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFLM0QsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFJL0UsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFtRXhHLE1BQU0sT0FBTyxnQkFBZ0I7SUEwRDNCLFlBQ1UsbUJBQXVDLEVBQ3ZDLGNBQTZCLEVBQzdCLGVBQStCO1FBRi9CLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFDdkMsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0Isb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBNUR6QixVQUFLLEdBQWdCLElBQUksQ0FBQztRQVluQyx3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFnQnJDLFVBQUssR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQU9yRCxxQkFBZ0IsR0FBVyxDQUFDLENBQUM7UUFDN0Isb0JBQWUsR0FBVyxDQUFDLENBQUM7UUFDNUIsbUJBQWMsR0FBdUIsRUFBRSxDQUFDO1FBQ3hDLG9CQUFlLEdBQThCLEVBQUUsQ0FBQztR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QUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTREVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBOUVPLGtCQUFrQjtZQUdsQixhQUFhO1lBRGIsY0FBYzs7O3NCQWdGbkIsS0FBSzs4QkFHTCxLQUFLO3FCQUdMLEtBQUs7a0NBR0wsS0FBSztxQkFHTCxLQUFLO3lCQVVMLEtBQUs7b0JBR0wsTUFBTTt3QkFHTixXQUFXLFNBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtDYXNoUmVnaXN0ZXJ9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jYXNoLXJlZ2lzdGVyJztcclxuaW1wb3J0IHtQYXltZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wYXltZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge1NoYXJlZFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2Uvc2hhcmVkLnNlcnZpY2UnO1xyXG5pbXBvcnQge1BheW1lbnRNZXRob2R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wYXltZW50LW1ldGhvZC5ibyc7XHJcbmltcG9ydCB7UGF5bWVudFZpZXdtb2RlbH0gZnJvbSAnLi4vLi4vbW9kZWwvcGF5bWVudC52aWV3bW9kZWwnO1xyXG5pbXBvcnQge1BheW1lbnRMaW5rU3RhdHVzfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGF5bWVudC1saW5rLXN0YXR1cy5ibyc7XHJcbmltcG9ydCB7Q3JlYXRlUGF5bWVudExpbmtSZXN1bHR9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jcmVhdGUtcGF5bWVudC1saW5rLXJlc3VsdC5ibyc7XHJcbmltcG9ydCB7RGVwb3NpdFBheW1lbnRWaWV3TW9kZWx9IGZyb20gJy4uLy4uL21vZGVsL2RlcG9zaXQtcGF5bWVudC12aWV3LW1vZGVsJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkRlcG9zaXRQYXltZW50SW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWRlcG9zaXQtcGF5bWVudC1pbmZvLmJvJztcclxuaW1wb3J0IHtEZXBvc2l0UGF5bWVudH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RlcG9zaXQtcGF5bWVudC5ibyc7XHJcbmltcG9ydCB7UHNwVHJhbnNhY3Rpb25TdGF0dXN9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wc3AtdHJhbnNhY3Rpb24tc3RhdHVzLmJvJztcclxuaW1wb3J0IHtJb25lUGF5bWVudFN0YXR1c0NvZGV9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL2lvbmUtcGF5bWVudC1zdGF0dXMtY29kZS5lbnVtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXBheW1lbnRcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInBheW1lbnQtd3JhcHBlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1tZXRob2RzLWhlYWRlclwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwicGF5bWVudC1oZWFkZXItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiJ1NFTEVDVF9BJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwicGF5bWVudC1oZWFkZXItdGl0bGUgZXh0cmFcIiBbdGV4dENvbnRlbnRdPVwiJ0ZSRUUnIHwgbG9jYWxpemU6ZmFsc2VcIj48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwYXltZW50LWhlYWRlci10aXRsZVwiIFt0ZXh0Q29udGVudF09XCInUEFZTUVOVF9NRVRIT0QnIHwgbG9jYWxpemU6ZmFsc2VcIj48L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1tZXRob2RzXCI+XHJcbiAgICAgICAgPGNvLWxvYWRlciBjbGFzcz1cImxvYWRlclwiICpuZ0lmPVwic2hvd0xvYWRlclwiPjwvY28tbG9hZGVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2hvd0xvYWRlclwiPlxyXG4gICAgICAgICAgPGNvLXBheW1lbnQtdGlsZSAqbmdGb3I9XCJsZXQgcGF5bWVudE1ldGhvZCBvZiBwYXltZW50TWV0aG9kczsgbGV0IGluZGV4ID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbaW1hZ2VdPVwicGF5bWVudE1ldGhvZC5pbWFnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZXNjcmlwdGlvbl09XCJwYXltZW50TWV0aG9kLnBheW1lbnQuZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwicGF5bWVudE1ldGhvZElkeCA9PT0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0ZWRDaGFuZ2UpPVwicGF5bWVudE1ldGhvZFNlbGVjdGVkKHBheW1lbnRNZXRob2QucGF5bWVudCwgaW5kZXgpXCJcclxuICAgICAgICAgID48L2NvLXBheW1lbnQtdGlsZT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWNhc2gtcmVnaXN0ZXItd3JhcHBlclwiICpuZ0lmPVwic2hvd0Nhc2hSZWdpc3RlcnNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1jYXNoLXJlZ2lzdGVyLWhlYWRlclwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYXltZW50LWhlYWRlci10aXRsZVwiIFt0ZXh0Q29udGVudF09XCInU0VMRUNUX0NBU0hfUkVHSVNURVInIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtbWV0aG9kc1wiPlxyXG4gICAgICAgICAgPGNvLXBheW1lbnQtdGlsZSAqbmdGb3I9XCJsZXQgY2FzaFJlZ2lzdGVyIG9mIGNhc2hSZWdpc3RlcnM7IGxldCBpbmRleCA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiY2FzaFJlZ2lzdGVyLmljb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVzY3JpcHRpb25dPVwiY2FzaFJlZ2lzdGVyLmRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cImNhc2hSZWdpc3RlcklkeCA9PT0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0ZWRDaGFuZ2UpPVwiY2FzaFJlZ2lzdGVyU2VsZWN0ZWQoY2FzaFJlZ2lzdGVyLCBpbmRleClcIlxyXG4gICAgICAgICAgPjwvY28tcGF5bWVudC10aWxlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtdG8tcGF5LXdyYXBwZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC10by1wYXlcIj5cclxuICAgICAgICAgIDxkaXYgW3RleHRDb250ZW50XT1cIidUT19QQVknIHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWFtb3VudFwiIFt0ZXh0Q29udGVudF09XCJhbW91bnRUb1BheSA9PT0gMCA/IGFtb3VudFRvUGF5IDogKGFtb3VudFRvUGF5IHwgY29DdXJyZW5jeSlcIj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1kZXBvc2l0XCI+XHJcbiAgICAgICAgICA8Y28tZGVwb3NpdC1wYXltZW50IFticmFuY2hdPVwiYnJhbmNoXCIgW3RyYW5zYWN0aW9uVXVpZF09XCJ0cmFuc2FjdGlvblV1aWRcIj48L2NvLWRlcG9zaXQtcGF5bWVudD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC10by1wYXktYnV0dG9uXCI+XHJcbjwhLS1cclxuICAgICAgICAgIDxjby1sb2FkZXIgKm5nSWY9XCJzdGF0dXNNZXNzYWdlXCI+PC9jby1sb2FkZXI+XHJcbi0tPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwic3RhdHVzTWVzc2FnZVwiIFt0ZXh0Q29udGVudF09XCJzdGF0dXNNZXNzYWdlXCI+PC9kaXY+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIFtsYWJlbF09XCInUEFZJyB8IGxvY2FsaXplXCIgKGNsaWNrKT1cImhhbmRsZVBheW1lbnQoKVwiIFtkaXNhYmxlZF09XCJhbW91bnRUb1BheSA9PT0gMFwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxjby1rZXktcGFkIGNsYXNzPVwicGF5bWVudC10by1wYXkta2V5cGFkXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2hvd1ZhbHVlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBbZW1pdE1vZGVsQ2hhbmdlT25FbnRlcl09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cImFtb3VudFRvUGF5XCJcclxuICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlS2V5UGFkTW9kZWxDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGVudGVyQ2xpY2spPVwiaGFuZGxlUGF5bWVudCgpXCJcclxuICAgICAgICA+PC9jby1rZXktcGFkPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGNvLWRpYWxvZyAqbmdJZj1cInNob3dQc3BRckNvZGVcIiAoY2xvc2VDbGljayk9XCJzaG93UHNwUXJDb2RlID0gZmFsc2VcIj5cclxuICAgICAgPGNvLXBheW1lbnQtcXItY29kZVxyXG4gICAgICAgIFtxckNvZGVJbWFnZV09XCJxckNvZGVJbWFnZVwiXHJcbiAgICAgID48L2NvLXBheW1lbnQtcXItY29kZT5cclxuICAgIDwvY28tZGlhbG9nPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGF5bWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdHJhbnNJZDogbnVtYmVyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0cmFuc2FjdGlvblV1aWQ6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYnJhbmNoOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHVwZGF0ZURlcG9zaXRBbW91bnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGFtb3VudCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9hbW91bnQgPSB2YWx1ZTtcclxuICAgIHRoaXMuYW1vdW50VG9QYXkgPSB0aGlzLl9hbW91bnQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGFtb3VudCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Ftb3VudDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGN1cnJlbmN5SWQ6IG51bWJlcjtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHBheWVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXBheW1lbnRcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGF5bWVudE1ldGhvZElkeDogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgY2FzaFJlZ2lzdGVySWR4OiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBwYXltZW50TWV0aG9kczogUGF5bWVudFZpZXdtb2RlbFtdID0gW107XHJcbiAgcHVibGljIGRlcG9zaXRQYXltZW50czogRGVwb3NpdFBheW1lbnRWaWV3TW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBjYXNoUmVnaXN0ZXJzOiBhbnlbXSA9IFtdO1xyXG4gIHB1YmxpYyBzaG93Q2FzaFJlZ2lzdGVyczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93S2V5UGFkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dQc3BRckNvZGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgY3VycmVudFBheW1lbnRNZXRob2Q6IFBheW1lbnRNZXRob2Q7XHJcbiAgcHVibGljIHFyQ29kZUltYWdlOiBzdHJpbmc7XHJcbiAgcHVibGljIHNob3dMb2FkZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBhbW91bnRUb1BheTogbnVtYmVyID0gMDtcclxuXHJcbiAgcHVibGljIHN0YXR1c01lc3NhZ2U6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIHByaXZhdGUgX2Ftb3VudDogbnVtYmVyID0gMDtcclxuICBwcml2YXRlIF9wYXltZW50U3RhdHVzSW50ZXJ2YWw6IGFueTtcclxuICBwcml2YXRlIF9wYXltZW50U3RhdHVzUG9sbEludGVydmFsTXM6IG51bWJlciA9IDUwMDA7XHJcbiAgcHJpdmF0ZSBfcGF5bWVudFN0YXR1c01heFBvbGxJbnRlcnZhbDogbnVtYmVyID0gMTA7XHJcbiAgcHJpdmF0ZSBfcGF5bWVudFN0YXR1c1BvbGxJbnRlcnZhbENvdW50OiBudW1iZXIgPSAwO1xyXG4gIHByaXZhdGUgX3BheW1lbnRSZXN1bHQ6IENyZWF0ZVBheW1lbnRMaW5rUmVzdWx0O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZSxcclxuICAgIHByaXZhdGUgX3BheW1lbnRTZXJ2aWNlOiBQYXltZW50U2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy51cGRhdGVEZXBvc2l0QW1vdW50KSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS51cGRhdGVIZWFkZXJUcmFuc2FjdGlvbkRlcG9zaXRBbW91bnQodGhpcy50cmFuc2FjdGlvblV1aWQsIHRoaXMuYW1vdW50VG9QYXksIHRydWUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZ2V0UGF5bWVudE1ldGhvZHMoKS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy5zaG93TG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuX2dldERlcG9zaXRQYXltZW50SW5mbygpO1xyXG4gICAgICB0aGlzLl9wcmVwYXJlQ2FzaFJlZ2lzdGVycygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2NsZWFySW50ZXJ2YWwoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwYXltZW50TWV0aG9kU2VsZWN0ZWQobWV0aG9kOiBQYXltZW50TWV0aG9kLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnBheW1lbnRNZXRob2RJZHggPSBpbmRleDtcclxuICAgIHRoaXMuX3ByZXBhcmVDYXNoUmVnaXN0ZXJzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FzaFJlZ2lzdGVyU2VsZWN0ZWQoY2FzaFJlZ2lzdGVyOiBDYXNoUmVnaXN0ZXIsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuY2FzaFJlZ2lzdGVySWR4ID0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUGF5bWVudCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RhdHVzTWVzc2FnZSA9IFwiXCI7XHJcbiAgICBjb25zdCBjdXJyZW50UGF5bWVudFZpZXdNb2RlbCA9IHRoaXMucGF5bWVudE1ldGhvZHNbdGhpcy5wYXltZW50TWV0aG9kSWR4XTtcclxuICAgIHRoaXMuY3VycmVudFBheW1lbnRNZXRob2QgPSBjdXJyZW50UGF5bWVudFZpZXdNb2RlbC5wYXltZW50O1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFBheW1lbnRNZXRob2QgJiYgdGhpcy5jdXJyZW50UGF5bWVudE1ldGhvZC5leHRlcm5hbFNvdXJjZUlkKSB7IC8vIHBzcCBwYXltZW50XHJcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kLnBpblRlcm1pbmFsKSB7XHJcbiAgICAgICAgY29uc3QgY2FzaFJlZ2lzdGVyOiBDYXNoUmVnaXN0ZXIgPSB0aGlzLmNhc2hSZWdpc3RlcnNbdGhpcy5jYXNoUmVnaXN0ZXJJZHhdO1xyXG4gICAgICAgIHRoaXMuX3BheW1lbnRTZXJ2aWNlLmRvUGluUGF5bWVudCh0aGlzLnRyYW5zSWQsIHRoaXMuY3VycmVudFBheW1lbnRNZXRob2QuY29kZSwgY2FzaFJlZ2lzdGVyLm5yLCBjYXNoUmVnaXN0ZXIuZ3JvdXAsIHRoaXMuYW1vdW50VG9QYXkpLnRoZW4oKHBzcFRyYW5zYWN0aW9uVXVpZDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICBpZiAocHNwVHJhbnNhY3Rpb25VdWlkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxDb3VudCA9IDA7XHJcbiAgICAgICAgICAgIHRoaXMuX3dhaXRGb3JQaW5QYXltZW50U3RhdHVzKHBzcFRyYW5zYWN0aW9uVXVpZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fcGF5bWVudFNlcnZpY2UuY3JlYXRlSW9uZVBheW1lbnRMaW5rQW5kUVJDb2RlKHRoaXMudHJhbnNhY3Rpb25VdWlkLCB0aGlzLmFtb3VudFRvUGF5LCB0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kLmNvZGUpLnRoZW4oKHJlc3BvbnNlOiBDcmVhdGVQYXltZW50TGlua1Jlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fcGF5bWVudFJlc3VsdCA9IHJlc3BvbnNlO1xyXG4gICAgICAgICAgaWYgKHRoaXMuX3BheW1lbnRSZXN1bHQgJiYgdGhpcy5fcGF5bWVudFJlc3VsdC5pbWFnZUJhc2U2NCkge1xyXG4gICAgICAgICAgICB0aGlzLnFyQ29kZUltYWdlID0gdGhpcy5fZGF0YVVyaVRvQmFzZTY0KHRoaXMuX3BheW1lbnRSZXN1bHQuaW1hZ2VCYXNlNjQsICdpbWFnZS9wbmcnKTtcclxuICAgICAgICAgICAgdGhpcy5zaG93UHNwUXJDb2RlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5fcGF5bWVudFN0YXR1c1BvbGxJbnRlcnZhbENvdW50ID0gMDtcclxuICAgICAgICAgICAgdGhpcy5fd2FpdEZvclBheW1lbnRTdGF0dXMoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgY3VycmVudENhc2hSZWdpc3RlcjogQ2FzaFJlZ2lzdGVyID0gdGhpcy5jYXNoUmVnaXN0ZXJzW3RoaXMuY2FzaFJlZ2lzdGVySWR4XTtcclxuICAgICAgdGhpcy5fcGF5bWVudFNlcnZpY2UucmVnaXN0ZXJTYWxlc09yZGVyUGF5bWVudChcclxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uVXVpZCwgdGhpcy5hbW91bnRUb1BheSwgdGhpcy5jdXJyZW5jeUlkLCB0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kLmNvZGUsIGN1cnJlbnRDYXNoUmVnaXN0ZXIuZ3JvdXApLnRoZW4oYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2hvd0tleVBhZCA9IGZhbHNlO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuX2dldERlcG9zaXRQYXltZW50SW5mbygpO1xyXG4gICAgICAgIGlmICh0aGlzLmFtb3VudFRvUGF5ID09PSAwKSB7XHJcbiAgICAgICAgICB0aGlzLnBheWVkLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUtleVBhZE1vZGVsQ2hhbmdlKG1vZGVsOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuYW1vdW50VG9QYXkgPSBtb2RlbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldERlcG9zaXRQYXltZW50SW5mbygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuZGVwb3NpdFBheW1lbnRzLmxlbmd0aCA9IDA7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHRoaXMuX3BheW1lbnRTZXJ2aWNlLmdldERlcG9zaXRQYXltZW50SW5mbyh0aGlzLnRyYW5zYWN0aW9uVXVpZCkudGhlbigoaW5mbzogVHJhbnNhY3Rpb25EZXBvc2l0UGF5bWVudEluZm8pID0+IHtcclxuICAgICAgICB0aGlzLmFtb3VudFRvUGF5ID0gaW5mby5kZXBvc2l0UmVtYWluZGVyQW1vdW50O1xyXG4gICAgICAgIGlmIChpbmZvLmRlcG9zaXRQYXltZW50cykge1xyXG4gICAgICAgICAgaW5mby5kZXBvc2l0UGF5bWVudHMuZm9yRWFjaCgoZHA6IERlcG9zaXRQYXltZW50KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBheW1lbnRNZXRob2Q6IFBheW1lbnRWaWV3bW9kZWwgPSB0aGlzLnBheW1lbnRNZXRob2RzLmZpbmQocG0gPT4gcG0ucGF5bWVudC5jb2RlID09PSBkcC5wYXltZW50TWV0aG9kQ29kZSk7XHJcbiAgICAgICAgICAgIHRoaXMuZGVwb3NpdFBheW1lbnRzLnB1c2gobmV3IERlcG9zaXRQYXltZW50Vmlld01vZGVsKGRwLCBwYXltZW50TWV0aG9kKSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZGF0YVVyaVRvQmFzZTY0KHVyaTogc3RyaW5nLCBtaW1lVHlwZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB1cmkgPyBcImRhdGE6XCIgKyBtaW1lVHlwZSArIFwiO2Jhc2U2NCxcIiArIHVyaSA6IFwiXCI7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF93YWl0Rm9yUGF5bWVudFN0YXR1cygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9wYXltZW50UmVzdWx0ICYmIHRoaXMuX3BheW1lbnRSZXN1bHQucGF5bWVudExpbmtVVUlEKSB7XHJcbiAgICAgIHRoaXMuX3BheW1lbnRTdGF0dXNJbnRlcnZhbCA9IHNldEludGVydmFsKGFzeW5jICgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5fcGF5bWVudFN0YXR1c1BvbGxJbnRlcnZhbENvdW50ID49IHRoaXMuX3BheW1lbnRTdGF0dXNNYXhQb2xsSW50ZXJ2YWwpIHtcclxuICAgICAgICAgIHRoaXMuX2NsZWFySW50ZXJ2YWwoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3Qgc3RhdHVzOiBQYXltZW50TGlua1N0YXR1cyA9IGF3YWl0IHRoaXMuX3BheW1lbnRTZXJ2aWNlLmdldFBheW1lbnRMaW5rU3RhdHVzKHRoaXMuX3BheW1lbnRSZXN1bHQucGF5bWVudExpbmtVVUlEKTtcclxuICAgICAgICAgIGlmIChzdGF0dXMucGF5ZWREYXRlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NsZWFySW50ZXJ2YWwoKTtcclxuICAgICAgICAgICAgdGhpcy5zaG93UHNwUXJDb2RlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX2dldERlcG9zaXRQYXltZW50SW5mbygpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hbW91bnRUb1BheSA9PT0gMCkge1xyXG4gICAgICAgICAgICAgIHRoaXMucGF5ZWQuZW1pdCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQrKztcclxuICAgICAgICB9XHJcbiAgICAgIH0sIHRoaXMuX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxNcyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9jbGVhckludGVydmFsKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF93YWl0Rm9yUGluUGF5bWVudFN0YXR1cyhwc3BUcmFuc2FjdGlvblV1aWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHBzcFRyYW5zYWN0aW9uVXVpZCkge1xyXG4gICAgICB0aGlzLl9wYXltZW50U3RhdHVzSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxDb3VudCA+PSB0aGlzLl9wYXltZW50U3RhdHVzTWF4UG9sbEludGVydmFsKSB7XHJcbiAgICAgICAgICB0aGlzLl9jbGVhckludGVydmFsKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IHBpblN0YXR1czogUHNwVHJhbnNhY3Rpb25TdGF0dXMgPSBhd2FpdCB0aGlzLl9wYXltZW50U2VydmljZS5nZXRQc3BUcmFuc2FjdGlvblN0YXR1cyhwc3BUcmFuc2FjdGlvblV1aWQpO1xyXG4gICAgICAgICAgaWYgKHBpblN0YXR1cyAmJiBwaW5TdGF0dXMuc3RhdHVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhdHVzTWVzc2FnZSA9IHBpblN0YXR1cy5zdGF0dXMuZGVzY3JpcHRpb247XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAocGluU3RhdHVzLnN0YXR1c0RhdGUgJiYgcGluU3RhdHVzLnN0YXR1cyAmJiBwaW5TdGF0dXMuc3RhdHVzLmVuZFN0YXR1cykge1xyXG4gICAgICAgICAgICB0aGlzLl9jbGVhckludGVydmFsKCk7XHJcbiAgICAgICAgICAgIGlmIChwaW5TdGF0dXMuc3RhdHVzLmNvZGUgPT09IElvbmVQYXltZW50U3RhdHVzQ29kZS5QQUlEKSB7XHJcbiAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fZ2V0RGVwb3NpdFBheW1lbnRJbmZvKCk7XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMuYW1vdW50VG9QYXkgPT09IDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucGF5ZWQuZW1pdCgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5fcGF5bWVudFN0YXR1c1BvbGxJbnRlcnZhbENvdW50Kys7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCB0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsTXMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fY2xlYXJJbnRlcnZhbCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2xlYXJJbnRlcnZhbCgpOiB2b2lkIHtcclxuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5fcGF5bWVudFN0YXR1c0ludGVydmFsKTtcclxuICAgIHRoaXMuX3BheW1lbnRTdGF0dXNJbnRlcnZhbCA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIF9wcmVwYXJlQ2FzaFJlZ2lzdGVycygpOiB2b2lkIHtcclxuICAgIGNvbnN0IHBheW1lbnRNZXRob2Q6IFBheW1lbnRNZXRob2QgPSB0aGlzLnBheW1lbnRNZXRob2RzW3RoaXMucGF5bWVudE1ldGhvZElkeF0ucGF5bWVudDtcclxuICAgIGlmIChwYXltZW50TWV0aG9kICYmICghcGF5bWVudE1ldGhvZC5leHRlcm5hbFNvdXJjZUlkIHx8IHBheW1lbnRNZXRob2QucGluVGVybWluYWwpKSB7XHJcbiAgICAgIHRoaXMuY2FzaFJlZ2lzdGVycy5sZW5ndGggPSAwO1xyXG4gICAgICBwYXltZW50TWV0aG9kLnBvc0dyb3Vwcy5mb3JFYWNoKGNyZyA9PiB7XHJcbiAgICAgICAgdGhpcy5fZ2V0Q2FzaFJlZ2lzdGVycyh0aGlzLmJyYW5jaCwgY3JnLmlkKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuc2hvd0Nhc2hSZWdpc3RlcnMgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zaG93Q2FzaFJlZ2lzdGVycyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0Q2FzaFJlZ2lzdGVycyhicmFuY2g/OiBzdHJpbmcsIGdyb3VwPzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuZ2V0Q2FzaFJlZ2lzdGVycyhicmFuY2gsIGdyb3VwKS50aGVuKChjYXNoUmVnaXN0ZXJzOiBDYXNoUmVnaXN0ZXJbXSkgPT4ge1xyXG4gICAgICB0aGlzLmNhc2hSZWdpc3RlcnMucHVzaCguLi5jYXNoUmVnaXN0ZXJzKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0UGF5bWVudE1ldGhvZHMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHRoaXMucGF5bWVudE1ldGhvZHMubGVuZ3RoID0gMDtcclxuICAgICAgdGhpcy5fcGF5bWVudFNlcnZpY2UuZ2V0UGF5bWVudE1ldGhvZHNWaWV3TW9kZWxzKHRoaXMuYnJhbmNoKS50aGVuKChtZXRob2RzOiBQYXltZW50Vmlld21vZGVsW10pID0+IHtcclxuICAgICAgICB0aGlzLnBheW1lbnRNZXRob2RzID0gbWV0aG9kcy5zbGljZSgpO1xyXG4gICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
335
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9wYXltZW50L3BheW1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRXJFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFLM0QsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFJL0UsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFDeEcsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBRzFGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQ3pGLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBaUVqSCxNQUFNLE9BQU8sZ0JBQWdCO0lBaUUzQixZQUNVLG1CQUF1QyxFQUN2QyxjQUE2QixFQUM3QixlQUErQixFQUMvQix3QkFBaUQ7UUFIakQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQUN2QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUM3QixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDL0IsNkJBQXdCLEdB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OzZCQUdMLEtBQUs7b0JBR0wsTUFBTTt3QkFHTixXQUFXLFNBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtDYXNoUmVnaXN0ZXJ9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jYXNoLXJlZ2lzdGVyJztcclxuaW1wb3J0IHtQYXltZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wYXltZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge1NoYXJlZFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2Uvc2hhcmVkLnNlcnZpY2UnO1xyXG5pbXBvcnQge1BheW1lbnRNZXRob2R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wYXltZW50LW1ldGhvZC5ibyc7XHJcbmltcG9ydCB7UGF5bWVudFZpZXdtb2RlbH0gZnJvbSAnLi4vLi4vbW9kZWwvcGF5bWVudC52aWV3bW9kZWwnO1xyXG5pbXBvcnQge1BheW1lbnRMaW5rU3RhdHVzfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGF5bWVudC1saW5rLXN0YXR1cy5ibyc7XHJcbmltcG9ydCB7Q3JlYXRlUGF5bWVudExpbmtSZXN1bHR9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jcmVhdGUtcGF5bWVudC1saW5rLXJlc3VsdC5ibyc7XHJcbmltcG9ydCB7RGVwb3NpdFBheW1lbnRWaWV3TW9kZWx9IGZyb20gJy4uLy4uL21vZGVsL2RlcG9zaXQtcGF5bWVudC12aWV3LW1vZGVsJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkRlcG9zaXRQYXltZW50SW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWRlcG9zaXQtcGF5bWVudC1pbmZvLmJvJztcclxuaW1wb3J0IHtEZXBvc2l0UGF5bWVudH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RlcG9zaXQtcGF5bWVudC5ibyc7XHJcbmltcG9ydCB7UHNwVHJhbnNhY3Rpb25TdGF0dXN9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wc3AtdHJhbnNhY3Rpb24tc3RhdHVzLmJvJztcclxuaW1wb3J0IHtJb25lUGF5bWVudFN0YXR1c0NvZGV9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL2lvbmUtcGF5bWVudC1zdGF0dXMtY29kZS5lbnVtJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbktpbmR9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS90cmFuc2FjdGlvbi1raW5kLmVudW1cIjtcclxuaW1wb3J0IHtQYXltZW50VHJhbnNhY3Rpb25WaWV3TW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbC9wYXltZW50LXRyYW5zYWN0aW9uLXZpZXctbW9kZWxcIjtcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge0RvUGF5bWVudFJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZG8tcGF5bWVudC1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7Q2FsY3VsYXRlQW1vdW50VG9QYXlSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NhbGN1bGF0ZS1hbW91bnQtdG8tcGF5LXJlcXVlc3RcIjtcclxuaW1wb3J0IHtBbW91bnRUb1BheX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9hbW91bnQtdG8tcGF5XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1wYXltZW50XCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LXdyYXBwZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtbWV0aG9kcy1oZWFkZXJcIiAqbmdJZj1cInRyYW5zYWN0aW9uS2luZCAhPT0gdHJhbnNLaW5kLkNhc2hEZXNrXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwYXltZW50LWhlYWRlci10aXRsZVwiIFt0ZXh0Q29udGVudF09XCInU0VMRUNUX0EnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwYXltZW50LWhlYWRlci10aXRsZSBleHRyYVwiIFt0ZXh0Q29udGVudF09XCInRlJFRScgfCBsb2NhbGl6ZTpmYWxzZVwiPjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInBheW1lbnQtaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidQQVlNRU5UX01FVEhPRCcgfCBsb2NhbGl6ZTpmYWxzZVwiPjwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LW1ldGhvZHNcIj5cclxuICAgICAgICA8Y28tbG9hZGVyIGNsYXNzPVwibG9hZGVyXCIgKm5nSWY9XCJzaG93TG9hZGVyXCI+PC9jby1sb2FkZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzaG93TG9hZGVyXCI+XHJcbiAgICAgICAgICA8Y28tcGF5bWVudC10aWxlICpuZ0Zvcj1cImxldCBwYXltZW50TWV0aG9kIG9mIHBheW1lbnRNZXRob2RzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ltYWdlXT1cInBheW1lbnRNZXRob2QuaW1hZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVzY3JpcHRpb25dPVwicGF5bWVudE1ldGhvZC5wYXltZW50LmRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cInNlbGVjdGVkUGF5bWVudE1ldGhvZCA9PT0gcGF5bWVudE1ldGhvZC5wYXltZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cInBheW1lbnRNZXRob2RTZWxlY3RlZChwYXltZW50TWV0aG9kLnBheW1lbnQpXCJcclxuICAgICAgICAgID48L2NvLXBheW1lbnQtdGlsZT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWNhc2gtcmVnaXN0ZXItd3JhcHBlclwiICpuZ0lmPVwic2hvd0Nhc2hSZWdpc3RlcnNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1jYXNoLXJlZ2lzdGVyLWhlYWRlclwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYXltZW50LWhlYWRlci10aXRsZVwiIFt0ZXh0Q29udGVudF09XCInU0VMRUNUX0NBU0hfUkVHSVNURVInIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtbWV0aG9kc1wiPlxyXG4gICAgICAgICAgPGNvLXBheW1lbnQtdGlsZSAqbmdGb3I9XCJsZXQgY2FzaFJlZ2lzdGVyIG9mIGNhc2hSZWdpc3RlcnM7XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiY2FzaFJlZ2lzdGVyLmljb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVzY3JpcHRpb25dPVwiY2FzaFJlZ2lzdGVyLmRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cImNhc2hSZWdpc3RlciA9PT0gc2VsZWN0ZWRDYXNoUmVnaXN0ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0ZWRDaGFuZ2UpPVwiY2FzaFJlZ2lzdGVyU2VsZWN0ZWQoY2FzaFJlZ2lzdGVyKVwiXHJcbiAgICAgICAgICA+PC9jby1wYXltZW50LXRpbGU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC10by1wYXktd3JhcHBlclwiIFtjbGFzcy5jYXNoLXJlZ2lzdGVyLW9yZGVyXT1cInRyYW5zYWN0aW9uS2luZCA9PT0gdHJhbnNLaW5kLkNhc2hEZXNrXCI+XHJcbiAgICAgICAgPGNvLXBheW1lbnQtdG8tcGF5IFthbW91bnRUb1BheV09XCJhbW91bnRUb1BheVwiPjwvY28tcGF5bWVudC10by1wYXk+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtZGVwb3NpdFwiPlxyXG4gICAgICAgICAgPGNvLWRlcG9zaXQtcGF5bWVudCBbYnJhbmNoXT1cImJyYW5jaFwiIFt0cmFuc2FjdGlvblV1aWRdPVwidHJhbnNhY3Rpb25VdWlkXCI+PC9jby1kZXBvc2l0LXBheW1lbnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtdG8tcGF5LWJ1dHRvblwiPlxyXG4gICAgICAgICAgPCEtLVxyXG4gICAgICAgICAgICAgICAgICAgIDxjby1sb2FkZXIgKm5nSWY9XCJzdGF0dXNNZXNzYWdlXCI+PC9jby1sb2FkZXI+XHJcbiAgICAgICAgICAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cInN0YXR1c01lc3NhZ2VcIiBbdGV4dENvbnRlbnRdPVwic3RhdHVzTWVzc2FnZVwiPjwvZGl2PlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBbbGFiZWxdPVwiJ1BBWScgfCBsb2NhbGl6ZVwiIChjbGljayk9XCJoYW5kbGVQYXltZW50KClcIiBbZGlzYWJsZWRdPVwiYW1vdW50VG9QYXkgPT09IDBcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8Y28ta2V5LXBhZCBjbGFzcz1cInBheW1lbnQtdG8tcGF5LWtleXBhZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dWYWx1ZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2VtaXRNb2RlbENoYW5nZU9uRW50ZXJdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJhbW91bnRUb1BheVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZUtleVBhZE1vZGVsQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChlbnRlckNsaWNrKT1cImhhbmRsZVBheW1lbnQoKVwiXHJcbiAgICAgICAgPjwvY28ta2V5LXBhZD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxjby1kaWFsb2cgKm5nSWY9XCJzaG93UHNwUXJDb2RlXCIgKGNsb3NlQ2xpY2spPVwic2hvd1BzcFFyQ29kZSA9IGZhbHNlXCI+XHJcbiAgICAgIDxjby1wYXltZW50LXFyLWNvZGVcclxuICAgICAgICBbcXJDb2RlSW1hZ2VdPVwicXJDb2RlSW1hZ2VcIlxyXG4gICAgICA+PC9jby1wYXltZW50LXFyLWNvZGU+XHJcbiAgICA8L2NvLWRpYWxvZz5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFBheW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zS2luZDogdHlwZW9mIFRyYW5zYWN0aW9uS2luZCA9IFRyYW5zYWN0aW9uS2luZDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdHJhbnNJZDogbnVtYmVyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0cmFuc2FjdGlvblV1aWQ6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYnJhbmNoOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHVwZGF0ZURlcG9zaXRBbW91bnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGFtb3VudCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9hbW91bnQgPSB2YWx1ZTtcclxuICAgIHRoaXMuYW1vdW50VG9QYXkgPSB0aGlzLl9hbW91bnQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGFtb3VudCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Ftb3VudDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGN1cnJlbmN5SWQ6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdHJhbnNhY3Rpb25LaW5kOiBUcmFuc2FjdGlvbktpbmQgPSB0aGlzLnRyYW5zS2luZC5TYWxlc09yZGVyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwYXltZW50RGV0YWlsczogUGF5bWVudFRyYW5zYWN0aW9uVmlld01vZGVsO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcGF5ZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tcGF5bWVudFwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWxlY3RlZFBheW1lbnRNZXRob2Q6IFBheW1lbnRNZXRob2Q7XHJcbiAgcHVibGljIHNlbGVjdGVkQ2FzaFJlZ2lzdGVyOiBDYXNoUmVnaXN0ZXI7XHJcbiAgcHVibGljIHBheW1lbnRNZXRob2RzOiBQYXltZW50Vmlld21vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgZGVwb3NpdFBheW1lbnRzOiBEZXBvc2l0UGF5bWVudFZpZXdNb2RlbFtdID0gW107XHJcbiAgcHVibGljIGNhc2hSZWdpc3RlcnM6IGFueVtdID0gW107XHJcbiAgcHVibGljIHNob3dDYXNoUmVnaXN0ZXJzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dLZXlQYWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd1BzcFFyQ29kZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBxckNvZGVJbWFnZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzaG93TG9hZGVyOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgYW1vdW50VG9QYXk6IG51bWJlciA9IDA7XHJcblxyXG4gIHB1YmxpYyBzdGF0dXNNZXNzYWdlOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBwcml2YXRlIF9hbW91bnQ6IG51bWJlciA9IDA7XHJcbiAgcHJpdmF0ZSBfcGF5bWVudFN0YXR1c0ludGVydmFsOiBhbnk7XHJcbiAgcHJpdmF0ZSBfcGF5bWVudFN0YXR1c1BvbGxJbnRlcnZhbE1zOiBudW1iZXIgPSA1MDAwO1xyXG4gIHByaXZhdGUgX3BheW1lbnRTdGF0dXNNYXhQb2xsSW50ZXJ2YWw6IG51bWJlciA9IDEwO1xyXG4gIHByaXZhdGUgX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxDb3VudDogbnVtYmVyID0gMDtcclxuICBwcml2YXRlIF9wYXltZW50UmVzdWx0OiBDcmVhdGVQYXltZW50TGlua1Jlc3VsdDtcclxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZSxcclxuICAgIHByaXZhdGUgX3BheW1lbnRTZXJ2aWNlOiBQYXltZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uUGF5bWVudERvbmUuc3Vic2NyaWJlKCgpID0+IHRoaXMuX2dldERlcG9zaXRQYXltZW50SW5mbygpKSxcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLnRyYW5zYWN0aW9uVXBkYXRlZC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fY2FsY3VsYXRlQW1vdW50VG9QYXkoKSlcclxuICAgIClcclxuICAgIGlmICh0aGlzLnVwZGF0ZURlcG9zaXRBbW91bnQpIHtcclxuICAgICAgYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLnVwZGF0ZUhlYWRlclRyYW5zYWN0aW9uRGVwb3NpdEFtb3VudCh0aGlzLnRyYW5zYWN0aW9uVXVpZCwgdGhpcy5hbW91bnRUb1BheSwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9nZXRQYXltZW50TWV0aG9kcygpLnRoZW4oKCkgPT4ge1xyXG4gICAgICB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgdGhpcy5fZ2V0RGVwb3NpdFBheW1lbnRJbmZvKCk7XHJcbiAgICAgIHRoaXMuX2NhbGN1bGF0ZUFtb3VudFRvUGF5KCk7XHJcbiAgICAgIHRoaXMuX3ByZXBhcmVDYXNoUmVnaXN0ZXJzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICAgIHRoaXMuX2NsZWFySW50ZXJ2YWwoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwYXltZW50TWV0aG9kU2VsZWN0ZWQobWV0aG9kOiBQYXltZW50TWV0aG9kKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkUGF5bWVudE1ldGhvZCA9IG1ldGhvZDtcclxuICAgIHRoaXMuX2NhbGN1bGF0ZUFtb3VudFRvUGF5KCk7XHJcbiAgICB0aGlzLl9wcmVwYXJlQ2FzaFJlZ2lzdGVycygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNhc2hSZWdpc3RlclNlbGVjdGVkKGNhc2hSZWdpc3RlcjogQ2FzaFJlZ2lzdGVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2FzaFJlZ2lzdGVyID0gY2FzaFJlZ2lzdGVyO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVBheW1lbnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YXR1c01lc3NhZ2UgPSBcIlwiO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRQYXltZW50TWV0aG9kICYmIHRoaXMuc2VsZWN0ZWRQYXltZW50TWV0aG9kLmV4dGVybmFsU291cmNlSWQpIHsgLy8gcHNwIHBheW1lbnRcclxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRQYXltZW50TWV0aG9kLnBpblRlcm1pbmFsKSB7XHJcbiAgICAgICAgdGhpcy5fZG9QYXltZW50KCkudGhlbigodXVpZDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICBpZiAodXVpZCkge1xyXG4gICAgICAgICAgICB0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQgPSAwO1xyXG4gICAgICAgICAgICB0aGlzLl93YWl0Rm9yUGluUGF5bWVudFN0YXR1cyh1dWlkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLl9wYXltZW50U2VydmljZS5jcmVhdGVJb25lUGF5bWVudExpbmtBbmRRUkNvZGUodGhpcy50cmFuc2FjdGlvblV1aWQsIHRoaXMuYW1vdW50VG9QYXksIHRoaXMuc2VsZWN0ZWRQYXltZW50TWV0aG9kLmNvZGUpXHJcbiAgICAgICAgICAudGhlbigocmVzcG9uc2U6IENyZWF0ZVBheW1lbnRMaW5rUmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX3BheW1lbnRSZXN1bHQgPSByZXNwb25zZTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX3BheW1lbnRSZXN1bHQgJiYgdGhpcy5fcGF5bWVudFJlc3VsdC5pbWFnZUJhc2U2NCkge1xyXG4gICAgICAgICAgICAgIHRoaXMucXJDb2RlSW1hZ2UgPSB0aGlzLl9kYXRhVXJpVG9CYXNlNjQodGhpcy5fcGF5bWVudFJlc3VsdC5pbWFnZUJhc2U2NCwgJ2ltYWdlL3BuZycpO1xyXG4gICAgICAgICAgICAgIHRoaXMuc2hvd1BzcFFyQ29kZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgdGhpcy5fcGF5bWVudFN0YXR1c1BvbGxJbnRlcnZhbENvdW50ID0gMDtcclxuICAgICAgICAgICAgICB0aGlzLl93YWl0Rm9yUGF5bWVudFN0YXR1cygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fZG9QYXltZW50KCkudGhlbihhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zaG93S2V5UGFkID0gZmFsc2U7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5fZ2V0RGVwb3NpdFBheW1lbnRJbmZvKCk7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5fY2FsY3VsYXRlQW1vdW50VG9QYXkoKTtcclxuICAgICAgICB0aGlzLl9oYW5kbGVQYXltZW50KGZhbHNlKTtcclxuICAgICAgICBpZiAodGhpcy5hbW91bnRUb1BheSA9PT0gMCkge1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlUGF5bWVudCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlS2V5UGFkTW9kZWxDaGFuZ2UobW9kZWw6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5hbW91bnRUb1BheSA9IG1vZGVsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0RGVwb3NpdFBheW1lbnRJbmZvKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5kZXBvc2l0UGF5bWVudHMubGVuZ3RoID0gMDtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24pID0+IHtcclxuICAgICAgdGhpcy5fcGF5bWVudFNlcnZpY2UuZ2V0RGVwb3NpdFBheW1lbnRJbmZvKHRoaXMudHJhbnNhY3Rpb25VdWlkKS50aGVuKChpbmZvOiBUcmFuc2FjdGlvbkRlcG9zaXRQYXltZW50SW5mbykgPT4ge1xyXG4gICAgICAgIGlmIChpbmZvLmRlcG9zaXRQYXltZW50cykge1xyXG4gICAgICAgICAgaW5mby5kZXBvc2l0UGF5bWVudHMuZm9yRWFjaCgoZHA6IERlcG9zaXRQYXltZW50KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBheW1lbnRNZXRob2Q6IFBheW1lbnRWaWV3bW9kZWwgPSB0aGlzLnBheW1lbnRNZXRob2RzLmZpbmQocG0gPT4gcG0ucGF5bWVudC5jb2RlID09PSBkcC5wYXltZW50TWV0aG9kQ29kZSk7XHJcbiAgICAgICAgICAgIHRoaXMuZGVwb3NpdFBheW1lbnRzLnB1c2gobmV3IERlcG9zaXRQYXltZW50Vmlld01vZGVsKGRwLCBwYXltZW50TWV0aG9kKSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfY2FsY3VsYXRlQW1vdW50VG9QYXkoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZFBheW1lbnRNZXRob2QpIHtcclxuICAgICAgY29uc3QgY2FsY3VsYXRlQW1vdW50VG9QYXlSZXF1ZXN0OiBDYWxjdWxhdGVBbW91bnRUb1BheVJlcXVlc3QgPSBuZXcgQ2FsY3VsYXRlQW1vdW50VG9QYXlSZXF1ZXN0KCk7XHJcbiAgICAgIGNhbGN1bGF0ZUFtb3VudFRvUGF5UmVxdWVzdC50cmFuc2FjdGlvblV1aWQgPSB0aGlzLnRyYW5zYWN0aW9uVXVpZDtcclxuICAgICAgY2FsY3VsYXRlQW1vdW50VG9QYXlSZXF1ZXN0LnBheW1lbnRNZXRob2RDb2RlID0gdGhpcy5zZWxlY3RlZFBheW1lbnRNZXRob2QuY29kZTtcclxuICAgICAgY29uc3QgcmVzdWx0OiBBbW91bnRUb1BheSA9IGF3YWl0IHRoaXMuX3BheW1lbnRTZXJ2aWNlLmNhbGN1bGF0ZUFtb3VudFRvUGF5KGNhbGN1bGF0ZUFtb3VudFRvUGF5UmVxdWVzdCk7XHJcbiAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICB0aGlzLmFtb3VudFRvUGF5ID0gcmVzdWx0LmFtb3VudFRvUGF5O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9kYXRhVXJpVG9CYXNlNjQodXJpOiBzdHJpbmcsIG1pbWVUeXBlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHVyaSA/IFwiZGF0YTpcIiArIG1pbWVUeXBlICsgXCI7YmFzZTY0LFwiICsgdXJpIDogXCJcIjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3dhaXRGb3JQYXltZW50U3RhdHVzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX3BheW1lbnRSZXN1bHQgJiYgdGhpcy5fcGF5bWVudFJlc3VsdC5wYXltZW50TGlua1VVSUQpIHtcclxuICAgICAgdGhpcy5fcGF5bWVudFN0YXR1c0ludGVydmFsID0gc2V0SW50ZXJ2YWwoYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQgPj0gdGhpcy5fcGF5bWVudFN0YXR1c01heFBvbGxJbnRlcnZhbCkge1xyXG4gICAgICAgICAgdGhpcy5fY2xlYXJJbnRlcnZhbCgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBzdGF0dXM6IFBheW1lbnRMaW5rU3RhdHVzID0gYXdhaXQgdGhpcy5fcGF5bWVudFNlcnZpY2UuZ2V0UGF5bWVudExpbmtTdGF0dXModGhpcy5fcGF5bWVudFJlc3VsdC5wYXltZW50TGlua1VVSUQpO1xyXG4gICAgICAgICAgaWYgKHN0YXR1cy5wYXllZERhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2xlYXJJbnRlcnZhbCgpO1xyXG4gICAgICAgICAgICB0aGlzLnNob3dQc3BRckNvZGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5fZ2V0RGVwb3NpdFBheW1lbnRJbmZvKCk7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX2NhbGN1bGF0ZUFtb3VudFRvUGF5KCk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmFtb3VudFRvUGF5ID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5faGFuZGxlUGF5bWVudCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQrKztcclxuICAgICAgICB9XHJcbiAgICAgIH0sIHRoaXMuX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxNcyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9jbGVhckludGVydmFsKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF93YWl0Rm9yUGluUGF5bWVudFN0YXR1cyhwc3BUcmFuc2FjdGlvblV1aWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHBzcFRyYW5zYWN0aW9uVXVpZCkge1xyXG4gICAgICB0aGlzLl9wYXltZW50U3RhdHVzSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxDb3VudCA+PSB0aGlzLl9wYXltZW50U3RhdHVzTWF4UG9sbEludGVydmFsKSB7XHJcbiAgICAgICAgICB0aGlzLl9jbGVhckludGVydmFsKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IHBpblN0YXR1czogUHNwVHJhbnNhY3Rpb25TdGF0dXMgPSBhd2FpdCB0aGlzLl9wYXltZW50U2VydmljZS5nZXRQc3BUcmFuc2FjdGlvblN0YXR1cyhwc3BUcmFuc2FjdGlvblV1aWQpO1xyXG4gICAgICAgICAgaWYgKHBpblN0YXR1cyAmJiBwaW5TdGF0dXMuc3RhdHVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhdHVzTWVzc2FnZSA9IHBpblN0YXR1cy5zdGF0dXMuZGVzY3JpcHRpb247XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAocGluU3RhdHVzLnN0YXR1c0RhdGUgJiYgcGluU3RhdHVzLnN0YXR1cyAmJiBwaW5TdGF0dXMuc3RhdHVzLmVuZFN0YXR1cykge1xyXG4gICAgICAgICAgICB0aGlzLl9jbGVhckludGVydmFsKCk7XHJcbiAgICAgICAgICAgIGlmIChwaW5TdGF0dXMuc3RhdHVzLmNvZGUgPT09IElvbmVQYXltZW50U3RhdHVzQ29kZS5QQUlEKSB7XHJcbiAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fZ2V0RGVwb3NpdFBheW1lbnRJbmZvKCk7XHJcbiAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fY2FsY3VsYXRlQW1vdW50VG9QYXkoKTtcclxuICAgICAgICAgICAgICBpZiAodGhpcy5hbW91bnRUb1BheSA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5faGFuZGxlUGF5bWVudCgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5fcGF5bWVudFN0YXR1c1BvbGxJbnRlcnZhbENvdW50Kys7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCB0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsTXMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fY2xlYXJJbnRlcnZhbCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2xlYXJJbnRlcnZhbCgpOiB2b2lkIHtcclxuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5fcGF5bWVudFN0YXR1c0ludGVydmFsKTtcclxuICAgIHRoaXMuX3BheW1lbnRTdGF0dXNJbnRlcnZhbCA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIF9wcmVwYXJlQ2FzaFJlZ2lzdGVycygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkUGF5bWVudE1ldGhvZCAmJiAoIXRoaXMuc2VsZWN0ZWRQYXltZW50TWV0aG9kLmV4dGVybmFsU291cmNlSWQgfHwgdGhpcy5zZWxlY3RlZFBheW1lbnRNZXRob2QucGluVGVybWluYWwpKSB7XHJcbiAgICAgIHRoaXMuY2FzaFJlZ2lzdGVycy5sZW5ndGggPSAwO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkUGF5bWVudE1ldGhvZC5wb3NHcm91cHMuZm9yRWFjaChjcmcgPT4ge1xyXG4gICAgICAgIHRoaXMuX2dldENhc2hSZWdpc3RlcnModGhpcy5icmFuY2gsIGNyZy5pZCk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnNob3dDYXNoUmVnaXN0ZXJzID0gdGhpcy50cmFuc2FjdGlvbktpbmQgIT09IHRoaXMudHJhbnNLaW5kLkNhc2hEZXNrO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zaG93Q2FzaFJlZ2lzdGVycyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0Q2FzaFJlZ2lzdGVycyhicmFuY2g/OiBzdHJpbmcsIGdyb3VwPzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuZ2V0Q2FzaFJlZ2lzdGVycyhicmFuY2gsIGdyb3VwKS50aGVuKChjYXNoUmVnaXN0ZXJzOiBDYXNoUmVnaXN0ZXJbXSkgPT4ge1xyXG4gICAgICB0aGlzLmNhc2hSZWdpc3RlcnMucHVzaCguLi5jYXNoUmVnaXN0ZXJzKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0UGF5bWVudE1ldGhvZHMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHRoaXMucGF5bWVudE1ldGhvZHMubGVuZ3RoID0gMDtcclxuICAgICAgdGhpcy5fcGF5bWVudFNlcnZpY2UuZ2V0UGF5bWVudE1ldGhvZHNWaWV3TW9kZWxzKHRoaXMuYnJhbmNoLCB0aGlzLnRyYW5zYWN0aW9uS2luZCkudGhlbigobWV0aG9kczogUGF5bWVudFZpZXdtb2RlbFtdKSA9PiB7XHJcbiAgICAgICAgdGhpcy5wYXltZW50TWV0aG9kcyA9IG1ldGhvZHMuc2xpY2UoKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkUGF5bWVudE1ldGhvZCA9IHRoaXMucGF5bWVudE1ldGhvZHNbMF0ucGF5bWVudDtcclxuICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oYW5kbGVQYXltZW50KGVtaXRQYXllZDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uUGF5bWVudERvbmUubmV4dCgpO1xyXG4gICAgaWYgKGVtaXRQYXllZCkge1xyXG4gICAgICB0aGlzLnBheWVkLmVtaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2RvUGF5bWVudCgpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgY29uc3QgcmVxdWVzdDogRG9QYXltZW50UmVxdWVzdCA9IG5ldyBEb1BheW1lbnRSZXF1ZXN0KCk7XHJcbiAgICByZXF1ZXN0LnRyYW5zSWQgPSB0aGlzLnRyYW5zSWQ7XHJcbiAgICByZXF1ZXN0LnBheW1lbnRNZXRob2RDb2RlID0gdGhpcy5zZWxlY3RlZFBheW1lbnRNZXRob2QuY29kZTtcclxuICAgIHJlcXVlc3QuYW1vdW50ID0gdGhpcy5hbW91bnRUb1BheTtcclxuICAgIHJlcXVlc3QuY3VycmVuY3lJZCA9IHRoaXMuY3VycmVuY3lJZDtcclxuICAgIHJlcXVlc3QuY2FzaFJlZ2lzdGVyTnIgPSB0aGlzLnBheW1lbnREZXRhaWxzID8gdGhpcy5wYXltZW50RGV0YWlscy5jYXNoUmVnaXN0ZXIubnIgOiB0aGlzLnNlbGVjdGVkQ2FzaFJlZ2lzdGVyLm5yO1xyXG4gICAgcmVxdWVzdC5jYXNoUmVnaXN0ZXJHcm91cElkID0gdGhpcy5wYXltZW50RGV0YWlscyA/IHRoaXMucGF5bWVudERldGFpbHMuY2FzaFJlZ2lzdGVyLmdyb3VwIDogdGhpcy5zZWxlY3RlZENhc2hSZWdpc3Rlci5ncm91cDtcclxuICAgIHJlcXVlc3QuY2FzaFJlZ2lzdGVyRHJhd2VySWQgPSB0aGlzLnBheW1lbnREZXRhaWxzID8gdGhpcy5wYXltZW50RGV0YWlscy5jYXNoRHJhd2VyLmlkIDogbnVsbDtcclxuXHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fcGF5bWVudFNlcnZpY2UuZG9QYXltZW50KHJlcXVlc3QpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -9,6 +9,7 @@ import { KeyPadModule } from "@colijnit/sharedcomponents";
9
9
  import { PaymentQrCodeModule } from "../payment-qr-code/payment-qr-code.module";
10
10
  import { LoaderModule } from "../loader/loader.module";
11
11
  import { DepositPaymentModule } from "../deposit-payment/deposit-payment.module";
12
+ import { PaymentToPayModule } from "../payment-to-pay/payment-to-pay.module";
12
13
  export class PaymentModule {
13
14
  }
14
15
  PaymentModule.decorators = [
@@ -24,7 +25,8 @@ PaymentModule.decorators = [
24
25
  ButtonModule,
25
26
  PaymentQrCodeModule,
26
27
  DepositPaymentModule,
27
- LoaderModule
28
+ LoaderModule,
29
+ PaymentToPayModule
28
30
  ],
29
31
  declarations: [
30
32
  PaymentComponent
@@ -34,4 +36,4 @@ PaymentModule.decorators = [
34
36
  ]
35
37
  },] }
36
38
  ];
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9wYXltZW50L3BheW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsc0JBQXNCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDOUUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBdUIvRSxNQUFNLE9BQU8sYUFBYTs7O1lBckJ6QixRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1osVUFBVTtvQkFDVixVQUFVO29CQUNWLGlCQUFpQjtvQkFDakIsc0JBQXNCO29CQUN0QixZQUFZO29CQUNaLGNBQWM7b0JBQ2QsWUFBWTtvQkFDWixtQkFBbUI7b0JBQ25CLG9CQUFvQjtvQkFDcEIsWUFBWTtpQkFDZjtnQkFDSCxZQUFZLEVBQUU7b0JBQ1osZ0JBQWdCO2lCQUNqQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsZ0JBQWdCO2lCQUNqQjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtQYXltZW50Q29tcG9uZW50fSBmcm9tIFwiLi9wYXltZW50LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0NvcmVNb2R1bGV9IGZyb20gXCIuLi9jb3JlL2NvcmUubW9kdWxlXCI7XHJcbmltcG9ydCB7UGlwZU1vZHVsZX0gZnJvbSBcIi4uLy4uL3BpcGUvcGlwZS5tb2R1bGVcIjtcclxuaW1wb3J0IHtQYXltZW50VGlsZU1vZHVsZX0gZnJvbSBcIi4uL3BheW1lbnQtdGlsZS9wYXltZW50LXRpbGUubW9kdWxlXCI7XHJcbmltcG9ydCB7QnV0dG9uTW9kdWxlLCBDb0RpYWxvZ01vZHVsZSwgUHJpY2VEaXNwbGF5UGlwZU1vZHVsZX0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHtLZXlQYWRNb2R1bGV9IGZyb20gXCJAY29saWpuaXQvc2hhcmVkY29tcG9uZW50c1wiO1xyXG5pbXBvcnQge1BheW1lbnRRckNvZGVNb2R1bGV9IGZyb20gXCIuLi9wYXltZW50LXFyLWNvZGUvcGF5bWVudC1xci1jb2RlLm1vZHVsZVwiO1xyXG5pbXBvcnQge0xvYWRlck1vZHVsZX0gZnJvbSBcIi4uL2xvYWRlci9sb2FkZXIubW9kdWxlXCI7XHJcbmltcG9ydCB7RGVwb3NpdFBheW1lbnRNb2R1bGV9IGZyb20gXCIuLi9kZXBvc2l0LXBheW1lbnQvZGVwb3NpdC1wYXltZW50Lm1vZHVsZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgQ29yZU1vZHVsZSxcclxuICAgICAgICBQaXBlTW9kdWxlLFxyXG4gICAgICAgIFBheW1lbnRUaWxlTW9kdWxlLFxyXG4gICAgICAgIFByaWNlRGlzcGxheVBpcGVNb2R1bGUsXHJcbiAgICAgICAgS2V5UGFkTW9kdWxlLFxyXG4gICAgICAgIENvRGlhbG9nTW9kdWxlLFxyXG4gICAgICAgIEJ1dHRvbk1vZHVsZSxcclxuICAgICAgICBQYXltZW50UXJDb2RlTW9kdWxlLFxyXG4gICAgICAgIERlcG9zaXRQYXltZW50TW9kdWxlLFxyXG4gICAgICAgIExvYWRlck1vZHVsZVxyXG4gICAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFBheW1lbnRDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFBheW1lbnRDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYXltZW50TW9kdWxlIHtcclxuXHJcbn1cclxuIl19
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9wYXltZW50L3BheW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsc0JBQXNCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDOUUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBd0IzRSxNQUFNLE9BQU8sYUFBYTs7O1lBdEJ6QixRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1osVUFBVTtvQkFDVixVQUFVO29CQUNWLGlCQUFpQjtvQkFDakIsc0JBQXNCO29CQUN0QixZQUFZO29CQUNaLGNBQWM7b0JBQ2QsWUFBWTtvQkFDWixtQkFBbUI7b0JBQ25CLG9CQUFvQjtvQkFDcEIsWUFBWTtvQkFDWixrQkFBa0I7aUJBQ3JCO2dCQUNILFlBQVksRUFBRTtvQkFDWixnQkFBZ0I7aUJBQ2pCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxnQkFBZ0I7aUJBQ2pCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge1BheW1lbnRDb21wb25lbnR9IGZyb20gXCIuL3BheW1lbnQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Q29yZU1vZHVsZX0gZnJvbSBcIi4uL2NvcmUvY29yZS5tb2R1bGVcIjtcclxuaW1wb3J0IHtQaXBlTW9kdWxlfSBmcm9tIFwiLi4vLi4vcGlwZS9waXBlLm1vZHVsZVwiO1xyXG5pbXBvcnQge1BheW1lbnRUaWxlTW9kdWxlfSBmcm9tIFwiLi4vcGF5bWVudC10aWxlL3BheW1lbnQtdGlsZS5tb2R1bGVcIjtcclxuaW1wb3J0IHtCdXR0b25Nb2R1bGUsIENvRGlhbG9nTW9kdWxlLCBQcmljZURpc3BsYXlQaXBlTW9kdWxlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0tleVBhZE1vZHVsZX0gZnJvbSBcIkBjb2xpam5pdC9zaGFyZWRjb21wb25lbnRzXCI7XHJcbmltcG9ydCB7UGF5bWVudFFyQ29kZU1vZHVsZX0gZnJvbSBcIi4uL3BheW1lbnQtcXItY29kZS9wYXltZW50LXFyLWNvZGUubW9kdWxlXCI7XHJcbmltcG9ydCB7TG9hZGVyTW9kdWxlfSBmcm9tIFwiLi4vbG9hZGVyL2xvYWRlci5tb2R1bGVcIjtcclxuaW1wb3J0IHtEZXBvc2l0UGF5bWVudE1vZHVsZX0gZnJvbSBcIi4uL2RlcG9zaXQtcGF5bWVudC9kZXBvc2l0LXBheW1lbnQubW9kdWxlXCI7XHJcbmltcG9ydCB7UGF5bWVudFRvUGF5TW9kdWxlfSBmcm9tIFwiLi4vcGF5bWVudC10by1wYXkvcGF5bWVudC10by1wYXkubW9kdWxlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBDb3JlTW9kdWxlLFxyXG4gICAgICAgIFBpcGVNb2R1bGUsXHJcbiAgICAgICAgUGF5bWVudFRpbGVNb2R1bGUsXHJcbiAgICAgICAgUHJpY2VEaXNwbGF5UGlwZU1vZHVsZSxcclxuICAgICAgICBLZXlQYWRNb2R1bGUsXHJcbiAgICAgICAgQ29EaWFsb2dNb2R1bGUsXHJcbiAgICAgICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIFBheW1lbnRRckNvZGVNb2R1bGUsXHJcbiAgICAgICAgRGVwb3NpdFBheW1lbnRNb2R1bGUsXHJcbiAgICAgICAgTG9hZGVyTW9kdWxlLFxyXG4gICAgICAgIFBheW1lbnRUb1BheU1vZHVsZVxyXG4gICAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFBheW1lbnRDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFBheW1lbnRDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYXltZW50TW9kdWxlIHtcclxuXHJcbn1cclxuIl19
@@ -0,0 +1,26 @@
1
+ import { Component, HostBinding, Input, ViewEncapsulation } from "@angular/core";
2
+ export class PaymentToPayComponent {
3
+ constructor() {
4
+ this.amountToPay = 0;
5
+ }
6
+ showClass() {
7
+ return true;
8
+ }
9
+ }
10
+ PaymentToPayComponent.decorators = [
11
+ { type: Component, args: [{
12
+ selector: "co-payment-to-pay",
13
+ template: `
14
+ <div class="payment-to-pay">
15
+ <div [textContent]="'TO_PAY' | localize"></div>
16
+ <div class="payment-amount" [textContent]="amountToPay === 0 ? amountToPay : (amountToPay | coCurrency)"></div>
17
+ </div>
18
+ `,
19
+ encapsulation: ViewEncapsulation.None
20
+ },] }
21
+ ];
22
+ PaymentToPayComponent.propDecorators = {
23
+ amountToPay: [{ type: Input }],
24
+ showClass: [{ type: HostBinding, args: ["class.co-payment-to-pay",] }]
25
+ };
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC10by1wYXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvcGF5bWVudC10by1wYXkvcGF5bWVudC10by1wYXkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVkvRSxNQUFNLE9BQU8scUJBQXFCO0lBVmxDO1FBYVMsZ0JBQVcsR0FBVyxDQUFDLENBQUM7SUFPakMsQ0FBQztJQUpRLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OztZQWxCRixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IsUUFBUSxFQUFFOzs7OztLQUtUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3hDOzs7MEJBR0UsS0FBSzt3QkFHTCxXQUFXLFNBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImNvLXBheW1lbnQtdG8tcGF5XCIsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC10by1wYXlcIj5cclxuICAgICAgICA8ZGl2IFt0ZXh0Q29udGVudF09XCInVE9fUEFZJyB8IGxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtYW1vdW50XCIgW3RleHRDb250ZW50XT1cImFtb3VudFRvUGF5ID09PSAwID8gYW1vdW50VG9QYXkgOiAoYW1vdW50VG9QYXkgfCBjb0N1cnJlbmN5KVwiPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIGAsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYXltZW50VG9QYXlDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhbW91bnRUb1BheTogbnVtYmVyID0gMDtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tcGF5bWVudC10by1wYXlcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { PaymentToPayComponent } from "./payment-to-pay.component";
4
+ import { PipeModule } from "../../pipe/pipe.module";
5
+ export class PaymentToPayModule {
6
+ }
7
+ PaymentToPayModule.decorators = [
8
+ { type: NgModule, args: [{
9
+ imports: [
10
+ CommonModule,
11
+ PipeModule
12
+ ],
13
+ declarations: [
14
+ PaymentToPayComponent
15
+ ],
16
+ exports: [
17
+ PaymentToPayComponent
18
+ ]
19
+ },] }
20
+ ];
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC10by1wYXkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvcGF5bWVudC10by1wYXkvcGF5bWVudC10by1wYXkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQWNsRCxNQUFNLE9BQU8sa0JBQWtCOzs7WUFaOUIsUUFBUSxTQUFDO2dCQUNOLE9BQU8sRUFBRTtvQkFDTCxZQUFZO29CQUNaLFVBQVU7aUJBQ2I7Z0JBQ0QsWUFBWSxFQUFFO29CQUNWLHFCQUFxQjtpQkFDeEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLHFCQUFxQjtpQkFDeEI7YUFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7UGF5bWVudFRvUGF5Q29tcG9uZW50fSBmcm9tIFwiLi9wYXltZW50LXRvLXBheS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtQaXBlTW9kdWxlfSBmcm9tIFwiLi4vLi4vcGlwZS9waXBlLm1vZHVsZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgUGlwZU1vZHVsZVxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIFBheW1lbnRUb1BheUNvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBQYXltZW50VG9QYXlDb21wb25lbnRcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFBheW1lbnRUb1BheU1vZHVsZSB7XHJcbn1cclxuIl19
@@ -32,6 +32,7 @@ import { TransactionPickedLineModule } from '../transaction-line/transaction-pic
32
32
  import { TransactionToBePickedLineModule } from '../transaction-line/transaction-to-be-picked-line/transaction-to-be-picked-line.module';
33
33
  import { TransactionBatchOrderPickingModule } from '../transaction-batch-order-picking/transaction-batch-order-picking.module';
34
34
  import { AddProductModule } from '../add-product/add-product.module';
35
+ import { TransactionCashRegisterOrderLineModule } from "../transaction-line/transaction-cash-register-order-line/transaction-cash-register-order-line.module";
35
36
  export class TransactionModule {
36
37
  }
37
38
  TransactionModule.decorators = [
@@ -72,7 +73,8 @@ TransactionModule.decorators = [
72
73
  TransactionPickedLineModule,
73
74
  TransactionToBePickedLineModule,
74
75
  TransactionBatchOrderPickingModule,
75
- AddProductModule
76
+ AddProductModule,
77
+ TransactionCashRegisterOrderLineModule
76
78
  ],
77
79
  declarations: [
78
80
  TransactionComponent
@@ -82,4 +84,4 @@ TransactionModule.decorators = [
82
84
  ]
83
85
  },] }
84
86
  ];
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsb0NBQW9DLEVBQUMsTUFBTSxzRkFBc0YsQ0FBQztBQUMxSSxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxvRUFBb0UsQ0FBQztBQUNoSCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUN4RixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxvRUFBb0UsQ0FBQztBQUMzRyxPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDOUgsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sMEVBQTBFLENBQUM7QUFDcEgsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sc0ZBQXNGLENBQUM7QUFDbEksT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDbkcsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBQ2pILE9BQU8sRUFDSCxzQ0FBc0MsRUFDekMsTUFBTSxvR0FBb0csQ0FBQztBQUM1RyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUNuRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNsRixPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxnRkFBZ0YsQ0FBQztBQUM3SCxPQUFPLEVBQ0gsa0NBQWtDLEVBQ3JDLE1BQU0sNEZBQTRGLENBQUM7QUFDcEcsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sMEZBQTBGLENBQUM7QUFDM0ksT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sZ0ZBQWdGLENBQUM7QUFDN0gsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFDcEYsT0FBTyxFQUNILG9DQUFvQyxFQUN2QyxNQUFNLGdHQUFnRyxDQUFDO0FBQ3hHLE9BQU8sRUFDSCxrQ0FBa0MsRUFDckMsTUFBTSw0RkFBNEYsQ0FBQztBQUNwRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUNuRyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sOEVBQThFLENBQUM7QUFDMUgsT0FBTyxFQUNILHFDQUFxQyxFQUN4QyxNQUFNLGtHQUFrRyxDQUFDO0FBQzFHLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQ2pILE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLDRFQUE0RSxDQUFDO0FBQ3ZILE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLHdGQUF3RixDQUFDO0FBQ3ZJLE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLDJFQUEyRSxDQUFDO0FBQzdILE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBZ0RuRSxNQUFNLE9BQU8saUJBQWlCOzs7WUE5QzdCLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixVQUFVO29CQUNWLHVCQUF1QjtvQkFDdkIsc0JBQXNCO29CQUN0Qix1QkFBdUI7b0JBQ3ZCLFlBQVk7b0JBQ1osMEJBQTBCO29CQUMxQixjQUFjO29CQUNkLFVBQVU7b0JBQ1YsZUFBZTtvQkFDZiw0QkFBNEI7b0JBQzVCLDBCQUEwQjtvQkFDMUIsVUFBVTtvQkFDViw4QkFBOEI7b0JBQzlCLHNDQUFzQztvQkFDdEMscUJBQXFCO29CQUNyQixxQkFBcUI7b0JBQ3JCLHFCQUFxQjtvQkFDckIsNkJBQTZCO29CQUM3QixrQ0FBa0M7b0JBQ2xDLGlDQUFpQztvQkFDakMsNkJBQTZCO29CQUM3Qiw0QkFBNEI7b0JBQzVCLHFCQUFxQjtvQkFDckIsb0NBQW9DO29CQUNwQyxrQ0FBa0M7b0JBQ2xDLHFDQUFxQztvQkFDckMscUJBQXFCO29CQUNyQixZQUFZO29CQUNaLG9DQUFvQztvQkFDcEMsNEJBQTRCO29CQUM1Qix5QkFBeUI7b0JBQ3pCLDJCQUEyQjtvQkFDM0IsK0JBQStCO29CQUMvQixrQ0FBa0M7b0JBQ2xDLGdCQUFnQjtpQkFDbkI7Z0JBQ0gsWUFBWSxFQUFFO29CQUNaLG9CQUFvQjtpQkFDckI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLG9CQUFvQjtpQkFDckI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtDb3JlTW9kdWxlfSBmcm9tICcuLi9jb3JlL2NvcmUubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkFydGljbGVUZXh0T3ZlcnZpZXdNb2R1bGV9IGZyb20gJy4uL3NoYXJlZC90cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQtb3ZlcnZpZXcvdHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0LW92ZXJ2aWV3Lm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25BcnRpY2xlVGV4dE1vZHVsZX0gZnJvbSAnLi4vc2hhcmVkL3RyYW5zYWN0aW9uLWFydGljbGUtdGV4dC90cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi90cmFuc2FjdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZXNNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWxpbmVzL3RyYW5zYWN0aW9uLWxpbmVzLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25Ub3RhbHNNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLXRvdGFscy90cmFuc2FjdGlvbi10b3RhbHMubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlck1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyL3RyYW5zYWN0aW9uLWhlYWRlci90cmFuc2FjdGlvbi1oZWFkZXIubW9kdWxlJztcclxuaW1wb3J0IHtCdXR0b25Nb2R1bGUsIENvRGlhbG9nTW9kdWxlLCBGb3JtTW9kdWxlLCBJbnB1dFRleHRNb2R1bGUsIFZpZXdNb2RlQnV0dG9uc01vZHVsZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lc0dyaWRNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWdyaWQvdHJhbnNhY3Rpb24tbGluZXMtZ3JpZC90cmFuc2FjdGlvbi1saW5lcy1ncmlkLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25RdWlja0FjY2Vzc01vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkJ1dHRvbkJhck1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tYnV0dG9uLWJhci90cmFuc2FjdGlvbi1idXR0b24tYmFyLm1vZHVsZSc7XHJcbmltcG9ydCB7UGlwZU1vZHVsZX0gZnJvbSAnLi4vLi4vcGlwZS9waXBlLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lU2lkZVBhbmVsTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwvdHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsLm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvbk9yZGVyQ29uZmlybWF0aW9uR3JpZE1vZHVsZVxyXG59IGZyb20gJy4uL3RyYW5zYWN0aW9uLWdyaWQvdHJhbnNhY3Rpb24tb3JkZXItY29uZmlybWF0aW9uLWdyaWQvdHJhbnNhY3Rpb24tb3JkZXItY29uZmlybWF0aW9uLWdyaWQubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkdyaWRNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWdyaWQvdHJhbnNhY3Rpb24tZ3JpZC90cmFuc2FjdGlvbi1ncmlkLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25UaWxlTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi10aWxlL3RyYW5zYWN0aW9uLXRpbGUubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbk92ZXJ2aWV3TGluZU1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1vdmVydmlldy1saW5lL3RyYW5zYWN0aW9uLW92ZXJ2aWV3LWxpbmUubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uT3JkZXJEZWxpdmVyeUxpbmVNb2R1bGVcclxufSBmcm9tICcuLi90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLW9yZGVyLWRlbGl2ZXJ5LWxpbmUvdHJhbnNhY3Rpb24tb3JkZXItZGVsaXZlcnktbGluZS5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUmVjZWl2ZUdvb2RzTGluZU1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1yZWNlaXZlLWdvb2RzLWxpbmUvdHJhbnNhY3Rpb24tcmVjZWl2ZS1nb29kcy1saW5lLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25QdXJjaGFzZUxpbmVNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tcHVyY2hhc2UtbGluZS90cmFuc2FjdGlvbi1wdXJjaGFzZS1saW5lLm1vZHVsZSc7XHJcbmltcG9ydCB7UXVpY2tTZW5kQnV0dG9uTW9kdWxlfSBmcm9tICcuLi9xdWljay1zZW5kLWJ1dHRvbi9xdWljay1zZW5kLWJ1dHRvbi5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25Hb29kc0FsbG9jYXRpb25MaW5lTW9kdWxlXHJcbn0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1nb29kcy1hbGxvY2F0aW9uLWxpbmUvdHJhbnNhY3Rpb24tZ29vZHMtYWxsb2NhdGlvbi1saW5lLm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblB1cmNoYXNlT3JkZXJMaW5lTW9kdWxlXHJcbn0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1wdXJjaGFzZS1vcmRlci1saW5lL3RyYW5zYWN0aW9uLXB1cmNoYXNlLW9yZGVyLWxpbmUubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkNhcmRNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWNhcmQvdHJhbnNhY3Rpb24tY2FyZC90cmFuc2FjdGlvbi1jYXJkLm1vZHVsZSc7XHJcbmltcG9ydCB7QXZhdGFyTW9kdWxlfSBmcm9tICcuLi9hdmF0YXIvYXZhdGFyLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbnZvaWNlTGluZU1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1pbnZvaWNlLWxpbmUvdHJhbnNhY3Rpb24taW52b2ljZS1saW5lLm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblB1cmNoYXNlT3ZlcnZpZXdMaW5lTW9kdWxlXHJcbn0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1wdXJjaGFzZS1vdmVydmlldy1saW5lL3RyYW5zYWN0aW9uLXB1cmNoYXNlLW92ZXJ2aWV3LWxpbmUubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblRleHRMaW5lTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLXRleHQtbGluZS90cmFuc2FjdGlvbi10ZXh0LWxpbmUubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblBpY2tlZExpbmVNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tcGlja2VkLWxpbmUvdHJhbnNhY3Rpb24tcGlja2VkLWxpbmUubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblRvQmVQaWNrZWRMaW5lTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLXRvLWJlLXBpY2tlZC1saW5lL3RyYW5zYWN0aW9uLXRvLWJlLXBpY2tlZC1saW5lLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25CYXRjaE9yZGVyUGlja2luZ01vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tYmF0Y2gtb3JkZXItcGlja2luZy90cmFuc2FjdGlvbi1iYXRjaC1vcmRlci1waWNraW5nLm1vZHVsZSc7XHJcbmltcG9ydCB7QWRkUHJvZHVjdE1vZHVsZX0gZnJvbSAnLi4vYWRkLXByb2R1Y3QvYWRkLXByb2R1Y3QubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIENvcmVNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25MaW5lc01vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvblRvdGFsc01vZHVsZSxcclxuICAgICAgICBCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25MaW5lc0dyaWRNb2R1bGUsXHJcbiAgICAgICAgQ29EaWFsb2dNb2R1bGUsXHJcbiAgICAgICAgRm9ybU1vZHVsZSxcclxuICAgICAgICBJbnB1dFRleHRNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc01vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkJ1dHRvbkJhck1vZHVsZSxcclxuICAgICAgICBQaXBlTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uTGluZVNpZGVQYW5lbE1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbk9yZGVyQ29uZmlybWF0aW9uR3JpZE1vZHVsZSxcclxuICAgICAgICBWaWV3TW9kZUJ1dHRvbnNNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25HcmlkTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uVGlsZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbk92ZXJ2aWV3TGluZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbk9yZGVyRGVsaXZlcnlMaW5lTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uUmVjZWl2ZUdvb2RzTGluZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvblB1cmNoYXNlTGluZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkludm9pY2VMaW5lTW9kdWxlLFxyXG4gICAgICAgIFF1aWNrU2VuZEJ1dHRvbk1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkdvb2RzQWxsb2NhdGlvbkxpbmVNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25QdXJjaGFzZU9yZGVyTGluZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvblB1cmNoYXNlT3ZlcnZpZXdMaW5lTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uQ2FyZE1vZHVsZSxcclxuICAgICAgICBBdmF0YXJNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25BcnRpY2xlVGV4dE92ZXJ2aWV3TW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uQXJ0aWNsZVRleHRNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25UZXh0TGluZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvblBpY2tlZExpbmVNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25Ub0JlUGlja2VkTGluZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkJhdGNoT3JkZXJQaWNraW5nTW9kdWxlLFxyXG4gICAgICAgIEFkZFByb2R1Y3RNb2R1bGVcclxuICAgIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBUcmFuc2FjdGlvbkNvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgVHJhbnNhY3Rpb25Db21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbk1vZHVsZSB7fVxyXG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsb0NBQW9DLEVBQUMsTUFBTSxzRkFBc0YsQ0FBQztBQUMxSSxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxvRUFBb0UsQ0FBQztBQUNoSCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUN4RixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxvRUFBb0UsQ0FBQztBQUMzRyxPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDOUgsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sMEVBQTBFLENBQUM7QUFDcEgsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sc0ZBQXNGLENBQUM7QUFDbEksT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDbkcsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBQ2pILE9BQU8sRUFDTCxzQ0FBc0MsRUFDdkMsTUFBTSxvR0FBb0csQ0FBQztBQUM1RyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUNuRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNsRixPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxnRkFBZ0YsQ0FBQztBQUM3SCxPQUFPLEVBQ0wsa0NBQWtDLEVBQ25DLE1BQU0sNEZBQTRGLENBQUM7QUFDcEcsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sMEZBQTBGLENBQUM7QUFDM0ksT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sZ0ZBQWdGLENBQUM7QUFDN0gsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFDcEYsT0FBTyxFQUNMLG9DQUFvQyxFQUNyQyxNQUFNLGdHQUFnRyxDQUFDO0FBQ3hHLE9BQU8sRUFDTCxrQ0FBa0MsRUFDbkMsTUFBTSw0RkFBNEYsQ0FBQztBQUNwRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUNuRyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sOEVBQThFLENBQUM7QUFDMUgsT0FBTyxFQUNMLHFDQUFxQyxFQUN0QyxNQUFNLGtHQUFrRyxDQUFDO0FBQzFHLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQ2pILE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLDRFQUE0RSxDQUFDO0FBQ3ZILE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLHdGQUF3RixDQUFDO0FBQ3ZJLE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLDJFQUEyRSxDQUFDO0FBQzdILE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFDTCxzQ0FBc0MsRUFDdkMsTUFBTSxzR0FBc0csQ0FBQztBQWlEOUcsTUFBTSxPQUFPLGlCQUFpQjs7O1lBL0M3QixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osVUFBVTtvQkFDVix1QkFBdUI7b0JBQ3ZCLHNCQUFzQjtvQkFDdEIsdUJBQXVCO29CQUN2QixZQUFZO29CQUNaLDBCQUEwQjtvQkFDMUIsY0FBYztvQkFDZCxVQUFVO29CQUNWLGVBQWU7b0JBQ2YsNEJBQTRCO29CQUM1QiwwQkFBMEI7b0JBQzFCLFVBQVU7b0JBQ1YsOEJBQThCO29CQUM5QixzQ0FBc0M7b0JBQ3RDLHFCQUFxQjtvQkFDckIscUJBQXFCO29CQUNyQixxQkFBcUI7b0JBQ3JCLDZCQUE2QjtvQkFDN0Isa0NBQWtDO29CQUNsQyxpQ0FBaUM7b0JBQ2pDLDZCQUE2QjtvQkFDN0IsNEJBQTRCO29CQUM1QixxQkFBcUI7b0JBQ3JCLG9DQUFvQztvQkFDcEMsa0NBQWtDO29CQUNsQyxxQ0FBcUM7b0JBQ3JDLHFCQUFxQjtvQkFDckIsWUFBWTtvQkFDWixvQ0FBb0M7b0JBQ3BDLDRCQUE0QjtvQkFDNUIseUJBQXlCO29CQUN6QiwyQkFBMkI7b0JBQzNCLCtCQUErQjtvQkFDL0Isa0NBQWtDO29CQUNsQyxnQkFBZ0I7b0JBQ2hCLHNDQUFzQztpQkFDdkM7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLG9CQUFvQjtpQkFDckI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLG9CQUFvQjtpQkFDckI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtDb3JlTW9kdWxlfSBmcm9tICcuLi9jb3JlL2NvcmUubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkFydGljbGVUZXh0T3ZlcnZpZXdNb2R1bGV9IGZyb20gJy4uL3NoYXJlZC90cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQtb3ZlcnZpZXcvdHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0LW92ZXJ2aWV3Lm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25BcnRpY2xlVGV4dE1vZHVsZX0gZnJvbSAnLi4vc2hhcmVkL3RyYW5zYWN0aW9uLWFydGljbGUtdGV4dC90cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi90cmFuc2FjdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZXNNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWxpbmVzL3RyYW5zYWN0aW9uLWxpbmVzLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25Ub3RhbHNNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLXRvdGFscy90cmFuc2FjdGlvbi10b3RhbHMubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlck1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyL3RyYW5zYWN0aW9uLWhlYWRlci90cmFuc2FjdGlvbi1oZWFkZXIubW9kdWxlJztcclxuaW1wb3J0IHtCdXR0b25Nb2R1bGUsIENvRGlhbG9nTW9kdWxlLCBGb3JtTW9kdWxlLCBJbnB1dFRleHRNb2R1bGUsIFZpZXdNb2RlQnV0dG9uc01vZHVsZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lc0dyaWRNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWdyaWQvdHJhbnNhY3Rpb24tbGluZXMtZ3JpZC90cmFuc2FjdGlvbi1saW5lcy1ncmlkLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25RdWlja0FjY2Vzc01vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkJ1dHRvbkJhck1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tYnV0dG9uLWJhci90cmFuc2FjdGlvbi1idXR0b24tYmFyLm1vZHVsZSc7XHJcbmltcG9ydCB7UGlwZU1vZHVsZX0gZnJvbSAnLi4vLi4vcGlwZS9waXBlLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lU2lkZVBhbmVsTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwvdHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsLm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25PcmRlckNvbmZpcm1hdGlvbkdyaWRNb2R1bGVcclxufSBmcm9tICcuLi90cmFuc2FjdGlvbi1ncmlkL3RyYW5zYWN0aW9uLW9yZGVyLWNvbmZpcm1hdGlvbi1ncmlkL3RyYW5zYWN0aW9uLW9yZGVyLWNvbmZpcm1hdGlvbi1ncmlkLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25HcmlkTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1ncmlkL3RyYW5zYWN0aW9uLWdyaWQvdHJhbnNhY3Rpb24tZ3JpZC5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uVGlsZU1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tdGlsZS90cmFuc2FjdGlvbi10aWxlLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25PdmVydmlld0xpbmVNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tb3ZlcnZpZXctbGluZS90cmFuc2FjdGlvbi1vdmVydmlldy1saW5lLm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25PcmRlckRlbGl2ZXJ5TGluZU1vZHVsZVxyXG59IGZyb20gJy4uL3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tb3JkZXItZGVsaXZlcnktbGluZS90cmFuc2FjdGlvbi1vcmRlci1kZWxpdmVyeS1saW5lLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25SZWNlaXZlR29vZHNMaW5lTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLXJlY2VpdmUtZ29vZHMtbGluZS90cmFuc2FjdGlvbi1yZWNlaXZlLWdvb2RzLWxpbmUubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblB1cmNoYXNlTGluZU1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1wdXJjaGFzZS1saW5lL3RyYW5zYWN0aW9uLXB1cmNoYXNlLWxpbmUubW9kdWxlJztcclxuaW1wb3J0IHtRdWlja1NlbmRCdXR0b25Nb2R1bGV9IGZyb20gJy4uL3F1aWNrLXNlbmQtYnV0dG9uL3F1aWNrLXNlbmQtYnV0dG9uLm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25Hb29kc0FsbG9jYXRpb25MaW5lTW9kdWxlXHJcbn0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1nb29kcy1hbGxvY2F0aW9uLWxpbmUvdHJhbnNhY3Rpb24tZ29vZHMtYWxsb2NhdGlvbi1saW5lLm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25QdXJjaGFzZU9yZGVyTGluZU1vZHVsZVxyXG59IGZyb20gJy4uL3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItbGluZS90cmFuc2FjdGlvbi1wdXJjaGFzZS1vcmRlci1saW5lLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25DYXJkTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1jYXJkL3RyYW5zYWN0aW9uLWNhcmQvdHJhbnNhY3Rpb24tY2FyZC5tb2R1bGUnO1xyXG5pbXBvcnQge0F2YXRhck1vZHVsZX0gZnJvbSAnLi4vYXZhdGFyL2F2YXRhci5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW52b2ljZUxpbmVNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24taW52b2ljZS1saW5lL3RyYW5zYWN0aW9uLWludm9pY2UtbGluZS5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uUHVyY2hhc2VPdmVydmlld0xpbmVNb2R1bGVcclxufSBmcm9tICcuLi90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLXB1cmNoYXNlLW92ZXJ2aWV3LWxpbmUvdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3ZlcnZpZXctbGluZS5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uVGV4dExpbmVNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tdGV4dC1saW5lL3RyYW5zYWN0aW9uLXRleHQtbGluZS5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUGlja2VkTGluZU1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1waWNrZWQtbGluZS90cmFuc2FjdGlvbi1waWNrZWQtbGluZS5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uVG9CZVBpY2tlZExpbmVNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tdG8tYmUtcGlja2VkLWxpbmUvdHJhbnNhY3Rpb24tdG8tYmUtcGlja2VkLWxpbmUubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkJhdGNoT3JkZXJQaWNraW5nTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1iYXRjaC1vcmRlci1waWNraW5nL3RyYW5zYWN0aW9uLWJhdGNoLW9yZGVyLXBpY2tpbmcubW9kdWxlJztcclxuaW1wb3J0IHtBZGRQcm9kdWN0TW9kdWxlfSBmcm9tICcuLi9hZGQtcHJvZHVjdC9hZGQtcHJvZHVjdC5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uQ2FzaFJlZ2lzdGVyT3JkZXJMaW5lTW9kdWxlXHJcbn0gZnJvbSBcIi4uL3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci1saW5lL3RyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItb3JkZXItbGluZS5tb2R1bGVcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgQ29yZU1vZHVsZSxcclxuICAgIFRyYW5zYWN0aW9uSGVhZGVyTW9kdWxlLFxyXG4gICAgVHJhbnNhY3Rpb25MaW5lc01vZHVsZSxcclxuICAgIFRyYW5zYWN0aW9uVG90YWxzTW9kdWxlLFxyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgVHJhbnNhY3Rpb25MaW5lc0dyaWRNb2R1bGUsXHJcbiAgICBDb0RpYWxvZ01vZHVsZSxcclxuICAgIEZvcm1Nb2R1bGUsXHJcbiAgICBJbnB1dFRleHRNb2R1bGUsXHJcbiAgICBUcmFuc2FjdGlvblF1aWNrQWNjZXNzTW9kdWxlLFxyXG4gICAgVHJhbnNhY3Rpb25CdXR0b25CYXJNb2R1bGUsXHJcbiAgICBQaXBlTW9kdWxlLFxyXG4gICAgVHJhbnNhY3Rpb25MaW5lU2lkZVBhbmVsTW9kdWxlLFxyXG4gICAgVHJhbnNhY3Rpb25PcmRlckNvbmZpcm1hdGlvbkdyaWRNb2R1bGUsXHJcbiAgICBWaWV3TW9kZUJ1dHRvbnNNb2R1bGUsXHJcbiAgICBUcmFuc2FjdGlvbkdyaWRNb2R1bGUsXHJcbiAgICBUcmFuc2FjdGlvblRpbGVNb2R1bGUsXHJcbiAgICBUcmFuc2FjdGlvbk92ZXJ2aWV3TGluZU1vZHVsZSxcclxuICAgIFRyYW5zYWN0aW9uT3JkZXJEZWxpdmVyeUxpbmVNb2R1bGUsXHJcbiAgICBUcmFuc2FjdGlvblJlY2VpdmVHb29kc0xpbmVNb2R1bGUsXHJcbiAgICBUcmFuc2FjdGlvblB1cmNoYXNlTGluZU1vZHVsZSxcclxuICAgIFRyYW5zYWN0aW9uSW52b2ljZUxpbmVNb2R1bGUsXHJcbiAgICBRdWlja1NlbmRCdXR0b25Nb2R1bGUsXHJcbiAgICBUcmFuc2FjdGlvbkdvb2RzQWxsb2NhdGlvbkxpbmVNb2R1bGUsXHJcbiAgICBUcmFuc2FjdGlvblB1cmNoYXNlT3JkZXJMaW5lTW9kdWxlLFxyXG4gICAgVHJhbnNhY3Rpb25QdXJjaGFzZU92ZXJ2aWV3TGluZU1vZHVsZSxcclxuICAgIFRyYW5zYWN0aW9uQ2FyZE1vZHVsZSxcclxuICAgIEF2YXRhck1vZHVsZSxcclxuICAgIFRyYW5zYWN0aW9uQXJ0aWNsZVRleHRPdmVydmlld01vZHVsZSxcclxuICAgIFRyYW5zYWN0aW9uQXJ0aWNsZVRleHRNb2R1bGUsXHJcbiAgICBUcmFuc2FjdGlvblRleHRMaW5lTW9kdWxlLFxyXG4gICAgVHJhbnNhY3Rpb25QaWNrZWRMaW5lTW9kdWxlLFxyXG4gICAgVHJhbnNhY3Rpb25Ub0JlUGlja2VkTGluZU1vZHVsZSxcclxuICAgIFRyYW5zYWN0aW9uQmF0Y2hPcmRlclBpY2tpbmdNb2R1bGUsXHJcbiAgICBBZGRQcm9kdWN0TW9kdWxlLFxyXG4gICAgVHJhbnNhY3Rpb25DYXNoUmVnaXN0ZXJPcmRlckxpbmVNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgVHJhbnNhY3Rpb25Db21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFRyYW5zYWN0aW9uQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25Nb2R1bGUge31cclxuIl19