@colijnit/transaction 12.1.9 → 12.1.12
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.
- package/bundles/colijnit-transaction.umd.js +2673 -242
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.d.ts +84 -35
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/colijnit-transaction.js +85 -36
- package/esm2015/lib/assets/dictionary/text.properties.js +39 -1
- package/esm2015/lib/component/checkout/checkout.component.js +1 -1
- package/esm2015/lib/component/checkout/checkout.module.js +1 -1
- package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.component.js +17 -3
- package/esm2015/lib/component/core/base/default-ok-cancel-buttons.component.js +41 -0
- package/esm2015/lib/component/core/base/transaction-base.component.js +7 -9
- package/esm2015/lib/component/core/core.module.js +6 -3
- package/esm2015/lib/component/core/enum/app-popup-type.enum.js +8 -0
- package/esm2015/lib/component/order-confirmation-grid/order-confirmation-grid.component.js +70 -0
- package/esm2015/lib/component/order-confirmation-grid/order-confirmation-grid.module.js +29 -0
- package/esm2015/lib/component/order-grid/order-grid.component.js +99 -0
- package/esm2015/lib/component/order-grid/order-grid.module.js +28 -0
- package/esm2015/lib/component/stepper/stepper.component.js +1 -1
- package/esm2015/lib/component/tile/tile.component.js +1 -1
- package/esm2015/lib/component/transaction/transaction.component.js +72 -14
- package/esm2015/lib/component/transaction/transaction.module.js +10 -2
- package/esm2015/lib/component/transaction-commit-bar/transaction-commit-bar.component.js +46 -0
- package/esm2015/lib/component/transaction-commit-bar/transaction-commit-bar.module.js +27 -0
- package/esm2015/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.js +28 -0
- package/esm2015/lib/component/transaction-confirmation-history/transaction-confirmation-history.module.js +27 -0
- package/esm2015/lib/component/transaction-header/transaction-header.component.js +14 -4
- package/esm2015/lib/component/transaction-header-delivery/transaction-header-delivery.component.js +5 -2
- package/esm2015/lib/component/transaction-history-grid/transaction-history-grid.component.js +47 -0
- package/esm2015/lib/component/transaction-history-grid/transaction-history-grid.module.js +27 -0
- package/esm2015/lib/component/transaction-history-grid-status/transaction-history-grid-status.component.js +36 -0
- package/esm2015/lib/component/transaction-history-grid-status/transaction-history-grid-status.module.js +23 -0
- package/esm2015/lib/component/transaction-line/transaction-line.component.js +11 -7
- package/esm2015/lib/component/transaction-line/transaction-line.module.js +2 -4
- package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.component.js +49 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date.component.js +40 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-method.component.js +48 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-method.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-discount-amount.component.js +50 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-discount-amount.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-fields-base.component.js +22 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-line-discount.component.js +50 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-line-discount.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price-list.component.js +49 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price-list.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price.component.js +49 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-quantity.component.js +36 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-quantity.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-quantum-discount.component.js +50 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-quantum-discount.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-reference.component.js +48 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-reference.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-special-discount.component.js +50 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-special-discount.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-vat.component.js +49 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-vat.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse.component.js +49 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse.module.js +24 -0
- package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.js +57 -129
- package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.js +14 -8
- package/esm2015/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.js +134 -0
- package/esm2015/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.module.js +56 -0
- package/esm2015/lib/component/transaction-lines/transaction-lines.component.js +7 -1
- package/esm2015/lib/component/transaction-lines-grid/transaction-lines-grid.component.js +16 -11
- package/esm2015/lib/component/transaction-lines-grid/transaction-lines-grid.module.js +4 -3
- package/esm2015/lib/component/transaction-nav-bar/transaction-nav-bar-button/transaction-nav-bar-button.component.js +29 -0
- package/esm2015/lib/component/transaction-nav-bar/transaction-nav-bar.component.js +65 -0
- package/esm2015/lib/component/transaction-nav-bar/transaction-nav-bar.module.js +26 -0
- package/esm2015/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.component.js +39 -0
- package/esm2015/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.module.js +25 -0
- package/esm2015/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.js +28 -0
- package/esm2015/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module.js +27 -0
- package/esm2015/lib/enum/icon.enum.js +5 -1
- package/esm2015/lib/enum/status-type.enum.js +5 -0
- package/esm2015/lib/enum/tab-category.enum.js +10 -0
- package/esm2015/lib/model/icon-svg.js +6 -2
- package/esm2015/lib/pipe/delivery-time.pipe.js +4 -1
- package/esm2015/lib/service/dialog.service.js +14 -3
- package/esm2015/lib/service/ione-connector-adapter.service.js +255 -10
- package/esm2015/lib/service/pending-reason.service.js +20 -9
- package/esm2015/lib/service/transaction.service.js +187 -29
- package/fesm2015/colijnit-transaction.js +2477 -290
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/lib/component/confirmation-dialog/confirmation-dialog.component.d.ts +4 -0
- package/lib/component/core/base/default-ok-cancel-buttons.component.d.ts +13 -0
- package/lib/component/core/enum/app-popup-type.enum.d.ts +6 -0
- package/lib/component/core/image-display/style/_layout.scss +2 -4
- package/lib/component/order-confirmation-create/style/_layout.scss +5 -0
- package/lib/component/order-confirmation-create/style/_material-definition.scss +1 -0
- package/lib/component/order-confirmation-create/style/_theme.scss +5 -0
- package/lib/component/order-confirmation-create/style/material.scss +4 -0
- package/lib/component/order-confirmation-grid/order-confirmation-grid.component.d.ts +15 -0
- package/lib/component/order-confirmation-grid/order-confirmation-grid.module.d.ts +2 -0
- package/lib/component/order-confirmation-grid/style/_layout.scss +5 -0
- package/lib/component/order-confirmation-grid/style/_material-definition.scss +1 -0
- package/lib/component/order-confirmation-grid/style/_theme.scss +5 -0
- package/lib/component/order-confirmation-grid/style/material.scss +4 -0
- package/lib/component/order-grid/order-grid.component.d.ts +23 -0
- package/lib/component/order-grid/order-grid.module.d.ts +2 -0
- package/lib/component/order-grid/style/_layout.scss +21 -0
- package/lib/component/order-grid/style/_material-definition.scss +2 -0
- package/lib/component/order-grid/style/_theme.scss +6 -0
- package/lib/component/order-grid/style/material.scss +4 -0
- package/lib/component/transaction/style/_layout.scss +6 -0
- package/lib/component/transaction/style/material.scss +3 -0
- package/lib/component/transaction/transaction.component.d.ts +16 -1
- package/lib/component/transaction-commit-bar/style/_layout.scss +16 -0
- package/lib/component/transaction-commit-bar/style/_material-definition.scss +1 -0
- package/lib/component/transaction-commit-bar/style/_theme.scss +7 -0
- package/lib/component/transaction-commit-bar/style/material.scss +4 -0
- package/lib/component/transaction-commit-bar/transaction-commit-bar.component.d.ts +11 -0
- package/lib/component/transaction-commit-bar/transaction-commit-bar.module.d.ts +2 -0
- package/lib/component/transaction-confirmation-history/style/_layout.scss +7 -0
- package/lib/component/transaction-confirmation-history/style/_material-definition.scss +1 -0
- package/lib/component/transaction-confirmation-history/style/_theme.scss +7 -0
- package/lib/component/transaction-confirmation-history/style/material.scss +4 -0
- package/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.d.ts +5 -0
- package/lib/component/transaction-confirmation-history/transaction-confirmation-history.module.d.ts +2 -0
- package/lib/component/transaction-header/transaction-header.component.d.ts +4 -1
- package/lib/component/transaction-history-grid/style/_layout.scss +7 -0
- package/lib/component/{service-order/transaction-sidebar/transaction-line-accordion.component.scss → transaction-history-grid/style/_material-definition.scss} +0 -0
- package/lib/component/transaction-history-grid/style/_theme.scss +7 -0
- package/lib/component/transaction-history-grid/style/material.scss +4 -0
- package/lib/component/transaction-history-grid/transaction-history-grid.component.d.ts +14 -0
- package/lib/component/transaction-history-grid/transaction-history-grid.module.d.ts +2 -0
- package/lib/component/transaction-history-grid-status/style/_layout.scss +28 -0
- package/lib/component/{service-order/transaction-edit-article-text/transaction-edit-article-text.component.scss → transaction-history-grid-status/style/_material-definition.scss} +0 -0
- package/lib/component/transaction-history-grid-status/style/_theme.scss +7 -0
- package/lib/component/transaction-history-grid-status/style/material.scss +4 -0
- package/lib/component/transaction-history-grid-status/transaction-history-grid-status.component.d.ts +9 -0
- package/lib/component/transaction-history-grid-status/transaction-history-grid-status.module.d.ts +2 -0
- package/lib/component/transaction-line/transaction-line.component.d.ts +3 -2
- package/lib/component/transaction-line-fields/transaction-line-commission-code.component.d.ts +12 -0
- package/lib/component/transaction-line-fields/transaction-line-commission-code.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-delivery-date.component.d.ts +7 -0
- package/lib/component/transaction-line-fields/transaction-line-delivery-date.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-delivery-method.component.d.ts +12 -0
- package/lib/component/transaction-line-fields/transaction-line-delivery-method.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-discount-amount.component.d.ts +10 -0
- package/lib/component/transaction-line-fields/transaction-line-discount-amount.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-fields-base.component.d.ts +6 -0
- package/lib/component/transaction-line-fields/transaction-line-line-discount.component.d.ts +10 -0
- package/lib/component/transaction-line-fields/transaction-line-line-discount.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-price-list.component.d.ts +12 -0
- package/lib/component/transaction-line-fields/transaction-line-price-list.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-price.component.d.ts +10 -0
- package/lib/component/transaction-line-fields/transaction-line-price.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-quantity.component.d.ts +7 -0
- package/lib/component/transaction-line-fields/transaction-line-quantity.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-quantum-discount.component.d.ts +10 -0
- package/lib/component/transaction-line-fields/transaction-line-quantum-discount.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-reference.component.d.ts +10 -0
- package/lib/component/transaction-line-fields/transaction-line-reference.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-special-discount.component.d.ts +10 -0
- package/lib/component/transaction-line-fields/transaction-line-special-discount.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-vat.component.d.ts +12 -0
- package/lib/component/transaction-line-fields/transaction-line-vat.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-warehouse.component.d.ts +12 -0
- package/lib/component/transaction-line-fields/transaction-line-warehouse.module.d.ts +2 -0
- package/lib/component/transaction-line-side-panel/style/_layout.scss +38 -21
- package/lib/component/transaction-line-side-panel/style/_material-definition.scss +4 -6
- package/lib/component/transaction-line-side-panel/style/_theme.scss +3 -1
- package/lib/component/transaction-line-side-panel/style/material.scss +5 -0
- package/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.d.ts +6 -8
- package/lib/component/transaction-line-side-panel-default/style/_layout.scss +29 -0
- package/lib/component/transaction-line-side-panel-default/style/_material-definition.scss +10 -0
- package/lib/component/transaction-line-side-panel-default/style/_theme.scss +7 -0
- package/lib/component/transaction-line-side-panel-default/style/material.scss +4 -0
- package/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.d.ts +16 -0
- package/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.module.d.ts +2 -0
- package/lib/component/transaction-lines/transaction-lines.component.d.ts +5 -0
- package/lib/component/transaction-lines-grid/transaction-lines-grid.component.d.ts +4 -1
- package/lib/component/transaction-nav-bar/style/_layout.scss +13 -0
- package/lib/component/transaction-nav-bar/style/_material-definition.scss +1 -0
- package/lib/component/transaction-nav-bar/style/_theme.scss +7 -0
- package/lib/component/transaction-nav-bar/style/material.scss +4 -0
- package/lib/component/transaction-nav-bar/transaction-nav-bar-button/transaction-nav-bar-button.component.d.ts +14 -0
- package/lib/component/transaction-nav-bar/transaction-nav-bar-button/transaction-nav-bar-button.component.scss +23 -0
- package/lib/component/transaction-nav-bar/transaction-nav-bar.component.d.ts +18 -0
- package/lib/component/transaction-nav-bar/transaction-nav-bar.module.d.ts +2 -0
- package/lib/component/transaction-receiving-goods-details/style/_layout.scss +38 -0
- package/lib/component/transaction-receiving-goods-details/style/_material-definition.scss +1 -0
- package/lib/component/transaction-receiving-goods-details/style/_theme.scss +7 -0
- package/lib/component/transaction-receiving-goods-details/style/material.scss +4 -0
- package/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.component.d.ts +6 -0
- package/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.module.d.ts +2 -0
- package/lib/component/transaction-receiving-goods-history/style/_layout.scss +7 -0
- package/lib/component/transaction-receiving-goods-history/style/_material-definition.scss +1 -0
- package/lib/component/transaction-receiving-goods-history/style/_theme.scss +7 -0
- package/lib/component/transaction-receiving-goods-history/style/material.scss +4 -0
- package/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.d.ts +5 -0
- package/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module.d.ts +2 -0
- package/lib/enum/icon.enum.d.ts +5 -1
- package/lib/enum/status-type.enum.d.ts +3 -0
- package/lib/enum/tab-category.enum.d.ts +8 -0
- package/lib/service/dialog.service.d.ts +1 -0
- package/lib/service/ione-connector-adapter.service.d.ts +24 -7
- package/lib/service/pending-reason.service.d.ts +3 -2
- package/lib/service/transaction.service.d.ts +22 -9
- package/package.json +2 -2
- package/lib/component/sell-order/sell-order-side-panel/sell-order-side-panel.component.scss +0 -49
- package/lib/component/sell-order/sell-order.component.scss +0 -15
- package/lib/component/service-order/service-order.component.scss +0 -154
- package/lib/component/service-order/summary/transaction-delivery-summary.component.scss +0 -22
- package/lib/component/service-order/summary/transaction-summary-block.component.scss +0 -109
- package/lib/component/service-order/transaction-manager/transaction-manager.component.scss +0 -54
- package/lib/component/service-order/transaction-order-line-view/transaction-order-line-view.component.scss +0 -90
- package/lib/component/service-order/transaction-order-lines/transaction-order-lines.component.scss +0 -85
- package/lib/component/service-order/transaction-order-totals/transaction-order-totals.component.scss +0 -26
- package/lib/component/service-order/transaction-relation/transaction-relation-edit.component.scss +0 -24
- package/lib/component/service-order/transaction-sidebar/transaction-sidebar-right.component.scss +0 -17
- package/lib/component/service-order/warehouse/warehouse.component.scss +0 -54
|
@@ -2,7 +2,6 @@ import { __awaiter } from "tslib";
|
|
|
2
2
|
import { Injectable } from "@angular/core";
|
|
3
3
|
import { TransactionInfoResponse } from "@colijnit/transactionapi/build/model/transaction-info-response.bo";
|
|
4
4
|
import { PendingReasonType } from "@colijnit/transactionapi/build/enum/pending-reason-type.enum";
|
|
5
|
-
import { ResolvePendingLineReasonRequest } from "@colijnit/transactionapi/build/model/resolve-pending-reason-request.bo";
|
|
6
5
|
import { OptionsService } from "./options.service";
|
|
7
6
|
import { IOneConnectorAdapterService } from "./ione-connector-adapter.service";
|
|
8
7
|
import { BehaviorSubject } from "rxjs";
|
|
@@ -11,6 +10,7 @@ import { SetTransactionDeliveryOptionsRequest } from "@colijnit/transactionapi/b
|
|
|
11
10
|
import { TransactionLineType } from "@colijnit/transactionapi/build/enum/transaction-line-type.enum";
|
|
12
11
|
import { RelationStatus } from "@colijnit/transactionapi/build/enum/relation-status.enum";
|
|
13
12
|
import { DialogService } from "./dialog.service";
|
|
13
|
+
import { ResolveLinePendingReasonRequest } from "@colijnit/transactionapi/build/model/resolve-pending-reason-request.bo";
|
|
14
14
|
import * as i0 from "@angular/core";
|
|
15
15
|
import * as i1 from "./dialog.service";
|
|
16
16
|
import * as i2 from "./options.service";
|
|
@@ -59,12 +59,13 @@ export class PendingReasonService {
|
|
|
59
59
|
if (!response.lineOperationStatuses || response.lineOperationStatuses.length === 0) {
|
|
60
60
|
return true;
|
|
61
61
|
}
|
|
62
|
+
let success = true;
|
|
62
63
|
for (let i = 0; i < response.lineOperationStatuses.length; i++) {
|
|
63
64
|
const status = response.lineOperationStatuses[i];
|
|
64
65
|
const transLine = response.transactionLines.find(t => t.lineNr === status.lineNr);
|
|
65
|
-
yield this._handleLineOperationStatus(status, transLine);
|
|
66
|
+
success = success && (yield this._handleLineOperationStatus(status, transLine));
|
|
66
67
|
}
|
|
67
|
-
return
|
|
68
|
+
return success;
|
|
68
69
|
});
|
|
69
70
|
}
|
|
70
71
|
_rememberCurrentTransaction(value) {
|
|
@@ -81,11 +82,16 @@ export class PendingReasonService {
|
|
|
81
82
|
switch (operationStatus.pendingReasonType) {
|
|
82
83
|
case PendingReasonType.ABORTED:
|
|
83
84
|
case PendingReasonType.CANCELLED:
|
|
84
|
-
|
|
85
|
-
|
|
85
|
+
if (operationStatus.pendingReason === 'USER_DECISION') {
|
|
86
|
+
yield this._cancelArticle(operationStatus.uuid);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
this._showReasonDialog(operationStatus.pendingReason);
|
|
90
|
+
}
|
|
91
|
+
return false;
|
|
86
92
|
case PendingReasonType.CONFIRMATION_NEEDED:
|
|
87
93
|
yield this._confirmAction(transactionLine.uuid, operationStatus.pendingReason, operationStatus.pendingReasonType);
|
|
88
|
-
|
|
94
|
+
return false;
|
|
89
95
|
// case PendingReasonType.INVALID_LOGISTICS:
|
|
90
96
|
// await this.showStockManager(this.currentPendingLine);
|
|
91
97
|
// break;
|
|
@@ -97,7 +103,7 @@ export class PendingReasonService {
|
|
|
97
103
|
// break;
|
|
98
104
|
case PendingReasonType.NONE:
|
|
99
105
|
default:
|
|
100
|
-
|
|
106
|
+
return true;
|
|
101
107
|
}
|
|
102
108
|
});
|
|
103
109
|
}
|
|
@@ -110,13 +116,18 @@ export class PendingReasonService {
|
|
|
110
116
|
}
|
|
111
117
|
_confirmAction(uuid, reason, type) {
|
|
112
118
|
return __awaiter(this, void 0, void 0, function* () {
|
|
113
|
-
const reasonRequest = new
|
|
119
|
+
const reasonRequest = new ResolveLinePendingReasonRequest(uuid, reason, type);
|
|
114
120
|
// const pendingReasonText: string = await this._getPendingReasonText(this.currentOperationStatus.pendingReason);
|
|
115
121
|
reasonRequest.confirmation = yield this.dialogService.showYesNo('Action', reason);
|
|
116
122
|
yield this.resolvePendingLineReason(reasonRequest);
|
|
117
123
|
// this._handleLineOperationStatus()
|
|
118
124
|
});
|
|
119
125
|
}
|
|
126
|
+
_showReasonDialog(reason) {
|
|
127
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
128
|
+
this.dialogService.showInformation(reason);
|
|
129
|
+
});
|
|
130
|
+
}
|
|
120
131
|
_setTransactionDeliveryOptions() {
|
|
121
132
|
if (!this.deliveryOptions) {
|
|
122
133
|
this.deliveryOptions = new SetTransactionDeliveryOptionsRequest();
|
|
@@ -169,4 +180,4 @@ PendingReasonService.ctorParameters = () => [
|
|
|
169
180
|
{ type: OptionsService },
|
|
170
181
|
{ type: IOneConnectorAdapterService }
|
|
171
182
|
];
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZy1yZWFzb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvc2VydmljZS9wZW5kaW5nLXJlYXNvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBRTFHLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQy9GLE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBR3ZILE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM3RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxvQ0FBb0MsRUFBQyxNQUFNLGtGQUFrRixDQUFDO0FBQ3RJLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQ25HLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUN4RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0FBSy9DLE1BQU0sT0FBTyxvQkFBb0I7SUFVL0IsWUFDWSxhQUE0QixFQUM1QixPQUF1QixFQUN2QixTQUFzQztRQUZ0QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUE2QjtRQVozQyx1QkFBa0IsR0FBNkMsSUFBSSxlQUFlLENBQTBCLFNBQVMsQ0FBQyxD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QkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2V9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby1yZXNwb25zZS5ib1wiO1xyXG5pbXBvcnQge0xpbmVPcGVyYXRpb25TdGF0dXN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvbGluZS1vcGVyYXRpb24tc3RhdHVzLmJvXCI7XHJcbmltcG9ydCB7UGVuZGluZ1JlYXNvblR5cGV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9wZW5kaW5nLXJlYXNvbi10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtSZXNvbHZlUGVuZGluZ0xpbmVSZWFzb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3Jlc29sdmUtcGVuZGluZy1yZWFzb24tcmVxdWVzdC5ib1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUluZm99IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tbGluZS1pbmZvLmJvXCI7XHJcbmltcG9ydCB7VmFsaWRhdGlvblJlc3VsdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC92YWxpZGF0aW9uLXJlc3VsdFwiO1xyXG5pbXBvcnQge09wdGlvbnNTZXJ2aWNlfSBmcm9tIFwiLi9vcHRpb25zLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJT25lQ29ubmVjdG9yQWRhcHRlclNlcnZpY2V9IGZyb20gXCIuL2lvbmUtY29ubmVjdG9yLWFkYXB0ZXIuc2VydmljZVwiO1xyXG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtDdXN0b21lckZ1bGxPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY3VzdG9tZXItZnVsbC1vYmplY3QuYm9cIjtcclxuaW1wb3J0IHtTZXRUcmFuc2FjdGlvbkRlbGl2ZXJ5T3B0aW9uc1JlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvc2V0LXRyYW5zYWN0aW9uLWRlbGl2ZXJ5LW9wdGlvbnMtcmVxdWVzdC5ib1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZVR5cGV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS90cmFuc2FjdGlvbi1saW5lLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge1JlbGF0aW9uU3RhdHVzfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vcmVsYXRpb24tc3RhdHVzLmVudW1cIjtcclxuaW1wb3J0IHtEaWFsb2dTZXJ2aWNlfSBmcm9tIFwiLi9kaWFsb2cuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZW5kaW5nUmVhc29uU2VydmljZSB7XHJcbiAgcHVibGljIHRyYW5zYWN0aW9uVXBkYXRlZDogQmVoYXZpb3JTdWJqZWN0PFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+KHVuZGVmaW5lZCk7XHJcblxyXG4gIHB1YmxpYyBhcHBsaWNhdGlvblVzZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgY3VycmVudFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSA9IG5ldyBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSgpO1xyXG4gIHB1YmxpYyByZWxhdGlvbjogQ3VzdG9tZXJGdWxsT2JqZWN0ID0gbmV3IEN1c3RvbWVyRnVsbE9iamVjdCgpO1xyXG4gIHB1YmxpYyBkZWxpdmVyeU9wdGlvbnM6IFNldFRyYW5zYWN0aW9uRGVsaXZlcnlPcHRpb25zUmVxdWVzdCA9IG5ldyBTZXRUcmFuc2FjdGlvbkRlbGl2ZXJ5T3B0aW9uc1JlcXVlc3QoKTtcclxuXHJcbiAgcHVibGljIGFydGljbGVBbW91bnQ6IG51bWJlciA9IDA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgb3B0aW9uczogT3B0aW9uc1NlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY29ubmVjdG9yOiBJT25lQ29ubmVjdG9yQWRhcHRlclNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBpbml0KG9wdGlvbnM6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgdGhpcy5vcHRpb25zLmluaXRpYWxpemUob3B0aW9ucyk7XHJcbiAgICB0aGlzLmNvbm5lY3Rvci5jb25uZWN0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2FuY2VsQWRkVHJhbnNhY3Rpb25MaW5lKGxpbmVVdWlkOiBzdHJpbmcsIHJlbWVtYmVyOiBib29sZWFuID0gdHJ1ZSk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICB0aGlzLmNvbm5lY3Rvci5jYW5jZWxBZGRUcmFuc2FjdGlvbkxpbmUobGluZVV1aWQpXHJcbiAgICAgICAgLnRoZW4oYXN5bmMgKHJlc3BvbnNlOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlbWVtYmVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JlbWVtYmVyQ3VycmVudFRyYW5zYWN0aW9uKHJlc3BvbnNlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChyZXNwb25zZS5pc1N1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZShyZXNwb25zZSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZWplY3QocmVzcG9uc2UpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNhdGNoKChyZWFzb246IFZhbGlkYXRpb25SZXN1bHQpID0+IHtcclxuICAgICAgICAgIHJlc29sdmUobnVsbCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVMaW5lT3BlcmF0aW9uU3RhdHVzZXMocmVzcG9uc2U6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBpZiAoIXJlc3BvbnNlLmxpbmVPcGVyYXRpb25TdGF0dXNlcyB8fCByZXNwb25zZS5saW5lT3BlcmF0aW9uU3RhdHVzZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IHJlc3BvbnNlLmxpbmVPcGVyYXRpb25TdGF0dXNlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBzdGF0dXM6IExpbmVPcGVyYXRpb25TdGF0dXMgPSByZXNwb25zZS5saW5lT3BlcmF0aW9uU3RhdHVzZXNbaV07XHJcbiAgICAgIGNvbnN0IHRyYW5zTGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbyA9IHJlc3BvbnNlLnRyYW5zYWN0aW9uTGluZXMuZmluZCh0ID0+IHQubGluZU5yID09PSBzdGF0dXMubGluZU5yKTtcclxuICAgICAgYXdhaXQgdGhpcy5faGFuZGxlTGluZU9wZXJhdGlvblN0YXR1cyhzdGF0dXMsIHRyYW5zTGluZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3luYyBfcmVtZW1iZXJDdXJyZW50VHJhbnNhY3Rpb24odmFsdWU6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmN1cnJlbnRUcmFuc2FjdGlvbiA9IHZhbHVlO1xyXG4gICAgdGhpcy5fc2V0VHJhbnNhY3Rpb25EZWxpdmVyeU9wdGlvbnMoKTtcclxuICAgIHRoaXMuX3NldEFtb3VudCgpO1xyXG4gICAgdGhpcy5faW5pdGlhbGl6ZVRyYW5zYWN0aW9uKCk7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uVXBkYXRlZC5uZXh0KHRoaXMuY3VycmVudFRyYW5zYWN0aW9uKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2hhbmRsZUxpbmVPcGVyYXRpb25TdGF0dXMob3BlcmF0aW9uU3RhdHVzOiBMaW5lT3BlcmF0aW9uU3RhdHVzLCB0cmFuc2FjdGlvbkxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHN3aXRjaCAob3BlcmF0aW9uU3RhdHVzLnBlbmRpbmdSZWFzb25UeXBlKSB7XHJcbiAgICAgIGNhc2UgUGVuZGluZ1JlYXNvblR5cGUuQUJPUlRFRDpcclxuICAgICAgY2FzZSBQZW5kaW5nUmVhc29uVHlwZS5DQU5DRUxMRUQ6XHJcbiAgICAgICAgYXdhaXQgdGhpcy5fY2FuY2VsQXJ0aWNsZShvcGVyYXRpb25TdGF0dXMudXVpZCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgUGVuZGluZ1JlYXNvblR5cGUuQ09ORklSTUFUSU9OX05FRURFRDpcclxuICAgICAgICBhd2FpdCB0aGlzLl9jb25maXJtQWN0aW9uKHRyYW5zYWN0aW9uTGluZS51dWlkLCBvcGVyYXRpb25TdGF0dXMucGVuZGluZ1JlYXNvbiwgb3BlcmF0aW9uU3RhdHVzLnBlbmRpbmdSZWFzb25UeXBlKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgLy8gY2FzZSBQZW5kaW5nUmVhc29uVHlwZS5JTlZBTElEX0xPR0lTVElDUzpcclxuICAgICAgLy8gICBhd2FpdCB0aGlzLnNob3dTdG9ja01hbmFnZXIodGhpcy5jdXJyZW50UGVuZGluZ0xpbmUpO1xyXG4gICAgICAvLyAgIGJyZWFrO1xyXG4gICAgICAvLyBjYXNlIFBlbmRpbmdSZWFzb25UeXBlLk5PTl9DUklUSUNBTF9ESVNDT05USU5VQVRJT046XHJcbiAgICAgIC8vICAgYXdhaXQgdGhpcy5fc2hvd0luZm9ybWF0aW9uKCk7XHJcbiAgICAgIC8vICAgYnJlYWs7XHJcbiAgICAgIC8vIGNhc2UgUGVuZGluZ1JlYXNvblR5cGUuQ0hBUkFDVEVSSVNUSUNTX0FOU1dFUl9ORUVERUQ6XHJcbiAgICAgIC8vICAgdGhpcy5DaGFyYWN0ZXJpc3RpY3NBbnN3ZXJOZWVkZWQoKTtcclxuICAgICAgLy8gICBicmVhaztcclxuICAgICAgY2FzZSBQZW5kaW5nUmVhc29uVHlwZS5OT05FOlxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHJlc29sdmVQZW5kaW5nTGluZVJlYXNvbihwZW5kaW5nTGluZVZhbHVlczogUmVzb2x2ZVBlbmRpbmdMaW5lUmVhc29uUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlID0gYXdhaXQgdGhpcy5jb25uZWN0b3IucmVzb2x2ZVBlbmRpbmdMaW5lUmVhc29uKHBlbmRpbmdMaW5lVmFsdWVzKTtcclxuICAgIHRoaXMuX3JlbWVtYmVyQ3VycmVudFRyYW5zYWN0aW9uKHJlc3BvbnNlKTtcclxuICAgIHRoaXMuaGFuZGxlTGluZU9wZXJhdGlvblN0YXR1c2VzKHJlc3BvbnNlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2NvbmZpcm1BY3Rpb24odXVpZDogc3RyaW5nLCByZWFzb246IHN0cmluZywgdHlwZTogUGVuZGluZ1JlYXNvblR5cGUpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHJlYXNvblJlcXVlc3QgPSBuZXcgUmVzb2x2ZVBlbmRpbmdMaW5lUmVhc29uUmVxdWVzdCh1dWlkLCByZWFzb24sIHR5cGUpO1xyXG4gICAgLy8gY29uc3QgcGVuZGluZ1JlYXNvblRleHQ6IHN0cmluZyA9IGF3YWl0IHRoaXMuX2dldFBlbmRpbmdSZWFzb25UZXh0KHRoaXMuY3VycmVudE9wZXJhdGlvblN0YXR1cy5wZW5kaW5nUmVhc29uKTtcclxuICAgIHJlYXNvblJlcXVlc3QuY29uZmlybWF0aW9uID0gYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLnNob3dZZXNObygnQWN0aW9uJywgcmVhc29uKTtcclxuICAgIGF3YWl0IHRoaXMucmVzb2x2ZVBlbmRpbmdMaW5lUmVhc29uKHJlYXNvblJlcXVlc3QpO1xyXG4gICAgLy8gdGhpcy5faGFuZGxlTGluZU9wZXJhdGlvblN0YXR1cygpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRUcmFuc2FjdGlvbkRlbGl2ZXJ5T3B0aW9ucygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5kZWxpdmVyeU9wdGlvbnMpIHtcclxuICAgICAgdGhpcy5kZWxpdmVyeU9wdGlvbnMgPSBuZXcgU2V0VHJhbnNhY3Rpb25EZWxpdmVyeU9wdGlvbnNSZXF1ZXN0KCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRlbGl2ZXJ5T3B0aW9ucy5hbGxvd1BhcnRpYWxEZWxpdmVyeSA9IHRoaXMuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5hbGxvd1BhcnRpYWxEZWxpdmVyeTtcclxuICAgIHRoaXMuZGVsaXZlcnlPcHRpb25zLmRlbGl2ZXJ5RGF0ZSA9IHRoaXMuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5kZWxpdmVyeURhdGU7XHJcbiAgICB0aGlzLmRlbGl2ZXJ5T3B0aW9ucy5kZWxpdmVyeU1ldGhvZCA9IHRoaXMuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5kZWxpdmVyeU1ldGhvZDtcclxuICAgIHRoaXMuZGVsaXZlcnlPcHRpb25zLmRlbGl2ZXJ5T3B0aW9ucyA9IHRoaXMuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5kZWxpdmVyeU9wdGlvbnM7XHJcbiAgICB0aGlzLmRlbGl2ZXJ5T3B0aW9ucy5tYXJrZXRpbmdDb2RlID0gdGhpcy5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLm1hcmtldGluZ0NvZGU7XHJcbiAgICB0aGlzLmRlbGl2ZXJ5T3B0aW9ucy5vd25SZWZlcmVuY2UgPSB0aGlzLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ub3duUmVmZXJlbmNlO1xyXG4gICAgdGhpcy5kZWxpdmVyeU9wdGlvbnMucHJlZmVycmVkRGVsaXZlcnlEYXRlID0gdGhpcy5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnByZWZlcnJlZERlbGl2ZXJ5RGF0ZTtcclxuICAgIHRoaXMuZGVsaXZlcnlPcHRpb25zLnByZWZlcnJlZERlbGl2ZXJ5RGF0ZTIgPSB0aGlzLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ucHJlZmVycmVkRGVsaXZlcnlEYXRlMjtcclxuICAgIHRoaXMuZGVsaXZlcnlPcHRpb25zLnJlbGF0aW9uUmVmZXJlbmNlID0gdGhpcy5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnJlbGF0aW9uUmVmZXJlbmNlO1xyXG4gICAgdGhpcy5kZWxpdmVyeU9wdGlvbnMucmVtYXJrID0gdGhpcy5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnJlbWFyaztcclxuICAgIHRoaXMuZGVsaXZlcnlPcHRpb25zLnRyYW5zYWN0aW9uVXVpZCA9IHRoaXMuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby51dWlkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0QW1vdW50KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFRyYW5zYWN0aW9uICYmIHRoaXMuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uTGluZXMpIHtcclxuICAgICAgdGhpcy5hcnRpY2xlQW1vdW50ID0gdGhpcy5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lcy5maWx0ZXIodCA9PiB0LmxpbmVUeXBlID09PSBUcmFuc2FjdGlvbkxpbmVUeXBlLkFydGljbGVMaW5lKS5sZW5ndGg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pbml0aWFsaXplVHJhbnNhY3Rpb24oKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMucmVsYXRpb24pIHtcclxuICAgICAgdGhpcy5yZWxhdGlvbiA9IG5ldyBDdXN0b21lckZ1bGxPYmplY3QoKTtcclxuICAgICAgdGhpcy5yZWxhdGlvbi5yZWxhdGlvblN0YXR1cyA9IFJlbGF0aW9uU3RhdHVzLlJlZ3VsYXJDdXN0b21lcjtcclxuICAgICAgdGhpcy5yZWxhdGlvbi5zdGFydERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICB0aGlzLmRlbGl2ZXJ5T3B0aW9ucyA9IG5ldyBTZXRUcmFuc2FjdGlvbkRlbGl2ZXJ5T3B0aW9uc1JlcXVlc3QoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ucHJlZmVycmVkRGVsaXZlcnlEYXRlMiA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5wcmVmZXJyZWREZWxpdmVyeURhdGUyID0gXCI9XCI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9jYW5jZWxBcnRpY2xlKHV1aWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgdGhpcy5jYW5jZWxBZGRUcmFuc2FjdGlvbkxpbmUodXVpZCwgZmFsc2UpXHJcbiAgICAgIC50aGVuKChyZXNwb25zZTogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHRoaXMuX3JlbWVtYmVyQ3VycmVudFRyYW5zYWN0aW9uKHJlc3BvbnNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZy1yZWFzb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvc2VydmljZS9wZW5kaW5nLXJlYXNvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBRTFHLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBRy9GLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM3RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxvQ0FBb0MsRUFBQyxNQUFNLGtGQUFrRixDQUFDO0FBQ3RJLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQ25HLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUN4RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sd0VBQXdFLENBQUM7Ozs7O0FBS3ZILE1BQU0sT0FBTyxvQkFBb0I7SUFVL0IsWUFDWSxhQUE0QixFQUM1QixPQUF1QixFQUN2QixTQUFzQztRQUZ0QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUE2QjtRQVozQyx1QkFBa0IsR0FBNkMsSUFBSSxlQUFlLENBQTBCLFNBQVMsQ0FBQyxD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QUFHLENBQUM7U0FDdEU7SUFDSCxDQUFDO0lBRWEsY0FBYyxDQUFDLElBQVk7O1lBQ3ZDLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7aUJBQzdDLElBQUksQ0FBQyxDQUFDLFFBQWlDLEVBQUUsRUFBRTtnQkFDeEMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdDLENBQUMsQ0FDRixDQUFDO1FBQ04sQ0FBQztLQUFBOzs7O1lBeEpGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBTE8sYUFBYTtZQVBiLGNBQWM7WUFDZCwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2V9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby1yZXNwb25zZS5ib1wiO1xyXG5pbXBvcnQge0xpbmVPcGVyYXRpb25TdGF0dXN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvbGluZS1vcGVyYXRpb24tc3RhdHVzLmJvXCI7XHJcbmltcG9ydCB7UGVuZGluZ1JlYXNvblR5cGV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9wZW5kaW5nLXJlYXNvbi10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVJbmZvfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWxpbmUtaW5mby5ib1wiO1xyXG5pbXBvcnQge1ZhbGlkYXRpb25SZXN1bHR9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdmFsaWRhdGlvbi1yZXN1bHRcIjtcclxuaW1wb3J0IHtPcHRpb25zU2VydmljZX0gZnJvbSBcIi4vb3B0aW9ucy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7SU9uZUNvbm5lY3RvckFkYXB0ZXJTZXJ2aWNlfSBmcm9tIFwiLi9pb25lLWNvbm5lY3Rvci1hZGFwdGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7Q3VzdG9tZXJGdWxsT2JqZWN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2N1c3RvbWVyLWZ1bGwtb2JqZWN0LmJvXCI7XHJcbmltcG9ydCB7U2V0VHJhbnNhY3Rpb25EZWxpdmVyeU9wdGlvbnNSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3NldC10cmFuc2FjdGlvbi1kZWxpdmVyeS1vcHRpb25zLXJlcXVlc3QuYm9cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVUeXBlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vdHJhbnNhY3Rpb24tbGluZS10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtSZWxhdGlvblN0YXR1c30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3JlbGF0aW9uLXN0YXR1cy5lbnVtXCI7XHJcbmltcG9ydCB7RGlhbG9nU2VydmljZX0gZnJvbSBcIi4vZGlhbG9nLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtSZXNvbHZlTGluZVBlbmRpbmdSZWFzb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3Jlc29sdmUtcGVuZGluZy1yZWFzb24tcmVxdWVzdC5ib1wiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZW5kaW5nUmVhc29uU2VydmljZSB7XHJcbiAgcHVibGljIHRyYW5zYWN0aW9uVXBkYXRlZDogQmVoYXZpb3JTdWJqZWN0PFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+KHVuZGVmaW5lZCk7XHJcblxyXG4gIHB1YmxpYyBhcHBsaWNhdGlvblVzZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgY3VycmVudFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSA9IG5ldyBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSgpO1xyXG4gIHB1YmxpYyByZWxhdGlvbjogQ3VzdG9tZXJGdWxsT2JqZWN0ID0gbmV3IEN1c3RvbWVyRnVsbE9iamVjdCgpO1xyXG4gIHB1YmxpYyBkZWxpdmVyeU9wdGlvbnM6IFNldFRyYW5zYWN0aW9uRGVsaXZlcnlPcHRpb25zUmVxdWVzdCA9IG5ldyBTZXRUcmFuc2FjdGlvbkRlbGl2ZXJ5T3B0aW9uc1JlcXVlc3QoKTtcclxuXHJcbiAgcHVibGljIGFydGljbGVBbW91bnQ6IG51bWJlciA9IDA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgb3B0aW9uczogT3B0aW9uc1NlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY29ubmVjdG9yOiBJT25lQ29ubmVjdG9yQWRhcHRlclNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBpbml0KG9wdGlvbnM6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgdGhpcy5vcHRpb25zLmluaXRpYWxpemUob3B0aW9ucyk7XHJcbiAgICB0aGlzLmNvbm5lY3Rvci5jb25uZWN0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2FuY2VsQWRkVHJhbnNhY3Rpb25MaW5lKGxpbmVVdWlkOiBzdHJpbmcsIHJlbWVtYmVyOiBib29sZWFuID0gdHJ1ZSk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICB0aGlzLmNvbm5lY3Rvci5jYW5jZWxBZGRUcmFuc2FjdGlvbkxpbmUobGluZVV1aWQpXHJcbiAgICAgICAgLnRoZW4oYXN5bmMgKHJlc3BvbnNlOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlbWVtYmVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JlbWVtYmVyQ3VycmVudFRyYW5zYWN0aW9uKHJlc3BvbnNlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChyZXNwb25zZS5pc1N1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZShyZXNwb25zZSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZWplY3QocmVzcG9uc2UpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNhdGNoKChyZWFzb246IFZhbGlkYXRpb25SZXN1bHQpID0+IHtcclxuICAgICAgICAgIHJlc29sdmUobnVsbCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVMaW5lT3BlcmF0aW9uU3RhdHVzZXMocmVzcG9uc2U6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBpZiAoIXJlc3BvbnNlLmxpbmVPcGVyYXRpb25TdGF0dXNlcyB8fCByZXNwb25zZS5saW5lT3BlcmF0aW9uU3RhdHVzZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgbGV0IHN1Y2Nlc3M6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IHJlc3BvbnNlLmxpbmVPcGVyYXRpb25TdGF0dXNlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBzdGF0dXM6IExpbmVPcGVyYXRpb25TdGF0dXMgPSByZXNwb25zZS5saW5lT3BlcmF0aW9uU3RhdHVzZXNbaV07XHJcbiAgICAgIGNvbnN0IHRyYW5zTGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbyA9IHJlc3BvbnNlLnRyYW5zYWN0aW9uTGluZXMuZmluZCh0ID0+IHQubGluZU5yID09PSBzdGF0dXMubGluZU5yKTtcclxuICAgICAgc3VjY2VzcyA9IHN1Y2Nlc3MgJiYgYXdhaXQgdGhpcy5faGFuZGxlTGluZU9wZXJhdGlvblN0YXR1cyhzdGF0dXMsIHRyYW5zTGluZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3VjY2VzcztcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3luYyBfcmVtZW1iZXJDdXJyZW50VHJhbnNhY3Rpb24odmFsdWU6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmN1cnJlbnRUcmFuc2FjdGlvbiA9IHZhbHVlO1xyXG4gICAgdGhpcy5fc2V0VHJhbnNhY3Rpb25EZWxpdmVyeU9wdGlvbnMoKTtcclxuICAgIHRoaXMuX3NldEFtb3VudCgpO1xyXG4gICAgdGhpcy5faW5pdGlhbGl6ZVRyYW5zYWN0aW9uKCk7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uVXBkYXRlZC5uZXh0KHRoaXMuY3VycmVudFRyYW5zYWN0aW9uKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2hhbmRsZUxpbmVPcGVyYXRpb25TdGF0dXMob3BlcmF0aW9uU3RhdHVzOiBMaW5lT3BlcmF0aW9uU3RhdHVzLCB0cmFuc2FjdGlvbkxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8pOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHN3aXRjaCAob3BlcmF0aW9uU3RhdHVzLnBlbmRpbmdSZWFzb25UeXBlKSB7XHJcbiAgICAgIGNhc2UgUGVuZGluZ1JlYXNvblR5cGUuQUJPUlRFRDpcclxuICAgICAgY2FzZSBQZW5kaW5nUmVhc29uVHlwZS5DQU5DRUxMRUQ6XHJcbiAgICAgICAgaWYgKG9wZXJhdGlvblN0YXR1cy5wZW5kaW5nUmVhc29uID09PSAnVVNFUl9ERUNJU0lPTicpIHtcclxuICAgICAgICAgIGF3YWl0IHRoaXMuX2NhbmNlbEFydGljbGUob3BlcmF0aW9uU3RhdHVzLnV1aWQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9zaG93UmVhc29uRGlhbG9nKG9wZXJhdGlvblN0YXR1cy5wZW5kaW5nUmVhc29uKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICBjYXNlIFBlbmRpbmdSZWFzb25UeXBlLkNPTkZJUk1BVElPTl9ORUVERUQ6XHJcbiAgICAgICAgYXdhaXQgdGhpcy5fY29uZmlybUFjdGlvbih0cmFuc2FjdGlvbkxpbmUudXVpZCwgb3BlcmF0aW9uU3RhdHVzLnBlbmRpbmdSZWFzb24sIG9wZXJhdGlvblN0YXR1cy5wZW5kaW5nUmVhc29uVHlwZSk7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAvLyBjYXNlIFBlbmRpbmdSZWFzb25UeXBlLklOVkFMSURfTE9HSVNUSUNTOlxyXG4gICAgICAvLyAgIGF3YWl0IHRoaXMuc2hvd1N0b2NrTWFuYWdlcih0aGlzLmN1cnJlbnRQZW5kaW5nTGluZSk7XHJcbiAgICAgIC8vICAgYnJlYWs7XHJcbiAgICAgIC8vIGNhc2UgUGVuZGluZ1JlYXNvblR5cGUuTk9OX0NSSVRJQ0FMX0RJU0NPTlRJTlVBVElPTjpcclxuICAgICAgLy8gICBhd2FpdCB0aGlzLl9zaG93SW5mb3JtYXRpb24oKTtcclxuICAgICAgLy8gICBicmVhaztcclxuICAgICAgLy8gY2FzZSBQZW5kaW5nUmVhc29uVHlwZS5DSEFSQUNURVJJU1RJQ1NfQU5TV0VSX05FRURFRDpcclxuICAgICAgLy8gICB0aGlzLkNoYXJhY3RlcmlzdGljc0Fuc3dlck5lZWRlZCgpO1xyXG4gICAgICAvLyAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFBlbmRpbmdSZWFzb25UeXBlLk5PTkU6XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcmVzb2x2ZVBlbmRpbmdMaW5lUmVhc29uKHBlbmRpbmdMaW5lVmFsdWVzOiBSZXNvbHZlTGluZVBlbmRpbmdSZWFzb25SZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5yZXNvbHZlUGVuZGluZ0xpbmVSZWFzb24ocGVuZGluZ0xpbmVWYWx1ZXMpO1xyXG4gICAgdGhpcy5fcmVtZW1iZXJDdXJyZW50VHJhbnNhY3Rpb24ocmVzcG9uc2UpO1xyXG4gICAgdGhpcy5oYW5kbGVMaW5lT3BlcmF0aW9uU3RhdHVzZXMocmVzcG9uc2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfY29uZmlybUFjdGlvbih1dWlkOiBzdHJpbmcsIHJlYXNvbjogc3RyaW5nLCB0eXBlOiBQZW5kaW5nUmVhc29uVHlwZSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgcmVhc29uUmVxdWVzdCA9IG5ldyBSZXNvbHZlTGluZVBlbmRpbmdSZWFzb25SZXF1ZXN0KHV1aWQsIHJlYXNvbiwgdHlwZSk7XHJcbiAgICAvLyBjb25zdCBwZW5kaW5nUmVhc29uVGV4dDogc3RyaW5nID0gYXdhaXQgdGhpcy5fZ2V0UGVuZGluZ1JlYXNvblRleHQodGhpcy5jdXJyZW50T3BlcmF0aW9uU3RhdHVzLnBlbmRpbmdSZWFzb24pO1xyXG4gICAgcmVhc29uUmVxdWVzdC5jb25maXJtYXRpb24gPSBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2Uuc2hvd1llc05vKCdBY3Rpb24nLCByZWFzb24pO1xyXG4gICAgYXdhaXQgdGhpcy5yZXNvbHZlUGVuZGluZ0xpbmVSZWFzb24ocmVhc29uUmVxdWVzdCk7XHJcbiAgICAvLyB0aGlzLl9oYW5kbGVMaW5lT3BlcmF0aW9uU3RhdHVzKClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX3Nob3dSZWFzb25EaWFsb2cocmVhc29uOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuZGlhbG9nU2VydmljZS5zaG93SW5mb3JtYXRpb24ocmVhc29uKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldFRyYW5zYWN0aW9uRGVsaXZlcnlPcHRpb25zKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmRlbGl2ZXJ5T3B0aW9ucykge1xyXG4gICAgICB0aGlzLmRlbGl2ZXJ5T3B0aW9ucyA9IG5ldyBTZXRUcmFuc2FjdGlvbkRlbGl2ZXJ5T3B0aW9uc1JlcXVlc3QoKTtcclxuICAgIH1cclxuICAgIHRoaXMuZGVsaXZlcnlPcHRpb25zLmFsbG93UGFydGlhbERlbGl2ZXJ5ID0gdGhpcy5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmFsbG93UGFydGlhbERlbGl2ZXJ5O1xyXG4gICAgdGhpcy5kZWxpdmVyeU9wdGlvbnMuZGVsaXZlcnlEYXRlID0gdGhpcy5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmRlbGl2ZXJ5RGF0ZTtcclxuICAgIHRoaXMuZGVsaXZlcnlPcHRpb25zLmRlbGl2ZXJ5TWV0aG9kID0gdGhpcy5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmRlbGl2ZXJ5TWV0aG9kO1xyXG4gICAgdGhpcy5kZWxpdmVyeU9wdGlvbnMuZGVsaXZlcnlPcHRpb25zID0gdGhpcy5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmRlbGl2ZXJ5T3B0aW9ucztcclxuICAgIHRoaXMuZGVsaXZlcnlPcHRpb25zLm1hcmtldGluZ0NvZGUgPSB0aGlzLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ubWFya2V0aW5nQ29kZTtcclxuICAgIHRoaXMuZGVsaXZlcnlPcHRpb25zLm93blJlZmVyZW5jZSA9IHRoaXMuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5vd25SZWZlcmVuY2U7XHJcbiAgICB0aGlzLmRlbGl2ZXJ5T3B0aW9ucy5wcmVmZXJyZWREZWxpdmVyeURhdGUgPSB0aGlzLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ucHJlZmVycmVkRGVsaXZlcnlEYXRlO1xyXG4gICAgdGhpcy5kZWxpdmVyeU9wdGlvbnMucHJlZmVycmVkRGVsaXZlcnlEYXRlMiA9IHRoaXMuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5wcmVmZXJyZWREZWxpdmVyeURhdGUyO1xyXG4gICAgdGhpcy5kZWxpdmVyeU9wdGlvbnMucmVsYXRpb25SZWZlcmVuY2UgPSB0aGlzLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ucmVsYXRpb25SZWZlcmVuY2U7XHJcbiAgICB0aGlzLmRlbGl2ZXJ5T3B0aW9ucy5yZW1hcmsgPSB0aGlzLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ucmVtYXJrO1xyXG4gICAgdGhpcy5kZWxpdmVyeU9wdGlvbnMudHJhbnNhY3Rpb25VdWlkID0gdGhpcy5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnV1aWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRBbW91bnQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50VHJhbnNhY3Rpb24gJiYgdGhpcy5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lcykge1xyXG4gICAgICB0aGlzLmFydGljbGVBbW91bnQgPSB0aGlzLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkxpbmVzLmZpbHRlcih0ID0+IHQubGluZVR5cGUgPT09IFRyYW5zYWN0aW9uTGluZVR5cGUuQXJ0aWNsZUxpbmUpLmxlbmd0aDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2luaXRpYWxpemVUcmFuc2FjdGlvbigpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5yZWxhdGlvbikge1xyXG4gICAgICB0aGlzLnJlbGF0aW9uID0gbmV3IEN1c3RvbWVyRnVsbE9iamVjdCgpO1xyXG4gICAgICB0aGlzLnJlbGF0aW9uLnJlbGF0aW9uU3RhdHVzID0gUmVsYXRpb25TdGF0dXMuUmVndWxhckN1c3RvbWVyO1xyXG4gICAgICB0aGlzLnJlbGF0aW9uLnN0YXJ0RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIHRoaXMuZGVsaXZlcnlPcHRpb25zID0gbmV3IFNldFRyYW5zYWN0aW9uRGVsaXZlcnlPcHRpb25zUmVxdWVzdCgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5wcmVmZXJyZWREZWxpdmVyeURhdGUyID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnByZWZlcnJlZERlbGl2ZXJ5RGF0ZTIgPSBcIj1cIjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2NhbmNlbEFydGljbGUodXVpZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLmNhbmNlbEFkZFRyYW5zYWN0aW9uTGluZSh1dWlkLCBmYWxzZSlcclxuICAgICAgLnRoZW4oKHJlc3BvbnNlOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fcmVtZW1iZXJDdXJyZW50VHJhbnNhY3Rpb24ocmVzcG9uc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICB9XHJcbn1cclxuIl19
|