@colijnit/sharedcomponents 1.0.51 → 1.0.52
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/3rdpartylicenses.txt +1160 -0
- package/bundles/colijnit-sharedcomponents.umd.js +6473 -6394
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
- package/colijnit-sharedcomponents.metadata.json +1 -1
- package/esm2015/lib/components/stock/components/stock-location/stock-location.component.js +43 -37
- package/esm2015/lib/components/stock/stock-tabs/stock-tabs.component.js +62 -62
- package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +6 -10
- package/esm2015/lib/components/stock/stock.component.js +48 -23
- package/esm2015/lib/service/shared-connector.service.js +33 -1
- package/esm2015/lib/service/stock.service.js +11 -1
- package/favicon.ico +0 -0
- package/fesm2015/colijnit-sharedcomponents.js +195 -124
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
- package/index.html +12 -0
- package/lib/components/stock/components/stock-location/stock-location.component.d.ts +9 -7
- package/lib/components/stock/stock-tabs/stock-tabs.component.d.ts +12 -9
- package/lib/components/stock/stock-transfer/stock-transfer.component.d.ts +2 -2
- package/lib/components/stock/stock.component.d.ts +12 -7
- package/lib/service/shared-connector.service.d.ts +5 -0
- package/lib/service/stock.service.d.ts +5 -0
- package/main.170a4a55a0e938c9ae69.js +1 -0
- package/package.json +3 -3
- package/polyfills.907fe9d1887c5de17993.js +1 -0
- package/runtime.8aac21847ed3d3829cca.js +1 -0
- package/styles.2a9423c42b08c088cadb.css +1 -0
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
1
|
import { ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewEncapsulation } from "@angular/core";
|
|
3
2
|
import { IconCacheService } from "../../../../service/icon-cache.service";
|
|
4
3
|
import { Icon } from "../../../../enum/icon.enum";
|
|
@@ -13,24 +12,28 @@ export class StockLocationComponent {
|
|
|
13
12
|
this.icons = Icon;
|
|
14
13
|
this.transferIconClicked = new EventEmitter();
|
|
15
14
|
this.sendMethodDialogClicked = new EventEmitter();
|
|
16
|
-
this.locationAddedOrUpdated = new EventEmitter();
|
|
17
15
|
this.showConfirmationDialog = false;
|
|
18
16
|
this.articleDetailsInformation = new ArticleStockManagement();
|
|
19
17
|
this.stockStatus = [];
|
|
20
18
|
this.selectedArticleDetailsData = new ArticleDetailsBo();
|
|
21
19
|
this._subs = [];
|
|
22
20
|
}
|
|
21
|
+
set article(article) {
|
|
22
|
+
}
|
|
23
|
+
;
|
|
23
24
|
ngOnInit() {
|
|
24
|
-
|
|
25
|
-
this.stockStatus =
|
|
26
|
-
this._subs.push(this._stockService.warehouseSelected.subscribe((selectedWarehouse) => __awaiter(this, void 0, void 0, function* () {
|
|
27
|
-
this.stockLocations = yield this._stockService.getStockManagementLocations(selectedWarehouse.warehouseNo);
|
|
28
|
-
})));
|
|
25
|
+
this._stockService.getStockState().then(result => {
|
|
26
|
+
this.stockStatus = result;
|
|
29
27
|
});
|
|
28
|
+
this._subs.push(this._stockService.warehouseSelected.subscribe(selectedWarehouse => {
|
|
29
|
+
this._stockService.getStockManagementLocations(selectedWarehouse.warehouseNo).then(result => {
|
|
30
|
+
this.stockLocations = result;
|
|
31
|
+
});
|
|
32
|
+
}));
|
|
30
33
|
}
|
|
31
34
|
lockSelectedRow(row) {
|
|
32
|
-
|
|
33
|
-
this.stockLocations =
|
|
35
|
+
this._stockService.getStockManagementLocations(this.selectedWarehouse.warehouseNo).then(result => {
|
|
36
|
+
this.stockLocations = result;
|
|
34
37
|
this.selectedLocationNo = row.locationNo;
|
|
35
38
|
this._stockService.lockArticleDetails(row);
|
|
36
39
|
this.selectedArticleDetailsData = row;
|
|
@@ -55,25 +58,23 @@ export class StockLocationComponent {
|
|
|
55
58
|
this.transferIconClicked.emit(event);
|
|
56
59
|
}
|
|
57
60
|
onOkClickSendLocations() {
|
|
58
|
-
|
|
59
|
-
this.showConfirmationDialog = true;
|
|
60
|
-
});
|
|
61
|
+
this.showConfirmationDialog = true;
|
|
61
62
|
}
|
|
62
63
|
handleOkClick() {
|
|
63
|
-
var _a
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
this.articleDetailsInformation.goodId = (
|
|
64
|
+
var _a;
|
|
65
|
+
this.selectedArticleDetailsData.selected = true;
|
|
66
|
+
this.selectedArticleDetailsData.goodId = this.articleFlat.goodId;
|
|
67
|
+
this.selectedArticleDetailsData.entryDate = new Date();
|
|
68
|
+
this.selectedArticleDetailsData.warehouseNo = this.selectedWarehouse.warehouseNo;
|
|
69
|
+
this.selectedArticleDetailsData.locationNo = (_a = this.selectedLocationNo) === null || _a === void 0 ? void 0 : _a.toString();
|
|
70
|
+
this._stockService.updateArticleDetails(this.selectedArticleDetailsData).then(result => {
|
|
71
|
+
var _a;
|
|
72
|
+
this.articleDetailsInformation.goodId = (_a = this.selectedArticleDetailsData.goodId) === null || _a === void 0 ? void 0 : _a.toString();
|
|
72
73
|
this.articleDetailsInformation.warehouseNumber = this.selectedArticleDetailsData.warehouseNo;
|
|
73
|
-
|
|
74
|
+
this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {
|
|
74
75
|
this.showConfirmationDialog = false;
|
|
75
76
|
this._changeDetector.detectChanges();
|
|
76
|
-
this.
|
|
77
|
+
this.articleStockInfo = details;
|
|
77
78
|
});
|
|
78
79
|
});
|
|
79
80
|
}
|
|
@@ -135,9 +136,10 @@ StockLocationComponent.decorators = [
|
|
|
135
136
|
(keydown.enter)="onOkClickSendLocations()"
|
|
136
137
|
|
|
137
138
|
>
|
|
138
|
-
<co-simple-grid-column [headerText]="'LOCATION' | localize" [field]="'locationNo'">
|
|
139
|
+
<co-simple-grid-column *ngIf="articleFlat?.locationRegistered" [headerText]="'LOCATION' | localize" [field]="'locationNo'">
|
|
139
140
|
<ng-template #editTemplate let-row="row">
|
|
140
|
-
<co-list-of-values
|
|
141
|
+
<co-list-of-values
|
|
142
|
+
[model]="locationForNumber(row['locationNo'])"
|
|
141
143
|
[collection]="stockLocations"
|
|
142
144
|
[displayField]="'description'"
|
|
143
145
|
[label]="'LOCATION' | localize"
|
|
@@ -147,23 +149,25 @@ StockLocationComponent.decorators = [
|
|
|
147
149
|
></co-list-of-values>
|
|
148
150
|
</ng-template>
|
|
149
151
|
</co-simple-grid-column>
|
|
150
|
-
<co-simple-grid-column
|
|
152
|
+
<co-simple-grid-column [headerText]="'BATCH' | localize" [field]="'batchNo'">
|
|
151
153
|
<ng-template #editTemplate let-row="row">
|
|
152
|
-
<co-input-text [
|
|
154
|
+
<co-input-text *ngIf="articleFlat?.batch" [model]="selectedArticleDetailsData.batchNo"
|
|
153
155
|
[placeholder]="'BATCH' | localize"
|
|
156
|
+
(modelChange)="row['batchNo'] = $event"
|
|
154
157
|
></co-input-text>
|
|
155
158
|
</ng-template>
|
|
156
159
|
</co-simple-grid-column>
|
|
157
|
-
<co-simple-grid-column
|
|
160
|
+
<co-simple-grid-column [headerText]="'SERIAL_NO' | localize" [field]="'serialNo'">
|
|
158
161
|
<ng-template #editTemplate let-row="row">
|
|
159
|
-
<co-input-text [
|
|
162
|
+
<co-input-text *ngIf="articleFlat?.serial" [model]="selectedArticleDetailsData.serialNo"
|
|
160
163
|
[placeholder]="'SERIAL_NO' | localize"
|
|
164
|
+
(modelChange)="row['serialNo'] = $event"
|
|
161
165
|
></co-input-text>
|
|
162
166
|
</ng-template>
|
|
163
167
|
</co-simple-grid-column>
|
|
164
168
|
<co-simple-grid-column [headerText]="'STOCK' | localize" [field]="'amountInStock'">
|
|
165
169
|
<ng-template #editTemplate let-row="row">
|
|
166
|
-
<co-input-text [(model)]="row
|
|
170
|
+
<co-input-text [(model)]="row['amountInStock']"
|
|
167
171
|
[label]="'STOCK' | localize"
|
|
168
172
|
(modelChange)="amountInStockChanged($event)"
|
|
169
173
|
></co-input-text>
|
|
@@ -171,27 +175,27 @@ StockLocationComponent.decorators = [
|
|
|
171
175
|
</co-simple-grid-column>
|
|
172
176
|
<co-simple-grid-column [headerText]="'ALLOCATED' | localize" [field]="'stockAssigned'">
|
|
173
177
|
<ng-template #editTemplate let-row="row">
|
|
174
|
-
<span [textContent]="row
|
|
178
|
+
<span [textContent]="row['stockAssigned']"></span>
|
|
175
179
|
</ng-template>
|
|
176
180
|
</co-simple-grid-column>
|
|
177
181
|
<co-simple-grid-column [headerText]="'AVAILABLE_STOCK' | localize" [field]="'amountInStockFree'">
|
|
178
182
|
<ng-template #editTemplate let-row="row">
|
|
179
|
-
<span [textContent]="row
|
|
183
|
+
<span [textContent]="row['amountInStockFree']"></span>
|
|
180
184
|
</ng-template>
|
|
181
185
|
</co-simple-grid-column>
|
|
182
186
|
<co-simple-grid-column [headerText]="'VALUTA' | localize" [field]="'currency'">
|
|
183
187
|
<ng-template #editTemplate let-row="row">
|
|
184
|
-
<span [textContent]="row
|
|
188
|
+
<span [textContent]="row['currency']"></span>
|
|
185
189
|
</ng-template>
|
|
186
190
|
</co-simple-grid-column>
|
|
187
191
|
<co-simple-grid-column [headerText]="'PURCHASE_PRICE' | localize" [field]="'purchasePrice'">
|
|
188
192
|
<ng-template #editTemplate let-row="row">
|
|
189
|
-
<span [textContent]="row
|
|
193
|
+
<span [textContent]="row['purchasePrice']"></span>
|
|
190
194
|
</ng-template>
|
|
191
195
|
</co-simple-grid-column>
|
|
192
196
|
<co-simple-grid-column [headerText]="'SUPPLIERNR' | localize" [field]="'supplierNo'">
|
|
193
197
|
<ng-template #editTemplate let-row="row">
|
|
194
|
-
<span [textContent]="row
|
|
198
|
+
<span [textContent]="row['supplierNo']"></span>
|
|
195
199
|
</ng-template>
|
|
196
200
|
</co-simple-grid-column>
|
|
197
201
|
<co-simple-grid-column [headerText]="'TRANSFER' | localize" [field]="'transfer'">
|
|
@@ -199,12 +203,14 @@ StockLocationComponent.decorators = [
|
|
|
199
203
|
<co-icon class="menu-icon" [iconData]="iconCacheService.getIcon(icons.DeliveryTruck)"
|
|
200
204
|
(click)="handleStockTransferClick(row)"></co-icon>
|
|
201
205
|
</ng-template>
|
|
206
|
+
<ng-template #editTemplate></ng-template>
|
|
202
207
|
</co-simple-grid-column>
|
|
203
208
|
<co-simple-grid-column [headerText]="'STICKER' | localize" [field]="'sticker'">
|
|
204
209
|
<ng-template #template let-row="row">
|
|
205
210
|
<co-icon class="menu-icon" [iconData]="iconCacheService.getIcon(icons.Print)"
|
|
206
211
|
(click)="openSendMethodDialog(row)"></co-icon>
|
|
207
212
|
</ng-template>
|
|
213
|
+
<ng-template #editTemplate></ng-template>
|
|
208
214
|
</co-simple-grid-column>
|
|
209
215
|
</co-simple-grid>
|
|
210
216
|
</div>
|
|
@@ -221,10 +227,10 @@ StockLocationComponent.propDecorators = {
|
|
|
221
227
|
articleStockInfo: [{ type: Input }],
|
|
222
228
|
articleStockInformation: [{ type: Input }],
|
|
223
229
|
article: [{ type: Input }],
|
|
230
|
+
articleFlat: [{ type: Input }],
|
|
224
231
|
dataWareHouseCode: [{ type: Input }],
|
|
225
232
|
transferIconClicked: [{ type: Output }],
|
|
226
233
|
sendMethodDialogClicked: [{ type: Output }],
|
|
227
|
-
locationAddedOrUpdated: [{ type: Output }],
|
|
228
234
|
selectedWarehouse: [{ type: Input }]
|
|
229
235
|
};
|
|
230
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stbG9jYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svY29tcG9uZW50cy9zdG9jay1sb2NhdGlvbi9zdG9jay1sb2NhdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFbkgsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2hELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUcvRCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNqRyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQXlIckYsTUFBTSxPQUFPLHNCQUFzQjtJQTJDakMsWUFDUyxnQkFBa0MsRUFDakMsYUFBMkIsRUFDM0IsZUFBa0M7UUFGbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQixvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUE3QzVCLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBZ0IxQix3QkFBbUIsR0FBaUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd2RSw0QkFBdUIsR0FBcUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUcvRSwyQkFBc0IsR0FBcUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVF2RiwyQkFBc0IsR0FBVyxLQUFLLENBQUM7UUFHdkMsOEJBQXlCLEdBQTJCLElBQUks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LGNBQWMsMENBQUUsSUFBSSxDQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsTUFBSyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsUUFBUSxFQUFFLENBQUEsQ0FBQyxDQUFDO0lBQzVGLENBQUM7OztZQW5QRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThHVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBOUhPLGdCQUFnQjtZQUVoQixZQUFZO1lBSlosaUJBQWlCOzs7K0JBb0l0QixLQUFLO3NDQUdMLEtBQUs7c0JBR0wsS0FBSztnQ0FJTCxLQUFLO2tDQUdMLE1BQU07c0NBR04sTUFBTTtxQ0FHTixNQUFNO2dDQUlOLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtBcnRpY2xlU3RvY2sgYXMgQXJ0aWNsZVN0b2NrQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLmJvXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uLy4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7U3RvY2tTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZS9zdG9jay5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlc30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLW1hbmFnZW1lbnQtd2FyZWhvdXNlcy5ib1wiO1xyXG5pbXBvcnQge0NvRHJvcERvd25MaXN0RmllbGRzfSBmcm9tIFwiLi4vLi4vc3RvY2stdHJhbnNmZXIvY28tZHJvcC1kb3duLWxpc3QtZmllbGRzLmludGVyZmFjZVwiO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja01hbmFnZW1lbnR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLW1hbmFnZW1lbnRcIjtcclxuaW1wb3J0IHtBcnRpY2xlRGV0YWlsc0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1kZXRhaWxzLmJvXCI7XHJcbmltcG9ydCB7U3RvY2tMb2NhdGlvbn0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWxvY2F0aW9uLmJvXCI7XHJcbmltcG9ydCB7UHJpbnRQcmljZVN0aWNrZXJzfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9tb2RlbC9wcmludC1wcmljZS1zdGlja2Vycy5ib1wiO1xyXG5pbXBvcnQge1N0b2NrU3RhdHVzfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stc3RhdHVzLmJvXCI7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tc3RvY2stbG9jYXRpb25cIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInN0b2NrLWdyaWRcIj5cclxuICAgICAgPGNvLWRpYWxvZyAqbmdJZj1cInNob3dDb25maXJtYXRpb25EaWFsb2dcIiBbc2hvd0Nsb3NlSWNvbl09XCJ0cnVlXCIgW21vZGFsXT1cInRydWVcIiBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVGVtcGxhdGU+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidDT05GSVJNX1NUT0NLX0NIQU5HRScgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tbGlzdC1vZi12YWx1ZXMgW2xhYmVsXT1cIidTVEFUVVMnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJzdGF0dXNGb3JJZChzZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5zdG9ja1N0YXRlSWQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJzdG9ja1N0YXR1c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlGaWVsZF09XCInc3RhdGVEZXNjcmlwdGlvbidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVTdG9ja1N0YXR1c0NoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgID48L2NvLWxpc3Qtb2YtdmFsdWVzPlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHQgW3BsYWNlaG9sZGVyXT1cIidSRU1BUksnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZVN0b2NrU3RhdHVzUmVtYXJrQ2hhbmdlKCRldmVudClcIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24td3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8Y28tYnV0dG9uIChjbGljayk9XCJoYW5kbGVPa0NsaWNrKClcIiBbbGFiZWxdPVwiJ09LJ3wgbG9jYWxpemVcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2FuY2VsLWJ1dHRvblwiIChjbGljayk9XCJzaG93Q29uZmlybWF0aW9uRGlhbG9nID0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQ0FOQ0VMJ3wgbG9jYWxpemUgXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2NvLWRpYWxvZz5cclxuICAgICAgPGNvLXNpbXBsZS1ncmlkIFtkYXRhXT1cImFydGljbGVTdG9ja0luZm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzaW1wbGUtZ3JpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbcm93c1BlclBhZ2VdPVwiMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3Nob3dBZGRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbaW5saW5lRWRpdF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChkYmxDbGlja1Jvdyk9XCJsb2NrU2VsZWN0ZWRSb3coJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbc2hvd1Rvb2xiYXJdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbk9rQ2xpY2tTZW5kTG9jYXRpb25zKClcIlxyXG5cclxuICAgICAgPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0xPQ0FUSU9OJyB8IGxvY2FsaXplXCIgW2ZpZWxkXT1cIidsb2NhdGlvbk5vJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8Y28tbGlzdC1vZi12YWx1ZXMgW21vZGVsXT1cImxvY2F0aW9uRm9yTnVtYmVyKHJvd1snbG9jYXRpb25ObyddKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJzdG9ja0xvY2F0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzcGxheUZpZWxkXT1cIidkZXNjcmlwdGlvbidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidMT0NBVElPTicgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Mb2NhdGlvbkRyb3Bkb3duQ2xpY2soKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwibG9jYXRpb25DaGFuZ2VkKHJvdywgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID48L2NvLWxpc3Qtb2YtdmFsdWVzPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uICpuZ0lmPVwiYXJ0aWNsZURldGFpbHNcIiBbaGVhZGVyVGV4dF09XCInQkFUQ0gnIHwgbG9jYWxpemVcIiBbZmllbGRdPVwiJ2JhdGNoTm8nXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2VkaXRUZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInJvdy5iYXRjaE5vXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidCQVRDSCcgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gKm5nSWY9XCJhcnRpY2xlRGV0YWlsc1wiIFtoZWFkZXJUZXh0XT1cIidTRVJJQUxfTk8nIHwgbG9jYWxpemVcIiBbZmllbGRdPVwiJ3NlcmlhbE5vJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJyb3cuc2VyaWFsTm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NFUklBTF9OTycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NUT0NLJyB8IGxvY2FsaXplXCIgW2ZpZWxkXT1cIidhbW91bnRJblN0b2NrJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJyb3cuYW1vdW50SW5TdG9ja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInU1RPQ0snIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiYW1vdW50SW5TdG9ja0NoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0FMTE9DQVRFRCcgfCBsb2NhbGl6ZVwiIFtmaWVsZF09XCInc3RvY2tBc3NpZ25lZCdcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdFRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInJvdy5zdG9ja0Fzc2lnbmVkXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidBVkFJTEFCTEVfU1RPQ0snIHwgbG9jYWxpemVcIiBbZmllbGRdPVwiJ2Ftb3VudEluU3RvY2tGcmVlJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicm93LmFtb3VudEluU3RvY2tGcmVlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidWQUxVVEEnIHwgbG9jYWxpemVcIiBbZmllbGRdPVwiJ2N1cnJlbmN5J1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicm93LmN1cnJlbmN5XCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidQVVJDSEFTRV9QUklDRScgfCBsb2NhbGl6ZVwiIFtmaWVsZF09XCIncHVyY2hhc2VQcmljZSdcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdFRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInJvdy5wdXJjaGFzZVByaWNlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidTVVBQTElFUk5SJyB8IGxvY2FsaXplXCIgW2ZpZWxkXT1cIidzdXBwbGllck5vJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicm93LnN1cHBsaWVyTm9cIj48L3NwYW4+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1RSQU5TRkVSJyB8IGxvY2FsaXplXCIgW2ZpZWxkXT1cIid0cmFuc2ZlcidcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cIm1lbnUtaWNvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuRGVsaXZlcnlUcnVjaylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlU3RvY2tUcmFuc2ZlckNsaWNrKHJvdylcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NUSUNLRVInIHwgbG9jYWxpemVcIiBbZmllbGRdPVwiJ3N0aWNrZXInXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJtZW51LWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlByaW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuU2VuZE1ldGhvZERpYWxvZyhyb3cpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgPC9jby1zaW1wbGUtZ3JpZD5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvY2tMb2NhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGVTdG9ja0luZm86IEFydGljbGVEZXRhaWxzQm9bXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZVN0b2NrSW5mb3JtYXRpb246IEFydGljbGVTdG9ja0JvW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGU6IGFueTtcclxuXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRhdGFXYXJlSG91c2VDb2RlOiBTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzW107XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2Zlckljb25DbGlja2VkOiBFdmVudEVtaXR0ZXI8QXJ0aWNsZVN0b2NrQm8+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgc2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQ6IEV2ZW50RW1pdHRlcjxQcmludFByaWNlU3RpY2tlcnM+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgbG9jYXRpb25BZGRlZE9yVXBkYXRlZDogRXZlbnRFbWl0dGVyPEFydGljbGVEZXRhaWxzQm9bXT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZFdhcmVob3VzZTogU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcztcclxuXHJcblxyXG4gIHB1YmxpYyBhcnRpY2xlRGV0YWlsczogQXJ0aWNsZURldGFpbHNCb1tdO1xyXG4gIHB1YmxpYyBzaG93Q29uZmlybWF0aW9uRGlhbG9nOmJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG4gIHB1YmxpYyBhcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uOiBBcnRpY2xlU3RvY2tNYW5hZ2VtZW50ID0gbmV3IEFydGljbGVTdG9ja01hbmFnZW1lbnQoKVxyXG4gIHB1YmxpYyBzdG9ja0xvY2F0aW9uczogU3RvY2tMb2NhdGlvbltdO1xyXG5cclxuICBwdWJsaWMgc3RvY2tTdGF0dXM6IFN0b2NrU3RhdHVzW10gPSBbXTtcclxuICBwdWJsaWMgc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGE6IEFydGljbGVEZXRhaWxzQm8gPSBuZXcgQXJ0aWNsZURldGFpbHNCbygpO1xyXG5cclxuICBwdWJsaWMgc2VsZWN0ZWRMb2NhdGlvbk5vOiBzdHJpbmc7XHJcblxyXG4gIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3N0b2NrU2VydmljZTogU3RvY2tTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG5cclxuICApIHtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG5cclxuICAgIHRoaXMuc3RvY2tTdGF0dXMgPSBhd2FpdCB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tTdGF0ZSgpO1xyXG4gICAgdGhpcy5fc3Vicy5wdXNoKCB0aGlzLl9zdG9ja1NlcnZpY2Uud2FyZWhvdXNlU2VsZWN0ZWQuc3Vic2NyaWJlKCBhc3luYyBzZWxlY3RlZFdhcmVob3VzZSA9PiB7XHJcbiAgICAgIHRoaXMuc3RvY2tMb2NhdGlvbnMgPSBhd2FpdCB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tNYW5hZ2VtZW50TG9jYXRpb25zKHNlbGVjdGVkV2FyZWhvdXNlLndhcmVob3VzZU5vKTtcclxuICAgIH0pKTtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgbG9ja1NlbGVjdGVkUm93KHJvdyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5zdG9ja0xvY2F0aW9ucyA9IGF3YWl0IHRoaXMuX3N0b2NrU2VydmljZS5nZXRTdG9ja01hbmFnZW1lbnRMb2NhdGlvbnModGhpcy5zZWxlY3RlZFdhcmVob3VzZS53YXJlaG91c2VObyk7XHJcbiAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb25ObyA9IHJvdy5sb2NhdGlvbk5vO1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmxvY2tBcnRpY2xlRGV0YWlscyhyb3cpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YSA9IHJvdztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkxvY2F0aW9uRHJvcGRvd25DbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRTdG9ja01hbmFnZW1lbnRMb2NhdGlvbnModGhpcy5zZWxlY3RlZFdhcmVob3VzZS53YXJlaG91c2VObykudGhlbigobG9jYXRpb25zKSA9PiB7XHJcbiAgICAgIHRoaXMuc3RvY2tMb2NhdGlvbnMgPSBsb2NhdGlvbnM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2NhdGlvbkNoYW5nZWQocm93OiBBcnRpY2xlRGV0YWlsc0JvLCBldmVudDogU3RvY2tMb2NhdGlvbik6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZExvY2F0aW9uTm8gPSBldmVudC5sb2NhdGlvbk5vO1xyXG4gICAgcm93LmxvY2F0aW9uTm8gPSBldmVudC5sb2NhdGlvbk5vO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFtb3VudEluU3RvY2tDaGFuZ2VkKGRhdGEpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuYW1vdW50SW5TdG9jayA9IGRhdGE7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlblNlbmRNZXRob2REaWFsb2coZGF0YSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZW5kTWV0aG9kRGlhbG9nQ2xpY2tlZC5lbWl0KGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVN0b2NrVHJhbnNmZXJDbGljayhldmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2Zlckljb25DbGlja2VkLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuICBwdWJsaWMgYXN5bmMgb25Pa0NsaWNrU2VuZExvY2F0aW9ucygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuc2hvd0NvbmZpcm1hdGlvbkRpYWxvZyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlT2tDbGljaygpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5nb29kSWQgPSB0aGlzLmFydGljbGUuZ29vZElkO1xyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5lbnRyeURhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS53YXJlaG91c2VObyA9IHRoaXMuc2VsZWN0ZWRXYXJlaG91c2Uud2FyZWhvdXNlTm87XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmxvY2F0aW9uTm8gPSB0aGlzLnNlbGVjdGVkTG9jYXRpb25Obz8udG9TdHJpbmcoKTtcclxuICAgIGF3YWl0IHRoaXMuX3N0b2NrU2VydmljZS51cGRhdGVBcnRpY2xlRGV0YWlscyh0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhKTtcclxuICAgIHRoaXMuYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbi5nb29kSWQgPSB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmdvb2RJZD8udG9TdHJpbmcoKTtcclxuICAgIHRoaXMuYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbi53YXJlaG91c2VOdW1iZXIgPSB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLndhcmVob3VzZU5vO1xyXG4gICAgYXdhaXQgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldEFydGljbGVEZXRhaWxzKHRoaXMuYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbikudGhlbigoZGV0YWlscykgPT4ge1xyXG4gICAgICB0aGlzLnNob3dDb25maXJtYXRpb25EaWFsb2cgPSBmYWxzZTtcclxuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB0aGlzLmxvY2F0aW9uQWRkZWRPclVwZGF0ZWQuZW1pdChkZXRhaWxzKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVN0b2NrU3RhdHVzQ2hhbmdlKHN0YXR1czogU3RvY2tTdGF0dXMpIHtcclxuICAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLnN0b2NrU3RhdGVJZCA9IHN0YXR1cy5zdG9ja1N0YXRlSWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU3RvY2tTdGF0dXNSZW1hcmtDaGFuZ2UocmVtYXJrOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuc3RvY2tTdGF0ZVJlbWFyayA9IHJlbWFyaztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkaXNhYmxlZCgpIHtcclxuICAgIHJldHVybiAoIXRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGE/LnN0b2NrU3RhdGVJZCAmJiB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhPy5zdG9ja1N0YXRlUmVtYXJrPy5sZW5ndGggPD0gMSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIHN0YXR1c0ZvcklkKGlkOiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b2NrU3RhdHVzLmZpbmQoIHN0YXR1cyA9PiBzdGF0dXMuc3RvY2tTdGF0ZUlkID09PSBpZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9jYXRpb25Gb3JOdW1iZXIobnVtYmVyOiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b2NrTG9jYXRpb25zPy5maW5kKCBsb2NhdGlvbiA9PiBsb2NhdGlvbi5sb2NhdGlvbk5vID09PSBudW1iZXI/LnRvU3RyaW5nKCkpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
236
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stbG9jYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svY29tcG9uZW50cy9zdG9jay1sb2NhdGlvbi9zdG9jay1sb2NhdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVuSCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDaEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRS9ELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ2pHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBZ0lyRixNQUFNLE9BQU8sc0JBQXNCO0lBNENqQyxZQUNTLGdCQUFrQyxFQUNqQyxhQUEyQixFQUMzQixlQUFrQztRQUZuQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2pDLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQzNCLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQTlDNUIsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFxQjFCLHdCQUFtQixHQUFpQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3ZFLDRCQUF1QixHQUFxQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBT3hGLDJCQUFzQixHQUFXLEtBQUssQ0FBQztRQUd2Qyw4QkFBeUIsR0FBMkIsSUFBSSxzQkFBc0IsRUFBRSxDQUFBO1FBR2hGLGdCQUFXLEdBQWtCLEVBQUUs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R00sV0FBVyxDQUFDLEVBQVU7UUFDM0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBRSxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVNLGlCQUFpQixDQUFDLE1BQWM7O1FBQ3JDLE9BQU8sTUFBQSxJQUFJLENBQUMsY0FBYywwQ0FBRSxJQUFJLENBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxNQUFLLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxRQUFRLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFDNUYsQ0FBQzs7O1lBbFFGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtSFQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQXBJTyxnQkFBZ0I7WUFFaEIsWUFBWTtZQUpaLGlCQUFpQjs7OytCQTBJdEIsS0FBSztzQ0FHTCxLQUFLO3NCQUdMLEtBQUs7MEJBS0wsS0FBSztnQ0FJTCxLQUFLO2tDQUdMLE1BQU07c0NBR04sTUFBTTtnQ0FHTixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrIGFzIEFydGljbGVTdG9ja0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jay5ib1wiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi8uLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge1N0b2NrU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uL3NlcnZpY2Uvc3RvY2suc2VydmljZVwiO1xyXG5pbXBvcnQge1N0b2NrTWFuYWdlbWVudFdhcmVob3VzZXN9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1tYW5hZ2VtZW50LXdhcmVob3VzZXMuYm9cIjtcclxuaW1wb3J0IHtBcnRpY2xlU3RvY2tNYW5hZ2VtZW50fSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jay1tYW5hZ2VtZW50XCI7XHJcbmltcG9ydCB7QXJ0aWNsZURldGFpbHNCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZGV0YWlscy5ib1wiO1xyXG5pbXBvcnQge1N0b2NrTG9jYXRpb259IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1sb2NhdGlvbi5ib1wiO1xyXG5pbXBvcnQge1ByaW50UHJpY2VTdGlja2Vyc30gZnJvbSBcIkBjb2xpam5pdC9zaGFyZWRhcGkvYnVpbGQvbW9kZWwvcHJpbnQtcHJpY2Utc3RpY2tlcnMuYm9cIjtcclxuaW1wb3J0IHtTdG9ja1N0YXR1c30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLXN0YXR1cy5ib1wiO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWV4dGVuZGVkLmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZUZsYXR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWZsYXQuYm9cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXN0b2NrLWxvY2F0aW9uXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJzdG9jay1ncmlkXCI+XHJcbiAgICAgIDxjby1kaWFsb2cgKm5nSWY9XCJzaG93Q29uZmlybWF0aW9uRGlhbG9nXCIgW3Nob3dDbG9zZUljb25dPVwidHJ1ZVwiIFttb2RhbF09XCJ0cnVlXCIgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInQ09ORklSTV9TVE9DS19DSEFOR0UnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLWxpc3Qtb2YtdmFsdWVzIFtsYWJlbF09XCInU1RBVFVTJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwic3RhdHVzRm9ySWQoc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuc3RvY2tTdGF0ZUlkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwic3RvY2tTdGF0dXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5RmllbGRdPVwiJ3N0YXRlRGVzY3JpcHRpb24nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlU3RvY2tTdGF0dXNDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICA+PC9jby1saXN0LW9mLXZhbHVlcz5cclxuICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFtwbGFjZWhvbGRlcl09XCInUkVNQVJLJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVTdG9ja1N0YXR1c1JlbWFya0NoYW5nZSgkZXZlbnQpXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGNvLWJ1dHRvbiAoY2xpY2spPVwiaGFuZGxlT2tDbGljaygpXCIgW2xhYmVsXT1cIidPSyd8IGxvY2FsaXplXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNhbmNlbC1idXR0b25cIiAoY2xpY2spPVwic2hvd0NvbmZpcm1hdGlvbkRpYWxvZyA9IGZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0NBTkNFTCd8IGxvY2FsaXplIFwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9jby1kaWFsb2c+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZCBbZGF0YV09XCJhcnRpY2xlU3RvY2tJbmZvXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2ltcGxlLWdyaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3Jvd3NQZXJQYWdlXT1cIjIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtzaG93QWRkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2lubGluZUVkaXRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoZGJsQ2xpY2tSb3cpPVwibG9ja1NlbGVjdGVkUm93KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3Nob3dUb29sYmFyXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25Pa0NsaWNrU2VuZExvY2F0aW9ucygpXCJcclxuXHJcbiAgICAgID5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uICpuZ0lmPVwiYXJ0aWNsZUZsYXQ/LmxvY2F0aW9uUmVnaXN0ZXJlZFwiIFtoZWFkZXJUZXh0XT1cIidMT0NBVElPTicgfCBsb2NhbGl6ZVwiIFtmaWVsZF09XCInbG9jYXRpb25ObydcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdFRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGNvLWxpc3Qtb2YtdmFsdWVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwibG9jYXRpb25Gb3JOdW1iZXIocm93Wydsb2NhdGlvbk5vJ10pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInN0b2NrTG9jYXRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5RmllbGRdPVwiJ2Rlc2NyaXB0aW9uJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0xPQ0FUSU9OJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkxvY2F0aW9uRHJvcGRvd25DbGljaygpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJsb2NhdGlvbkNoYW5nZWQocm93LCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgPjwvY28tbGlzdC1vZi12YWx1ZXM+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0JBVENIJyB8IGxvY2FsaXplXCIgW2ZpZWxkXT1cIidiYXRjaE5vJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCAqbmdJZj1cImFydGljbGVGbGF0Py5iYXRjaFwiIFttb2RlbF09XCJzZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5iYXRjaE5vXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidCQVRDSCcgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJyb3dbJ2JhdGNoTm8nXSA9ICRldmVudFwiXHJcbiAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NFUklBTF9OTycgfCBsb2NhbGl6ZVwiIFtmaWVsZF09XCInc2VyaWFsTm8nXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2VkaXRUZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0ICpuZ0lmPVwiYXJ0aWNsZUZsYXQ/LnNlcmlhbFwiIFttb2RlbF09XCJzZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5zZXJpYWxOb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU0VSSUFMX05PJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cInJvd1snc2VyaWFsTm8nXSA9ICRldmVudFwiXHJcbiAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NUT0NLJyB8IGxvY2FsaXplXCIgW2ZpZWxkXT1cIidhbW91bnRJblN0b2NrJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJyb3dbJ2Ftb3VudEluU3RvY2snXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInU1RPQ0snIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiYW1vdW50SW5TdG9ja0NoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0FMTE9DQVRFRCcgfCBsb2NhbGl6ZVwiIFtmaWVsZF09XCInc3RvY2tBc3NpZ25lZCdcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdFRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInJvd1snc3RvY2tBc3NpZ25lZCddXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidBVkFJTEFCTEVfU1RPQ0snIHwgbG9jYWxpemVcIiBbZmllbGRdPVwiJ2Ftb3VudEluU3RvY2tGcmVlJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicm93WydhbW91bnRJblN0b2NrRnJlZSddXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidWQUxVVEEnIHwgbG9jYWxpemVcIiBbZmllbGRdPVwiJ2N1cnJlbmN5J1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicm93WydjdXJyZW5jeSddXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidQVVJDSEFTRV9QUklDRScgfCBsb2NhbGl6ZVwiIFtmaWVsZF09XCIncHVyY2hhc2VQcmljZSdcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdFRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInJvd1sncHVyY2hhc2VQcmljZSddXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidTVVBQTElFUk5SJyB8IGxvY2FsaXplXCIgW2ZpZWxkXT1cIidzdXBwbGllck5vJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicm93WydzdXBwbGllck5vJ11cIj48L3NwYW4+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1RSQU5TRkVSJyB8IGxvY2FsaXplXCIgW2ZpZWxkXT1cIid0cmFuc2ZlcidcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cIm1lbnUtaWNvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuRGVsaXZlcnlUcnVjaylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlU3RvY2tUcmFuc2ZlckNsaWNrKHJvdylcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGU+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidTVElDS0VSJyB8IGxvY2FsaXplXCIgW2ZpZWxkXT1cIidzdGlja2VyJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwibWVudS1pY29uXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5QcmludClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlblNlbmRNZXRob2REaWFsb2cocm93KVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2VkaXRUZW1wbGF0ZT48L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICA8L2NvLXNpbXBsZS1ncmlkPlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9ja0xvY2F0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZVN0b2NrSW5mbzogQXJ0aWNsZURldGFpbHNCb1tdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlU3RvY2tJbmZvcm1hdGlvbjogQXJ0aWNsZVN0b2NrQm9bXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGFydGljbGUoYXJ0aWNsZTogQXJ0aWNsZUV4dGVuZGVkKSB7XHJcblxyXG4gIH07XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGVGbGF0OiBBcnRpY2xlRmxhdDtcclxuXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRhdGFXYXJlSG91c2VDb2RlOiBTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzW107XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2Zlckljb25DbGlja2VkOiBFdmVudEVtaXR0ZXI8QXJ0aWNsZVN0b2NrQm8+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgc2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQ6IEV2ZW50RW1pdHRlcjxQcmludFByaWNlU3RpY2tlcnM+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZFdhcmVob3VzZTogU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcztcclxuXHJcblxyXG4gIHB1YmxpYyBhcnRpY2xlRGV0YWlsczogQXJ0aWNsZURldGFpbHNCbztcclxuICBwdWJsaWMgc2hvd0NvbmZpcm1hdGlvbkRpYWxvZzpib29sZWFuID0gZmFsc2U7XHJcblxyXG5cclxuICBwdWJsaWMgYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbjogQXJ0aWNsZVN0b2NrTWFuYWdlbWVudCA9IG5ldyBBcnRpY2xlU3RvY2tNYW5hZ2VtZW50KClcclxuICBwdWJsaWMgc3RvY2tMb2NhdGlvbnM6IFN0b2NrTG9jYXRpb25bXTtcclxuXHJcbiAgcHVibGljIHN0b2NrU3RhdHVzOiBTdG9ja1N0YXR1c1tdID0gW107XHJcbiAgcHVibGljIHNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhOiBBcnRpY2xlRGV0YWlsc0JvID0gbmV3IEFydGljbGVEZXRhaWxzQm8oKTtcclxuXHJcbiAgcHVibGljIHNlbGVjdGVkTG9jYXRpb25Obzogc3RyaW5nO1xyXG5cclxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zdG9ja1NlcnZpY2U6IFN0b2NrU2VydmljZSxcclxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tTdGF0ZSgpLnRoZW4oIHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMuc3RvY2tTdGF0dXMgPSByZXN1bHQ7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3N1YnMucHVzaCggdGhpcy5fc3RvY2tTZXJ2aWNlLndhcmVob3VzZVNlbGVjdGVkLnN1YnNjcmliZSggIHNlbGVjdGVkV2FyZWhvdXNlID0+IHtcclxuICAgICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldFN0b2NrTWFuYWdlbWVudExvY2F0aW9ucyhzZWxlY3RlZFdhcmVob3VzZS53YXJlaG91c2VObykudGhlbiggcmVzdWx0ID0+IHtcclxuICAgICAgICB0aGlzLnN0b2NrTG9jYXRpb25zID0gcmVzdWx0O1xyXG4gICAgICB9KTtcclxuICAgIH0pKTtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9ja1NlbGVjdGVkUm93KHJvdyk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldFN0b2NrTWFuYWdlbWVudExvY2F0aW9ucyh0aGlzLnNlbGVjdGVkV2FyZWhvdXNlLndhcmVob3VzZU5vKS50aGVuKCByZXN1bHQgPT4ge1xyXG4gICAgICB0aGlzLnN0b2NrTG9jYXRpb25zID0gcmVzdWx0O1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb25ObyA9IHJvdy5sb2NhdGlvbk5vO1xyXG4gICAgICB0aGlzLl9zdG9ja1NlcnZpY2UubG9ja0FydGljbGVEZXRhaWxzKHJvdyk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEgPSByb3c7XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25Mb2NhdGlvbkRyb3Bkb3duQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tNYW5hZ2VtZW50TG9jYXRpb25zKHRoaXMuc2VsZWN0ZWRXYXJlaG91c2Uud2FyZWhvdXNlTm8pLnRoZW4oKGxvY2F0aW9ucykgPT4ge1xyXG4gICAgICB0aGlzLnN0b2NrTG9jYXRpb25zID0gbG9jYXRpb25zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9jYXRpb25DaGFuZ2VkKHJvdzogQXJ0aWNsZURldGFpbHNCbywgZXZlbnQ6IFN0b2NrTG9jYXRpb24pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbk5vID0gZXZlbnQubG9jYXRpb25ObztcclxuICAgIHJvdy5sb2NhdGlvbk5vID0gZXZlbnQubG9jYXRpb25ObztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhbW91bnRJblN0b2NrQ2hhbmdlZChkYXRhKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmFtb3VudEluU3RvY2sgPSBkYXRhO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW5TZW5kTWV0aG9kRGlhbG9nKGRhdGEpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQuZW1pdChkYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTdG9ja1RyYW5zZmVyQ2xpY2soZXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNmZXJJY29uQ2xpY2tlZC5lbWl0KGV2ZW50KTtcclxuICB9XHJcbiAgcHVibGljIG9uT2tDbGlja1NlbmRMb2NhdGlvbnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dDb25maXJtYXRpb25EaWFsb2cgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZU9rQ2xpY2soKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuZ29vZElkID0gdGhpcy5hcnRpY2xlRmxhdC5nb29kSWQ7XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmVudHJ5RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLndhcmVob3VzZU5vID0gdGhpcy5zZWxlY3RlZFdhcmVob3VzZS53YXJlaG91c2VObztcclxuICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEubG9jYXRpb25ObyA9IHRoaXMuc2VsZWN0ZWRMb2NhdGlvbk5vPy50b1N0cmluZygpO1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLnVwZGF0ZUFydGljbGVEZXRhaWxzKHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEpLnRoZW4oIHJlc3VsdCA9PiB7XHJcblxyXG4gICAgICB0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24uZ29vZElkID0gdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5nb29kSWQ/LnRvU3RyaW5nKCk7XHJcbiAgICAgIHRoaXMuYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbi53YXJlaG91c2VOdW1iZXIgPSB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLndhcmVob3VzZU5vO1xyXG4gICAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0QXJ0aWNsZURldGFpbHModGhpcy5hcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uKS50aGVuKChkZXRhaWxzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zaG93Q29uZmlybWF0aW9uRGlhbG9nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIHRoaXMuYXJ0aWNsZVN0b2NrSW5mbyA9IGRldGFpbHM7XHJcbiAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVN0b2NrU3RhdHVzQ2hhbmdlKHN0YXR1czogU3RvY2tTdGF0dXMpIHtcclxuICAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLnN0b2NrU3RhdGVJZCA9IHN0YXR1cy5zdG9ja1N0YXRlSWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU3RvY2tTdGF0dXNSZW1hcmtDaGFuZ2UocmVtYXJrOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuc3RvY2tTdGF0ZVJlbWFyayA9IHJlbWFyaztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkaXNhYmxlZCgpIHtcclxuICAgIHJldHVybiAoIXRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGE/LnN0b2NrU3RhdGVJZCAmJiB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhPy5zdG9ja1N0YXRlUmVtYXJrPy5sZW5ndGggPD0gMSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIHN0YXR1c0ZvcklkKGlkOiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b2NrU3RhdHVzLmZpbmQoIHN0YXR1cyA9PiBzdGF0dXMuc3RvY2tTdGF0ZUlkID09PSBpZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9jYXRpb25Gb3JOdW1iZXIobnVtYmVyOiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b2NrTG9jYXRpb25zPy5maW5kKCBsb2NhdGlvbiA9PiBsb2NhdGlvbi5sb2NhdGlvbk5vID09PSBudW1iZXI/LnRvU3RyaW5nKCkpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
1
|
import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
3
2
|
import { Icon } from "../../../enum/icon.enum";
|
|
4
3
|
import { GetStockHistoryRequest } from "@colijnit/articleapi/build/model/get-stock-history-request";
|
|
@@ -43,78 +42,78 @@ export class StockTabsComponent {
|
|
|
43
42
|
this.handleWarehouseSelected(this.selectedWarehouse);
|
|
44
43
|
}
|
|
45
44
|
getStockHistory() {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
this.stockHistory =
|
|
52
|
-
}
|
|
53
|
-
}
|
|
45
|
+
if (!this.stockHistory) {
|
|
46
|
+
const stockHistoryInformation = new GetStockHistoryRequest();
|
|
47
|
+
stockHistoryInformation.type = "V";
|
|
48
|
+
stockHistoryInformation.goodId = this.article.goodId.toString();
|
|
49
|
+
this._stockService.getStockHistory(stockHistoryInformation).then(result => {
|
|
50
|
+
this.stockHistory = result;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
54
53
|
}
|
|
55
54
|
getOrderSupplyStockHistory() {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
this.orderSupplyStockHistory =
|
|
62
|
-
}
|
|
63
|
-
}
|
|
55
|
+
if (!this.orderSupplyStockHistory) {
|
|
56
|
+
const stockHistoryInformation = new GetStockHistoryRequest();
|
|
57
|
+
stockHistoryInformation.type = "O";
|
|
58
|
+
stockHistoryInformation.goodId = this.article.goodId.toString();
|
|
59
|
+
this._stockService.getStockHistory(stockHistoryInformation).then(result => {
|
|
60
|
+
this.orderSupplyStockHistory = result;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
64
63
|
}
|
|
65
64
|
getOrderCommissionStockHistory() {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
this.orderCommissionStockHistory =
|
|
72
|
-
}
|
|
73
|
-
}
|
|
65
|
+
if (!this.orderCommissionStockHistory) {
|
|
66
|
+
const stockHistoryInformation = new GetStockHistoryRequest();
|
|
67
|
+
stockHistoryInformation.type = "C";
|
|
68
|
+
stockHistoryInformation.goodId = this.article.goodId.toString();
|
|
69
|
+
this._stockService.getStockHistory(stockHistoryInformation).then(result => {
|
|
70
|
+
this.orderCommissionStockHistory = result;
|
|
71
|
+
});
|
|
72
|
+
}
|
|
74
73
|
}
|
|
75
74
|
getOrderStockHistory() {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
this.orderStockHistory =
|
|
82
|
-
}
|
|
83
|
-
}
|
|
75
|
+
if (!this.orderStockHistory) {
|
|
76
|
+
const stockHistoryInformation = new GetStockHistoryRequest();
|
|
77
|
+
stockHistoryInformation.type = "B";
|
|
78
|
+
stockHistoryInformation.goodId = this.article.goodId.toString();
|
|
79
|
+
this._stockService.getStockHistory(stockHistoryInformation).then(result => {
|
|
80
|
+
this.orderStockHistory = result;
|
|
81
|
+
});
|
|
82
|
+
}
|
|
84
83
|
}
|
|
85
84
|
getAllocationStockHistory() {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
this.orderAllocationStockHistory =
|
|
92
|
-
}
|
|
93
|
-
}
|
|
85
|
+
if (!this.orderAllocationStockHistory) {
|
|
86
|
+
const stockHistoryInformation = new GetStockHistoryRequest();
|
|
87
|
+
stockHistoryInformation.type = "T";
|
|
88
|
+
stockHistoryInformation.goodId = this.article.goodId.toString();
|
|
89
|
+
this._stockService.getStockHistory(stockHistoryInformation).then(result => {
|
|
90
|
+
this.orderAllocationStockHistory = result;
|
|
91
|
+
});
|
|
92
|
+
}
|
|
94
93
|
}
|
|
95
94
|
getInOrderData() {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
this.inOrderInformation =
|
|
102
|
-
}
|
|
103
|
-
}
|
|
95
|
+
if (!this.inOrderInformation) {
|
|
96
|
+
const inOrderData = new ArticleTransaction();
|
|
97
|
+
inOrderData.type = "V";
|
|
98
|
+
inOrderData.goodId = this.stockInformation[0].goodId.toString();
|
|
99
|
+
this._stockService.getArticleTransaction(inOrderData).then(result => {
|
|
100
|
+
this.inOrderInformation = result;
|
|
101
|
+
});
|
|
102
|
+
}
|
|
104
103
|
}
|
|
105
104
|
getOrderData() {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
this.orderInformation =
|
|
112
|
-
}
|
|
113
|
-
}
|
|
105
|
+
if (!this.orderInformation) {
|
|
106
|
+
const orderData = new ArticleTransaction();
|
|
107
|
+
orderData.type = "I";
|
|
108
|
+
orderData.goodId = this.stockInformation[0].goodId.toString();
|
|
109
|
+
this._stockService.getArticleTransaction(orderData).then(result => {
|
|
110
|
+
this.orderInformation = result;
|
|
111
|
+
});
|
|
112
|
+
}
|
|
114
113
|
}
|
|
115
114
|
getStockPrognose(warehouseNo) {
|
|
116
|
-
|
|
117
|
-
this.stockPrognose =
|
|
115
|
+
this._stockService.stockPrognose(this.article.goodId, warehouseNo).then(result => {
|
|
116
|
+
this.stockPrognose = result;
|
|
118
117
|
});
|
|
119
118
|
}
|
|
120
119
|
handleWarehouseSelected(event) {
|
|
@@ -125,7 +124,7 @@ export class StockTabsComponent {
|
|
|
125
124
|
}
|
|
126
125
|
if (this.tabs[2].active) {
|
|
127
126
|
this.articleDetailsInformation.warehouseNumber = event.warehouseNo;
|
|
128
|
-
this.articleDetailsInformation.goodId = this.article.goodId;
|
|
127
|
+
this.articleDetailsInformation.goodId = this.article.goodId.toString();
|
|
129
128
|
this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {
|
|
130
129
|
this.articleDetails = details;
|
|
131
130
|
});
|
|
@@ -163,11 +162,11 @@ StockTabsComponent.decorators = [
|
|
|
163
162
|
[articleStockInfo]="articleDetails"
|
|
164
163
|
[articleStockInformation]="stockInformation"
|
|
165
164
|
[article]="article"
|
|
165
|
+
[articleFlat]="articleFlat"
|
|
166
166
|
[selectedWarehouse]="selectedWarehouse"
|
|
167
167
|
[dataWareHouseCode]="warehouses"
|
|
168
168
|
(transferIconClicked)="transferIconClicked.emit($event)"
|
|
169
169
|
(sendMethodDialogClicked)="sendMethodDialogClicked.emit($event)"
|
|
170
|
-
(locationAddedOrUpdated)="articleDetails = $event"
|
|
171
170
|
|
|
172
171
|
></co-stock-location>
|
|
173
172
|
|
|
@@ -213,8 +212,9 @@ StockTabsComponent.ctorParameters = () => [
|
|
|
213
212
|
StockTabsComponent.propDecorators = {
|
|
214
213
|
stockInformation: [{ type: Input }],
|
|
215
214
|
article: [{ type: Input }],
|
|
215
|
+
articleFlat: [{ type: Input }],
|
|
216
216
|
warehouses: [{ type: Input }],
|
|
217
217
|
transferIconClicked: [{ type: Output }],
|
|
218
218
|
sendMethodDialogClicked: [{ type: Output }]
|
|
219
219
|
};
|
|
220
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stdGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zdG9jay9zdG9jay10YWJzL3N0b2NrLXRhYnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUU3QyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUNsRyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFHNUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFLeEYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFFakcsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBdUV2RSxNQUFNLE9BQU8sa0JBQWtCO0lBcUM3QixZQUNVLGFBQTJCLEVBQ3pCLGdCQUFpQztRQURuQyxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUN6QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBdEM3QixVQUFLLEdBQWdCLElBQUksQ0FBQztRQVkxQix3QkFBbUIsR0FBaUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd2RSw0QkFBdUIsR0FBcUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQWN4Riw4QkFBeUIsR0FBMkIsSUFBSSxzQkFBc0IsRUFBRSxDQUFBO1FBQ2hGLDJCQUFzQixHQUFZLEtBQUssQ0FBQztRQUd4QyxTQUFJLEdBQVUsRUFBRSxDQUFDO1FBQ2pCLGdCQUFXLEdBQVUsRUFBRSxDQUFDO0lBTS9C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QUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ3BGLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDO1lBQ2hDLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBQ00sZ0JBQWdCLENBQUUsSUFBWTtRQUNuQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsQ0FBQztJQUM1RSxDQUFDOzs7WUEvTkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnRVQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQWhGTyxZQUFZO1lBVVosZUFBZTs7OytCQTBFcEIsS0FBSztzQkFHTCxLQUFLO3lCQUdMLEtBQUs7a0NBR0wsTUFBTTtzQ0FHTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrIGFzIEFydGljbGVTdG9ja0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jay5ib1wiO1xyXG5pbXBvcnQge0dldFN0b2NrSGlzdG9yeVJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9nZXQtc3RvY2staGlzdG9yeS1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7U3RvY2tTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9zdG9jay5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3RvY2tIaXN0b3J5Qm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1oaXN0b3J5LmJvXCI7XHJcbmltcG9ydCB7VGFifSBmcm9tIFwiLi4vLi4vdGFiLWJhci90YWIuaW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVRyYW5zYWN0aW9ufSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS10cmFuc2FjdGlvblwiO1xyXG5pbXBvcnQge0FydGljbGVUcmFuc2FjdGlvbiBhcyBBcnRpY2xlVHJhbnNhY3Rpb25Cb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtdHJhbnNhY3Rpb24uYm9cIjtcclxuaW1wb3J0IHtTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stbWFuYWdlbWVudC13YXJlaG91c2VzLmJvXCI7XHJcbmltcG9ydCB7UHJpbnRQcmljZVN0aWNrZXJzfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9tb2RlbC9wcmludC1wcmljZS1zdGlja2Vycy5ib1wiO1xyXG5pbXBvcnQge1N0b2NrRm9yZWNhc3R9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1mb3JlY2FzdC5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja01hbmFnZW1lbnR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLW1hbmFnZW1lbnRcIjtcclxuaW1wb3J0IHtBcnRpY2xlRGV0YWlsc0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1kZXRhaWxzLmJvXCI7XHJcbmltcG9ydCB7TG9jYWxpemVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9sb2NhbGl6YXRpb24vbG9jYWxpemUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1zdG9jay10YWJzXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby10YWItYmFyIFt3YXJlSG91c2VMYWJlbF09XCInQ0hPSUNFUycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICBbd2FyZUhvdXNlU2VhcmNoTGFiZWxdPVwiJ1NFQVJDSCcgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICBbdGFic109XCJ0YWJzXCJcclxuICAgICAgICAgICAgICAgIFtkYXRhV2FyZUhvdXNlQ29kZV09XCJ3YXJlaG91c2VzXCJcclxuICAgICAgICAgICAgICAgIFtzZWxlY3RlZFdhcmVob3VzZV09XCJzZWxlY3RlZFdhcmVob3VzZVwiXHJcbiAgICAgICAgICAgICAgICBbc2Vjb25kYXJ5VGFic109XCJoaXN0b3J5VGFic1wiXHJcbiAgICAgICAgICAgICAgICBbQWN0aXZhdGVTZWNvbmRhcnlUYWJzXT1cInRhYnNbNV0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgIFtzaG93V2FyZWhvdXNlU2VsZWN0aW9uXT1cInRhYnNbMV0uYWN0aXZlIHx8IHRhYnNbMl0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICh3YXJlaG91c2VTZWxlY3RlZCk9XCJoYW5kbGVXYXJlaG91c2VTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgID48L2NvLXRhYi1iYXI+XHJcblxyXG4gICAgPGNvLXN0b2NrLXRhYiAqbmdJZj1cInRhYnNbMF0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgW2FydGljbGVTdG9ja0luZm9ybWF0aW9uXT1cInN0b2NrSW5mb3JtYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAobG9jYXRpb25DbGlja2VkKT1cImhhbmRsZUxvY2F0aW9uQ2xpY2tlZCgkZXZlbnQpXCJcclxuICAgID48L2NvLXN0b2NrLXRhYj5cclxuXHJcbiAgICA8Y28tc3RvY2stcHJvZ25vc2UgKm5nSWY9XCJ0YWJzWzFdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3N0b2NrUHJvZ25vc2VdPVwic3RvY2tQcm9nbm9zZVwiXHJcbiAgICA+PC9jby1zdG9jay1wcm9nbm9zZT5cclxuXHJcbiAgICA8Y28tc3RvY2stbG9jYXRpb24gKm5nSWY9XCJ0YWJzWzJdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2FydGljbGVTdG9ja0luZm9dPVwiYXJ0aWNsZURldGFpbHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFthcnRpY2xlU3RvY2tJbmZvcm1hdGlvbl09XCJzdG9ja0luZm9ybWF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZV09XCJhcnRpY2xlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRXYXJlaG91c2VdPVwic2VsZWN0ZWRXYXJlaG91c2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtkYXRhV2FyZUhvdXNlQ29kZV09XCJ3YXJlaG91c2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAodHJhbnNmZXJJY29uQ2xpY2tlZCk9XCJ0cmFuc2Zlckljb25DbGlja2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKHNlbmRNZXRob2REaWFsb2dDbGlja2VkKT1cInNlbmRNZXRob2REaWFsb2dDbGlja2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKGxvY2F0aW9uQWRkZWRPclVwZGF0ZWQpPVwiYXJ0aWNsZURldGFpbHMgPSAkZXZlbnRcIlxyXG5cclxuICAgID48L2NvLXN0b2NrLWxvY2F0aW9uPlxyXG5cclxuICAgIDxjby1vcmRlci10YWIgKm5nSWY9XCJ0YWJzWzNdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFthcnRpY2xlU3RvY2tJbmZvcm1hdGlvbl09XCJzdG9ja0luZm9ybWF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgW2luT3JkZXJJbmZvcm1hdGlvbl09XCJpbk9yZGVySW5mb3JtYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAodHJhbnNmZXJJY29uQ2xpY2tlZCk9XCJ0cmFuc2Zlckljb25DbGlja2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIChzZW5kTWV0aG9kRGlhbG9nQ2xpY2tlZCk9XCJzZW5kTWV0aG9kRGlhbG9nQ2xpY2tlZC5lbWl0KCRldmVudClcIlxyXG4gICAgPjwvY28tb3JkZXItdGFiPlxyXG5cclxuICAgIDxjby1vcmRlci1zdG9jay10YWIgKm5nSWY9XCJ0YWJzWzRdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtvcmRlckluZm9ybWF0aW9uXT1cIm9yZGVySW5mb3JtYXRpb25cIlxyXG4gICAgPjwvY28tb3JkZXItc3RvY2stdGFiPlxyXG5cclxuICAgIDxjby1zdG9jay1oaXN0b3J5ICpuZ0lmPVwiaGlzdG9yeVRhYnNbMF0uYWN0aXZlICYmIHRhYnNbNV0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtzdG9ja0hpc3RvcnldPVwic3RvY2tIaXN0b3J5XCJcclxuICAgID48L2NvLXN0b2NrLWhpc3Rvcnk+XHJcblxyXG4gICAgPGNvLW9yZGVyLXN1cHBseS1zdG9jay1oaXN0b3J5ICpuZ0lmPVwiaGlzdG9yeVRhYnNbMV0uYWN0aXZlICYmIHRhYnNbNV0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb3JkZXJTdXBwbHlTdG9ja0hpc3RvcnldPVwib3JkZXJTdXBwbHlTdG9ja0hpc3RvcnlcIlxyXG4gICAgPjwvY28tb3JkZXItc3VwcGx5LXN0b2NrLWhpc3Rvcnk+XHJcblxyXG4gICAgPGNvLW9yZGVyLXN0b2NrLWNvbW1pc3Npb24taGlzdG9yeSAqbmdJZj1cImhpc3RvcnlUYWJzWzJdLmFjdGl2ZSAmJiB0YWJzWzVdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvcmRlclN0b2NrQ29tbWlzc2lvbkhpc3RvcnldPVwib3JkZXJDb21taXNzaW9uU3RvY2tIaXN0b3J5XCJcclxuICAgID48L2NvLW9yZGVyLXN0b2NrLWNvbW1pc3Npb24taGlzdG9yeT5cclxuXHJcbiAgICA8Y28tb3JkZXItc3RvY2staGlzdG9yeSAqbmdJZj1cImhpc3RvcnlUYWJzWzNdLmFjdGl2ZSAmJiB0YWJzWzVdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb3JkZXJTdG9ja0hpc3RvcnldPVwib3JkZXJTdG9ja0hpc3RvcnlcIlxyXG4gICAgPjwvY28tb3JkZXItc3RvY2staGlzdG9yeT5cclxuXHJcbiAgICA8Y28tYWxsb2NhdGlvbi1zdG9jay1oaXN0b3J5ICpuZ0lmPVwiaGlzdG9yeVRhYnNbNF0uYWN0aXZlICYmIHRhYnNbNV0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsbG9jYXRpb25TdG9ja0hpc3RvcnldPVwib3JkZXJBbGxvY2F0aW9uU3RvY2tIaXN0b3J5XCJcclxuICAgID48L2NvLWFsbG9jYXRpb24tc3RvY2staGlzdG9yeT5cclxuXHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9ja1RhYnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzdG9ja0luZm9ybWF0aW9uOiBBcnRpY2xlU3RvY2tCb1tdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHdhcmVob3VzZXM6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXNbXTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zZmVySWNvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxBcnRpY2xlU3RvY2tCbz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBzZW5kTWV0aG9kRGlhbG9nQ2xpY2tlZDogRXZlbnRFbWl0dGVyPFByaW50UHJpY2VTdGlja2Vycz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cclxuXHJcbiAgcHVibGljIHNlbGVjdGVkTG9jYXRpb25Obzogc3RyaW5nO1xyXG4gIHB1YmxpYyBzdG9ja0hpc3Rvcnk6IFN0b2NrSGlzdG9yeUJvW107XHJcbiAgcHVibGljIG9yZGVyU3VwcGx5U3RvY2tIaXN0b3J5OiBTdG9ja0hpc3RvcnlCb1tdO1xyXG4gIHB1YmxpYyBvcmRlckNvbW1pc3Npb25TdG9ja0hpc3Rvcnk6IFN0b2NrSGlzdG9yeUJvW107XHJcbiAgcHVibGljIG9yZGVyU3RvY2tIaXN0b3J5OiBTdG9ja0hpc3RvcnlCb1tdO1xyXG4gIHB1YmxpYyBvcmRlckFsbG9jYXRpb25TdG9ja0hpc3Rvcnk6IFN0b2NrSGlzdG9yeUJvW107XHJcbiAgcHVibGljIGluT3JkZXJJbmZvcm1hdGlvbjogQXJ0aWNsZVRyYW5zYWN0aW9uQm9bXTtcclxuICBwdWJsaWMgb3JkZXJJbmZvcm1hdGlvbjogQXJ0aWNsZVRyYW5zYWN0aW9uQm9bXTtcclxuICBwdWJsaWMgc3RvY2tQcm9nbm9zZTogU3RvY2tGb3JlY2FzdFtdO1xyXG4gIHB1YmxpYyBzZWxlY3RlZFdhcmVob3VzZTogU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcztcclxuICBwdWJsaWMgYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbjogQXJ0aWNsZVN0b2NrTWFuYWdlbWVudCA9IG5ldyBBcnRpY2xlU3RvY2tNYW5hZ2VtZW50KClcclxuICBwdWJsaWMgc2hvd1dhcmVob3VzZVNlbGVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBhcnRpY2xlRGV0YWlsczogQXJ0aWNsZURldGFpbHNCb1tdO1xyXG5cclxuICBwdWJsaWMgdGFiczogVGFiW10gPSBbXTtcclxuICBwdWJsaWMgaGlzdG9yeVRhYnM6IFRhYltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfc3RvY2tTZXJ2aWNlOiBTdG9ja1NlcnZpY2UsXHJcbiAgICAgIHByaXZhdGUgX2xvY2FsaXplU2VydmljZTogTG9jYWxpemVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudGFicyA9IFtcclxuICAgICAgeyB0aXRsZTogdGhpcy5fbG9jYWxpemVTZXJ2aWNlLmdldCgnT1ZFUlZJRVcnKSwgYWN0aXZlOiB0cnVlIH0sXHJcbiAgICAgIHsgdGl0bGU6IHRoaXMuX2xvY2FsaXplU2VydmljZS5nZXQoJ1NUT0NLX0ZPUkVDQVNUJyksIGFjdGl2ZTogZmFsc2UgfSxcclxuICAgICAgeyB0aXRsZTogdGhpcy5fbG9jYWxpemVTZXJ2aWNlLmdldCgnU1RPQ0tfREVUQUlMUycpLCBhY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgIHsgdGl0bGU6IHRoaXMuX2xvY2FsaXplU2VydmljZS5nZXQoJ0FMUkVBRFlfSU5fT1JERVInKSwgYWN0aXZlOiBmYWxzZSwgY2xpY2tIYW5kbGVyOiAoKSA9PiB0aGlzLmdldEluT3JkZXJEYXRhKCkgfSxcclxuICAgICAgeyB0aXRsZTogdGhpcy5fbG9jYWxpemVTZXJ2aWNlLmdldCgnSU5fT1JERVInKSwgYWN0aXZlOiBmYWxzZSwgY2xpY2tIYW5kbGVyOiAoKSA9PiB0aGlzLmdldE9yZGVyRGF0YSgpIH0sXHJcbiAgICAgIHsgdGl0bGU6IHRoaXMuX2xvY2FsaXplU2VydmljZS5nZXQoJ0hJU1RPUlknKSwgYWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgXTtcclxuXHJcbiAgICB0aGlzLmhpc3RvcnlUYWJzID0gW1xyXG4gICAgICB7IHRpdGxlOiB0aGlzLl9sb2NhbGl6ZVNlcnZpY2UuZ2V0KCdTVE9DSycpLCBhY3RpdmU6IHRydWUsIGNsaWNrSGFuZGxlcjogKCkgPT4gdGhpcy5nZXRTdG9ja0hpc3RvcnkoKSB9LFxyXG4gICAgICB7IHRpdGxlOiB0aGlzLl9sb2NhbGl6ZVNlcnZpY2UuZ2V0KCdPUkRFUl9TVE9DSycpLCBhY3RpdmU6IGZhbHNlLCBjbGlja0hhbmRsZXI6ICgpID0+IHRoaXMuZ2V0T3JkZXJTdXBwbHlTdG9ja0hpc3RvcnkoKSB9LFxyXG4gICAgICB7IHRpdGxlOiB0aGlzLl9sb2NhbGl6ZVNlcnZpY2UuZ2V0KCdPUkRFUl9DT01NSVNTSU9OJyksIGFjdGl2ZTogZmFsc2UsIGNsaWNrSGFuZGxlcjogKCkgPT4gdGhpcy5nZXRPcmRlckNvbW1pc3Npb25TdG9ja0hpc3RvcnkoKSB9LFxyXG4gICAgICB7IHRpdGxlOiB0aGlzLl9sb2NhbGl6ZVNlcnZpY2UuZ2V0KCdPUkRFUicpLCBhY3RpdmU6IGZhbHNlLCBjbGlja0hhbmRsZXI6ICgpID0+IHRoaXMuZ2V0T3JkZXJTdG9ja0hpc3RvcnkoKSB9LFxyXG4gICAgICB7IHRpdGxlOiB0aGlzLl9sb2NhbGl6ZVNlcnZpY2UuZ2V0KCdBTExPQ0FUSU9OJyksIGFjdGl2ZTogZmFsc2UsIGNsaWNrSGFuZGxlcjogKCkgPT4gdGhpcy5nZXRBbGxvY2F0aW9uU3RvY2tIaXN0b3J5KCkgfSxcclxuICAgIF07XHJcblxyXG4gICAgdGhpcy5oaXN0b3J5VGFic1swXS5jbGlja0hhbmRsZXIoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVMb2NhdGlvbkNsaWNrZWQoZGF0YTogU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcyk6IHZvaWQge1xyXG4gICAgdGhpcy50YWJzWzBdLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgdGhpcy50YWJzWzJdLmFjdGl2ZSA9IHRydWU7XHJcbiAgICB0aGlzLnNlbGVjdGVkV2FyZWhvdXNlID0gdGhpcy53YXJlSG91c2VGb3JDb2RlKGRhdGEud2FyZWhvdXNlTm8pO1xyXG4gICAgdGhpcy5oYW5kbGVXYXJlaG91c2VTZWxlY3RlZCh0aGlzLnNlbGVjdGVkV2FyZWhvdXNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTdG9ja0hpc3RvcnkoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoIXRoaXMuc3RvY2tIaXN0b3J5KSB7XHJcbiAgICAgIGNvbnN0IHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uOiBHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0ID0gbmV3IEdldFN0b2NrSGlzdG9yeVJlcXVlc3QoKTtcclxuICAgICAgc3RvY2tIaXN0b3J5SW5mb3JtYXRpb24udHlwZSA9IFwiVlwiO1xyXG4gICAgICBzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbi5nb29kSWQgPSB0aGlzLmFydGljbGUuZ29vZElkO1xyXG4gICAgICB0aGlzLnN0b2NrSGlzdG9yeSA9IGF3YWl0IHRoaXMuX3N0b2NrU2VydmljZS5nZXRTdG9ja0hpc3Rvcnkoc3RvY2tIaXN0b3J5SW5mb3JtYXRpb24pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldE9yZGVyU3VwcGx5U3RvY2tIaXN0b3J5KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLm9yZGVyU3VwcGx5U3RvY2tIaXN0b3J5KSB7XHJcbiAgICAgIGNvbnN0IHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uOiBHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0ID0gbmV3IEdldFN0b2NrSGlzdG9yeVJlcXVlc3QoKTtcclxuICAgICAgc3RvY2tIaXN0b3J5SW5mb3JtYXRpb24udHlwZSA9IFwiT1wiO1xyXG4gICAgICBzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbi5nb29kSWQgPSB0aGlzLmFydGljbGUuZ29vZElkO1xyXG4gICAgICB0aGlzLm9yZGVyU3VwcGx5U3RvY2tIaXN0b3J5ID0gYXdhaXQgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldFN0b2NrSGlzdG9yeShzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0T3JkZXJDb21taXNzaW9uU3RvY2tIaXN0b3J5KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLm9yZGVyQ29tbWlzc2lvblN0b2NrSGlzdG9yeSkge1xyXG4gICAgICBjb25zdCBzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbjogR2V0U3RvY2tIaXN0b3J5UmVxdWVzdCA9IG5ldyBHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0KCk7XHJcbiAgICAgIHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uLnR5cGUgPSBcIkNcIjtcclxuICAgICAgc3RvY2tIaXN0b3J5SW5mb3JtYXRpb24uZ29vZElkID0gdGhpcy5hcnRpY2xlLmdvb2RJZDtcclxuICAgICAgdGhpcy5vcmRlckNvbW1pc3Npb25TdG9ja0hpc3RvcnkgPSBhd2FpdCB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tIaXN0b3J5KHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRPcmRlclN0b2NrSGlzdG9yeSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5vcmRlclN0b2NrSGlzdG9yeSkge1xyXG4gICAgICBjb25zdCBzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbjogR2V0U3RvY2tIaXN0b3J5UmVxdWVzdCA9IG5ldyBHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0KCk7XHJcbiAgICAgIHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uLnR5cGUgPSBcIkJcIjtcclxuICAgICAgc3RvY2tIaXN0b3J5SW5mb3JtYXRpb24uZ29vZElkID0gdGhpcy5hcnRpY2xlLmdvb2RJZDtcclxuICAgICAgdGhpcy5vcmRlclN0b2NrSGlzdG9yeSA9IGF3YWl0IHRoaXMuX3N0b2NrU2VydmljZS5nZXRTdG9ja0hpc3Rvcnkoc3RvY2tIaXN0b3J5SW5mb3JtYXRpb24pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEFsbG9jYXRpb25TdG9ja0hpc3RvcnkoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoIXRoaXMub3JkZXJBbGxvY2F0aW9uU3RvY2tIaXN0b3J5KSB7XHJcbiAgICAgIGNvbnN0IHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uOiBHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0ID0gbmV3IEdldFN0b2NrSGlzdG9yeVJlcXVlc3QoKTtcclxuICAgICAgc3RvY2tIaXN0b3J5SW5mb3JtYXRpb24udHlwZSA9IFwiVFwiO1xyXG4gICAgICBzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbi5nb29kSWQgPSB0aGlzLmFydGljbGUuZ29vZElkO1xyXG4gICAgICB0aGlzLm9yZGVyQWxsb2NhdGlvblN0b2NrSGlzdG9yeSA9IGF3YWl0IHRoaXMuX3N0b2NrU2VydmljZS5nZXRTdG9ja0hpc3Rvcnkoc3RvY2tIaXN0b3J5SW5mb3JtYXRpb24pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEluT3JkZXJEYXRhKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLmluT3JkZXJJbmZvcm1hdGlvbikge1xyXG4gICAgICBjb25zdCBpbk9yZGVyRGF0YTogQXJ0aWNsZVRyYW5zYWN0aW9uID0gbmV3IEFydGljbGVUcmFuc2FjdGlvbigpO1xyXG4gICAgICBpbk9yZGVyRGF0YS50eXBlID0gXCJWXCI7XHJcbiAgICAgIGluT3JkZXJEYXRhLmdvb2RJZCA9IHRoaXMuc3RvY2tJbmZvcm1hdGlvblswXS5nb29kSWQudG9TdHJpbmcoKTtcclxuICAgICAgdGhpcy5pbk9yZGVySW5mb3JtYXRpb24gPSBhd2FpdCB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0QXJ0aWNsZVRyYW5zYWN0aW9uKGluT3JkZXJEYXRhKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRPcmRlckRhdGEoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoIXRoaXMub3JkZXJJbmZvcm1hdGlvbikge1xyXG4gICAgICBjb25zdCBvcmRlckRhdGE6IEFydGljbGVUcmFuc2FjdGlvbiA9IG5ldyBBcnRpY2xlVHJhbnNhY3Rpb24oKTtcclxuICAgICAgb3JkZXJEYXRhLnR5cGUgPSBcIklcIjtcclxuICAgICAgb3JkZXJEYXRhLmdvb2RJZCA9IHRoaXMuc3RvY2tJbmZvcm1hdGlvblswXS5nb29kSWQudG9TdHJpbmcoKTtcclxuICAgICAgdGhpcy5vcmRlckluZm9ybWF0aW9uID0gYXdhaXQgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldEFydGljbGVUcmFuc2FjdGlvbihvcmRlckRhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFN0b2NrUHJvZ25vc2Uod2FyZWhvdXNlTm86IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5zdG9ja1Byb2dub3NlID0gYXdhaXQgdGhpcy5fc3RvY2tTZXJ2aWNlLnN0b2NrUHJvZ25vc2UodGhpcy5hcnRpY2xlLmdvb2RJZCwgd2FyZWhvdXNlTm8pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVdhcmVob3VzZVNlbGVjdGVkKGV2ZW50OiBTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkV2FyZWhvdXNlID0gZXZlbnQ7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2Uud2FyZWhvdXNlU2VsZWN0ZWQuZW1pdChldmVudCk7XHJcbiAgICBpZiAodGhpcy50YWJzWzFdLmFjdGl2ZSkge1xyXG4gICAgICB0aGlzLmdldFN0b2NrUHJvZ25vc2UodGhpcy5zZWxlY3RlZFdhcmVob3VzZS53YXJlaG91c2VObyk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy50YWJzWzJdLmFjdGl2ZSkge1xyXG4gICAgICB0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24ud2FyZWhvdXNlTnVtYmVyID0gZXZlbnQud2FyZWhvdXNlTm87XHJcbiAgICAgIHRoaXMuYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbi5nb29kSWQgPSB0aGlzLmFydGljbGUuZ29vZElkO1xyXG4gICAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0QXJ0aWNsZURldGFpbHModGhpcy5hcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uKS50aGVuKChkZXRhaWxzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5hcnRpY2xlRGV0YWlscyA9IGRldGFpbHM7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBwdWJsaWMgd2FyZUhvdXNlRm9yQ29kZSggY29kZTogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy53YXJlaG91c2VzLmZpbmQoIHdhcmVob3VzZSA9PiB3YXJlaG91c2Uud2FyZWhvdXNlTm8gPT09IGNvZGUpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stdGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zdG9jay9zdG9jay10YWJzL3N0b2NrLXRhYnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRTdDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUc1RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUt4RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUVqRyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUF5RXZFLE1BQU0sT0FBTyxrQkFBa0I7SUE0QzdCLFlBQ1UsYUFBMkIsRUFDekIsZ0JBQWlDO1FBRG5DLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQ3pCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUE3QzdCLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBbUIxQix3QkFBbUIsR0FBaUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd2RSw0QkFBdUIsR0FBcUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQWN4Riw4QkFBeUIsR0FBMkIsSUFBSSxzQkFBc0IsRUFBRSxDQUFBO1FBQ2hGLDJCQUFzQixHQUFZLEtBQUssQ0FBQztRQUd4QyxTQUFJLEdBQVUsRUFBRSxDQUFDO1FBQ2pCLGdCQUFXLEdBQVUsRUFBRSxDQUFDO0lBTS9C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O2FBQ3RDOzs7WUFsRk8sWUFBWTtZQVVaLGVBQWU7OzsrQkE0RXBCLEtBQUs7c0JBR0wsS0FBSzswQkFHTCxLQUFLO3lCQU9MLEtBQUs7a0NBR0wsTUFBTTtzQ0FHTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrIGFzIEFydGljbGVTdG9ja0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jay5ib1wiO1xyXG5pbXBvcnQge0dldFN0b2NrSGlzdG9yeVJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9nZXQtc3RvY2staGlzdG9yeS1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7U3RvY2tTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9zdG9jay5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3RvY2tIaXN0b3J5Qm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1oaXN0b3J5LmJvXCI7XHJcbmltcG9ydCB7VGFifSBmcm9tIFwiLi4vLi4vdGFiLWJhci90YWIuaW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVRyYW5zYWN0aW9ufSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS10cmFuc2FjdGlvblwiO1xyXG5pbXBvcnQge0FydGljbGVUcmFuc2FjdGlvbiBhcyBBcnRpY2xlVHJhbnNhY3Rpb25Cb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtdHJhbnNhY3Rpb24uYm9cIjtcclxuaW1wb3J0IHtTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stbWFuYWdlbWVudC13YXJlaG91c2VzLmJvXCI7XHJcbmltcG9ydCB7UHJpbnRQcmljZVN0aWNrZXJzfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9tb2RlbC9wcmludC1wcmljZS1zdGlja2Vycy5ib1wiO1xyXG5pbXBvcnQge1N0b2NrRm9yZWNhc3R9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1mb3JlY2FzdC5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja01hbmFnZW1lbnR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLW1hbmFnZW1lbnRcIjtcclxuaW1wb3J0IHtBcnRpY2xlRGV0YWlsc0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1kZXRhaWxzLmJvXCI7XHJcbmltcG9ydCB7TG9jYWxpemVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9sb2NhbGl6YXRpb24vbG9jYWxpemUuc2VydmljZSc7XHJcbmltcG9ydCB7QXJ0aWNsZUV4dGVuZGVkfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1leHRlbmRlZC5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVGbGF0fSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1mbGF0LmJvXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1zdG9jay10YWJzXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby10YWItYmFyIFt3YXJlSG91c2VMYWJlbF09XCInQ0hPSUNFUycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICBbd2FyZUhvdXNlU2VhcmNoTGFiZWxdPVwiJ1NFQVJDSCcgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICBbdGFic109XCJ0YWJzXCJcclxuICAgICAgICAgICAgICAgIFtkYXRhV2FyZUhvdXNlQ29kZV09XCJ3YXJlaG91c2VzXCJcclxuICAgICAgICAgICAgICAgIFtzZWxlY3RlZFdhcmVob3VzZV09XCJzZWxlY3RlZFdhcmVob3VzZVwiXHJcbiAgICAgICAgICAgICAgICBbc2Vjb25kYXJ5VGFic109XCJoaXN0b3J5VGFic1wiXHJcbiAgICAgICAgICAgICAgICBbQWN0aXZhdGVTZWNvbmRhcnlUYWJzXT1cInRhYnNbNV0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgIFtzaG93V2FyZWhvdXNlU2VsZWN0aW9uXT1cInRhYnNbMV0uYWN0aXZlIHx8IHRhYnNbMl0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICh3YXJlaG91c2VTZWxlY3RlZCk9XCJoYW5kbGVXYXJlaG91c2VTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgID48L2NvLXRhYi1iYXI+XHJcblxyXG4gICAgPGNvLXN0b2NrLXRhYiAqbmdJZj1cInRhYnNbMF0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgW2FydGljbGVTdG9ja0luZm9ybWF0aW9uXT1cInN0b2NrSW5mb3JtYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAobG9jYXRpb25DbGlja2VkKT1cImhhbmRsZUxvY2F0aW9uQ2xpY2tlZCgkZXZlbnQpXCJcclxuICAgID48L2NvLXN0b2NrLXRhYj5cclxuXHJcbiAgICA8Y28tc3RvY2stcHJvZ25vc2UgKm5nSWY9XCJ0YWJzWzFdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3N0b2NrUHJvZ25vc2VdPVwic3RvY2tQcm9nbm9zZVwiXHJcbiAgICA+PC9jby1zdG9jay1wcm9nbm9zZT5cclxuXHJcbiAgICA8Y28tc3RvY2stbG9jYXRpb24gKm5nSWY9XCJ0YWJzWzJdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2FydGljbGVTdG9ja0luZm9dPVwiYXJ0aWNsZURldGFpbHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFthcnRpY2xlU3RvY2tJbmZvcm1hdGlvbl09XCJzdG9ja0luZm9ybWF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZV09XCJhcnRpY2xlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZUZsYXRdPVwiYXJ0aWNsZUZsYXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFdhcmVob3VzZV09XCJzZWxlY3RlZFdhcmVob3VzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFXYXJlSG91c2VDb2RlXT1cIndhcmVob3VzZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICh0cmFuc2Zlckljb25DbGlja2VkKT1cInRyYW5zZmVySWNvbkNsaWNrZWQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoc2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQpPVwic2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQuZW1pdCgkZXZlbnQpXCJcclxuXHJcbiAgICA+PC9jby1zdG9jay1sb2NhdGlvbj5cclxuXHJcbiAgICA8Y28tb3JkZXItdGFiICpuZ0lmPVwidGFic1szXS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICBbYXJ0aWNsZVN0b2NrSW5mb3JtYXRpb25dPVwic3RvY2tJbmZvcm1hdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgIFtpbk9yZGVySW5mb3JtYXRpb25dPVwiaW5PcmRlckluZm9ybWF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgKHRyYW5zZmVySWNvbkNsaWNrZWQpPVwidHJhbnNmZXJJY29uQ2xpY2tlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAoc2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQpPVwic2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQuZW1pdCgkZXZlbnQpXCJcclxuICAgID48L2NvLW9yZGVyLXRhYj5cclxuXHJcbiAgICA8Y28tb3JkZXItc3RvY2stdGFiICpuZ0lmPVwidGFic1s0XS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbb3JkZXJJbmZvcm1hdGlvbl09XCJvcmRlckluZm9ybWF0aW9uXCJcclxuICAgID48L2NvLW9yZGVyLXN0b2NrLXRhYj5cclxuXHJcbiAgICA8Y28tc3RvY2staGlzdG9yeSAqbmdJZj1cImhpc3RvcnlUYWJzWzBdLmFjdGl2ZSAmJiB0YWJzWzVdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbc3RvY2tIaXN0b3J5XT1cInN0b2NrSGlzdG9yeVwiXHJcbiAgICA+PC9jby1zdG9jay1oaXN0b3J5PlxyXG5cclxuICAgIDxjby1vcmRlci1zdXBwbHktc3RvY2staGlzdG9yeSAqbmdJZj1cImhpc3RvcnlUYWJzWzFdLmFjdGl2ZSAmJiB0YWJzWzVdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29yZGVyU3VwcGx5U3RvY2tIaXN0b3J5XT1cIm9yZGVyU3VwcGx5U3RvY2tIaXN0b3J5XCJcclxuICAgID48L2NvLW9yZGVyLXN1cHBseS1zdG9jay1oaXN0b3J5PlxyXG5cclxuICAgIDxjby1vcmRlci1zdG9jay1jb21taXNzaW9uLWhpc3RvcnkgKm5nSWY9XCJoaXN0b3J5VGFic1syXS5hY3RpdmUgJiYgdGFic1s1XS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb3JkZXJTdG9ja0NvbW1pc3Npb25IaXN0b3J5XT1cIm9yZGVyQ29tbWlzc2lvblN0b2NrSGlzdG9yeVwiXHJcbiAgICA+PC9jby1vcmRlci1zdG9jay1jb21taXNzaW9uLWhpc3Rvcnk+XHJcblxyXG4gICAgPGNvLW9yZGVyLXN0b2NrLWhpc3RvcnkgKm5nSWY9XCJoaXN0b3J5VGFic1szXS5hY3RpdmUgJiYgdGFic1s1XS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW29yZGVyU3RvY2tIaXN0b3J5XT1cIm9yZGVyU3RvY2tIaXN0b3J5XCJcclxuICAgID48L2NvLW9yZGVyLXN0b2NrLWhpc3Rvcnk+XHJcblxyXG4gICAgPGNvLWFsbG9jYXRpb24tc3RvY2staGlzdG9yeSAqbmdJZj1cImhpc3RvcnlUYWJzWzRdLmFjdGl2ZSAmJiB0YWJzWzVdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbGxvY2F0aW9uU3RvY2tIaXN0b3J5XT1cIm9yZGVyQWxsb2NhdGlvblN0b2NrSGlzdG9yeVwiXHJcbiAgICA+PC9jby1hbGxvY2F0aW9uLXN0b2NrLWhpc3Rvcnk+XHJcblxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvY2tUYWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3RvY2tJbmZvcm1hdGlvbjogQXJ0aWNsZVN0b2NrQm9bXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZTogQXJ0aWNsZUV4dGVuZGVkO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlRmxhdDogQXJ0aWNsZUZsYXQ7XHJcblxyXG5cclxuXHJcblxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB3YXJlaG91c2VzOiBTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzW107XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2Zlckljb25DbGlja2VkOiBFdmVudEVtaXR0ZXI8QXJ0aWNsZVN0b2NrQm8+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgc2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQ6IEV2ZW50RW1pdHRlcjxQcmludFByaWNlU3RpY2tlcnM+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuXHJcblxyXG4gIHB1YmxpYyBzZWxlY3RlZExvY2F0aW9uTm86IHN0cmluZztcclxuICBwdWJsaWMgc3RvY2tIaXN0b3J5OiBTdG9ja0hpc3RvcnlCb1tdO1xyXG4gIHB1YmxpYyBvcmRlclN1cHBseVN0b2NrSGlzdG9yeTogU3RvY2tIaXN0b3J5Qm9bXTtcclxuICBwdWJsaWMgb3JkZXJDb21taXNzaW9uU3RvY2tIaXN0b3J5OiBTdG9ja0hpc3RvcnlCb1tdO1xyXG4gIHB1YmxpYyBvcmRlclN0b2NrSGlzdG9yeTogU3RvY2tIaXN0b3J5Qm9bXTtcclxuICBwdWJsaWMgb3JkZXJBbGxvY2F0aW9uU3RvY2tIaXN0b3J5OiBTdG9ja0hpc3RvcnlCb1tdO1xyXG4gIHB1YmxpYyBpbk9yZGVySW5mb3JtYXRpb246IEFydGljbGVUcmFuc2FjdGlvbkJvW107XHJcbiAgcHVibGljIG9yZGVySW5mb3JtYXRpb246IEFydGljbGVUcmFuc2FjdGlvbkJvW107XHJcbiAgcHVibGljIHN0b2NrUHJvZ25vc2U6IFN0b2NrRm9yZWNhc3RbXTtcclxuICBwdWJsaWMgc2VsZWN0ZWRXYXJlaG91c2U6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXM7XHJcbiAgcHVibGljIGFydGljbGVEZXRhaWxzSW5mb3JtYXRpb246IEFydGljbGVTdG9ja01hbmFnZW1lbnQgPSBuZXcgQXJ0aWNsZVN0b2NrTWFuYWdlbWVudCgpXHJcbiAgcHVibGljIHNob3dXYXJlaG91c2VTZWxlY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgYXJ0aWNsZURldGFpbHM6IEFydGljbGVEZXRhaWxzQm9bXTtcclxuXHJcbiAgcHVibGljIHRhYnM6IFRhYltdID0gW107XHJcbiAgcHVibGljIGhpc3RvcnlUYWJzOiBUYWJbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3N0b2NrU2VydmljZTogU3RvY2tTZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIF9sb2NhbGl6ZVNlcnZpY2U6IExvY2FsaXplU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnRhYnMgPSBbXHJcbiAgICAgIHsgdGl0bGU6IHRoaXMuX2xvY2FsaXplU2VydmljZS5nZXQoJ09WRVJWSUVXJyksIGFjdGl2ZTogdHJ1ZSB9LFxyXG4gICAgICB7IHRpdGxlOiB0aGlzLl9sb2NhbGl6ZVNlcnZpY2UuZ2V0KCdTVE9DS19GT1JFQ0FTVCcpLCBhY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgIHsgdGl0bGU6IHRoaXMuX2xvY2FsaXplU2VydmljZS5nZXQoJ1NUT0NLX0RFVEFJTFMnKSwgYWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICB7IHRpdGxlOiB0aGlzLl9sb2NhbGl6ZVNlcnZpY2UuZ2V0KCdBTFJFQURZX0lOX09SREVSJyksIGFjdGl2ZTogZmFsc2UsIGNsaWNrSGFuZGxlcjogKCkgPT4gdGhpcy5nZXRJbk9yZGVyRGF0YSgpIH0sXHJcbiAgICAgIHsgdGl0bGU6IHRoaXMuX2xvY2FsaXplU2VydmljZS5nZXQoJ0lOX09SREVSJyksIGFjdGl2ZTogZmFsc2UsIGNsaWNrSGFuZGxlcjogKCkgPT4gdGhpcy5nZXRPcmRlckRhdGEoKSB9LFxyXG4gICAgICB7IHRpdGxlOiB0aGlzLl9sb2NhbGl6ZVNlcnZpY2UuZ2V0KCdISVNUT1JZJyksIGFjdGl2ZTogZmFsc2UgfSxcclxuICAgIF07XHJcblxyXG4gICAgdGhpcy5oaXN0b3J5VGFicyA9IFtcclxuICAgICAgeyB0aXRsZTogdGhpcy5fbG9jYWxpemVTZXJ2aWNlLmdldCgnU1RPQ0snKSwgYWN0aXZlOiB0cnVlLCBjbGlja0hhbmRsZXI6ICgpID0+IHRoaXMuZ2V0U3RvY2tIaXN0b3J5KCkgfSxcclxuICAgICAgeyB0aXRsZTogdGhpcy5fbG9jYWxpemVTZXJ2aWNlLmdldCgnT1JERVJfU1RPQ0snKSwgYWN0aXZlOiBmYWxzZSwgY2xpY2tIYW5kbGVyOiAoKSA9PiB0aGlzLmdldE9yZGVyU3VwcGx5U3RvY2tIaXN0b3J5KCkgfSxcclxuICAgICAgeyB0aXRsZTogdGhpcy5fbG9jYWxpemVTZXJ2aWNlLmdldCgnT1JERVJfQ09NTUlTU0lPTicpLCBhY3RpdmU6IGZhbHNlLCBjbGlja0hhbmRsZXI6ICgpID0+IHRoaXMuZ2V0T3JkZXJDb21taXNzaW9uU3RvY2tIaXN0b3J5KCkgfSxcclxuICAgICAgeyB0aXRsZTogdGhpcy5fbG9jYWxpemVTZXJ2aWNlLmdldCgnT1JERVInKSwgYWN0aXZlOiBmYWxzZSwgY2xpY2tIYW5kbGVyOiAoKSA9PiB0aGlzLmdldE9yZGVyU3RvY2tIaXN0b3J5KCkgfSxcclxuICAgICAgeyB0aXRsZTogdGhpcy5fbG9jYWxpemVTZXJ2aWNlLmdldCgnQUxMT0NBVElPTicpLCBhY3RpdmU6IGZhbHNlLCBjbGlja0hhbmRsZXI6ICgpID0+IHRoaXMuZ2V0QWxsb2NhdGlvblN0b2NrSGlzdG9yeSgpIH0sXHJcbiAgICBdO1xyXG5cclxuICAgIHRoaXMuaGlzdG9yeVRhYnNbMF0uY2xpY2tIYW5kbGVyKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlTG9jYXRpb25DbGlja2VkKGRhdGE6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMpOiB2b2lkIHtcclxuICAgIHRoaXMudGFic1swXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgIHRoaXMudGFic1syXS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgdGhpcy5zZWxlY3RlZFdhcmVob3VzZSA9IHRoaXMud2FyZUhvdXNlRm9yQ29kZShkYXRhLndhcmVob3VzZU5vKTtcclxuICAgIHRoaXMuaGFuZGxlV2FyZWhvdXNlU2VsZWN0ZWQodGhpcy5zZWxlY3RlZFdhcmVob3VzZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U3RvY2tIaXN0b3J5KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnN0b2NrSGlzdG9yeSkge1xyXG4gICAgICBjb25zdCBzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbjogR2V0U3RvY2tIaXN0b3J5UmVxdWVzdCA9IG5ldyBHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0KCk7XHJcbiAgICAgIHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uLnR5cGUgPSBcIlZcIjtcclxuICAgICAgc3RvY2tIaXN0b3J5SW5mb3JtYXRpb24uZ29vZElkID0gdGhpcy5hcnRpY2xlLmdvb2RJZC50b1N0cmluZygpO1xyXG4gICAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tIaXN0b3J5KHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uKS50aGVuKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgdGhpcy5zdG9ja0hpc3RvcnkgPSByZXN1bHRcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0T3JkZXJTdXBwbHlTdG9ja0hpc3RvcnkoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMub3JkZXJTdXBwbHlTdG9ja0hpc3RvcnkpIHtcclxuICAgICAgY29uc3Qgc3RvY2tIaXN0b3J5SW5mb3JtYXRpb246IEdldFN0b2NrSGlzdG9yeVJlcXVlc3QgPSBuZXcgR2V0U3RvY2tIaXN0b3J5UmVxdWVzdCgpO1xyXG4gICAgICBzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbi50eXBlID0gXCJPXCI7XHJcbiAgICAgIHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uLmdvb2RJZCA9IHRoaXMuYXJ0aWNsZS5nb29kSWQudG9TdHJpbmcoKTtcclxuICAgICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldFN0b2NrSGlzdG9yeShzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbikudGhlbiggcmVzdWx0ID0+IHtcclxuICAgICAgICB0aGlzLm9yZGVyU3VwcGx5U3RvY2tIaXN0b3J5ID0gcmVzdWx0O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRPcmRlckNvbW1pc3Npb25TdG9ja0hpc3RvcnkoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMub3JkZXJDb21taXNzaW9uU3RvY2tIaXN0b3J5KSB7XHJcbiAgICAgIGNvbnN0IHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uOiBHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0ID0gbmV3IEdldFN0b2NrSGlzdG9yeVJlcXVlc3QoKTtcclxuICAgICAgc3RvY2tIaXN0b3J5SW5mb3JtYXRpb24udHlwZSA9IFwiQ1wiO1xyXG4gICAgICBzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbi5nb29kSWQgPSB0aGlzLmFydGljbGUuZ29vZElkLnRvU3RyaW5nKCk7XHJcbiAgICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRTdG9ja0hpc3Rvcnkoc3RvY2tIaXN0b3J5SW5mb3JtYXRpb24pLnRoZW4oIHJlc3VsdCA9PiB7XHJcbiAgICAgICAgdGhpcy5vcmRlckNvbW1pc3Npb25TdG9ja0hpc3RvcnkgPSByZXN1bHQ7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldE9yZGVyU3RvY2tIaXN0b3J5KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLm9yZGVyU3RvY2tIaXN0b3J5KSB7XHJcbiAgICAgIGNvbnN0IHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uOiBHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0ID0gbmV3IEdldFN0b2NrSGlzdG9yeVJlcXVlc3QoKTtcclxuICAgICAgc3RvY2tIaXN0b3J5SW5mb3JtYXRpb24udHlwZSA9IFwiQlwiO1xyXG4gICAgICBzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbi5nb29kSWQgPSB0aGlzLmFydGljbGUuZ29vZElkLnRvU3RyaW5nKCk7XHJcbiAgICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRTdG9ja0hpc3Rvcnkoc3RvY2tIaXN0b3J5SW5mb3JtYXRpb24pLnRoZW4oIHJlc3VsdCA9PiB7XHJcbiAgICAgICAgdGhpcy5vcmRlclN0b2NrSGlzdG9yeSA9IHJlc3VsdDtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0QWxsb2NhdGlvblN0b2NrSGlzdG9yeSgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5vcmRlckFsbG9jYXRpb25TdG9ja0hpc3RvcnkpIHtcclxuICAgICAgY29uc3Qgc3RvY2tIaXN0b3J5SW5mb3JtYXRpb246IEdldFN0b2NrSGlzdG9yeVJlcXVlc3QgPSBuZXcgR2V0U3RvY2tIaXN0b3J5UmVxdWVzdCgpO1xyXG4gICAgICBzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbi50eXBlID0gXCJUXCI7XHJcbiAgICAgIHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uLmdvb2RJZCA9IHRoaXMuYXJ0aWNsZS5nb29kSWQudG9TdHJpbmcoKTtcclxuICAgICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldFN0b2NrSGlzdG9yeShzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbikudGhlbiggcmVzdWx0ID0+IHtcclxuICAgICAgICB0aGlzLm9yZGVyQWxsb2NhdGlvblN0b2NrSGlzdG9yeSA9IHJlc3VsdDtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0SW5PcmRlckRhdGEoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaW5PcmRlckluZm9ybWF0aW9uKSB7XHJcbiAgICAgIGNvbnN0IGluT3JkZXJEYXRhOiBBcnRpY2xlVHJhbnNhY3Rpb24gPSBuZXcgQXJ0aWNsZVRyYW5zYWN0aW9uKCk7XHJcbiAgICAgIGluT3JkZXJEYXRhLnR5cGUgPSBcIlZcIjtcclxuICAgICAgaW5PcmRlckRhdGEuZ29vZElkID0gdGhpcy5zdG9ja0luZm9ybWF0aW9uWzBdLmdvb2RJZC50b1N0cmluZygpO1xyXG4gICAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0QXJ0aWNsZVRyYW5zYWN0aW9uKGluT3JkZXJEYXRhKS50aGVuKCByZXN1bHQgPT4ge1xyXG4gICAgICAgIHRoaXMuaW5PcmRlckluZm9ybWF0aW9uID0gcmVzdWx0O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRPcmRlckRhdGEoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMub3JkZXJJbmZvcm1hdGlvbikge1xyXG4gICAgICBjb25zdCBvcmRlckRhdGE6IEFydGljbGVUcmFuc2FjdGlvbiA9IG5ldyBBcnRpY2xlVHJhbnNhY3Rpb24oKTtcclxuICAgICAgb3JkZXJEYXRhLnR5cGUgPSBcIklcIjtcclxuICAgICAgb3JkZXJEYXRhLmdvb2RJZCA9IHRoaXMuc3RvY2tJbmZvcm1hdGlvblswXS5nb29kSWQudG9TdHJpbmcoKTtcclxuICAgICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldEFydGljbGVUcmFuc2FjdGlvbihvcmRlckRhdGEpLnRoZW4oIHJlc3VsdCA9PiB7XHJcbiAgICAgICAgdGhpcy5vcmRlckluZm9ybWF0aW9uID0gcmVzdWx0O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTdG9ja1Byb2dub3NlKHdhcmVob3VzZU5vOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N0b2NrU2VydmljZS5zdG9ja1Byb2dub3NlKHRoaXMuYXJ0aWNsZS5nb29kSWQsIHdhcmVob3VzZU5vKS50aGVuKCByZXN1bHQgPT4ge1xyXG4gICAgICB0aGlzLnN0b2NrUHJvZ25vc2UgPSByZXN1bHQ7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVXYXJlaG91c2VTZWxlY3RlZChldmVudDogU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcyk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZFdhcmVob3VzZSA9IGV2ZW50O1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLndhcmVob3VzZVNlbGVjdGVkLmVtaXQoZXZlbnQpO1xyXG4gICAgaWYgKHRoaXMudGFic1sxXS5hY3RpdmUpIHtcclxuICAgICAgdGhpcy5nZXRTdG9ja1Byb2dub3NlKHRoaXMuc2VsZWN0ZWRXYXJlaG91c2Uud2FyZWhvdXNlTm8pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudGFic1syXS5hY3RpdmUpIHtcclxuICAgICAgdGhpcy5hcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uLndhcmVob3VzZU51bWJlciA9IGV2ZW50LndhcmVob3VzZU5vO1xyXG4gICAgICB0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24uZ29vZElkID0gdGhpcy5hcnRpY2xlLmdvb2RJZC50b1N0cmluZygpO1xyXG4gICAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0QXJ0aWNsZURldGFpbHModGhpcy5hcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uKS50aGVuKChkZXRhaWxzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5hcnRpY2xlRGV0YWlscyA9IGRldGFpbHM7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBwdWJsaWMgd2FyZUhvdXNlRm9yQ29kZSggY29kZTogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy53YXJlaG91c2VzLmZpbmQoIHdhcmVob3VzZSA9PiB3YXJlaG91c2Uud2FyZWhvdXNlTm8gPT09IGNvZGUpO1xyXG4gIH1cclxufVxyXG4iXX0=
|