@colijnit/sharedcomponents 256.2.7 → 256.2.9

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 (27) hide show
  1. package/bundles/colijnit-sharedcomponents.umd.js +329 -269
  2. package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
  3. package/colijnit-sharedcomponents.d.ts +9 -9
  4. package/colijnit-sharedcomponents.metadata.json +1 -1
  5. package/esm2015/colijnit-sharedcomponents.js +10 -10
  6. package/esm2015/lib/components/custom-pdf/custom-pdf-dialog.component.js +20 -23
  7. package/esm2015/lib/components/send-method-dialog/components/additional-file-button/additional-file-button.component.js +15 -3
  8. package/esm2015/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.js +26 -2
  9. package/esm2015/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.js +4 -2
  10. package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.js +32 -24
  11. package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +34 -4
  12. package/esm2015/lib/enum/icon.enum.js +2 -1
  13. package/esm2015/lib/model/icon-svg.js +2 -1
  14. package/esm2015/lib/res/dictionary/dictionaries.js +2 -2
  15. package/fesm2015/colijnit-sharedcomponents.js +481 -407
  16. package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
  17. package/lib/components/custom-pdf/custom-pdf-dialog.component.d.ts +7 -4
  18. package/lib/components/send-method-dialog/components/additional-file-button/additional-file-button.component.d.ts +4 -0
  19. package/lib/components/send-method-dialog/components/additional-file-button/style/_layout.scss +2 -2
  20. package/lib/components/send-method-dialog/components/additional-file-button/style/_material-definition.scss +2 -2
  21. package/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.d.ts +9 -0
  22. package/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.d.ts +4 -0
  23. package/lib/components/send-method-dialog/components/send-method-printer/style/_layout.scss +6 -0
  24. package/lib/components/send-method-dialog/components/signature-button/style/_layout.scss +4 -2
  25. package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +7 -0
  26. package/lib/enum/icon.enum.d.ts +1 -0
  27. package/package.json +1 -1
@@ -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: [{
@@ -37,20 +45,27 @@ SendMethodPrinterComponent.decorators = [
37
45
  template: `
38
46
  <span class="send-methods-label" [textContent]="'SETTINGS' | sharedLocalize"></span>
39
47
  <div class="printer-layout-selections-wrapper">
40
- <div class="printer-signature-wrapper">
41
- <co-printer-selection [defaultPrinter]="defaultPrinter" [printers]="printerList"></co-printer-selection>
42
- <co-signature-button [request]="sendMethodService.reportingDocumentPrintSignDocBaseRequest"></co-signature-button>
43
- </div>
44
- <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>
53
- <div class="additional-checks">
48
+ <div class="printer-signature-wrapper">
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>
64
+ <co-signature-button [request]="sendMethodService.reportingDocumentPrintSignDocBaseRequest"></co-signature-button>
65
+ </div>
66
+ <div class="layout-buttons-wrapper" *ngIf="isPrinterLayoutsEnabled">
67
+ <co-printer-selection [defaultPrinter]="defaultPrinter" [printers]="printerList"></co-printer-selection>
68
+ <div class="additional-checks">
54
69
  <co-input-checkbox
55
70
  [model]="sendMethodService.reportingDocumentPrintSignDocBaseRequest.saveDefaultPrinterForUser"
56
71
  [label]="'Koppeling onthouden'"
@@ -62,14 +77,6 @@ SendMethodPrinterComponent.decorators = [
62
77
  (modelChange)="handleDefaultPrinterAllUsersChange($event)">
63
78
  </co-input-checkbox>
64
79
  </div>
65
- <div class="additional-buttons">
66
- <co-additional-file-button
67
- *ngIf="isAdditionalDocEnabled"
68
- [additionalFileContents]="additionalFileContents"
69
- [additionalFileName]="additionalFileName"
70
- (additionalFileChangeEvent)="additionalFileChangeEvent.emit($event)">
71
- </co-additional-file-button>
72
- </div>
73
80
  </div>
74
81
  </div>
75
82
  `,
@@ -82,6 +89,7 @@ SendMethodPrinterComponent.ctorParameters = () => [
82
89
  ];
83
90
  SendMethodPrinterComponent.propDecorators = {
84
91
  showClass: [{ type: HostBinding, args: ['class.co-send-method-printer',] }],
92
+ additionalFileButtonRef: [{ type: ViewChild, args: ['additionalFileButton',] }],
85
93
  printerList: [{ type: Input }],
86
94
  defaultPrinter: [{ type: Input }],
87
95
  layouts: [{ type: Input }],
@@ -95,4 +103,4 @@ SendMethodPrinterComponent.propDecorators = {
95
103
  showFilePreview: [{ type: Output }],
96
104
  loadDefaultPrinterName: [{ type: Output }]
97
105
  };
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtcHJpbnRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1wcmludGVyL3NlbmQtbWV0aG9kLXByaW50ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBR3BFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQThDeEUsTUFBTSxPQUFPLDBCQUEwQjtJQTRDckMsWUFDUyxpQkFBb0MsRUFDcEMsZ0JBQWtDO1FBRGxDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXZDcEMsZ0JBQVcsR0FBYyxFQUFFLENBQUM7UUFNNUIsWUFBTyxHQUFpQyxFQUFFLENBQUM7UUFHM0MsNEJBQXVCLEdBQVksSUFBSSxDQUFDO1FBR3hDLDJCQUFzQixHQUFZLEtBQUssQ0FBQztRQUd4QyxXQUFNLEdBQVEsRUFBRSxDQUFDO1FBR2pCLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUduQywyQkFBc0IsR0FBUSxFQUFFLENBQUM7UUFHakMsdUJBQWtCLEdBQVcsRUFBRSxDQUFDO1FBR2hDLDhCQUF5QixHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBR3JGLG9CQUFlLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHbkUsMkJBQXNCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFFOUQsVUFBSyxHQUFHLElBQUksQ0FBQztJQU1oQyxDQUFDO0lBOUNNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUE4Q00sOEJBQThCLENBQUMsT0FBZ0I7UUFDcEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHdDQUF3QyxDQUFDLHlCQUF5QixHQUFHLE9BQU8sQ0FBQztRQUNwRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsK0NBQStDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO0lBQy9JLENBQUM7SUFFTSxrQ0FBa0MsQ0FBQyxPQUFnQjtRQUN4RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsd0NBQXdDLENBQUMsNkJBQTZCLEdBQUcsT0FBTyxDQUFDO1FBQ3hHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQywrQ0FBK0MsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHdDQUF3QyxDQUFDLENBQUM7SUFDL0ksQ0FBQzs7O1lBckdGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0NUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFqRE8saUJBQWlCO1lBSWpCLGdCQUFnQjs7O3dCQStDckIsV0FBVyxTQUFDLDhCQUE4QjswQkFLMUMsS0FBSzs2QkFHTCxLQUFLO3NCQUdMLEtBQUs7c0NBR0wsS0FBSztxQ0FHTCxLQUFLO3FCQUdMLEtBQUs7Z0NBR0wsS0FBSztxQ0FHTCxLQUFLO2lDQUdMLEtBQUs7d0NBR0wsTUFBTTs4QkFHTixNQUFNO3FDQUdOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1NlbmRNZXRob2RTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3NlbmQtbWV0aG9kLnNlcnZpY2UnO1xyXG5pbXBvcnQge1JlcG9ydExheW91dFNlbGVjdGlvblByaW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1wcmludC5ibyc7XHJcbmltcG9ydCB7UHJpbnRlcn0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcHJpbnRlci5ibyc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLXNlbmQtbWV0aG9kLXByaW50ZXInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic2VuZC1tZXRob2RzLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIidTRVRUSU5HUycgfCBzaGFyZWRMb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItbGF5b3V0LXNlbGVjdGlvbnMtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItc2lnbmF0dXJlLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICA8Y28tcHJpbnRlci1zZWxlY3Rpb24gW2RlZmF1bHRQcmludGVyXT1cImRlZmF1bHRQcmludGVyXCIgW3ByaW50ZXJzXT1cInByaW50ZXJMaXN0XCI+PC9jby1wcmludGVyLXNlbGVjdGlvbj5cclxuICAgICAgICAgICAgICA8Y28tc2lnbmF0dXJlLWJ1dHRvbiBbcmVxdWVzdF09XCJzZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0XCI+PC9jby1zaWduYXR1cmUtYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LWJ1dHRvbnMtd3JhcHBlclwiICpuZ0lmPVwiaXNQcmludGVyTGF5b3V0c0VuYWJsZWRcIj5cclxuICAgICAgICAgICAgICA8Y28tbGF5b3V0LXNlbGVjdGlvblxyXG4gICAgICAgICAgICAgICAgICAgICAgWyhyZXF1ZXN0KV09XCJzZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgIChyZXF1ZXN0Q2hhbmdlKT1cInNob3dGaWxlUHJldmlldy5lbWl0KHNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QucmVwb3J0SWQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChsb2FkRGVmYXVsdFByaW50ZXJOYW1lKT1cImxvYWREZWZhdWx0UHJpbnRlck5hbWUuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtsYXlvdXRzXT1cImxheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidQUklOVEVSX0xBWU9VVCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3VzZURlZmF1bHRdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICA8L2NvLWxheW91dC1zZWxlY3Rpb24+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZGl0aW9uYWwtY2hlY2tzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJzZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0LnNhdmVEZWZhdWx0UHJpbnRlckZvclVzZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInS29wcGVsaW5nIG9udGhvdWRlbidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVEZWZhdWx0UHJpbnRlclVzZXJDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwic2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdC5zYXZlRGVmYXVsdFByaW50ZXJGb3JBbGxVc2Vyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidBbGxlIGdlYnJ1aWtlcnMnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlRGVmYXVsdFByaW50ZXJBbGxVc2Vyc0NoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZGl0aW9uYWwtYnV0dG9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tYWRkaXRpb25hbC1maWxlLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNBZGRpdGlvbmFsRG9jRW5hYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2FkZGl0aW9uYWxGaWxlQ29udGVudHNdPVwiYWRkaXRpb25hbEZpbGVDb250ZW50c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2FkZGl0aW9uYWxGaWxlTmFtZV09XCJhZGRpdGlvbmFsRmlsZU5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChhZGRpdGlvbmFsRmlsZUNoYW5nZUV2ZW50KT1cImFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQuZW1pdCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvY28tYWRkaXRpb25hbC1maWxlLWJ1dHRvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbmRNZXRob2RQcmludGVyQ29tcG9uZW50IHtcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXNlbmQtbWV0aG9kLXByaW50ZXInKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHByaW50ZXJMaXN0OiBQcmludGVyW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGVmYXVsdFByaW50ZXI6IFByaW50ZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxheW91dHM6IFJlcG9ydExheW91dFNlbGVjdGlvblByaW50W10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNQcmludGVyTGF5b3V0c0VuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc0FkZGl0aW9uYWxEb2NFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBkZkRvYzogYW55ID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRpc2FibGVQZGZQcmV2aWV3OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFkZGl0aW9uYWxGaWxlQ29udGVudHM6IGFueSA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhZGRpdGlvbmFsRmlsZU5hbWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVDaGFuZ2VFdmVudDogRXZlbnRFbWl0dGVyPENvRG9jdW1lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgc2hvd0ZpbGVQcmV2aWV3OiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgbG9hZERlZmF1bHRQcmludGVyTmFtZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb25zID0gSWNvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgc2VuZE1ldGhvZFNlcnZpY2U6IFNlbmRNZXRob2RTZXJ2aWNlLFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEZWZhdWx0UHJpbnRlclVzZXJDaGFuZ2UoY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0LnNhdmVEZWZhdWx0UHJpbnRlckZvclVzZXIgPSBjaGVja2VkO1xyXG4gICAgdGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0Q2hhbmdlZC5uZXh0KHRoaXMuc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRGVmYXVsdFByaW50ZXJBbGxVc2Vyc0NoYW5nZShjaGVja2VkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Quc2F2ZURlZmF1bHRQcmludGVyRm9yQWxsVXNlcnMgPSBjaGVja2VkO1xyXG4gICAgdGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0Q2hhbmdlZC5uZXh0KHRoaXMuc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtcHJpbnRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1wcmludGVyL3NlbmQtbWV0aG9kLXByaW50ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUdwRSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDaEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUE4Q3hFLE1BQU0sT0FBTywwQkFBMEI7SUErQ3JDLFlBQ1MsaUJBQW9DLEVBQ3BDLGdCQUFrQztRQURsQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF2Q3BDLGdCQUFXLEdBQWMsRUFBRSxDQUFDO1FBTTVCLFlBQU8sR0FBaUMsRUFBRSxDQUFDO1FBRzNDLDRCQUF1QixHQUFZLElBQUksQ0FBQztRQUd4QywyQkFBc0IsR0FBWSxLQUFLLENBQUM7UUFHeEMsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUdqQixzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFHbkMsMkJBQXNCLEdBQVEsRUFBRSxDQUFDO1FBR2pDLHVCQUFrQixHQUFXLEVBQUUsQ0FBQztRQUdoQyw4QkFBeUIsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUdyRixvQkFBZSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBR25FLDJCQUFzQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTlELFVBQUssR0FBRyxJQUFJLENBQUM7SUFNaEMsQ0FBQztJQWpETSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBaURNLDhCQUE4QixDQUFDLE9BQWdCO1FBQ3BELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx3Q0FBd0MsQ0FBQyx5QkFBeUIsR0FBRyxPQUFPLENBQUM7UUFDcEcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLCtDQUErQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsd0NBQXdDLENBQUMsQ0FBQztJQUMvSSxDQUFDO0lBRU0sa0NBQWtDLENBQUMsT0FBZ0I7UUFDeEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHdDQUF3QyxDQUFDLDZCQUE2QixHQUFHLE9BQU8sQ0FBQztRQUN4RyxJQUFJLENBQUMsaUJBQWlCLENBQUMsK0NBQStDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO0lBQy9JLENBQUM7SUFFTSx3QkFBd0I7O1FBQzdCLE1BQUEsSUFBSSxDQUFDLHVCQUF1QiwwQ0FBRSxXQUFXLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRU0sc0JBQXNCOztRQUMzQixPQUFPLE1BQUEsTUFBQSxJQUFJLENBQUMsdUJBQXVCLDBDQUFFLFFBQVEsbUNBQUksS0FBSyxDQUFDO0lBQ3pELENBQUM7OztZQS9HRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUNUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFqRE8saUJBQWlCO1lBSWpCLGdCQUFnQjs7O3dCQStDckIsV0FBVyxTQUFDLDhCQUE4QjtzQ0FLMUMsU0FBUyxTQUFDLHNCQUFzQjswQkFHaEMsS0FBSzs2QkFHTCxLQUFLO3NCQUdMLEtBQUs7c0NBR0wsS0FBSztxQ0FHTCxLQUFLO3FCQUdMLEtBQUs7Z0NBR0wsS0FBSztxQ0FHTCxLQUFLO2lDQUdMLEtBQUs7d0NBR0wsTUFBTTs4QkFHTixNQUFNO3FDQUdOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U2VuZE1ldGhvZFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2Uvc2VuZC1tZXRob2Quc2VydmljZSc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLXByaW50LmJvJztcclxuaW1wb3J0IHtQcmludGVyfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9wcmludGVyLmJvJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi8uLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvY3VtZW50JztcclxuaW1wb3J0IHtBZGRpdGlvbmFsRmlsZUJ1dHRvbkNvbXBvbmVudH0gZnJvbSBcIi4uL2FkZGl0aW9uYWwtZmlsZS1idXR0b24vYWRkaXRpb25hbC1maWxlLWJ1dHRvbi5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tc2VuZC1tZXRob2QtcHJpbnRlcicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPHNwYW4gY2xhc3M9XCJzZW5kLW1ldGhvZHMtbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ1NFVFRJTkdTJyB8IHNoYXJlZExvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicHJpbnRlci1sYXlvdXQtc2VsZWN0aW9ucy13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItc2lnbmF0dXJlLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby1sYXlvdXQtc2VsZWN0aW9uXHJcbiAgICAgICAgICAgIFsocmVxdWVzdCldPVwic2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdFwiXHJcbiAgICAgICAgICAgIChyZXF1ZXN0Q2hhbmdlKT1cInNob3dGaWxlUHJldmlldy5lbWl0KHNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QucmVwb3J0SWQpXCJcclxuICAgICAgICAgICAgKGxvYWREZWZhdWx0UHJpbnRlck5hbWUpPVwibG9hZERlZmF1bHRQcmludGVyTmFtZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICBbbGF5b3V0c109XCJsYXlvdXRzXCJcclxuICAgICAgICAgICAgW2xhYmVsXT1cIidQUklOVEVSX0xBWU9VVCdcIlxyXG4gICAgICAgICAgICBbdXNlRGVmYXVsdF09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgPC9jby1sYXlvdXQtc2VsZWN0aW9uPlxyXG4gICAgICAgICAgPGNvLWFkZGl0aW9uYWwtZmlsZS1idXR0b25cclxuICAgICAgICAgICAgI2FkZGl0aW9uYWxGaWxlQnV0dG9uXHJcbiAgICAgICAgICAgICpuZ0lmPVwiaXNBZGRpdGlvbmFsRG9jRW5hYmxlZFwiXHJcbiAgICAgICAgICAgIFthZGRpdGlvbmFsRmlsZUNvbnRlbnRzXT1cImFkZGl0aW9uYWxGaWxlQ29udGVudHNcIlxyXG4gICAgICAgICAgICBbYWRkaXRpb25hbEZpbGVOYW1lXT1cImFkZGl0aW9uYWxGaWxlTmFtZVwiXHJcbiAgICAgICAgICAgIChhZGRpdGlvbmFsRmlsZUNoYW5nZUV2ZW50KT1cImFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQuZW1pdCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8L2NvLWFkZGl0aW9uYWwtZmlsZS1idXR0b24+XHJcbiAgICAgICAgICA8Y28tc2lnbmF0dXJlLWJ1dHRvbiBbcmVxdWVzdF09XCJzZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0XCI+PC9jby1zaWduYXR1cmUtYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtYnV0dG9ucy13cmFwcGVyXCIgKm5nSWY9XCJpc1ByaW50ZXJMYXlvdXRzRW5hYmxlZFwiPlxyXG4gICAgICAgICAgICA8Y28tcHJpbnRlci1zZWxlY3Rpb24gW2RlZmF1bHRQcmludGVyXT1cImRlZmF1bHRQcmludGVyXCIgW3ByaW50ZXJzXT1cInByaW50ZXJMaXN0XCI+PC9jby1wcmludGVyLXNlbGVjdGlvbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZGl0aW9uYWwtY2hlY2tzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJzZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0LnNhdmVEZWZhdWx0UHJpbnRlckZvclVzZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInS29wcGVsaW5nIG9udGhvdWRlbidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVEZWZhdWx0UHJpbnRlclVzZXJDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwic2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdC5zYXZlRGVmYXVsdFByaW50ZXJGb3JBbGxVc2Vyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidBbGxlIGdlYnJ1aWtlcnMnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlRGVmYXVsdFByaW50ZXJBbGxVc2Vyc0NoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZW5kTWV0aG9kUHJpbnRlckNvbXBvbmVudCB7XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1zZW5kLW1ldGhvZC1wcmludGVyJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkKCdhZGRpdGlvbmFsRmlsZUJ1dHRvbicpXHJcbiAgcHVibGljIGFkZGl0aW9uYWxGaWxlQnV0dG9uUmVmOiBBZGRpdGlvbmFsRmlsZUJ1dHRvbkNvbXBvbmVudDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcHJpbnRlckxpc3Q6IFByaW50ZXJbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkZWZhdWx0UHJpbnRlcjogUHJpbnRlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGF5b3V0czogUmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnRbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc1ByaW50ZXJMYXlvdXRzRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzQWRkaXRpb25hbERvY0VuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGRmRG9jOiBhbnkgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGlzYWJsZVBkZlByZXZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVDb250ZW50czogYW55ID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFkZGl0aW9uYWxGaWxlTmFtZTogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhZGRpdGlvbmFsRmlsZUNoYW5nZUV2ZW50OiBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPENvRG9jdW1lbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzaG93RmlsZVByZXZpZXc6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBsb2FkRGVmYXVsdFByaW50ZXJOYW1lOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbnMgPSBJY29uO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzZW5kTWV0aG9kU2VydmljZTogU2VuZE1ldGhvZFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZURlZmF1bHRQcmludGVyVXNlckNoYW5nZShjaGVja2VkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Quc2F2ZURlZmF1bHRQcmludGVyRm9yVXNlciA9IGNoZWNrZWQ7XHJcbiAgICB0aGlzLnNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3RDaGFuZ2VkLm5leHQodGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEZWZhdWx0UHJpbnRlckFsbFVzZXJzQ2hhbmdlKGNoZWNrZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdC5zYXZlRGVmYXVsdFByaW50ZXJGb3JBbGxVc2VycyA9IGNoZWNrZWQ7XHJcbiAgICB0aGlzLnNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3RDaGFuZ2VkLm5leHQodGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvcGVuQWRkaXRpb25hbEZpbGVEaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLmFkZGl0aW9uYWxGaWxlQnV0dG9uUmVmPy5vcGVuRm9yU2F2ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzQWRkaXRpb25hbEZpbGVBY3RpdmUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRpdGlvbmFsRmlsZUJ1dHRvblJlZj8uaXNBY3RpdmUgPz8gZmFsc2U7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -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);
@@ -226,6 +248,7 @@ SendMethodDialogComponent.decorators = [
226
248
  </div>
227
249
  <div #printItems class="send-method-navigation-content co-small-scrollbar" *ngIf="showPrint">
228
250
  <co-send-method-printer
251
+ #printerComponent
229
252
  [isPrinterLayoutsEnabled]="isPrinterLayoutsEnabled"
230
253
  [printerList]="printerList"
231
254
  [layouts]="printLayouts"
@@ -235,20 +258,25 @@ SendMethodDialogComponent.decorators = [
235
258
  [pdfDoc]="pdfDoc"
236
259
  [disablePdfPreview]="disablePdfPreview"
237
260
  [defaultPrinter]="defaultPrinter"
238
- (additionalFileChangeEvent)="additionalFileChangeEvent.emit($event)"
239
- (showFilePreview)="showFilePreview.emit($event)"
261
+ (additionalFileChangeEvent)="handleAdditionalFileSaved($event)"
262
+ (showFilePreview)="showFilePreview.emit($event)"
240
263
  (loadDefaultPrinterName)="loadDefaultPrinterName.emit($event)"
241
264
  ></co-send-method-printer>
242
265
  </div>
243
266
  <div #emailItems class="send-method-navigation-content co-small-scrollbar" *ngIf="showEmail">
244
267
  <co-send-method-email
268
+ #emailComponent
245
269
  [emailAddresses]="emailAddresses"
246
270
  [layouts]="emailLayouts"
247
271
  [pdfDoc]="pdfDoc"
248
272
  [disablePdfPreview]="disablePdfPreview"
249
273
  [emailUnsignedPossible]="emailUnsignedPossible"
250
274
  (showFilePreview)="showFilePreview.emit($event)"
251
- (loadDefaultPrinterName)="loadDefaultPrinterName.emit($event)">
275
+ (loadDefaultPrinterName)="loadDefaultPrinterName.emit($event)"
276
+ [isAdditionalDocEnabled]="isAdditionalDocEnabled"
277
+ [additionalFileContents]="additionalFileContents"
278
+ [additionalFileName]="additionalFileName"
279
+ (additionalFileChangeEvent)="handleAdditionalFileSaved($event)">
252
280
  </co-send-method-email>
253
281
  </div>
254
282
  <div #ediItems class="send-method-navigation-content co-small-scrollbar" *ngIf="showEdi">
@@ -321,6 +349,8 @@ SendMethodDialogComponent.propDecorators = {
321
349
  webServiceItems: [{ type: ViewChild, args: ['webServiceItems', { read: ElementRef },] }],
322
350
  pdfItems: [{ type: ViewChild, args: ['pdfItems', { read: ElementRef },] }],
323
351
  purchaseItems: [{ type: ViewChild, args: ['purchaseItems', { read: ElementRef },] }],
352
+ printerComponentRef: [{ type: ViewChild, args: ['printerComponent',] }],
353
+ emailComponentRef: [{ type: ViewChild, args: ['emailComponent',] }],
324
354
  printerList: [{ type: Input }],
325
355
  reportingDocumentPrintRequest: [{ type: Input }],
326
356
  reportingDocumentEmailRequest: [{ type: Input }],
@@ -353,4 +383,4 @@ SendMethodDialogComponent.propDecorators = {
353
383
  loadDefaultPrinterName: [{ type: Output }],
354
384
  showClass: [{ type: HostBinding, args: ['class.co-send-method-dialog',] }]
355
385
  };
356
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9JLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBSy9FLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFNbEYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQWlCO0lBQy9DLElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDNUQsSUFBSSxVQUFVLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUM5RCxJQUFJLFVBQVUsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzNELElBQUksVUFBVSxD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VUFBVSxFQUFDO3VCQUcvQyxTQUFTLFNBQUMsVUFBVSxFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQzs0QkFHeEMsU0FBUyxTQUFDLGVBQWUsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7MEJBRzdDLEtBQUs7NENBR0wsS0FBSzs0Q0FHTCxLQUFLOzBDQUdMLEtBQUs7MkJBR0wsS0FBSzsyQkFHTCxLQUFLOzZCQUdMLEtBQUs7MEJBR0wsS0FBSzs2QkFHTCxLQUFLO2dDQUdMLEtBQUs7NkJBR0wsS0FBSzsrQkFHTCxLQUFLO3NCQUdMLEtBQUs7c0NBR0wsS0FBSztxQ0FHTCxLQUFLO2lDQUdMLEtBQUs7cUNBR0wsS0FBSztxQkFHTCxLQUFLO2dDQUdMLEtBQUs7b0NBR0wsS0FBSztvQ0FHTCxLQUFLO2tEQUdMLE1BQU07a0RBR04sTUFBTTtnREFHTixNQUFNO29DQUdOLE1BQU07eUJBR04sTUFBTTtzQkFHTixNQUFNO3dDQUdOLE1BQU07OEJBR04sTUFBTTtxQ0FHTixNQUFNO3dCQUdOLFdBQVcsU0FBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1JlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1lbWFpbC5ibyc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLXByaW50LmJvJztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtcGRmLWJhc2UtcmVxdWVzdCc7XHJcbmltcG9ydCB7U2VuZE1ldGhvZFNlcnZpY2V9IGZyb20gJy4vc2VydmljZS9zZW5kLW1ldGhvZC5zZXJ2aWNlJztcclxuaW1wb3J0IHtTZW5kTWV0aG9kfSBmcm9tICcuLi8uLi9tb2RlbC9zZW5kLW1ldGhvZCc7XHJcbmltcG9ydCB7U2VuZE1ldGhvZFR5cGV9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vc2VuZC1tZXRob2QtdHlwZS5lbnVtJztcclxuaW1wb3J0IHtQcmludGVyfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9wcmludGVyLmJvJztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtZW1haWwtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtcHJpbnQtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudCc7XHJcblxyXG5leHBvcnQgY29uc3Qgc2VuZE1ldGhvZHNXaXRoSWNvbjogU2VuZE1ldGhvZFtdID0gW1xyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLkZheCwgXCJGYXhcIiwgSWNvbi5QcmludFJlZ3VsYXIpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLlByaW50LCBcIlByaW50XCIsIEljb24uUHJpbnRTb2xpZCksXHJcbiAgbmV3IFNlbmRNZXRob2QoU2VuZE1ldGhvZFR5cGUuRW1haWwsIFwiRW1haWxcIiwgSWNvbi5BdFNvbGlkKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5FZGksIFwiRWRpXCIsIEljb24uRmlsZUV4cG9ydFNvbGlkKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5FbWFpbFRlbXBsYXRlLCBcIkVtYWlsIHRlbXBsYXRlXCIsIEljb24uRW52ZWxvcGVSZWd1bGFyKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5TbXMsIFwiU21zXCIsIEljb24uTWVzc2FnZVNtc1NvbGlkKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5XZWJTZXJ2aWNlLCBcIldlYnNlcnZpY2VcIiwgSWNvbi5QcmludFJlZ3VsYXIpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLlBkZiwgXCJQZGZcIiwgSWNvbi5QZGYpLFxyXG5dXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLXNlbmQtbWV0aG9kLWRpYWxvZycsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGNvLWRpYWxvZyBpZD1cInNlbmRPcHRpb25zRGlhbG9nXCIgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCIgW2Zvb3RlclRlbXBsYXRlXT1cImZvb3RlclRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJjbG9zZUNsaWNrLmVtaXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLWhlYWRlci10aXRsZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuU2hhcmVTb2xpZClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cImhlYWRlclRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1uYXZpZ2F0aW9uLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzZW5kTWV0aG9kIG9mIHNlbmRNZXRob2RzOyBsZXQgaW5kZXggPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZW5kLWJ1dHRvbi13cmFwcGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiYWN0aXZlU2VuZE1ldGhvZCA/IHNlbmRNZXRob2QuY29kZSA9PT0gYWN0aXZlU2VuZE1ldGhvZC5jb2RlIDogaW5kZXggPT09IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVTZW5kTWV0aG9kQ2xpY2soc2VuZE1ldGhvZClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tYnV0dG9uLXRpdGxlXCIgW3RleHRDb250ZW50XT1cInNlbmRNZXRob2QuZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZW5kLWJ1dHRvbi13cmFwcGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInVzZVB1cmNoYXNlU2VuZE1ldGhvZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImFjdGl2ZVNlbmRNZXRob2Q/LmNvZGUgPT09ICdDT01CSU5FRCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVDb21iaW5lZENsaWNrKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tYnV0dG9uLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidDT01CSU5FRCcgfCBzaGFyZWRMb2NhbGl6ZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1jb250ZW50LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VuZC1tZXRob2RzLXdyYXBwZXJcIj5cclxuXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiAjbmF2aWdhdGlvbkl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi13cmFwcGVyXCIgW2NsYXNzLnNtb290aC1zY3JvbGxpbmddPVwiIXN0YXJ0VXBcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiAjZmF4SXRlbXMgY2xhc3M9XCJzZW5kLW1ldGhvZC1uYXZpZ2F0aW9uLWNvbnRlbnQgY28tc21hbGwtc2Nyb2xsYmFyXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiAjcHJpbnRJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIiAqbmdJZj1cInNob3dQcmludFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLXNlbmQtbWV0aG9kLXByaW50ZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzUHJpbnRlckxheW91dHNFbmFibGVkXT1cImlzUHJpbnRlckxheW91dHNFbmFibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ByaW50ZXJMaXN0XT1cInByaW50ZXJMaXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xheW91dHNdPVwicHJpbnRMYXlvdXRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzQWRkaXRpb25hbERvY0VuYWJsZWRdPVwiaXNBZGRpdGlvbmFsRG9jRW5hYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthZGRpdGlvbmFsRmlsZUNvbnRlbnRzXT1cImFkZGl0aW9uYWxGaWxlQ29udGVudHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWRkaXRpb25hbEZpbGVOYW1lXT1cImFkZGl0aW9uYWxGaWxlTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwZGZEb2NdPVwicGRmRG9jXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVQZGZQcmV2aWV3XT1cImRpc2FibGVQZGZQcmV2aWV3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRQcmludGVyXT1cImRlZmF1bHRQcmludGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQpPVwiYWRkaXRpb25hbEZpbGVDaGFuZ2VFdmVudC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hvd0ZpbGVQcmV2aWV3KT1cInNob3dGaWxlUHJldmlldy5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobG9hZERlZmF1bHRQcmludGVyTmFtZSk9XCJsb2FkRGVmYXVsdFByaW50ZXJOYW1lLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICA+PC9jby1zZW5kLW1ldGhvZC1wcmludGVyPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiAjZW1haWxJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIiAqbmdJZj1cInNob3dFbWFpbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLXNlbmQtbWV0aG9kLWVtYWlsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbWFpbEFkZHJlc3Nlc109XCJlbWFpbEFkZHJlc3Nlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYXlvdXRzXT1cImVtYWlsTGF5b3V0c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwZGZEb2NdPVwicGRmRG9jXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVQZGZQcmV2aWV3XT1cImRpc2FibGVQZGZQcmV2aWV3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtYWlsVW5zaWduZWRQb3NzaWJsZV09XCJlbWFpbFVuc2lnbmVkUG9zc2libGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hvd0ZpbGVQcmV2aWV3KT1cInNob3dGaWxlUHJldmlldy5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobG9hZERlZmF1bHRQcmludGVyTmFtZSk9XCJsb2FkRGVmYXVsdFByaW50ZXJOYW1lLmVtaXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9jby1zZW5kLW1ldGhvZC1lbWFpbD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgI2VkaUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd0VkaVwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgI2VtYWlsVGVtcGxhdGVJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIiAqbmdJZj1cInNob3dFbWFpbFRlbXBsYXRlXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiAjc21zSXRlbXMgY2xhc3M9XCJzZW5kLW1ldGhvZC1uYXZpZ2F0aW9uLWNvbnRlbnQgY28tc21hbGwtc2Nyb2xsYmFyXCIgKm5nSWY9XCJzaG93U21zXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiAjd2ViU2VydmljZUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd1dlYnNlcnZpY2VcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2ICNwZGZJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIiAqbmdJZj1cInNob3dQZGZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxjby1zZW5kLW1ldGhvZC1wZGZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xheW91dHNdPVwicHJpbnRMYXlvdXRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BkZkRvY109XCJwZGZEb2NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZVBkZlByZXZpZXddPVwiZGlzYWJsZVBkZlByZXZpZXdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hvd0ZpbGVQcmV2aWV3KT1cInNob3dGaWxlUHJldmlldy5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobG9hZERlZmF1bHRQcmludGVyTmFtZSk9XCJsb2FkRGVmYXVsdFByaW50ZXJOYW1lLmVtaXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9jby1zZW5kLW1ldGhvZC1wZGY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2ICNwdXJjaGFzZUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwidXNlUHVyY2hhc2VTZW5kTWV0aG9kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8Y28tc2VuZC1tZXRob2QtcHVyY2hhc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtYWlsTGF5b3V0c109XCJlbWFpbExheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcHJpbnRMYXlvdXRzXT1cInByaW50TGF5b3V0c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcmludGVyTGlzdF09XCJwcmludGVyTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0UHJpbnRlck5hbWVdPVwiZGVmYXVsdFByaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobG9hZERlZmF1bHRQcmludGVyTmFtZSk9XCJsb2FkRGVmYXVsdFByaW50ZXJOYW1lLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwdXJjaGFzZU1ldGhvZENoYW5nZWQpPVwiaGFuZGxlUHVyY2hhc2VNZXRob2RDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9jby1zZW5kLW1ldGhvZC1wdXJjaGFzZT5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1mb290ZXItYnV0dG9uLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInNhdmUtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZWNrRHVvdG9uZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVPa0NsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc1NraW5ueSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZUNsaWNrLmVtaXQoJGV2ZW50KVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9jby1kaWFsb2c+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ3NsaWRlSW5PdXQnLCBbXHJcbiAgICAgIHN0YXRlKCcqJywgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCUpJywgd2lkdGg6ICcxMDAlJywgb3BhY2l0eTogJzEnfSkpLFxyXG4gICAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDE1MCUpJywgb3BhY2l0eTogJzAnfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBhbmltYXRlKDI1MCkpXHJcbiAgICBdKVxyXG4gIF1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBTZW5kTWV0aG9kRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBAVmlld0NoaWxkKCduYXZpZ2F0aW9uSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIG5hdmlnYXRpb25JdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZmF4SXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIGZheEl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdwcmludEl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBwcmludEl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdlbWFpbEl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBlbWFpbEl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdlZGlJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgZWRpSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2VtYWlsVGVtcGxhdGVJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgZW1haWxUZW1wbGF0ZUl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdzbXNJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgc21zSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3dlYlNlcnZpY2VJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgd2ViU2VydmljZUl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdwZGZJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgcGRmSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3B1cmNoYXNlSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIHB1cmNoYXNlSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHByaW50ZXJMaXN0OiBQcmludGVyW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRQcmludFJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Q7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50RW1haWxSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudFBkZlJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3Q7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGVtYWlsTGF5b3V0czogUmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWxbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwcmludExheW91dHM6IFJlcG9ydExheW91dFNlbGVjdGlvblByaW50W10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGVmYXVsdFByaW50ZXI6IFByaW50ZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhlYWRlclRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGVtYWlsQWRkcmVzc2VzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkZWZhdWx0U2VuZE1ldGhvZDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2aXNpYmxlTWV0aG9kczogU2VuZE1ldGhvZFR5cGVbXSB8IHN0cmluZ1tdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzRG9jU2lnbkVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZG9jU2lnbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc1ByaW50ZXJMYXlvdXRzRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzQWRkaXRpb25hbERvY0VuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVOYW1lOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVDb250ZW50czogYW55ID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBkZkRvYzogYW55ID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRpc2FibGVQZGZQcmV2aWV3OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGVtYWlsVW5zaWduZWRQb3NzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB1c2VQdXJjaGFzZVNlbmRNZXRob2Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Q+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdENoYW5nZTogRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3Q+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzdGFydFNpZ25hdHVyZUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBjbG9zZUNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBva0NsaWNrOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVDaGFuZ2VFdmVudDogRXZlbnRFbWl0dGVyPENvRG9jdW1lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgc2hvd0ZpbGVQcmV2aWV3OiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgbG9hZERlZmF1bHRQcmludGVyTmFtZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1zZW5kLW1ldGhvZC1kaWFsb2cnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZW5kTWV0aG9kcyA9IHNlbmRNZXRob2RzV2l0aEljb247XHJcbiAgcHVibGljIGFjdGl2ZVNlbmRNZXRob2Q6IFNlbmRNZXRob2Q7XHJcbiAgcHVibGljIHN0YXJ0VXA6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgc2hvd0ZheDogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dQcmludDogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dFbWFpbDogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dFZGk6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93U21zOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd0VtYWlsVGVtcGxhdGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93V2Vic2VydmljZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dQZGY6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgc2VsZWN0ZWRQdXJjaGFzZU1ldGhvZDogYW55ID0ge307XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVQdXJjaGFzZU1ldGhvZENoYW5nZShtZXRob2Q6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZFB1cmNoYXNlTWV0aG9kID0gbWV0aG9kO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NlbmRNZXRob2RTZXJ2aWNlOiBTZW5kTWV0aG9kU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0Q2hhbmdlZC5zdWJzY3JpYmUoKHZhbHVlOiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KSA9PiB0aGlzLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0Q2hhbmdlLm5leHQodmFsdWUpKSxcclxuICAgICAgdGhpcy5fc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdENoYW5nZWQuc3Vic2NyaWJlKCh2YWx1ZTogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCkgPT4gdGhpcy5yZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdENoYW5nZS5uZXh0KHZhbHVlKSksXHJcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3RDaGFuZ2VkLnN1YnNjcmliZSgodmFsdWU6IFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QpID0+IHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0Q2hhbmdlLm5leHQodmFsdWUpKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5yZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdCkge1xyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0ID0gdGhpcy5yZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0KSB7XHJcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QgPSB0aGlzLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0O1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0KSB7XHJcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QgPSB0aGlzLnJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdDtcclxuICAgIH1cclxuICAgIHRoaXMuX2luaXREZWZhdWx0U2VuZE1ldGhvZCgpO1xyXG4gICAgdGhpcy5fcHJlcGFyZVZpc2libGVNZXRob2RzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNpZ25hdHVyZVN0YXJ0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kb2NTaWduID0gIXRoaXMuZG9jU2lnbjtcclxuICAgIHRoaXMuc3RhcnRTaWduYXR1cmVDbGlja2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDb21iaW5lZENsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmVTZW5kTWV0aG9kID0geyBjb2RlOiBcIkNPTUJJTkVEXCIsIGRlc2NyaXB0aW9uOiAnQ09NQklORUQnLCBpY29uOiBJY29uLkFjY291bnQgfSBhcyB1bmtub3duIGFzIFNlbmRNZXRob2Q7XHJcbiAgICBpZiAodGhpcy5wdXJjaGFzZUl0ZW1zICYmIHRoaXMubmF2aWdhdGlvbkl0ZW1zKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9XHJcbiAgICAgICAgdGhpcy5wdXJjaGFzZUl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVPa0NsaWNrKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlU2VuZE1ldGhvZCAmJiB0aGlzLmFjdGl2ZVNlbmRNZXRob2QuY29kZS50b1N0cmluZygpID09PSBcIkNPTUJJTkVEXCIpIHtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWRNZXRob2REYXRhID0ge1xyXG4gICAgICAgIHNlbmRNZXRob2Q6IHRoaXMuYWN0aXZlU2VuZE1ldGhvZC5jb2RlLnRvU3RyaW5nKCksXHJcbiAgICAgICAgLi4udGhpcy5zZWxlY3RlZFB1cmNoYXNlTWV0aG9kXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMub2tDbGljay5lbWl0KHNlbGVjdGVkTWV0aG9kRGF0YSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9rQ2xpY2suZW1pdCh0aGlzLmFjdGl2ZVNlbmRNZXRob2QgPyB0aGlzLmFjdGl2ZVNlbmRNZXRob2QuY29kZSA6ICcwJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2VuZE1ldGhvZENsaWNrKHNlbmRNZXRob2Q6IFNlbmRNZXRob2QpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlU2VuZE1ldGhvZCA9IHNlbmRNZXRob2Q7XHJcbiAgICBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5GYXggJiYgdGhpcy5zaG93RmF4KSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuZmF4SXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlByaW50ICYmIHRoaXMuc2hvd1ByaW50KSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMucHJpbnRJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRW1haWwgJiYgdGhpcy5zaG93RW1haWwpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5lbWFpbEl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FZGkgJiYgdGhpcy5zaG93RWRpKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuZWRpSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVtYWlsVGVtcGxhdGUgJiYgdGhpcy5zaG93RW1haWxUZW1wbGF0ZSkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLmVtYWlsVGVtcGxhdGVJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuU21zICYmIHRoaXMuc2hvd1Ntcykge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLnNtc0l0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5XZWJTZXJ2aWNlICYmIHRoaXMuc2hvd1dlYnNlcnZpY2UpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy53ZWJTZXJ2aWNlSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlBkZiAmJiB0aGlzLnNob3dQZGYpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5wZGZJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuYWN0aXZlU2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5QcmludCkge1xyXG4gICAgICB0aGlzLnNob3dGaWxlUHJldmlldy5lbWl0KHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQcmludFJlcXVlc3QucmVwb3J0SWQpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmFjdGl2ZVNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRW1haWwpIHtcclxuICAgICAgdGhpcy5zaG93RmlsZVByZXZpZXcuZW1pdCh0aGlzLnJlcG9ydGluZ0RvY3VtZW50RW1haWxSZXF1ZXN0LnJlcG9ydElkKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5hY3RpdmVTZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlBkZikge1xyXG4gICAgICB0aGlzLnNob3dGaWxlUHJldmlldy5lbWl0KHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0LnJlcG9ydElkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2luaXREZWZhdWx0U2VuZE1ldGhvZCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnVzZVB1cmNoYXNlU2VuZE1ldGhvZCkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmhhbmRsZUNvbWJpbmVkQ2xpY2soKTtcclxuICAgICAgICB0aGlzLnN0YXJ0VXAgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kZWZhdWx0U2VuZE1ldGhvZCkge1xyXG4gICAgICB0aGlzLl9zZWxlY3REZWZhdWx0U2VuZE1ldGhvZCgpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnZpc2libGVNZXRob2RzICYmIHRoaXMudmlzaWJsZU1ldGhvZHMubGVuZ3RoID49IDEpIHtcclxuICAgICAgdGhpcy5kZWZhdWx0U2VuZE1ldGhvZCA9IHRoaXMudmlzaWJsZU1ldGhvZHNbMF07XHJcbiAgICAgIHRoaXMuX3NlbGVjdERlZmF1bHRTZW5kTWV0aG9kKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdGFydFVwID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHByaXZhdGUgX3NlbGVjdERlZmF1bHRTZW5kTWV0aG9kKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc2VuZE1ldGhvZDogU2VuZE1ldGhvZCA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSB0aGlzLmRlZmF1bHRTZW5kTWV0aG9kKTtcclxuICAgIGlmIChzZW5kTWV0aG9kKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlU2VuZE1ldGhvZENsaWNrKHNlbmRNZXRob2QpO1xyXG4gICAgICAgIHRoaXMuc3RhcnRVcCA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVWaXNpYmxlTWV0aG9kcygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnVzZVB1cmNoYXNlU2VuZE1ldGhvZCkge1xyXG4gICAgICB0aGlzLnNlbmRNZXRob2RzID0gW107IC8vIEhpZGUgYWxsIHN0YW5kYXJkIG1ldGhvZHNcclxuICAgICAgdGhpcy5zaG93RmF4ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2hvd1ByaW50ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2hvd0VtYWlsID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2hvd0VkaSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnNob3dFbWFpbFRlbXBsYXRlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2hvd1NtcyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnNob3dXZWJzZXJ2aWNlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2hvd1BkZiA9IGZhbHNlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMudmlzaWJsZU1ldGhvZHMgJiYgdGhpcy52aXNpYmxlTWV0aG9kcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuc2VuZE1ldGhvZHMgPSB0aGlzLnNlbmRNZXRob2RzLmZpbHRlcihzbSA9PiB0aGlzLnZpc2libGVNZXRob2RzLmZpbmQodm0gPT4gdm0gPT09IHNtLmNvZGUpKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNob3dGYXggPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRmF4KSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93UHJpbnQgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuUHJpbnQpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dFbWFpbCA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbCkgIT09IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd0VkaSA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FZGkpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dFbWFpbFRlbXBsYXRlID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVtYWlsVGVtcGxhdGUpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dTbXMgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuU21zKSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93V2Vic2VydmljZSA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5XZWJTZXJ2aWNlKSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93UGRmID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlBkZikgIT09IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
386
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9JLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBSy9FLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFRbEYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQWlCO0lBQy9DLElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDNUQsSUFBSSxVQUFVLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUM5RCxJQUFJLFVBQVUsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzNELElBQUksVUFBVSxD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R0wsS0FBSzsyQkFHTCxLQUFLOzZCQUdMLEtBQUs7MEJBR0wsS0FBSzs2QkFHTCxLQUFLO2dDQUdMLEtBQUs7NkJBR0wsS0FBSzsrQkFHTCxLQUFLO3NCQUdMLEtBQUs7c0NBR0wsS0FBSztxQ0FHTCxLQUFLO2lDQUdMLEtBQUs7cUNBR0wsS0FBSztxQkFHTCxLQUFLO2dDQUdMLEtBQUs7b0NBR0wsS0FBSztvQ0FHTCxLQUFLO2tEQUdMLE1BQU07a0RBR04sTUFBTTtnREFHTixNQUFNO29DQUdOLE1BQU07eUJBR04sTUFBTTtzQkFHTixNQUFNO3dDQUdOLE1BQU07OEJBR04sTUFBTTtxQ0FHTixNQUFNO3dCQUdOLFdBQVcsU0FBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1JlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1lbWFpbC5ibyc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLXByaW50LmJvJztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtcGRmLWJhc2UtcmVxdWVzdCc7XHJcbmltcG9ydCB7U2VuZE1ldGhvZFNlcnZpY2V9IGZyb20gJy4vc2VydmljZS9zZW5kLW1ldGhvZC5zZXJ2aWNlJztcclxuaW1wb3J0IHtTZW5kTWV0aG9kfSBmcm9tICcuLi8uLi9tb2RlbC9zZW5kLW1ldGhvZCc7XHJcbmltcG9ydCB7U2VuZE1ldGhvZFR5cGV9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vc2VuZC1tZXRob2QtdHlwZS5lbnVtJztcclxuaW1wb3J0IHtQcmludGVyfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9wcmludGVyLmJvJztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtZW1haWwtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtcHJpbnQtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudCc7XHJcbmltcG9ydCB7U2VuZE1ldGhvZFByaW50ZXJDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtcHJpbnRlci9zZW5kLW1ldGhvZC1wcmludGVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NlbmRNZXRob2RFbWFpbENvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9zZW5kLW1ldGhvZC1lbWFpbC9zZW5kLW1ldGhvZC1lbWFpbC5jb21wb25lbnRcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBzZW5kTWV0aG9kc1dpdGhJY29uOiBTZW5kTWV0aG9kW10gPSBbXHJcbiAgbmV3IFNlbmRNZXRob2QoU2VuZE1ldGhvZFR5cGUuRmF4LCBcIkZheFwiLCBJY29uLlByaW50UmVndWxhciksXHJcbiAgbmV3IFNlbmRNZXRob2QoU2VuZE1ldGhvZFR5cGUuUHJpbnQsIFwiUHJpbnRcIiwgSWNvbi5QcmludFNvbGlkKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5FbWFpbCwgXCJFbWFpbFwiLCBJY29uLkF0U29saWQpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLkVkaSwgXCJFZGlcIiwgSWNvbi5GaWxlRXhwb3J0U29saWQpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLkVtYWlsVGVtcGxhdGUsIFwiRW1haWwgdGVtcGxhdGVcIiwgSWNvbi5FbnZlbG9wZVJlZ3VsYXIpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLlNtcywgXCJTbXNcIiwgSWNvbi5NZXNzYWdlU21zU29saWQpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLldlYlNlcnZpY2UsIFwiV2Vic2VydmljZVwiLCBJY29uLlByaW50UmVndWxhciksXHJcbiAgbmV3IFNlbmRNZXRob2QoU2VuZE1ldGhvZFR5cGUuUGRmLCBcIlBkZlwiLCBJY29uLlBkZiksXHJcbl1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tc2VuZC1tZXRob2QtZGlhbG9nJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8Y28tZGlhbG9nIGlkPVwic2VuZE9wdGlvbnNEaWFsb2dcIiBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIiBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgIChjbG9zZUNsaWNrKT1cImNsb3NlQ2xpY2suZW1pdCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5TaGFyZVNvbGlkKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1oZWFkZXItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiaGVhZGVyVGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLW5hdmlnYXRpb24td3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHNlbmRNZXRob2Qgb2Ygc2VuZE1ldGhvZHM7IGxldCBpbmRleCA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNlbmQtYnV0dG9uLXdyYXBwZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJhY3RpdmVTZW5kTWV0aG9kID8gc2VuZE1ldGhvZC5jb2RlID09PSBhY3RpdmVTZW5kTWV0aG9kLmNvZGUgOiBpbmRleCA9PT0gMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVNlbmRNZXRob2RDbGljayhzZW5kTWV0aG9kKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1idXR0b24tdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwic2VuZE1ldGhvZC5kZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbmQtYnV0dG9uLXdyYXBwZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidXNlUHVyY2hhc2VTZW5kTWV0aG9kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiYWN0aXZlU2VuZE1ldGhvZD8uY29kZSA9PT0gJ0NPTUJJTkVEJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNvbWJpbmVkQ2xpY2soKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1idXR0b24tdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiJ0NPTUJJTkVEJyB8IHNoYXJlZExvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZW5kLW1ldGhvZHMtd3JhcHBlclwiPlxyXG5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2ICNuYXZpZ2F0aW9uSXRlbXMgY2xhc3M9XCJzZW5kLW1ldGhvZC1uYXZpZ2F0aW9uLXdyYXBwZXJcIiBbY2xhc3Muc21vb3RoLXNjcm9sbGluZ109XCIhc3RhcnRVcFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2ICNmYXhJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2ICNwcmludEl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd1ByaW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8Y28tc2VuZC1tZXRob2QtcHJpbnRlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAjcHJpbnRlckNvbXBvbmVudFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNQcmludGVyTGF5b3V0c0VuYWJsZWRdPVwiaXNQcmludGVyTGF5b3V0c0VuYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcHJpbnRlckxpc3RdPVwicHJpbnRlckxpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGF5b3V0c109XCJwcmludExheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNBZGRpdGlvbmFsRG9jRW5hYmxlZF09XCJpc0FkZGl0aW9uYWxEb2NFbmFibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FkZGl0aW9uYWxGaWxlQ29udGVudHNdPVwiYWRkaXRpb25hbEZpbGVDb250ZW50c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthZGRpdGlvbmFsRmlsZU5hbWVdPVwiYWRkaXRpb25hbEZpbGVOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BkZkRvY109XCJwZGZEb2NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZVBkZlByZXZpZXddPVwiZGlzYWJsZVBkZlByZXZpZXdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdFByaW50ZXJdPVwiZGVmYXVsdFByaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQpPVwiaGFuZGxlQWRkaXRpb25hbEZpbGVTYXZlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzaG93RmlsZVByZXZpZXcpPVwic2hvd0ZpbGVQcmV2aWV3LmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsb2FkRGVmYXVsdFByaW50ZXJOYW1lKT1cImxvYWREZWZhdWx0UHJpbnRlck5hbWUuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgID48L2NvLXNlbmQtbWV0aG9kLXByaW50ZXI+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2ICNlbWFpbEl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd0VtYWlsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8Y28tc2VuZC1tZXRob2QtZW1haWxcclxuICAgICAgICAgICAgICAgICAgICAgICAgI2VtYWlsQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbWFpbEFkZHJlc3Nlc109XCJlbWFpbEFkZHJlc3Nlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYXlvdXRzXT1cImVtYWlsTGF5b3V0c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwZGZEb2NdPVwicGRmRG9jXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVQZGZQcmV2aWV3XT1cImRpc2FibGVQZGZQcmV2aWV3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtYWlsVW5zaWduZWRQb3NzaWJsZV09XCJlbWFpbFVuc2lnbmVkUG9zc2libGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hvd0ZpbGVQcmV2aWV3KT1cInNob3dGaWxlUHJldmlldy5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxvYWREZWZhdWx0UHJpbnRlck5hbWUpPVwibG9hZERlZmF1bHRQcmludGVyTmFtZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzQWRkaXRpb25hbERvY0VuYWJsZWRdPVwiaXNBZGRpdGlvbmFsRG9jRW5hYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWRkaXRpb25hbEZpbGVDb250ZW50c109XCJhZGRpdGlvbmFsRmlsZUNvbnRlbnRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthZGRpdGlvbmFsRmlsZU5hbWVdPVwiYWRkaXRpb25hbEZpbGVOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhZGRpdGlvbmFsRmlsZUNoYW5nZUV2ZW50KT1cImhhbmRsZUFkZGl0aW9uYWxGaWxlU2F2ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9jby1zZW5kLW1ldGhvZC1lbWFpbD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgI2VkaUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd0VkaVwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgI2VtYWlsVGVtcGxhdGVJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIiAqbmdJZj1cInNob3dFbWFpbFRlbXBsYXRlXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiAjc21zSXRlbXMgY2xhc3M9XCJzZW5kLW1ldGhvZC1uYXZpZ2F0aW9uLWNvbnRlbnQgY28tc21hbGwtc2Nyb2xsYmFyXCIgKm5nSWY9XCJzaG93U21zXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiAjd2ViU2VydmljZUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd1dlYnNlcnZpY2VcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2ICNwZGZJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIiAqbmdJZj1cInNob3dQZGZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxjby1zZW5kLW1ldGhvZC1wZGZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xheW91dHNdPVwicHJpbnRMYXlvdXRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BkZkRvY109XCJwZGZEb2NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZVBkZlByZXZpZXddPVwiZGlzYWJsZVBkZlByZXZpZXdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hvd0ZpbGVQcmV2aWV3KT1cInNob3dGaWxlUHJldmlldy5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobG9hZERlZmF1bHRQcmludGVyTmFtZSk9XCJsb2FkRGVmYXVsdFByaW50ZXJOYW1lLmVtaXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9jby1zZW5kLW1ldGhvZC1wZGY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2ICNwdXJjaGFzZUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwidXNlUHVyY2hhc2VTZW5kTWV0aG9kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8Y28tc2VuZC1tZXRob2QtcHVyY2hhc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtYWlsTGF5b3V0c109XCJlbWFpbExheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcHJpbnRMYXlvdXRzXT1cInByaW50TGF5b3V0c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcmludGVyTGlzdF09XCJwcmludGVyTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0UHJpbnRlck5hbWVdPVwiZGVmYXVsdFByaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobG9hZERlZmF1bHRQcmludGVyTmFtZSk9XCJsb2FkRGVmYXVsdFByaW50ZXJOYW1lLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwdXJjaGFzZU1ldGhvZENoYW5nZWQpPVwiaGFuZGxlUHVyY2hhc2VNZXRob2RDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9jby1zZW5kLW1ldGhvZC1wdXJjaGFzZT5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1mb290ZXItYnV0dG9uLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInNhdmUtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZWNrRHVvdG9uZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVPa0NsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc1NraW5ueSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZUNsaWNrLmVtaXQoJGV2ZW50KVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9jby1kaWFsb2c+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ3NsaWRlSW5PdXQnLCBbXHJcbiAgICAgIHN0YXRlKCcqJywgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCUpJywgd2lkdGg6ICcxMDAlJywgb3BhY2l0eTogJzEnfSkpLFxyXG4gICAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDE1MCUpJywgb3BhY2l0eTogJzAnfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBhbmltYXRlKDI1MCkpXHJcbiAgICBdKVxyXG4gIF1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBTZW5kTWV0aG9kRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBAVmlld0NoaWxkKCduYXZpZ2F0aW9uSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIG5hdmlnYXRpb25JdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZmF4SXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIGZheEl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdwcmludEl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBwcmludEl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdlbWFpbEl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBlbWFpbEl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdlZGlJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgZWRpSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2VtYWlsVGVtcGxhdGVJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgZW1haWxUZW1wbGF0ZUl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdzbXNJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgc21zSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3dlYlNlcnZpY2VJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgd2ViU2VydmljZUl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdwZGZJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgcGRmSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3B1cmNoYXNlSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIHB1cmNoYXNlSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3ByaW50ZXJDb21wb25lbnQnKVxyXG4gIHB1YmxpYyBwcmludGVyQ29tcG9uZW50UmVmOiBTZW5kTWV0aG9kUHJpbnRlckNvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZW1haWxDb21wb25lbnQnKVxyXG4gIHB1YmxpYyBlbWFpbENvbXBvbmVudFJlZjogU2VuZE1ldGhvZEVtYWlsQ29tcG9uZW50O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwcmludGVyTGlzdDogUHJpbnRlcltdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBlbWFpbExheW91dHM6IFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcHJpbnRMYXlvdXRzOiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludFtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRlZmF1bHRQcmludGVyOiBQcmludGVyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBoZWFkZXJUaXRsZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBlbWFpbEFkZHJlc3Nlczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGVmYXVsdFNlbmRNZXRob2Q6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdmlzaWJsZU1ldGhvZHM6IFNlbmRNZXRob2RUeXBlW10gfCBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc0RvY1NpZ25FbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRvY1NpZ246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNQcmludGVyTGF5b3V0c0VuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc0FkZGl0aW9uYWxEb2NFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFkZGl0aW9uYWxGaWxlTmFtZTogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFkZGl0aW9uYWxGaWxlQ29udGVudHM6IGFueSA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwZGZEb2M6IGFueSA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkaXNhYmxlUGRmUHJldmlldzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBlbWFpbFVuc2lnbmVkUG9zc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdXNlUHVyY2hhc2VTZW5kTWV0aG9kOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdENoYW5nZTogRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3RDaGFuZ2U6IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdENoYW5nZTogRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgc3RhcnRTaWduYXR1cmVDbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2xvc2VDbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb2tDbGljazogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQ6IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHNob3dGaWxlUHJldmlldzogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGxvYWREZWZhdWx0UHJpbnRlck5hbWU6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tc2VuZC1tZXRob2QtZGlhbG9nJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VuZE1ldGhvZHMgPSBzZW5kTWV0aG9kc1dpdGhJY29uO1xyXG4gIHB1YmxpYyBhY3RpdmVTZW5kTWV0aG9kOiBTZW5kTWV0aG9kO1xyXG4gIHB1YmxpYyBzdGFydFVwOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcHVibGljIHNob3dGYXg6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93UHJpbnQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93RW1haWw6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93RWRpOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd1NtczogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dFbWFpbFRlbXBsYXRlOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd1dlYnNlcnZpY2U6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93UGRmOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcHVibGljIHNlbGVjdGVkUHVyY2hhc2VNZXRob2Q6IGFueSA9IHt9O1xyXG4gIHB1YmxpYyBhZGRpdGlvbmFsRmlsZUhhc0JlZW5TYXZlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgaGFuZGxlUHVyY2hhc2VNZXRob2RDaGFuZ2UobWV0aG9kOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRQdXJjaGFzZU1ldGhvZCA9IG1ldGhvZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZW5kTWV0aG9kU2VydmljZTogU2VuZE1ldGhvZFNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgdGhpcy5fc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdENoYW5nZWQuc3Vic2NyaWJlKCh2YWx1ZTogUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCkgPT4gdGhpcy5yZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdENoYW5nZS5uZXh0KHZhbHVlKSksXHJcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3RDaGFuZ2VkLnN1YnNjcmliZSgodmFsdWU6IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QpID0+IHRoaXMucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3RDaGFuZ2UubmV4dCh2YWx1ZSkpLFxyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0Q2hhbmdlZC5zdWJzY3JpYmUoKHZhbHVlOiBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0KSA9PiB0aGlzLnJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdENoYW5nZS5uZXh0KHZhbHVlKSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3QpIHtcclxuICAgICAgdGhpcy5fc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCA9IHRoaXMucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3Q7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5yZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdCkge1xyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0ID0gdGhpcy5yZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdCkge1xyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0ID0gdGhpcy5yZXBvcnRpbmdEb2N1bWVudFBkZlJlcXVlc3Q7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9pbml0RGVmYXVsdFNlbmRNZXRob2QoKTtcclxuICAgIHRoaXMuX3ByZXBhcmVWaXNpYmxlTWV0aG9kcygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmZvckVhY2goc3Vic2NyaXB0aW9uID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTaWduYXR1cmVTdGFydCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZG9jU2lnbiA9ICF0aGlzLmRvY1NpZ247XHJcbiAgICB0aGlzLnN0YXJ0U2lnbmF0dXJlQ2xpY2tlZC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ29tYmluZWRDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlU2VuZE1ldGhvZCA9IHsgY29kZTogXCJDT01CSU5FRFwiLCBkZXNjcmlwdGlvbjogJ0NPTUJJTkVEJywgaWNvbjogSWNvbi5BY2NvdW50IH0gYXMgdW5rbm93biBhcyBTZW5kTWV0aG9kO1xyXG4gICAgaWYgKHRoaXMucHVyY2hhc2VJdGVtcyAmJiB0aGlzLm5hdmlnYXRpb25JdGVtcykge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPVxyXG4gICAgICAgIHRoaXMucHVyY2hhc2VJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQWRkaXRpb25hbEZpbGVTYXZlZChmaWxlOiBDb0RvY3VtZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLmFkZGl0aW9uYWxGaWxlSGFzQmVlblNhdmVkID0gdHJ1ZTtcclxuICAgIHRoaXMuYWRkaXRpb25hbEZpbGVDaGFuZ2VFdmVudC5lbWl0KGZpbGUpO1xyXG4gICAgdGhpcy5fY29udGludWVIYW5kbGVPa0NsaWNrKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlT2tDbGljaygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzQWRkaXRpb25hbERvY0VuYWJsZWQgJiYgIXRoaXMuYWRkaXRpb25hbEZpbGVIYXNCZWVuU2F2ZWQpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuYWN0aXZlU2VuZE1ldGhvZD8uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuUHJpbnQgJiZcclxuICAgICAgICB0aGlzLnByaW50ZXJDb21wb25lbnRSZWY/LmlzQWRkaXRpb25hbEZpbGVBY3RpdmUoKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnByaW50ZXJDb21wb25lbnRSZWYub3BlbkFkZGl0aW9uYWxGaWxlRGlhbG9nKCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5hY3RpdmVTZW5kTWV0aG9kPy5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbCAmJlxyXG4gICAgICAgIHRoaXMuZW1haWxDb21wb25lbnRSZWY/LmlzQWRkaXRpb25hbEZpbGVBY3RpdmUoKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLmVtYWlsQ29tcG9uZW50UmVmLm9wZW5BZGRpdGlvbmFsRmlsZURpYWxvZygpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2NvbnRpbnVlSGFuZGxlT2tDbGljaygpO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgX2NvbnRpbnVlSGFuZGxlT2tDbGljaygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmFjdGl2ZVNlbmRNZXRob2QgJiYgdGhpcy5hY3RpdmVTZW5kTWV0aG9kLmNvZGUudG9TdHJpbmcoKSA9PT0gXCJDT01CSU5FRFwiKSB7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkTWV0aG9kRGF0YSA9IHtcclxuICAgICAgICBzZW5kTWV0aG9kOiB0aGlzLmFjdGl2ZVNlbmRNZXRob2QuY29kZS50b1N0cmluZygpLFxyXG4gICAgICAgIC4uLnRoaXMuc2VsZWN0ZWRQdXJjaGFzZU1ldGhvZFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLm9rQ2xpY2suZW1pdChzZWxlY3RlZE1ldGhvZERhdGEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5va0NsaWNrLmVtaXQodGhpcy5hY3RpdmVTZW5kTWV0aG9kID8gdGhpcy5hY3RpdmVTZW5kTWV0aG9kLmNvZGUgOiAnMCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNlbmRNZXRob2RDbGljayhzZW5kTWV0aG9kOiBTZW5kTWV0aG9kKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZVNlbmRNZXRob2QgPSBzZW5kTWV0aG9kO1xyXG4gICAgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRmF4ICYmIHRoaXMuc2hvd0ZheCkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLmZheEl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5QcmludCAmJiB0aGlzLnNob3dQcmludCkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLnByaW50SXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVtYWlsICYmIHRoaXMuc2hvd0VtYWlsKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuZW1haWxJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRWRpICYmIHRoaXMuc2hvd0VkaSkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLmVkaUl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbFRlbXBsYXRlICYmIHRoaXMuc2hvd0VtYWlsVGVtcGxhdGUpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5lbWFpbFRlbXBsYXRlSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlNtcyAmJiB0aGlzLnNob3dTbXMpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5zbXNJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuV2ViU2VydmljZSAmJiB0aGlzLnNob3dXZWJzZXJ2aWNlKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMud2ViU2VydmljZUl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5QZGYgJiYgdGhpcy5zaG93UGRmKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMucGRmSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmFjdGl2ZVNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuUHJpbnQpIHtcclxuICAgICAgdGhpcy5zaG93RmlsZVByZXZpZXcuZW1pdCh0aGlzLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0LnJlcG9ydElkKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5hY3RpdmVTZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVtYWlsKSB7XHJcbiAgICAgIHRoaXMuc2hvd0ZpbGVQcmV2aWV3LmVtaXQodGhpcy5yZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdC5yZXBvcnRJZCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aXZlU2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5QZGYpIHtcclxuICAgICAgdGhpcy5zaG93RmlsZVByZXZpZXcuZW1pdCh0aGlzLnJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdC5yZXBvcnRJZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pbml0RGVmYXVsdFNlbmRNZXRob2QoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy51c2VQdXJjaGFzZVNlbmRNZXRob2QpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVDb21iaW5lZENsaWNrKCk7XHJcbiAgICAgICAgdGhpcy5zdGFydFVwID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZGVmYXVsdFNlbmRNZXRob2QpIHtcclxuICAgICAgdGhpcy5fc2VsZWN0RGVmYXVsdFNlbmRNZXRob2QoKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy52aXNpYmxlTWV0aG9kcyAmJiB0aGlzLnZpc2libGVNZXRob2RzLmxlbmd0aCA+PSAxKSB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdFNlbmRNZXRob2QgPSB0aGlzLnZpc2libGVNZXRob2RzWzBdO1xyXG4gICAgICB0aGlzLl9zZWxlY3REZWZhdWx0U2VuZE1ldGhvZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3RhcnRVcCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBwcml2YXRlIF9zZWxlY3REZWZhdWx0U2VuZE1ldGhvZCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHNlbmRNZXRob2Q6IFNlbmRNZXRob2QgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gdGhpcy5kZWZhdWx0U2VuZE1ldGhvZCk7XHJcbiAgICBpZiAoc2VuZE1ldGhvZCkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmhhbmRsZVNlbmRNZXRob2RDbGljayhzZW5kTWV0aG9kKTtcclxuICAgICAgICB0aGlzLnN0YXJ0VXAgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wcmVwYXJlVmlzaWJsZU1ldGhvZHMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy51c2VQdXJjaGFzZVNlbmRNZXRob2QpIHtcclxuICAgICAgdGhpcy5zZW5kTWV0aG9kcyA9IFtdOyAvLyBIaWRlIGFsbCBzdGFuZGFyZCBtZXRob2RzXHJcbiAgICAgIHRoaXMuc2hvd0ZheCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnNob3dQcmludCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnNob3dFbWFpbCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnNob3dFZGkgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zaG93RW1haWxUZW1wbGF0ZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnNob3dTbXMgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zaG93V2Vic2VydmljZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnNob3dQZGYgPSBmYWxzZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnZpc2libGVNZXRob2RzICYmIHRoaXMudmlzaWJsZU1ldGhvZHMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLnNlbmRNZXRob2RzID0gdGhpcy5zZW5kTWV0aG9kcy5maWx0ZXIoc20gPT4gdGhpcy52aXNpYmxlTWV0aG9kcy5maW5kKHZtID0+IHZtID09PSBzbS5jb2RlKSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zaG93RmF4ID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkZheCkgIT09IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd1ByaW50ID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlByaW50KSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93RW1haWwgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRW1haWwpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dFZGkgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRWRpKSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93RW1haWxUZW1wbGF0ZSA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbFRlbXBsYXRlKSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93U21zID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlNtcykgIT09IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd1dlYnNlcnZpY2UgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuV2ViU2VydmljZSkgIT09IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd1BkZiA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5QZGYpICE9PSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -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