@colijnit/sharedcomponents 255.1.20 → 255.1.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/bundles/colijnit-sharedcomponents.umd.js +491 -414
  2. package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
  3. package/colijnit-sharedcomponents.d.ts +94 -93
  4. package/colijnit-sharedcomponents.metadata.json +1 -1
  5. package/esm2015/colijnit-sharedcomponents.js +95 -94
  6. package/esm2015/lib/components/stock/base/base-stock.component.js +18 -0
  7. package/esm2015/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.js +46 -35
  8. package/esm2015/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.js +45 -34
  9. package/esm2015/lib/components/stock/components/order-stock-history/order-stock-history.component.js +46 -35
  10. package/esm2015/lib/components/stock/components/order-stock-tab/order-stock-tab.component.js +19 -8
  11. package/esm2015/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.js +46 -35
  12. package/esm2015/lib/components/stock/components/order-tab/order-tab.component.js +19 -8
  13. package/esm2015/lib/components/stock/components/stock-history/stock-history.component.js +20 -7
  14. package/esm2015/lib/components/stock/components/stock-location/stock-location.component.js +161 -141
  15. package/esm2015/lib/components/stock/components/stock-prognose/stock-prognose.component.js +26 -5
  16. package/esm2015/lib/components/stock/stock-tabs/stock-tabs.component.js +13 -115
  17. package/esm2015/lib/components/stock/stock.component.js +31 -32
  18. package/esm2015/lib/components/tab-bar/tab-bar.component.js +11 -8
  19. package/esm2015/lib/components/tab-bar/tab.interface.js +1 -1
  20. package/esm2015/lib/res/dictionary/dictionaries.js +3 -3
  21. package/fesm2015/colijnit-sharedcomponents.js +439 -425
  22. package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
  23. package/lib/components/stock/base/base-stock.component.d.ts +6 -0
  24. package/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.d.ts +9 -7
  25. package/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.d.ts +9 -7
  26. package/lib/components/stock/components/order-stock-history/order-stock-history.component.d.ts +9 -7
  27. package/lib/components/stock/components/order-stock-tab/order-stock-tab.component.d.ts +4 -2
  28. package/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.d.ts +9 -7
  29. package/lib/components/stock/components/order-tab/order-tab.component.d.ts +4 -3
  30. package/lib/components/stock/components/stock-history/stock-history.component.d.ts +4 -2
  31. package/lib/components/stock/components/stock-location/stock-location.component.d.ts +22 -18
  32. package/lib/components/stock/components/stock-prognose/stock-prognose.component.d.ts +7 -2
  33. package/lib/components/stock/stock-tabs/stock-tabs.component.d.ts +0 -28
  34. package/lib/components/stock/stock.component.d.ts +13 -13
  35. package/lib/components/stock/style/_material-definition.scss +1 -1
  36. package/lib/components/tab-bar/style/_layout.scss +2 -2
  37. package/lib/res/dictionary/dictionaries.d.ts +4 -0
  38. package/package.json +1 -1
@@ -1,10 +1,7 @@
1
1
  import { ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
2
2
  import { Icon } from '../../../enum/icon.enum';
3
- import { GetStockHistoryRequest } from '@colijnit/articleapi/build/model/get-stock-history-request';
4
3
  import { StockService } from '../../../service/stock.service';
5
- import { ArticleTransaction } from '@colijnit/articleapi/build/model/article-transaction';
6
4
  import { StockManagementWarehouses } from '@colijnit/articleapi/build/model/stock-management-warehouses.bo';
7
- import { ArticleStockManagement } from '@colijnit/articleapi/build/model/article-stock-management';
8
5
  import { SharedCfgName } from '../../../enum/shared-cfg-name.enum';
9
6
  import { SharedComponentsDictionaryService } from '../../../translation/shared-components-dictionary.service';
10
7
  export class StockTabsComponent {
@@ -17,19 +14,7 @@ export class StockTabsComponent {
17
14
  this.warehouses = [];
18
15
  this.transferIconClicked = new EventEmitter();
19
16
  this.sendMethodDialogClicked = new EventEmitter();
20
- this.stockLocations = [];
21
- this.stockHistory = [];
22
- this.orderSupplyStockHistory = [];
23
- this.orderCommissionStockHistory = [];
24
- this.orderStockHistory = [];
25
- this.orderAllocationStockHistory = [];
26
- this.inOrderInformation = [];
27
- this.orderInformation = [];
28
- this.stockPrognose = [];
29
17
  this.selectedWarehouse = new StockManagementWarehouses();
30
- this.articleDetailsInformation = new ArticleStockManagement();
31
- this.showWarehouseSelection = false;
32
- this.articleDetails = [];
33
18
  this.tabs = [];
34
19
  this.historyTabs = [];
35
20
  }
@@ -72,97 +57,12 @@ export class StockTabsComponent {
72
57
  this.handleWarehouseSelected(this.selectedWarehouse);
73
58
  this.getStockData(this.selectedWarehouse);
74
59
  }
75
- getStockHistory() {
76
- const stockHistoryInformation = new GetStockHistoryRequest();
77
- stockHistoryInformation.type = "V";
78
- stockHistoryInformation.goodId = this.article.goodId.toString();
79
- this._stockService.getStockHistory(stockHistoryInformation).then(result => {
80
- this.stockHistory = result;
81
- });
82
- }
83
- getOrderSupplyStockHistory() {
84
- const stockHistoryInformation = new GetStockHistoryRequest();
85
- stockHistoryInformation.type = "O";
86
- stockHistoryInformation.goodId = this.article.goodId.toString();
87
- this._stockService.getStockHistory(stockHistoryInformation).then(result => {
88
- this.orderSupplyStockHistory = result;
89
- });
90
- }
91
- getOrderCommissionStockHistory() {
92
- const stockHistoryInformation = new GetStockHistoryRequest();
93
- stockHistoryInformation.type = "C";
94
- stockHistoryInformation.goodId = this.article.goodId.toString();
95
- this._stockService.getStockHistory(stockHistoryInformation).then(result => {
96
- this.orderCommissionStockHistory = result;
97
- });
98
- }
99
- getOrderStockHistory() {
100
- const stockHistoryInformation = new GetStockHistoryRequest();
101
- stockHistoryInformation.type = "B";
102
- stockHistoryInformation.goodId = this.article.goodId.toString();
103
- this._stockService.getStockHistory(stockHistoryInformation).then(result => {
104
- this.orderStockHistory = result;
105
- });
106
- }
107
- getAllocationStockHistory() {
108
- const stockHistoryInformation = new GetStockHistoryRequest();
109
- stockHistoryInformation.type = "T";
110
- stockHistoryInformation.goodId = this.article.goodId.toString();
111
- this._stockService.getStockHistory(stockHistoryInformation).then(result => {
112
- this.orderAllocationStockHistory = result;
113
- });
114
- }
115
- getInOrderData() {
116
- const inOrderData = new ArticleTransaction();
117
- inOrderData.type = "V";
118
- inOrderData.goodId = this.stockInformation[0].goodId.toString();
119
- this._stockService.getArticleTransaction(inOrderData).then(result => {
120
- this.inOrderInformation = result;
121
- });
122
- }
123
- getOrderData() {
124
- const orderData = new ArticleTransaction();
125
- orderData.type = "I";
126
- orderData.goodId = this.stockInformation[0].goodId.toString();
127
- this._stockService.getArticleTransaction(orderData).then(result => {
128
- this.orderInformation = result;
129
- });
130
- }
131
- getStockPrognose(warehouseNo) {
132
- this._stockService.stockPrognose(this.article.goodId, warehouseNo).then(result => {
133
- this.stockPrognose = result;
134
- });
135
- }
136
60
  handleWarehouseSelected(event) {
137
61
  this.selectedWarehouse = event;
138
62
  this._stockService.warehouseSelected.emit(event);
139
- if (this.tabs[1].active) {
140
- this.getStockPrognose(this.selectedWarehouse.warehouseNo);
141
- }
142
- if (this.tabs[2].active) {
143
- this.articleDetailsInformation.warehouseNumber = event.warehouseNo;
144
- this.articleDetailsInformation.goodId = this.article.goodId.toString();
145
- this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {
146
- this.articleDetails = details;
147
- });
148
- }
149
- }
150
- getStockLocations() {
151
- this._stockService.getStockManagementLocations(this.selectedWarehouse.warehouseNo).then(result => {
152
- this.stockLocations = result;
153
- });
154
63
  }
155
64
  getStockData(warehouse) {
156
65
  this.handleWarehouseSelected(warehouse);
157
- this.getStockPrognose(warehouse.warehouseNo);
158
- this.getOrderData();
159
- this.getInOrderData();
160
- this.getAllocationStockHistory();
161
- this.getOrderStockHistory();
162
- this.getOrderCommissionStockHistory();
163
- this.getOrderSupplyStockHistory();
164
- this.getStockHistory();
165
- this.getStockLocations();
166
66
  this._changeDetector.markForCheck();
167
67
  this._changeDetector.detectChanges();
168
68
  }
@@ -191,52 +91,50 @@ StockTabsComponent.decorators = [
191
91
  ></co-stock-tab>
192
92
 
193
93
  <co-stock-prognose *ngIf="tabs[1].active"
194
- [stockPrognose]="stockPrognose"
94
+ [goodId]="article.goodId"
95
+ [warehouseNo]="selectedWarehouse.warehouseNo"
195
96
  ></co-stock-prognose>
196
97
 
197
98
  <co-stock-location *ngIf="tabs[2].active"
198
- [articleStockInfo]="articleDetails"
199
99
  [articleStockInformation]="stockInformation"
200
- [article]="article"
100
+ [goodId]="article.goodId"
101
+ [warehouseNo]="selectedWarehouse.warehouseNo"
201
102
  [articleFlat]="articleFlat"
202
- [selectedWarehouse]="selectedWarehouse"
203
103
  [dataWareHouseCode]="warehouses"
204
- [stockLocations]="stockLocations"
104
+ [showStockTransfer]="showStockTransfer"
205
105
  (transferIconClicked)="transferIconClicked.emit($event)"
206
106
  (sendMethodDialogClicked)="sendMethodDialogClicked.emit($event)"
207
- [showStockTransfer]="showStockTransfer"
208
107
  (showStockTransferChange)="onShowStockTransferChange($event)"
209
108
  ></co-stock-location>
210
109
 
211
110
  <co-order-tab *ngIf="tabs[3].active"
212
- [articleStockInformation]="stockInformation"
213
- [inOrderInformation]="inOrderInformation"
111
+ [goodId]="article.goodId"
214
112
  (transferIconClicked)="transferIconClicked.emit($event)"
215
113
  (sendMethodDialogClicked)="sendMethodDialogClicked.emit($event)"
216
114
  ></co-order-tab>
217
115
 
218
116
  <co-order-stock-tab *ngIf="tabs[4].active"
219
- [orderInformation]="orderInformation"
117
+ [goodId]="article.goodId"
220
118
  ></co-order-stock-tab>
221
119
 
222
120
  <co-stock-history *ngIf="historyTabs[0].active && tabs[5].active"
223
- [stockHistory]="stockHistory"
121
+ [goodId]="article.goodId"
224
122
  ></co-stock-history>
225
123
 
226
124
  <co-order-supply-stock-history *ngIf="historyTabs[1].active && tabs[5].active"
227
- [orderSupplyStockHistory]="orderSupplyStockHistory"
125
+ [goodId]="article.goodId"
228
126
  ></co-order-supply-stock-history>
229
127
 
230
128
  <co-order-stock-commission-history *ngIf="historyTabs[2].active && tabs[5].active"
231
- [orderStockCommissionHistory]="orderCommissionStockHistory"
129
+ [goodId]="article.goodId"
232
130
  ></co-order-stock-commission-history>
233
131
 
234
132
  <co-order-stock-history *ngIf="historyTabs[3].active && tabs[5].active"
235
- [orderStockHistory]="orderStockHistory"
133
+ [goodId]="article.goodId"
236
134
  ></co-order-stock-history>
237
135
 
238
136
  <co-allocation-stock-history *ngIf="historyTabs[4].active && tabs[5].active"
239
- [allocationStockHistory]="orderAllocationStockHistory"
137
+ [goodId]="article.goodId"
240
138
  ></co-allocation-stock-history>
241
139
 
242
140
  `,
@@ -257,4 +155,4 @@ StockTabsComponent.propDecorators = {
257
155
  transferIconClicked: [{ type: Output }],
258
156
  sendMethodDialogClicked: [{ type: Output }]
259
157
  };
260
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stdGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zdG9jay9zdG9jay10YWJzL3N0b2NrLXRhYnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRTdDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUc1RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUV4RixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUcxRyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUtqRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDakUsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUF5RTVHLE1BQU0sT0FBTyxrQkFBa0I7SUEyQzdCLFlBQ1UsYUFBMkIsRUFDM0Isa0JBQXFELEVBQ3JELGVBQWtDO1FBRmxDLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQzNCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUM7UUFDckQsb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBN0M1QixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUduQyxxQkFBZ0IsR0FBcUIsRUFBRSxDQUFDO1FBWXhDLGVBQVUsR0FBZ0MsRUFBRSxDQUFDO1FBR3BDLHdC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QkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBdEZPLFlBQVk7WUFjWixpQ0FBaUM7WUFsQmpDLGlCQUFpQjs7OytCQThGdEIsS0FBSztzQkFHTCxLQUFLOzBCQUdMLEtBQUs7Z0NBR0wsS0FBSzt5QkFHTCxLQUFLO2tDQUdMLE1BQU07c0NBR04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrIGFzIEFydGljbGVTdG9ja0JvfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLmJvJztcclxuaW1wb3J0IHtHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9nZXQtc3RvY2staGlzdG9yeS1yZXF1ZXN0JztcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2Uvc3RvY2suc2VydmljZSc7XHJcbmltcG9ydCB7U3RvY2tIaXN0b3J5Qm99IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWhpc3RvcnkuYm8nO1xyXG5pbXBvcnQge1RhYn0gZnJvbSAnLi4vLi4vdGFiLWJhci90YWIuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtBcnRpY2xlVHJhbnNhY3Rpb259IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtdHJhbnNhY3Rpb24nO1xyXG5pbXBvcnQge0FydGljbGVUcmFuc2FjdGlvbiBhcyBBcnRpY2xlVHJhbnNhY3Rpb25Cb30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS10cmFuc2FjdGlvbi5ibyc7XHJcbmltcG9ydCB7U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlc30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stbWFuYWdlbWVudC13YXJlaG91c2VzLmJvJztcclxuaW1wb3J0IHtQcmludFByaWNlU3RpY2tlcnN9IGZyb20gJ0Bjb2xpam5pdC9zaGFyZWRhcGkvYnVpbGQvbW9kZWwvcHJpbnQtcHJpY2Utc3RpY2tlcnMuYm8nO1xyXG5pbXBvcnQge1N0b2NrRm9yZWNhc3R9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWZvcmVjYXN0LmJvJztcclxuaW1wb3J0IHtBcnRpY2xlU3RvY2tNYW5hZ2VtZW50fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLW1hbmFnZW1lbnQnO1xyXG5pbXBvcnQge0FydGljbGVEZXRhaWxzQm99IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZGV0YWlscy5ibyc7XHJcbmltcG9ydCB7QXJ0aWNsZUV4dGVuZGVkfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWV4dGVuZGVkLmJvJztcclxuaW1wb3J0IHtBcnRpY2xlRmxhdH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1mbGF0LmJvJztcclxuaW1wb3J0IHtTdG9ja0xvY2F0aW9ufSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1sb2NhdGlvbi5ibyc7XHJcbmltcG9ydCB7U2hhcmVkQ2ZnTmFtZX0gZnJvbSAnLi4vLi4vLi4vZW51bS9zaGFyZWQtY2ZnLW5hbWUuZW51bSc7XHJcbmltcG9ydCB7U2hhcmVkQ29tcG9uZW50c0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi90cmFuc2xhdGlvbi9zaGFyZWQtY29tcG9uZW50cy1kaWN0aW9uYXJ5LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tc3RvY2stdGFic1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tdGFiLWJhciBbd2FyZUhvdXNlTGFiZWxdPVwiJ0NIT0lDRVMnIHwgc2hhcmVkTG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgW3dhcmVIb3VzZVNlYXJjaExhYmVsXT1cIidTRUFSQ0gnIHwgc2hhcmVkTG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgW3RhYnNdPVwidGFic1wiXHJcbiAgICAgICAgICAgICAgICBbZGF0YVdhcmVIb3VzZUNvZGVdPVwid2FyZWhvdXNlc1wiXHJcbiAgICAgICAgICAgICAgICBbc2VsZWN0ZWRXYXJlaG91c2VdPVwic2VsZWN0ZWRXYXJlaG91c2VcIlxyXG4gICAgICAgICAgICAgICAgW3NlY29uZGFyeVRhYnNdPVwiaGlzdG9yeVRhYnNcIlxyXG4gICAgICAgICAgICAgICAgW0FjdGl2YXRlU2Vjb25kYXJ5VGFic109XCJ0YWJzWzVdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICBbc2hvd1dhcmVob3VzZVNlbGVjdGlvbl09XCJ0YWJzWzFdLmFjdGl2ZSB8fCB0YWJzWzJdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAod2FyZWhvdXNlU2VsZWN0ZWQpPVwiaGFuZGxlV2FyZWhvdXNlU2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICA+PC9jby10YWItYmFyPlxyXG5cclxuICAgIDxjby1zdG9jay10YWIgKm5nSWY9XCJ0YWJzWzBdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFthcnRpY2xlU3RvY2tJbmZvcm1hdGlvbl09XCJzdG9ja0luZm9ybWF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgKGxvY2F0aW9uQ2xpY2tlZCk9XCJoYW5kbGVMb2NhdGlvbkNsaWNrZWQoJGV2ZW50KVwiXHJcbiAgICA+PC9jby1zdG9jay10YWI+XHJcblxyXG4gICAgPGNvLXN0b2NrLXByb2dub3NlICpuZ0lmPVwidGFic1sxXS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtzdG9ja1Byb2dub3NlXT1cInN0b2NrUHJvZ25vc2VcIlxyXG4gICAgPjwvY28tc3RvY2stcHJvZ25vc2U+XHJcblxyXG4gICAgPGNvLXN0b2NrLWxvY2F0aW9uICpuZ0lmPVwidGFic1syXS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFthcnRpY2xlU3RvY2tJbmZvXT1cImFydGljbGVEZXRhaWxzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZVN0b2NrSW5mb3JtYXRpb25dPVwic3RvY2tJbmZvcm1hdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2FydGljbGVdPVwiYXJ0aWNsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2FydGljbGVGbGF0XT1cImFydGljbGVGbGF0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRXYXJlaG91c2VdPVwic2VsZWN0ZWRXYXJlaG91c2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtkYXRhV2FyZUhvdXNlQ29kZV09XCJ3YXJlaG91c2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbc3RvY2tMb2NhdGlvbnNdPVwic3RvY2tMb2NhdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICh0cmFuc2Zlckljb25DbGlja2VkKT1cInRyYW5zZmVySWNvbkNsaWNrZWQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoc2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQpPVwic2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbc2hvd1N0b2NrVHJhbnNmZXJdPVwic2hvd1N0b2NrVHJhbnNmZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChzaG93U3RvY2tUcmFuc2ZlckNoYW5nZSk9XCJvblNob3dTdG9ja1RyYW5zZmVyQ2hhbmdlKCRldmVudClcIlxyXG4gICAgPjwvY28tc3RvY2stbG9jYXRpb24+XHJcblxyXG4gICAgPGNvLW9yZGVyLXRhYiAqbmdJZj1cInRhYnNbM10uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgW2FydGljbGVTdG9ja0luZm9ybWF0aW9uXT1cInN0b2NrSW5mb3JtYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICBbaW5PcmRlckluZm9ybWF0aW9uXT1cImluT3JkZXJJbmZvcm1hdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICh0cmFuc2Zlckljb25DbGlja2VkKT1cInRyYW5zZmVySWNvbkNsaWNrZWQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgKHNlbmRNZXRob2REaWFsb2dDbGlja2VkKT1cInNlbmRNZXRob2REaWFsb2dDbGlja2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICA+PC9jby1vcmRlci10YWI+XHJcblxyXG4gICAgPGNvLW9yZGVyLXN0b2NrLXRhYiAqbmdJZj1cInRhYnNbNF0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW29yZGVySW5mb3JtYXRpb25dPVwib3JkZXJJbmZvcm1hdGlvblwiXHJcbiAgICA+PC9jby1vcmRlci1zdG9jay10YWI+XHJcblxyXG4gICAgPGNvLXN0b2NrLWhpc3RvcnkgKm5nSWY9XCJoaXN0b3J5VGFic1swXS5hY3RpdmUgJiYgdGFic1s1XS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3N0b2NrSGlzdG9yeV09XCJzdG9ja0hpc3RvcnlcIlxyXG4gICAgPjwvY28tc3RvY2staGlzdG9yeT5cclxuXHJcbiAgICA8Y28tb3JkZXItc3VwcGx5LXN0b2NrLWhpc3RvcnkgKm5nSWY9XCJoaXN0b3J5VGFic1sxXS5hY3RpdmUgJiYgdGFic1s1XS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvcmRlclN1cHBseVN0b2NrSGlzdG9yeV09XCJvcmRlclN1cHBseVN0b2NrSGlzdG9yeVwiXHJcbiAgICA+PC9jby1vcmRlci1zdXBwbHktc3RvY2staGlzdG9yeT5cclxuXHJcbiAgICA8Y28tb3JkZXItc3RvY2stY29tbWlzc2lvbi1oaXN0b3J5ICpuZ0lmPVwiaGlzdG9yeVRhYnNbMl0uYWN0aXZlICYmIHRhYnNbNV0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29yZGVyU3RvY2tDb21taXNzaW9uSGlzdG9yeV09XCJvcmRlckNvbW1pc3Npb25TdG9ja0hpc3RvcnlcIlxyXG4gICAgPjwvY28tb3JkZXItc3RvY2stY29tbWlzc2lvbi1oaXN0b3J5PlxyXG5cclxuICAgIDxjby1vcmRlci1zdG9jay1oaXN0b3J5ICpuZ0lmPVwiaGlzdG9yeVRhYnNbM10uYWN0aXZlICYmIHRhYnNbNV0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvcmRlclN0b2NrSGlzdG9yeV09XCJvcmRlclN0b2NrSGlzdG9yeVwiXHJcbiAgICA+PC9jby1vcmRlci1zdG9jay1oaXN0b3J5PlxyXG5cclxuICAgIDxjby1hbGxvY2F0aW9uLXN0b2NrLWhpc3RvcnkgKm5nSWY9XCJoaXN0b3J5VGFic1s0XS5hY3RpdmUgJiYgdGFic1s1XS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsb2NhdGlvblN0b2NrSGlzdG9yeV09XCJvcmRlckFsbG9jYXRpb25TdG9ja0hpc3RvcnlcIlxyXG4gICAgPjwvY28tYWxsb2NhdGlvbi1zdG9jay1oaXN0b3J5PlxyXG5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0b2NrVGFic0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHN0b2NrSW5mb3JtYXRpb246IEFydGljbGVTdG9ja0JvW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZTogQXJ0aWNsZUV4dGVuZGVkO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlRmxhdDogQXJ0aWNsZUZsYXQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dTdG9ja1RyYW5zZmVyOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB3YXJlaG91c2VzOiBTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzW10gPSBbXTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zZmVySWNvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxBcnRpY2xlU3RvY2tCbz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBzZW5kTWV0aG9kRGlhbG9nQ2xpY2tlZDogRXZlbnRFbWl0dGVyPFByaW50UHJpY2VTdGlja2Vycz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cclxuICBwdWJsaWMgc3RvY2tMb2NhdGlvbnM6IFN0b2NrTG9jYXRpb25bXSA9IFtdO1xyXG4gIHB1YmxpYyBzZWxlY3RlZExvY2F0aW9uTm86IHN0cmluZztcclxuICBwdWJsaWMgc3RvY2tIaXN0b3J5OiBTdG9ja0hpc3RvcnlCb1tdID0gW107XHJcbiAgcHVibGljIG9yZGVyU3VwcGx5U3RvY2tIaXN0b3J5OiBTdG9ja0hpc3RvcnlCb1tdID0gW107XHJcbiAgcHVibGljIG9yZGVyQ29tbWlzc2lvblN0b2NrSGlzdG9yeTogU3RvY2tIaXN0b3J5Qm9bXSA9IFtdO1xyXG4gIHB1YmxpYyBvcmRlclN0b2NrSGlzdG9yeTogU3RvY2tIaXN0b3J5Qm9bXSA9IFtdO1xyXG4gIHB1YmxpYyBvcmRlckFsbG9jYXRpb25TdG9ja0hpc3Rvcnk6IFN0b2NrSGlzdG9yeUJvW10gPSBbXTtcclxuICBwdWJsaWMgaW5PcmRlckluZm9ybWF0aW9uOiBBcnRpY2xlVHJhbnNhY3Rpb25Cb1tdID0gW107XHJcbiAgcHVibGljIG9yZGVySW5mb3JtYXRpb246IEFydGljbGVUcmFuc2FjdGlvbkJvW10gPSBbXTtcclxuICBwdWJsaWMgc3RvY2tQcm9nbm9zZTogU3RvY2tGb3JlY2FzdFtdID0gW107XHJcbiAgcHVibGljIHNlbGVjdGVkV2FyZWhvdXNlOiBTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzID0gbmV3IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoKTtcclxuICBwdWJsaWMgYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbjogQXJ0aWNsZVN0b2NrTWFuYWdlbWVudCA9IG5ldyBBcnRpY2xlU3RvY2tNYW5hZ2VtZW50KClcclxuICBwdWJsaWMgc2hvd1dhcmVob3VzZVNlbGVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBhcnRpY2xlRGV0YWlsczogQXJ0aWNsZURldGFpbHNCb1tdID0gW107XHJcblxyXG4gIHB1YmxpYyB0YWJzOiBUYWJbXSA9IFtdO1xyXG4gIHB1YmxpYyBoaXN0b3J5VGFiczogVGFiW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zdG9ja1NlcnZpY2U6IFN0b2NrU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpY3Rpb25hcnlTZXJ2aWNlOiBTaGFyZWRDb21wb25lbnRzRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcblxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnRhYnMgPSBbXHJcbiAgICAgIHt0aXRsZTogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdPVkVSVklFVycpLCBhY3RpdmU6IHRydWUsIGNmZzogU2hhcmVkQ2ZnTmFtZS5PdmVydmlld0RldGFpbHN9LFxyXG4gICAgICB7dGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnU1RPQ0tfRk9SRUNBU1QnKSwgYWN0aXZlOiBmYWxzZSwgY2ZnOiBTaGFyZWRDZmdOYW1lLlN0b2NrRm9yZWNhc3R9LFxyXG4gICAgICB7dGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnU1RPQ0tfREVUQUlMUycpLCBhY3RpdmU6IGZhbHNlLCBjZmc6IFNoYXJlZENmZ05hbWUuSW52ZW50b3J5Rm9yZWNhc3R9LFxyXG4gICAgICB7dGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnQUxSRUFEWV9JTl9PUkRFUicpLCBhY3RpdmU6IGZhbHNlLCBjZmc6IFNoYXJlZENmZ05hbWUuSW52ZW50b3J5RGV0YWlsc30sXHJcbiAgICAgIHt0aXRsZTogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdJTl9PUkRFUicpLCBhY3RpdmU6IGZhbHNlLCBjZmc6IFNoYXJlZENmZ05hbWUuSW5PcmRlcn0sXHJcbiAgICAgIHt0aXRsZTogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdISVNUT1JZJyksIGFjdGl2ZTogZmFsc2UsIGNmZzogU2hhcmVkQ2ZnTmFtZS5IaXN0b3J5fSxcclxuICAgIF07XHJcblxyXG4gICAgdGhpcy5oaXN0b3J5VGFicyA9IFtcclxuICAgICAge3RpdGxlOiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ1NUT0NLJyksIGFjdGl2ZTogdHJ1ZSwgY2ZnOiBTaGFyZWRDZmdOYW1lLkhpc3RvcnlTdG9ja30sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdPUkRFUl9TVE9DSycpLFxyXG4gICAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICAgICAgY2ZnOiBTaGFyZWRDZmdOYW1lLkhpc3RvcnlPcmRlclN0b2NrXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdPUkRFUl9DT01NSVNTSU9OJyksXHJcbiAgICAgICAgYWN0aXZlOiBmYWxzZSxcclxuICAgICAgICBjZmc6IFNoYXJlZENmZ05hbWUuSGlzdG9yeU9yZGVyQ29tbWlzc2lvblxyXG4gICAgICB9LFxyXG4gICAgICB7dGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnT1JERVInKSwgYWN0aXZlOiBmYWxzZSwgY2ZnOiBTaGFyZWRDZmdOYW1lLkhpc3RvcnlPcmRlcn0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdBTExPQ0FUSU9OJyksXHJcbiAgICAgICAgYWN0aXZlOiBmYWxzZSxcclxuICAgICAgICBjZmc6IFNoYXJlZENmZ05hbWUuSGlzdG9yeUFzc2lnblxyXG4gICAgICB9LFxyXG4gICAgXTtcclxuXHJcblxyXG4gIH1cclxuICBwdWJsaWMgb25TaG93U3RvY2tUcmFuc2ZlckNoYW5nZShzaG93OiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnNob3dTdG9ja1RyYW5zZmVyID0gc2hvdztcclxuICB9XHJcbiAgcHVibGljIGhhbmRsZUxvY2F0aW9uQ2xpY2tlZChkYXRhOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMudGFic1swXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgIHRoaXMudGFic1syXS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgdGhpcy5zZWxlY3RlZFdhcmVob3VzZSA9IHRoaXMud2FyZUhvdXNlRm9yQ29kZShwYXJzZUludChkYXRhKSk7XHJcbiAgICB0aGlzLmhhbmRsZVdhcmVob3VzZVNlbGVjdGVkKHRoaXMuc2VsZWN0ZWRXYXJlaG91c2UpO1xyXG4gICAgdGhpcy5nZXRTdG9ja0RhdGEodGhpcy5zZWxlY3RlZFdhcmVob3VzZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U3RvY2tIaXN0b3J5KCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc3RvY2tIaXN0b3J5SW5mb3JtYXRpb246IEdldFN0b2NrSGlzdG9yeVJlcXVlc3QgPSBuZXcgR2V0U3RvY2tIaXN0b3J5UmVxdWVzdCgpO1xyXG4gICAgc3RvY2tIaXN0b3J5SW5mb3JtYXRpb24udHlwZSA9IFwiVlwiO1xyXG4gICAgc3RvY2tIaXN0b3J5SW5mb3JtYXRpb24uZ29vZElkID0gdGhpcy5hcnRpY2xlLmdvb2RJZC50b1N0cmluZygpO1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldFN0b2NrSGlzdG9yeShzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbikudGhlbihyZXN1bHQgPT4ge1xyXG4gICAgICB0aGlzLnN0b2NrSGlzdG9yeSA9IHJlc3VsdFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0T3JkZXJTdXBwbHlTdG9ja0hpc3RvcnkoKTogdm9pZCB7XHJcbiAgICBjb25zdCBzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbjogR2V0U3RvY2tIaXN0b3J5UmVxdWVzdCA9IG5ldyBHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0KCk7XHJcbiAgICBzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbi50eXBlID0gXCJPXCI7XHJcbiAgICBzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbi5nb29kSWQgPSB0aGlzLmFydGljbGUuZ29vZElkLnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tIaXN0b3J5KHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uKS50aGVuKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMub3JkZXJTdXBwbHlTdG9ja0hpc3RvcnkgPSByZXN1bHQ7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRPcmRlckNvbW1pc3Npb25TdG9ja0hpc3RvcnkoKTogdm9pZCB7XHJcbiAgICBjb25zdCBzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbjogR2V0U3RvY2tIaXN0b3J5UmVxdWVzdCA9IG5ldyBHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0KCk7XHJcbiAgICBzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbi50eXBlID0gXCJDXCI7XHJcbiAgICBzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbi5nb29kSWQgPSB0aGlzLmFydGljbGUuZ29vZElkLnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tIaXN0b3J5KHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uKS50aGVuKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMub3JkZXJDb21taXNzaW9uU3RvY2tIaXN0b3J5ID0gcmVzdWx0O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0T3JkZXJTdG9ja0hpc3RvcnkoKTogdm9pZCB7XHJcbiAgICBjb25zdCBzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbjogR2V0U3RvY2tIaXN0b3J5UmVxdWVzdCA9IG5ldyBHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0KCk7XHJcbiAgICBzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbi50eXBlID0gXCJCXCI7XHJcbiAgICBzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbi5nb29kSWQgPSB0aGlzLmFydGljbGUuZ29vZElkLnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tIaXN0b3J5KHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uKS50aGVuKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMub3JkZXJTdG9ja0hpc3RvcnkgPSByZXN1bHQ7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRBbGxvY2F0aW9uU3RvY2tIaXN0b3J5KCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc3RvY2tIaXN0b3J5SW5mb3JtYXRpb246IEdldFN0b2NrSGlzdG9yeVJlcXVlc3QgPSBuZXcgR2V0U3RvY2tIaXN0b3J5UmVxdWVzdCgpO1xyXG4gICAgc3RvY2tIaXN0b3J5SW5mb3JtYXRpb24udHlwZSA9IFwiVFwiO1xyXG4gICAgc3RvY2tIaXN0b3J5SW5mb3JtYXRpb24uZ29vZElkID0gdGhpcy5hcnRpY2xlLmdvb2RJZC50b1N0cmluZygpO1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldFN0b2NrSGlzdG9yeShzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbikudGhlbihyZXN1bHQgPT4ge1xyXG4gICAgICB0aGlzLm9yZGVyQWxsb2NhdGlvblN0b2NrSGlzdG9yeSA9IHJlc3VsdDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEluT3JkZXJEYXRhKCk6IHZvaWQge1xyXG4gICAgY29uc3QgaW5PcmRlckRhdGE6IEFydGljbGVUcmFuc2FjdGlvbiA9IG5ldyBBcnRpY2xlVHJhbnNhY3Rpb24oKTtcclxuICAgIGluT3JkZXJEYXRhLnR5cGUgPSBcIlZcIjtcclxuICAgIGluT3JkZXJEYXRhLmdvb2RJZCA9IHRoaXMuc3RvY2tJbmZvcm1hdGlvblswXS5nb29kSWQudG9TdHJpbmcoKTtcclxuICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRBcnRpY2xlVHJhbnNhY3Rpb24oaW5PcmRlckRhdGEpLnRoZW4ocmVzdWx0ID0+IHtcclxuICAgICAgdGhpcy5pbk9yZGVySW5mb3JtYXRpb24gPSByZXN1bHQ7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRPcmRlckRhdGEoKTogdm9pZCB7XHJcbiAgICBjb25zdCBvcmRlckRhdGE6IEFydGljbGVUcmFuc2FjdGlvbiA9IG5ldyBBcnRpY2xlVHJhbnNhY3Rpb24oKTtcclxuICAgIG9yZGVyRGF0YS50eXBlID0gXCJJXCI7XHJcbiAgICBvcmRlckRhdGEuZ29vZElkID0gdGhpcy5zdG9ja0luZm9ybWF0aW9uWzBdLmdvb2RJZC50b1N0cmluZygpO1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldEFydGljbGVUcmFuc2FjdGlvbihvcmRlckRhdGEpLnRoZW4ocmVzdWx0ID0+IHtcclxuICAgICAgdGhpcy5vcmRlckluZm9ybWF0aW9uID0gcmVzdWx0O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U3RvY2tQcm9nbm9zZSh3YXJlaG91c2VObzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2Uuc3RvY2tQcm9nbm9zZSh0aGlzLmFydGljbGUuZ29vZElkLCB3YXJlaG91c2VObykudGhlbihyZXN1bHQgPT4ge1xyXG4gICAgICB0aGlzLnN0b2NrUHJvZ25vc2UgPSByZXN1bHQ7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVXYXJlaG91c2VTZWxlY3RlZChldmVudDogU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcyk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZFdhcmVob3VzZSA9IGV2ZW50O1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLndhcmVob3VzZVNlbGVjdGVkLmVtaXQoZXZlbnQpO1xyXG4gICAgaWYgKHRoaXMudGFic1sxXS5hY3RpdmUpIHtcclxuICAgICAgdGhpcy5nZXRTdG9ja1Byb2dub3NlKHRoaXMuc2VsZWN0ZWRXYXJlaG91c2Uud2FyZWhvdXNlTm8pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudGFic1syXS5hY3RpdmUpIHtcclxuICAgICAgdGhpcy5hcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uLndhcmVob3VzZU51bWJlciA9IGV2ZW50LndhcmVob3VzZU5vO1xyXG4gICAgICB0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24uZ29vZElkID0gdGhpcy5hcnRpY2xlLmdvb2RJZC50b1N0cmluZygpO1xyXG4gICAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0QXJ0aWNsZURldGFpbHModGhpcy5hcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uKS50aGVuKChkZXRhaWxzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5hcnRpY2xlRGV0YWlscyA9IGRldGFpbHM7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTdG9ja0xvY2F0aW9ucygpIHtcclxuICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRTdG9ja01hbmFnZW1lbnRMb2NhdGlvbnModGhpcy5zZWxlY3RlZFdhcmVob3VzZS53YXJlaG91c2VObykudGhlbiggcmVzdWx0ID0+IHtcclxuICAgICAgdGhpcy5zdG9ja0xvY2F0aW9ucyA9IHJlc3VsdDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFN0b2NrRGF0YSh3YXJlaG91c2U6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMpIHtcclxuICAgIHRoaXMuaGFuZGxlV2FyZWhvdXNlU2VsZWN0ZWQod2FyZWhvdXNlKTtcclxuICAgIHRoaXMuZ2V0U3RvY2tQcm9nbm9zZSh3YXJlaG91c2Uud2FyZWhvdXNlTm8pO1xyXG4gICAgdGhpcy5nZXRPcmRlckRhdGEoKTtcclxuICAgIHRoaXMuZ2V0SW5PcmRlckRhdGEoKTtcclxuICAgIHRoaXMuZ2V0QWxsb2NhdGlvblN0b2NrSGlzdG9yeSgpO1xyXG4gICAgdGhpcy5nZXRPcmRlclN0b2NrSGlzdG9yeSgpO1xyXG4gICAgdGhpcy5nZXRPcmRlckNvbW1pc3Npb25TdG9ja0hpc3RvcnkoKTtcclxuICAgIHRoaXMuZ2V0T3JkZXJTdXBwbHlTdG9ja0hpc3RvcnkoKTtcclxuICAgIHRoaXMuZ2V0U3RvY2tIaXN0b3J5KCk7XHJcbiAgICB0aGlzLmdldFN0b2NrTG9jYXRpb25zKCk7XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB3YXJlSG91c2VGb3JDb2RlKGNvZGU6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMud2FyZWhvdXNlcy5maW5kKHdhcmVob3VzZSA9PiB3YXJlaG91c2Uud2FyZWhvdXNlTm8gPT09IGNvZGUpO1xyXG4gIH1cclxufVxyXG4iXX0=
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stdGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zdG9jay9zdG9jay10YWJzL3N0b2NrLXRhYnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRTdDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU1RCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUkxRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDakUsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUF1RTVHLE1BQU0sT0FBTyxrQkFBa0I7SUE0QjdCLFlBQ1UsYUFBMkIsRUFDM0Isa0JBQXFELEVBQ3JELGVBQWtDO1FBRmxDLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQzNCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUM7UUFDckQsb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBOUI1QixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUduQyxxQkFBZ0IsR0FBcUIsRUFBRSxDQUFDO1FBWXhDLGVBQVUsR0FBZ0MsRUFBRSxDQUFDO1FBR3BDLHdCQUFtQixHQUFpQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3ZFLDRCQUF1QixHQUFxQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXhGLHNCQUFpQixHQUE4QixJQUFJLHlCQUF5QixFQUFFLENBQUM7UUFDL0UsU0FBSSxHQUFVLEVBQUUsQ0FB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Q0FBQztRQUNyRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxLQUFnQztRQUM3RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTSxZQUFZLENBQUMsU0FBb0M7UUFDdEQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsSUFBWTtRQUNsQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsQ0FBQztJQUMzRSxDQUFDOzs7WUFoS0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnRVQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQTdFTyxZQUFZO1lBT1osaUNBQWlDO1lBVmpDLGlCQUFpQjs7OytCQW9GdEIsS0FBSztzQkFHTCxLQUFLOzBCQUdMLEtBQUs7Z0NBR0wsS0FBSzt5QkFHTCxLQUFLO2tDQUdMLE1BQU07c0NBR04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrIGFzIEFydGljbGVTdG9ja0JvfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLmJvJztcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2Uvc3RvY2suc2VydmljZSc7XHJcbmltcG9ydCB7VGFifSBmcm9tICcuLi8uLi90YWItYmFyL3RhYi5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge1N0b2NrTWFuYWdlbWVudFdhcmVob3VzZXN9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLW1hbmFnZW1lbnQtd2FyZWhvdXNlcy5ibyc7XHJcbmltcG9ydCB7UHJpbnRQcmljZVN0aWNrZXJzfSBmcm9tICdAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3ByaW50LXByaWNlLXN0aWNrZXJzLmJvJztcclxuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQuYm8nO1xyXG5pbXBvcnQge0FydGljbGVGbGF0fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWZsYXQuYm8nO1xyXG5pbXBvcnQge1NoYXJlZENmZ05hbWV9IGZyb20gJy4uLy4uLy4uL2VudW0vc2hhcmVkLWNmZy1uYW1lLmVudW0nO1xyXG5pbXBvcnQge1NoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vdHJhbnNsYXRpb24vc2hhcmVkLWNvbXBvbmVudHMtZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXN0b2NrLXRhYnNcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGNvLXRhYi1iYXIgW3dhcmVIb3VzZUxhYmVsXT1cIidDSE9JQ0VTJyB8IHNoYXJlZExvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgIFt3YXJlSG91c2VTZWFyY2hMYWJlbF09XCInU0VBUkNIJyB8IHNoYXJlZExvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgIFt0YWJzXT1cInRhYnNcIlxyXG4gICAgICAgICAgICAgICAgW2RhdGFXYXJlSG91c2VDb2RlXT1cIndhcmVob3VzZXNcIlxyXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkV2FyZWhvdXNlXT1cInNlbGVjdGVkV2FyZWhvdXNlXCJcclxuICAgICAgICAgICAgICAgIFtzZWNvbmRhcnlUYWJzXT1cImhpc3RvcnlUYWJzXCJcclxuICAgICAgICAgICAgICAgIFtBY3RpdmF0ZVNlY29uZGFyeVRhYnNdPVwidGFic1s1XS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgW3Nob3dXYXJlaG91c2VTZWxlY3Rpb25dPVwidGFic1sxXS5hY3RpdmUgfHwgdGFic1syXS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgKHdhcmVob3VzZVNlbGVjdGVkKT1cImhhbmRsZVdhcmVob3VzZVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgPjwvY28tdGFiLWJhcj5cclxuXHJcbiAgICA8Y28tc3RvY2stdGFiICpuZ0lmPVwidGFic1swXS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICBbYXJ0aWNsZVN0b2NrSW5mb3JtYXRpb25dPVwic3RvY2tJbmZvcm1hdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgIChsb2NhdGlvbkNsaWNrZWQpPVwiaGFuZGxlTG9jYXRpb25DbGlja2VkKCRldmVudClcIlxyXG4gICAgPjwvY28tc3RvY2stdGFiPlxyXG5cclxuICAgIDxjby1zdG9jay1wcm9nbm9zZSAqbmdJZj1cInRhYnNbMV0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbZ29vZElkXT1cImFydGljbGUuZ29vZElkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbd2FyZWhvdXNlTm9dPVwic2VsZWN0ZWRXYXJlaG91c2Uud2FyZWhvdXNlTm9cIlxyXG4gICAgPjwvY28tc3RvY2stcHJvZ25vc2U+XHJcblxyXG4gICAgPGNvLXN0b2NrLWxvY2F0aW9uICpuZ0lmPVwidGFic1syXS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFthcnRpY2xlU3RvY2tJbmZvcm1hdGlvbl09XCJzdG9ja0luZm9ybWF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbZ29vZElkXT1cImFydGljbGUuZ29vZElkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbd2FyZWhvdXNlTm9dPVwic2VsZWN0ZWRXYXJlaG91c2Uud2FyZWhvdXNlTm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFthcnRpY2xlRmxhdF09XCJhcnRpY2xlRmxhdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFXYXJlSG91c2VDb2RlXT1cIndhcmVob3VzZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtzaG93U3RvY2tUcmFuc2Zlcl09XCJzaG93U3RvY2tUcmFuc2ZlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKHRyYW5zZmVySWNvbkNsaWNrZWQpPVwidHJhbnNmZXJJY29uQ2xpY2tlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChzZW5kTWV0aG9kRGlhbG9nQ2xpY2tlZCk9XCJzZW5kTWV0aG9kRGlhbG9nQ2xpY2tlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChzaG93U3RvY2tUcmFuc2ZlckNoYW5nZSk9XCJvblNob3dTdG9ja1RyYW5zZmVyQ2hhbmdlKCRldmVudClcIlxyXG4gICAgPjwvY28tc3RvY2stbG9jYXRpb24+XHJcblxyXG4gICAgPGNvLW9yZGVyLXRhYiAqbmdJZj1cInRhYnNbM10uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgW2dvb2RJZF09XCJhcnRpY2xlLmdvb2RJZFwiXHJcbiAgICAgICAgICAgICAgICAgICh0cmFuc2Zlckljb25DbGlja2VkKT1cInRyYW5zZmVySWNvbkNsaWNrZWQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgKHNlbmRNZXRob2REaWFsb2dDbGlja2VkKT1cInNlbmRNZXRob2REaWFsb2dDbGlja2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICA+PC9jby1vcmRlci10YWI+XHJcblxyXG4gICAgPGNvLW9yZGVyLXN0b2NrLXRhYiAqbmdJZj1cInRhYnNbNF0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2dvb2RJZF09XCJhcnRpY2xlLmdvb2RJZFwiXHJcbiAgICA+PC9jby1vcmRlci1zdG9jay10YWI+XHJcblxyXG4gICAgPGNvLXN0b2NrLWhpc3RvcnkgKm5nSWY9XCJoaXN0b3J5VGFic1swXS5hY3RpdmUgJiYgdGFic1s1XS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2dvb2RJZF09XCJhcnRpY2xlLmdvb2RJZFwiXHJcbiAgICA+PC9jby1zdG9jay1oaXN0b3J5PlxyXG5cclxuICAgIDxjby1vcmRlci1zdXBwbHktc3RvY2staGlzdG9yeSAqbmdJZj1cImhpc3RvcnlUYWJzWzFdLmFjdGl2ZSAmJiB0YWJzWzVdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dvb2RJZF09XCJhcnRpY2xlLmdvb2RJZFwiXHJcbiAgICA+PC9jby1vcmRlci1zdXBwbHktc3RvY2staGlzdG9yeT5cclxuXHJcbiAgICA8Y28tb3JkZXItc3RvY2stY29tbWlzc2lvbi1oaXN0b3J5ICpuZ0lmPVwiaGlzdG9yeVRhYnNbMl0uYWN0aXZlICYmIHRhYnNbNV0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dvb2RJZF09XCJhcnRpY2xlLmdvb2RJZFwiXHJcbiAgICA+PC9jby1vcmRlci1zdG9jay1jb21taXNzaW9uLWhpc3Rvcnk+XHJcblxyXG4gICAgPGNvLW9yZGVyLXN0b2NrLWhpc3RvcnkgKm5nSWY9XCJoaXN0b3J5VGFic1szXS5hY3RpdmUgJiYgdGFic1s1XS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dvb2RJZF09XCJhcnRpY2xlLmdvb2RJZFwiXHJcbiAgICA+PC9jby1vcmRlci1zdG9jay1oaXN0b3J5PlxyXG5cclxuICAgIDxjby1hbGxvY2F0aW9uLXN0b2NrLWhpc3RvcnkgKm5nSWY9XCJoaXN0b3J5VGFic1s0XS5hY3RpdmUgJiYgdGFic1s1XS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZ29vZElkXT1cImFydGljbGUuZ29vZElkXCJcclxuICAgID48L2NvLWFsbG9jYXRpb24tc3RvY2staGlzdG9yeT5cclxuXHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9ja1RhYnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzdG9ja0luZm9ybWF0aW9uOiBBcnRpY2xlU3RvY2tCb1tdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGU6IEFydGljbGVFeHRlbmRlZDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZUZsYXQ6IEFydGljbGVGbGF0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93U3RvY2tUcmFuc2ZlcjogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgd2FyZWhvdXNlczogU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlc1tdID0gW107XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2Zlckljb25DbGlja2VkOiBFdmVudEVtaXR0ZXI8QXJ0aWNsZVN0b2NrQm8+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgc2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQ6IEV2ZW50RW1pdHRlcjxQcmludFByaWNlU3RpY2tlcnM+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBwdWJsaWMgc2VsZWN0ZWRXYXJlaG91c2U6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMgPSBuZXcgU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcygpO1xyXG4gIHB1YmxpYyB0YWJzOiBUYWJbXSA9IFtdO1xyXG4gIHB1YmxpYyBoaXN0b3J5VGFiczogVGFiW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zdG9ja1NlcnZpY2U6IFN0b2NrU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpY3Rpb25hcnlTZXJ2aWNlOiBTaGFyZWRDb21wb25lbnRzRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy50YWJzID0gW1xyXG4gICAgICB7dGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnT1ZFUlZJRVcnKSwgYWN0aXZlOiB0cnVlLCBjZmc6IFNoYXJlZENmZ05hbWUuT3ZlcnZpZXdEZXRhaWxzfSxcclxuICAgICAge3RpdGxlOiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ1NUT0NLX0ZPUkVDQVNUJyksIGFjdGl2ZTogZmFsc2UsIGNmZzogU2hhcmVkQ2ZnTmFtZS5TdG9ja0ZvcmVjYXN0fSxcclxuICAgICAge3RpdGxlOiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ1NUT0NLX0RFVEFJTFMnKSwgYWN0aXZlOiBmYWxzZSwgY2ZnOiBTaGFyZWRDZmdOYW1lLkludmVudG9yeUZvcmVjYXN0fSxcclxuICAgICAge3RpdGxlOiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ0FMUkVBRFlfSU5fT1JERVInKSwgYWN0aXZlOiBmYWxzZSwgY2ZnOiBTaGFyZWRDZmdOYW1lLkludmVudG9yeURldGFpbHN9LFxyXG4gICAgICB7dGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnSU5fT1JERVInKSwgYWN0aXZlOiBmYWxzZSwgY2ZnOiBTaGFyZWRDZmdOYW1lLkluT3JkZXJ9LFxyXG4gICAgICB7dGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnSElTVE9SWScpLCBhY3RpdmU6IGZhbHNlLCBjZmc6IFNoYXJlZENmZ05hbWUuSGlzdG9yeX0sXHJcbiAgICBdO1xyXG5cclxuICAgIHRoaXMuaGlzdG9yeVRhYnMgPSBbXHJcbiAgICAgIHt0aXRsZTogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdTVE9DSycpLCBhY3RpdmU6IHRydWUsIGNmZzogU2hhcmVkQ2ZnTmFtZS5IaXN0b3J5U3RvY2t9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnT1JERVJfU1RPQ0snKSxcclxuICAgICAgICBhY3RpdmU6IGZhbHNlLFxyXG4gICAgICAgIGNmZzogU2hhcmVkQ2ZnTmFtZS5IaXN0b3J5T3JkZXJTdG9ja1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnT1JERVJfQ09NTUlTU0lPTicpLFxyXG4gICAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICAgICAgY2ZnOiBTaGFyZWRDZmdOYW1lLkhpc3RvcnlPcmRlckNvbW1pc3Npb25cclxuICAgICAgfSxcclxuICAgICAge3RpdGxlOiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ09SREVSJyksIGFjdGl2ZTogZmFsc2UsIGNmZzogU2hhcmVkQ2ZnTmFtZS5IaXN0b3J5T3JkZXJ9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnQUxMT0NBVElPTicpLFxyXG4gICAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICAgICAgY2ZnOiBTaGFyZWRDZmdOYW1lLkhpc3RvcnlBc3NpZ25cclxuICAgICAgfSxcclxuICAgIF07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TaG93U3RvY2tUcmFuc2ZlckNoYW5nZShzaG93OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dTdG9ja1RyYW5zZmVyID0gc2hvdztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVMb2NhdGlvbkNsaWNrZWQoZGF0YTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnRhYnNbMF0uYWN0aXZlID0gZmFsc2U7XHJcbiAgICB0aGlzLnRhYnNbMl0uYWN0aXZlID0gdHJ1ZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRXYXJlaG91c2UgPSB0aGlzLndhcmVIb3VzZUZvckNvZGUocGFyc2VJbnQoZGF0YSkpO1xyXG4gICAgdGhpcy5oYW5kbGVXYXJlaG91c2VTZWxlY3RlZCh0aGlzLnNlbGVjdGVkV2FyZWhvdXNlKTtcclxuICAgIHRoaXMuZ2V0U3RvY2tEYXRhKHRoaXMuc2VsZWN0ZWRXYXJlaG91c2UpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVdhcmVob3VzZVNlbGVjdGVkKGV2ZW50OiBTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkV2FyZWhvdXNlID0gZXZlbnQ7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2Uud2FyZWhvdXNlU2VsZWN0ZWQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U3RvY2tEYXRhKHdhcmVob3VzZTogU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcyk6IHZvaWQge1xyXG4gICAgdGhpcy5oYW5kbGVXYXJlaG91c2VTZWxlY3RlZCh3YXJlaG91c2UpO1xyXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd2FyZUhvdXNlRm9yQ29kZShjb2RlOiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLndhcmVob3VzZXMuZmluZCh3YXJlaG91c2UgPT4gd2FyZWhvdXNlLndhcmVob3VzZU5vID09PSBjb2RlKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,15 +1,15 @@
1
1
  import { __awaiter } from "tslib";
2
- import { ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
3
- import { StockService } from "../../service/stock.service";
4
- import { PrintStockStickers } from "@colijnit/sharedapi/build/model/print-stock-stickers";
5
- import { ArticleExtended } from "@colijnit/articleapi/build/model/article-extended.bo";
6
- import { ArticleStock } from "@colijnit/articleapi/build/model/article-stock";
7
- import { OptionsService } from "../../service/options.service";
8
- import { ArticleExtendedRequest } from "@colijnit/articleapi/build/model/article-extended-request";
9
- import { SharedConnectorService } from "../../service/shared-connector.service";
10
- import { Icon } from "../../enum/icon.enum";
11
- import { IconCacheService } from "../../service/icon-cache.service";
12
- import { ArticleStockManagement } from "@colijnit/articleapi/build/model/article-stock-management";
2
+ import { ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';
3
+ import { StockService } from '../../service/stock.service';
4
+ import { PrintStockStickers } from '@colijnit/sharedapi/build/model/print-stock-stickers';
5
+ import { ArticleExtended } from '@colijnit/articleapi/build/model/article-extended.bo';
6
+ import { ArticleStock } from '@colijnit/articleapi/build/model/article-stock';
7
+ import { OptionsService } from '../../service/options.service';
8
+ import { ArticleExtendedRequest } from '@colijnit/articleapi/build/model/article-extended-request';
9
+ import { SharedConnectorService } from '../../service/shared-connector.service';
10
+ import { Icon } from '../../enum/icon.enum';
11
+ import { IconCacheService } from '../../service/icon-cache.service';
12
+ import { ArticleStockManagement } from '@colijnit/articleapi/build/model/article-stock-management';
13
13
  import { SharedComponentsDictionaryService } from '../../translation/shared-components-dictionary.service';
14
14
  export class StockComponent {
15
15
  constructor(_stockService, _optionsService, _dictionary, _changeDetector, _connector, iconCacheService) {
@@ -46,7 +46,7 @@ export class StockComponent {
46
46
  this.articleExtended = articleOrGoodId;
47
47
  this._goodId = articleOrGoodId.goodId;
48
48
  }
49
- else if (typeof articleOrGoodId === "number") {
49
+ else if (typeof articleOrGoodId === 'number') {
50
50
  this._goodId = articleOrGoodId;
51
51
  }
52
52
  }
@@ -90,7 +90,7 @@ export class StockComponent {
90
90
  getStockInformation(goodId) {
91
91
  const articleData = new ArticleStock();
92
92
  articleData.goodId = goodId.toString();
93
- articleData.viewKind = "M";
93
+ articleData.viewKind = 'M';
94
94
  this._stockService.getStockInformation(articleData).then(result => {
95
95
  this.stockInformation = result;
96
96
  this.stockInformation.forEach((articleStock) => this.allAvailableStock += articleStock.availableStock);
@@ -150,25 +150,24 @@ export class StockComponent {
150
150
  }
151
151
  StockComponent.decorators = [
152
152
  { type: Component, args: [{
153
- selector: "co-stock",
153
+ selector: 'co-stock',
154
154
  template: `
155
155
  <div class="stock-info-container" *ngIf="loaded && articleExtended">
156
- <co-stock-information [article]="articleExtended"
157
- [articleStockState]="articleStockState"
158
- [allAvailableStockInformation]="allAvailableStock"
159
- [allTechnicalStockInformation]="allTechnicalStock"
160
- [economicalStock]="economicalStock"
161
- >
162
- </co-stock-information>
163
- <co-stock-tabs [stockInformation]="stockInformation"
164
- [article]="articleExtended"
165
- [articleFlat]="articleFlat"
166
- (transferIconClicked)="handleStockTransferClick($event)"
167
- (sendMethodDialogClicked)="handleSendMethodClick($event)"
168
- [warehouses]="warehouses"
169
- [showStockTransfer]="showStockTransfer"
170
-
171
- ></co-stock-tabs>
156
+ <co-stock-information [article]="articleExtended"
157
+ [articleStockState]="articleStockState"
158
+ [allAvailableStockInformation]="allAvailableStock"
159
+ [allTechnicalStockInformation]="allTechnicalStock"
160
+ [economicalStock]="economicalStock"
161
+ >
162
+ </co-stock-information>
163
+ <co-stock-tabs [stockInformation]="stockInformation"
164
+ [article]="articleExtended"
165
+ [articleFlat]="articleFlat"
166
+ (transferIconClicked)="handleStockTransferClick($event)"
167
+ (sendMethodDialogClicked)="handleSendMethodClick($event)"
168
+ [warehouses]="warehouses"
169
+ [showStockTransfer]="showStockTransfer"
170
+ ></co-stock-tabs>
172
171
  </div>
173
172
  `,
174
173
  encapsulation: ViewEncapsulation.None
@@ -190,6 +189,6 @@ StockComponent.propDecorators = {
190
189
  okButtonClicked: [{ type: Output }],
191
190
  cancelButtonClicked: [{ type: Output }],
192
191
  handleClick: [{ type: Output }],
193
- showClass: [{ type: HostBinding, args: ["class.co-stock",] }]
192
+ showClass: [{ type: HostBinding, args: ['class.co-stock',] }]
194
193
  };
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUV4RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDckYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBRzVFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUc3RCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNqRyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUU5RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDakcsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUEwQnpHLE1BQU0sT0FBTyxjQUFjO0lBNER6QixZQUNVLGFBQTJCLEVBQzNCLGVBQStCLEVBQy9CLFdBQThDLEVBQzlDLGVBQWtDLEVBQ2xDLFVBQWtDLEVBQ25DLGdCQUFrQztRQUxqQyxrQkFBYSxHQUFiLGFBQWEsQ0FB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ZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQy9GO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7OztZQXhNRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBekNPLFlBQVk7WUFPWixjQUFjO1lBU2QsaUNBQWlDO1lBekJ2QyxpQkFBaUI7WUFvQlgsc0JBQXNCO1lBR3RCLGdCQUFnQjs7O21DQStCckIsTUFBTTtzQkFHTixLQUFLOytCQVlMLEtBQUs7NEJBR0wsS0FBSzs4QkFHTCxNQUFNO2tDQUdOLE1BQU07MEJBRU4sTUFBTTt3QkFLTixXQUFXLFNBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtQcmludFN0b2NrU3RpY2tlcnN9IGZyb20gXCJAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3ByaW50LXN0b2NrLXN0aWNrZXJzXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrIGFzIEFydGljbGVTdG9ja0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jay5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVFeHRlbmRlZH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQuYm9cIjtcclxuaW1wb3J0IHtBcnRpY2xlU3RvY2t9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrXCI7XHJcbmltcG9ydCB7U3RvY2tIaXN0b3J5Qm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1oaXN0b3J5LmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZURldGFpbHNCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZGV0YWlscy5ib1wiO1xyXG5pbXBvcnQge09wdGlvbnNTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9vcHRpb25zLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlc30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLW1hbmFnZW1lbnQtd2FyZWhvdXNlcy5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVFeHRlbmRlZFJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWV4dGVuZGVkLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtTaGFyZWRDb25uZWN0b3JTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zaGFyZWQtY29ubmVjdG9yLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtBcnRpY2xlRmxhdH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZmxhdC5ib1wiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja01hbmFnZW1lbnR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLW1hbmFnZW1lbnRcIjtcclxuaW1wb3J0IHtTaGFyZWRDb21wb25lbnRzRGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uL3RyYW5zbGF0aW9uL3NoYXJlZC1jb21wb25lbnRzLWRpY3Rpb25hcnkuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1zdG9ja1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1pbmZvLWNvbnRhaW5lclwiICpuZ0lmPVwibG9hZGVkICYmIGFydGljbGVFeHRlbmRlZFwiPlxyXG4gICAgICAgIDxjby1zdG9jay1pbmZvcm1hdGlvbiBbYXJ0aWNsZV09XCJhcnRpY2xlRXh0ZW5kZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZVN0b2NrU3RhdGVdPVwiYXJ0aWNsZVN0b2NrU3RhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsQXZhaWxhYmxlU3RvY2tJbmZvcm1hdGlvbl09XCJhbGxBdmFpbGFibGVTdG9ja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbGxUZWNobmljYWxTdG9ja0luZm9ybWF0aW9uXT1cImFsbFRlY2huaWNhbFN0b2NrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Vjb25vbWljYWxTdG9ja109XCJlY29ub21pY2FsU3RvY2tcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2NvLXN0b2NrLWluZm9ybWF0aW9uPlxyXG4gICAgICAgIDxjby1zdG9jay10YWJzIFtzdG9ja0luZm9ybWF0aW9uXT1cInN0b2NrSW5mb3JtYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFthcnRpY2xlXT1cImFydGljbGVFeHRlbmRlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2FydGljbGVGbGF0XT1cImFydGljbGVGbGF0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAodHJhbnNmZXJJY29uQ2xpY2tlZCk9XCJoYW5kbGVTdG9ja1RyYW5zZmVyQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKHNlbmRNZXRob2REaWFsb2dDbGlja2VkKT1cImhhbmRsZVNlbmRNZXRob2RDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbd2FyZWhvdXNlc109XCJ3YXJlaG91c2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbc2hvd1N0b2NrVHJhbnNmZXJdPVwic2hvd1N0b2NrVHJhbnNmZXJcIlxyXG5cclxuICAgICAgICA+PC9jby1zdG9jay10YWJzPlxyXG4gICAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0b2NrQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgaGFuZGxlU3RpY2tlckNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgYXJ0aWNsZShhcnRpY2xlT3JHb29kSWQ6IEFydGljbGVFeHRlbmRlZCB8IG51bWJlcikge1xyXG4gICAgaWYoYXJ0aWNsZU9yR29vZElkIGluc3RhbmNlb2YgQXJ0aWNsZUV4dGVuZGVkKSB7XHJcbiAgICAgIHRoaXMuYXJ0aWNsZUV4dGVuZGVkID0gYXJ0aWNsZU9yR29vZElkO1xyXG4gICAgICB0aGlzLl9nb29kSWQgPSBhcnRpY2xlT3JHb29kSWQuZ29vZElkO1xyXG5cclxuICAgIH0gZWxzZSBpZih0eXBlb2YgYXJ0aWNsZU9yR29vZElkID09PSBcIm51bWJlclwiICkge1xyXG4gICAgICB0aGlzLl9nb29kSWQgPSBhcnRpY2xlT3JHb29kSWQ7XHJcbiAgICB9XHJcblxyXG4gIH07XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGVXYXJlaG91c2U6IGFueVtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFsbFdhcmVob3VzZXM6IGFueVtdID0gW107XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBva0J1dHRvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgY2FuY2VsQnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGhhbmRsZUNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgcHVibGljIHVwZGF0ZUdyaWREYXRhOiBFdmVudEVtaXR0ZXI8QXJ0aWNsZURldGFpbHNCb1tdPiA9IG5ldyBFdmVudEVtaXR0ZXI8QXJ0aWNsZURldGFpbHNCb1tdPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1zdG9ja1wiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHNob3dTdG9ja0luZm9ybWF0aW9uR3JpZDogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dTdG9ja1RyYW5zZmVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHN0b2NrSW5mb3JtYXRpb246IEFydGljbGVTdG9ja0JvW10gPSBbXTtcclxuICBwdWJsaWMgc3RvY2tUcmFuc2ZlckFydGljbGU6IEFydGljbGVTdG9ja0JvO1xyXG4gIHB1YmxpYyBzdG9ja1RyYW5zZmVyQXJ0aWNsZURldGFpbHM6IEFydGljbGVEZXRhaWxzQm87XHJcbiAgcHVibGljIGFydGljbGVFeHRlbmRlZDogQXJ0aWNsZUV4dGVuZGVkO1xyXG4gIHB1YmxpYyBhcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uOiBBcnRpY2xlU3RvY2tNYW5hZ2VtZW50ID0gbmV3IEFydGljbGVTdG9ja01hbmFnZW1lbnQoKTtcclxuICBwdWJsaWMgYXJ0aWNsZUZsYXQ6QXJ0aWNsZUZsYXQ7XHJcbiAgcHVibGljIHN0b2NrSGlzdG9yeTogU3RvY2tIaXN0b3J5Qm9bXSA9IFtdO1xyXG4gIHB1YmxpYyBhbGxBdmFpbGFibGVTdG9jazogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgYWxsVGVjaG5pY2FsU3RvY2s6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIGVjb25vbWljYWxTdG9jazogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgc2hvd1NlbmRNZXRob2REaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgYXJ0aWNsZVN0b2NrU3RhdGU6IG51bWJlcjtcclxuICBwdWJsaWMgd2FyZWhvdXNlczogU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlc1tdID0gW107XHJcblxyXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgcHJpdmF0ZSBfZ29vZElkOiBudW1iZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfc3RvY2tTZXJ2aWNlOiBTdG9ja1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9vcHRpb25zU2VydmljZTogT3B0aW9uc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kaWN0aW9uYXJ5OiBTaGFyZWRDb21wb25lbnRzRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9jb25uZWN0b3I6IFNoYXJlZENvbm5lY3RvclNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICB0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zTG9hZGVkLnN1YnNjcmliZShsb2FkZWQgPT4gdGhpcy5faGFuZGxlU2V0dGluZ3NMb2FkZWQobG9hZGVkKSksXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuYXJ0aWNsZUV4dGVuZGVkID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5hcnRpY2xlRmxhdCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU3RvY2tUcmFuc2ZlckNsaWNrKGV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnN0b2NrVHJhbnNmZXJBcnRpY2xlRGV0YWlscyA9IGV2ZW50O1xyXG4gICAgdGhpcy5zaG93U3RvY2tUcmFuc2ZlciA9ICF0aGlzLnNob3dTdG9ja1RyYW5zZmVyO1xyXG4gICAgdGhpcy5zaG93U3RvY2tJbmZvcm1hdGlvbkdyaWQgPSAhdGhpcy5zaG93U3RvY2tJbmZvcm1hdGlvbkdyaWQ7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2Uuc3RvY2tTdGlja2VycyA9IG5ldyBQcmludFN0b2NrU3RpY2tlcnMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTZW5kTWV0aG9kQ2xpY2soZXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1NlbmRNZXRob2REaWFsb2cgPSB0cnVlO1xyXG4gIH1cclxuICBwdWJsaWMgaGFuZGxlT2tDbGljayhkYXRhOiBBcnRpY2xlRGV0YWlsc0JvKTogdm9pZCB7XHJcbiAgICBkYXRhLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgIGRhdGEuZW50cnlEYXRlID0gbmV3IERhdGU7XHJcblxyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLnVwZGF0ZUFydGljbGVEZXRhaWxzKGRhdGEpLnRoZW4ocmVzdWx0ID0+IHtcclxuICAgICAgdGhpcy5oYW5kbGVDbGljay5lbWl0KCk7XHJcbiAgICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRBcnRpY2xlRGV0YWlscyh0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24pLnRoZW4oKGRldGFpbHMpID0+IHtcclxuICAgICAgICB0aGlzLnVwZGF0ZUdyaWREYXRhLmVtaXQoZGV0YWlscyk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5sb2FkRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGJhY2tUb1N0b2NrKGdvb2RJZDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWREYXRhKCk7XHJcbiAgICB0aGlzLnNob3dTdG9ja1RyYW5zZmVyID0gIXRoaXMuc2hvd1N0b2NrVHJhbnNmZXI7XHJcbiAgICB0aGlzLnNob3dTdG9ja0luZm9ybWF0aW9uR3JpZCA9ICF0aGlzLnNob3dTdG9ja0luZm9ybWF0aW9uR3JpZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTdG9ja0luZm9ybWF0aW9uKGdvb2RJZDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zdCBhcnRpY2xlRGF0YTogQXJ0aWNsZVN0b2NrID0gbmV3IEFydGljbGVTdG9jaygpO1xyXG4gICAgYXJ0aWNsZURhdGEuZ29vZElkID0gZ29vZElkLnRvU3RyaW5nKCk7XHJcbiAgICBhcnRpY2xlRGF0YS52aWV3S2luZCA9IFwiTVwiO1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldFN0b2NrSW5mb3JtYXRpb24oYXJ0aWNsZURhdGEpLnRoZW4ocmVzdWx0ID0+IHtcclxuICAgICAgdGhpcy5zdG9ja0luZm9ybWF0aW9uID0gcmVzdWx0O1xyXG4gICAgICB0aGlzLnN0b2NrSW5mb3JtYXRpb24uZm9yRWFjaCgoYXJ0aWNsZVN0b2NrKSA9PiB0aGlzLmFsbEF2YWlsYWJsZVN0b2NrICs9IGFydGljbGVTdG9jay5hdmFpbGFibGVTdG9jayk7XHJcbiAgICAgIHRoaXMuc3RvY2tJbmZvcm1hdGlvbi5mb3JFYWNoKChhcnRpY2xlU3RvY2spID0+IHRoaXMuYWxsVGVjaG5pY2FsU3RvY2sgKz0gYXJ0aWNsZVN0b2NrLnRlY2huaWNhbFN0b2NrKTtcclxuICAgICAgdGhpcy5zdG9ja0luZm9ybWF0aW9uLmZvckVhY2goKGFydGljbGVTdG9jaykgPT4gdGhpcy5lY29ub21pY2FsU3RvY2sgKz0gYXJ0aWNsZVN0b2NrLmVjb25vbWljYWxTdG9jayk7XHJcblxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEFydFN0b2NrU3RhdHVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldEFydFN0b2NrU3RhdHVzKHRoaXMuYXJ0aWNsZUV4dGVuZGVkID8gdGhpcy5hcnRpY2xlRXh0ZW5kZWQuZ29vZElkIDogdGhpcy5fZ29vZElkKS50aGVuKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMuYXJ0aWNsZVN0b2NrU3RhdGUgPSByZXN1bHQ7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoKS50aGVuKCh3YXJlaG91c2VzKSA9PiB7XHJcbiAgICAgIHRoaXMud2FyZWhvdXNlcyA9IHdhcmVob3VzZXM7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlU2V0dGluZ3NMb2FkZWQobG9hZGVkOiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAobG9hZGVkKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuX2luaXRDb25uZWN0aW9uKCkudGhlbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfaW5pdENvbm5lY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLl9jb25uZWN0b3IuY29ubmVjdCgpO1xyXG4gICAgYXdhaXQgdGhpcy5fZGljdGlvbmFyeS5zZXREaWN0aW9uYXJ5KHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMubGFuZ3VhZ2VDb2RlKTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcclxuICAgIHRoaXMubG9hZERhdGEoKTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgbG9hZERhdGEoKSB7XHJcbiAgICBpZih0aGlzLmxvYWRlZCkge1xyXG4gICAgICBpZih0aGlzLl9nb29kSWQgJiYgIXRoaXMuYXJ0aWNsZUV4dGVuZGVkKSB7XHJcbiAgICAgICAgbGV0IHJlcXVlc3Q6IEFydGljbGVFeHRlbmRlZFJlcXVlc3QgPSBuZXcgQXJ0aWNsZUV4dGVuZGVkUmVxdWVzdCgpO1xyXG4gICAgICAgIHJlcXVlc3QuZ29vZElkID0gdGhpcy5fZ29vZElkO1xyXG4gICAgICAgIHRoaXMuX3N0b2NrU2VydmljZS5zZWFyY2hBcnRpY2xlcyhyZXF1ZXN0KS50aGVuKChhcnRpY2xlRXh0ZW5kZWQ6IEFydGljbGVFeHRlbmRlZFtdKSA9PiB7XHJcbiAgICAgICAgICBpZihhcnRpY2xlRXh0ZW5kZWRbMF0pIHtcclxuICAgICAgICAgICAgdGhpcy5hcnRpY2xlRXh0ZW5kZWQgPSBhcnRpY2xlRXh0ZW5kZWRbMF07XHJcbiAgICAgICAgICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRBcnRpY2xlRmxhdChhcnRpY2xlRXh0ZW5kZWRbMF0uYXJ0aWNsZU51bWJlcikudGhlbihyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuYXJ0aWNsZUZsYXQgPSByZXN1bHQ7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgICAgdGhpcy5nZXRBcnRTdG9ja1N0YXR1cygpO1xyXG4gICAgICAgIHRoaXMuZ2V0U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcygpO1xyXG4gICAgICAgIHRoaXMuZ2V0U3RvY2tJbmZvcm1hdGlvbih0aGlzLmFydGljbGVFeHRlbmRlZCA/IHRoaXMuYXJ0aWNsZUV4dGVuZGVkLmdvb2RJZCA6IHRoaXMuX2dvb2RJZCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUV4RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDckYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBRzVFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUc3RCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNqRyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUU5RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDakcsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUF5QnpHLE1BQU0sT0FBTyxjQUFjO0lBNER6QixZQUNVLGFBQTJCLEVBQzNCLGVBQStCLEVBQy9CLFdBQThDLEVBQzlDLGVBQWtDLEVBQ2xDLFVBQWtDLEVBQ25DLGdCQUFrQztRQUxqQyxrQkFBYSxHQUFiLGFBQWEsQ0FB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ZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzdGO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7OztZQXhNRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUF4Q08sWUFBWTtZQU9aLGNBQWM7WUFTZCxpQ0FBaUM7WUF6QnZDLGlCQUFpQjtZQW9CWCxzQkFBc0I7WUFHdEIsZ0JBQWdCOzs7bUNBOEJyQixNQUFNO3NCQUdOLEtBQUs7K0JBWUwsS0FBSzs0QkFHTCxLQUFLOzhCQUdMLE1BQU07a0NBR04sTUFBTTswQkFFTixNQUFNO3dCQUtOLFdBQVcsU0FBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2Uvc3RvY2suc2VydmljZSc7XHJcbmltcG9ydCB7UHJpbnRTdG9ja1N0aWNrZXJzfSBmcm9tICdAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3ByaW50LXN0b2NrLXN0aWNrZXJzJztcclxuaW1wb3J0IHtBcnRpY2xlU3RvY2sgYXMgQXJ0aWNsZVN0b2NrQm99IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2suYm8nO1xyXG5pbXBvcnQge0FydGljbGVFeHRlbmRlZH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1leHRlbmRlZC5ibyc7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrJztcclxuaW1wb3J0IHtTdG9ja0hpc3RvcnlCb30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2staGlzdG9yeS5ibyc7XHJcbmltcG9ydCB7QXJ0aWNsZURldGFpbHNCb30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1kZXRhaWxzLmJvJztcclxuaW1wb3J0IHtPcHRpb25zU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9vcHRpb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlc30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stbWFuYWdlbWVudC13YXJlaG91c2VzLmJvJztcclxuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWRSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWV4dGVuZGVkLXJlcXVlc3QnO1xyXG5pbXBvcnQge1NoYXJlZENvbm5lY3RvclNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2Uvc2hhcmVkLWNvbm5lY3Rvci5zZXJ2aWNlJztcclxuaW1wb3J0IHtBcnRpY2xlRmxhdH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1mbGF0LmJvJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja01hbmFnZW1lbnR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2stbWFuYWdlbWVudCc7XHJcbmltcG9ydCB7U2hhcmVkQ29tcG9uZW50c0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi90cmFuc2xhdGlvbi9zaGFyZWQtY29tcG9uZW50cy1kaWN0aW9uYXJ5LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby1zdG9jaycsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWluZm8tY29udGFpbmVyXCIgKm5nSWY9XCJsb2FkZWQgJiYgYXJ0aWNsZUV4dGVuZGVkXCI+XHJcbiAgICAgICAgICA8Y28tc3RvY2staW5mb3JtYXRpb24gW2FydGljbGVdPVwiYXJ0aWNsZUV4dGVuZGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZVN0b2NrU3RhdGVdPVwiYXJ0aWNsZVN0b2NrU3RhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbGxBdmFpbGFibGVTdG9ja0luZm9ybWF0aW9uXT1cImFsbEF2YWlsYWJsZVN0b2NrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsVGVjaG5pY2FsU3RvY2tJbmZvcm1hdGlvbl09XCJhbGxUZWNobmljYWxTdG9ja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Vjb25vbWljYWxTdG9ja109XCJlY29ub21pY2FsU3RvY2tcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9jby1zdG9jay1pbmZvcm1hdGlvbj5cclxuICAgICAgICAgIDxjby1zdG9jay10YWJzIFtzdG9ja0luZm9ybWF0aW9uXT1cInN0b2NrSW5mb3JtYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2FydGljbGVdPVwiYXJ0aWNsZUV4dGVuZGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFthcnRpY2xlRmxhdF09XCJhcnRpY2xlRmxhdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAodHJhbnNmZXJJY29uQ2xpY2tlZCk9XCJoYW5kbGVTdG9ja1RyYW5zZmVyQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoc2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQpPVwiaGFuZGxlU2VuZE1ldGhvZENsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3dhcmVob3VzZXNdPVwid2FyZWhvdXNlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd1N0b2NrVHJhbnNmZXJdPVwic2hvd1N0b2NrVHJhbnNmZXJcIlxyXG4gICAgICAgICAgPjwvY28tc3RvY2stdGFicz5cclxuICAgICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9ja0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGhhbmRsZVN0aWNrZXJDbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGFydGljbGUoYXJ0aWNsZU9yR29vZElkOiBBcnRpY2xlRXh0ZW5kZWQgfCBudW1iZXIpIHtcclxuICAgIGlmIChhcnRpY2xlT3JHb29kSWQgaW5zdGFuY2VvZiBBcnRpY2xlRXh0ZW5kZWQpIHtcclxuICAgICAgdGhpcy5hcnRpY2xlRXh0ZW5kZWQgPSBhcnRpY2xlT3JHb29kSWQ7XHJcbiAgICAgIHRoaXMuX2dvb2RJZCA9IGFydGljbGVPckdvb2RJZC5nb29kSWQ7XHJcblxyXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgYXJ0aWNsZU9yR29vZElkID09PSAnbnVtYmVyJykge1xyXG4gICAgICB0aGlzLl9nb29kSWQgPSBhcnRpY2xlT3JHb29kSWQ7XHJcbiAgICB9XHJcblxyXG4gIH07XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGVXYXJlaG91c2U6IGFueVtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFsbFdhcmVob3VzZXM6IGFueVtdID0gW107XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBva0J1dHRvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgY2FuY2VsQnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGhhbmRsZUNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgcHVibGljIHVwZGF0ZUdyaWREYXRhOiBFdmVudEVtaXR0ZXI8QXJ0aWNsZURldGFpbHNCb1tdPiA9IG5ldyBFdmVudEVtaXR0ZXI8QXJ0aWNsZURldGFpbHNCb1tdPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXN0b2NrJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBzaG93U3RvY2tJbmZvcm1hdGlvbkdyaWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93U3RvY2tUcmFuc2ZlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzdG9ja0luZm9ybWF0aW9uOiBBcnRpY2xlU3RvY2tCb1tdID0gW107XHJcbiAgcHVibGljIHN0b2NrVHJhbnNmZXJBcnRpY2xlOiBBcnRpY2xlU3RvY2tCbztcclxuICBwdWJsaWMgc3RvY2tUcmFuc2ZlckFydGljbGVEZXRhaWxzOiBBcnRpY2xlRGV0YWlsc0JvO1xyXG4gIHB1YmxpYyBhcnRpY2xlRXh0ZW5kZWQ6IEFydGljbGVFeHRlbmRlZDtcclxuICBwdWJsaWMgYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbjogQXJ0aWNsZVN0b2NrTWFuYWdlbWVudCA9IG5ldyBBcnRpY2xlU3RvY2tNYW5hZ2VtZW50KCk7XHJcbiAgcHVibGljIGFydGljbGVGbGF0OiBBcnRpY2xlRmxhdDtcclxuICBwdWJsaWMgc3RvY2tIaXN0b3J5OiBTdG9ja0hpc3RvcnlCb1tdID0gW107XHJcbiAgcHVibGljIGFsbEF2YWlsYWJsZVN0b2NrOiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBhbGxUZWNobmljYWxTdG9jazogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgZWNvbm9taWNhbFN0b2NrOiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBzaG93U2VuZE1ldGhvZERpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBhcnRpY2xlU3RvY2tTdGF0ZTogbnVtYmVyO1xyXG4gIHB1YmxpYyB3YXJlaG91c2VzOiBTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICBwcml2YXRlIF9nb29kSWQ6IG51bWJlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zdG9ja1NlcnZpY2U6IFN0b2NrU2VydmljZSxcclxuICAgIHByaXZhdGUgX29wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpY3Rpb25hcnk6IFNoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX2Nvbm5lY3RvcjogU2hhcmVkQ29ubmVjdG9yU2VydmljZSxcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgIHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnNMb2FkZWQuc3Vic2NyaWJlKGxvYWRlZCA9PiB0aGlzLl9oYW5kbGVTZXR0aW5nc0xvYWRlZChsb2FkZWQpKSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuYXJ0aWNsZUV4dGVuZGVkID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5hcnRpY2xlRmxhdCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU3RvY2tUcmFuc2ZlckNsaWNrKGV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnN0b2NrVHJhbnNmZXJBcnRpY2xlRGV0YWlscyA9IGV2ZW50O1xyXG4gICAgdGhpcy5zaG93U3RvY2tUcmFuc2ZlciA9ICF0aGlzLnNob3dTdG9ja1RyYW5zZmVyO1xyXG4gICAgdGhpcy5zaG93U3RvY2tJbmZvcm1hdGlvbkdyaWQgPSAhdGhpcy5zaG93U3RvY2tJbmZvcm1hdGlvbkdyaWQ7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2Uuc3RvY2tTdGlja2VycyA9IG5ldyBQcmludFN0b2NrU3RpY2tlcnMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTZW5kTWV0aG9kQ2xpY2soZXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1NlbmRNZXRob2REaWFsb2cgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZU9rQ2xpY2soZGF0YTogQXJ0aWNsZURldGFpbHNCbyk6IHZvaWQge1xyXG4gICAgZGF0YS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICBkYXRhLmVudHJ5RGF0ZSA9IG5ldyBEYXRlO1xyXG5cclxuICAgIHRoaXMuX3N0b2NrU2VydmljZS51cGRhdGVBcnRpY2xlRGV0YWlscyhkYXRhKS50aGVuKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMuaGFuZGxlQ2xpY2suZW1pdCgpO1xyXG4gICAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0QXJ0aWNsZURldGFpbHModGhpcy5hcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uKS50aGVuKChkZXRhaWxzKSA9PiB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVHcmlkRGF0YS5lbWl0KGRldGFpbHMpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcclxuICAgIHRoaXMubG9hZERhdGEoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBiYWNrVG9TdG9jayhnb29kSWQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkRGF0YSgpO1xyXG4gICAgdGhpcy5zaG93U3RvY2tUcmFuc2ZlciA9ICF0aGlzLnNob3dTdG9ja1RyYW5zZmVyO1xyXG4gICAgdGhpcy5zaG93U3RvY2tJbmZvcm1hdGlvbkdyaWQgPSAhdGhpcy5zaG93U3RvY2tJbmZvcm1hdGlvbkdyaWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U3RvY2tJbmZvcm1hdGlvbihnb29kSWQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgYXJ0aWNsZURhdGE6IEFydGljbGVTdG9jayA9IG5ldyBBcnRpY2xlU3RvY2soKTtcclxuICAgIGFydGljbGVEYXRhLmdvb2RJZCA9IGdvb2RJZC50b1N0cmluZygpO1xyXG4gICAgYXJ0aWNsZURhdGEudmlld0tpbmQgPSAnTSc7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tJbmZvcm1hdGlvbihhcnRpY2xlRGF0YSkudGhlbihyZXN1bHQgPT4ge1xyXG4gICAgICB0aGlzLnN0b2NrSW5mb3JtYXRpb24gPSByZXN1bHQ7XHJcbiAgICAgIHRoaXMuc3RvY2tJbmZvcm1hdGlvbi5mb3JFYWNoKChhcnRpY2xlU3RvY2spID0+IHRoaXMuYWxsQXZhaWxhYmxlU3RvY2sgKz0gYXJ0aWNsZVN0b2NrLmF2YWlsYWJsZVN0b2NrKTtcclxuICAgICAgdGhpcy5zdG9ja0luZm9ybWF0aW9uLmZvckVhY2goKGFydGljbGVTdG9jaykgPT4gdGhpcy5hbGxUZWNobmljYWxTdG9jayArPSBhcnRpY2xlU3RvY2sudGVjaG5pY2FsU3RvY2spO1xyXG4gICAgICB0aGlzLnN0b2NrSW5mb3JtYXRpb24uZm9yRWFjaCgoYXJ0aWNsZVN0b2NrKSA9PiB0aGlzLmVjb25vbWljYWxTdG9jayArPSBhcnRpY2xlU3RvY2suZWNvbm9taWNhbFN0b2NrKTtcclxuXHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0QXJ0U3RvY2tTdGF0dXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0QXJ0U3RvY2tTdGF0dXModGhpcy5hcnRpY2xlRXh0ZW5kZWQgPyB0aGlzLmFydGljbGVFeHRlbmRlZC5nb29kSWQgOiB0aGlzLl9nb29kSWQpLnRoZW4ocmVzdWx0ID0+IHtcclxuICAgICAgdGhpcy5hcnRpY2xlU3RvY2tTdGF0ZSA9IHJlc3VsdDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcygpLnRoZW4oKHdhcmVob3VzZXMpID0+IHtcclxuICAgICAgdGhpcy53YXJlaG91c2VzID0gd2FyZWhvdXNlcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlU2V0dGluZ3NMb2FkZWQobG9hZGVkOiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAobG9hZGVkKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuX2luaXRDb25uZWN0aW9uKCkudGhlbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfaW5pdENvbm5lY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLl9jb25uZWN0b3IuY29ubmVjdCgpO1xyXG4gICAgYXdhaXQgdGhpcy5fZGljdGlvbmFyeS5zZXREaWN0aW9uYXJ5KHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMubGFuZ3VhZ2VDb2RlKTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcclxuICAgIHRoaXMubG9hZERhdGEoKTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgbG9hZERhdGEoKSB7XHJcbiAgICBpZiAodGhpcy5sb2FkZWQpIHtcclxuICAgICAgaWYgKHRoaXMuX2dvb2RJZCAmJiAhdGhpcy5hcnRpY2xlRXh0ZW5kZWQpIHtcclxuICAgICAgICBsZXQgcmVxdWVzdDogQXJ0aWNsZUV4dGVuZGVkUmVxdWVzdCA9IG5ldyBBcnRpY2xlRXh0ZW5kZWRSZXF1ZXN0KCk7XHJcbiAgICAgICAgcmVxdWVzdC5nb29kSWQgPSB0aGlzLl9nb29kSWQ7XHJcbiAgICAgICAgdGhpcy5fc3RvY2tTZXJ2aWNlLnNlYXJjaEFydGljbGVzKHJlcXVlc3QpLnRoZW4oKGFydGljbGVFeHRlbmRlZDogQXJ0aWNsZUV4dGVuZGVkW10pID0+IHtcclxuICAgICAgICAgIGlmIChhcnRpY2xlRXh0ZW5kZWRbMF0pIHtcclxuICAgICAgICAgICAgdGhpcy5hcnRpY2xlRXh0ZW5kZWQgPSBhcnRpY2xlRXh0ZW5kZWRbMF07XHJcbiAgICAgICAgICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRBcnRpY2xlRmxhdChhcnRpY2xlRXh0ZW5kZWRbMF0uYXJ0aWNsZU51bWJlcikudGhlbihyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuYXJ0aWNsZUZsYXQgPSByZXN1bHQ7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZ2V0QXJ0U3RvY2tTdGF0dXMoKTtcclxuICAgICAgdGhpcy5nZXRTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzKCk7XHJcbiAgICAgIHRoaXMuZ2V0U3RvY2tJbmZvcm1hdGlvbih0aGlzLmFydGljbGVFeHRlbmRlZCA/IHRoaXMuYXJ0aWNsZUV4dGVuZGVkLmdvb2RJZCA6IHRoaXMuX2dvb2RJZCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -56,16 +56,19 @@ TabBarComponent.decorators = [
56
56
  <div class="tab-bar">
57
57
  <div class="tab-bar-primary">
58
58
  <div class="tab-primary" *ngFor="let tab of tabs">
59
- <co-button [class.active]="tab.active" (click)="selectTab(tab)" [screenConfigurationObject]="tab.cfg">
60
- <span [textContent]="tab.title"></span>
61
- </co-button>
59
+ <co-button
60
+ [label]="tab.title"
61
+ [class.active]="tab.active"
62
+ (click)="selectTab(tab)"
63
+ ></co-button>
62
64
  </div>
63
-
64
65
  </div>
65
66
  <div class="secondary-tab-bar" *ngIf="ActivateSecondaryTabs">
66
- <co-button *ngFor="let tab of secondaryTabs" [screenConfigurationObject]="tab.cfg" [class.active]="tab.active" (click)="selectSecondaryTab(tab)">
67
- <span [textContent]="tab.title"></span>
68
- </co-button>
67
+ <co-button *ngFor="let tab of secondaryTabs"
68
+ [label]="tab.title"
69
+ [class.active]="tab.active"
70
+ (click)="selectSecondaryTab(tab)"
71
+ ></co-button>
69
72
  </div>
70
73
  </div>
71
74
  </div>
@@ -85,4 +88,4 @@ TabBarComponent.propDecorators = {
85
88
  warehouseSelected: [{ type: Output }],
86
89
  selectedWarehouse: [{ type: Input }]
87
90
  };
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90YWItYmFyL3RhYi1iYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFjLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFcEcsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0saUVBQWlFLENBQUM7QUErQzFHLE1BQU0sT0FBTyxlQUFlO0lBM0M1QjtRQW9EUyxTQUFJLEdBQVUsRUFBRSxDQUFDO1FBR2pCLGtCQUFhLEdBQVUsRUFBRSxDQUFDO1FBRzFCLDBCQUFxQixHQUFZLEtBQUssQ0FBQztRQUd2QyxzQkFBaUIsR0FBZ0MsRUFBRSxDQUFDO1FBTXBELDJCQUFzQixHQUFZLEtBQUssQ0FBQztRQUd4QyxzQkFBaUIsR0FBNEMsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFHM0csc0JBQWlCLEdBQThCLElBQUkseUJBQXlCLEVBQUUsQ0FBQztJQXNCeEYsQ0FBQztJQXBCUSxTQUFTLENBQUMsR0FBUTtRQUN2QixJQUFJLEdBQUcsQ0FBQyxZQUFZLEVBQUU7WUFDcEIsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3BCO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxZQUFpQjtRQUN6QyxJQUFJLFlBQVksQ0FBQyxZQUFZLEVBQUU7WUFDN0IsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQzdCO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ2xELFlBQVksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxLQUFLO1FBQzVCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQzs7O1lBN0ZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNDVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7OzZCQUdFLEtBQUs7bUNBR0wsS0FBSzttQkFHTCxLQUFLOzRCQUdMLEtBQUs7b0NBR0wsS0FBSztnQ0FHTCxLQUFLO3NCQUdMLEtBQUs7cUNBR0wsS0FBSztnQ0FHTCxNQUFNO2dDQUdOLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtUYWJ9IGZyb20gXCIuL3RhYi5pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHtTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stbWFuYWdlbWVudC13YXJlaG91c2VzLmJvXCI7XHJcbmltcG9ydCB7U3RvY2tTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zdG9jay5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U0NSRUVOX0NPTkZJR19BREFQVEVSX0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRX0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXRhYi1iYXJcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInRhYi1iYXItd3JhcHBlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGFiLWJhci13YXJlaG91c2Utd3JhcHBlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1sb2NhdGlvbi1ncm91cFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWxvY2F0aW9uLXJpZ2h0LWdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxjby1saXN0LW9mLXZhbHVlcyAqbmdJZj1cInNob3dXYXJlaG91c2VTZWxlY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIndhcmVIb3VzZUxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5RmllbGRdPVwiJ3dhcmVob3VzZURlc2NyaXB0aW9uJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJkYXRhV2FyZUhvdXNlQ29kZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlzZWxlY3RdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tQ3NzQ2xhc3NdPVwiJ21pbmktc2Nyb2xsYmFyJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwid2FyZUhvdXNlU2VhcmNoTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VsZWN0ZWRXYXJlaG91c2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cIm9uU2VsZWN0V2FyZWhvdXNlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjdXN0b20taGVpZ2h0XCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L2NvLWxpc3Qtb2YtdmFsdWVzPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGFiLWJhclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWItYmFyLXByaW1hcnlcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWItcHJpbWFyeVwiICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFic1wiPlxyXG4gICAgICAgICAgICA8Y28tYnV0dG9uICBbY2xhc3MuYWN0aXZlXT1cInRhYi5hY3RpdmVcIiAoY2xpY2spPVwic2VsZWN0VGFiKHRhYilcIiBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJ0YWIuY2ZnXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInRhYi50aXRsZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9jby1idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlY29uZGFyeS10YWItYmFyXCIgKm5nSWY9XCJBY3RpdmF0ZVNlY29uZGFyeVRhYnNcIj5cclxuICAgICAgICAgIDxjby1idXR0b24gKm5nRm9yPVwibGV0IHRhYiBvZiBzZWNvbmRhcnlUYWJzXCIgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwidGFiLmNmZ1wiIFtjbGFzcy5hY3RpdmVdPVwidGFiLmFjdGl2ZVwiIChjbGljayk9XCJzZWxlY3RTZWNvbmRhcnlUYWIodGFiKVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwidGFiLnRpdGxlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9jby1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJCYXJDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB3YXJlSG91c2VMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB3YXJlSG91c2VTZWFyY2hMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0YWJzOiBUYWJbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWNvbmRhcnlUYWJzOiBUYWJbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBBY3RpdmF0ZVNlY29uZGFyeVRhYnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGF0YVdhcmVIb3VzZUNvZGU6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXNbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dXYXJlaG91c2VTZWxlY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHdhcmVob3VzZVNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcz4gPSBuZXcgRXZlbnRFbWl0dGVyPFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXM+KCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlbGVjdGVkV2FyZWhvdXNlOiBTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzID0gbmV3IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoKTtcclxuXHJcbiAgcHVibGljIHNlbGVjdFRhYih0YWI6IFRhYik6IHZvaWQge1xyXG4gICAgaWYgKHRhYi5jbGlja0hhbmRsZXIpIHtcclxuICAgICAgdGFiLmNsaWNrSGFuZGxlcigpO1xyXG4gICAgfVxyXG4gICAgdGhpcy50YWJzLmZvckVhY2godCA9PiB0LmFjdGl2ZSA9IGZhbHNlKTtcclxuICAgIHRhYi5hY3RpdmUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbGVjdFNlY29uZGFyeVRhYihzZWNvbmRhcnlUYWI6IFRhYik6IHZvaWQge1xyXG4gICAgaWYgKHNlY29uZGFyeVRhYi5jbGlja0hhbmRsZXIpIHtcclxuICAgICAgc2Vjb25kYXJ5VGFiLmNsaWNrSGFuZGxlcigpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZWNvbmRhcnlUYWJzLmZvckVhY2godCA9PiB0LmFjdGl2ZSA9IGZhbHNlKTtcclxuICAgIHNlY29uZGFyeVRhYi5hY3RpdmUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU2VsZWN0V2FyZWhvdXNlKGV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLndhcmVob3VzZVNlbGVjdGVkLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90YWItYmFyL3RhYi1iYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFjLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFcEcsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFrRDFHLE1BQU0sT0FBTyxlQUFlO0lBOUM1QjtRQXVEUyxTQUFJLEdBQVUsRUFBRSxDQUFDO1FBR2pCLGtCQUFhLEdBQVUsRUFBRSxDQUFDO1FBRzFCLDBCQUFxQixHQUFZLEtBQUssQ0FBQztRQUd2QyxzQkFBaUIsR0FBZ0MsRUFBRSxDQUFDO1FBTXBELDJCQUFzQixHQUFZLEtBQUssQ0FBQztRQUd4QyxzQkFBaUIsR0FBNEMsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFHM0csc0JBQWlCLEdBQThCLElBQUkseUJBQXlCLEVBQUUsQ0FBQztJQXNCeEYsQ0FBQztJQXBCUSxTQUFTLENBQUMsR0FBUTtRQUN2QixJQUFJLEdBQUcsQ0FBQyxZQUFZLEVBQUU7WUFDcEIsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3BCO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxZQUFpQjtRQUN6QyxJQUFJLFlBQVksQ0FBQyxZQUFZLEVBQUU7WUFDN0IsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQzdCO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ2xELFlBQVksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxLQUFLO1FBQzVCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQzs7O1lBaEdGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlDVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7OzZCQUdFLEtBQUs7bUNBR0wsS0FBSzttQkFHTCxLQUFLOzRCQUdMLEtBQUs7b0NBR0wsS0FBSztnQ0FHTCxLQUFLO3NCQUdMLEtBQUs7cUNBR0wsS0FBSztnQ0FHTCxNQUFNO2dDQUdOLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtUYWJ9IGZyb20gXCIuL3RhYi5pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHtTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stbWFuYWdlbWVudC13YXJlaG91c2VzLmJvXCI7XHJcbmltcG9ydCB7U3RvY2tTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zdG9jay5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U0NSRUVOX0NPTkZJR19BREFQVEVSX0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRX0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXRhYi1iYXJcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInRhYi1iYXItd3JhcHBlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGFiLWJhci13YXJlaG91c2Utd3JhcHBlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1sb2NhdGlvbi1ncm91cFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWxvY2F0aW9uLXJpZ2h0LWdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxjby1saXN0LW9mLXZhbHVlcyAqbmdJZj1cInNob3dXYXJlaG91c2VTZWxlY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIndhcmVIb3VzZUxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5RmllbGRdPVwiJ3dhcmVob3VzZURlc2NyaXB0aW9uJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJkYXRhV2FyZUhvdXNlQ29kZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlzZWxlY3RdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tQ3NzQ2xhc3NdPVwiJ21pbmktc2Nyb2xsYmFyJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwid2FyZUhvdXNlU2VhcmNoTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VsZWN0ZWRXYXJlaG91c2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cIm9uU2VsZWN0V2FyZWhvdXNlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjdXN0b20taGVpZ2h0XCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L2NvLWxpc3Qtb2YtdmFsdWVzPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGFiLWJhclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWItYmFyLXByaW1hcnlcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWItcHJpbWFyeVwiICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFic1wiPlxyXG4gICAgICAgICAgICA8Y28tYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInRhYi50aXRsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJ0YWIuYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0VGFiKHRhYilcIiBcclxuICAgICAgICAgICAgPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlY29uZGFyeS10YWItYmFyXCIgKm5nSWY9XCJBY3RpdmF0ZVNlY29uZGFyeVRhYnNcIj5cclxuICAgICAgICAgIDxjby1idXR0b24gKm5nRm9yPVwibGV0IHRhYiBvZiBzZWNvbmRhcnlUYWJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInRhYi50aXRsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwidGFiLmFjdGl2ZVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0U2Vjb25kYXJ5VGFiKHRhYilcIlxyXG4gICAgICAgICAgPjwvY28tYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFiQmFyQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgd2FyZUhvdXNlTGFiZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgd2FyZUhvdXNlU2VhcmNoTGFiZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGFiczogVGFiW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2Vjb25kYXJ5VGFiczogVGFiW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgQWN0aXZhdGVTZWNvbmRhcnlUYWJzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRhdGFXYXJlSG91c2VDb2RlOiBTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZTogYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93V2FyZWhvdXNlU2VsZWN0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyB3YXJlaG91c2VTZWxlY3RlZDogRXZlbnRFbWl0dGVyPFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXM+ID0gbmV3IEV2ZW50RW1pdHRlcjxTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzPigpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZFdhcmVob3VzZTogU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcyA9IG5ldyBTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzKCk7XHJcblxyXG4gIHB1YmxpYyBzZWxlY3RUYWIodGFiOiBUYWIpOiB2b2lkIHtcclxuICAgIGlmICh0YWIuY2xpY2tIYW5kbGVyKSB7XHJcbiAgICAgIHRhYi5jbGlja0hhbmRsZXIoKTtcclxuICAgIH1cclxuICAgIHRoaXMudGFicy5mb3JFYWNoKHQgPT4gdC5hY3RpdmUgPSBmYWxzZSk7XHJcbiAgICB0YWIuYWN0aXZlID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWxlY3RTZWNvbmRhcnlUYWIoc2Vjb25kYXJ5VGFiOiBUYWIpOiB2b2lkIHtcclxuICAgIGlmIChzZWNvbmRhcnlUYWIuY2xpY2tIYW5kbGVyKSB7XHJcbiAgICAgIHNlY29uZGFyeVRhYi5jbGlja0hhbmRsZXIoKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2Vjb25kYXJ5VGFicy5mb3JFYWNoKHQgPT4gdC5hY3RpdmUgPSBmYWxzZSk7XHJcbiAgICBzZWNvbmRhcnlUYWIuYWN0aXZlID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblNlbGVjdFdhcmVob3VzZShldmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy53YXJlaG91c2VTZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYi1iYXIvdGFiLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTaGFyZWRDZmdOYW1lfSBmcm9tIFwiLi4vLi4vZW51bS9zaGFyZWQtY2ZnLW5hbWUuZW51bVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUYWIge1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgYWN0aXZlOiBib29sZWFuO1xyXG4gIGNsaWNrSGFuZGxlcj86ICgpID0+IHZvaWQ7XHJcblxyXG4gIGNmZzogU2hhcmVkQ2ZnTmFtZTtcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYi1iYXIvdGFiLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTaGFyZWRDZmdOYW1lfSBmcm9tIFwiLi4vLi4vZW51bS9zaGFyZWQtY2ZnLW5hbWUuZW51bVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUYWIge1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgYWN0aXZlOiBib29sZWFuO1xyXG4gIGNsaWNrSGFuZGxlcj86ICgpID0+IHZvaWQ7XHJcbiAgY2ZnOiBTaGFyZWRDZmdOYW1lO1xyXG59XHJcbiJdfQ==