@colijnit/sharedcomponents 1.0.19 → 1.0.21

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 (49) hide show
  1. package/bundles/colijnit-sharedcomponents.umd.js +567 -120
  2. package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
  3. package/colijnit-sharedcomponents.d.ts +9 -7
  4. package/colijnit-sharedcomponents.metadata.json +1 -1
  5. package/esm2015/colijnit-sharedcomponents.js +10 -8
  6. package/esm2015/lib/assets/dictionary/text.properties.js +11 -0
  7. package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +125 -31
  8. package/esm2015/lib/components/stock/stock-information/stock-information.component.js +1 -1
  9. package/esm2015/lib/components/stock/stock-information-grid/stock-information-grid.component.js +36 -30
  10. package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +1 -1
  11. package/esm2015/lib/components/stock/stock.component.js +18 -5
  12. package/esm2015/lib/components/stock/stock.module.js +3 -3
  13. package/esm2015/lib/enum/icon.enum.js +1 -1
  14. package/esm2015/lib/enum/language-code.enum.js +8 -0
  15. package/esm2015/lib/model/icon-svg.js +1 -1
  16. package/esm2015/lib/service/dictionary.service.js +76 -0
  17. package/esm2015/lib/service/options.service.js +71 -0
  18. package/esm2015/lib/service/shared-connector.service.js +279 -0
  19. package/esm2015/lib/service/shared.service.js +30 -0
  20. package/esm2015/lib/service/stock.service.js +44 -30
  21. package/esm2015/lib/utils/string-utils.js +64 -0
  22. package/esm2015/public-api.js +2 -1
  23. package/fesm2015/colijnit-sharedcomponents.js +503 -115
  24. package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
  25. package/lib/assets/dictionary/text.properties.d.ts +3 -0
  26. package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +29 -9
  27. package/lib/components/send-method-dialog/style/_layout.scss +5 -0
  28. package/lib/components/stock/stock-information/stock-information.component.d.ts +1 -1
  29. package/lib/components/stock/stock-information-grid/stock-information-grid.component.d.ts +6 -6
  30. package/lib/components/stock/stock-transfer/stock-transfer.component.d.ts +1 -1
  31. package/lib/components/stock/stock.component.d.ts +6 -2
  32. package/lib/components/stock/style/_layout.scss +6 -0
  33. package/lib/enum/language-code.enum.d.ts +6 -0
  34. package/lib/service/dictionary.service.d.ts +21 -0
  35. package/lib/service/options.service.d.ts +13 -0
  36. package/lib/service/{ione-connector-adapter.service.d.ts → shared-connector.service.d.ts} +13 -9
  37. package/lib/service/shared.service.d.ts +8 -0
  38. package/lib/service/stock.service.d.ts +14 -10
  39. package/lib/utils/string-utils.d.ts +22 -0
  40. package/package.json +1 -1
  41. package/public-api.d.ts +1 -0
  42. package/3rdpartylicenses.txt +0 -1116
  43. package/esm2015/lib/service/ione-connector-adapter.service.js +0 -251
  44. package/favicon.ico +0 -0
  45. package/index.html +0 -12
  46. package/main.5240c1941fea0abc7a9c.js +0 -1
  47. package/polyfills.4a44032b137d291298c3.js +0 -1
  48. package/runtime.f2046bab7c02026dc21f.js +0 -1
  49. package/styles.b3b98643e0f0f94bdd12.css +0 -110
@@ -0,0 +1,11 @@
1
+ export class Dictionary {
2
+ constructor() {
3
+ this.strings = {
4
+ "nl": {},
5
+ "de": {},
6
+ "fr": {},
7
+ "en": {},
8
+ };
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5wcm9wZXJ0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2Fzc2V0cy9kaWN0aW9uYXJ5L3RleHQucHJvcGVydGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sVUFBVTtJQUF2QjtRQUNTLFlBQU8sR0FBTztZQUNuQixJQUFJLEVBQUUsRUFBRTtZQUNSLElBQUksRUFBRSxFQUFFO1lBQ1IsSUFBSSxFQUFFLEVBQUU7WUFDUixJQUFJLEVBQUUsRUFBRTtTQUNULENBQUM7SUFDSixDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRGljdGlvbmFyeSB7XHJcbiAgcHVibGljIHN0cmluZ3M6IHt9ID0ge1xyXG4gICAgXCJubFwiOiB7fSxcclxuICAgIFwiZGVcIjoge30sXHJcbiAgICBcImZyXCI6IHt9LFxyXG4gICAgXCJlblwiOiB7fSxcclxuICB9O1xyXG59XHJcbiJdfQ==
@@ -1,52 +1,88 @@
1
1
  import { __awaiter } from "tslib";
2
- import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
2
+ import { ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
3
3
  import { Icon } from "../../enum/icon.enum";
4
4
  import { IconCacheService } from "../../service/icon-cache.service";
5
5
  import { SendOption } from "./enums/send-option";
6
6
  import { animate, state, style, transition, trigger } from "@angular/animations";
7
7
  import { StockService } from "../../service/stock.service";
8
- import { StockStickersPrintLayoutsBo } from "@colijnit/sharedapi/build/model/report/stock-stickers-print-layouts.bo";
8
+ import { StockStickersPrintLayouts } from "@colijnit/sharedapi/build/model/report/stock-stickers-print-layouts.bo";
9
+ import { OptionsService } from "../../service/options.service";
10
+ import { DictionaryService } from "../../service/dictionary.service";
9
11
  export class SendMethodDialogComponent {
10
- constructor(iconCacheService, _stockService) {
12
+ constructor(iconCacheService, stockService, _optionsService, _dictionary, _changeDetector) {
11
13
  this.iconCacheService = iconCacheService;
12
- this._stockService = _stockService;
14
+ this.stockService = stockService;
15
+ this._optionsService = _optionsService;
16
+ this._dictionary = _dictionary;
17
+ this._changeDetector = _changeDetector;
13
18
  this.icons = Icon;
14
19
  this.sendOption = SendOption;
20
+ this.showEmailOption = true;
21
+ this.showPrintOption = true;
22
+ this.showPdfOption = true;
23
+ this.showXmlOption = true;
24
+ this.showPrintPriceStickers = false;
25
+ this.showPrintStockStickers = true;
15
26
  this.sendOptions = [
16
27
  { option: SendOption.Email,
17
- iconName: this.icons.Email },
28
+ iconName: this.icons.Email,
29
+ },
18
30
  { option: SendOption.Print,
19
- iconName: this.icons.Print },
31
+ iconName: this.icons.Print,
32
+ },
20
33
  { option: SendOption.Pdf,
21
- iconName: this.icons.Pdf },
34
+ iconName: this.icons.Pdf,
35
+ },
22
36
  { option: SendOption.Xml,
23
- iconName: this.icons.Xml }
37
+ iconName: this.icons.Xml,
38
+ }
24
39
  ];
25
40
  this.activeSendOption = SendOption.Email;
26
- this.amountToPrint = 1;
27
41
  this.showStandardPrinterOptions = false;
28
42
  this.showPrinterSelections = false;
29
43
  this.showExitButton = true;
30
- this.printTemplatesField = { text: "name", value: "name" };
44
+ this.printTemplatesField = { text: "name", value: "reportId" };
45
+ this.priceListDataField = { text: "name", value: "priceListCode" };
46
+ this.upAndLoaded = false;
31
47
  this.emails = ['lars.vdv@colijn-it.nl', 'david@colijn-it.nl', 'ruben@colijn-it.nl'];
32
48
  this.models = [false, false, true];
33
49
  this.layouts = ['Layout 1', 'Layout 2', 'Layout 3'];
34
50
  this.showDialog = false;
35
51
  this.startSignatureClicked = new EventEmitter();
36
52
  this.printButtonClicked = new EventEmitter();
53
+ this._subscriptions = [];
54
+ this._publicOptions = true;
55
+ this._subscriptions.push(this._optionsService.optionsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)));
37
56
  }
38
57
  set options(value) {
39
- this._stockService.connectConnector(value);
58
+ if (value) {
59
+ if (typeof value === "string") {
60
+ this._options = JSON.parse(value);
61
+ }
62
+ else {
63
+ this._options = value;
64
+ }
65
+ this._publicOptions = true;
66
+ this._optionsService.initialize(this._options).then();
67
+ }
68
+ }
69
+ get options() {
70
+ return this._options;
71
+ }
72
+ set articleData(data) {
73
+ this.stockService.printSticker.goodId = data.goodId;
74
+ this.stockService.printSticker.warehouse = data.warehouseNo;
40
75
  }
76
+ ;
41
77
  showClass() {
42
78
  return true;
43
79
  }
44
- ngAfterViewInit() {
45
- this.getPrintTemplates();
80
+ ngOnDestroy() {
81
+ this._subscriptions.forEach(subscription => subscription.unsubscribe());
46
82
  }
47
83
  getPrinters() {
48
84
  return __awaiter(this, void 0, void 0, function* () {
49
- return this._stockService.getAllPrinters(true).then((list) => {
85
+ return this.stockService.getAllPrinters(true).then((list) => {
50
86
  this.printerList = list;
51
87
  });
52
88
  });
@@ -58,7 +94,10 @@ export class SendMethodDialogComponent {
58
94
  this.startSignatureClicked.emit();
59
95
  }
60
96
  handlePrintClicked() {
61
- this.printButtonClicked.emit();
97
+ // this.printButtonClicked.emit();
98
+ if (this.stockService.printSticker.printerName) {
99
+ this.stockService.getPrintStockStickers(this.stockService.printSticker);
100
+ }
62
101
  }
63
102
  togglePrinterSelection() {
64
103
  this.getPrinters();
@@ -73,12 +112,35 @@ export class SendMethodDialogComponent {
73
112
  }
74
113
  onPrinterClicked(printer) {
75
114
  this.defaultPrinter = printer.name;
115
+ this.stockService.printSticker.printerName = printer.name;
76
116
  this.showPrinterSelections = !this.showPrinterSelections;
77
117
  }
78
118
  getPrintTemplates() {
79
- const data = new StockStickersPrintLayoutsBo();
80
- this._stockService.getStockStickerTemplates(data).then((templates) => {
81
- this.printTemplates = templates;
119
+ if (!this.printTemplates) {
120
+ const data = new StockStickersPrintLayouts();
121
+ this.stockService.getStockStickerTemplates(data).then((templates) => {
122
+ this.printTemplates = templates;
123
+ });
124
+ }
125
+ }
126
+ _handleSettingsLoaded(loaded) {
127
+ return __awaiter(this, void 0, void 0, function* () {
128
+ if (loaded) {
129
+ yield this._initConnection().then();
130
+ this.upAndLoaded = true;
131
+ }
132
+ });
133
+ }
134
+ _initConnection() {
135
+ return __awaiter(this, void 0, void 0, function* () {
136
+ // await this._connector.connect(this._optionsService.options);
137
+ if (this._optionsService.options.url) {
138
+ this._dictionary.rootUrl = this._optionsService.options.url.replace("/ajaxservice", "");
139
+ }
140
+ yield this._dictionary.setDictionary(this._optionsService.options.languageCode);
141
+ setTimeout(() => {
142
+ this._changeDetector.detectChanges();
143
+ });
82
144
  });
83
145
  }
84
146
  }
@@ -94,7 +156,8 @@ SendMethodDialogComponent.decorators = [
94
156
  <div class="dialog-content-wrapper">
95
157
  <div class="main-content-container" *ngIf="!showPrinterSelections">
96
158
  <div class="send-options-wrapper">
97
- <div class="custom-button-wrapper" *ngFor="let sendOption of sendOptions"
159
+ <div class="custom-button-wrapper"
160
+ *ngFor="let sendOption of sendOptions"
98
161
  [class.selected-option]="sendOption.option === activeSendOption"
99
162
  (click)="activeSendOption = sendOption.option">
100
163
  <co-icon [iconData]="iconCacheService.getIcon(sendOption.iconName)"></co-icon>
@@ -128,15 +191,35 @@ SendMethodDialogComponent.decorators = [
128
191
  </div>
129
192
  </div>
130
193
 
131
- <div class="email-option-content" *ngIf="activeSendOption === sendOption.Print">
132
- <div class="lov-wrapper">
133
- <co-input-combo-box
134
- [(model)]="selectedLayout"
135
- [collection]="printTemplates"
136
- [fields]="printTemplatesField"
137
- [forceReadonly]="true"
138
- placeholder="Layout"
139
- ></co-input-combo-box>
194
+ <div class="email-option-content" *ngIf="activeSendOption === sendOption.Print" (click)="getPrintTemplates()">
195
+ <div *ngIf="showPrintPriceStickers">
196
+ <div class="lov-wrapper">
197
+ <co-input-combo-box
198
+ [(model)]="stockService.printPriceSticker.reportId"
199
+ [collection]="printTemplates"
200
+ [fields]="printTemplatesField"
201
+ placeholder="Layout"
202
+ ></co-input-combo-box>
203
+ </div>
204
+ <div class="lov-wrapper" *ngIf="priceListCodeData">
205
+ <co-input-combo-box
206
+ [(model)]="stockService.printPriceSticker.priceListCode"
207
+ [collection]="priceListCodeData"
208
+ [fields]="priceListDataField"
209
+ placeholder="Layout"
210
+ ></co-input-combo-box>
211
+ </div>
212
+ </div>
213
+
214
+ <div *ngIf="showPrintStockStickers">
215
+ <div class="lov-wrapper">
216
+ <co-input-combo-box
217
+ [(model)]="stockService.printSticker.reportId"
218
+ [collection]="printTemplates"
219
+ [fields]="printTemplatesField"
220
+ placeholder="Layout"
221
+ ></co-input-combo-box>
222
+ </div>
140
223
  </div>
141
224
 
142
225
  <div class="lov-wrapper clickable" (click)="togglePrinterSelection()">
@@ -175,7 +258,7 @@ SendMethodDialogComponent.decorators = [
175
258
  <div class="print-footer-wrapper">
176
259
  <div class="input-number-wrapper">
177
260
  <co-input-number-picker class="number-picker"
178
- [step]="1" [(model)]="amountToPrint" [min]="1"
261
+ [step]="1" [(model)]="stockService.printSticker.amount" [min]="1"
179
262
  [ngModelOptions]="{debounce: 1}">
180
263
  </co-input-number-picker>
181
264
  </div>
@@ -218,15 +301,26 @@ SendMethodDialogComponent.decorators = [
218
301
  ];
219
302
  SendMethodDialogComponent.ctorParameters = () => [
220
303
  { type: IconCacheService },
221
- { type: StockService }
304
+ { type: StockService },
305
+ { type: OptionsService },
306
+ { type: DictionaryService },
307
+ { type: ChangeDetectorRef }
222
308
  ];
223
309
  SendMethodDialogComponent.propDecorators = {
310
+ showEmailOption: [{ type: Input }],
311
+ showPrintOption: [{ type: Input }],
312
+ showPdfOption: [{ type: Input }],
313
+ showXmlOption: [{ type: Input }],
314
+ showPrintPriceStickers: [{ type: Input }],
315
+ showPrintStockStickers: [{ type: Input }],
316
+ priceListCodeData: [{ type: Input }],
224
317
  options: [{ type: Input }],
225
318
  showDialog: [{ type: Input }],
226
319
  headerTitle: [{ type: Input }],
227
320
  printerList: [{ type: Input }],
321
+ articleData: [{ type: Input }],
228
322
  startSignatureClicked: [{ type: Output }],
229
323
  printButtonClicked: [{ type: Output }],
230
324
  showClass: [{ type: HostBinding, args: ["class.ione-send-method-dialog",] }]
231
325
  };
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSx3RUFBd0UsQ0FBQztBQXdJbkgsTUFBTSxPQUFPLHlCQUF5QjtJQXVEcEMsWUFDUyxnQkFBa0MsRUFDakMsYUFBMkI7UUFENUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQXhEckIsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFDMUIsZUFBVSxHQUFzQixVQUFVLENBQUM7UUFFcEQsZ0JBQVcsR0FBMkM7WUFDM0QsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLEtBQUs7Z0JBQ3hCLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRTtZQUM5QixFQUFFLE1B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LENBQUMsQ0FBQyxTQUF3QyxFQUFFLEVBQUU7WUFDbEcsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUE1T0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx5QkFBeUI7Z0JBQ25DLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0hUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxVQUFVLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLFlBQVksRUFBRTt3QkFDcEIsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFDLENBQUMsQ0FBQzt3QkFDN0UsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUM7d0JBQ25FLFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO3FCQUN0QyxDQUFDO2lCQUNIO2FBQ0Y7OztZQTNJTyxnQkFBZ0I7WUFJaEIsWUFBWTs7O3NCQXVLakIsS0FBSzt5QkFLTCxLQUFLOzBCQUdMLEtBQUs7MEJBR0wsS0FBSztvQ0FHTCxNQUFNO2lDQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U2VuZE9wdGlvbn0gZnJvbSBcIi4vZW51bXMvc2VuZC1vcHRpb25cIjtcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7UHJpbnRlcn0gZnJvbSBcIkBjb2xpam5pdC9zaGFyZWRhcGkvYnVpbGQvbW9kZWwvcmVwb3J0L3ByaW50ZXIuYm9cIjtcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdG9ja1N0aWNrZXJzUHJpbnRMYXlvdXRzQm99IGZyb20gXCJAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3JlcG9ydC9zdG9jay1zdGlja2Vycy1wcmludC1sYXlvdXRzLmJvXCI7XHJcbmltcG9ydCB7Q29Ecm9wRG93bkxpc3RGaWVsZHN9IGZyb20gXCIuLi9zdG9jay9zdG9jay10cmFuc2Zlci9jby1kcm9wLWRvd24tbGlzdC1maWVsZHMuaW50ZXJmYWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJpb25lLXNlbmQtbWV0aG9kLWRpYWxvZ1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwic2VuZC1tZXRob2QtZGlhbG9nLXdyYXBwZXJcIj5cclxuICAgICAgPGNvLWRpYWxvZy13aXphcmQgaWQ9XCJzZW5kT3B0aW9uc0RpYWxvZ1wiICpuZ0lmPVwic2hvd0RpYWxvZ1wiIFtzaG93Q2xvc2VJY29uXT1cInNob3dFeGl0QnV0dG9uXCIgKGNsb3NlQ2xpY2spPVwiY2xvc2VEaWFsb2dDbGljaygpXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciBoZWFkZXI+XHJcbiAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiaGVhZGVyVGl0bGVcIj48L3NwYW4+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1jb250ZW50LXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnQtY29udGFpbmVyXCIgKm5nSWY9XCIhc2hvd1ByaW50ZXJTZWxlY3Rpb25zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZW5kLW9wdGlvbnMtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tYnV0dG9uLXdyYXBwZXJcIiAqbmdGb3I9XCJsZXQgc2VuZE9wdGlvbiBvZiBzZW5kT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWQtb3B0aW9uXT1cInNlbmRPcHRpb24ub3B0aW9uID09PSBhY3RpdmVTZW5kT3B0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3RpdmVTZW5kT3B0aW9uID0gc2VuZE9wdGlvbi5vcHRpb25cIj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oc2VuZE9wdGlvbi5pY29uTmFtZSlcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtYWlsLW9wdGlvbi1jb250ZW50XCIgKm5nSWY9XCJhY3RpdmVTZW5kT3B0aW9uID09PSBzZW5kT3B0aW9uLkVtYWlsIHx8IGFjdGl2ZVNlbmRPcHRpb24gPT09IHNlbmRPcHRpb24uUGRmXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtYWlscy1jb250YWluZXJcIiAqbmdJZj1cImFjdGl2ZVNlbmRPcHRpb24gPT09IHNlbmRPcHRpb24uRW1haWxcIj5cclxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZW1haWwsIGxldCBpbmRleCBvZiBlbWFpbHNcIlxyXG4gICAgICAgICAgICAgICAgICBbbmFtZV09XCJlbWFpbFwiXHJcbiAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cIm1vZGVsc1tpbmRleF1cIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiZW1haWxcIlxyXG4gICAgICAgICAgICAgICAgICBbY3NzQ2xhc3NdPVwiJ2lucHV0LWNoZWNrYm94LXdyYXBwZXInXCJcclxuICAgICAgICAgICAgICAgID48L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG92LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jb21iby1ib3hcclxuICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VsZWN0ZWRMYXlvdXRcIlxyXG4gICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJsYXlvdXRzXCJcclxuICAgICAgICAgICAgICAgICAgW2ZvcmNlUmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTGF5b3V0XCJcclxuICAgICAgICAgICAgICAgID48L2NvLWlucHV0LWNvbWJvLWJveD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZ25hdHVyZS1idXR0b24td3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1idXR0b24td3JhcHBlciBzaWduYXR1cmUtYnV0dG9uXCIgKGNsaWNrKT1cImhhbmRsZVNpZ25hdHVyZVN0YXJ0KClcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5TaWduYXR1cmVGaWVsZClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1haWwtb3B0aW9uLWNvbnRlbnRcIiAqbmdJZj1cImFjdGl2ZVNlbmRPcHRpb24gPT09IHNlbmRPcHRpb24uUHJpbnRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG92LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jb21iby1ib3hcclxuICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VsZWN0ZWRMYXlvdXRcIlxyXG4gICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJwcmludFRlbXBsYXRlc1wiXHJcbiAgICAgICAgICAgICAgICAgIFtmaWVsZHNdPVwicHJpbnRUZW1wbGF0ZXNGaWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgIFtmb3JjZVJlYWRvbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkxheW91dFwiXHJcbiAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1jb21iby1ib3g+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb3Ytd3JhcHBlciBjbGlja2FibGVcIiAoY2xpY2spPVwidG9nZ2xlUHJpbnRlclNlbGVjdGlvbigpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtcHJpbnRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmludGVyLW9wdGlvbi1saXN0LWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cInByaW50ZXItaWNvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuUHJpbnQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmludGVyLWRldGFpbHNcIiAqbmdJZj1cInByaW50ZXJMaXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaW50ZXItbmFtZVwiIFt0ZXh0Q29udGVudF09XCJkZWZhdWx0UHJpbnRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJpbnRlci1zdGF0dXNcIiBbdGV4dENvbnRlbnRdPVwiZGVmYXVsdFByaW50ZXIuYWNjZXB0aW5nSm9ic1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwic2VsZWN0LXByaW50ZXItYXJyb3dcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRSaWdodClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YW5kYXJkLXByaW50ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YW5kYXJkLXByaW50ZXItbGlua1wiIChjbGljayk9XCJzaG93U3RhbmRhcmRQcmludGVyT3B0aW9ucyA9ICFzaG93U3RhbmRhcmRQcmludGVyT3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cImFycm93LWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93RmF0UmlnaHQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0YW5kYXJkLXByaW50ZXItbWVzc2FnZVwiIFt0ZXh0Q29udGVudF09XCInU3RhbmRhYXJkIHByaW50ZXIgdm9vciBsYXktb3V0IGluc3RlbGxlbidcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhbmRhcmQtcHJpbnRlci1zZWxlY3Rpb25zXCIgKm5nSWY9XCJzaG93U3RhbmRhcmRQcmludGVyT3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJtb2RlbHNbMF1cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInUGVyIGdlYnJ1aWtlciBpbnN0ZWxsZW4nXCJcclxuICAgICAgICAgICAgICAgICAgICBbY3NzQ2xhc3NdPVwiJ2lucHV0LWNoZWNrYm94LXdyYXBwZXInXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cIm1vZGVsc1sxXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidWb29yIGFsbGUgZ2VicnVpa2VycyBpbnN0ZWxsZW4nXCJcclxuICAgICAgICAgICAgICAgICAgICBbY3NzQ2xhc3NdPVwiJ2lucHV0LWNoZWNrYm94LXdyYXBwZXInXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaW50LWZvb3Rlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtbnVtYmVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LW51bWJlci1waWNrZXIgY2xhc3M9XCJudW1iZXItcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0ZXBdPVwiMVwiIFsobW9kZWwpXT1cImFtb3VudFRvUHJpbnRcIiBbbWluXT1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwie2RlYm91bmNlOiAxfVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2NvLWlucHV0LW51bWJlci1waWNrZXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tYnV0dG9uLXdyYXBwZXIgcHJpbnQtYnV0dG9uXCIgKGNsaWNrKT1cImhhbmRsZVByaW50Q2xpY2tlZCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInUHJpbnQnXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWJ1dHRvbi13cmFwcGVyIHNpZ25hdHVyZS1idXR0b25cIiAoY2xpY2spPVwiaGFuZGxlU2lnbmF0dXJlU3RhcnQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlNpZ25hdHVyZUZpZWxkKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmludGVyLWNvbnRlbnQtY29udGFpbmVyXCIgQHNsaWRlSW5PdXQgKm5nSWY9XCJzaG93UHJpbnRlclNlbGVjdGlvbnNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkLXByaW50ZXItd3JhcHBlciBzZWxlY3Rpb24gY2xpY2thYmxlXCIgKm5nRm9yPVwibGV0IHByaW50ZXJzIG9mIHByaW50ZXJMaXN0XCIgKGNsaWNrKT1cIm9uUHJpbnRlckNsaWNrZWQocHJpbnRlcnMpXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItb3B0aW9uLWxpc3QtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJwcmludGVyLWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlByaW50KVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmludGVyLWRldGFpbHNcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcmludGVyLW5hbWVcIiBbdGV4dENvbnRlbnRdPVwicHJpbnRlcnMubmFtZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcmludGVyLXN0YXR1c1wiIFt0ZXh0Q29udGVudF09XCJwcmludGVycy5hY2NlcHRpbmdKb2JzXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJzZWxlY3QtcHJpbnRlci1hcnJvd1wiICpuZ0lmPVwiIXNob3dQcmludGVyU2VsZWN0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd1BvaW50UmlnaHQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2NvLWRpYWxvZy13aXphcmQ+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcignc2xpZGVJbk91dCcsIFtcclxuICAgICAgc3RhdGUoJyonLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknLCB3aWR0aDogJzEwMCUnLCBvcGFjaXR5OiAnMSd9KSksXHJcbiAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTUwJSknLCBvcGFjaXR5OiAnMCd9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIGFuaW1hdGUoMjUwKSlcclxuICAgIF0pXHJcbiAgXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFNlbmRNZXRob2REaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuICBwdWJsaWMgcmVhZG9ubHkgc2VuZE9wdGlvbjogdHlwZW9mIFNlbmRPcHRpb24gPSBTZW5kT3B0aW9uO1xyXG5cclxuICBwdWJsaWMgc2VuZE9wdGlvbnM6IHtvcHRpb246IFNlbmRPcHRpb24sIGljb25OYW1lOiBJY29ufVtdID0gW1xyXG4gICAgeyBvcHRpb246IFNlbmRPcHRpb24uRW1haWwsXHJcbiAgICAgIGljb25OYW1lOiB0aGlzLmljb25zLkVtYWlsIH0sXHJcbiAgICB7IG9wdGlvbjogU2VuZE9wdGlvbi5QcmludCxcclxuICAgICAgaWNvbk5hbWU6IHRoaXMuaWNvbnMuUHJpbnQgfSxcclxuICAgIHsgb3B0aW9uOiBTZW5kT3B0aW9uLlBkZixcclxuICAgICAgaWNvbk5hbWU6IHRoaXMuaWNvbnMuUGRmIH0sXHJcbiAgICB7IG9wdGlvbjogU2VuZE9wdGlvbi5YbWwsXHJcbiAgICAgIGljb25OYW1lOiB0aGlzLmljb25zLlhtbCB9XHJcbiAgXVxyXG5cclxuICBwdWJsaWMgYWN0aXZlU2VuZE9wdGlvbjogU2VuZE9wdGlvbiA9IFNlbmRPcHRpb24uRW1haWw7XHJcbiAgcHVibGljIGFtb3VudFRvUHJpbnQ6IG51bWJlciA9IDE7XHJcbiAgcHVibGljIHNob3dTdGFuZGFyZFByaW50ZXJPcHRpb25zOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dQcmludGVyU2VsZWN0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93RXhpdEJ1dHRvbiA9IHRydWU7XHJcbiAgcHVibGljIGRlZmF1bHRQcmludGVyOiBQcmludGVyO1xyXG4gIHB1YmxpYyBwcmludFRlbXBsYXRlczogU3RvY2tTdGlja2Vyc1ByaW50TGF5b3V0c0JvW107XHJcbiAgcHVibGljIHByaW50VGVtcGxhdGVzRmllbGQ6IENvRHJvcERvd25MaXN0RmllbGRzID0ge3RleHQ6IFwibmFtZVwiLCB2YWx1ZTogXCJuYW1lXCJ9O1xyXG5cclxuICBwdWJsaWMgZW1haWxzOiBhbnlbXSA9IFsnbGFycy52ZHZAY29saWpuLWl0Lm5sJywgJ2RhdmlkQGNvbGlqbi1pdC5ubCcsICdydWJlbkBjb2xpam4taXQubmwnXTtcclxuICBwdWJsaWMgbW9kZWxzOiBib29sZWFuW10gPSBbZmFsc2UsIGZhbHNlLCB0cnVlXTtcclxuXHJcbiAgcHVibGljIGxheW91dHM6IGFueVtdID0gWydMYXlvdXQgMScsICdMYXlvdXQgMicsICdMYXlvdXQgMyddO1xyXG4gIHB1YmxpYyBzZWxlY3RlZExheW91dDogJ0xheW91dCAxJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IG9wdGlvbnModmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmNvbm5lY3RDb25uZWN0b3IodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0RpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBoZWFkZXJUaXRsZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwcmludGVyTGlzdDogUHJpbnRlcltdO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgc3RhcnRTaWduYXR1cmVDbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcHJpbnRCdXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5pb25lLXNlbmQtbWV0aG9kLWRpYWxvZ1wiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zdG9ja1NlcnZpY2U6IFN0b2NrU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0UHJpbnRUZW1wbGF0ZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRQcmludGVycygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0QWxsUHJpbnRlcnModHJ1ZSkudGhlbigobGlzdCkgPT4ge1xyXG4gICAgICB0aGlzLnByaW50ZXJMaXN0ID0gbGlzdDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlRGlhbG9nQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dEaWFsb2cgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTaWduYXR1cmVTdGFydCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RhcnRTaWduYXR1cmVDbGlja2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVQcmludENsaWNrZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnByaW50QnV0dG9uQ2xpY2tlZC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdG9nZ2xlUHJpbnRlclNlbGVjdGlvbigpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0UHJpbnRlcnMoKTtcclxuICAgIGlmICghdGhpcy5zaG93UHJpbnRlclNlbGVjdGlvbnMpIHtcclxuICAgICAgdGhpcy5zaG93UHJpbnRlclNlbGVjdGlvbnMgPSB0cnVlO1xyXG4gICAgICB0aGlzLmhlYWRlclRpdGxlID0gJ1ByaW50ZXIgc2VsZWN0aWUnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zaG93UHJpbnRlclNlbGVjdGlvbnMgPSBmYWxzZTtcclxuICAgICAgdGhpcy5oZWFkZXJUaXRsZSA9ICdWZXJ6ZW5kb3B0aWVzJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblByaW50ZXJDbGlja2VkKHByaW50ZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVmYXVsdFByaW50ZXIgPSBwcmludGVyLm5hbWU7XHJcbiAgICB0aGlzLnNob3dQcmludGVyU2VsZWN0aW9ucyA9ISB0aGlzLnNob3dQcmludGVyU2VsZWN0aW9ucztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRQcmludFRlbXBsYXRlcygpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRhdGEgPSBuZXcgU3RvY2tTdGlja2Vyc1ByaW50TGF5b3V0c0JvKCk7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tTdGlja2VyVGVtcGxhdGVzKGRhdGEpLnRoZW4oKHRlbXBsYXRlczogU3RvY2tTdGlja2Vyc1ByaW50TGF5b3V0c0JvW10pID0+IHtcclxuICAgICAgdGhpcy5wcmludFRlbXBsYXRlcyA9IHRlbXBsYXRlcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
326
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFHakgsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBNEpuRSxNQUFNLE9BQU8seUJBQXlCO0lBdUdwQyxZQUNTLGdCQUFrQyxFQUNsQyxZQUEwQixFQUN6QixlQUErQixFQUMvQixXQUE4QixFQUM5QixlQUFrQztRQUpuQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ3pCLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMv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TCxLQUFLO2dDQUdMLEtBQUs7c0JBa0NMLEtBQUs7eUJBaUJMLEtBQUs7MEJBR0wsS0FBSzswQkFHTCxLQUFLOzBCQUdMLEtBQUs7b0NBTUwsTUFBTTtpQ0FHTixNQUFNO3dCQUdOLFdBQVcsU0FBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge1NlbmRPcHRpb259IGZyb20gXCIuL2VudW1zL3NlbmQtb3B0aW9uXCI7XHJcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xyXG5pbXBvcnQge1ByaW50ZXJ9IGZyb20gXCJAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3JlcG9ydC9wcmludGVyLmJvXCI7XHJcbmltcG9ydCB7U3RvY2tTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zdG9jay5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3RvY2tTdGlja2Vyc1ByaW50TGF5b3V0c30gZnJvbSBcIkBjb2xpam5pdC9zaGFyZWRhcGkvYnVpbGQvbW9kZWwvcmVwb3J0L3N0b2NrLXN0aWNrZXJzLXByaW50LWxheW91dHMuYm9cIjtcclxuaW1wb3J0IHtDb0Ryb3BEb3duTGlzdEZpZWxkc30gZnJvbSBcIi4uL3N0b2NrL3N0b2NrLXRyYW5zZmVyL2NvLWRyb3AtZG93bi1saXN0LWZpZWxkcy5pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7T3B0aW9uc1NlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL29wdGlvbnMuc2VydmljZVwiO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImlvbmUtc2VuZC1tZXRob2QtZGlhbG9nXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJzZW5kLW1ldGhvZC1kaWFsb2ctd3JhcHBlclwiPlxyXG4gICAgICA8Y28tZGlhbG9nLXdpemFyZCBpZD1cInNlbmRPcHRpb25zRGlhbG9nXCIgKm5nSWY9XCJzaG93RGlhbG9nXCIgW3Nob3dDbG9zZUljb25dPVwic2hvd0V4aXRCdXR0b25cIiAoY2xvc2VDbGljayk9XCJjbG9zZURpYWxvZ0NsaWNrKClcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyIGhlYWRlcj5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJoZWFkZXJUaXRsZVwiPjwvc3Bhbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tY29udGVudC1jb250YWluZXJcIiAqbmdJZj1cIiFzaG93UHJpbnRlclNlbGVjdGlvbnNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbmQtb3B0aW9ucy13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1idXR0b24td3JhcHBlclwiXHJcbiAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2VuZE9wdGlvbiBvZiBzZW5kT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWQtb3B0aW9uXT1cInNlbmRPcHRpb24ub3B0aW9uID09PSBhY3RpdmVTZW5kT3B0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3RpdmVTZW5kT3B0aW9uID0gc2VuZE9wdGlvbi5vcHRpb25cIj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oc2VuZE9wdGlvbi5pY29uTmFtZSlcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtYWlsLW9wdGlvbi1jb250ZW50XCIgKm5nSWY9XCJhY3RpdmVTZW5kT3B0aW9uID09PSBzZW5kT3B0aW9uLkVtYWlsIHx8IGFjdGl2ZVNlbmRPcHRpb24gPT09IHNlbmRPcHRpb24uUGRmXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtYWlscy1jb250YWluZXJcIiAqbmdJZj1cImFjdGl2ZVNlbmRPcHRpb24gPT09IHNlbmRPcHRpb24uRW1haWxcIj5cclxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZW1haWwsIGxldCBpbmRleCBvZiBlbWFpbHNcIlxyXG4gICAgICAgICAgICAgICAgICBbbmFtZV09XCJlbWFpbFwiXHJcbiAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cIm1vZGVsc1tpbmRleF1cIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiZW1haWxcIlxyXG4gICAgICAgICAgICAgICAgICBbY3NzQ2xhc3NdPVwiJ2lucHV0LWNoZWNrYm94LXdyYXBwZXInXCJcclxuICAgICAgICAgICAgICAgID48L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG92LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jb21iby1ib3hcclxuICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VsZWN0ZWRMYXlvdXRcIlxyXG4gICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJsYXlvdXRzXCJcclxuICAgICAgICAgICAgICAgICAgW2ZvcmNlUmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTGF5b3V0XCJcclxuICAgICAgICAgICAgICAgID48L2NvLWlucHV0LWNvbWJvLWJveD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZ25hdHVyZS1idXR0b24td3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1idXR0b24td3JhcHBlciBzaWduYXR1cmUtYnV0dG9uXCIgKGNsaWNrKT1cImhhbmRsZVNpZ25hdHVyZVN0YXJ0KClcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5TaWduYXR1cmVGaWVsZClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1haWwtb3B0aW9uLWNvbnRlbnRcIiAqbmdJZj1cImFjdGl2ZVNlbmRPcHRpb24gPT09IHNlbmRPcHRpb24uUHJpbnRcIiAoY2xpY2spPVwiZ2V0UHJpbnRUZW1wbGF0ZXMoKVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93UHJpbnRQcmljZVN0aWNrZXJzXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG92LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LWNvbWJvLWJveFxyXG4gICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInN0b2NrU2VydmljZS5wcmludFByaWNlU3RpY2tlci5yZXBvcnRJZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwicHJpbnRUZW1wbGF0ZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmaWVsZHNdPVwicHJpbnRUZW1wbGF0ZXNGaWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJMYXlvdXRcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1jb21iby1ib3g+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb3Ytd3JhcHBlclwiICpuZ0lmPVwicHJpY2VMaXN0Q29kZURhdGFcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LWNvbWJvLWJveFxyXG4gICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInN0b2NrU2VydmljZS5wcmludFByaWNlU3RpY2tlci5wcmljZUxpc3RDb2RlXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJwcmljZUxpc3RDb2RlRGF0YVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2ZpZWxkc109XCJwcmljZUxpc3REYXRhRmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTGF5b3V0XCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY29tYm8tYm94PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93UHJpbnRTdG9ja1N0aWNrZXJzXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG92LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LWNvbWJvLWJveFxyXG4gICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInN0b2NrU2VydmljZS5wcmludFN0aWNrZXIucmVwb3J0SWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInByaW50VGVtcGxhdGVzXCJcclxuICAgICAgICAgICAgICAgICAgICBbZmllbGRzXT1cInByaW50VGVtcGxhdGVzRmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTGF5b3V0XCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY29tYm8tYm94PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb3Ytd3JhcHBlciBjbGlja2FibGVcIiAoY2xpY2spPVwidG9nZ2xlUHJpbnRlclNlbGVjdGlvbigpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtcHJpbnRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmludGVyLW9wdGlvbi1saXN0LWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cInByaW50ZXItaWNvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuUHJpbnQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmludGVyLWRldGFpbHNcIiAqbmdJZj1cInByaW50ZXJMaXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaW50ZXItbmFtZVwiIFt0ZXh0Q29udGVudF09XCJkZWZhdWx0UHJpbnRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJpbnRlci1zdGF0dXNcIiBbdGV4dENvbnRlbnRdPVwiZGVmYXVsdFByaW50ZXIuYWNjZXB0aW5nSm9ic1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwic2VsZWN0LXByaW50ZXItYXJyb3dcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRSaWdodClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YW5kYXJkLXByaW50ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YW5kYXJkLXByaW50ZXItbGlua1wiIChjbGljayk9XCJzaG93U3RhbmRhcmRQcmludGVyT3B0aW9ucyA9ICFzaG93U3RhbmRhcmRQcmludGVyT3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cImFycm93LWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93RmF0UmlnaHQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0YW5kYXJkLXByaW50ZXItbWVzc2FnZVwiIFt0ZXh0Q29udGVudF09XCInU3RhbmRhYXJkIHByaW50ZXIgdm9vciBsYXktb3V0IGluc3RlbGxlbidcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhbmRhcmQtcHJpbnRlci1zZWxlY3Rpb25zXCIgKm5nSWY9XCJzaG93U3RhbmRhcmRQcmludGVyT3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJtb2RlbHNbMF1cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInUGVyIGdlYnJ1aWtlciBpbnN0ZWxsZW4nXCJcclxuICAgICAgICAgICAgICAgICAgICBbY3NzQ2xhc3NdPVwiJ2lucHV0LWNoZWNrYm94LXdyYXBwZXInXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cIm1vZGVsc1sxXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidWb29yIGFsbGUgZ2VicnVpa2VycyBpbnN0ZWxsZW4nXCJcclxuICAgICAgICAgICAgICAgICAgICBbY3NzQ2xhc3NdPVwiJ2lucHV0LWNoZWNrYm94LXdyYXBwZXInXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaW50LWZvb3Rlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtbnVtYmVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LW51bWJlci1waWNrZXIgY2xhc3M9XCJudW1iZXItcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0ZXBdPVwiMVwiIFsobW9kZWwpXT1cInN0b2NrU2VydmljZS5wcmludFN0aWNrZXIuYW1vdW50XCIgW21pbl09XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntkZWJvdW5jZTogMX1cIj5cclxuICAgICAgICAgICAgICAgICAgPC9jby1pbnB1dC1udW1iZXItcGlja2VyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWJ1dHRvbi13cmFwcGVyIHByaW50LWJ1dHRvblwiIChjbGljayk9XCJoYW5kbGVQcmludENsaWNrZWQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiJ1ByaW50J1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1idXR0b24td3JhcHBlciBzaWduYXR1cmUtYnV0dG9uXCIgKGNsaWNrKT1cImhhbmRsZVNpZ25hdHVyZVN0YXJ0KClcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5TaWduYXR1cmVGaWVsZClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpbnRlci1jb250ZW50LWNvbnRhaW5lclwiIEBzbGlkZUluT3V0ICpuZ0lmPVwic2hvd1ByaW50ZXJTZWxlY3Rpb25zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1wcmludGVyLXdyYXBwZXIgc2VsZWN0aW9uIGNsaWNrYWJsZVwiICpuZ0Zvcj1cImxldCBwcmludGVycyBvZiBwcmludGVyTGlzdFwiIChjbGljayk9XCJvblByaW50ZXJDbGlja2VkKHByaW50ZXJzKVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmludGVyLW9wdGlvbi1saXN0LWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwicHJpbnRlci1pY29uXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5QcmludClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpbnRlci1kZXRhaWxzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJpbnRlci1uYW1lXCIgW3RleHRDb250ZW50XT1cInByaW50ZXJzLm5hbWVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJpbnRlci1zdGF0dXNcIiBbdGV4dENvbnRlbnRdPVwicHJpbnRlcnMuYWNjZXB0aW5nSm9ic1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwic2VsZWN0LXByaW50ZXItYXJyb3dcIiAqbmdJZj1cIiFzaG93UHJpbnRlclNlbGVjdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludFJpZ2h0KVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9jby1kaWFsb2ctd2l6YXJkPlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ3NsaWRlSW5PdXQnLCBbXHJcbiAgICAgIHN0YXRlKCcqJywgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCUpJywgd2lkdGg6ICcxMDAlJywgb3BhY2l0eTogJzEnfSkpLFxyXG4gICAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDE1MCUpJywgb3BhY2l0eTogJzAnfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBhbmltYXRlKDI1MCkpXHJcbiAgICBdKVxyXG4gIF1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBTZW5kTWV0aG9kRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuICBwdWJsaWMgcmVhZG9ubHkgc2VuZE9wdGlvbjogdHlwZW9mIFNlbmRPcHRpb24gPSBTZW5kT3B0aW9uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93RW1haWxPcHRpb246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93UHJpbnRPcHRpb246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93UGRmT3B0aW9uOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd1htbE9wdGlvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dQcmludFByaWNlU3RpY2tlcnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd1ByaW50U3RvY2tTdGlja2VyczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHByaWNlTGlzdENvZGVEYXRhOiBhbnlcclxuXHJcbiAgcHVibGljIHNlbmRPcHRpb25zOiB7b3B0aW9uOiBTZW5kT3B0aW9uLCBpY29uTmFtZTogSWNvbn1bXSA9IFtcclxuICAgIHsgb3B0aW9uOiBTZW5kT3B0aW9uLkVtYWlsLFxyXG4gICAgICBpY29uTmFtZTogdGhpcy5pY29ucy5FbWFpbCxcclxuICAgIH0sXHJcbiAgICB7IG9wdGlvbjogU2VuZE9wdGlvbi5QcmludCxcclxuICAgICAgaWNvbk5hbWU6IHRoaXMuaWNvbnMuUHJpbnQsXHJcbiAgICB9LFxyXG4gICAgeyBvcHRpb246IFNlbmRPcHRpb24uUGRmLFxyXG4gICAgICBpY29uTmFtZTogdGhpcy5pY29ucy5QZGYsXHJcbiAgICB9LFxyXG4gICAgeyBvcHRpb246IFNlbmRPcHRpb24uWG1sLFxyXG4gICAgICBpY29uTmFtZTogdGhpcy5pY29ucy5YbWwsXHJcbiAgICB9XHJcbiAgXVxyXG5cclxuICBwdWJsaWMgYWN0aXZlU2VuZE9wdGlvbjogU2VuZE9wdGlvbiA9IFNlbmRPcHRpb24uRW1haWw7XHJcbiAgcHVibGljIHNob3dTdGFuZGFyZFByaW50ZXJPcHRpb25zOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dQcmludGVyU2VsZWN0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93RXhpdEJ1dHRvbiA9IHRydWU7XHJcbiAgcHVibGljIGRlZmF1bHRQcmludGVyOiBQcmludGVyO1xyXG4gIHB1YmxpYyBwcmludFRlbXBsYXRlczogU3RvY2tTdGlja2Vyc1ByaW50TGF5b3V0c1tdO1xyXG4gIHB1YmxpYyBwcmludFRlbXBsYXRlc0ZpZWxkOiBDb0Ryb3BEb3duTGlzdEZpZWxkcyA9IHt0ZXh0OiBcIm5hbWVcIiwgdmFsdWU6IFwicmVwb3J0SWRcIn07XHJcbiAgcHVibGljIHByaWNlTGlzdERhdGFGaWVsZDogQ29Ecm9wRG93bkxpc3RGaWVsZHMgPSB7dGV4dDogXCJuYW1lXCIsIHZhbHVlOiBcInByaWNlTGlzdENvZGVcIn07XHJcbiAgcHVibGljIHVwQW5kTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBlbWFpbHM6IGFueVtdID0gWydsYXJzLnZkdkBjb2xpam4taXQubmwnLCAnZGF2aWRAY29saWpuLWl0Lm5sJywgJ3J1YmVuQGNvbGlqbi1pdC5ubCddO1xyXG4gIHB1YmxpYyBtb2RlbHM6IGJvb2xlYW5bXSA9IFtmYWxzZSwgZmFsc2UsIHRydWVdO1xyXG5cclxuICBwdWJsaWMgbGF5b3V0czogYW55W10gPSBbJ0xheW91dCAxJywgJ0xheW91dCAyJywgJ0xheW91dCAzJ107XHJcbiAgcHVibGljIHNlbGVjdGVkTGF5b3V0OiAnTGF5b3V0IDEnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgb3B0aW9ucyh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xyXG4gICAgICAgIHRoaXMuX29wdGlvbnMgPSBKU09OLnBhcnNlKHZhbHVlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLl9vcHRpb25zID0gdmFsdWU7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5fcHVibGljT3B0aW9ucyA9IHRydWU7XHJcbiAgICAgIHRoaXMuX29wdGlvbnNTZXJ2aWNlLmluaXRpYWxpemUodGhpcy5fb3B0aW9ucykudGhlbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBvcHRpb25zKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dEaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaGVhZGVyVGl0bGU6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcHJpbnRlckxpc3Q6IFByaW50ZXJbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGFydGljbGVEYXRhKGRhdGE6IGFueSkge1xyXG4gICAgdGhpcy5zdG9ja1NlcnZpY2UucHJpbnRTdGlja2VyLmdvb2RJZCA9IGRhdGEuZ29vZElkO1xyXG4gICAgdGhpcy5zdG9ja1NlcnZpY2UucHJpbnRTdGlja2VyLndhcmVob3VzZSA9IGRhdGEud2FyZWhvdXNlTm87XHJcbiAgfTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHN0YXJ0U2lnbmF0dXJlQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHByaW50QnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuaW9uZS1zZW5kLW1ldGhvZC1kaWFsb2dcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIHByaXZhdGUgX3B1YmxpY09wdGlvbnM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHByaXZhdGUgX29wdGlvbnM6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHB1YmxpYyBzdG9ja1NlcnZpY2U6IFN0b2NrU2VydmljZSxcclxuICAgIHByaXZhdGUgX29wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpY3Rpb25hcnk6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICkge1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICB0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zTG9hZGVkLnN1YnNjcmliZShsb2FkZWQgPT4gdGhpcy5faGFuZGxlU2V0dGluZ3NMb2FkZWQobG9hZGVkKSksXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFByaW50ZXJzKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvY2tTZXJ2aWNlLmdldEFsbFByaW50ZXJzKHRydWUpLnRoZW4oKGxpc3QpID0+IHtcclxuICAgICAgdGhpcy5wcmludGVyTGlzdCA9IGxpc3Q7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZURpYWxvZ0NsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93RGlhbG9nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2lnbmF0dXJlU3RhcnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YXJ0U2lnbmF0dXJlQ2xpY2tlZC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUHJpbnRDbGlja2VkKCk6IHZvaWQge1xyXG4gICAgLy8gdGhpcy5wcmludEJ1dHRvbkNsaWNrZWQuZW1pdCgpO1xyXG4gICAgaWYgKHRoaXMuc3RvY2tTZXJ2aWNlLnByaW50U3RpY2tlci5wcmludGVyTmFtZSkge1xyXG4gICAgICB0aGlzLnN0b2NrU2VydmljZS5nZXRQcmludFN0b2NrU3RpY2tlcnModGhpcy5zdG9ja1NlcnZpY2UucHJpbnRTdGlja2VyKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVQcmludGVyU2VsZWN0aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXRQcmludGVycygpO1xyXG4gICAgaWYgKCF0aGlzLnNob3dQcmludGVyU2VsZWN0aW9ucykge1xyXG4gICAgICB0aGlzLnNob3dQcmludGVyU2VsZWN0aW9ucyA9IHRydWU7XHJcbiAgICAgIHRoaXMuaGVhZGVyVGl0bGUgPSAnUHJpbnRlciBzZWxlY3RpZSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dQcmludGVyU2VsZWN0aW9ucyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmhlYWRlclRpdGxlID0gJ1ZlcnplbmRvcHRpZXMnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uUHJpbnRlckNsaWNrZWQocHJpbnRlcik6IHZvaWQge1xyXG4gICAgdGhpcy5kZWZhdWx0UHJpbnRlciA9IHByaW50ZXIubmFtZTtcclxuICAgIHRoaXMuc3RvY2tTZXJ2aWNlLnByaW50U3RpY2tlci5wcmludGVyTmFtZSA9IHByaW50ZXIubmFtZTtcclxuICAgIHRoaXMuc2hvd1ByaW50ZXJTZWxlY3Rpb25zID0hIHRoaXMuc2hvd1ByaW50ZXJTZWxlY3Rpb25zO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFByaW50VGVtcGxhdGVzKCk6IGFueSB7XHJcbiAgICBpZiAoIXRoaXMucHJpbnRUZW1wbGF0ZXMpIHtcclxuICAgICAgY29uc3QgZGF0YSA9IG5ldyBTdG9ja1N0aWNrZXJzUHJpbnRMYXlvdXRzKCk7XHJcbiAgICAgIHRoaXMuc3RvY2tTZXJ2aWNlLmdldFN0b2NrU3RpY2tlclRlbXBsYXRlcyhkYXRhKS50aGVuKCh0ZW1wbGF0ZXM6IFN0b2NrU3RpY2tlcnNQcmludExheW91dHNbXSkgPT4ge1xyXG4gICAgICAgIHRoaXMucHJpbnRUZW1wbGF0ZXMgPSB0ZW1wbGF0ZXM7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlU2V0dGluZ3NMb2FkZWQobG9hZGVkOiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAobG9hZGVkKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuX2luaXRDb25uZWN0aW9uKCkudGhlbigpO1xyXG4gICAgICB0aGlzLnVwQW5kTG9hZGVkID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2luaXRDb25uZWN0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgLy8gYXdhaXQgdGhpcy5fY29ubmVjdG9yLmNvbm5lY3QodGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucyk7XHJcblxyXG4gICAgaWYgKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMudXJsKSB7XHJcbiAgICAgIHRoaXMuX2RpY3Rpb25hcnkucm9vdFVybCA9IHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMudXJsLnJlcGxhY2UoXCIvYWpheHNlcnZpY2VcIiwgXCJcIik7XHJcbiAgICB9XHJcbiAgICBhd2FpdCB0aGlzLl9kaWN0aW9uYXJ5LnNldERpY3Rpb25hcnkodGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy5sYW5ndWFnZUNvZGUpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -51,4 +51,4 @@ StockInformationComponent.propDecorators = {
51
51
  allAvailableStockInformation: [{ type: Input }],
52
52
  allTechnicalStockInformation: [{ type: Input }]
53
53
  };
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staW5mb3JtYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2staW5mb3JtYXRpb24vc3RvY2staW5mb3JtYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBMkNsRSxNQUFNLE9BQU8seUJBQXlCO0lBZ0JwQztJQUVBLENBQUM7OztZQXpERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7O3NCQUtFLEtBQUs7MkJBR0wsS0FBSzsyQ0FHTCxLQUFLOzJDQUdMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jay5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVFeHRlbmRlZH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQuYm9cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXN0b2NrLWluZm9ybWF0aW9uXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWluZm9cIiAqbmdJZj1cImFydGljbGVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2staW5mby1yb3dcIiA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2staW5mby1yb3ctaW1hZ2VcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWltYWdlXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWltYWdlIGNsYXNzPVwic3RvY2staW1hZ2VcIiBbc291cmNlXT1cImFydGljbGUuaW1hZ2VEYXRhXCI+PC9jby1pbWFnZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1nb29kLWluZm9cIj5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiYXJ0aWNsZS5kZXNjcmlwdGlvblwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImFydGljbGUuYXJ0aWNsZU51bWJlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stc3RhdHVzXCI+XHJcbiAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidTVE9DS19TVEFUVVMnXCI+PC9sYWJlbD5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJhcnRpY2xlLnN0b2NrU3RhdHVzXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1zdGF0dXNcIj5cclxuICAgICAgICAgIDxsYWJlbCBbdGV4dENvbnRlbnRdPVwiJ0FNT1VOVF9JTl9TVE9DSydcIj48L2xhYmVsPlxyXG4gICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImFsbFRlY2huaWNhbFN0b2NrSW5mb3JtYXRpb25cIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLXN0YXR1c1wiPlxyXG4gICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCInQU1PVU5UX0FWQUlMQUJMRSdcIj48L2xhYmVsPlxyXG4gICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImFsbEF2YWlsYWJsZVN0b2NrSW5mb3JtYXRpb25cIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLXN0YXR1c1wiPlxyXG4gICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCInQU1PVU5UX0xBVEVSX0FWQUlMQUJMRSdcIj48L2xhYmVsPlxyXG4gICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIlwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9ja0luZm9ybWF0aW9uQ29tcG9uZW50IHtcclxuXHJcbiAgcHVibGljIGltYWdlOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGU6IEFydGljbGVFeHRlbmRlZDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZVN0b2NrOiBBcnRpY2xlU3RvY2tCbztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWxsQXZhaWxhYmxlU3RvY2tJbmZvcm1hdGlvbjogbnVtYmVyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhbGxUZWNobmljYWxTdG9ja0luZm9ybWF0aW9uOiBudW1iZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICkge1xyXG4gIH1cclxuXHJcbn1cclxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staW5mb3JtYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2staW5mb3JtYXRpb24vc3RvY2staW5mb3JtYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBMkNsRSxNQUFNLE9BQU8seUJBQXlCO0lBZ0JwQztJQUVBLENBQUM7OztZQXpERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7O3NCQUtFLEtBQUs7MkJBR0wsS0FBSzsyQ0FHTCxLQUFLOzJDQUdMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0FydGljbGVTdG9jayBhcyBBcnRpY2xlU3RvY2tCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2suYm9cIjtcclxuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWV4dGVuZGVkLmJvXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1zdG9jay1pbmZvcm1hdGlvblwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1pbmZvXCIgKm5nSWY9XCJhcnRpY2xlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWluZm8tcm93XCIgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWluZm8tcm93LWltYWdlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1pbWFnZVwiPlxyXG4gICAgICAgICAgICAgIDxjby1pbWFnZSBjbGFzcz1cInN0b2NrLWltYWdlXCIgW3NvdXJjZV09XCJhcnRpY2xlLmltYWdlRGF0YVwiPjwvY28taW1hZ2U+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stZ29vZC1pbmZvXCI+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImFydGljbGUuZGVzY3JpcHRpb25cIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJhcnRpY2xlLmFydGljbGVOdW1iZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLXN0YXR1c1wiPlxyXG4gICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCInU1RPQ0tfU1RBVFVTJ1wiPjwvbGFiZWw+XHJcbiAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiYXJ0aWNsZS5zdG9ja1N0YXR1c1wiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stc3RhdHVzXCI+XHJcbiAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidBTU9VTlRfSU5fU1RPQ0snXCI+PC9sYWJlbD5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJhbGxUZWNobmljYWxTdG9ja0luZm9ybWF0aW9uXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1zdGF0dXNcIj5cclxuICAgICAgICAgIDxsYWJlbCBbdGV4dENvbnRlbnRdPVwiJ0FNT1VOVF9BVkFJTEFCTEUnXCI+PC9sYWJlbD5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJhbGxBdmFpbGFibGVTdG9ja0luZm9ybWF0aW9uXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1zdGF0dXNcIj5cclxuICAgICAgICAgIDxsYWJlbCBbdGV4dENvbnRlbnRdPVwiJ0FNT1VOVF9MQVRFUl9BVkFJTEFCTEUnXCI+PC9sYWJlbD5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvY2tJbmZvcm1hdGlvbkNvbXBvbmVudCB7XHJcblxyXG4gIHB1YmxpYyBpbWFnZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlOiBBcnRpY2xlRXh0ZW5kZWQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGVTdG9jazogQXJ0aWNsZVN0b2NrQm87XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFsbEF2YWlsYWJsZVN0b2NrSW5mb3JtYXRpb246IG51bWJlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWxsVGVjaG5pY2FsU3RvY2tJbmZvcm1hdGlvbjogbnVtYmVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICApIHtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==