@colijnit/sharedcomponents 258.1.6 → 258.1.8

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/358.645812766f7a400d0d38.js +1 -0
  2. package/3rdpartylicenses.txt +2222 -0
  3. package/863.171601b3075f2e971ba6.js +1 -0
  4. package/977.bd6291f9ee6f6ddf91f1.js +1 -0
  5. package/bundles/colijnit-sharedcomponents.umd.js +159 -99
  6. package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
  7. package/colijnit-sharedcomponents.d.ts +7 -7
  8. package/colijnit-sharedcomponents.metadata.json +1 -1
  9. package/esm2015/colijnit-sharedcomponents.js +8 -8
  10. package/esm2015/lib/components/custom-pdf/custom-pdf-dialog.component.js +20 -23
  11. package/esm2015/lib/components/send-method-dialog/components/additional-file-button/additional-file-button.component.js +14 -2
  12. package/esm2015/lib/components/send-method-dialog/components/pdf-preview/pdf-preview.component.js +2 -2
  13. package/esm2015/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.js +32 -10
  14. package/esm2015/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.js +4 -2
  15. package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.js +27 -17
  16. package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +33 -3
  17. package/esm2015/lib/enum/icon.enum.js +2 -1
  18. package/esm2015/lib/model/icon-svg.js +2 -1
  19. package/esm2015/lib/res/dictionary/dictionaries.js +2 -2
  20. package/favicon.ico +0 -0
  21. package/fesm2015/colijnit-sharedcomponents.js +192 -118
  22. package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
  23. package/index.html +12 -0
  24. package/lib/components/custom-pdf/custom-pdf-dialog.component.d.ts +7 -4
  25. package/lib/components/send-method-dialog/components/additional-file-button/additional-file-button.component.d.ts +4 -0
  26. package/lib/components/send-method-dialog/components/additional-file-button/style/_layout.scss +2 -2
  27. package/lib/components/send-method-dialog/components/additional-file-button/style/_material-definition.scss +2 -2
  28. package/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.d.ts +9 -0
  29. package/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.d.ts +4 -0
  30. package/lib/components/send-method-dialog/components/send-method-printer/style/_layout.scss +6 -0
  31. package/lib/components/send-method-dialog/components/signature-button/style/_layout.scss +6 -4
  32. package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +7 -0
  33. package/lib/enum/icon.enum.d.ts +1 -0
  34. package/main.b602afad3df3a8d4917a.js +1 -0
  35. package/package.json +1 -1
  36. package/polyfills.907fe9d1887c5de17993.js +1 -0
  37. package/runtime.bd7b12db009c4e3aa24d.js +1 -0
  38. package/styles.a2ff6b829c590477cd83.css +1 -0
@@ -1,4 +1,4 @@
1
- import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';
1
+ import { Component, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
2
2
  import { SendMethodService } from '../../service/send-method.service';
3
3
  import { Icon } from '../../../../enum/icon.enum';
4
4
  import { IconCacheService } from '../../../../service/icon-cache.service';
@@ -30,6 +30,14 @@ export class SendMethodPrinterComponent {
30
30
  this.sendMethodService.reportingDocumentPrintSignDocBaseRequest.saveDefaultPrinterForAllUsers = checked;
31
31
  this.sendMethodService.reportingDocumentPrintSignDocBaseRequestChanged.next(this.sendMethodService.reportingDocumentPrintSignDocBaseRequest);
32
32
  }
33
+ openAdditionalFileDialog() {
34
+ var _a;
35
+ (_a = this.additionalFileButtonRef) === null || _a === void 0 ? void 0 : _a.openForSave();
36
+ }
37
+ isAdditionalFileActive() {
38
+ var _a, _b;
39
+ return (_b = (_a = this.additionalFileButtonRef) === null || _a === void 0 ? void 0 : _a.isActive) !== null && _b !== void 0 ? _b : false;
40
+ }
33
41
  }
34
42
  SendMethodPrinterComponent.decorators = [
35
43
  { type: Component, args: [{
@@ -38,18 +46,25 @@ SendMethodPrinterComponent.decorators = [
38
46
  <span class="send-methods-label" [textContent]="'SETTINGS' | sharedLocalize"></span>
39
47
  <div class="printer-layout-selections-wrapper">
40
48
  <div class="printer-signature-wrapper">
41
- <co-printer-selection [defaultPrinter]="defaultPrinter" [printers]="printerList"></co-printer-selection>
49
+ <co-layout-selection
50
+ [(request)]="sendMethodService.reportingDocumentPrintSignDocBaseRequest"
51
+ (requestChange)="showFilePreview.emit(sendMethodService.reportingDocumentPrintSignDocBaseRequest.reportId)"
52
+ (loadDefaultPrinterName)="loadDefaultPrinterName.emit($event)"
53
+ [layouts]="layouts"
54
+ [label]="'PRINTER_LAYOUT'"
55
+ [useDefault]="false">
56
+ </co-layout-selection>
57
+ <co-additional-file-button
58
+ #additionalFileButton
59
+ *ngIf="isAdditionalDocEnabled"
60
+ [additionalFileContents]="additionalFileContents"
61
+ [additionalFileName]="additionalFileName"
62
+ (additionalFileChangeEvent)="additionalFileChangeEvent.emit($event)">
63
+ </co-additional-file-button>
42
64
  <co-signature-button [request]="sendMethodService.reportingDocumentPrintSignDocBaseRequest"></co-signature-button>
43
65
  </div>
44
66
  <div class="layout-buttons-wrapper" *ngIf="isPrinterLayoutsEnabled">
45
- <co-layout-selection
46
- [(request)]="sendMethodService.reportingDocumentPrintSignDocBaseRequest"
47
- (requestChange)="showFilePreview.emit(sendMethodService.reportingDocumentPrintSignDocBaseRequest.reportId)"
48
- (loadDefaultPrinterName)="loadDefaultPrinterName.emit($event)"
49
- [layouts]="layouts"
50
- [label]="'PRINTER_LAYOUT'"
51
- [useDefault]="false">
52
- </co-layout-selection>
67
+ <co-printer-selection [defaultPrinter]="defaultPrinter" [printers]="printerList"></co-printer-selection>
53
68
  <div class="additional-checks">
54
69
  <co-input-checkbox
55
70
  [model]="sendMethodService.reportingDocumentPrintSignDocBaseRequest.saveDefaultPrinterForUser"
@@ -69,12 +84,6 @@ SendMethodPrinterComponent.decorators = [
69
84
  [disablePdfPreview]="disablePdfPreview"
70
85
  (showFilePreview)="showFilePreview.emit(sendMethodService.reportingDocumentPrintSignDocBaseRequest.reportId)">
71
86
  </co-pdf-preview>
72
- <co-additional-file-button
73
- *ngIf="isAdditionalDocEnabled"
74
- [additionalFileContents]="additionalFileContents"
75
- [additionalFileName]="additionalFileName"
76
- (additionalFileChangeEvent)="additionalFileChangeEvent.emit($event)">
77
- </co-additional-file-button>
78
87
  </div>
79
88
  </div>
80
89
  </div>
@@ -88,6 +97,7 @@ SendMethodPrinterComponent.ctorParameters = () => [
88
97
  ];
89
98
  SendMethodPrinterComponent.propDecorators = {
90
99
  showClass: [{ type: HostBinding, args: ['class.co-send-method-printer',] }],
100
+ additionalFileButtonRef: [{ type: ViewChild, args: ['additionalFileButton',] }],
91
101
  printerList: [{ type: Input }],
92
102
  defaultPrinter: [{ type: Input }],
93
103
  layouts: [{ type: Input }],
@@ -102,4 +112,4 @@ SendMethodPrinterComponent.propDecorators = {
102
112
  showFilePreview: [{ type: Output }],
103
113
  loadDefaultPrinterName: [{ type: Output }]
104
114
  };
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtcHJpbnRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1wcmludGVyL3NlbmQtbWV0aG9kLXByaW50ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBR3BFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQW9EeEUsTUFBTSxPQUFPLDBCQUEwQjtJQStDckMsWUFDUyxpQkFBb0MsRUFDcEMsZ0JBQWtDO1FBRGxDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTFDcEMsZ0JBQVcsR0FBYyxFQUFFLENBQUM7UUFNNUIsWUFBTyxHQUFpQyxFQUFFLENBQUM7UUFHM0MsNEJBQXVCLEdBQVksSUFBSSxDQUFDO1FBR3hDLDJCQUFzQixHQUFZLEtBQUssQ0FBQztRQUd4QyxXQUFNLEdBQVEsRUFBRSxDQUFDO1FBR2pCLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQU1uQywyQkFBc0IsR0FBUSxFQUFFLENBQUM7UUFHakMsdUJBQWtCLEdBQVcsRUFBRSxDQUFDO1FBR2hDLDhCQUF5QixHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBR3JGLG9CQUFlLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHbkUsMkJBQXNCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFFOUQsVUFBSyxHQUFHLElBQUksQ0FBQztJQU1oQyxDQUFDO0lBakRNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFpRE0sOEJBQThCLENBQUMsT0FBZ0I7UUFDcEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHdDQUF3QyxDQUFDLHlCQUF5QixHQUFHLE9BQU8sQ0FBQztRQUNwRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsK0NBQStDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO0lBQy9JLENBQUM7SUFFTSxrQ0FBa0MsQ0FBQyxPQUFnQjtRQUN4RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsd0NBQXdDLENBQUMsNkJBQTZCLEdBQUcsT0FBTyxDQUFDO1FBQ3hHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQywrQ0FBK0MsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHdDQUF3QyxDQUFDLENBQUM7SUFDL0ksQ0FBQzs7O1lBOUdGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNENUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUF2RE8saUJBQWlCO1lBSWpCLGdCQUFnQjs7O3dCQXFEckIsV0FBVyxTQUFDLDhCQUE4QjswQkFLMUMsS0FBSzs2QkFHTCxLQUFLO3NCQUdMLEtBQUs7c0NBR0wsS0FBSztxQ0FHTCxLQUFLO3FCQUdMLEtBQUs7Z0NBR0wsS0FBSzs4QkFHTCxLQUFLO3FDQUdMLEtBQUs7aUNBR0wsS0FBSzt3Q0FHTCxNQUFNOzhCQUdOLE1BQU07cUNBR04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U2VuZE1ldGhvZFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2Uvc2VuZC1tZXRob2Quc2VydmljZSc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLXByaW50LmJvJztcclxuaW1wb3J0IHtQcmludGVyfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9wcmludGVyLmJvJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi8uLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvY3VtZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tc2VuZC1tZXRob2QtcHJpbnRlcicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPHNwYW4gY2xhc3M9XCJzZW5kLW1ldGhvZHMtbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ1NFVFRJTkdTJyB8IHNoYXJlZExvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicHJpbnRlci1sYXlvdXQtc2VsZWN0aW9ucy13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpbnRlci1zaWduYXR1cmUtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxjby1wcmludGVyLXNlbGVjdGlvbiBbZGVmYXVsdFByaW50ZXJdPVwiZGVmYXVsdFByaW50ZXJcIiBbcHJpbnRlcnNdPVwicHJpbnRlckxpc3RcIj48L2NvLXByaW50ZXItc2VsZWN0aW9uPlxyXG4gICAgICAgICAgICAgIDxjby1zaWduYXR1cmUtYnV0dG9uIFtyZXF1ZXN0XT1cInNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3RcIj48L2NvLXNpZ25hdHVyZS1idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtYnV0dG9ucy13cmFwcGVyXCIgKm5nSWY9XCJpc1ByaW50ZXJMYXlvdXRzRW5hYmxlZFwiPlxyXG4gICAgICAgICAgICAgIDxjby1sYXlvdXQtc2VsZWN0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgICBbKHJlcXVlc3QpXT1cInNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKHJlcXVlc3RDaGFuZ2UpPVwic2hvd0ZpbGVQcmV2aWV3LmVtaXQoc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdC5yZXBvcnRJZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGxvYWREZWZhdWx0UHJpbnRlck5hbWUpPVwibG9hZERlZmF1bHRQcmludGVyTmFtZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2xheW91dHNdPVwibGF5b3V0c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1BSSU5URVJfTEFZT1VUJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbdXNlRGVmYXVsdF09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgIDwvY28tbGF5b3V0LXNlbGVjdGlvbj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRkaXRpb25hbC1jaGVja3NcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Quc2F2ZURlZmF1bHRQcmludGVyRm9yVXNlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidLb3BwZWxpbmcgb250aG91ZGVuJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZURlZmF1bHRQcmludGVyVXNlckNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJzZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0LnNhdmVEZWZhdWx0UHJpbnRlckZvckFsbFVzZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0FsbGUgZ2VicnVpa2VycydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVEZWZhdWx0UHJpbnRlckFsbFVzZXJzQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgPC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRkaXRpb25hbC1idXR0b25zXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1wZGYtcHJldmlld1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidHJhbnNhY3Rpb25UeXBlID09PSAnc2FsZXNPcmRlck92ZXJ2aWV3J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3BkZkRvY109XCJwZGZEb2NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlUGRmUHJldmlld109XCJkaXNhYmxlUGRmUHJldmlld1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKHNob3dGaWxlUHJldmlldyk9XCJzaG93RmlsZVByZXZpZXcuZW1pdChzZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0LnJlcG9ydElkKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2NvLXBkZi1wcmV2aWV3PlxyXG4gICAgICAgICAgICAgICAgICA8Y28tYWRkaXRpb25hbC1maWxlLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNBZGRpdGlvbmFsRG9jRW5hYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2FkZGl0aW9uYWxGaWxlQ29udGVudHNdPVwiYWRkaXRpb25hbEZpbGVDb250ZW50c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2FkZGl0aW9uYWxGaWxlTmFtZV09XCJhZGRpdGlvbmFsRmlsZU5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChhZGRpdGlvbmFsRmlsZUNoYW5nZUV2ZW50KT1cImFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQuZW1pdCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvY28tYWRkaXRpb25hbC1maWxlLWJ1dHRvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbmRNZXRob2RQcmludGVyQ29tcG9uZW50IHtcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXNlbmQtbWV0aG9kLXByaW50ZXInKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHByaW50ZXJMaXN0OiBQcmludGVyW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGVmYXVsdFByaW50ZXI6IFByaW50ZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxheW91dHM6IFJlcG9ydExheW91dFNlbGVjdGlvblByaW50W10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNQcmludGVyTGF5b3V0c0VuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc0FkZGl0aW9uYWxEb2NFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBkZkRvYzogYW55ID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRpc2FibGVQZGZQcmV2aWV3OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uVHlwZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhZGRpdGlvbmFsRmlsZUNvbnRlbnRzOiBhbnkgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVOYW1lOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQ6IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHNob3dGaWxlUHJldmlldzogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGxvYWREZWZhdWx0UHJpbnRlck5hbWU6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gIHByb3RlY3RlZCByZWFkb25seSBpY29ucyA9IEljb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHNlbmRNZXRob2RTZXJ2aWNlOiBTZW5kTWV0aG9kU2VydmljZSxcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRGVmYXVsdFByaW50ZXJVc2VyQ2hhbmdlKGNoZWNrZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdC5zYXZlRGVmYXVsdFByaW50ZXJGb3JVc2VyID0gY2hlY2tlZDtcclxuICAgIHRoaXMuc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdENoYW5nZWQubmV4dCh0aGlzLnNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZURlZmF1bHRQcmludGVyQWxsVXNlcnNDaGFuZ2UoY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0LnNhdmVEZWZhdWx0UHJpbnRlckZvckFsbFVzZXJzID0gY2hlY2tlZDtcclxuICAgIHRoaXMuc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdENoYW5nZWQubmV4dCh0aGlzLnNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QpO1xyXG4gIH1cclxufVxyXG4iXX0=
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtcHJpbnRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1wcmludGVyL3NlbmQtbWV0aG9kLXByaW50ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUdwRSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDaEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFzRHhFLE1BQU0sT0FBTywwQkFBMEI7SUFrRHJDLFlBQ1MsaUJBQW9DLEVBQ3BDLGdCQUFrQztRQURsQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUExQ3BDLGdCQUFXLEdBQWMsRUFBRSxDQUFDO1FBTTVCLFlBQU8sR0FBaUMsRUFBRSxDQUFDO1FBRzNDLDRCQUF1QixHQUFZLElBQUksQ0FBQztRQUd4QywyQkFBc0IsR0FBWSxLQUFLLENBQUM7UUFHeEMsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUdqQixzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFNbkMsMkJBQXNCLEdBQVEsRUFBRSxDQUFDO1FBR2pDLHVCQUFrQixHQUFXLEVBQUUsQ0FBQztRQUdoQyw4QkFBeUIsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUdyRixvQkFBZSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBR25FLDJCQUFzQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTlELFVBQUssR0FBRyxJQUFJLENBQUM7SUFNaEMsQ0FBQztJQXBETSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBb0RNLDhCQUE4QixDQUFDLE9BQWdCO1FBQ3BELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx3Q0FBd0MsQ0FBQyx5QkFBeUIsR0FBRyxPQUFPLENBQUM7UUFDcEcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLCtDQUErQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsd0NBQXdDLENBQUMsQ0FBQztJQUMvSSxDQUFDO0lBRU0sa0NBQWtDLENBQUMsT0FBZ0I7UUFDeEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHdDQUF3QyxDQUFDLDZCQUE2QixHQUFHLE9BQU8sQ0FBQztRQUN4RyxJQUFJLENBQUMsaUJBQWlCLENBQUMsK0NBQStDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO0lBQy9JLENBQUM7SUFFTSx3QkFBd0I7O1FBQzdCLE1BQUEsSUFBSSxDQUFDLHVCQUF1QiwwQ0FBRSxXQUFXLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRU0sc0JBQXNCOztRQUMzQixPQUFPLE1BQUEsTUFBQSxJQUFJLENBQUMsdUJBQXVCLDBDQUFFLFFBQVEsbUNBQUksS0FBSyxDQUFDO0lBQ3pELENBQUM7OztZQTFIRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Q1Q7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQXpETyxpQkFBaUI7WUFJakIsZ0JBQWdCOzs7d0JBdURyQixXQUFXLFNBQUMsOEJBQThCO3NDQUsxQyxTQUFTLFNBQUMsc0JBQXNCOzBCQUdoQyxLQUFLOzZCQUdMLEtBQUs7c0JBR0wsS0FBSztzQ0FHTCxLQUFLO3FDQUdMLEtBQUs7cUJBR0wsS0FBSztnQ0FHTCxLQUFLOzhCQUdMLEtBQUs7cUNBR0wsS0FBSztpQ0FHTCxLQUFLO3dDQUdMLE1BQU07OEJBR04sTUFBTTtxQ0FHTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1NlbmRNZXRob2RTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3NlbmQtbWV0aG9kLnNlcnZpY2UnO1xyXG5pbXBvcnQge1JlcG9ydExheW91dFNlbGVjdGlvblByaW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1wcmludC5ibyc7XHJcbmltcG9ydCB7UHJpbnRlcn0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcHJpbnRlci5ibyc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudCc7XHJcbmltcG9ydCB7QWRkaXRpb25hbEZpbGVCdXR0b25Db21wb25lbnR9IGZyb20gXCIuLi9hZGRpdGlvbmFsLWZpbGUtYnV0dG9uL2FkZGl0aW9uYWwtZmlsZS1idXR0b24uY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLXNlbmQtbWV0aG9kLXByaW50ZXInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic2VuZC1tZXRob2RzLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIidTRVRUSU5HUycgfCBzaGFyZWRMb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItbGF5b3V0LXNlbGVjdGlvbnMtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItc2lnbmF0dXJlLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGNvLWxheW91dC1zZWxlY3Rpb25cclxuICAgICAgICAgICAgICBbKHJlcXVlc3QpXT1cInNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3RcIlxyXG4gICAgICAgICAgICAgIChyZXF1ZXN0Q2hhbmdlKT1cInNob3dGaWxlUHJldmlldy5lbWl0KHNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QucmVwb3J0SWQpXCJcclxuICAgICAgICAgICAgICAobG9hZERlZmF1bHRQcmludGVyTmFtZSk9XCJsb2FkRGVmYXVsdFByaW50ZXJOYW1lLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgW2xheW91dHNdPVwibGF5b3V0c1wiXHJcbiAgICAgICAgICAgICAgW2xhYmVsXT1cIidQUklOVEVSX0xBWU9VVCdcIlxyXG4gICAgICAgICAgICAgIFt1c2VEZWZhdWx0XT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgIDwvY28tbGF5b3V0LXNlbGVjdGlvbj5cclxuICAgICAgICAgICAgPGNvLWFkZGl0aW9uYWwtZmlsZS1idXR0b25cclxuICAgICAgICAgICAgICAjYWRkaXRpb25hbEZpbGVCdXR0b25cclxuICAgICAgICAgICAgICAqbmdJZj1cImlzQWRkaXRpb25hbERvY0VuYWJsZWRcIlxyXG4gICAgICAgICAgICAgIFthZGRpdGlvbmFsRmlsZUNvbnRlbnRzXT1cImFkZGl0aW9uYWxGaWxlQ29udGVudHNcIlxyXG4gICAgICAgICAgICAgIFthZGRpdGlvbmFsRmlsZU5hbWVdPVwiYWRkaXRpb25hbEZpbGVOYW1lXCJcclxuICAgICAgICAgICAgICAoYWRkaXRpb25hbEZpbGVDaGFuZ2VFdmVudCk9XCJhZGRpdGlvbmFsRmlsZUNoYW5nZUV2ZW50LmVtaXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8L2NvLWFkZGl0aW9uYWwtZmlsZS1idXR0b24+XHJcbiAgICAgICAgICAgICAgPGNvLXNpZ25hdHVyZS1idXR0b24gW3JlcXVlc3RdPVwic2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdFwiPjwvY28tc2lnbmF0dXJlLWJ1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1idXR0b25zLXdyYXBwZXJcIiAqbmdJZj1cImlzUHJpbnRlckxheW91dHNFbmFibGVkXCI+XHJcbiAgICAgICAgICAgIDxjby1wcmludGVyLXNlbGVjdGlvbiBbZGVmYXVsdFByaW50ZXJdPVwiZGVmYXVsdFByaW50ZXJcIiBbcHJpbnRlcnNdPVwicHJpbnRlckxpc3RcIj48L2NvLXByaW50ZXItc2VsZWN0aW9uPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGRpdGlvbmFsLWNoZWNrc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwic2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdC5zYXZlRGVmYXVsdFByaW50ZXJGb3JVc2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0tvcHBlbGluZyBvbnRob3VkZW4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlRGVmYXVsdFByaW50ZXJVc2VyQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgPC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Quc2F2ZURlZmF1bHRQcmludGVyRm9yQWxsVXNlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQWxsZSBnZWJydWlrZXJzJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZURlZmF1bHRQcmludGVyQWxsVXNlcnNDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGRpdGlvbmFsLWJ1dHRvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLXBkZi1wcmV2aWV3XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0cmFuc2FjdGlvblR5cGUgPT09ICdzYWxlc09yZGVyT3ZlcnZpZXcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcGRmRG9jXT1cInBkZkRvY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVQZGZQcmV2aWV3XT1cImRpc2FibGVQZGZQcmV2aWV3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hvd0ZpbGVQcmV2aWV3KT1cInNob3dGaWxlUHJldmlldy5lbWl0KHNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QucmVwb3J0SWQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvY28tcGRmLXByZXZpZXc+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZW5kTWV0aG9kUHJpbnRlckNvbXBvbmVudCB7XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1zZW5kLW1ldGhvZC1wcmludGVyJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkKCdhZGRpdGlvbmFsRmlsZUJ1dHRvbicpXHJcbiAgcHVibGljIGFkZGl0aW9uYWxGaWxlQnV0dG9uUmVmOiBBZGRpdGlvbmFsRmlsZUJ1dHRvbkNvbXBvbmVudDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcHJpbnRlckxpc3Q6IFByaW50ZXJbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkZWZhdWx0UHJpbnRlcjogUHJpbnRlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGF5b3V0czogUmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnRbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc1ByaW50ZXJMYXlvdXRzRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzQWRkaXRpb25hbERvY0VuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGRmRG9jOiBhbnkgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGlzYWJsZVBkZlByZXZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdHJhbnNhY3Rpb25UeXBlOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFkZGl0aW9uYWxGaWxlQ29udGVudHM6IGFueSA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhZGRpdGlvbmFsRmlsZU5hbWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVDaGFuZ2VFdmVudDogRXZlbnRFbWl0dGVyPENvRG9jdW1lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgc2hvd0ZpbGVQcmV2aWV3OiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgbG9hZERlZmF1bHRQcmludGVyTmFtZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb25zID0gSWNvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgc2VuZE1ldGhvZFNlcnZpY2U6IFNlbmRNZXRob2RTZXJ2aWNlLFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEZWZhdWx0UHJpbnRlclVzZXJDaGFuZ2UoY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0LnNhdmVEZWZhdWx0UHJpbnRlckZvclVzZXIgPSBjaGVja2VkO1xyXG4gICAgdGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0Q2hhbmdlZC5uZXh0KHRoaXMuc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRGVmYXVsdFByaW50ZXJBbGxVc2Vyc0NoYW5nZShjaGVja2VkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Quc2F2ZURlZmF1bHRQcmludGVyRm9yQWxsVXNlcnMgPSBjaGVja2VkO1xyXG4gICAgdGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0Q2hhbmdlZC5uZXh0KHRoaXMuc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlbkFkZGl0aW9uYWxGaWxlRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5hZGRpdGlvbmFsRmlsZUJ1dHRvblJlZj8ub3BlbkZvclNhdmUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0FkZGl0aW9uYWxGaWxlQWN0aXZlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkaXRpb25hbEZpbGVCdXR0b25SZWY/LmlzQWN0aXZlID8/IGZhbHNlO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -55,6 +55,7 @@ export class SendMethodDialogComponent {
55
55
  this.showWebservice = true;
56
56
  this.showPdf = true;
57
57
  this.selectedPurchaseMethod = {};
58
+ this.additionalFileHasBeenSaved = false;
58
59
  this._subscriptions = [];
59
60
  this._subscriptions.push(this._sendMethodService.reportingDocumentPrintSignDocBaseRequestChanged.subscribe((value) => this.reportingDocumentPrintRequestChange.next(value)), this._sendMethodService.reportingDocumentEmailSignDocBaseRequestChanged.subscribe((value) => this.reportingDocumentEmailRequestChange.next(value)), this._sendMethodService.reportingDocumentPdfBaseRequestChanged.subscribe((value) => this.reportingDocumentPdfRequestChange.next(value)));
60
61
  }
@@ -91,7 +92,28 @@ export class SendMethodDialogComponent {
91
92
  this.purchaseItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;
92
93
  }
93
94
  }
95
+ handleAdditionalFileSaved(file) {
96
+ this.additionalFileHasBeenSaved = true;
97
+ this.additionalFileChangeEvent.emit(file);
98
+ this._continueHandleOkClick();
99
+ }
94
100
  handleOkClick() {
101
+ var _a, _b, _c, _d;
102
+ if (this.isAdditionalDocEnabled && !this.additionalFileHasBeenSaved) {
103
+ if (((_a = this.activeSendMethod) === null || _a === void 0 ? void 0 : _a.code) === SendMethodType.Print &&
104
+ ((_b = this.printerComponentRef) === null || _b === void 0 ? void 0 : _b.isAdditionalFileActive())) {
105
+ this.printerComponentRef.openAdditionalFileDialog();
106
+ return;
107
+ }
108
+ if (((_c = this.activeSendMethod) === null || _c === void 0 ? void 0 : _c.code) === SendMethodType.Email &&
109
+ ((_d = this.emailComponentRef) === null || _d === void 0 ? void 0 : _d.isAdditionalFileActive())) {
110
+ this.emailComponentRef.openAdditionalFileDialog();
111
+ return;
112
+ }
113
+ }
114
+ this._continueHandleOkClick();
115
+ }
116
+ _continueHandleOkClick() {
95
117
  if (this.activeSendMethod && this.activeSendMethod.code.toString() === "COMBINED") {
96
118
  const selectedMethodData = Object.assign({ sendMethod: this.activeSendMethod.code.toString() }, this.selectedPurchaseMethod);
97
119
  this.okClick.emit(selectedMethodData);
@@ -229,6 +251,7 @@ SendMethodDialogComponent.decorators = [
229
251
  </div>
230
252
  <div #printItems class="send-method-navigation-content co-small-scrollbar" *ngIf="showPrint">
231
253
  <co-send-method-printer
254
+ #printerComponent
232
255
  [isPrinterLayoutsEnabled]="isPrinterLayoutsEnabled"
233
256
  [printerList]="printerList"
234
257
  [layouts]="printLayouts"
@@ -239,13 +262,14 @@ SendMethodDialogComponent.decorators = [
239
262
  [disablePdfPreview]="disablePdfPreview"
240
263
  [transactionType]="transactionType"
241
264
  [defaultPrinter]="defaultPrinter"
242
- (additionalFileChangeEvent)="additionalFileChangeEvent.emit($event)"
265
+ (additionalFileChangeEvent)="handleAdditionalFileSaved($event)"
243
266
  (showFilePreview)="showFilePreview.emit($event)"
244
267
  (loadDefaultPrinterName)="loadDefaultPrinterName.emit($event)"
245
268
  ></co-send-method-printer>
246
269
  </div>
247
270
  <div #emailItems class="send-method-navigation-content co-small-scrollbar" *ngIf="showEmail">
248
271
  <co-send-method-email
272
+ #emailComponent
249
273
  [emailAddresses]="emailAddresses"
250
274
  [layouts]="emailLayouts"
251
275
  [pdfDoc]="pdfDoc"
@@ -253,7 +277,11 @@ SendMethodDialogComponent.decorators = [
253
277
  [transactionType]="transactionType"
254
278
  [emailUnsignedPossible]="emailUnsignedPossible"
255
279
  (showFilePreview)="showFilePreview.emit($event)"
256
- (loadDefaultPrinterName)="loadDefaultPrinterName.emit($event)">
280
+ (loadDefaultPrinterName)="loadDefaultPrinterName.emit($event)"
281
+ [isAdditionalDocEnabled]="isAdditionalDocEnabled"
282
+ [additionalFileContents]="additionalFileContents"
283
+ [additionalFileName]="additionalFileName"
284
+ (additionalFileChangeEvent)="handleAdditionalFileSaved($event)">
257
285
  </co-send-method-email>
258
286
  </div>
259
287
  <div #ediItems class="send-method-navigation-content co-small-scrollbar" *ngIf="showEdi">
@@ -327,6 +355,8 @@ SendMethodDialogComponent.propDecorators = {
327
355
  webServiceItems: [{ type: ViewChild, args: ['webServiceItems', { read: ElementRef },] }],
328
356
  pdfItems: [{ type: ViewChild, args: ['pdfItems', { read: ElementRef },] }],
329
357
  purchaseItems: [{ type: ViewChild, args: ['purchaseItems', { read: ElementRef },] }],
358
+ printerComponentRef: [{ type: ViewChild, args: ['printerComponent',] }],
359
+ emailComponentRef: [{ type: ViewChild, args: ['emailComponent',] }],
330
360
  printerList: [{ type: Input }],
331
361
  reportingDocumentPrintRequest: [{ type: Input }],
332
362
  reportingDocumentEmailRequest: [{ type: Input }],
@@ -360,4 +390,4 @@ SendMethodDialogComponent.propDecorators = {
360
390
  loadDefaultPrinterName: [{ type: Output }],
361
391
  showClass: [{ type: HostBinding, args: ['class.co-send-method-dialog',] }]
362
392
  };
363
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9JLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBSy9FLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFNbEYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQWlCO0lBQy9DLElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDNUQsSUFBSSxVQUFVLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUM5RCxJQUFJLFVBQVUsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzNELElBQUksVUFBVSxD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SSxFQUFFLFVBQVUsRUFBQzs4QkFHeEMsU0FBUyxTQUFDLGlCQUFpQixFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQzt1QkFHL0MsU0FBUyxTQUFDLFVBQVUsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7NEJBR3hDLFNBQVMsU0FBQyxlQUFlLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDOzBCQUc3QyxLQUFLOzRDQUdMLEtBQUs7NENBR0wsS0FBSzswQ0FHTCxLQUFLOzJCQUdMLEtBQUs7MkJBR0wsS0FBSzs2QkFHTCxLQUFLOzBCQUdMLEtBQUs7NkJBR0wsS0FBSztnQ0FHTCxLQUFLOzZCQUdMLEtBQUs7K0JBR0wsS0FBSztzQkFHTCxLQUFLO3NDQUdMLEtBQUs7cUNBR0wsS0FBSztpQ0FHTCxLQUFLO3FDQUdMLEtBQUs7cUJBR0wsS0FBSztnQ0FHTCxLQUFLOzhCQUdMLEtBQUs7b0NBR0wsS0FBSztvQ0FHTCxLQUFLO2tEQUdMLE1BQU07a0RBR04sTUFBTTtnREFHTixNQUFNO29DQUdOLE1BQU07eUJBR04sTUFBTTtzQkFHTixNQUFNO3dDQUdOLE1BQU07OEJBR04sTUFBTTtxQ0FHTixNQUFNO3dCQUdOLFdBQVcsU0FBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1JlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1lbWFpbC5ibyc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLXByaW50LmJvJztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtcGRmLWJhc2UtcmVxdWVzdCc7XHJcbmltcG9ydCB7U2VuZE1ldGhvZFNlcnZpY2V9IGZyb20gJy4vc2VydmljZS9zZW5kLW1ldGhvZC5zZXJ2aWNlJztcclxuaW1wb3J0IHtTZW5kTWV0aG9kfSBmcm9tICcuLi8uLi9tb2RlbC9zZW5kLW1ldGhvZCc7XHJcbmltcG9ydCB7U2VuZE1ldGhvZFR5cGV9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vc2VuZC1tZXRob2QtdHlwZS5lbnVtJztcclxuaW1wb3J0IHtQcmludGVyfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9wcmludGVyLmJvJztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtZW1haWwtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtcHJpbnQtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudCc7XHJcblxyXG5leHBvcnQgY29uc3Qgc2VuZE1ldGhvZHNXaXRoSWNvbjogU2VuZE1ldGhvZFtdID0gW1xyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLkZheCwgXCJGYXhcIiwgSWNvbi5QcmludFJlZ3VsYXIpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLlByaW50LCBcIlByaW50XCIsIEljb24uUHJpbnRTb2xpZCksXHJcbiAgbmV3IFNlbmRNZXRob2QoU2VuZE1ldGhvZFR5cGUuRW1haWwsIFwiRW1haWxcIiwgSWNvbi5BdFNvbGlkKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5FZGksIFwiRWRpXCIsIEljb24uRmlsZUV4cG9ydFNvbGlkKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5FbWFpbFRlbXBsYXRlLCBcIkVtYWlsIHRlbXBsYXRlXCIsIEljb24uRW52ZWxvcGVSZWd1bGFyKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5TbXMsIFwiU21zXCIsIEljb24uTWVzc2FnZVNtc1NvbGlkKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5XZWJTZXJ2aWNlLCBcIldlYnNlcnZpY2VcIiwgSWNvbi5QcmludFJlZ3VsYXIpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLlBkZiwgXCJQZGZcIiwgSWNvbi5QZGYpLFxyXG5dXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLXNlbmQtbWV0aG9kLWRpYWxvZycsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGNvLWRpYWxvZyBpZD1cInNlbmRPcHRpb25zRGlhbG9nXCIgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCIgW2Zvb3RlclRlbXBsYXRlXT1cImZvb3RlclRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJjbG9zZUNsaWNrLmVtaXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLWhlYWRlci10aXRsZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuU2hhcmVTb2xpZClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cImhlYWRlclRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1uYXZpZ2F0aW9uLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzZW5kTWV0aG9kIG9mIHNlbmRNZXRob2RzOyBsZXQgaW5kZXggPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZW5kLWJ1dHRvbi13cmFwcGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiYWN0aXZlU2VuZE1ldGhvZCA/IHNlbmRNZXRob2QuY29kZSA9PT0gYWN0aXZlU2VuZE1ldGhvZC5jb2RlIDogaW5kZXggPT09IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVTZW5kTWV0aG9kQ2xpY2soc2VuZE1ldGhvZClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tYnV0dG9uLXRpdGxlXCIgW3RleHRDb250ZW50XT1cInNlbmRNZXRob2QuZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VuZC1idXR0b24td3JhcHBlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidXNlUHVyY2hhc2VTZW5kTWV0aG9kXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImFjdGl2ZVNlbmRNZXRob2Q/LmNvZGUgPT09ICdDT01CSU5FRCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQ29tYmluZWRDbGljaygpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tYnV0dG9uLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidDT01CSU5FRCcgfCBzaGFyZWRMb2NhbGl6ZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbmQtbWV0aG9kcy13cmFwcGVyXCI+XHJcblxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgI25hdmlnYXRpb25JdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24td3JhcHBlclwiIFtjbGFzcy5zbW9vdGgtc2Nyb2xsaW5nXT1cIiFzdGFydFVwXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgI2ZheEl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgI3ByaW50SXRlbXMgY2xhc3M9XCJzZW5kLW1ldGhvZC1uYXZpZ2F0aW9uLWNvbnRlbnQgY28tc21hbGwtc2Nyb2xsYmFyXCIgKm5nSWY9XCJzaG93UHJpbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxjby1zZW5kLW1ldGhvZC1wcmludGVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc1ByaW50ZXJMYXlvdXRzRW5hYmxlZF09XCJpc1ByaW50ZXJMYXlvdXRzRW5hYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcmludGVyTGlzdF09XCJwcmludGVyTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYXlvdXRzXT1cInByaW50TGF5b3V0c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc0FkZGl0aW9uYWxEb2NFbmFibGVkXT1cImlzQWRkaXRpb25hbERvY0VuYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWRkaXRpb25hbEZpbGVDb250ZW50c109XCJhZGRpdGlvbmFsRmlsZUNvbnRlbnRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FkZGl0aW9uYWxGaWxlTmFtZV09XCJhZGRpdGlvbmFsRmlsZU5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGRmRG9jXT1cInBkZkRvY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlUGRmUHJldmlld109XCJkaXNhYmxlUGRmUHJldmlld1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvblR5cGVdPVwidHJhbnNhY3Rpb25UeXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRQcmludGVyXT1cImRlZmF1bHRQcmludGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQpPVwiYWRkaXRpb25hbEZpbGVDaGFuZ2VFdmVudC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hvd0ZpbGVQcmV2aWV3KT1cInNob3dGaWxlUHJldmlldy5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobG9hZERlZmF1bHRQcmludGVyTmFtZSk9XCJsb2FkRGVmYXVsdFByaW50ZXJOYW1lLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICA+PC9jby1zZW5kLW1ldGhvZC1wcmludGVyPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiAjZW1haWxJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIiAqbmdJZj1cInNob3dFbWFpbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLXNlbmQtbWV0aG9kLWVtYWlsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbWFpbEFkZHJlc3Nlc109XCJlbWFpbEFkZHJlc3Nlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYXlvdXRzXT1cImVtYWlsTGF5b3V0c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwZGZEb2NdPVwicGRmRG9jXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVQZGZQcmV2aWV3XT1cImRpc2FibGVQZGZQcmV2aWV3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uVHlwZV09XCJ0cmFuc2FjdGlvblR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW1haWxVbnNpZ25lZFBvc3NpYmxlXT1cImVtYWlsVW5zaWduZWRQb3NzaWJsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzaG93RmlsZVByZXZpZXcpPVwic2hvd0ZpbGVQcmV2aWV3LmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsb2FkRGVmYXVsdFByaW50ZXJOYW1lKT1cImxvYWREZWZhdWx0UHJpbnRlck5hbWUuZW1pdCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2NvLXNlbmQtbWV0aG9kLWVtYWlsPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiAjZWRpSXRlbXMgY2xhc3M9XCJzZW5kLW1ldGhvZC1uYXZpZ2F0aW9uLWNvbnRlbnQgY28tc21hbGwtc2Nyb2xsYmFyXCIgKm5nSWY9XCJzaG93RWRpXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiAjZW1haWxUZW1wbGF0ZUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd0VtYWlsVGVtcGxhdGVcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2ICNzbXNJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIiAqbmdJZj1cInNob3dTbXNcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2ICN3ZWJTZXJ2aWNlSXRlbXMgY2xhc3M9XCJzZW5kLW1ldGhvZC1uYXZpZ2F0aW9uLWNvbnRlbnQgY28tc21hbGwtc2Nyb2xsYmFyXCIgKm5nSWY9XCJzaG93V2Vic2VydmljZVwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgI3BkZkl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd1BkZlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLXNlbmQtbWV0aG9kLXBkZlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGF5b3V0c109XCJwcmludExheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGRmRG9jXT1cInBkZkRvY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlUGRmUHJldmlld109XCJkaXNhYmxlUGRmUHJldmlld1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvblR5cGVdPVwidHJhbnNhY3Rpb25UeXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNob3dGaWxlUHJldmlldyk9XCJzaG93RmlsZVByZXZpZXcuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxvYWREZWZhdWx0UHJpbnRlck5hbWUpPVwibG9hZERlZmF1bHRQcmludGVyTmFtZS5lbWl0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvY28tc2VuZC1tZXRob2QtcGRmPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgI3B1cmNoYXNlSXRlbXMgY2xhc3M9XCJzZW5kLW1ldGhvZC1uYXZpZ2F0aW9uLWNvbnRlbnQgY28tc21hbGwtc2Nyb2xsYmFyXCIgKm5nSWY9XCJ1c2VQdXJjaGFzZVNlbmRNZXRob2RcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLXNlbmQtbWV0aG9kLXB1cmNoYXNlXHJcbiAgICAgICAgICAgICAgICAgICAgW2VtYWlsTGF5b3V0c109XCJlbWFpbExheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwcmludExheW91dHNdPVwicHJpbnRMYXlvdXRzXCJcclxuICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdFByaW50ZXJdPVwiZGVmYXVsdFByaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwcmludGVyTGlzdF09XCJwcmludGVyTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGxvYWREZWZhdWx0UHJpbnRlck5hbWUpPVwibG9hZERlZmF1bHRQcmludGVyTmFtZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChwdXJjaGFzZU1ldGhvZENoYW5nZWQpPVwiaGFuZGxlUHVyY2hhc2VNZXRob2RDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2NvLXNlbmQtbWV0aG9kLXB1cmNoYXNlPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1mb290ZXItYnV0dG9uLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInNhdmUtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZWNrRHVvdG9uZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVPa0NsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc1NraW5ueSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZUNsaWNrLmVtaXQoJGV2ZW50KVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9jby1kaWFsb2c+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ3NsaWRlSW5PdXQnLCBbXHJcbiAgICAgIHN0YXRlKCcqJywgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCUpJywgd2lkdGg6ICcxMDAlJywgb3BhY2l0eTogJzEnfSkpLFxyXG4gICAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDE1MCUpJywgb3BhY2l0eTogJzAnfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBhbmltYXRlKDI1MCkpXHJcbiAgICBdKVxyXG4gIF1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBTZW5kTWV0aG9kRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBAVmlld0NoaWxkKCduYXZpZ2F0aW9uSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIG5hdmlnYXRpb25JdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZmF4SXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIGZheEl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdwcmludEl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBwcmludEl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdlbWFpbEl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBlbWFpbEl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdlZGlJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgZWRpSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2VtYWlsVGVtcGxhdGVJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgZW1haWxUZW1wbGF0ZUl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdzbXNJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgc21zSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3dlYlNlcnZpY2VJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgd2ViU2VydmljZUl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdwZGZJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgcGRmSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3B1cmNoYXNlSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIHB1cmNoYXNlSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHByaW50ZXJMaXN0OiBQcmludGVyW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRQcmludFJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Q7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50RW1haWxSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudFBkZlJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3Q7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGVtYWlsTGF5b3V0czogUmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWxbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwcmludExheW91dHM6IFJlcG9ydExheW91dFNlbGVjdGlvblByaW50W10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGVmYXVsdFByaW50ZXI6IFByaW50ZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhlYWRlclRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGVtYWlsQWRkcmVzc2VzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkZWZhdWx0U2VuZE1ldGhvZDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2aXNpYmxlTWV0aG9kczogU2VuZE1ldGhvZFR5cGVbXSB8IHN0cmluZ1tdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzRG9jU2lnbkVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZG9jU2lnbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc1ByaW50ZXJMYXlvdXRzRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzQWRkaXRpb25hbERvY0VuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVOYW1lOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVDb250ZW50czogYW55ID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBkZkRvYzogYW55ID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRpc2FibGVQZGZQcmV2aWV3OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uVHlwZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBlbWFpbFVuc2lnbmVkUG9zc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdXNlUHVyY2hhc2VTZW5kTWV0aG9kOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdENoYW5nZTogRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3RDaGFuZ2U6IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdENoYW5nZTogRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgc3RhcnRTaWduYXR1cmVDbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2xvc2VDbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb2tDbGljazogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQ6IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHNob3dGaWxlUHJldmlldzogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGxvYWREZWZhdWx0UHJpbnRlck5hbWU6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tc2VuZC1tZXRob2QtZGlhbG9nJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VuZE1ldGhvZHMgPSBzZW5kTWV0aG9kc1dpdGhJY29uO1xyXG4gIHB1YmxpYyBhY3RpdmVTZW5kTWV0aG9kOiBTZW5kTWV0aG9kO1xyXG4gIHB1YmxpYyBzdGFydFVwOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcHVibGljIHNob3dGYXg6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93UHJpbnQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93RW1haWw6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93RWRpOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd1NtczogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dFbWFpbFRlbXBsYXRlOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd1dlYnNlcnZpY2U6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93UGRmOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcHVibGljIHNlbGVjdGVkUHVyY2hhc2VNZXRob2Q6IGFueSA9IHt9O1xyXG5cclxuICBwdWJsaWMgaGFuZGxlUHVyY2hhc2VNZXRob2RDaGFuZ2UobWV0aG9kOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRQdXJjaGFzZU1ldGhvZCA9IG1ldGhvZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZW5kTWV0aG9kU2VydmljZTogU2VuZE1ldGhvZFNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgdGhpcy5fc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdENoYW5nZWQuc3Vic2NyaWJlKCh2YWx1ZTogUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCkgPT4gdGhpcy5yZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdENoYW5nZS5uZXh0KHZhbHVlKSksXHJcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3RDaGFuZ2VkLnN1YnNjcmliZSgodmFsdWU6IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QpID0+IHRoaXMucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3RDaGFuZ2UubmV4dCh2YWx1ZSkpLFxyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0Q2hhbmdlZC5zdWJzY3JpYmUoKHZhbHVlOiBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0KSA9PiB0aGlzLnJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdENoYW5nZS5uZXh0KHZhbHVlKSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3QpIHtcclxuICAgICAgdGhpcy5fc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCA9IHRoaXMucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3Q7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5yZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdCkge1xyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0ID0gdGhpcy5yZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdCkge1xyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0ID0gdGhpcy5yZXBvcnRpbmdEb2N1bWVudFBkZlJlcXVlc3Q7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9pbml0RGVmYXVsdFNlbmRNZXRob2QoKTtcclxuICAgIHRoaXMuX3ByZXBhcmVWaXNpYmxlTWV0aG9kcygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmZvckVhY2goc3Vic2NyaXB0aW9uID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTaWduYXR1cmVTdGFydCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZG9jU2lnbiA9ICF0aGlzLmRvY1NpZ247XHJcbiAgICB0aGlzLnN0YXJ0U2lnbmF0dXJlQ2xpY2tlZC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ29tYmluZWRDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlU2VuZE1ldGhvZCA9IHsgY29kZTogXCJDT01CSU5FRFwiLCBkZXNjcmlwdGlvbjogJ0NPTUJJTkVEJywgaWNvbjogSWNvbi5BY2NvdW50IH0gYXMgdW5rbm93biBhcyBTZW5kTWV0aG9kO1xyXG4gICAgaWYgKHRoaXMucHVyY2hhc2VJdGVtcyAmJiB0aGlzLm5hdmlnYXRpb25JdGVtcykge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPVxyXG4gICAgICAgIHRoaXMucHVyY2hhc2VJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlT2tDbGljaygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmFjdGl2ZVNlbmRNZXRob2QgJiYgdGhpcy5hY3RpdmVTZW5kTWV0aG9kLmNvZGUudG9TdHJpbmcoKSA9PT0gXCJDT01CSU5FRFwiKSB7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkTWV0aG9kRGF0YSA9IHtcclxuICAgICAgICBzZW5kTWV0aG9kOiB0aGlzLmFjdGl2ZVNlbmRNZXRob2QuY29kZS50b1N0cmluZygpLFxyXG4gICAgICAgIC4uLnRoaXMuc2VsZWN0ZWRQdXJjaGFzZU1ldGhvZFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLm9rQ2xpY2suZW1pdChzZWxlY3RlZE1ldGhvZERhdGEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5va0NsaWNrLmVtaXQodGhpcy5hY3RpdmVTZW5kTWV0aG9kID8gdGhpcy5hY3RpdmVTZW5kTWV0aG9kLmNvZGUgOiAnMCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNlbmRNZXRob2RDbGljayhzZW5kTWV0aG9kOiBTZW5kTWV0aG9kKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZVNlbmRNZXRob2QgPSBzZW5kTWV0aG9kO1xyXG4gICAgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRmF4ICYmIHRoaXMuc2hvd0ZheCkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLmZheEl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5QcmludCAmJiB0aGlzLnNob3dQcmludCkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLnByaW50SXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVtYWlsICYmIHRoaXMuc2hvd0VtYWlsKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuZW1haWxJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRWRpICYmIHRoaXMuc2hvd0VkaSkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLmVkaUl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbFRlbXBsYXRlICYmIHRoaXMuc2hvd0VtYWlsVGVtcGxhdGUpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5lbWFpbFRlbXBsYXRlSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlNtcyAmJiB0aGlzLnNob3dTbXMpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5zbXNJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuV2ViU2VydmljZSAmJiB0aGlzLnNob3dXZWJzZXJ2aWNlKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMud2ViU2VydmljZUl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5QZGYgJiYgdGhpcy5zaG93UGRmKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMucGRmSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uVHlwZSAhPT0gJ3NhbGVzT3JkZXJPdmVydmlldycpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmFjdGl2ZVNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuUHJpbnQpIHtcclxuICAgICAgdGhpcy5zaG93RmlsZVByZXZpZXcuZW1pdCh0aGlzLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0LnJlcG9ydElkKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5hY3RpdmVTZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVtYWlsKSB7XHJcbiAgICAgIHRoaXMuc2hvd0ZpbGVQcmV2aWV3LmVtaXQodGhpcy5yZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdC5yZXBvcnRJZCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aXZlU2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5QZGYpIHtcclxuICAgICAgdGhpcy5zaG93RmlsZVByZXZpZXcuZW1pdCh0aGlzLnJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdC5yZXBvcnRJZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pbml0RGVmYXVsdFNlbmRNZXRob2QoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy51c2VQdXJjaGFzZVNlbmRNZXRob2QpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVDb21iaW5lZENsaWNrKCk7XHJcbiAgICAgICAgdGhpcy5zdGFydFVwID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZGVmYXVsdFNlbmRNZXRob2QpIHtcclxuICAgICAgdGhpcy5fc2VsZWN0RGVmYXVsdFNlbmRNZXRob2QoKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy52aXNpYmxlTWV0aG9kcyAmJiB0aGlzLnZpc2libGVNZXRob2RzLmxlbmd0aCA+PSAxKSB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdFNlbmRNZXRob2QgPSB0aGlzLnZpc2libGVNZXRob2RzWzBdO1xyXG4gICAgICB0aGlzLl9zZWxlY3REZWZhdWx0U2VuZE1ldGhvZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3RhcnRVcCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBwcml2YXRlIF9zZWxlY3REZWZhdWx0U2VuZE1ldGhvZCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHNlbmRNZXRob2Q6IFNlbmRNZXRob2QgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gdGhpcy5kZWZhdWx0U2VuZE1ldGhvZCk7XHJcbiAgICBpZiAoc2VuZE1ldGhvZCkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmhhbmRsZVNlbmRNZXRob2RDbGljayhzZW5kTWV0aG9kKTtcclxuICAgICAgICB0aGlzLnN0YXJ0VXAgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wcmVwYXJlVmlzaWJsZU1ldGhvZHMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy51c2VQdXJjaGFzZVNlbmRNZXRob2QpIHtcclxuICAgICAgdGhpcy5zZW5kTWV0aG9kcyA9IFtdOyAvLyBIaWRlIGFsbCBzdGFuZGFyZCBtZXRob2RzXHJcbiAgICAgIHRoaXMuc2hvd0ZheCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnNob3dQcmludCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnNob3dFbWFpbCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnNob3dFZGkgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zaG93RW1haWxUZW1wbGF0ZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnNob3dTbXMgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zaG93V2Vic2VydmljZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnNob3dQZGYgPSBmYWxzZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnZpc2libGVNZXRob2RzICYmIHRoaXMudmlzaWJsZU1ldGhvZHMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLnNlbmRNZXRob2RzID0gdGhpcy5zZW5kTWV0aG9kcy5maWx0ZXIoc20gPT4gdGhpcy52aXNpYmxlTWV0aG9kcy5maW5kKHZtID0+IHZtID09PSBzbS5jb2RlKSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zaG93RmF4ID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkZheCkgIT09IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd1ByaW50ID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlByaW50KSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93RW1haWwgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRW1haWwpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dFZGkgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRWRpKSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93RW1haWxUZW1wbGF0ZSA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbFRlbXBsYXRlKSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93U21zID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlNtcykgIT09IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd1dlYnNlcnZpY2UgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuV2ViU2VydmljZSkgIT09IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd1BkZiA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5QZGYpICE9PSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
393
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9JLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBSy9FLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFTbEYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQWlCO0lBQy9DLElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDNUQsSUFBSSxVQUFVLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUM5RCxJQUFJLFVBQVUsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzNELElBQUksVUFBVSxD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LFNBQUMsZ0JBQWdCOzBCQUcxQixLQUFLOzRDQUdMLEtBQUs7NENBR0wsS0FBSzswQ0FHTCxLQUFLOzJCQUdMLEtBQUs7MkJBR0wsS0FBSzs2QkFHTCxLQUFLOzBCQUdMLEtBQUs7NkJBR0wsS0FBSztnQ0FHTCxLQUFLOzZCQUdMLEtBQUs7K0JBR0wsS0FBSztzQkFHTCxLQUFLO3NDQUdMLEtBQUs7cUNBR0wsS0FBSztpQ0FHTCxLQUFLO3FDQUdMLEtBQUs7cUJBR0wsS0FBSztnQ0FHTCxLQUFLOzhCQUdMLEtBQUs7b0NBR0wsS0FBSztvQ0FHTCxLQUFLO2tEQUdMLE1BQU07a0RBR04sTUFBTTtnREFHTixNQUFNO29DQUdOLE1BQU07eUJBR04sTUFBTTtzQkFHTixNQUFNO3dDQUdOLE1BQU07OEJBR04sTUFBTTtxQ0FHTixNQUFNO3dCQUdOLFdBQVcsU0FBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1JlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1lbWFpbC5ibyc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLXByaW50LmJvJztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtcGRmLWJhc2UtcmVxdWVzdCc7XHJcbmltcG9ydCB7U2VuZE1ldGhvZFNlcnZpY2V9IGZyb20gJy4vc2VydmljZS9zZW5kLW1ldGhvZC5zZXJ2aWNlJztcclxuaW1wb3J0IHtTZW5kTWV0aG9kfSBmcm9tICcuLi8uLi9tb2RlbC9zZW5kLW1ldGhvZCc7XHJcbmltcG9ydCB7U2VuZE1ldGhvZFR5cGV9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vc2VuZC1tZXRob2QtdHlwZS5lbnVtJztcclxuaW1wb3J0IHtQcmludGVyfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9wcmludGVyLmJvJztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtZW1haWwtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtcHJpbnQtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudCc7XHJcbmltcG9ydCB7QWRkaXRpb25hbEZpbGVCdXR0b25Db21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvYWRkaXRpb25hbC1maWxlLWJ1dHRvbi9hZGRpdGlvbmFsLWZpbGUtYnV0dG9uLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NlbmRNZXRob2RQcmludGVyQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLXByaW50ZXIvc2VuZC1tZXRob2QtcHJpbnRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTZW5kTWV0aG9kRW1haWxDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtZW1haWwvc2VuZC1tZXRob2QtZW1haWwuY29tcG9uZW50XCI7XHJcblxyXG5leHBvcnQgY29uc3Qgc2VuZE1ldGhvZHNXaXRoSWNvbjogU2VuZE1ldGhvZFtdID0gW1xyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLkZheCwgXCJGYXhcIiwgSWNvbi5QcmludFJlZ3VsYXIpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLlByaW50LCBcIlByaW50XCIsIEljb24uUHJpbnRTb2xpZCksXHJcbiAgbmV3IFNlbmRNZXRob2QoU2VuZE1ldGhvZFR5cGUuRW1haWwsIFwiRW1haWxcIiwgSWNvbi5BdFNvbGlkKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5FZGksIFwiRWRpXCIsIEljb24uRmlsZUV4cG9ydFNvbGlkKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5FbWFpbFRlbXBsYXRlLCBcIkVtYWlsIHRlbXBsYXRlXCIsIEljb24uRW52ZWxvcGVSZWd1bGFyKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5TbXMsIFwiU21zXCIsIEljb24uTWVzc2FnZVNtc1NvbGlkKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5XZWJTZXJ2aWNlLCBcIldlYnNlcnZpY2VcIiwgSWNvbi5QcmludFJlZ3VsYXIpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLlBkZiwgXCJQZGZcIiwgSWNvbi5QZGYpLFxyXG5dXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLXNlbmQtbWV0aG9kLWRpYWxvZycsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGNvLWRpYWxvZyBpZD1cInNlbmRPcHRpb25zRGlhbG9nXCIgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCIgW2Zvb3RlclRlbXBsYXRlXT1cImZvb3RlclRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJjbG9zZUNsaWNrLmVtaXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLWhlYWRlci10aXRsZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuU2hhcmVTb2xpZClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cImhlYWRlclRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1uYXZpZ2F0aW9uLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzZW5kTWV0aG9kIG9mIHNlbmRNZXRob2RzOyBsZXQgaW5kZXggPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZW5kLWJ1dHRvbi13cmFwcGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiYWN0aXZlU2VuZE1ldGhvZCA/IHNlbmRNZXRob2QuY29kZSA9PT0gYWN0aXZlU2VuZE1ldGhvZC5jb2RlIDogaW5kZXggPT09IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVTZW5kTWV0aG9kQ2xpY2soc2VuZE1ldGhvZClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tYnV0dG9uLXRpdGxlXCIgW3RleHRDb250ZW50XT1cInNlbmRNZXRob2QuZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VuZC1idXR0b24td3JhcHBlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidXNlUHVyY2hhc2VTZW5kTWV0aG9kXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImFjdGl2ZVNlbmRNZXRob2Q/LmNvZGUgPT09ICdDT01CSU5FRCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQ29tYmluZWRDbGljaygpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tYnV0dG9uLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidDT01CSU5FRCcgfCBzaGFyZWRMb2NhbGl6ZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbmQtbWV0aG9kcy13cmFwcGVyXCI+XHJcblxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgI25hdmlnYXRpb25JdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24td3JhcHBlclwiIFtjbGFzcy5zbW9vdGgtc2Nyb2xsaW5nXT1cIiFzdGFydFVwXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgI2ZheEl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgI3ByaW50SXRlbXMgY2xhc3M9XCJzZW5kLW1ldGhvZC1uYXZpZ2F0aW9uLWNvbnRlbnQgY28tc21hbGwtc2Nyb2xsYmFyXCIgKm5nSWY9XCJzaG93UHJpbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxjby1zZW5kLW1ldGhvZC1wcmludGVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNwcmludGVyQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc1ByaW50ZXJMYXlvdXRzRW5hYmxlZF09XCJpc1ByaW50ZXJMYXlvdXRzRW5hYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcmludGVyTGlzdF09XCJwcmludGVyTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYXlvdXRzXT1cInByaW50TGF5b3V0c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc0FkZGl0aW9uYWxEb2NFbmFibGVkXT1cImlzQWRkaXRpb25hbERvY0VuYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWRkaXRpb25hbEZpbGVDb250ZW50c109XCJhZGRpdGlvbmFsRmlsZUNvbnRlbnRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FkZGl0aW9uYWxGaWxlTmFtZV09XCJhZGRpdGlvbmFsRmlsZU5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGRmRG9jXT1cInBkZkRvY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlUGRmUHJldmlld109XCJkaXNhYmxlUGRmUHJldmlld1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvblR5cGVdPVwidHJhbnNhY3Rpb25UeXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRQcmludGVyXT1cImRlZmF1bHRQcmludGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQpPVwiaGFuZGxlQWRkaXRpb25hbEZpbGVTYXZlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNob3dGaWxlUHJldmlldyk9XCJzaG93RmlsZVByZXZpZXcuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxvYWREZWZhdWx0UHJpbnRlck5hbWUpPVwibG9hZERlZmF1bHRQcmludGVyTmFtZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgPjwvY28tc2VuZC1tZXRob2QtcHJpbnRlcj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgI2VtYWlsSXRlbXMgY2xhc3M9XCJzZW5kLW1ldGhvZC1uYXZpZ2F0aW9uLWNvbnRlbnQgY28tc21hbGwtc2Nyb2xsYmFyXCIgKm5nSWY9XCJzaG93RW1haWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxjby1zZW5kLW1ldGhvZC1lbWFpbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZW1haWxDb21wb25lbnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtYWlsQWRkcmVzc2VzXT1cImVtYWlsQWRkcmVzc2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xheW91dHNdPVwiZW1haWxMYXlvdXRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BkZkRvY109XCJwZGZEb2NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZVBkZlByZXZpZXddPVwiZGlzYWJsZVBkZlByZXZpZXdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25UeXBlXT1cInRyYW5zYWN0aW9uVHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbWFpbFVuc2lnbmVkUG9zc2libGVdPVwiZW1haWxVbnNpZ25lZFBvc3NpYmxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNob3dGaWxlUHJldmlldyk9XCJzaG93RmlsZVByZXZpZXcuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxvYWREZWZhdWx0UHJpbnRlck5hbWUpPVwibG9hZERlZmF1bHRQcmludGVyTmFtZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNBZGRpdGlvbmFsRG9jRW5hYmxlZF09XCJpc0FkZGl0aW9uYWxEb2NFbmFibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FkZGl0aW9uYWxGaWxlQ29udGVudHNdPVwiYWRkaXRpb25hbEZpbGVDb250ZW50c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthZGRpdGlvbmFsRmlsZU5hbWVdPVwiYWRkaXRpb25hbEZpbGVOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQpPVwiaGFuZGxlQWRkaXRpb25hbEZpbGVTYXZlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2NvLXNlbmQtbWV0aG9kLWVtYWlsPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiAjZWRpSXRlbXMgY2xhc3M9XCJzZW5kLW1ldGhvZC1uYXZpZ2F0aW9uLWNvbnRlbnQgY28tc21hbGwtc2Nyb2xsYmFyXCIgKm5nSWY9XCJzaG93RWRpXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiAjZW1haWxUZW1wbGF0ZUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd0VtYWlsVGVtcGxhdGVcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2ICNzbXNJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIiAqbmdJZj1cInNob3dTbXNcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2ICN3ZWJTZXJ2aWNlSXRlbXMgY2xhc3M9XCJzZW5kLW1ldGhvZC1uYXZpZ2F0aW9uLWNvbnRlbnQgY28tc21hbGwtc2Nyb2xsYmFyXCIgKm5nSWY9XCJzaG93V2Vic2VydmljZVwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgI3BkZkl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd1BkZlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLXNlbmQtbWV0aG9kLXBkZlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGF5b3V0c109XCJwcmludExheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGRmRG9jXT1cInBkZkRvY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlUGRmUHJldmlld109XCJkaXNhYmxlUGRmUHJldmlld1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvblR5cGVdPVwidHJhbnNhY3Rpb25UeXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNob3dGaWxlUHJldmlldyk9XCJzaG93RmlsZVByZXZpZXcuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxvYWREZWZhdWx0UHJpbnRlck5hbWUpPVwibG9hZERlZmF1bHRQcmludGVyTmFtZS5lbWl0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvY28tc2VuZC1tZXRob2QtcGRmPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgI3B1cmNoYXNlSXRlbXMgY2xhc3M9XCJzZW5kLW1ldGhvZC1uYXZpZ2F0aW9uLWNvbnRlbnQgY28tc21hbGwtc2Nyb2xsYmFyXCIgKm5nSWY9XCJ1c2VQdXJjaGFzZVNlbmRNZXRob2RcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLXNlbmQtbWV0aG9kLXB1cmNoYXNlXHJcbiAgICAgICAgICAgICAgICAgICAgW2VtYWlsTGF5b3V0c109XCJlbWFpbExheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwcmludExheW91dHNdPVwicHJpbnRMYXlvdXRzXCJcclxuICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdFByaW50ZXJdPVwiZGVmYXVsdFByaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwcmludGVyTGlzdF09XCJwcmludGVyTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGxvYWREZWZhdWx0UHJpbnRlck5hbWUpPVwibG9hZERlZmF1bHRQcmludGVyTmFtZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChwdXJjaGFzZU1ldGhvZENoYW5nZWQpPVwiaGFuZGxlUHVyY2hhc2VNZXRob2RDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2NvLXNlbmQtbWV0aG9kLXB1cmNoYXNlPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1mb290ZXItYnV0dG9uLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInNhdmUtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZWNrRHVvdG9uZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVPa0NsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc1NraW5ueSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZUNsaWNrLmVtaXQoJGV2ZW50KVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9jby1kaWFsb2c+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ3NsaWRlSW5PdXQnLCBbXHJcbiAgICAgIHN0YXRlKCcqJywgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCUpJywgd2lkdGg6ICcxMDAlJywgb3BhY2l0eTogJzEnfSkpLFxyXG4gICAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDE1MCUpJywgb3BhY2l0eTogJzAnfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBhbmltYXRlKDI1MCkpXHJcbiAgICBdKVxyXG4gIF1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBTZW5kTWV0aG9kRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBAVmlld0NoaWxkKCduYXZpZ2F0aW9uSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIG5hdmlnYXRpb25JdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZmF4SXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIGZheEl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdwcmludEl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBwcmludEl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdlbWFpbEl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBlbWFpbEl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdlZGlJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgZWRpSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2VtYWlsVGVtcGxhdGVJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgZW1haWxUZW1wbGF0ZUl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdzbXNJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgc21zSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3dlYlNlcnZpY2VJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgd2ViU2VydmljZUl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdwZGZJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgcGRmSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3B1cmNoYXNlSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIHB1cmNoYXNlSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3ByaW50ZXJDb21wb25lbnQnKVxyXG4gIHB1YmxpYyBwcmludGVyQ29tcG9uZW50UmVmOiBTZW5kTWV0aG9kUHJpbnRlckNvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZW1haWxDb21wb25lbnQnKVxyXG4gIHB1YmxpYyBlbWFpbENvbXBvbmVudFJlZjogU2VuZE1ldGhvZEVtYWlsQ29tcG9uZW50O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwcmludGVyTGlzdDogUHJpbnRlcltdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBlbWFpbExheW91dHM6IFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcHJpbnRMYXlvdXRzOiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludFtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRlZmF1bHRQcmludGVyOiBQcmludGVyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBoZWFkZXJUaXRsZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBlbWFpbEFkZHJlc3Nlczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGVmYXVsdFNlbmRNZXRob2Q6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdmlzaWJsZU1ldGhvZHM6IFNlbmRNZXRob2RUeXBlW10gfCBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc0RvY1NpZ25FbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRvY1NpZ246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNQcmludGVyTGF5b3V0c0VuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc0FkZGl0aW9uYWxEb2NFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFkZGl0aW9uYWxGaWxlTmFtZTogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFkZGl0aW9uYWxGaWxlQ29udGVudHM6IGFueSA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwZGZEb2M6IGFueSA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkaXNhYmxlUGRmUHJldmlldzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0cmFuc2FjdGlvblR5cGU6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZW1haWxVbnNpZ25lZFBvc3NpYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHVzZVB1cmNoYXNlU2VuZE1ldGhvZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRQcmludFJlcXVlc3RDaGFuZ2U6IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50RW1haWxSZXF1ZXN0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3Q+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudFBkZlJlcXVlc3RDaGFuZ2U6IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHN0YXJ0U2lnbmF0dXJlQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNsb3NlQ2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9rQ2xpY2s6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhZGRpdGlvbmFsRmlsZUNoYW5nZUV2ZW50OiBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPENvRG9jdW1lbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzaG93RmlsZVByZXZpZXc6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBsb2FkRGVmYXVsdFByaW50ZXJOYW1lOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXNlbmQtbWV0aG9kLWRpYWxvZycpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbmRNZXRob2RzID0gc2VuZE1ldGhvZHNXaXRoSWNvbjtcclxuICBwdWJsaWMgYWN0aXZlU2VuZE1ldGhvZDogU2VuZE1ldGhvZDtcclxuICBwdWJsaWMgc3RhcnRVcDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHB1YmxpYyBzaG93RmF4OiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd1ByaW50OiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd0VtYWlsOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd0VkaTogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dTbXM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93RW1haWxUZW1wbGF0ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dXZWJzZXJ2aWNlOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd1BkZjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHB1YmxpYyBzZWxlY3RlZFB1cmNoYXNlTWV0aG9kOiBhbnkgPSB7fTtcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVIYXNCZWVuU2F2ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIGhhbmRsZVB1cmNoYXNlTWV0aG9kQ2hhbmdlKG1ldGhvZDogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkUHVyY2hhc2VNZXRob2QgPSBtZXRob2Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2VuZE1ldGhvZFNlcnZpY2U6IFNlbmRNZXRob2RTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3RDaGFuZ2VkLnN1YnNjcmliZSgodmFsdWU6IFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QpID0+IHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQcmludFJlcXVlc3RDaGFuZ2UubmV4dCh2YWx1ZSkpLFxyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0Q2hhbmdlZC5zdWJzY3JpYmUoKHZhbHVlOiBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0KSA9PiB0aGlzLnJlcG9ydGluZ0RvY3VtZW50RW1haWxSZXF1ZXN0Q2hhbmdlLm5leHQodmFsdWUpKSxcclxuICAgICAgdGhpcy5fc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdENoYW5nZWQuc3Vic2NyaWJlKCh2YWx1ZTogUmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCkgPT4gdGhpcy5yZXBvcnRpbmdEb2N1bWVudFBkZlJlcXVlc3RDaGFuZ2UubmV4dCh2YWx1ZSkpXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLnJlcG9ydGluZ0RvY3VtZW50RW1haWxSZXF1ZXN0KSB7XHJcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QgPSB0aGlzLnJlcG9ydGluZ0RvY3VtZW50RW1haWxSZXF1ZXN0O1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQcmludFJlcXVlc3QpIHtcclxuICAgICAgdGhpcy5fc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCA9IHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQcmludFJlcXVlc3Q7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5yZXBvcnRpbmdEb2N1bWVudFBkZlJlcXVlc3QpIHtcclxuICAgICAgdGhpcy5fc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCA9IHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0O1xyXG4gICAgfVxyXG4gICAgdGhpcy5faW5pdERlZmF1bHRTZW5kTWV0aG9kKCk7XHJcbiAgICB0aGlzLl9wcmVwYXJlVmlzaWJsZU1ldGhvZHMoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YnNjcmlwdGlvbiA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2lnbmF0dXJlU3RhcnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRvY1NpZ24gPSAhdGhpcy5kb2NTaWduO1xyXG4gICAgdGhpcy5zdGFydFNpZ25hdHVyZUNsaWNrZWQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUNvbWJpbmVkQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZVNlbmRNZXRob2QgPSB7IGNvZGU6IFwiQ09NQklORURcIiwgZGVzY3JpcHRpb246ICdDT01CSU5FRCcsIGljb246IEljb24uQWNjb3VudCB9IGFzIHVua25vd24gYXMgU2VuZE1ldGhvZDtcclxuICAgIGlmICh0aGlzLnB1cmNoYXNlSXRlbXMgJiYgdGhpcy5uYXZpZ2F0aW9uSXRlbXMpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID1cclxuICAgICAgICB0aGlzLnB1cmNoYXNlSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUFkZGl0aW9uYWxGaWxlU2F2ZWQoZmlsZTogQ29Eb2N1bWVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5hZGRpdGlvbmFsRmlsZUhhc0JlZW5TYXZlZCA9IHRydWU7XHJcbiAgICB0aGlzLmFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQuZW1pdChmaWxlKTtcclxuICAgIHRoaXMuX2NvbnRpbnVlSGFuZGxlT2tDbGljaygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZU9rQ2xpY2soKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pc0FkZGl0aW9uYWxEb2NFbmFibGVkICYmICF0aGlzLmFkZGl0aW9uYWxGaWxlSGFzQmVlblNhdmVkKSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICB0aGlzLmFjdGl2ZVNlbmRNZXRob2Q/LmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlByaW50ICYmXHJcbiAgICAgICAgdGhpcy5wcmludGVyQ29tcG9uZW50UmVmPy5pc0FkZGl0aW9uYWxGaWxlQWN0aXZlKClcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5wcmludGVyQ29tcG9uZW50UmVmLm9wZW5BZGRpdGlvbmFsRmlsZURpYWxvZygpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuYWN0aXZlU2VuZE1ldGhvZD8uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRW1haWwgJiZcclxuICAgICAgICB0aGlzLmVtYWlsQ29tcG9uZW50UmVmPy5pc0FkZGl0aW9uYWxGaWxlQWN0aXZlKClcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5lbWFpbENvbXBvbmVudFJlZi5vcGVuQWRkaXRpb25hbEZpbGVEaWFsb2coKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9jb250aW51ZUhhbmRsZU9rQ2xpY2soKTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIF9jb250aW51ZUhhbmRsZU9rQ2xpY2soKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hY3RpdmVTZW5kTWV0aG9kICYmIHRoaXMuYWN0aXZlU2VuZE1ldGhvZC5jb2RlLnRvU3RyaW5nKCkgPT09IFwiQ09NQklORURcIikge1xyXG4gICAgICBjb25zdCBzZWxlY3RlZE1ldGhvZERhdGEgPSB7XHJcbiAgICAgICAgc2VuZE1ldGhvZDogdGhpcy5hY3RpdmVTZW5kTWV0aG9kLmNvZGUudG9TdHJpbmcoKSxcclxuICAgICAgICAuLi50aGlzLnNlbGVjdGVkUHVyY2hhc2VNZXRob2RcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5va0NsaWNrLmVtaXQoc2VsZWN0ZWRNZXRob2REYXRhKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub2tDbGljay5lbWl0KHRoaXMuYWN0aXZlU2VuZE1ldGhvZCA/IHRoaXMuYWN0aXZlU2VuZE1ldGhvZC5jb2RlIDogJzAnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2VuZE1ldGhvZENsaWNrKHNlbmRNZXRob2Q6IFNlbmRNZXRob2QpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlU2VuZE1ldGhvZCA9IHNlbmRNZXRob2Q7XHJcbiAgICBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5GYXggJiYgdGhpcy5zaG93RmF4KSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuZmF4SXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlByaW50ICYmIHRoaXMuc2hvd1ByaW50KSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMucHJpbnRJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRW1haWwgJiYgdGhpcy5zaG93RW1haWwpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5lbWFpbEl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FZGkgJiYgdGhpcy5zaG93RWRpKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuZWRpSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVtYWlsVGVtcGxhdGUgJiYgdGhpcy5zaG93RW1haWxUZW1wbGF0ZSkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLmVtYWlsVGVtcGxhdGVJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuU21zICYmIHRoaXMuc2hvd1Ntcykge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLnNtc0l0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5XZWJTZXJ2aWNlICYmIHRoaXMuc2hvd1dlYnNlcnZpY2UpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy53ZWJTZXJ2aWNlSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlBkZiAmJiB0aGlzLnNob3dQZGYpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5wZGZJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMudHJhbnNhY3Rpb25UeXBlICE9PSAnc2FsZXNPcmRlck92ZXJ2aWV3Jykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuYWN0aXZlU2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5QcmludCkge1xyXG4gICAgICB0aGlzLnNob3dGaWxlUHJldmlldy5lbWl0KHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQcmludFJlcXVlc3QucmVwb3J0SWQpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmFjdGl2ZVNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRW1haWwpIHtcclxuICAgICAgdGhpcy5zaG93RmlsZVByZXZpZXcuZW1pdCh0aGlzLnJlcG9ydGluZ0RvY3VtZW50RW1haWxSZXF1ZXN0LnJlcG9ydElkKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5hY3RpdmVTZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlBkZikge1xyXG4gICAgICB0aGlzLnNob3dGaWxlUHJldmlldy5lbWl0KHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0LnJlcG9ydElkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2luaXREZWZhdWx0U2VuZE1ldGhvZCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnVzZVB1cmNoYXNlU2VuZE1ldGhvZCkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmhhbmRsZUNvbWJpbmVkQ2xpY2soKTtcclxuICAgICAgICB0aGlzLnN0YXJ0VXAgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kZWZhdWx0U2VuZE1ldGhvZCkge1xyXG4gICAgICB0aGlzLl9zZWxlY3REZWZhdWx0U2VuZE1ldGhvZCgpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnZpc2libGVNZXRob2RzICYmIHRoaXMudmlzaWJsZU1ldGhvZHMubGVuZ3RoID49IDEpIHtcclxuICAgICAgdGhpcy5kZWZhdWx0U2VuZE1ldGhvZCA9IHRoaXMudmlzaWJsZU1ldGhvZHNbMF07XHJcbiAgICAgIHRoaXMuX3NlbGVjdERlZmF1bHRTZW5kTWV0aG9kKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdGFydFVwID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHByaXZhdGUgX3NlbGVjdERlZmF1bHRTZW5kTWV0aG9kKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc2VuZE1ldGhvZDogU2VuZE1ldGhvZCA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSB0aGlzLmRlZmF1bHRTZW5kTWV0aG9kKTtcclxuICAgIGlmIChzZW5kTWV0aG9kKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlU2VuZE1ldGhvZENsaWNrKHNlbmRNZXRob2QpO1xyXG4gICAgICAgIHRoaXMuc3RhcnRVcCA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVWaXNpYmxlTWV0aG9kcygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnVzZVB1cmNoYXNlU2VuZE1ldGhvZCkge1xyXG4gICAgICB0aGlzLnNlbmRNZXRob2RzID0gW107IC8vIEhpZGUgYWxsIHN0YW5kYXJkIG1ldGhvZHNcclxuICAgICAgdGhpcy5zaG93RmF4ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2hvd1ByaW50ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2hvd0VtYWlsID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2hvd0VkaSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnNob3dFbWFpbFRlbXBsYXRlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2hvd1NtcyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnNob3dXZWJzZXJ2aWNlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2hvd1BkZiA9IGZhbHNlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMudmlzaWJsZU1ldGhvZHMgJiYgdGhpcy52aXNpYmxlTWV0aG9kcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuc2VuZE1ldGhvZHMgPSB0aGlzLnNlbmRNZXRob2RzLmZpbHRlcihzbSA9PiB0aGlzLnZpc2libGVNZXRob2RzLmZpbmQodm0gPT4gdm0gPT09IHNtLmNvZGUpKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNob3dGYXggPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRmF4KSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93UHJpbnQgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuUHJpbnQpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dFbWFpbCA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbCkgIT09IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd0VkaSA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FZGkpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dFbWFpbFRlbXBsYXRlID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVtYWlsVGVtcGxhdGUpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dTbXMgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuU21zKSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93V2Vic2VydmljZSA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5XZWJTZXJ2aWNlKSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93UGRmID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlBkZikgIT09IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -39,6 +39,7 @@ export var Icon;
39
39
  Icon["EyeRegular"] = "eye_regular";
40
40
  Icon["FileExportRegular"] = "file_export_regular";
41
41
  Icon["FileExportSolid"] = "file_export_solid";
42
+ Icon["FileMagnifyingGlass"] = "file_magnifying_glass";
42
43
  Icon["FilePdfRegular"] = "file_pdf_regular";
43
44
  Icon["FilePdfSolid"] = "file_pdf_solid";
44
45
  Icon["FileSignatureRegular"] = "file_signature_regular";
@@ -73,4 +74,4 @@ export var Icon;
73
74
  Icon["Xml"] = "xml";
74
75
  Icon["XSolid"] = "x_solid";
75
76
  })(Icon || (Icon = {}));
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2VudW0vaWNvbi5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdHQUFnRztBQUVoRyxNQUFNLENBQU4sSUFBWSxJQXdFWDtBQXhFRCxXQUFZLElBQUk7SUFDWiwyQkFBbUIsQ0FBQTtJQUNuQiwyQ0FBbUMsQ0FBQTtJQUNuQyw2Q0FBcUMsQ0FBQTtJQUNyQyxnQ0FBd0IsQ0FBQTtJQUN4QiwrQ0FBdUMsQ0FBQTtJQUN2Qyx5Q0FBaUMsQ0FBQTtJQUNqQyxvREFBNEMsQ0FBQTtJQUM1QywyQ0FBbUMsQ0FBQTtJQUNuQywyQ0FBbUMsQ0FBQTtJQUNuQyw2Q0FBcUMsQ0FBQTtJQUNyQyx1Q0FBK0IsQ0FBQTtJQUMvQixxRUFBNkQsQ0FBQTtJQUM3RCw0QkFBb0IsQ0FBQTtJQUNwQixtREFBMkMsQ0FBQTtJQUMzQyxvQ0FBNEIsQ0FBQTtJQUM1QiwrQ0FBdUMsQ0FBQTtJQUN2QyxxREFBNkMsQ0FBQTtJQUM3QyxzQ0FBOEIsQ0FBQTtJQUM5QixrQ0FBMEIsQ0FBQTtJQUMxQixrQ0FBMEIsQ0FBQTtJQUMxQixxREFBNkMsQ0FBQTtJQUM3QyxzQ0FBOEIsQ0FBQTtJQUM5QiwwQ0FBa0MsQ0FBQTtJQUNsQyxvQ0FBNEIsQ0FBQTtJQUM1Qix1QkFBZSxDQUFBO0lBQ2YsaURBQXlDLENBQUE7SUFDekMsd0NBQWdDLENBQUE7SUFDaEMsa0NBQTBCLENBQUE7SUFDMUIseURBQWlELENBQUE7SUFDakQsNkJBQXFCLENBQUE7SUFDckIsMkNBQW1DLENBQUE7SUFDbkMsdUJBQWUsQ0FBQTtJQUNmLHNDQUE4QixDQUFBO0lBQzlCLDZCQUFxQixDQUFBO0lBQ3JCLDRDQUFvQyxDQUFBO0lBQ3BDLGtDQUEwQixDQUFBO0lBQzFCLGlEQUF5QyxDQUFBO0lBQ3pDLDZDQUFxQyxDQUFBO0lBQ3JDLDJDQUFtQyxDQUFBO0lBQ25DLHVDQUErQixDQUFBO0lBQy9CLHVEQUErQyxDQUFBO0lBQy9DLHFEQUE2QyxDQUFBO0lBQzdDLGlEQUF5QyxDQUFBO0lBQ3pDLHNDQUE4QixDQUFBO0lBQzlCLHlDQUFpQyxDQUFBO0lBQ2pDLHFCQUFhLENBQUE7SUFDYixpREFBeUMsQ0FBQTtJQUN6Qyw2Q0FBcUMsQ0FBQTtJQUNyQyxvQ0FBNEIsQ0FBQTtJQUM1QixxQ0FBNkIsQ0FBQTtJQUM3Qiw4Q0FBc0MsQ0FBQTtJQUN0QyxvREFBNEMsQ0FBQTtJQUM1QyxtQkFBVyxDQUFBO0lBQ1gsdURBQStDLENBQUE7SUFDL0MsdUNBQStCLENBQUE7SUFDL0Isb0NBQTRCLENBQUE7SUFDNUIsa0NBQTBCLENBQUE7SUFDMUIsdUJBQWUsQ0FBQTtJQUNmLHNDQUE4QixDQUFBO0lBQzlCLGtDQUEwQixDQUFBO0lBQzFCLDZFQUFxRSxDQUFBO0lBQ3JFLGtDQUEwQixDQUFBO0lBQzFCLDBDQUFrQyxDQUFBO0lBQ2xDLHNEQUE4QyxDQUFBO0lBQzlDLGlEQUF5QyxDQUFBO0lBQ3pDLGtDQUEwQixDQUFBO0lBQzFCLHFCQUFhLENBQUE7SUFDYiw2QkFBcUIsQ0FBQTtJQUNyQiw2Q0FBcUMsQ0FBQTtJQUNyQyxtQkFBVyxDQUFBO0lBQ1gsMEJBQWtCLENBQUE7QUFDdEIsQ0FBQyxFQXhFVyxJQUFJLEtBQUosSUFBSSxRQXdFZiIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBBVVRPIEdFTkVSQVRFRCBGSUxFLiBETyBOT1QgQ0hBTkdFLi4gT1IgWU9VIFdJTEwgU1VGRkVSIFRIRSBDT05TRVFVRU5DRVMgT0YgWU9VUiBBQ1RJT05TICoqL1xuXG5leHBvcnQgZW51bSBJY29uIHtcbiAgICBBY2NvdW50ID0gXCJhY2NvdW50XCIsXG4gICAgQW5nbGVMZWZ0U29saWQgPSBcImFuZ2xlX2xlZnRfc29saWRcIixcbiAgICBBbmdsZVJpZ2h0U29saWQgPSBcImFuZ2xlX3JpZ2h0X3NvbGlkXCIsXG4gICAgQXJyb3dEb3duID0gXCJhcnJvd19kb3duXCIsXG4gICAgQXJyb3dEb3duUmVndWxhciA9IFwiYXJyb3dfZG93bl9yZWd1bGFyXCIsXG4gICAgQXJyb3dGYXRSaWdodCA9IFwiYXJyb3dfZmF0X3JpZ2h0XCIsXG4gICAgQXJyb3dMZWZ0Um91bmRPcGVuID0gXCJhcnJvd19sZWZ0X3JvdW5kX29wZW5cIixcbiAgICBBcnJvd1BvaW50RG93biA9IFwiYXJyb3dfcG9pbnRfZG93blwiLFxuICAgIEFycm93UG9pbnRMZWZ0ID0gXCJhcnJvd19wb2ludF9sZWZ0XCIsXG4gICAgQXJyb3dQb2ludFJpZ2h0ID0gXCJhcnJvd19wb2ludF9yaWdodFwiLFxuICAgIEFycm93UG9pbnRVcCA9IFwiYXJyb3dfcG9pbnRfdXBcIixcbiAgICBBcnJvd1JpZ2h0QXJyb3dMZWZ0UmVndWxhciA9IFwiYXJyb3dfcmlnaHRfYXJyb3dfbGVmdF9yZWd1bGFyXCIsXG4gICAgQXRTb2xpZCA9IFwiYXRfc29saWRcIixcbiAgICBCYXJjb2RlUmVhZFJlZ3VsYXIgPSBcImJhcmNvZGVfcmVhZF9yZWd1bGFyXCIsXG4gICAgQmVsbFJlZ3VsYXIgPSBcImJlbGxfcmVndWxhclwiLFxuICAgIEJlbGxTbGFzaFJlZ3VsYXIgPSBcImJlbGxfc2xhc2hfcmVndWxhclwiLFxuICAgIEJyaW5nRm9yd2FyZFJlZ3VsYXIgPSBcImJyaW5nX2ZvcndhcmRfcmVndWxhclwiLFxuICAgIENoZWNrRHVvdG9uZSA9IFwiY2hlY2tfZHVvdG9uZVwiLFxuICAgIENoZWNrUm91bmQgPSBcImNoZWNrX3JvdW5kXCIsXG4gICAgQ2hlY2tTb2xpZCA9IFwiY2hlY2tfc29saWRcIixcbiAgICBDaGV2cm9uUmlnaHRSZWd1bGFyID0gXCJjaGV2cm9uX3JpZ2h0X3JlZ3VsYXJcIixcbiAgICBDbG9ja1JlZ3VsYXIgPSBcImNsb2NrX3JlZ3VsYXJcIixcbiAgICBDb21tZW50UmVndWxhciA9IFwiY29tbWVudF9yZWd1bGFyXCIsXG4gICAgQ3Jvc3NTa2lubnkgPSBcImNyb3NzX3NraW5ueVwiLFxuICAgIEN1YmVzID0gXCJjdWJlc1wiLFxuICAgIERlbGV0ZUxlZnRSZWd1bGFyID0gXCJkZWxldGVfbGVmdF9yZWd1bGFyXCIsXG4gICAgRGVsaXZlcnlUcnVjayA9IFwiZGVsaXZlcnlfdHJ1Y2tcIixcbiAgICBEZXRhaWxWaWV3ID0gXCJkZXRhaWxfdmlld1wiLFxuICAgIERpYWdyYW1Qcm9qZWN0UmVndWxhciA9IFwiZGlhZ3JhbV9wcm9qZWN0X3JlZ3VsYXJcIixcbiAgICBEcm9wem9uZSA9IFwiZHJvcHpvbmVcIixcbiAgICBFZGl0UGVuUmVndWxhciA9IFwiZWRpdF9wZW5fcmVndWxhclwiLFxuICAgIEVtYWlsID0gXCJlbWFpbFwiLFxuICAgIEVtYWlsUmVndWxhciA9IFwiZW1haWxfcmVndWxhclwiLFxuICAgIEVtcGxveWVlID0gXCJlbXBsb3llZVwiLFxuICAgIEVudmVsb3BlUmVndWxhciA9IFwiZW52ZWxvcGVfcmVndWxhclwiLFxuICAgIEV5ZVJlZ3VsYXIgPSBcImV5ZV9yZWd1bGFyXCIsXG4gICAgRmlsZUV4cG9ydFJlZ3VsYXIgPSBcImZpbGVfZXhwb3J0X3JlZ3VsYXJcIixcbiAgICBGaWxlRXhwb3J0U29saWQgPSBcImZpbGVfZXhwb3J0X3NvbGlkXCIsXG4gICAgRmlsZVBkZlJlZ3VsYXIgPSBcImZpbGVfcGRmX3JlZ3VsYXJcIixcbiAgICBGaWxlUGRmU29saWQgPSBcImZpbGVfcGRmX3NvbGlkXCIsXG4gICAgRmlsZVNpZ25hdHVyZVJlZ3VsYXIgPSBcImZpbGVfc2lnbmF0dXJlX3JlZ3VsYXJcIixcbiAgICBGb2xkZXJzU2hhcnBSZWd1bGFyID0gXCJmb2xkZXJzX3NoYXJwX3JlZ3VsYXJcIixcbiAgICBIb3VzZUJsYW5rUmVndWxhciA9IFwiaG91c2VfYmxhbmtfcmVndWxhclwiLFxuICAgIElvbmVXb3JrZmxvdyA9IFwiaW9uZV93b3JrZmxvd1wiLFxuICAgIExpc3RVbFJlZ3VsYXIgPSBcImxpc3RfdWxfcmVndWxhclwiLFxuICAgIExvY2sgPSBcImxvY2tcIixcbiAgICBNZXNzYWdlU21zUmVndWxhciA9IFwibWVzc2FnZV9zbXNfcmVndWxhclwiLFxuICAgIE1lc3NhZ2VTbXNTb2xpZCA9IFwibWVzc2FnZV9zbXNfc29saWRcIixcbiAgICBNaW51c1NpbXBsZSA9IFwibWludXNfc2ltcGxlXCIsXG4gICAgTm90aWZpY2F0aW9uID0gXCJub3RpZmljYXRpb25cIixcbiAgICBQYXBlcmNsaXBSZWd1bGFyID0gXCJwYXBlcmNsaXBfcmVndWxhclwiLFxuICAgIFBhcGVyUGxhbmVUb3BTb2xpZCA9IFwicGFwZXJfcGxhbmVfdG9wX3NvbGlkXCIsXG4gICAgUGRmID0gXCJwZGZcIixcbiAgICBQZXJzb25EaWdnaW5nUmVndWxhciA9IFwicGVyc29uX2RpZ2dpbmdfcmVndWxhclwiLFxuICAgIFBpblJvdW5kT3BlbiA9IFwicGluX3JvdW5kX29wZW5cIixcbiAgICBQbHVzUmVndWxhciA9IFwicGx1c19yZWd1bGFyXCIsXG4gICAgUGx1c1NpbXBsZSA9IFwicGx1c19zaW1wbGVcIixcbiAgICBQcmludCA9IFwicHJpbnRcIixcbiAgICBQcmludFJlZ3VsYXIgPSBcInByaW50X3JlZ3VsYXJcIixcbiAgICBQcmludFNvbGlkID0gXCJwcmludF9zb2xpZFwiLFxuICAgIFJlZ3VsYXJGaWxlU2lnbmF0dXJlQ2lyY2xlUGx1cyA9IFwicmVndWxhcl9maWxlX3NpZ25hdHVyZV9jaXJjbGVfcGx1c1wiLFxuICAgIFNoYXJlU29saWQgPSBcInNoYXJlX3NvbGlkXCIsXG4gICAgU2lnbmF0dXJlRmllbGQgPSBcInNpZ25hdHVyZV9maWVsZFwiLFxuICAgIFNvbGlkQmFyY29kZVJlYWRUYWcgPSBcInNvbGlkX2JhcmNvZGVfcmVhZF90YWdcIixcbiAgICBTcXVhcmVQbHVzUmVndWxhciA9IFwic3F1YXJlX3BsdXNfcmVndWxhclwiLFxuICAgIFRhZ1JlZ3VsYXIgPSBcInRhZ19yZWd1bGFyXCIsXG4gICAgVGFzayA9IFwidGFza1wiLFxuICAgIFRyYXNoYmluID0gXCJ0cmFzaGJpblwiLFxuICAgIFRyYXNoQ2FuUmVndWxhciA9IFwidHJhc2hfY2FuX3JlZ3VsYXJcIixcbiAgICBYbWwgPSBcInhtbFwiLFxuICAgIFhTb2xpZCA9IFwieF9zb2xpZFwiXG59Il19
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2VudW0vaWNvbi5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdHQUFnRztBQUVoRyxNQUFNLENBQU4sSUFBWSxJQXlFWDtBQXpFRCxXQUFZLElBQUk7SUFDWiwyQkFBbUIsQ0FBQTtJQUNuQiwyQ0FBbUMsQ0FBQTtJQUNuQyw2Q0FBcUMsQ0FBQTtJQUNyQyxnQ0FBd0IsQ0FBQTtJQUN4QiwrQ0FBdUMsQ0FBQTtJQUN2Qyx5Q0FBaUMsQ0FBQTtJQUNqQyxvREFBNEMsQ0FBQTtJQUM1QywyQ0FBbUMsQ0FBQTtJQUNuQywyQ0FBbUMsQ0FBQTtJQUNuQyw2Q0FBcUMsQ0FBQTtJQUNyQyx1Q0FBK0IsQ0FBQTtJQUMvQixxRUFBNkQsQ0FBQTtJQUM3RCw0QkFBb0IsQ0FBQTtJQUNwQixtREFBMkMsQ0FBQTtJQUMzQyxvQ0FBNEIsQ0FBQTtJQUM1QiwrQ0FBdUMsQ0FBQTtJQUN2QyxxREFBNkMsQ0FBQTtJQUM3QyxzQ0FBOEIsQ0FBQTtJQUM5QixrQ0FBMEIsQ0FBQTtJQUMxQixrQ0FBMEIsQ0FBQTtJQUMxQixxREFBNkMsQ0FBQTtJQUM3QyxzQ0FBOEIsQ0FBQTtJQUM5QiwwQ0FBa0MsQ0FBQTtJQUNsQyxvQ0FBNEIsQ0FBQTtJQUM1Qix1QkFBZSxDQUFBO0lBQ2YsaURBQXlDLENBQUE7SUFDekMsd0NBQWdDLENBQUE7SUFDaEMsa0NBQTBCLENBQUE7SUFDMUIseURBQWlELENBQUE7SUFDakQsNkJBQXFCLENBQUE7SUFDckIsMkNBQW1DLENBQUE7SUFDbkMsdUJBQWUsQ0FBQTtJQUNmLHNDQUE4QixDQUFBO0lBQzlCLDZCQUFxQixDQUFBO0lBQ3JCLDRDQUFvQyxDQUFBO0lBQ3BDLGtDQUEwQixDQUFBO0lBQzFCLGlEQUF5QyxDQUFBO0lBQ3pDLDZDQUFxQyxDQUFBO0lBQ3JDLHFEQUE2QyxDQUFBO0lBQzdDLDJDQUFtQyxDQUFBO0lBQ25DLHVDQUErQixDQUFBO0lBQy9CLHVEQUErQyxDQUFBO0lBQy9DLHFEQUE2QyxDQUFBO0lBQzdDLGlEQUF5QyxDQUFBO0lBQ3pDLHNDQUE4QixDQUFBO0lBQzlCLHlDQUFpQyxDQUFBO0lBQ2pDLHFCQUFhLENBQUE7SUFDYixpREFBeUMsQ0FBQTtJQUN6Qyw2Q0FBcUMsQ0FBQTtJQUNyQyxvQ0FBNEIsQ0FBQTtJQUM1QixxQ0FBNkIsQ0FBQTtJQUM3Qiw4Q0FBc0MsQ0FBQTtJQUN0QyxvREFBNEMsQ0FBQTtJQUM1QyxtQkFBVyxDQUFBO0lBQ1gsdURBQStDLENBQUE7SUFDL0MsdUNBQStCLENBQUE7SUFDL0Isb0NBQTRCLENBQUE7SUFDNUIsa0NBQTBCLENBQUE7SUFDMUIsdUJBQWUsQ0FBQTtJQUNmLHNDQUE4QixDQUFBO0lBQzlCLGtDQUEwQixDQUFBO0lBQzFCLDZFQUFxRSxDQUFBO0lBQ3JFLGtDQUEwQixDQUFBO0lBQzFCLDBDQUFrQyxDQUFBO0lBQ2xDLHNEQUE4QyxDQUFBO0lBQzlDLGlEQUF5QyxDQUFBO0lBQ3pDLGtDQUEwQixDQUFBO0lBQzFCLHFCQUFhLENBQUE7SUFDYiw2QkFBcUIsQ0FBQTtJQUNyQiw2Q0FBcUMsQ0FBQTtJQUNyQyxtQkFBVyxDQUFBO0lBQ1gsMEJBQWtCLENBQUE7QUFDdEIsQ0FBQyxFQXpFVyxJQUFJLEtBQUosSUFBSSxRQXlFZiIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBBVVRPIEdFTkVSQVRFRCBGSUxFLiBETyBOT1QgQ0hBTkdFLi4gT1IgWU9VIFdJTEwgU1VGRkVSIFRIRSBDT05TRVFVRU5DRVMgT0YgWU9VUiBBQ1RJT05TICoqL1xuXG5leHBvcnQgZW51bSBJY29uIHtcbiAgICBBY2NvdW50ID0gXCJhY2NvdW50XCIsXG4gICAgQW5nbGVMZWZ0U29saWQgPSBcImFuZ2xlX2xlZnRfc29saWRcIixcbiAgICBBbmdsZVJpZ2h0U29saWQgPSBcImFuZ2xlX3JpZ2h0X3NvbGlkXCIsXG4gICAgQXJyb3dEb3duID0gXCJhcnJvd19kb3duXCIsXG4gICAgQXJyb3dEb3duUmVndWxhciA9IFwiYXJyb3dfZG93bl9yZWd1bGFyXCIsXG4gICAgQXJyb3dGYXRSaWdodCA9IFwiYXJyb3dfZmF0X3JpZ2h0XCIsXG4gICAgQXJyb3dMZWZ0Um91bmRPcGVuID0gXCJhcnJvd19sZWZ0X3JvdW5kX29wZW5cIixcbiAgICBBcnJvd1BvaW50RG93biA9IFwiYXJyb3dfcG9pbnRfZG93blwiLFxuICAgIEFycm93UG9pbnRMZWZ0ID0gXCJhcnJvd19wb2ludF9sZWZ0XCIsXG4gICAgQXJyb3dQb2ludFJpZ2h0ID0gXCJhcnJvd19wb2ludF9yaWdodFwiLFxuICAgIEFycm93UG9pbnRVcCA9IFwiYXJyb3dfcG9pbnRfdXBcIixcbiAgICBBcnJvd1JpZ2h0QXJyb3dMZWZ0UmVndWxhciA9IFwiYXJyb3dfcmlnaHRfYXJyb3dfbGVmdF9yZWd1bGFyXCIsXG4gICAgQXRTb2xpZCA9IFwiYXRfc29saWRcIixcbiAgICBCYXJjb2RlUmVhZFJlZ3VsYXIgPSBcImJhcmNvZGVfcmVhZF9yZWd1bGFyXCIsXG4gICAgQmVsbFJlZ3VsYXIgPSBcImJlbGxfcmVndWxhclwiLFxuICAgIEJlbGxTbGFzaFJlZ3VsYXIgPSBcImJlbGxfc2xhc2hfcmVndWxhclwiLFxuICAgIEJyaW5nRm9yd2FyZFJlZ3VsYXIgPSBcImJyaW5nX2ZvcndhcmRfcmVndWxhclwiLFxuICAgIENoZWNrRHVvdG9uZSA9IFwiY2hlY2tfZHVvdG9uZVwiLFxuICAgIENoZWNrUm91bmQgPSBcImNoZWNrX3JvdW5kXCIsXG4gICAgQ2hlY2tTb2xpZCA9IFwiY2hlY2tfc29saWRcIixcbiAgICBDaGV2cm9uUmlnaHRSZWd1bGFyID0gXCJjaGV2cm9uX3JpZ2h0X3JlZ3VsYXJcIixcbiAgICBDbG9ja1JlZ3VsYXIgPSBcImNsb2NrX3JlZ3VsYXJcIixcbiAgICBDb21tZW50UmVndWxhciA9IFwiY29tbWVudF9yZWd1bGFyXCIsXG4gICAgQ3Jvc3NTa2lubnkgPSBcImNyb3NzX3NraW5ueVwiLFxuICAgIEN1YmVzID0gXCJjdWJlc1wiLFxuICAgIERlbGV0ZUxlZnRSZWd1bGFyID0gXCJkZWxldGVfbGVmdF9yZWd1bGFyXCIsXG4gICAgRGVsaXZlcnlUcnVjayA9IFwiZGVsaXZlcnlfdHJ1Y2tcIixcbiAgICBEZXRhaWxWaWV3ID0gXCJkZXRhaWxfdmlld1wiLFxuICAgIERpYWdyYW1Qcm9qZWN0UmVndWxhciA9IFwiZGlhZ3JhbV9wcm9qZWN0X3JlZ3VsYXJcIixcbiAgICBEcm9wem9uZSA9IFwiZHJvcHpvbmVcIixcbiAgICBFZGl0UGVuUmVndWxhciA9IFwiZWRpdF9wZW5fcmVndWxhclwiLFxuICAgIEVtYWlsID0gXCJlbWFpbFwiLFxuICAgIEVtYWlsUmVndWxhciA9IFwiZW1haWxfcmVndWxhclwiLFxuICAgIEVtcGxveWVlID0gXCJlbXBsb3llZVwiLFxuICAgIEVudmVsb3BlUmVndWxhciA9IFwiZW52ZWxvcGVfcmVndWxhclwiLFxuICAgIEV5ZVJlZ3VsYXIgPSBcImV5ZV9yZWd1bGFyXCIsXG4gICAgRmlsZUV4cG9ydFJlZ3VsYXIgPSBcImZpbGVfZXhwb3J0X3JlZ3VsYXJcIixcbiAgICBGaWxlRXhwb3J0U29saWQgPSBcImZpbGVfZXhwb3J0X3NvbGlkXCIsXG4gICAgRmlsZU1hZ25pZnlpbmdHbGFzcyA9IFwiZmlsZV9tYWduaWZ5aW5nX2dsYXNzXCIsXG4gICAgRmlsZVBkZlJlZ3VsYXIgPSBcImZpbGVfcGRmX3JlZ3VsYXJcIixcbiAgICBGaWxlUGRmU29saWQgPSBcImZpbGVfcGRmX3NvbGlkXCIsXG4gICAgRmlsZVNpZ25hdHVyZVJlZ3VsYXIgPSBcImZpbGVfc2lnbmF0dXJlX3JlZ3VsYXJcIixcbiAgICBGb2xkZXJzU2hhcnBSZWd1bGFyID0gXCJmb2xkZXJzX3NoYXJwX3JlZ3VsYXJcIixcbiAgICBIb3VzZUJsYW5rUmVndWxhciA9IFwiaG91c2VfYmxhbmtfcmVndWxhclwiLFxuICAgIElvbmVXb3JrZmxvdyA9IFwiaW9uZV93b3JrZmxvd1wiLFxuICAgIExpc3RVbFJlZ3VsYXIgPSBcImxpc3RfdWxfcmVndWxhclwiLFxuICAgIExvY2sgPSBcImxvY2tcIixcbiAgICBNZXNzYWdlU21zUmVndWxhciA9IFwibWVzc2FnZV9zbXNfcmVndWxhclwiLFxuICAgIE1lc3NhZ2VTbXNTb2xpZCA9IFwibWVzc2FnZV9zbXNfc29saWRcIixcbiAgICBNaW51c1NpbXBsZSA9IFwibWludXNfc2ltcGxlXCIsXG4gICAgTm90aWZpY2F0aW9uID0gXCJub3RpZmljYXRpb25cIixcbiAgICBQYXBlcmNsaXBSZWd1bGFyID0gXCJwYXBlcmNsaXBfcmVndWxhclwiLFxuICAgIFBhcGVyUGxhbmVUb3BTb2xpZCA9IFwicGFwZXJfcGxhbmVfdG9wX3NvbGlkXCIsXG4gICAgUGRmID0gXCJwZGZcIixcbiAgICBQZXJzb25EaWdnaW5nUmVndWxhciA9IFwicGVyc29uX2RpZ2dpbmdfcmVndWxhclwiLFxuICAgIFBpblJvdW5kT3BlbiA9IFwicGluX3JvdW5kX29wZW5cIixcbiAgICBQbHVzUmVndWxhciA9IFwicGx1c19yZWd1bGFyXCIsXG4gICAgUGx1c1NpbXBsZSA9IFwicGx1c19zaW1wbGVcIixcbiAgICBQcmludCA9IFwicHJpbnRcIixcbiAgICBQcmludFJlZ3VsYXIgPSBcInByaW50X3JlZ3VsYXJcIixcbiAgICBQcmludFNvbGlkID0gXCJwcmludF9zb2xpZFwiLFxuICAgIFJlZ3VsYXJGaWxlU2lnbmF0dXJlQ2lyY2xlUGx1cyA9IFwicmVndWxhcl9maWxlX3NpZ25hdHVyZV9jaXJjbGVfcGx1c1wiLFxuICAgIFNoYXJlU29saWQgPSBcInNoYXJlX3NvbGlkXCIsXG4gICAgU2lnbmF0dXJlRmllbGQgPSBcInNpZ25hdHVyZV9maWVsZFwiLFxuICAgIFNvbGlkQmFyY29kZVJlYWRUYWcgPSBcInNvbGlkX2JhcmNvZGVfcmVhZF90YWdcIixcbiAgICBTcXVhcmVQbHVzUmVndWxhciA9IFwic3F1YXJlX3BsdXNfcmVndWxhclwiLFxuICAgIFRhZ1JlZ3VsYXIgPSBcInRhZ19yZWd1bGFyXCIsXG4gICAgVGFzayA9IFwidGFza1wiLFxuICAgIFRyYXNoYmluID0gXCJ0cmFzaGJpblwiLFxuICAgIFRyYXNoQ2FuUmVndWxhciA9IFwidHJhc2hfY2FuX3JlZ3VsYXJcIixcbiAgICBYbWwgPSBcInhtbFwiLFxuICAgIFhTb2xpZCA9IFwieF9zb2xpZFwiXG59Il19