barsa-sap-ui 1.0.359 → 1.0.360

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 (29) hide show
  1. package/esm2020/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +44 -0
  2. package/esm2020/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +26 -13
  3. package/esm2020/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +29 -0
  4. package/esm2020/lib/barsa-sap-ui.module.mjs +19 -17
  5. package/esm2020/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +10 -3
  6. package/esm2020/lib/index.mjs +6 -2
  7. package/esm2020/lib/ly-label/ly-label.component.mjs +3 -3
  8. package/esm2020/lib/report-view-renderer.directive.mjs +11 -2
  9. package/esm2020/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +4 -3
  10. package/esm2020/lib/ui-grid/ui-grid.component.mjs +3 -3
  11. package/esm2020/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +3 -3
  12. package/esm2020/lib/ui-report-container/ui-report-container.component.mjs +3 -3
  13. package/esm2020/lib/ui-tinymce/ui-tinymce.component.mjs +3 -3
  14. package/esm2020/public-api.mjs +3 -1
  15. package/fesm2015/barsa-sap-ui.mjs +225 -147
  16. package/fesm2015/barsa-sap-ui.mjs.map +1 -1
  17. package/fesm2020/barsa-sap-ui.mjs +225 -147
  18. package/fesm2020/barsa-sap-ui.mjs.map +1 -1
  19. package/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.d.ts +13 -0
  20. package/lib/barsa-list-file-linear/barsa-list-file-linear.component.d.ts +9 -0
  21. package/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.d.ts +8 -0
  22. package/lib/barsa-sap-ui.module.d.ts +29 -27
  23. package/lib/barsa-tinyemce/barsa-tinyemce.component.d.ts +4 -3
  24. package/lib/index.d.ts +2 -1
  25. package/lib/report-view-renderer.directive.d.ts +4 -1
  26. package/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.d.ts +2 -0
  27. package/lib/ui-tinymce/ui-tinymce.component.d.ts +6 -1
  28. package/package.json +1 -1
  29. package/public-api.d.ts +2 -0
@@ -1,6 +1,6 @@
1
1
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { BaseComponent, BarsaApi, getUniqueId, isFunction, UploadService } from 'barsa-novin-ray-core';
3
2
  import { concatMap, takeUntil, tap } from 'rxjs';
3
+ import { BaseComponent, BarsaApi, getUniqueId, isFunction, UploadService } from 'barsa-novin-ray-core';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "barsa-novin-ray-core";
6
6
  import * as i2 from "@fundamental-ngx/core/file-uploader";
@@ -70,6 +70,7 @@ export class BarsaTinyemceComponent extends BaseComponent {
70
70
  this.tinyMCEConfig.height = '100%';
71
71
  this.tinyMCEConfig.width = '100%';
72
72
  this.tinyMCEConfig.selector = '#' + this.tinyHostId;
73
+ this.tinyMCEConfig.placeholder = this.Setting.ControlFieldCaptionTranslated;
73
74
  this.tinyMCEConfig.content_css = 'assets/Resources/fonts/Iran.css';
74
75
  this.tinyMCEConfig.directionality = 'rtl';
75
76
  this.tinyMCEConfig.language = 'fa_IR';
@@ -79,10 +80,14 @@ export class BarsaTinyemceComponent extends BaseComponent {
79
80
  this.tinyMCEConfig.defaultFontSize = '12px';
80
81
  this.tinyMCEConfig.statusbar = false;
81
82
  this.tinyMCEConfig.inline = false;
83
+ this.tinyMCEConfig.menubar = !this.IsInline;
82
84
  this.tinyMCEConfig.theme_advanced_resizing = true;
85
+ this.tinyMCEConfig.toolbar_mode = 'floating';
86
+ this.tinyMCEConfig.toolbar_location = 'bottom';
83
87
  this.tinyMCEConfig.font_family_formats =
84
88
  'BarsaFont=BarsaFont;Arial=arial,helvetica,sans-serif; Courier New=courier new,courier,monospace;';
85
89
  this.tinyMCEConfig.font_size_formats = '8pt 10pt 12pt 14pt 18pt 24pt 36pt';
90
+ this.tinyMCEConfig.toolbar_mode = 'scrolling';
86
91
  this.tinyMCEConfig.plugins = [
87
92
  'advlist',
88
93
  'anchor',
@@ -382,7 +387,7 @@ export class BarsaTinyemceComponent extends BaseComponent {
382
387
  }
383
388
  }
384
389
  BarsaTinyemceComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaTinyemceComponent, deps: [{ token: i1.UploadService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
385
- BarsaTinyemceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: BarsaTinyemceComponent, selector: "bsu-barsa-tinyemce", inputs: { Setting: "Setting", isReadonly: "isReadonly", value: "value", defaultVerbs: "defaultVerbs" }, outputs: { valueChange: "valueChange", tinyInit: "tinyInit" }, providers: [UploadService], viewQueries: [{ propertyName: "_uploader", first: true, predicate: ["uploader"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"fd-input tinywrapper\" [style.min-height.px]=\"height\" [id]=\"tinyHostId\"></div>\n<fd-file-uploader\n #uploader\n [style.display]=\"'none'\"\n [accept]=\"''\"\n [multiple]=\"false\"\n (selectedFilesChanged)=\"onFileSelection($event)\"\n></fd-file-uploader>\n<!-- <textarea [id]=\"tinyHostId\" style=\"height: 100%; visibility: hidden\"></textarea> -->\n", styles: [":host{display:block;width:100%;height:100%}.tinywrapper{overflow:auto}\n"], dependencies: [{ kind: "component", type: i2.FileUploaderComponent, selector: "fd-file-uploader", inputs: ["disabled", "required", "multiple", "accept", "dragndrop", "maxFileSize", "minFileSize", "id", "ariaLabel", "ariaLabelledBy", "placeholder", "buttonLabel", "buttonAriaLabel", "state", "fileLimit", "inputHidden", "width"], outputs: ["selectedFilesChanged", "selectedInvalidFiles", "onDragEnter", "onDragLeave"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
390
+ BarsaTinyemceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: BarsaTinyemceComponent, selector: "bsu-barsa-tinyemce", inputs: { Setting: "Setting", isReadonly: "isReadonly", value: "value", IsInline: "IsInline", defaultVerbs: "defaultVerbs" }, outputs: { valueChange: "valueChange", tinyInit: "tinyInit" }, providers: [UploadService], viewQueries: [{ propertyName: "_uploader", first: true, predicate: ["uploader"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"fd-input tinywrapper\" [style.min-height.px]=\"height\" [id]=\"tinyHostId\"></div>\n<fd-file-uploader\n #uploader\n [style.display]=\"'none'\"\n [accept]=\"''\"\n [multiple]=\"false\"\n (selectedFilesChanged)=\"onFileSelection($event)\"\n></fd-file-uploader>\n<!-- <textarea [id]=\"tinyHostId\" style=\"height: 100%; visibility: hidden\"></textarea> -->\n", styles: [":host{display:block;width:100%;height:100%}.tinywrapper{overflow:auto}\n"], dependencies: [{ kind: "component", type: i2.FileUploaderComponent, selector: "fd-file-uploader", inputs: ["disabled", "required", "multiple", "accept", "dragndrop", "maxFileSize", "minFileSize", "id", "ariaLabel", "ariaLabelledBy", "placeholder", "buttonLabel", "buttonAriaLabel", "state", "fileLimit", "inputHidden", "width"], outputs: ["selectedFilesChanged", "selectedInvalidFiles", "onDragEnter", "onDragLeave"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
386
391
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaTinyemceComponent, decorators: [{
387
392
  type: Component,
388
393
  args: [{ selector: 'bsu-barsa-tinyemce', changeDetection: ChangeDetectionStrategy.OnPush, providers: [UploadService], template: "<div class=\"fd-input tinywrapper\" [style.min-height.px]=\"height\" [id]=\"tinyHostId\"></div>\n<fd-file-uploader\n #uploader\n [style.display]=\"'none'\"\n [accept]=\"''\"\n [multiple]=\"false\"\n (selectedFilesChanged)=\"onFileSelection($event)\"\n></fd-file-uploader>\n<!-- <textarea [id]=\"tinyHostId\" style=\"height: 100%; visibility: hidden\"></textarea> -->\n", styles: [":host{display:block;width:100%;height:100%}.tinywrapper{overflow:auto}\n"] }]
@@ -395,6 +400,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
395
400
  type: Input
396
401
  }], value: [{
397
402
  type: Input
403
+ }], IsInline: [{
404
+ type: Input
398
405
  }], defaultVerbs: [{
399
406
  type: Input
400
407
  }], valueChange: [{
@@ -402,4 +409,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
402
409
  }], tinyInit: [{
403
410
  type: Output
404
411
  }] } });
405
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtdGlueWVtY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGlueWVtY2UvYmFyc2EtdGlueWVtY2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGlueWVtY2UvYmFyc2EtdGlueWVtY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkcsT0FBTyxFQUFjLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBWTdELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxhQUFhO0lBa0JyRCxZQUFzQixjQUE2QixFQUFZLEdBQWU7UUFDMUUsS0FBSyxFQUFFLENBQUM7UUFEVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUFZLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFacEUsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3RDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3hDLGVBQVUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUN4QyxrQkFBYSxHQUFRLEVBQUUsQ0FBQztRQStZaEIsa0JBQWEsR0FBRyxHQUFTLEVBQUU7WUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQzlCLDJDQUEyQztZQUMzQyx5REFBeUQ7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Q0FBQyw2S0MxQjlCLGlZQVNBOzJGRG1CYSxzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0ksb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxhQUFhLENBQUM7NkhBR0gsU0FBUztzQkFBL0IsU0FBUzt1QkFBQyxVQUFVO2dCQUNaLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkZXJDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBCYXJzYUFwaSwgZ2V0VW5pcXVlSWQsIGlzRnVuY3Rpb24sIFVwbG9hZFNlcnZpY2UgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjb25jYXRNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5kZWNsYXJlIGNvbnN0IHdpbmRvdzogYW55O1xuZGVjbGFyZSBjb25zdCB0aW55bWNlOiBhbnk7XG5kZWNsYXJlIGNvbnN0IGhlYWQ6IGFueTtcbmRlY2xhcmUgY29uc3QgJDogYW55O1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtYmFyc2EtdGlueWVtY2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS10aW55ZW1jZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYmFyc2EtdGlueWVtY2UuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtVcGxvYWRTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBCYXJzYVRpbnllbWNlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgICBAVmlld0NoaWxkKCd1cGxvYWRlcicpIF91cGxvYWRlcjogRmlsZVVwbG9hZGVyQ29tcG9uZW50O1xuICAgIEBJbnB1dCgpIFNldHRpbmc6IGFueTtcbiAgICBASW5wdXQoKSBpc1JlYWRvbmx5OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHZhbHVlOiBhbnk7XG4gICAgQElucHV0KCkgZGVmYXVsdFZlcmJzOiB7IFRpdGxlOiBzdHJpbmc7IEh0bWw6IHN0cmluZyB9W107XG4gICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHRpbnlJbml0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIHRpbnlIb3N0SWQgPSB0aGlzLl9nZW5lcmF0ZVRpbnlIb3N0SWQoKTtcbiAgICB0aW55TUNFQ29uZmlnOiBhbnkgPSB7fTtcbiAgICBlZGl0b3I6IGFueTtcbiAgICB3eXNpd3lnSW50aWFsaXplZDogYm9vbGVhbjtcbiAgICBpbnRpYWxpemF0aW9uSW5Qcm9ncmVzczogYm9vbGVhbjtcbiAgICBlZGl0b3JWYWx1ZTogc3RyaW5nO1xuXG4gICAgaWZyYW1Cb2R5SW5uZXJIdG1sOiBzdHJpbmc7XG4gICAgaGVpZ2h0OiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3VwbG9hZFNlcnZpY2U6IFVwbG9hZFNlcnZpY2UsIHByb3RlY3RlZCBfZWw6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG4gICAgbmdPbkNoYW5nZXMoc2ltcGxlQ2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhzaW1wbGVDaGFuZ2VzKTtcbiAgICAgICAgaWYgKHNpbXBsZUNoYW5nZXMudmFsdWUgJiYgIXNpbXBsZUNoYW5nZXMudmFsdWUuZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWUoc2ltcGxlQ2hhbmdlcy52YWx1ZS5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzaW1wbGVDaGFuZ2VzLmRpc2FibGUgJiYgIXNpbXBsZUNoYW5nZXMuZGlzYWJsZS5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgY29uc3QgZGlzYmFsZSA9IHNpbXBsZUNoYW5nZXMuZGlzYWJsZS5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICBpZiAoZGlzYmFsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0RGlzYWJsZSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldEVuYWJsZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChzaW1wbGVDaGFuZ2VzLnJlYWRvbmx5ICYmICFzaW1wbGVDaGFuZ2VzLnJlYWRvbmx5LmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLnNldFJlYWRPbmx5KHNpbXBsZUNoYW5nZXMucmVhZG9ubHkuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5oZWlnaHQgPSAodGhpcy5fZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuY2xpZW50SGVpZ2h0O1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgICAgIHRoaXMubG9hZFRpbnlNY2UoKTtcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveVRpbnltY2UoKTtcbiAgICB9XG5cbiAgICBvbkZpbGVTZWxlY3Rpb24oZmlsZXM6IEZpbGVbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwbG9hZEZpbGUoZmlsZXMpLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgbG9hZFRpbnlNY2UoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5TZXR0aW5nLklzSHRtbFZpZXdlcikge1xuICAgICAgICAgICAgaGVhZC5sb2FkKFsnTGliL3RpbnltY2UvdGlueW1jZS5taW4uanMnXSwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucHJlcGFyZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbml0aWxpemUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRpbnlNQ0VDb25maWcuc2V0dXApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcuaGVpZ2h0ID0gJzEwMCUnO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcud2lkdGggPSAnMTAwJSc7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5zZWxlY3RvciA9ICcjJyArIHRoaXMudGlueUhvc3RJZDtcblxuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcuY29udGVudF9jc3MgPSAnYXNzZXRzL1Jlc291cmNlcy9mb250cy9JcmFuLmNzcyc7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5kaXJlY3Rpb25hbGl0eSA9ICdydGwnO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcubGFuZ3VhZ2UgPSAnZmFfSVInO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcucHJvbW90aW9uID0gZmFsc2U7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5wYXN0ZV9kYXRhX2ltYWdlcyA9IHRydWU7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5kZWZhdWx0Rm9udE5hbWUgPSAnQmFyc2FGb250JztcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLmRlZmF1bHRGb250U2l6ZSA9ICcxMnB4JztcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnN0YXR1c2JhciA9IGZhbHNlO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcuaW5saW5lID0gZmFsc2U7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy50aGVtZV9hZHZhbmNlZF9yZXNpemluZyA9IHRydWU7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5mb250X2ZhbWlseV9mb3JtYXRzID1cbiAgICAgICAgICAgICdCYXJzYUZvbnQ9QmFyc2FGb250O0FyaWFsPWFyaWFsLGhlbHZldGljYSxzYW5zLXNlcmlmOyBDb3VyaWVyIE5ldz1jb3VyaWVyIG5ldyxjb3VyaWVyLG1vbm9zcGFjZTsnO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcuZm9udF9zaXplX2Zvcm1hdHMgPSAnOHB0IDEwcHQgMTJwdCAxNHB0IDE4cHQgMjRwdCAzNnB0JztcblxuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcucGx1Z2lucyA9IFtcbiAgICAgICAgICAgICdhZHZsaXN0JyxcbiAgICAgICAgICAgICdhbmNob3InLFxuICAgICAgICAgICAgJ2F1dG9saW5rJyxcbiAgICAgICAgICAgICdhdXRvc2F2ZScsXG4gICAgICAgICAgICAnY2hhcm1hcCcsXG4gICAgICAgICAgICAnY29kZScsXG4gICAgICAgICAgICAnY29kZXNhbXBsZScsXG4gICAgICAgICAgICAnZGlyZWN0aW9uYWxpdHknLFxuICAgICAgICAgICAgJ2Vtb3RpY29ucycsXG4gICAgICAgICAgICAnZnVsbHNjcmVlbicsXG4gICAgICAgICAgICAnaGVscCcsXG4gICAgICAgICAgICAnaW1hZ2UnLFxuICAgICAgICAgICAgJ2ltcG9ydGNzcycsXG4gICAgICAgICAgICAnaW5zZXJ0ZGF0ZXRpbWUnLFxuICAgICAgICAgICAgJ2xpbmsnLFxuICAgICAgICAgICAgJ2xpc3RzJyxcbiAgICAgICAgICAgICdtZWRpYScsXG4gICAgICAgICAgICAnbm9uYnJlYWtpbmcnLFxuICAgICAgICAgICAgJ3BhZ2VicmVhaycsXG4gICAgICAgICAgICAncHJldmlldycsXG4gICAgICAgICAgICAncXVpY2tiYXJzJyxcbiAgICAgICAgICAgICdzYXZlJyxcbiAgICAgICAgICAgICdzZWFyY2hyZXBsYWNlJyxcbiAgICAgICAgICAgICd0YWJsZScsXG4gICAgICAgICAgICAndGVtcGxhdGUnLFxuICAgICAgICAgICAgJ3Zpc3VhbGJsb2NrcycsXG4gICAgICAgICAgICAndmlzdWFsY2hhcnMnLFxuICAgICAgICAgICAgJ3dvcmRjb3VudCcsXG4gICAgICAgICAgICAnYXV0b3Jlc2l6ZSdcbiAgICAgICAgXTtcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnRvb2xiYXIgPSBbXG4gICAgICAgICAgICBgZGVmYXVsdFZlcmJzIGJhcnNhSW1hZ2UgfCBpbnNlcnQgfCBmb3JlY29sb3IgYmFja2NvbG9yIGZvbnRmYW1pbHkgZm9udHNpemUgfCBidWxsaXN0IG51bWxpc3Qgb3V0ZGVudCBpbmRlbnQgfCByZW1vdmVmb3JtYXRgICtcbiAgICAgICAgICAgICAgICBgIHwgdW5kbyByZWRvIHwgY29weSBjdXQgcGFzdGUgfCBibG9ja3MgfCBib2xkIGl0YWxpYyB8IGFsaWdubGVmdCBhbGlnbmNlbnRlciBhbGlnbnJpZ2h0IGFsaWduanVzdGlmeSBsdHIgcnRsYFxuICAgICAgICBdO1xuXG4gICAgICAgIGNvbnN0IHRpbnltY2VTZXR0aW5nc0dsb2JhbCA9IHdpbmRvdy50aW55bWNlU2V0dGluZ3M7XG4gICAgICAgIGxldCB0aW55bWNlU2V0dGluZ3MgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLlNldHRpbmcsICdKc29uRXh0cmFQcm9wLnRpbnltY2VTZXR0aW5ncycpO1xuICAgICAgICB0aW55bWNlU2V0dGluZ3MgPSBCYXJzYUFwaS5Db21tb24uTWVyZ2VyLk1lcmdlKHRpbnltY2VTZXR0aW5nc0dsb2JhbCwgdGlueW1jZVNldHRpbmdzKTtcbiAgICAgICAgaWYgKCF0aW55bWNlU2V0dGluZ3MgJiYgQXJyYXkuaXNBcnJheSh0aW55bWNlU2V0dGluZ3MpKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGlueW1jZVNldHRpbmdzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnW2l0ZW0ua2V5XSA9IGl0ZW0udmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc1JlYWRvbmx5KSB7XG4gICAgICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcubWVudWJhciA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnN0YXR1c2JhciA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnBsdWdpbnMgPSBbJ2F1dG9yZXNpemUnXTtcbiAgICAgICAgICAgIC8vIHRoaXMudGlueU1DRUNvbmZpZy5wbHVnaW5zID0gW107XG4gICAgICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcudG9vbGJhciA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHVzZXJTZXR1cDogKGVkaXRvcjogYW55KSA9PiB2b2lkO1xuXG4gICAgICAgIGlmICh0aGlzLnRpbnlNQ0VDb25maWcuc2V0dXApIHtcbiAgICAgICAgICAgIHVzZXJTZXR1cCA9IHRoaXMudGlueU1DRUNvbmZpZy5zZXR1cDtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZGVmYXVsdFZlcmJzTWVudTogYW55ID0gW107XG5cbiAgICAgICAgLy8gQkVHSU46IHNldHVwXG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5zZXR1cCA9IChlZCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5lZGl0b3IgPSBlZDtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLmlzUmVhZG9ubHkpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kZWZhdWx0VmVyYnMpIHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZlcmJzTWVudSA9IFtdO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRWZXJicy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmVyYnNNZW51LnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtLkh0bWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ21lbnVpdGVtJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBpdGVtLlRpdGxlIHx8IGl0ZW0uSHRtbC5yZXBsYWNlKC88YnJcXHMqXFwvPz4vZ2ksICcgJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25BY3Rpb246ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZWQuZXhlY0NvbW1hbmQoJ21jZUluc2VydFJhd0hUTUwnLCBmYWxzZSwgaXRlbS5IdG1sKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWQuaW5zZXJ0Q29udGVudChpdGVtLkh0bWwsIHsgZm9ybWF0OiAncmF3JyB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVkLnVpLnJlZ2lzdHJ5LmFkZFNwbGl0QnV0dG9uKCdiYXJzYUltYWdlJywge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnaW5zZXJ0JyxcbiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ltYWdlJyxcbiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcDogJ0luc2VydCBJbWFnZSBBcyBCYXNlNjQnLFxuICAgICAgICAgICAgICAgICAgICBvbkFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLkFzeW5jLldhdGVyZmFsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGluZW1jZS5FbWJlZEltYWdlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5GaWxlRGlhbG9nOiB0aGlzLlNob3dPcGVuRmlsZURpYWxvZy5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnNlcnRCYXNlNjQ6IHRoaXMuSW5zZXJ0QmFzZTY0LmJpbmQodGhpcylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcnIsIHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uQXN5bmMuRmluYWxpemUoZXJyLCByZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG9uSXRlbUFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLkFzeW5jLldhdGVyZmFsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGluZW1jZS5VcGxvYWRUb0RhdGFiYXNlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5GaWxlRGlhbG9nOiB0aGlzLlNob3dVcGxvYWRXaW5kb3cuYmluZCh0aGlzKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVyciwgcmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhcnNhQXBpLkNvbW1vbi5Bc3luYy5GaW5hbGl6ZShlcnIsIHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgZmV0Y2g6IChjYWxsYmFjaykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaXRlbXMgPSBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnY2hvaWNlaXRlbScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICd1cGxvYWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnaW1hZ2UnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwOiAnVXBsb2FkIEltYWdlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICd1cGxvYWQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKGl0ZW1zKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgZWQudWkucmVnaXN0cnkuYWRkTWVudUJ1dHRvbignZGVmYXVsdFZlcmJzJywge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0OiAn2LnYqNin2LHYqtmH2KfbjCDZvtuM2LQg2YHYsdi2JyxcbiAgICAgICAgICAgICAgICAgICAgZmV0Y2g6IChjYWxsYmFjaykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soZGVmYXVsdFZlcmJzTWVudSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAoaXNGdW5jdGlvbih3aW5kb3cudGlueW1jZVNldHVwKSkge1xuICAgICAgICAgICAgICAgICAgICB3aW5kb3cudGlueW1jZVNldHVwLmNhbGwodGhpcywgdGhpcywgZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBoYXNJbml0ID0gZmFsc2U7XG4gICAgICAgICAgICBlZC5vbignaW5pdCcsICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnd5c2l3eWdJbnRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmludGlhbGl6YXRpb25JblByb2dyZXNzID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy50aW55TUNFQ29uZmlnLmRlZmF1bHRGb250TmFtZSkge1xuICAgICAgICAgICAgICAgICAgICBlZC5leGVjQ29tbWFuZCgnRm9udE5hbWUnLCBmYWxzZSwgdGhpcy50aW55TUNFQ29uZmlnLmRlZmF1bHRGb250TmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRpbnlNQ0VDb25maWcuZGVmYXVsdEZvbnRTaXplKSB7XG4gICAgICAgICAgICAgICAgICAgIGVkLmV4ZWNDb21tYW5kKCdGb250U2l6ZScsIGZhbHNlLCB0aGlzLnRpbnlNQ0VDb25maWcuZGVmYXVsdEZvbnRTaXplKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNSZWFkb25seSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFJlYWRPbmx5KHRoaXMuaXNSZWFkb25seSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIFRoaXMgcGllY2Ugb2YgY29kZSBzb2x2ZXMgdGhlIHByb2JsZW0gb2YgY2hhbmdlIHByb3BhZ2F0aW9uIHNvIHRoYXRcbiAgICAgICAgICAgICAgICAvLyB0aGVyZSBpcyBubyBuZWVkIHRvIGNhbGwgdHJpZ2dlclNhdmVcbiAgICAgICAgICAgICAgICBjb25zdCBzZXRDb250ZW50ID0gZWQuc2V0Q29udGVudDtcbiAgICAgICAgICAgICAgICBlZC5zZXRDb250ZW50ID0gKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc2V0Q29udGVudC5hcHBseShlZCwgYXJncyk7XG4gICAgICAgICAgICAgICAgICAgIGVkLmRpc3BhdGNoKCdjaGFuZ2UnLCB7fSk7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBoYXNJbml0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnRpbnlJbml0LmVtaXQoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBpZnJhbUVsOiBIVE1MSUZyYW1lRWxlbWVudCA9IGVkLmlmcmFtZUVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgaWYgKGlmcmFtRWwpIHtcbiAgICAgICAgICAgICAgICAgICAgaWZyYW1FbC5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgdGhpcy5fb25Mb2FkSWZyYW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgLy8gQ2F0Y2ggYW5kIHByb3BhZ2F0ZSB0aGUgY2hhbmdlIGV2ZW50XG4gICAgICAgICAgICBsZXQgb2xkQ29udGVudCA9IG51bGw7XG4gICAgICAgICAgICBlZC5vbignY2hhbmdlIGtleXVwJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld3ZhbCA9IGVkLmdldENvbnRlbnQoKTtcbiAgICAgICAgICAgICAgICBpZiAobmV3dmFsID09PSBvbGRDb250ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBvbGRDb250ZW50ID0gbmV3dmFsO1xuICAgICAgICAgICAgICAgIGlmICghaGFzSW5pdCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZWQuc2F2ZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuZWRpdG9yVmFsdWUgPSBuZXd2YWw7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KG5ld3ZhbCk7XG4gICAgICAgICAgICAgICAgLy8gdGhpcy5jb250ZXh0LmZpcmVFdmVudCgnY2hhbmdlJywgdGhpcywgbmV3dmFsLCBvbGR2YWwsIHt9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBlZC5vbignZm9jdXMnLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gVE9ET1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmICh1c2VyU2V0dXApIHtcbiAgICAgICAgICAgICAgICB1c2VyU2V0dXAoZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIFNob3dVcGxvYWRXaW5kb3coKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3VwbG9hZGVyLm9wZW4oKTtcbiAgICB9XG4gICAgU2hvd09wZW5GaWxlRGlhbG9nKGRvUmV0dXJuKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlucHV0OiBhbnkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnZmlsZScpO1xuICAgICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoJ2FjY2VwdCcsICdpbWFnZS8qJyk7XG5cbiAgICAgICAgaW5wdXQub25jaGFuZ2UgPSAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWxlID0gaW5wdXQuZmlsZXNbMF07XG5cbiAgICAgICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICAgICAgICByZWFkZXIub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBiYXNlNjQgPSByZWFkZXIucmVzdWx0IGFzIHN0cmluZztcbiAgICAgICAgICAgICAgICBiYXNlNjQgPSBiYXNlNjQuc3BsaXQoJywnKVsxXTtcbiAgICAgICAgICAgICAgICBkb1JldHVybihudWxsLCBiYXNlNjQpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgICAgICB9O1xuXG4gICAgICAgIGlucHV0LmNsaWNrKCk7XG4gICAgfVxuICAgIEluc2VydEJhc2U2NChiYXNlNjQsIGRvUmV0dXJuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdG9yLmV4ZWNDb21tYW5kKCdtY2VJbnNlcnRDb250ZW50JywgZmFsc2UsICc8aW1nIHNyYz1kYXRhOmltYWdlL3BuZztiYXNlNjQsJyArIGJhc2U2NCArICcgLz4nKTtcbiAgICAgICAgZG9SZXR1cm4oKTtcbiAgICB9XG4gICAgZ2V0VmFsdWUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGxldCByZXMgPSBudWxsO1xuICAgICAgICBpZiAodGhpcy53eXNpd3lnSW50aWFsaXplZCkge1xuICAgICAgICAgICAgY29uc3QgZWQgPSB0aW55bWNlLmdldCh0aGlzLnRpbnlIb3N0SWQpO1xuICAgICAgICAgICAgaWYgKGVkKSB7XG4gICAgICAgICAgICAgICAgcmVzID0gZWQuZ2V0Q29udGVudCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG4gICAgc2V0VmFsdWUodmFsdWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFZhbHVlVGlueSgpO1xuICAgIH1cbiAgICBzZXRWYWx1ZVRpbnkoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMud3lzaXd5Z0ludGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGVkID0gdGlueW1jZS5nZXQodGhpcy50aW55SG9zdElkKTtcbiAgICAgICAgICAgIGlmIChlZCkge1xuICAgICAgICAgICAgICAgIGVkLnNldENvbnRlbnQodGhpcy52YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gICAgfVxuICAgIGZvY3VzKCk6IGFueSB7XG4gICAgICAgIGlmICh0aGlzLmlzUmVhZG9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMud3lzaXd5Z0ludGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRpbnltY2UuZXhlY0NvbW1hbmQoJ21jZUZvY3VzJywgZmFsc2UsICdpZF9vZl90ZXh0YXJlYScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHNldEVuYWJsZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMud3lzaXd5Z0ludGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGVkID0gdGlueW1jZS5nZXQodGhpcy50aW55SG9zdElkKTtcbiAgICAgICAgICAgIGVkLmdldEJvZHkoKS5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScsIHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMud3lzaXd5Z0ludGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGVkID0gdGlueW1jZS5nZXQodGhpcy50aW55SG9zdElkKTtcbiAgICAgICAgICAgIGVkLmdldEJvZHkoKS5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzZXRSZWFkT25seShyZWFkT25seSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy53eXNpd3lnSW50aWFsaXplZCkge1xuICAgICAgICAgICAgY29uc3QgZWQgPSB0aW55bWNlLmdldCh0aGlzLnRpbnlIb3N0SWQpO1xuICAgICAgICAgICAgZWQuZ2V0Qm9keSgpLnNldEF0dHJpYnV0ZSgnY29udGVudGVkaXRhYmxlJywgIXJlYWRPbmx5KTtcbiAgICAgICAgICAgIGlmIChyZWFkT25seSkge1xuICAgICAgICAgICAgICAgICQoJy50b3gtZWRpdG9yLWhlYWRlcicpLmhpZGUoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgJCgnLnRveC1lZGl0b3ItaGVhZGVyJykuaGlkZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGVzdHJveVRpbnltY2UoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLlNldHRpbmcuSXNIdG1sVmlld2VyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZWQgPSB0aW55bWNlLmdldCh0aGlzLnRpbnlIb3N0SWQpO1xuICAgICAgICBpZiAoZWQpIHtcbiAgICAgICAgICAgIC8vIHRpbnltY2UuZXhlY0NvbW1hbmQoJ21jZVJlbW92ZUNvbnRyb2wnLCB0cnVlLCB0aGlzLnRpbnlIb3N0SWQpO1xuICAgICAgICAgICAgaWYgKGVkLmlmcmFtZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBlZC5pZnJhbWVFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2xvYWQnLCB0aGlzLl9vbkxvYWRJZnJhbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWQuZGVzdHJveShmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJpdmF0ZSB1cGxvYWRGaWxlKGZpbGVzOiBGaWxlW10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdXBsb2FkU2VydmljZS5jb21wcmVzc0ZpbGVzJChmaWxlcykucGlwZShcbiAgICAgICAgICAgIGNvbmNhdE1hcCgoZm9ybURhdGE6IEZvcm1EYXRhKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuX3VwbG9hZFNlcnZpY2UudXBsb2FkKGZvcm1EYXRhLCB0aGlzLlNldHRpbmcuU3RvcmFnZUZpbGVGaWVsZElkKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICB0YXAoKHJlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBpY3R1cmUgPSByZXNbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBpY3R1cmUuRXJyb3JNc2cpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFyc2FBcGkuQncuTXNnLkVycm9yKHBpY3R1cmUuRXJyb3JNc2cpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5waWN0dXJlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWxlSWQ6IHBpY3R1cmUuRmlsZUlkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9hZGRJbWFnZXModmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfYWRkSW1hZ2VzKGZpbGU6IHsgRmlsZUlkOiBzdHJpbmcgfSk6IHZvaWQge1xuICAgICAgICBjb25zdCB1cmwgPSAnL0lILmFzaHg/dHk9U3RvcmFnZUZpbGUma2V5PScgKyBmaWxlLkZpbGVJZDtcbiAgICAgICAgY29uc3QgaHRtbCA9ICc8aW1nIHNyYz0nICsgdXJsICsgJyAvPic7XG5cbiAgICAgICAgdGhpcy5lZGl0b3IuZXhlY0NvbW1hbmQoJ21jZUluc2VydENvbnRlbnQnLCBmYWxzZSwgaHRtbCk7XG4gICAgfVxuICAgIHByaXZhdGUgcHJlcGFyZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWxpemUoKTtcbiAgICAgICAgdGlueW1jZS5pbml0KHRoaXMudGlueU1DRUNvbmZpZyk7XG4gICAgICAgIHRoaXMuaW50aWFsaXphdGlvbkluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgdGhpcy53eXNpd3lnSW50aWFsaXplZCA9IHRydWU7XG4gICAgfVxuICAgIHByaXZhdGUgX29uTG9hZElmcmFtZSA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZWRpdG9yVmFsdWU7XG4gICAgICAgIC8vIGNvbnN0IGVkID0gdGlueW1jZS5nZXQodGhpcy50aW55SG9zdElkKTtcbiAgICAgICAgLy8gZWQuZXhlY0NvbW1hbmQoJ21jZUluc2VydENvbnRlbnQnLCBmYWxzZSwgdGhpcy52YWx1ZSk7XG5cbiAgICAgICAgLy8gZWQuaW5zZXJ0Q29udGVudCh0aGlzLnZhbHVlLCB7IGZvcm1hdDogJ3JhdycgfSk7XG4gICAgICAgIC8vIHRoaXMuX3JlbW92ZU92ZXJmbG93KGVkKTtcbiAgICAgICAgdGhpcy5kZXN0cm95VGlueW1jZSgpO1xuICAgICAgICB0aGlzLnByZXBhcmUoKTtcbiAgICB9O1xuICAgIHByaXZhdGUgX2dlbmVyYXRlVGlueUhvc3RJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYGFfJHtnZXRVbmlxdWVJZCgyKX1gO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3JlbW92ZU92ZXJmbG93KGVkOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaHRtbCA9IGVkLmlmcmFtZUVsZW1lbnQ/LmNvbnRlbnREb2N1bWVudD8ucXVlcnlTZWxlY3RvcignaHRtbCcpO1xuICAgICAgICBpZiAoaHRtbCkge1xuICAgICAgICAgICAgaHRtbC5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZkLWlucHV0IHRpbnl3cmFwcGVyXCIgW3N0eWxlLm1pbi1oZWlnaHQucHhdPVwiaGVpZ2h0XCIgW2lkXT1cInRpbnlIb3N0SWRcIj48L2Rpdj5cbjxmZC1maWxlLXVwbG9hZGVyXG4gICAgI3VwbG9hZGVyXG4gICAgW3N0eWxlLmRpc3BsYXldPVwiJ25vbmUnXCJcbiAgICBbYWNjZXB0XT1cIicnXCJcbiAgICBbbXVsdGlwbGVdPVwiZmFsc2VcIlxuICAgIChzZWxlY3RlZEZpbGVzQ2hhbmdlZCk9XCJvbkZpbGVTZWxlY3Rpb24oJGV2ZW50KVwiXG4+PC9mZC1maWxlLXVwbG9hZGVyPlxuPCEtLSA8dGV4dGFyZWEgW2lkXT1cInRpbnlIb3N0SWRcIiBzdHlsZT1cImhlaWdodDogMTAwJTsgdmlzaWJpbGl0eTogaGlkZGVuXCI+PC90ZXh0YXJlYT4gLS0+XG4iXX0=
412
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtdGlueWVtY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGlueWVtY2UvYmFyc2EtdGlueWVtY2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGlueWVtY2UvYmFyc2EtdGlueWVtY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBYyxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU3RCxPQUFPLEVBQ0gsYUFBYSxFQUNiLFFBQVEsRUFDUixXQUFXLEVBQ1gsVUFBVSxFQUNWLGFBQWEsRUFFaEIsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQWE5QixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsYUFBYTtJQW1CckQsWUFBc0IsY0FBNkIsRUFBWSxHQUFlO1FBQzFFLEtBQUssRUFBRSxDQUFDO1FBRFUsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFBWSxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBWnBFLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN0QyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4QyxlQUFVLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDeEMsa0JBQWEsR0FBUSxFQUFFLENBQUM7UUFpWmhCLGtCQUFhLEdBQUcsR0FBUyxFQUFFO1lBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUM5QiwyQ0FBMkM7WUFDM0MseURBQXlE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S0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU8sZUFBZSxDQUFDLEVBQU87UUFDM0IsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUUsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RFLElBQUksSUFBSSxFQUFFO1lBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1NBQ2xDO0lBQ0wsQ0FBQzs7bUhBOWFRLHNCQUFzQjt1R0FBdEIsc0JBQXNCLDBPQUZwQixDQUFDLGFBQWEsQ0FBQyw2S0NsQzlCLGlZQVNBOzJGRDJCYSxzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0ksb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxhQUFhLENBQUM7NkhBR0gsU0FBUztzQkFBL0IsU0FBUzt1QkFBQyxVQUFVO2dCQUNaLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpbGVVcGxvYWRlckNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjb25jYXRNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gICAgQmFzZUNvbXBvbmVudCxcbiAgICBCYXJzYUFwaSxcbiAgICBnZXRVbmlxdWVJZCxcbiAgICBpc0Z1bmN0aW9uLFxuICAgIFVwbG9hZFNlcnZpY2UsXG4gICAgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWxcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5kZWNsYXJlIGNvbnN0IHdpbmRvdzogYW55O1xuZGVjbGFyZSBjb25zdCB0aW55bWNlOiBhbnk7XG5kZWNsYXJlIGNvbnN0IGhlYWQ6IGFueTtcbmRlY2xhcmUgY29uc3QgJDogYW55O1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtYmFyc2EtdGlueWVtY2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS10aW55ZW1jZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYmFyc2EtdGlueWVtY2UuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtVcGxvYWRTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBCYXJzYVRpbnllbWNlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgICBAVmlld0NoaWxkKCd1cGxvYWRlcicpIF91cGxvYWRlcjogRmlsZVVwbG9hZGVyQ29tcG9uZW50O1xuICAgIEBJbnB1dCgpIFNldHRpbmc6IEdlbmVyYWxDb250cm9sSW5mb01vZGVsO1xuICAgIEBJbnB1dCgpIGlzUmVhZG9ubHk6IGJvb2xlYW47XG4gICAgQElucHV0KCkgdmFsdWU6IGFueTtcbiAgICBASW5wdXQoKSBJc0lubGluZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBkZWZhdWx0VmVyYnM6IHsgVGl0bGU6IHN0cmluZzsgSHRtbDogc3RyaW5nIH1bXTtcbiAgICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgdGlueUluaXQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgdGlueUhvc3RJZCA9IHRoaXMuX2dlbmVyYXRlVGlueUhvc3RJZCgpO1xuICAgIHRpbnlNQ0VDb25maWc6IGFueSA9IHt9O1xuICAgIGVkaXRvcjogYW55O1xuICAgIHd5c2l3eWdJbnRpYWxpemVkOiBib29sZWFuO1xuICAgIGludGlhbGl6YXRpb25JblByb2dyZXNzOiBib29sZWFuO1xuICAgIGVkaXRvclZhbHVlOiBzdHJpbmc7XG5cbiAgICBpZnJhbUJvZHlJbm5lckh0bWw6IHN0cmluZztcbiAgICBoZWlnaHQ6IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfdXBsb2FkU2VydmljZTogVXBsb2FkU2VydmljZSwgcHJvdGVjdGVkIF9lbDogRWxlbWVudFJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbiAgICBuZ09uQ2hhbmdlcyhzaW1wbGVDaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKHNpbXBsZUNoYW5nZXMpO1xuICAgICAgICBpZiAoc2ltcGxlQ2hhbmdlcy52YWx1ZSAmJiAhc2ltcGxlQ2hhbmdlcy52YWx1ZS5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZShzaW1wbGVDaGFuZ2VzLnZhbHVlLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNpbXBsZUNoYW5nZXMuZGlzYWJsZSAmJiAhc2ltcGxlQ2hhbmdlcy5kaXNhYmxlLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICBjb25zdCBkaXNiYWxlID0gc2ltcGxlQ2hhbmdlcy5kaXNhYmxlLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIGlmIChkaXNiYWxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXREaXNhYmxlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0RW5hYmxlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNpbXBsZUNoYW5nZXMucmVhZG9ubHkgJiYgIXNpbXBsZUNoYW5nZXMucmVhZG9ubHkuZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0UmVhZE9ubHkoc2ltcGxlQ2hhbmdlcy5yZWFkb25seS5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmhlaWdodCA9ICh0aGlzLl9lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5jbGllbnRIZWlnaHQ7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgdGhpcy5sb2FkVGlueU1jZSgpO1xuICAgIH1cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5kZXN0cm95VGlueW1jZSgpO1xuICAgIH1cblxuICAgIG9uRmlsZVNlbGVjdGlvbihmaWxlczogRmlsZVtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBsb2FkRmlsZShmaWxlcykucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBsb2FkVGlueU1jZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLlNldHRpbmcuSXNIdG1sVmlld2VyKSB7XG4gICAgICAgICAgICBoZWFkLmxvYWQoWydMaWIvdGlueW1jZS90aW55bWNlLm1pbi5qcyddLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmVwYXJlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluaXRpbGl6ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudGlueU1DRUNvbmZpZy5zZXR1cCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5oZWlnaHQgPSAnMTAwJSc7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy53aWR0aCA9ICcxMDAlJztcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnNlbGVjdG9yID0gJyMnICsgdGhpcy50aW55SG9zdElkO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcucGxhY2Vob2xkZXIgPSB0aGlzLlNldHRpbmcuQ29udHJvbEZpZWxkQ2FwdGlvblRyYW5zbGF0ZWQ7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5jb250ZW50X2NzcyA9ICdhc3NldHMvUmVzb3VyY2VzL2ZvbnRzL0lyYW4uY3NzJztcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLmRpcmVjdGlvbmFsaXR5ID0gJ3J0bCc7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5sYW5ndWFnZSA9ICdmYV9JUic7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5wcm9tb3Rpb24gPSBmYWxzZTtcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnBhc3RlX2RhdGFfaW1hZ2VzID0gdHJ1ZTtcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLmRlZmF1bHRGb250TmFtZSA9ICdCYXJzYUZvbnQnO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcuZGVmYXVsdEZvbnRTaXplID0gJzEycHgnO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcuc3RhdHVzYmFyID0gZmFsc2U7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5pbmxpbmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLm1lbnViYXIgPSAhdGhpcy5Jc0lubGluZTtcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnRoZW1lX2FkdmFuY2VkX3Jlc2l6aW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnRvb2xiYXJfbW9kZSA9ICdmbG9hdGluZyc7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy50b29sYmFyX2xvY2F0aW9uID0gJ2JvdHRvbSc7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5mb250X2ZhbWlseV9mb3JtYXRzID1cbiAgICAgICAgICAgICdCYXJzYUZvbnQ9QmFyc2FGb250O0FyaWFsPWFyaWFsLGhlbHZldGljYSxzYW5zLXNlcmlmOyBDb3VyaWVyIE5ldz1jb3VyaWVyIG5ldyxjb3VyaWVyLG1vbm9zcGFjZTsnO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcuZm9udF9zaXplX2Zvcm1hdHMgPSAnOHB0IDEwcHQgMTJwdCAxNHB0IDE4cHQgMjRwdCAzNnB0JztcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnRvb2xiYXJfbW9kZSA9ICdzY3JvbGxpbmcnO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcucGx1Z2lucyA9IFtcbiAgICAgICAgICAgICdhZHZsaXN0JyxcbiAgICAgICAgICAgICdhbmNob3InLFxuICAgICAgICAgICAgJ2F1dG9saW5rJyxcbiAgICAgICAgICAgICdhdXRvc2F2ZScsXG4gICAgICAgICAgICAnY2hhcm1hcCcsXG4gICAgICAgICAgICAnY29kZScsXG4gICAgICAgICAgICAnY29kZXNhbXBsZScsXG4gICAgICAgICAgICAnZGlyZWN0aW9uYWxpdHknLFxuICAgICAgICAgICAgJ2Vtb3RpY29ucycsXG4gICAgICAgICAgICAnZnVsbHNjcmVlbicsXG4gICAgICAgICAgICAnaGVscCcsXG4gICAgICAgICAgICAnaW1hZ2UnLFxuICAgICAgICAgICAgJ2ltcG9ydGNzcycsXG4gICAgICAgICAgICAnaW5zZXJ0ZGF0ZXRpbWUnLFxuICAgICAgICAgICAgJ2xpbmsnLFxuICAgICAgICAgICAgJ2xpc3RzJyxcbiAgICAgICAgICAgICdtZWRpYScsXG4gICAgICAgICAgICAnbm9uYnJlYWtpbmcnLFxuICAgICAgICAgICAgJ3BhZ2VicmVhaycsXG4gICAgICAgICAgICAncHJldmlldycsXG4gICAgICAgICAgICAncXVpY2tiYXJzJyxcbiAgICAgICAgICAgICdzYXZlJyxcbiAgICAgICAgICAgICdzZWFyY2hyZXBsYWNlJyxcbiAgICAgICAgICAgICd0YWJsZScsXG4gICAgICAgICAgICAndGVtcGxhdGUnLFxuICAgICAgICAgICAgJ3Zpc3VhbGJsb2NrcycsXG4gICAgICAgICAgICAndmlzdWFsY2hhcnMnLFxuICAgICAgICAgICAgJ3dvcmRjb3VudCcsXG4gICAgICAgICAgICAnYXV0b3Jlc2l6ZSdcbiAgICAgICAgXTtcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnRvb2xiYXIgPSBbXG4gICAgICAgICAgICBgZGVmYXVsdFZlcmJzIGJhcnNhSW1hZ2UgfCBpbnNlcnQgfCBmb3JlY29sb3IgYmFja2NvbG9yIGZvbnRmYW1pbHkgZm9udHNpemUgfCBidWxsaXN0IG51bWxpc3Qgb3V0ZGVudCBpbmRlbnQgfCByZW1vdmVmb3JtYXRgICtcbiAgICAgICAgICAgICAgICBgIHwgdW5kbyByZWRvIHwgY29weSBjdXQgcGFzdGUgfCBibG9ja3MgfCBib2xkIGl0YWxpYyB8IGFsaWdubGVmdCBhbGlnbmNlbnRlciBhbGlnbnJpZ2h0IGFsaWduanVzdGlmeSBsdHIgcnRsYFxuICAgICAgICBdO1xuXG4gICAgICAgIGNvbnN0IHRpbnltY2VTZXR0aW5nc0dsb2JhbCA9IHdpbmRvdy50aW55bWNlU2V0dGluZ3M7XG4gICAgICAgIGxldCB0aW55bWNlU2V0dGluZ3MgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLlNldHRpbmcsICdKc29uRXh0cmFQcm9wLnRpbnltY2VTZXR0aW5ncycpO1xuICAgICAgICB0aW55bWNlU2V0dGluZ3MgPSBCYXJzYUFwaS5Db21tb24uTWVyZ2VyLk1lcmdlKHRpbnltY2VTZXR0aW5nc0dsb2JhbCwgdGlueW1jZVNldHRpbmdzKTtcbiAgICAgICAgaWYgKCF0aW55bWNlU2V0dGluZ3MgJiYgQXJyYXkuaXNBcnJheSh0aW55bWNlU2V0dGluZ3MpKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGlueW1jZVNldHRpbmdzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnW2l0ZW0ua2V5XSA9IGl0ZW0udmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc1JlYWRvbmx5KSB7XG4gICAgICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcubWVudWJhciA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnN0YXR1c2JhciA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnBsdWdpbnMgPSBbJ2F1dG9yZXNpemUnXTtcbiAgICAgICAgICAgIC8vIHRoaXMudGlueU1DRUNvbmZpZy5wbHVnaW5zID0gW107XG4gICAgICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcudG9vbGJhciA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHVzZXJTZXR1cDogKGVkaXRvcjogYW55KSA9PiB2b2lkO1xuXG4gICAgICAgIGlmICh0aGlzLnRpbnlNQ0VDb25maWcuc2V0dXApIHtcbiAgICAgICAgICAgIHVzZXJTZXR1cCA9IHRoaXMudGlueU1DRUNvbmZpZy5zZXR1cDtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZGVmYXVsdFZlcmJzTWVudTogYW55ID0gW107XG5cbiAgICAgICAgLy8gQkVHSU46IHNldHVwXG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5zZXR1cCA9IChlZCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5lZGl0b3IgPSBlZDtcbiAgICAgICAgICAgIGlmICghdGhpcy5pc1JlYWRvbmx5KSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGVmYXVsdFZlcmJzKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWZXJic01lbnUgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWZhdWx0VmVyYnMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZlcmJzTWVudS5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5IdG1sLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdtZW51aXRlbScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogaXRlbS5UaXRsZSB8fCBpdGVtLkh0bWwucmVwbGFjZSgvPGJyXFxzKlxcLz8+L2dpLCAnICcpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVkLmV4ZWNDb21tYW5kKCdtY2VJbnNlcnRSYXdIVE1MJywgZmFsc2UsIGl0ZW0uSHRtbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkLmluc2VydENvbnRlbnQoaXRlbS5IdG1sLCB7IGZvcm1hdDogJ3JhdycgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlZC51aS5yZWdpc3RyeS5hZGRTcGxpdEJ1dHRvbignYmFyc2FJbWFnZScsIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogJ2luc2VydCcsXG4gICAgICAgICAgICAgICAgICAgIGljb246ICdpbWFnZScsXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXA6ICdJbnNlcnQgSW1hZ2UgQXMgQmFzZTY0JyxcbiAgICAgICAgICAgICAgICAgICAgb25BY3Rpb246ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEJhcnNhQXBpLkNvbW1vbi5Bc3luYy5XYXRlcmZhbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RpbmVtY2UuRW1iZWRJbWFnZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuRmlsZURpYWxvZzogdGhpcy5TaG93T3BlbkZpbGVEaWFsb2cuYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zZXJ0QmFzZTY0OiB0aGlzLkluc2VydEJhc2U2NC5iaW5kKHRoaXMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXJyLCByZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLkFzeW5jLkZpbmFsaXplKGVyciwgcmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBvbkl0ZW1BY3Rpb246ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEJhcnNhQXBpLkNvbW1vbi5Bc3luYy5XYXRlcmZhbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RpbmVtY2UuVXBsb2FkVG9EYXRhYmFzZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuRmlsZURpYWxvZzogdGhpcy5TaG93VXBsb2FkV2luZG93LmJpbmQodGhpcylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcnIsIHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uQXN5bmMuRmluYWxpemUoZXJyLCByZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGZldGNoOiAoY2FsbGJhY2spID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Nob2ljZWl0ZW0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAndXBsb2FkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ltYWdlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcDogJ1VwbG9hZCBJbWFnZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAndXBsb2FkJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhpdGVtcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGVkLnVpLnJlZ2lzdHJ5LmFkZE1lbnVCdXR0b24oJ2RlZmF1bHRWZXJicycsIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogJ9i52KjYp9ix2KrZh9in24wg2b7bjNi0INmB2LHYticsXG4gICAgICAgICAgICAgICAgICAgIGZldGNoOiAoY2FsbGJhY2spID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKGRlZmF1bHRWZXJic01lbnUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKGlzRnVuY3Rpb24od2luZG93LnRpbnltY2VTZXR1cCkpIHtcbiAgICAgICAgICAgICAgICAgICAgd2luZG93LnRpbnltY2VTZXR1cC5jYWxsKHRoaXMsIHRoaXMsIGVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgaGFzSW5pdCA9IGZhbHNlO1xuICAgICAgICAgICAgZWQub24oJ2luaXQnLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy53eXNpd3lnSW50aWFsaXplZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnRpYWxpemF0aW9uSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudGlueU1DRUNvbmZpZy5kZWZhdWx0Rm9udE5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgZWQuZXhlY0NvbW1hbmQoJ0ZvbnROYW1lJywgZmFsc2UsIHRoaXMudGlueU1DRUNvbmZpZy5kZWZhdWx0Rm9udE5hbWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy50aW55TUNFQ29uZmlnLmRlZmF1bHRGb250U2l6ZSkge1xuICAgICAgICAgICAgICAgICAgICBlZC5leGVjQ29tbWFuZCgnRm9udFNpemUnLCBmYWxzZSwgdGhpcy50aW55TUNFQ29uZmlnLmRlZmF1bHRGb250U2l6ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzUmVhZG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRSZWFkT25seSh0aGlzLmlzUmVhZG9ubHkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBUaGlzIHBpZWNlIG9mIGNvZGUgc29sdmVzIHRoZSBwcm9ibGVtIG9mIGNoYW5nZSBwcm9wYWdhdGlvbiBzbyB0aGF0XG4gICAgICAgICAgICAgICAgLy8gdGhlcmUgaXMgbm8gbmVlZCB0byBjYWxsIHRyaWdnZXJTYXZlXG4gICAgICAgICAgICAgICAgY29uc3Qgc2V0Q29udGVudCA9IGVkLnNldENvbnRlbnQ7XG4gICAgICAgICAgICAgICAgZWQuc2V0Q29udGVudCA9ICguLi5hcmdzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHNldENvbnRlbnQuYXBwbHkoZWQsIGFyZ3MpO1xuICAgICAgICAgICAgICAgICAgICBlZC5kaXNwYXRjaCgnY2hhbmdlJywge30pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgaGFzSW5pdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy50aW55SW5pdC5lbWl0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgaWZyYW1FbDogSFRNTElGcmFtZUVsZW1lbnQgPSBlZC5pZnJhbWVFbGVtZW50O1xuICAgICAgICAgICAgICAgIGlmIChpZnJhbUVsKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmcmFtRWwuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHRoaXMuX29uTG9hZElmcmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIC8vIENhdGNoIGFuZCBwcm9wYWdhdGUgdGhlIGNoYW5nZSBldmVudFxuICAgICAgICAgICAgbGV0IG9sZENvbnRlbnQgPSBudWxsO1xuICAgICAgICAgICAgZWQub24oJ2NoYW5nZSBrZXl1cCcsICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXd2YWwgPSBlZC5nZXRDb250ZW50KCk7XG4gICAgICAgICAgICAgICAgaWYgKG5ld3ZhbCA9PT0gb2xkQ29udGVudCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgb2xkQ29udGVudCA9IG5ld3ZhbDtcbiAgICAgICAgICAgICAgICBpZiAoIWhhc0luaXQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGVkLnNhdmUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmVkaXRvclZhbHVlID0gbmV3dmFsO1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChuZXd2YWwpO1xuICAgICAgICAgICAgICAgIC8vIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ2NoYW5nZScsIHRoaXMsIG5ld3ZhbCwgb2xkdmFsLCB7fSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgZWQub24oJ2ZvY3VzJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAodXNlclNldHVwKSB7XG4gICAgICAgICAgICAgICAgdXNlclNldHVwKGVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBTaG93VXBsb2FkV2luZG93KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl91cGxvYWRlci5vcGVuKCk7XG4gICAgfVxuICAgIFNob3dPcGVuRmlsZURpYWxvZyhkb1JldHVybik6IHZvaWQge1xuICAgICAgICBjb25zdCBpbnB1dDogYW55ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCd0eXBlJywgJ2ZpbGUnKTtcbiAgICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCdhY2NlcHQnLCAnaW1hZ2UvKicpO1xuXG4gICAgICAgIGlucHV0Lm9uY2hhbmdlID0gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsZSA9IGlucHV0LmZpbGVzWzBdO1xuXG4gICAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgYmFzZTY0ID0gcmVhZGVyLnJlc3VsdCBhcyBzdHJpbmc7XG4gICAgICAgICAgICAgICAgYmFzZTY0ID0gYmFzZTY0LnNwbGl0KCcsJylbMV07XG4gICAgICAgICAgICAgICAgZG9SZXR1cm4obnVsbCwgYmFzZTY0KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgICAgfTtcblxuICAgICAgICBpbnB1dC5jbGljaygpO1xuICAgIH1cbiAgICBJbnNlcnRCYXNlNjQoYmFzZTY0LCBkb1JldHVybik6IHZvaWQge1xuICAgICAgICB0aGlzLmVkaXRvci5leGVjQ29tbWFuZCgnbWNlSW5zZXJ0Q29udGVudCcsIGZhbHNlLCAnPGltZyBzcmM9ZGF0YTppbWFnZS9wbmc7YmFzZTY0LCcgKyBiYXNlNjQgKyAnIC8+Jyk7XG4gICAgICAgIGRvUmV0dXJuKCk7XG4gICAgfVxuICAgIGdldFZhbHVlKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBsZXQgcmVzID0gbnVsbDtcbiAgICAgICAgaWYgKHRoaXMud3lzaXd5Z0ludGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGVkID0gdGlueW1jZS5nZXQodGhpcy50aW55SG9zdElkKTtcbiAgICAgICAgICAgIGlmIChlZCkge1xuICAgICAgICAgICAgICAgIHJlcyA9IGVkLmdldENvbnRlbnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuICAgIHNldFZhbHVlKHZhbHVlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRWYWx1ZVRpbnkoKTtcbiAgICB9XG4gICAgc2V0VmFsdWVUaW55KCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLnd5c2l3eWdJbnRpYWxpemVkKSB7XG4gICAgICAgICAgICBjb25zdCBlZCA9IHRpbnltY2UuZ2V0KHRoaXMudGlueUhvc3RJZCk7XG4gICAgICAgICAgICBpZiAoZWQpIHtcbiAgICAgICAgICAgICAgICBlZC5zZXRDb250ZW50KHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICAgIH1cbiAgICBmb2N1cygpOiBhbnkge1xuICAgICAgICBpZiAodGhpcy5pc1JlYWRvbmx5KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnd5c2l3eWdJbnRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aW55bWNlLmV4ZWNDb21tYW5kKCdtY2VGb2N1cycsIGZhbHNlLCAnaWRfb2ZfdGV4dGFyZWEnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBzZXRFbmFibGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnd5c2l3eWdJbnRpYWxpemVkKSB7XG4gICAgICAgICAgICBjb25zdCBlZCA9IHRpbnltY2UuZ2V0KHRoaXMudGlueUhvc3RJZCk7XG4gICAgICAgICAgICBlZC5nZXRCb2R5KCkuc2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldERpc2FibGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnd5c2l3eWdJbnRpYWxpemVkKSB7XG4gICAgICAgICAgICBjb25zdCBlZCA9IHRpbnltY2UuZ2V0KHRoaXMudGlueUhvc3RJZCk7XG4gICAgICAgICAgICBlZC5nZXRCb2R5KCkuc2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnLCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc2V0UmVhZE9ubHkocmVhZE9ubHkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMud3lzaXd5Z0ludGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGVkID0gdGlueW1jZS5nZXQodGhpcy50aW55SG9zdElkKTtcbiAgICAgICAgICAgIGVkLmdldEJvZHkoKS5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScsICFyZWFkT25seSk7XG4gICAgICAgICAgICBpZiAocmVhZE9ubHkpIHtcbiAgICAgICAgICAgICAgICAkKCcudG94LWVkaXRvci1oZWFkZXInKS5oaWRlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICQoJy50b3gtZWRpdG9yLWhlYWRlcicpLmhpZGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRlc3Ryb3lUaW55bWNlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5TZXR0aW5nLklzSHRtbFZpZXdlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVkID0gdGlueW1jZS5nZXQodGhpcy50aW55SG9zdElkKTtcbiAgICAgICAgaWYgKGVkKSB7XG4gICAgICAgICAgICAvLyB0aW55bWNlLmV4ZWNDb21tYW5kKCdtY2VSZW1vdmVDb250cm9sJywgdHJ1ZSwgdGhpcy50aW55SG9zdElkKTtcbiAgICAgICAgICAgIGlmIChlZC5pZnJhbWVFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgZWQuaWZyYW1lRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdsb2FkJywgdGhpcy5fb25Mb2FkSWZyYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVkLmRlc3Ryb3koZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByaXZhdGUgdXBsb2FkRmlsZShmaWxlczogRmlsZVtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VwbG9hZFNlcnZpY2UuY29tcHJlc3NGaWxlcyQoZmlsZXMpLnBpcGUoXG4gICAgICAgICAgICBjb25jYXRNYXAoKGZvcm1EYXRhOiBGb3JtRGF0YSkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLl91cGxvYWRTZXJ2aWNlLnVwbG9hZChmb3JtRGF0YSwgdGhpcy5TZXR0aW5nLlN0b3JhZ2VGaWxlRmllbGRJZCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFwKChyZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlcykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwaWN0dXJlID0gcmVzWzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwaWN0dXJlLkVycm9yTXNnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhcnNhQXBpLkJ3Lk1zZy5FcnJvcihwaWN0dXJlLkVycm9yTXNnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucGljdHVyZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsZUlkOiBwaWN0dXJlLkZpbGVJZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWRkSW1hZ2VzKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuICAgIHByaXZhdGUgX2FkZEltYWdlcyhmaWxlOiB7IEZpbGVJZDogc3RyaW5nIH0pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdXJsID0gJy9JSC5hc2h4P3R5PVN0b3JhZ2VGaWxlJmtleT0nICsgZmlsZS5GaWxlSWQ7XG4gICAgICAgIGNvbnN0IGh0bWwgPSAnPGltZyBzcmM9JyArIHVybCArICcgLz4nO1xuXG4gICAgICAgIHRoaXMuZWRpdG9yLmV4ZWNDb21tYW5kKCdtY2VJbnNlcnRDb250ZW50JywgZmFsc2UsIGh0bWwpO1xuICAgIH1cbiAgICBwcml2YXRlIHByZXBhcmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5pdGlsaXplKCk7XG4gICAgICAgIHRpbnltY2UuaW5pdCh0aGlzLnRpbnlNQ0VDb25maWcpO1xuICAgICAgICB0aGlzLmludGlhbGl6YXRpb25JblByb2dyZXNzID0gZmFsc2U7XG4gICAgICAgIHRoaXMud3lzaXd5Z0ludGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cbiAgICBwcml2YXRlIF9vbkxvYWRJZnJhbWUgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmVkaXRvclZhbHVlO1xuICAgICAgICAvLyBjb25zdCBlZCA9IHRpbnltY2UuZ2V0KHRoaXMudGlueUhvc3RJZCk7XG4gICAgICAgIC8vIGVkLmV4ZWNDb21tYW5kKCdtY2VJbnNlcnRDb250ZW50JywgZmFsc2UsIHRoaXMudmFsdWUpO1xuXG4gICAgICAgIC8vIGVkLmluc2VydENvbnRlbnQodGhpcy52YWx1ZSwgeyBmb3JtYXQ6ICdyYXcnIH0pO1xuICAgICAgICAvLyB0aGlzLl9yZW1vdmVPdmVyZmxvdyhlZCk7XG4gICAgICAgIHRoaXMuZGVzdHJveVRpbnltY2UoKTtcbiAgICAgICAgdGhpcy5wcmVwYXJlKCk7XG4gICAgfTtcbiAgICBwcml2YXRlIF9nZW5lcmF0ZVRpbnlIb3N0SWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGBhXyR7Z2V0VW5pcXVlSWQoMil9YDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZW1vdmVPdmVyZmxvdyhlZDogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGh0bWwgPSBlZC5pZnJhbWVFbGVtZW50Py5jb250ZW50RG9jdW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoJ2h0bWwnKTtcbiAgICAgICAgaWYgKGh0bWwpIHtcbiAgICAgICAgICAgIGh0bWwuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmZC1pbnB1dCB0aW55d3JhcHBlclwiIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cImhlaWdodFwiIFtpZF09XCJ0aW55SG9zdElkXCI+PC9kaXY+XG48ZmQtZmlsZS11cGxvYWRlclxuICAgICN1cGxvYWRlclxuICAgIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiXG4gICAgW2FjY2VwdF09XCInJ1wiXG4gICAgW211bHRpcGxlXT1cImZhbHNlXCJcbiAgICAoc2VsZWN0ZWRGaWxlc0NoYW5nZWQpPVwib25GaWxlU2VsZWN0aW9uKCRldmVudClcIlxuPjwvZmQtZmlsZS11cGxvYWRlcj5cbjwhLS0gPHRleHRhcmVhIFtpZF09XCJ0aW55SG9zdElkXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMCU7IHZpc2liaWxpdHk6IGhpZGRlblwiPjwvdGV4dGFyZWE+IC0tPlxuIl19
@@ -170,6 +170,8 @@ import { BarsaToolbaritemSearchComponent } from './barsa-toolbaritem-search/bars
170
170
  import { UiHtmlViewerComponent } from './ui-html-viewer/ui-html-viewer.component';
171
171
  import { BarsaPishnamayeshPayamComponent } from './barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component';
172
172
  import { BarsaTextEllipsisComponent } from './barsa-text-ellipsis/barsa-text-ellipsis.component';
173
+ import { BarsaListFileLinearGmailComponent } from './barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component';
174
+ import { BarsaLinkableItemsPanelComponent } from './barsa-linkable-items-panel/barsa-linkable-items-panel.component';
173
175
  export const components = [
174
176
  UiTextFieldComponent,
175
177
  LyLayoutFieldLabelComponent,
@@ -327,7 +329,9 @@ export const components = [
327
329
  BarsaToolbaritemSearchComponent,
328
330
  UiHtmlViewerComponent,
329
331
  BarsaPishnamayeshPayamComponent,
330
- BarsaTextEllipsisComponent
332
+ BarsaTextEllipsisComponent,
333
+ BarsaListFileLinearGmailComponent,
334
+ BarsaLinkableItemsPanelComponent
331
335
  ];
332
336
  export const pipes = [
333
337
  UploadFileStatusPipe,
@@ -443,4 +447,4 @@ export const INIT_SAPFIORI = (rtlService, contentDensityService, themeService, p
443
447
  }
444
448
  });
445
449
  };
446
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTBELGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkgsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBaUIsTUFBTSxzQkFBc0IsQ0FBQztBQUN2SCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUN2SCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUMvRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN0RyxPQUFPLEVBQUUs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ckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztxQkFDN0M7b0JBQ0QsTUFBTTthQUNiO1NBQ0o7UUFDRCxJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDNUIsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQzthQUN0RTtpQkFBTTtnQkFDSCxRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQ3ZFO1lBQ0QsYUFBYSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDeEQ7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJ0bFNlcnZpY2UsIFRoZW1lc1NlcnZpY2UsIEdsb2JhbENvbnRlbnREZW5zaXR5U2VydmljZSwgQ29udGVudERlbnNpdHlNb2RlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcbmltcG9ydCB7IEJhcnNhQXBpLCBnZXREZXZpY2VJc01vYmlsZSwgZ2V0RGV2aWNlSXNQaG9uZSwgZ2V0RGV2aWNlSXNUYWJsZXQsIFBvcnRhbFNlcnZpY2UgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgVWlUZXh0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL3VpLXRleHQtZmllbGQvdWktdGV4dC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHlMYXlvdXRGaWVsZExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9seS1sYXlvdXQtZmllbGQtbGFiZWwvbHktbGF5b3V0LWZpZWxkLWxhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUNoZWNrQm94Q29tcG9uZW50IH0gZnJvbSAnLi91aS1jaGVjay1ib3gvdWktY2hlY2stYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaVNpbXBsZUNvbWJvQ29tcG9uZW50IH0gZnJvbSAnLi91aS1zaW1wbGUtY29tYm8vdWktc2ltcGxlLWNvbWJvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaVJhZGlvR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3VpLXJhZGlvLWdyb3VwL3VpLXJhZGlvLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUdyaWRDb21wb25lbnQgfSBmcm9tICcuL3VpLWdyaWQvdWktZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHlMYXlvdXRDb250YWluZXJPZlJvb3RDb21wb25lbnQgfSBmcm9tICcuL2x5LWxheW91dC1jb250YWluZXItb2Ytcm9vdC9seS1sYXlvdXQtY29udGFpbmVyLW9mLXJvb3QuY29tcG9uZW50JztcbmltcG9ydCB7IEx5TGF5b3V0UGFuZWxDb21wb25lbnQgfSBmcm9tICcuL2x5LWxheW91dC1wYW5lbC9seS1sYXlvdXQtcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFVpUmVhZE9ubHlGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vdWktcmVhZC1vbmx5LWZpZWxkL3VpLXJlYWQtb25seS1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlDb250YWluZXJXaXRoQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi91aS1jb250YWluZXItd2l0aC1idXR0b24vdWktY29udGFpbmVyLXdpdGgtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaVBpY3R1cmVGaWxlQ29tcG9uZW50IH0gZnJvbSAnLi91aS1waWN0dXJlLWZpbGUvdWktcGljdHVyZS1maWxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaU1vSW5mb1VsdkNvbWJvQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tby1pbmZvLXVsdi1jb21iby91aS1tby1pbmZvLXVsdi1jb21iby5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlNdWx0aVNlbGVjdENvbWJvQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tdWx0aS1zZWxlY3QtY29tYm8vdWktbXVsdGktc2VsZWN0LWNvbWJvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaU51bURlY2ltYWxVaUNvbXBvbmVudCB9IGZyb20gJy4vdWktbnVtLWRlY2ltYWwtdWkvdWktbnVtLWRlY2ltYWwtdWkuY29tcG9uZW50JztcbmltcG9ydCB7IFVpTnVtSW50VWlDb21wb25lbnQgfSBmcm9tICcuL3VpLW51bS1pbnQtdWkvdWktbnVtLWludC11aS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlUaW1lU3BhbkNvbXBvbmVudCB9IGZyb20gJy4vdWktdGltZS1zcGFuL3VpLXRpbWUtc3Bhbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlGaWxlTGluZWFyTGlzdEJveENvbXBvbmVudCB9IGZyb20gJy4vdWktZmlsZS1saW5lYXItbGlzdC1ib3gvdWktZmlsZS1saW5lYXItbGlzdC1ib3guY29tcG9uZW50JztcbmltcG9ydCB7IEx5RW1wdHlTcGFjZUNvbXBvbmVudCB9IGZyb20gJy4vbHktZW1wdHktc3BhY2UvbHktZW1wdHktc3BhY2UuY29tcG9uZW50JztcbmltcG9ydCB7IFVpU2luZ2xlUGljdHVyZUNvbXBvbmVudCB9IGZyb20gJy4vdWktc2luZ2xlLXBpY3R1cmUvdWktc2luZ2xlLXBpY3R1cmUuY29tcG9uZW50JztcbmltcG9ydCB7IFVsdlNlbGVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vdWx2LXNlbGVjdGlvbi91bHYtc2VsZWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbHZUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi91bHYtdG9vbGJhci91bHYtdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWx2UGFnaW5nQ29tcG9uZW50IH0gZnJvbSAnLi91bHYtcGFnaW5nL3Vsdi1wYWdpbmcuY29tcG9uZW50JztcbmltcG9ydCB7IFVpR3JpZFNvcnRTZXR0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmlkLXNvcnQtc2V0dGluZy91aS1ncmlkLXNvcnQtc2V0dGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlHcmlkU29ydEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3VpLWdyaWQtc29ydC1pdGVtL3VpLWdyaWQtc29ydC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUdyaWRDb2x1bW5zQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmlkLWNvbHVtbnMvdWktZ3JpZC1jb2x1bW5zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXNrQ29tcG9uZW50IH0gZnJvbSAnLi9tYXNrL21hc2suY29tcG9uZW50JztcbmltcG9ydCB7IFVpSW5mb0JhclBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi91aS1pbmZvLWJhci1wYW5lbC91aS1pbmZvLWJhci1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlGb3JtUGFuZWxUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi91aS1mb3JtLXBhbmVsLXRvb2xiYXIvdWktZm9ybS1wYW5lbC10b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUZvcm1QYW5lbENvbXBvbmVudCB9IGZyb20gJy4vdWktZm9ybS1wYW5lbC91aS1mb3JtLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaVNlYXJjaENvbW1hbmRJbmZvVWlDb21wb25lbnQgfSBmcm9tICcuL3VpLXNlYXJjaC1jb21tYW5kLWluZm8tdWkvdWktc2VhcmNoLWNvbW1hbmQtaW5mby11aS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWx2U2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3Vsdi1zZXR0aW5ncy91bHYtc2V0dGluZ3MuY29tcG9uZW50JztcbmltcG9ydCB7IFVpVGlueW1jZUNvbXBvbmVudCB9IGZyb20gJy4vdWktdGlueW1jZS91aS10aW55bWNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdWktYnV0dG9uL3VpLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlEYXRlVGltZUNvbXBvbmVudCB9IGZyb20gJy4vdWktZGF0ZS10aW1lL3VpLWRhdGUtdGltZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1kaWFsb2cvZm9ybS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEhlYWRlckZhY2V0S2V5VmFsdWVDb21wb25lbnQgfSBmcm9tICcuL2hlYWRlci1mYWNldC1rZXktdmFsdWUvaGVhZGVyLWZhY2V0LWtleS12YWx1ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGVhZGVyRmFjZXRGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9oZWFkZXItZmFjZXQtZm9ybS9oZWFkZXItZmFjZXQtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGVhZGVyRmFjZXRSYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9oZWFkZXItZmFjZXQtcmF0ZS9oZWFkZXItZmFjZXQtcmF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGVhZGVyRmFjZXRQcm9ncmVzc0NvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyLWZhY2V0LXByb2dyZXNzL2hlYWRlci1mYWNldC1wcm9ncmVzcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGVhZGVyRmFjZXRNaWNyb2NoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9oZWFkZXItZmFjZXQtbWljcm9jaGFydC9oZWFkZXItZmFjZXQtbWljcm9jaGFydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGVhZGVyRmFjZXRQbGFpblRleHRDb21wb25lbnQgfSBmcm9tICcuL2hlYWRlci1mYWNldC1wbGFpbi10ZXh0L2hlYWRlci1mYWNldC1wbGFpbi10ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaU1vSW5mb1N1YkZvcm1VaUNvbXBvbmVudCB9IGZyb20gJy4vdWktbW8taW5mby1zdWItZm9ybS11aS91aS1tby1pbmZvLXN1Yi1mb3JtLXVpLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXNwb25zaXZlVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vcmVzcG9uc2l2ZS10b29sYmFyL3Jlc3BvbnNpdmUtdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVzcG9uc2l2ZVRvb2xiYXJSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vcmVzcG9uc2l2ZS10b29sYmFyLXJlbmRlcmVyL3Jlc3BvbnNpdmUtdG9vbGJhci1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlUZXh0QXJlYUNvbXBvbmVudCB9IGZyb20gJy4vdWktdGV4dC1hcmVhL3VpLXRleHQtYXJlYS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF5b3V0Q29udHJvbENvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0LWNvbnRyb2wvbGF5b3V0LWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7IExheW91dFdpemFyZENvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0LXdpemFyZC9sYXlvdXQtd2l6YXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtV2l6YXJkQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLXdpemFyZC9mb3JtLXdpemFyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2l6YXJkTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi93aXphcmQtbGF5b3V0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGb3JtRGlhbG9nTGVzc0NvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1kaWFsb2ctbGVzcy9mb3JtLWRpYWxvZy1sZXNzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSaWNoVGV4dFN0YXRpY0NvbXBvbmVudCB9IGZyb20gJy4vcmljaC10ZXh0LXN0YXRpYy9yaWNoLXRleHQtc3RhdGljLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaVBpY3R1cmVzSW5mb0NvbXBvbmVudCB9IGZyb20gJy4vdWktcGljdHVyZXMtaW5mby91aS1waWN0dXJlcy1pbmZvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMeUhvcml6b250YWxMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2x5LWhvcml6b250YWwtbGF5b3V0L2x5LWhvcml6b250YWwtbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMeVZlcnRpY2FsTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9seS12ZXJ0aWNhbC1sYXlvdXQvbHktdmVydGljYWwtbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMeVRhYkNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vbHktdGFiLWNvbnRhaW5lci9seS10YWItY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMeVRhYlBhZ2VDb21wb25lbnQgfSBmcm9tICcuL2x5LXRhYi1wYWdlL2x5LXRhYi1wYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMeUxhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9seS1sYWJlbC9seS1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29sUmVuZGVyZXJEaXJlY3RpdmUgfSBmcm9tICcuL2NvbC1yZW5kZXJlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVWlNb0luZm9Db21ib1ZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vdWktbW8taW5mby1jb21iby12aWV3ZXIvdWktbW8taW5mby1jb21iby12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFVsTXNnQm94QWRhcHRlckNvbXBvbmVudCB9IGZyb20gJy4vdWwtbXNnLWJveC1hZGFwdGVyL3VsLW1zZy1ib3gtYWRhcHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGVhZGVyQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnLi9oZWFkZXItYXZhdGFyL2hlYWRlci1hdmF0YXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFwcGx5Q29uZGl0aW9uYWxGb3JtYXRzRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHBseS1jb25kaXRpb25hbC1mb3JtbWF0aW5ncy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVWlXb3JrZmxvd1BhbmVsVWlDb21wb25lbnQgfSBmcm9tICcuL3VpLXdvcmtmbG93LXBhbmVsLXVpL3VpLXdvcmtmbG93LXBhbmVsLXVpLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbHZDb250ZXh0TWVudUNvbXBvbmVudCB9IGZyb20gJy4vdWx2LWNvbnRleHQtbWVudS91bHYtY29udGV4dC1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbExvYWRpbmdNYXNrVWlDb21wb25lbnQgfSBmcm9tICcuL3VsLWxvYWRpbmctbWFzay11aS91bC1sb2FkaW5nLW1hc2stdWkuY29tcG9uZW50JztcbmltcG9ydCB7IFVpVGV4dEZpZWxkQXV0b0NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi91aS10ZXh0LWZpZWxkLWF1dG8tY29tcGxldGUvdWktdGV4dC1maWVsZC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXB0Y2hhRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2NhcHRjaGEtZmllbGQvY2FwdGNoYS1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHlTaW1wbGVMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vbHktc2ltcGxlLWxhYmVsL2x5LXNpbXBsZS1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2xvYmFsU2VhcmNoUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL2dsb2JhbC1zZWFyY2gtcGFuZWwvZ2xvYmFsLXNlYXJjaC1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2xvYmFsU2VhcmNoTW9kdWxlQ29tcG9uZW50IH0gZnJvbSAnLi9nbG9iYWwtc2VhcmNoLW1vZHVsZS9nbG9iYWwtc2VhcmNoLW1vZHVsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2xvYmFsU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi9nbG9iYWwtc2VhcmNoL2dsb2JhbC1zZWFyY2guY29tcG9uZW50JztcbmltcG9ydCB7IEh5cGVybGlua0NvbXBvbmVudCB9IGZyb20gJy4vaHlwZXJsaW5rL2h5cGVybGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RhdGljVGV4dENvbXBvbmVudCB9IGZyb20gJy4vc3RhdGljLXRleHQvc3RhdGljLXRleHQuY29tcG9uZW50JztcbmltcG9ydCB7IFVsVG9hc3RBZGFwdGVyQ29tcG9uZW50IH0gZnJvbSAnLi91bC10b2FzdC1hZGFwdGVyL3VsLXRvYXN0LWFkYXB0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1lc3NhZ2VTdHJpcENvbXBvbmVudCB9IGZyb20gJy4vbWVzc2FnZS1zdHJpcC9tZXNzYWdlLXN0cmlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUxpbmVhckxpc3RDb250YWluZXJXaXRoQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi91aS1saW5lYXItbGlzdC1jb250YWluZXItd2l0aC1idXR0b24vdWktbGluZWFyLWxpc3QtY29udGFpbmVyLXdpdGgtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGdW5kYW1lbnRhbER5bmFtaWNGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mdW5kYW1lbnRhbC1keW5hbWljLWZvcm0vZnVuZGFtZW50YWwtZHluYW1pYy1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYXlvdXRBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXQtYWN0aW9ucy9sYXlvdXQtYWN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHlMYXlvdXRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2x5LWxheW91dC1jb250YWluZXIvbHktbGF5b3V0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlVbHZGb3JtTXVsdGlTZWxlY3RVaUNvbXBvbmVudCB9IGZyb20gJy4vdWktdWx2LWZvcm0tbXVsdGktc2VsZWN0LXVpL3VpLXVsdi1mb3JtLW11bHRpLXNlbGVjdC11aS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWx2Rm9ybU11bHRpU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi91bHYtZm9ybS1tdWx0aS1zZWxlY3QvdWx2LWZvcm0tbXVsdGktc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbHZDb2x1bW5TZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdWx2LWNvbHVtbi1zZXR0aW5ncy91bHYtY29sdW1uLXNldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbHZGaWx0ZXJTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdWx2LWZpbHRlci1zZXR0aW5ncy91bHYtZmlsdGVyLXNldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbHZTb3J0U2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3Vsdi1zb3J0LXNldHRpbmdzL3Vsdi1zb3J0LXNldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbHZHcm91cGJ5U2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3Vsdi1ncm91cGJ5LXNldHRpbmdzL3Vsdi1ncm91cGJ5LXNldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUxpc3RGaWxlTGluZWFyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1saXN0LWZpbGUtbGluZWFyL2JhcnNhLWxpc3QtZmlsZS1saW5lYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFVpUGRmVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi91aS1wZGYtdmlld2VyL3VpLXBkZi12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhVGlueWVtY2VDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRpbnllbWNlL2JhcnNhLXRpbnllbWNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaU1vbmFjb0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vdWktbW9uYWNvLWVkaXRvci91aS1tb25hY28tZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYU1vbmFjb0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtbW9uYWNvLWVkaXRvci9iYXJzYS1tb25hY28tZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYURhdGVUaW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1kYXRlLXRpbWUtcGlja2VyL2JhcnNhLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhVHJlZUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRyZWUtaXRlbS9iYXJzYS10cmVlLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFVwbG9hZEZpbGVTdGF0dXNQaXBlIH0gZnJvbSAnLi91cGxvYWQtZmlsZS1zdGF0dXMucGlwZSc7XG5pbXBvcnQgeyBVaVN3aXRjaEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdWktc3dpdGNoLWJ1dHRvbi91aS1zd2l0Y2gtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUNvbG9yVWlDb21wb25lbnQgfSBmcm9tICcuL3VpLWNvbG9yLXVpL3VpLWNvbG9yLXVpLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMeUxpbmVDb21wb25lbnQgfSBmcm9tICcuL2x5LWxpbmUvbHktbGluZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlVbHZNYWluVWlDb21wb25lbnQgfSBmcm9tICcuL3VpLXVsdi1tYWluLXVpL3VpLXVsdi1tYWluLXVpLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXBvcnROYXZpZ2F0b3JDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydC1uYXZpZ2F0b3IvcmVwb3J0LW5hdmlnYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFuYWdlRmlsdGVyc1JlcG9ydENvbXBvbmVudCB9IGZyb20gJy4vbWFuYWdlLWZpbHRlcnMtcmVwb3J0L21hbmFnZS1maWx0ZXJzLXJlcG9ydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVwb3J0U2VhcmNoRmllbGRzTWFuYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9yZXBvcnQtc2VhcmNoLWZpZWxkcy1tYW5hZ2UvcmVwb3J0LXNlYXJjaC1maWVsZHMtbWFuYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXBvcnRTZWFyY2hGaWVsZHNIaWRkZW5TZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0LXNlYXJjaC1maWVsZHMtaGlkZGVuLXNldHRpbmdzL3JlcG9ydC1zZWFyY2gtZmllbGRzLWhpZGRlbi1zZXR0aW5ncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1wYW5lbC9zZWFyY2gtcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFJlcG9ydFNlYXJjaFBhbmVsU2F2ZUNvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0LXNlYXJjaC1wYW5lbC1zYXZlL3JlcG9ydC1zZWFyY2gtcGFuZWwtc2F2ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlHcmlkRmlsdGVyU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3VpLWdyaWQtZmlsdGVyLXNldHRpbmdzL3VpLWdyaWQtZmlsdGVyLXNldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUdyaWRGaWx0ZXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmlkLWZpbHRlci1pdGVtL3VpLWdyaWQtZmlsdGVyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFNhcEZvbnRQaXBlIH0gZnJvbSAnLi9zYXAtZm9udC5waXBlJztcbmltcG9ydCB7IFNhcEZvbnRDbGFzc1BpcGUgfSBmcm9tICcuL3NhcC1mb250LWNsYXNzLnBpcGUnO1xuaW1wb3J0IHsgVWlEYXRlUmFuZ2VFeENvbXBvbmVudCB9IGZyb20gJy4vdWktZGF0ZS1yYW5nZS1leC91aS1kYXRlLXJhbmdlLWV4LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbE5vdGlmeVBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi91bC1ub3RpZnktcG9wdXAvdWwtbm90aWZ5LXBvcHVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaVRhYmxlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdWktdGFibGUtdmlldy91aS10YWJsZS12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUxpc3RWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi91aS1saXN0LXZpZXcvdWktbGlzdC12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdHJpbmdUb0FycmF5UGlwZSwgVWlDYXJkVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdWktY2FyZC12aWV3L3VpLWNhcmQtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlSZXBvcnRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3VpLXJlcG9ydC1jb250YWluZXIvdWktcmVwb3J0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm9EYXRhQ29tcG9uZW50IH0gZnJvbSAnLi9uby1kYXRhL25vLWRhdGEuY29tcG9uZW50JztcbmltcG9ydCB7IENvbHVtblJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb2x1bW4tcmVuZGVyZXIvY29sdW1uLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbmxpbmVTYXZlQW5kQ2FuY2VsQ29tcG9uZW50IH0gZnJvbSAnLi9pbmxpbmUtc2F2ZS1hbmQtY2FuY2VsL2lubGluZS1zYXZlLWFuZC1jYW5jZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFVpVHJlZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3VpLXRyZWUtdmlldy91aS10cmVlLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IFVpVHJlZUNvbXBvbmVudCB9IGZyb20gJy4vdWktdHJlZS91aS10cmVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUNhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnLi91aS1jYWxlbmRhci91aS1jYWxlbmRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm9kZUhhc09uZURlcHRoTGV2ZWxQaXBlIH0gZnJvbSAnLi9iYXJzYS10cmVlLWl0ZW0vbm9kZS1oYXMtb25lLWRlcHRoLWxldmVsLnBpcGUnO1xuaW1wb3J0IHsgVWlBc3BSZXBvcnRWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL3VpLWFzcC1yZXBvcnQtdmlld2VyL3VpLWFzcC1yZXBvcnQtdmlld2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUdyYXBoQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmFwaC91aS1ncmFwaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlFeGNlcHRpb25Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi91aS1leGNlcHRpb24tZm9ybS91aS1leGNlcHRpb24tZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlFZGl0YWJsZUdyaWRDb21wb25lbnQgfSBmcm9tICcuL3VpLWVkaXRhYmxlLWdyaWQvdWktZWRpdGFibGUtZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29sdW1uTWF0cml4UmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbHVtbi1tYXRyaXgtcmVuZGVyZXIvY29sdW1uLW1hdHJpeC1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlNYXRyaXhWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi91aS1tYXRyaXgtdmlldy91aS1tYXRyaXgtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tRGF0ZVRpbWVDb21wb25lbnQgfSBmcm9tICcuL2N1c3RvbS1kYXRlLXRpbWUvY3VzdG9tLWRhdGUtdGltZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0cml4VmFsdWVQaXBlIH0gZnJvbSAnLi9jb2x1bW4tbWF0cml4LXJlbmRlcmVyL21hdHJpeC12YWx1ZS5waXBlJztcbmltcG9ydCB7IEJhcnNhQXNwVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1hc3Atdmlld2VyL2JhcnNhLWFzcC12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVJbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZmlsZS1pbi1kaWFsb2cvZmlsZS1pbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNQYWdlU2l6ZVBpcGUgfSBmcm9tICcuL2R5bmFtaWMtcGFnZS1zaXplLnBpcGUnO1xuaW1wb3J0IHsgUmVwb3J0Vmlld1JlbmRlcmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9yZXBvcnQtdmlldy1yZW5kZXJlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVWlNb0luZm9HZW5lcmFsT2JqZWN0VWlDb21wb25lbnQgfSBmcm9tICcuL3VpLW1vLWluZm8tZ2VuZXJhbC1vYmplY3QtdWkvdWktbW8taW5mby1nZW5lcmFsLW9iamVjdC11aS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlHYW50dENoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi91aS1nYW50dC1jaGFydC91aS1nYW50dC1jaGFydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2FudHREaHRtbENoYXJ0Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vZ2FudHQtZGh0bWwtY2hhcnQtdmlldy9nYW50dC1kaHRtbC1jaGFydC12aWV3LmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IEZ1bGxzY3JlZW5EaWFsb2dEaXJlY3RpdmUgfSBmcm9tICcuL2Z1bGxzY3JlZW4tZGlhbG9nLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQcm9ncmVzc0luZGljYXRvckNvbXBvbmVudCB9IGZyb20gJy4vcHJvZ3Jlc3MtaW5kaWNhdG9yL3Byb2dyZXNzLWluZGljYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FyZFZpZXdDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jYXJkLXZpZXctY29udGVudC9jYXJkLXZpZXctY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FyZEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NhcmQtaXRlbS9jYXJkLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFVpQ2FyZFZpZXdIb3Jpem9udGFsR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3VpLWNhcmQtdmlldy1ob3Jpem9udGFsLWdyb3VwL3VpLWNhcmQtdmlldy1ob3Jpem9udGFsLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4vdGl0bGUvdGl0bGUuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhVWx2TWFpbkNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtdWx2LW1haW4vYmFyc2EtdWx2LW1haW4uY29tcG9uZW50JztcbmltcG9ydCB7IExpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LWl0ZW0vbGlzdC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIdHJlZUNyZWF0ZU5ld0NvbXBvbmVudCB9IGZyb20gJy4vaHRyZWUtY3JlYXRlLW5ldy9odHJlZS1jcmVhdGUtbmV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVRhYmxlUm93Q29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10YWJsZS1yb3cvYmFyc2EtdGFibGUtcm93LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10YWJsZS1jb2x1bW4vYmFyc2EtdGFibGUtY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVRhYmxlSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10YWJsZS1oZWFkZXIvYmFyc2EtdGFibGUtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCcmVhZGNydW1iQ29tcG9uZW50IH0gZnJvbSAnLi9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50JztcbmltcG9ydCB7IFVpTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL3VpLWxhYmVsL3VpLWxhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtVG9vbGJhckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS10b29sYmFyLWJ1dHRvbi9mb3JtLXRvb2xiYXItYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVNlYXJjaEZvcm1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXNlYXJjaC1mb3JtL2JhcnNhLXNlYXJjaC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXBvcnROZXdUb3BGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9yZXBvcnQtbmV3LXRvcC1mb3JtL3JlcG9ydC1uZXctdG9wLWZvcm0uY29tcG9uZW50JztcblxuaW1wb3J0IHsgQmFyc2FOZXR3b3JrT2ZmbGluZUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtbmV0d29yay1vZmZsaW5lL2JhcnNhLW5ldHdvcmstb2ZmbGluZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmxvYlZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vYmxvYi12aWV3ZXIvYmxvYi12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtdmlld2VyL2ZpbGUtdmlld2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWxlVmlld2VyQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vZmlsZS12aWV3ZXItY29udGVudC9maWxlLXZpZXdlci1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWxlVmlld2VyUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsZS12aWV3ZXItcG9wb3Zlci9maWxlLXZpZXdlci1wb3BvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEb3dubG9hZEZpbGVzRGlyZWN0aXZlIH0gZnJvbSAnLi9kb3dubG9hZC1maWxlcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnVsbHNjcmVlbkZpbGVzRGlyZWN0aXZlIH0gZnJvbSAnLi9mdWxsc2NyZWVuLWZpbGVzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9ub3RpZmljYXRpb24taXRlbS9ub3RpZmljYXRpb24taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FDYXJ0YWJsZVRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jYXJ0YWJsZS10ZW1wbGF0ZS9iYXJzYS1jYXJ0YWJsZS10ZW1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FDYXJ0YWJsZUdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1ncm91cC1jYXJ0YWJsZS9iYXJzYS1jYXJ0YWJsZS1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FDYXJ0YWJsZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNhcnRhYmxlLWZvcm0vYmFyc2EtY2FydGFibGUtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FDb2x1bW5JbmRpY2F0b3JDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNvbHVtbi1pbmRpY2F0b3IvYmFyc2EtY29sdW1uLWluZGljYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FGaWVsZEtleVZhbHVlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1maWVsZC1rZXktdmFsdWUvYmFyc2EtZmllbGQta2V5LXZhbHVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVRvb2xiYXJpdGVtU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10b29sYmFyaXRlbS1zZWFyY2gvYmFyc2EtdG9vbGJhcml0ZW0tc2VhcmNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUh0bWxWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL3VpLWh0bWwtdmlld2VyL3VpLWh0bWwtdmlld2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVBpc2huYW1heWVzaFBheWFtQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1waXNobmFtYXllc2gtcGF5YW0vYmFyc2EtcGlzaG5hbWF5ZXNoLXBheWFtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVRleHRFbGxpcHNpc0NvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtdGV4dC1lbGxpcHNpcy9iYXJzYS10ZXh0LWVsbGlwc2lzLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBjb21wb25lbnRzID0gW1xuICAgIFVpVGV4dEZpZWxkQ29tcG9uZW50LFxuICAgIEx5TGF5b3V0RmllbGRMYWJlbENvbXBvbmVudCxcbiAgICBVaUNoZWNrQm94Q29tcG9uZW50LFxuICAgIFVpU2ltcGxlQ29tYm9Db21wb25lbnQsXG4gICAgVWlSYWRpb0dyb3VwQ29tcG9uZW50LFxuICAgIFVpR3JpZENvbXBvbmVudCxcbiAgICBMeUxheW91dENvbnRhaW5lck9mUm9vdENvbXBvbmVudCxcbiAgICBMeUxheW91dFBhbmVsQ29tcG9uZW50LFxuICAgIFVpUmVhZE9ubHlGaWVsZENvbXBvbmVudCxcbiAgICBVaUNvbnRhaW5lcldpdGhCdXR0b25Db21wb25lbnQsXG4gICAgVWlQaWN0dXJlRmlsZUNvbXBvbmVudCxcbiAgICBVaU1vSW5mb1VsdkNvbWJvQ29tcG9uZW50LFxuICAgIFVpTXVsdGlTZWxlY3RDb21ib0NvbXBvbmVudCxcbiAgICBVaU51bURlY2ltYWxVaUNvbXBvbmVudCxcbiAgICBVaU51bUludFVpQ29tcG9uZW50LFxuICAgIFVpVGltZVNwYW5Db21wb25lbnQsXG4gICAgVWlGaWxlTGluZWFyTGlzdEJveENvbXBvbmVudCxcbiAgICBMeUVtcHR5U3BhY2VDb21wb25lbnQsXG4gICAgVWlTaW5nbGVQaWN0dXJlQ29tcG9uZW50LFxuICAgIFVsdlNlbGVjdGlvbkNvbXBvbmVudCxcbiAgICBVbHZUb29sYmFyQ29tcG9uZW50LFxuICAgIFVsdlBhZ2luZ0NvbXBvbmVudCxcbiAgICBVaUdyaWRTb3J0U2V0dGluZ0NvbXBvbmVudCxcbiAgICBVaUdyaWRTb3J0SXRlbUNvbXBvbmVudCxcbiAgICBVaUdyaWRDb2x1bW5zQ29tcG9uZW50LFxuICAgIE1hc2tDb21wb25lbnQsXG4gICAgVWlJbmZvQmFyUGFuZWxDb21wb25lbnQsXG4gICAgVWlGb3JtUGFuZWxUb29sYmFyQ29tcG9uZW50LFxuICAgIFVpRm9ybVBhbmVsQ29tcG9uZW50LFxuICAgIFVpU2VhcmNoQ29tbWFuZEluZm9VaUNvbXBvbmVudCxcbiAgICBVbHZTZXR0aW5nc0NvbXBvbmVudCxcbiAgICBVaVRpbnltY2VDb21wb25lbnQsXG4gICAgVWlCdXR0b25Db21wb25lbnQsXG4gICAgVWlEYXRlVGltZUNvbXBvbmVudCxcbiAgICBGb3JtRGlhbG9nQ29tcG9uZW50LFxuICAgIEhlYWRlckZhY2V0S2V5VmFsdWVDb21wb25lbnQsXG4gICAgSGVhZGVyRmFjZXRGb3JtQ29tcG9uZW50LFxuICAgIEhlYWRlckZhY2V0UmF0ZUNvbXBvbmVudCxcbiAgICBIZWFkZXJGYWNldFByb2dyZXNzQ29tcG9uZW50LFxuICAgIEhlYWRlckZhY2V0TWljcm9jaGFydENvbXBvbmVudCxcbiAgICBIZWFkZXJGYWNldFBsYWluVGV4dENvbXBvbmVudCxcbiAgICBVaU1vSW5mb1N1YkZvcm1VaUNvbXBvbmVudCxcbiAgICBSZXNwb25zaXZlVG9vbGJhckNvbXBvbmVudCxcbiAgICBSZXNwb25zaXZlVG9vbGJhclJlbmRlcmVyQ29tcG9uZW50LFxuICAgIFVpVGV4dEFyZWFDb21wb25lbnQsXG4gICAgTGF5b3V0Q29udHJvbENvbXBvbmVudCxcbiAgICBMYXlvdXRXaXphcmRDb21wb25lbnQsXG4gICAgRm9ybVdpemFyZENvbXBvbmVudCxcbiAgICBGb3JtRGlhbG9nTGVzc0NvbXBvbmVudCxcbiAgICBSaWNoVGV4dFN0YXRpY0NvbXBvbmVudCxcbiAgICBVaVBpY3R1cmVzSW5mb0NvbXBvbmVudCxcbiAgICBMeUhvcml6b250YWxMYXlvdXRDb21wb25lbnQsXG4gICAgTHlWZXJ0aWNhbExheW91dENvbXBvbmVudCxcbiAgICBMeVRhYkNvbnRhaW5lckNvbXBvbmVudCxcbiAgICBMeVRhYlBhZ2VDb21wb25lbnQsXG4gICAgTHlMYWJlbENvbXBvbmVudCxcbiAgICBVaU1vSW5mb0NvbWJvVmlld2VyQ29tcG9uZW50LFxuICAgIFVsTXNnQm94QWRhcHRlckNvbXBvbmVudCxcbiAgICBVaVRyZWVDb21wb25lbnQsXG4gICAgSGVhZGVyQXZhdGFyQ29tcG9uZW50LFxuICAgIFVpV29ya2Zsb3dQYW5lbFVpQ29tcG9uZW50LFxuICAgIFVsdkNvbnRleHRNZW51Q29tcG9uZW50LFxuICAgIFVsTG9hZGluZ01hc2tVaUNvbXBvbmVudCxcbiAgICBVaVRleHRGaWVsZEF1dG9Db21wbGV0ZUNvbXBvbmVudCxcbiAgICBDYXB0Y2hhRmllbGRDb21wb25lbnQsXG4gICAgTHlTaW1wbGVMYWJlbENvbXBvbmVudCxcbiAgICBHbG9iYWxTZWFyY2hQYW5lbENvbXBvbmVudCxcbiAgICBHbG9iYWxTZWFyY2hNb2R1bGVDb21wb25lbnQsXG4gICAgR2xvYmFsU2VhcmNoQ29tcG9uZW50LFxuICAgIEh5cGVybGlua0NvbXBvbmVudCxcbiAgICBTdGF0aWNUZXh0Q29tcG9uZW50LFxuICAgIFVsVG9hc3RBZGFwdGVyQ29tcG9uZW50LFxuICAgIE1lc3NhZ2VTdHJpcENvbXBvbmVudCxcbiAgICBVaUxpbmVhckxpc3RDb250YWluZXJXaXRoQnV0dG9uQ29tcG9uZW50LFxuICAgIEZ1bmRhbWVudGFsRHluYW1pY0Zvcm1Db21wb25lbnQsXG4gICAgTGF5b3V0QWN0aW9uc0NvbXBvbmVudCxcbiAgICBMeUxheW91dENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBVaVVsdkZvcm1NdWx0aVNlbGVjdFVpQ29tcG9uZW50LFxuICAgIFVsdkZvcm1NdWx0aVNlbGVjdENvbXBvbmVudCxcbiAgICBVbHZDb2x1bW5TZXR0aW5nc0NvbXBvbmVudCxcbiAgICBVbHZGaWx0ZXJTZXR0aW5nc0NvbXBvbmVudCxcbiAgICBVbHZTb3J0U2V0dGluZ3NDb21wb25lbnQsXG4gICAgVWx2R3JvdXBieVNldHRpbmdzQ29tcG9uZW50LFxuICAgIEJhcnNhTGlzdEZpbGVMaW5lYXJDb21wb25lbnQsXG4gICAgVWlQZGZWaWV3ZXJDb21wb25lbnQsXG4gICAgQmFyc2FUaW55ZW1jZUNvbXBvbmVudCxcbiAgICBVaU1vbmFjb0VkaXRvckNvbXBvbmVudCxcbiAgICBCYXJzYU1vbmFjb0VkaXRvckNvbXBvbmVudCxcbiAgICBCYXJzYURhdGVUaW1lUGlja2VyQ29tcG9uZW50LFxuICAgIEJhcnNhVHJlZUl0ZW1Db21wb25lbnQsXG4gICAgVWlTd2l0Y2hCdXR0b25Db21wb25lbnQsXG4gICAgVWlDb2xvclVpQ29tcG9uZW50LFxuICAgIEx5TGluZUNvbXBvbmVudCxcbiAgICBVaVVsdk1haW5VaUNvbXBvbmVudCxcbiAgICBSZXBvcnROYXZpZ2F0b3JDb21wb25lbnQsXG4gICAgTWFuYWdlRmlsdGVyc1JlcG9ydENvbXBvbmVudCxcbiAgICBSZXBvcnRTZWFyY2hGaWVsZHNNYW5hZ2VDb21wb25lbnQsXG4gICAgUmVwb3J0U2VhcmNoRmllbGRzSGlkZGVuU2V0dGluZ3NDb21wb25lbnQsXG4gICAgU2VhcmNoUGFuZWxDb21wb25lbnQsXG4gICAgUmVwb3J0U2VhcmNoUGFuZWxTYXZlQ29tcG9uZW50LFxuICAgIFVpR3JpZEZpbHRlclNldHRpbmdzQ29tcG9uZW50LFxuICAgIFVpR3JpZEZpbHRlckl0ZW1Db21wb25lbnQsXG4gICAgVWlEYXRlUmFuZ2VFeENvbXBvbmVudCxcbiAgICBVbE5vdGlmeVBvcHVwQ29tcG9uZW50LFxuICAgIFVpVGFibGVWaWV3Q29tcG9uZW50LFxuICAgIFVpTGlzdFZpZXdDb21wb25lbnQsXG4gICAgVWlDYXJkVmlld0NvbXBvbmVudCxcbiAgICBVaVJlcG9ydENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBOb0RhdGFDb21wb25lbnQsXG4gICAgQ29sdW1uUmVuZGVyZXJDb21wb25lbnQsXG4gICAgSW5saW5lU2F2ZUFuZENhbmNlbENvbXBvbmVudCxcbiAgICBVaVRyZWVWaWV3Q29tcG9uZW50LFxuICAgIElubGluZVNhdmVBbmRDYW5jZWxDb21wb25lbnQsXG4gICAgVWlDYWxlbmRhckNvbXBvbmVudCxcbiAgICBVaUFzcFJlcG9ydFZpZXdlckNvbXBvbmVudCxcbiAgICBVaUdyYXBoQ29tcG9uZW50LFxuICAgIFVpRXhjZXB0aW9uRm9ybUNvbXBvbmVudCxcbiAgICBVaUVkaXRhYmxlR3JpZENvbXBvbmVudCxcbiAgICBDb2x1bW5NYXRyaXhSZW5kZXJlckNvbXBvbmVudCxcbiAgICBVaU1hdHJpeFZpZXdDb21wb25lbnQsXG4gICAgQ3VzdG9tRGF0ZVRpbWVDb21wb25lbnQsXG4gICAgQmFyc2FBc3BWaWV3ZXJDb21wb25lbnQsXG4gICAgRmlsZUluRGlhbG9nQ29tcG9uZW50LFxuICAgIFVpTW9JbmZvR2VuZXJhbE9iamVjdFVpQ29tcG9uZW50LFxuICAgIFVpR2FudHRDaGFydENvbXBvbmVudCxcbiAgICBHYW50dERodG1sQ2hhcnRWaWV3Q29tcG9uZW50LFxuICAgIFByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50LFxuICAgIENhcmRWaWV3Q29udGVudENvbXBvbmVudCxcbiAgICBDYXJkSXRlbUNvbXBvbmVudCxcbiAgICBVaUNhcmRWaWV3SG9yaXpvbnRhbEdyb3VwQ29tcG9uZW50LFxuICAgIFRpdGxlQ29tcG9uZW50LFxuICAgIEJhcnNhVWx2TWFpbkNvbXBvbmVudCxcbiAgICBMaXN0SXRlbUNvbXBvbmVudCxcbiAgICBIdHJlZUNyZWF0ZU5ld0NvbXBvbmVudCxcbiAgICBCYXJzYVRhYmxlSGVhZGVyQ29tcG9uZW50LFxuICAgIEJhcnNhVGFibGVSb3dDb21wb25lbnQsXG4gICAgQmFyc2FUYWJsZUNvbHVtbkNvbXBvbmVudCxcbiAgICBCcmVhZGNydW1iQ29tcG9uZW50LFxuICAgIFVpTGFiZWxDb21wb25lbnQsXG4gICAgRm9ybVRvb2xiYXJCdXR0b25Db21wb25lbnQsXG4gICAgQmFyc2FTZWFyY2hGb3JtQ29tcG9uZW50LFxuICAgIFJlcG9ydE5ld1RvcEZvcm1Db21wb25lbnQsXG4gICAgQmFyc2FOZXR3b3JrT2ZmbGluZUNvbXBvbmVudCxcbiAgICBGaWxlVmlld2VyQ29udGVudENvbXBvbmVudCxcbiAgICBGaWxlVmlld2VyUG9wb3ZlckNvbXBvbmVudCxcbiAgICBGaWxlVmlld2VyQ29tcG9uZW50LFxuICAgIEJsb2JWaWV3ZXJDb21wb25lbnQsXG4gICAgTm90aWZpY2F0aW9uSXRlbUNvbXBvbmVudCxcbiAgICBCYXJzYUNhcnRhYmxlVGVtcGxhdGVDb21wb25lbnQsXG4gICAgQmFyc2FDYXJ0YWJsZUdyb3VwQ29tcG9uZW50LFxuICAgIEJhcnNhQ2FydGFibGVGb3JtQ29tcG9uZW50LFxuICAgIEJhcnNhQ29sdW1uSW5kaWNhdG9yQ29tcG9uZW50LFxuICAgIEJhcnNhRmllbGRLZXlWYWx1ZUNvbXBvbmVudCxcbiAgICBCYXJzYVRvb2xiYXJpdGVtU2VhcmNoQ29tcG9uZW50LFxuICAgIFVpSHRtbFZpZXdlckNvbXBvbmVudCxcbiAgICBCYXJzYVBpc2huYW1heWVzaFBheWFtQ29tcG9uZW50LFxuICAgIEJhcnNhVGV4dEVsbGlwc2lzQ29tcG9uZW50XG5dO1xuZXhwb3J0IGNvbnN0IHBpcGVzID0gW1xuICAgIFVwbG9hZEZpbGVTdGF0dXNQaXBlLFxuICAgIFNhcEZvbnRQaXBlLFxuICAgIFNhcEZvbnRDbGFzc1BpcGUsXG4gICAgU3RyaW5nVG9BcnJheVBpcGUsXG4gICAgTm9kZUhhc09uZURlcHRoTGV2ZWxQaXBlLFxuICAgIE1hdHJpeFZhbHVlUGlwZSxcbiAgICBEeW5hbWljUGFnZVNpemVQaXBlXG5dO1xuZXhwb3J0IGNvbnN0IGRpcmVjdGl2ZXMgPSBbXG4gICAgV2l6YXJkTGF5b3V0RGlyZWN0aXZlLFxuICAgIENvbFJlbmRlcmVyRGlyZWN0aXZlLFxuICAgIEFwcGx5Q29uZGl0aW9uYWxGb3JtYXRzRGlyZWN0aXZlLFxuICAgIFJlcG9ydFZpZXdSZW5kZXJlckRpcmVjdGl2ZSxcbiAgICBGdWxsc2NyZWVuRGlhbG9nRGlyZWN0aXZlLFxuICAgIEZ1bGxzY3JlZW5GaWxlc0RpcmVjdGl2ZSxcbiAgICBEb3dubG9hZEZpbGVzRGlyZWN0aXZlXG5dO1xuXG5leHBvcnQgY29uc3QgSU5JVF9TQVBGSU9SSSA9XG4gICAgKFxuICAgICAgICBydGxTZXJ2aWNlOiBSdGxTZXJ2aWNlLFxuICAgICAgICBjb250ZW50RGVuc2l0eVNlcnZpY2U6IEdsb2JhbENvbnRlbnREZW5zaXR5U2VydmljZSxcbiAgICAgICAgdGhlbWVTZXJ2aWNlOiBUaGVtZXNTZXJ2aWNlLFxuICAgICAgICBwb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlXG4gICAgKSA9PlxuICAgICgpID0+IHtcbiAgICAgICAgcnRsU2VydmljZS5ydGwubmV4dChCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLklzUnRsKTtcbiAgICAgICAgbGV0IGZvbnRGYW1pbHkgPSAnSVJBTllla2FuRGlnaXRzJztcbiAgICAgICAgaWYgKEJhcnNhQXBpLkxvZ2luRm9ybURhdGEuQ3VsdHVyZSA9PT0gJ2VuLVVTJykge1xuICAgICAgICAgICAgZm9udEZhbWlseSA9ICdJUkFOU2Fuc1dlYic7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjc3MgPSBgKiB7XG4gICAgLS1mZER5bmFtaWNQYWdlX1RpdGxlX0ZvbnRfRmFtaWx5OiAnJHtmb250RmFtaWx5fSc7XG4gICAgLS1zYXBGb250RmFtaWx5OiAnJHtmb250RmFtaWx5fSc7XG4gICAgLS1mZFdpemFyZF9MYWJlbF9Gb250X0ZhbWlseTogJyR7Zm9udEZhbWlseX0nO1xuICAgIC0tc2FwRm9udExpZ2h0RmFtaWx5OiAnJHtmb250RmFtaWx5fSc7XG4gICAgLS1zYXBGb250SGVhZGVyRmFtaWx5OiAnJHtmb250RmFtaWx5fSc7XG4gICAgLS1fdWk1X2lucHV0X2NvbXBhY3RfaGVpZ2h0OiAxLjYyNXJlbTtcbiAgICAtLXNhcEZvbnRTaXplOiAwLjg4NXJlbTtcbiAgICAvKiAtLXNhcENvbnRlbnRfSGVhZGVyU2hhZG93OiBub25lOyAqL1xufWAsXG4gICAgICAgICAgICBoZWFkID0gZG9jdW1lbnQuaGVhZCB8fCBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLFxuICAgICAgICAgICAgc3R5bGU6IGFueSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG5cbiAgICAgICAgaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7XG5cbiAgICAgICAgc3R5bGUudHlwZSA9ICd0ZXh0L2Nzcyc7XG4gICAgICAgIGlmIChzdHlsZS5zdHlsZVNoZWV0KSB7XG4gICAgICAgICAgICAvLyBUaGlzIGlzIHJlcXVpcmVkIGZvciBJRTggYW5kIGJlbG93LlxuICAgICAgICAgICAgc3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gY3NzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3R5bGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKSk7XG4gICAgICAgIH1cblxuICAgICAgICBwb3J0YWxTZXJ2aWNlLnVzZXJQb3J0YWxTZXR0aW5ncyQucGlwZShmaWx0ZXIoKGMpID0+IGMgIT0gbnVsbCkpLnN1YnNjcmliZSgodXNlclNldHRpbmdzKSA9PiB7XG4gICAgICAgICAgICBsZXQgY29udGVudERlbnNpdHk6IGFueTtcbiAgICAgICAgICAgIGxldCB0aGVtZTogYW55O1xuICAgICAgICAgICAgaWYgKCF1c2VyU2V0dGluZ3MpIHtcbiAgICAgICAgICAgICAgICBpZiAoZ2V0RGV2aWNlSXNNb2JpbGUoKSB8fCBnZXREZXZpY2VJc1Bob25lKCkgfHwgZ2V0RGV2aWNlSXNUYWJsZXQoKSkge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50RGVuc2l0eSA9IENvbnRlbnREZW5zaXR5TW9kZS5DT1pZO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5ID0gQ29udGVudERlbnNpdHlNb2RlLkNPTVBBQ1Q7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IENvbnRlbnREZW5zaXR5JENhcHRpb24sIFRoZW1lJENhcHRpb24gfSA9IHVzZXJTZXR0aW5ncztcbiAgICAgICAgICAgICAgICBjb250ZW50RGVuc2l0eSA9IENvbnRlbnREZW5zaXR5JENhcHRpb247XG4gICAgICAgICAgICAgICAgdGhlbWUgPSBUaGVtZSRDYXB0aW9uO1xuICAgICAgICAgICAgICAgIGlmICghY29udGVudERlbnNpdHkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudERlbnNpdHkgPSBDb250ZW50RGVuc2l0eU1vZGUuQ09NUEFDVDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZ2V0RGV2aWNlSXNNb2JpbGUoKSB8fCBnZXREZXZpY2VJc1Bob25lKCkpIHtcbiAgICAgICAgICAgICAgICBjb250ZW50RGVuc2l0eSA9IENvbnRlbnREZW5zaXR5TW9kZS5DT1pZO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGNvbnRlbnREZW5zaXR5KSB7XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50RGVuc2l0eVNlcnZpY2UudXBkYXRlQ29udGVudERlbnNpdHkoY29udGVudERlbnNpdHkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBib2R5Q2xhc3NDb21wYWN0ID0gJ3VpNS1jb250ZW50LWRlbnNpdHktY29tcGFjdCc7XG4gICAgICAgICAgICAgICAgY29uc3QgYm9keUNsYXNzQ29uZGVuc2VkID0gJ3VpNS1jb250ZW50LWRlbnNpdHktY29uZGVuc2VkJztcbiAgICAgICAgICAgICAgICBjb25zdCBib2R5Q2xhc3NDb3p5ID0gJ3VpNS1jb250ZW50LWRlbnNpdHktY296eSc7XG4gICAgICAgICAgICAgICAgY29uc3QgYm9keSA9IGRvY3VtZW50Py5ib2R5O1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoY29udGVudERlbnNpdHkpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnY29uZGVuc2VkJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKGJvZHlDbGFzc0NvbmRlbnNlZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QuYWRkKGJvZHlDbGFzc0NvbmRlbnNlZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LnJlbW92ZShib2R5Q2xhc3NDb21wYWN0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5LmNsYXNzTGlzdC5yZW1vdmUoYm9keUNsYXNzQ296eSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdjb3p5JzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKGJvZHlDbGFzc0NvenkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LmFkZChib2R5Q2xhc3NDb3p5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKGJvZHlDbGFzc0NvbXBhY3QpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LnJlbW92ZShib2R5Q2xhc3NDb25kZW5zZWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2NvbXBhY3QnOlxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghYm9keS5jbGFzc0xpc3QuY29udGFpbnMoYm9keUNsYXNzQ29tcGFjdCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QuYWRkKGJvZHlDbGFzc0NvbXBhY3QpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5LmNsYXNzTGlzdC5yZW1vdmUoYm9keUNsYXNzQ296eSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKGJvZHlDbGFzc0NvbmRlbnNlZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhlbWUpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhlbWUuaW5kZXhPZignZGFyaycpID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdjb2xvci1zY2hlbWUnLCAnZGFyaycpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnY29sb3Itc2NoZW1lJywgJ2xpZ2h0Jyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHBvcnRhbFNlcnZpY2Uuc2V0VGhlbWUodGhlbWVTZXJ2aWNlLnNldFRoZW1lKHRoZW1lKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH07XG4iXX0=
450
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTBELGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkgsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBaUIsTUFBTSxzQkFBc0IsQ0FBQztBQUN2SCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUN2SCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUMvRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN0RyxPQUFPLEVBQUUs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NEJBQzVDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7eUJBQ3hDO3dCQUNELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO3dCQUNyQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO3FCQUM3QztvQkFDRCxNQUFNO2FBQ2I7U0FDSjtRQUNELElBQUksS0FBSyxFQUFFO1lBQ1AsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUM1QixRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQ3RFO2lCQUFNO2dCQUNILFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDdkU7WUFDRCxhQUFhLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUN4RDtJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUnRsU2VydmljZSwgVGhlbWVzU2VydmljZSwgR2xvYmFsQ29udGVudERlbnNpdHlTZXJ2aWNlLCBDb250ZW50RGVuc2l0eU1vZGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuaW1wb3J0IHsgQmFyc2FBcGksIGdldERldmljZUlzTW9iaWxlLCBnZXREZXZpY2VJc1Bob25lLCBnZXREZXZpY2VJc1RhYmxldCwgUG9ydGFsU2VydmljZSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBVaVRleHRGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vdWktdGV4dC1maWVsZC91aS10ZXh0LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMeUxheW91dEZpZWxkTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2x5LWxheW91dC1maWVsZC1sYWJlbC9seS1sYXlvdXQtZmllbGQtbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFVpQ2hlY2tCb3hDb21wb25lbnQgfSBmcm9tICcuL3VpLWNoZWNrLWJveC91aS1jaGVjay1ib3guY29tcG9uZW50JztcbmltcG9ydCB7IFVpU2ltcGxlQ29tYm9Db21wb25lbnQgfSBmcm9tICcuL3VpLXNpbXBsZS1jb21iby91aS1zaW1wbGUtY29tYm8uY29tcG9uZW50JztcbmltcG9ydCB7IFVpUmFkaW9Hcm91cENvbXBvbmVudCB9IGZyb20gJy4vdWktcmFkaW8tZ3JvdXAvdWktcmFkaW8tZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFVpR3JpZENvbXBvbmVudCB9IGZyb20gJy4vdWktZ3JpZC91aS1ncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMeUxheW91dENvbnRhaW5lck9mUm9vdENvbXBvbmVudCB9IGZyb20gJy4vbHktbGF5b3V0LWNvbnRhaW5lci1vZi1yb290L2x5LWxheW91dC1jb250YWluZXItb2Ytcm9vdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHlMYXlvdXRQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vbHktbGF5b3V0LXBhbmVsL2x5LWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlSZWFkT25seUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi91aS1yZWFkLW9ubHktZmllbGQvdWktcmVhZC1vbmx5LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUNvbnRhaW5lcldpdGhCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3VpLWNvbnRhaW5lci13aXRoLWJ1dHRvbi91aS1jb250YWluZXItd2l0aC1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFVpUGljdHVyZUZpbGVDb21wb25lbnQgfSBmcm9tICcuL3VpLXBpY3R1cmUtZmlsZS91aS1waWN0dXJlLWZpbGUuY29tcG9uZW50JztcbmltcG9ydCB7IFVpTW9JbmZvVWx2Q29tYm9Db21wb25lbnQgfSBmcm9tICcuL3VpLW1vLWluZm8tdWx2LWNvbWJvL3VpLW1vLWluZm8tdWx2LWNvbWJvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaU11bHRpU2VsZWN0Q29tYm9Db21wb25lbnQgfSBmcm9tICcuL3VpLW11bHRpLXNlbGVjdC1jb21iby91aS1tdWx0aS1zZWxlY3QtY29tYm8uY29tcG9uZW50JztcbmltcG9ydCB7IFVpTnVtRGVjaW1hbFVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS1udW0tZGVjaW1hbC11aS91aS1udW0tZGVjaW1hbC11aS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlOdW1JbnRVaUNvbXBvbmVudCB9IGZyb20gJy4vdWktbnVtLWludC11aS91aS1udW0taW50LXVpLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaVRpbWVTcGFuQ29tcG9uZW50IH0gZnJvbSAnLi91aS10aW1lLXNwYW4vdWktdGltZS1zcGFuLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUZpbGVMaW5lYXJMaXN0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi91aS1maWxlLWxpbmVhci1saXN0LWJveC91aS1maWxlLWxpbmVhci1saXN0LWJveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHlFbXB0eVNwYWNlQ29tcG9uZW50IH0gZnJvbSAnLi9seS1lbXB0eS1zcGFjZS9seS1lbXB0eS1zcGFjZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlTaW5nbGVQaWN0dXJlQ29tcG9uZW50IH0gZnJvbSAnLi91aS1zaW5nbGUtcGljdHVyZS91aS1zaW5nbGUtcGljdHVyZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWx2U2VsZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi91bHYtc2VsZWN0aW9uL3Vsdi1zZWxlY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFVsdlRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3Vsdi10b29sYmFyL3Vsdi10b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbHZQYWdpbmdDb21wb25lbnQgfSBmcm9tICcuL3Vsdi1wYWdpbmcvdWx2LXBhZ2luZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlHcmlkU29ydFNldHRpbmdDb21wb25lbnQgfSBmcm9tICcuL3VpLWdyaWQtc29ydC1zZXR0aW5nL3VpLWdyaWQtc29ydC1zZXR0aW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUdyaWRTb3J0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vdWktZ3JpZC1zb3J0LWl0ZW0vdWktZ3JpZC1zb3J0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFVpR3JpZENvbHVtbnNDb21wb25lbnQgfSBmcm9tICcuL3VpLWdyaWQtY29sdW1ucy91aS1ncmlkLWNvbHVtbnMuY29tcG9uZW50JztcbmltcG9ydCB7IE1hc2tDb21wb25lbnQgfSBmcm9tICcuL21hc2svbWFzay5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlJbmZvQmFyUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL3VpLWluZm8tYmFyLXBhbmVsL3VpLWluZm8tYmFyLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUZvcm1QYW5lbFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3VpLWZvcm0tcGFuZWwtdG9vbGJhci91aS1mb3JtLXBhbmVsLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFVpRm9ybVBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi91aS1mb3JtLXBhbmVsL3VpLWZvcm0tcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFVpU2VhcmNoQ29tbWFuZEluZm9VaUNvbXBvbmVudCB9IGZyb20gJy4vdWktc2VhcmNoLWNvbW1hbmQtaW5mby11aS91aS1zZWFyY2gtY29tbWFuZC1pbmZvLXVpLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbHZTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdWx2LXNldHRpbmdzL3Vsdi1zZXR0aW5ncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlUaW55bWNlQ29tcG9uZW50IH0gZnJvbSAnLi91aS10aW55bWNlL3VpLXRpbnltY2UuY29tcG9uZW50JztcbmltcG9ydCB7IFVpQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi91aS1idXR0b24vdWktYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaURhdGVUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi91aS1kYXRlLXRpbWUvdWktZGF0ZS10aW1lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWRpYWxvZy9mb3JtLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGVhZGVyRmFjZXRLZXlWYWx1ZUNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyLWZhY2V0LWtleS12YWx1ZS9oZWFkZXItZmFjZXQta2V5LXZhbHVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIZWFkZXJGYWNldEZvcm1Db21wb25lbnQgfSBmcm9tICcuL2hlYWRlci1mYWNldC1mb3JtL2hlYWRlci1mYWNldC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIZWFkZXJGYWNldFJhdGVDb21wb25lbnQgfSBmcm9tICcuL2hlYWRlci1mYWNldC1yYXRlL2hlYWRlci1mYWNldC1yYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIZWFkZXJGYWNldFByb2dyZXNzQ29tcG9uZW50IH0gZnJvbSAnLi9oZWFkZXItZmFjZXQtcHJvZ3Jlc3MvaGVhZGVyLWZhY2V0LXByb2dyZXNzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIZWFkZXJGYWNldE1pY3JvY2hhcnRDb21wb25lbnQgfSBmcm9tICcuL2hlYWRlci1mYWNldC1taWNyb2NoYXJ0L2hlYWRlci1mYWNldC1taWNyb2NoYXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIZWFkZXJGYWNldFBsYWluVGV4dENvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyLWZhY2V0LXBsYWluLXRleHQvaGVhZGVyLWZhY2V0LXBsYWluLXRleHQuY29tcG9uZW50JztcbmltcG9ydCB7IFVpTW9JbmZvU3ViRm9ybVVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tby1pbmZvLXN1Yi1mb3JtLXVpL3VpLW1vLWluZm8tc3ViLWZvcm0tdWkuY29tcG9uZW50JztcbmltcG9ydCB7IFJlc3BvbnNpdmVUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9yZXNwb25zaXZlLXRvb2xiYXIvcmVzcG9uc2l2ZS10b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXNwb25zaXZlVG9vbGJhclJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi9yZXNwb25zaXZlLXRvb2xiYXItcmVuZGVyZXIvcmVzcG9uc2l2ZS10b29sYmFyLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaVRleHRBcmVhQ29tcG9uZW50IH0gZnJvbSAnLi91aS10ZXh0LWFyZWEvdWktdGV4dC1hcmVhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYXlvdXRDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXQtY29udHJvbC9sYXlvdXQtY29udHJvbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF5b3V0V2l6YXJkQ29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXQtd2l6YXJkL2xheW91dC13aXphcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1XaXphcmRDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0td2l6YXJkL2Zvcm0td2l6YXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXaXphcmRMYXlvdXREaXJlY3RpdmUgfSBmcm9tICcuL3dpemFyZC1sYXlvdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZvcm1EaWFsb2dMZXNzQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWRpYWxvZy1sZXNzL2Zvcm0tZGlhbG9nLWxlc3MuY29tcG9uZW50JztcbmltcG9ydCB7IFJpY2hUZXh0U3RhdGljQ29tcG9uZW50IH0gZnJvbSAnLi9yaWNoLXRleHQtc3RhdGljL3JpY2gtdGV4dC1zdGF0aWMuY29tcG9uZW50JztcbmltcG9ydCB7IFVpUGljdHVyZXNJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi91aS1waWN0dXJlcy1pbmZvL3VpLXBpY3R1cmVzLWluZm8uY29tcG9uZW50JztcbmltcG9ydCB7IEx5SG9yaXpvbnRhbExheW91dENvbXBvbmVudCB9IGZyb20gJy4vbHktaG9yaXpvbnRhbC1sYXlvdXQvbHktaG9yaXpvbnRhbC1sYXlvdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEx5VmVydGljYWxMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2x5LXZlcnRpY2FsLWxheW91dC9seS12ZXJ0aWNhbC1sYXlvdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEx5VGFiQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9seS10YWItY29udGFpbmVyL2x5LXRhYi1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEx5VGFiUGFnZUNvbXBvbmVudCB9IGZyb20gJy4vbHktdGFiLXBhZ2UvbHktdGFiLXBhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEx5TGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2x5LWxhYmVsL2x5LWxhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb2xSZW5kZXJlckRpcmVjdGl2ZSB9IGZyb20gJy4vY29sLXJlbmRlcmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBVaU1vSW5mb0NvbWJvVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tby1pbmZvLWNvbWJvLXZpZXdlci91aS1tby1pbmZvLWNvbWJvLXZpZXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWxNc2dCb3hBZGFwdGVyQ29tcG9uZW50IH0gZnJvbSAnLi91bC1tc2ctYm94LWFkYXB0ZXIvdWwtbXNnLWJveC1hZGFwdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIZWFkZXJBdmF0YXJDb21wb25lbnQgfSBmcm9tICcuL2hlYWRlci1hdmF0YXIvaGVhZGVyLWF2YXRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXBwbHlDb25kaXRpb25hbEZvcm1hdHNEaXJlY3RpdmUgfSBmcm9tICcuL2FwcGx5LWNvbmRpdGlvbmFsLWZvcm1tYXRpbmdzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBVaVdvcmtmbG93UGFuZWxVaUNvbXBvbmVudCB9IGZyb20gJy4vdWktd29ya2Zsb3ctcGFuZWwtdWkvdWktd29ya2Zsb3ctcGFuZWwtdWkuY29tcG9uZW50JztcbmltcG9ydCB7IFVsdkNvbnRleHRNZW51Q29tcG9uZW50IH0gZnJvbSAnLi91bHYtY29udGV4dC1tZW51L3Vsdi1jb250ZXh0LW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IFVsTG9hZGluZ01hc2tVaUNvbXBvbmVudCB9IGZyb20gJy4vdWwtbG9hZGluZy1tYXNrLXVpL3VsLWxvYWRpbmctbWFzay11aS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlUZXh0RmllbGRBdXRvQ29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL3VpLXRleHQtZmllbGQtYXV0by1jb21wbGV0ZS91aS10ZXh0LWZpZWxkLWF1dG8tY29tcGxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IENhcHRjaGFGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY2FwdGNoYS1maWVsZC9jYXB0Y2hhLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMeVNpbXBsZUxhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9seS1zaW1wbGUtbGFiZWwvbHktc2ltcGxlLWxhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHbG9iYWxTZWFyY2hQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vZ2xvYmFsLXNlYXJjaC1wYW5lbC9nbG9iYWwtc2VhcmNoLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHbG9iYWxTZWFyY2hNb2R1bGVDb21wb25lbnQgfSBmcm9tICcuL2dsb2JhbC1zZWFyY2gtbW9kdWxlL2dsb2JhbC1zZWFyY2gtbW9kdWxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHbG9iYWxTZWFyY2hDb21wb25lbnQgfSBmcm9tICcuL2dsb2JhbC1zZWFyY2gvZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHlwZXJsaW5rQ29tcG9uZW50IH0gZnJvbSAnLi9oeXBlcmxpbmsvaHlwZXJsaW5rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdGF0aWNUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9zdGF0aWMtdGV4dC9zdGF0aWMtdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWxUb2FzdEFkYXB0ZXJDb21wb25lbnQgfSBmcm9tICcuL3VsLXRvYXN0LWFkYXB0ZXIvdWwtdG9hc3QtYWRhcHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVzc2FnZVN0cmlwQ29tcG9uZW50IH0gZnJvbSAnLi9tZXNzYWdlLXN0cmlwL21lc3NhZ2Utc3RyaXAuY29tcG9uZW50JztcbmltcG9ydCB7IFVpTGluZWFyTGlzdENvbnRhaW5lcldpdGhCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3VpLWxpbmVhci1saXN0LWNvbnRhaW5lci13aXRoLWJ1dHRvbi91aS1saW5lYXItbGlzdC1jb250YWluZXItd2l0aC1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEZ1bmRhbWVudGFsRHluYW1pY0Zvcm1Db21wb25lbnQgfSBmcm9tICcuL2Z1bmRhbWVudGFsLWR5bmFtaWMtZm9ybS9mdW5kYW1lbnRhbC1keW5hbWljLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IExheW91dEFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2xheW91dC1hY3Rpb25zL2xheW91dC1hY3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMeUxheW91dENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vbHktbGF5b3V0LWNvbnRhaW5lci9seS1sYXlvdXQtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaVVsdkZvcm1NdWx0aVNlbGVjdFVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS11bHYtZm9ybS1tdWx0aS1zZWxlY3QtdWkvdWktdWx2LWZvcm0tbXVsdGktc2VsZWN0LXVpLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbHZGb3JtTXVsdGlTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3Vsdi1mb3JtLW11bHRpLXNlbGVjdC91bHYtZm9ybS1tdWx0aS1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFVsdkNvbHVtblNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi91bHYtY29sdW1uLXNldHRpbmdzL3Vsdi1jb2x1bW4tc2V0dGluZ3MuY29tcG9uZW50JztcbmltcG9ydCB7IFVsdkZpbHRlclNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi91bHYtZmlsdGVyLXNldHRpbmdzL3Vsdi1maWx0ZXItc2V0dGluZ3MuY29tcG9uZW50JztcbmltcG9ydCB7IFVsdlNvcnRTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdWx2LXNvcnQtc2V0dGluZ3MvdWx2LXNvcnQtc2V0dGluZ3MuY29tcG9uZW50JztcbmltcG9ydCB7IFVsdkdyb3VwYnlTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdWx2LWdyb3VwYnktc2V0dGluZ3MvdWx2LWdyb3VwYnktc2V0dGluZ3MuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhTGlzdEZpbGVMaW5lYXJDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWxpc3QtZmlsZS1saW5lYXIvYmFyc2EtbGlzdC1maWxlLWxpbmVhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlQZGZWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL3VpLXBkZi12aWV3ZXIvdWktcGRmLXZpZXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FUaW55ZW1jZUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtdGlueWVtY2UvYmFyc2EtdGlueWVtY2UuY29tcG9uZW50JztcbmltcG9ydCB7IFVpTW9uYWNvRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tb25hY28tZWRpdG9yL3VpLW1vbmFjby1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhTW9uYWNvRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1tb25hY28tZWRpdG9yL2JhcnNhLW1vbmFjby1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWRhdGUtdGltZS1waWNrZXIvYmFyc2EtZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FUcmVlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtdHJlZS1pdGVtL2JhcnNhLXRyZWUtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXBsb2FkRmlsZVN0YXR1c1BpcGUgfSBmcm9tICcuL3VwbG9hZC1maWxlLXN0YXR1cy5waXBlJztcbmltcG9ydCB7IFVpU3dpdGNoQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi91aS1zd2l0Y2gtYnV0dG9uL3VpLXN3aXRjaC1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFVpQ29sb3JVaUNvbXBvbmVudCB9IGZyb20gJy4vdWktY29sb3ItdWkvdWktY29sb3ItdWkuY29tcG9uZW50JztcbmltcG9ydCB7IEx5TGluZUNvbXBvbmVudCB9IGZyb20gJy4vbHktbGluZS9seS1saW5lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaVVsdk1haW5VaUNvbXBvbmVudCB9IGZyb20gJy4vdWktdWx2LW1haW4tdWkvdWktdWx2LW1haW4tdWkuY29tcG9uZW50JztcbmltcG9ydCB7IFJlcG9ydE5hdmlnYXRvckNvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0LW5hdmlnYXRvci9yZXBvcnQtbmF2aWdhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYW5hZ2VGaWx0ZXJzUmVwb3J0Q29tcG9uZW50IH0gZnJvbSAnLi9tYW5hZ2UtZmlsdGVycy1yZXBvcnQvbWFuYWdlLWZpbHRlcnMtcmVwb3J0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXBvcnRTZWFyY2hGaWVsZHNNYW5hZ2VDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydC1zZWFyY2gtZmllbGRzLW1hbmFnZS9yZXBvcnQtc2VhcmNoLWZpZWxkcy1tYW5hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IFJlcG9ydFNlYXJjaEZpZWxkc0hpZGRlblNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi9yZXBvcnQtc2VhcmNoLWZpZWxkcy1oaWRkZW4tc2V0dGluZ3MvcmVwb3J0LXNlYXJjaC1maWVsZHMtaGlkZGVuLXNldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLXBhbmVsL3NlYXJjaC1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVwb3J0U2VhcmNoUGFuZWxTYXZlQ29tcG9uZW50IH0gZnJvbSAnLi9yZXBvcnQtc2VhcmNoLXBhbmVsLXNhdmUvcmVwb3J0LXNlYXJjaC1wYW5lbC1zYXZlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUdyaWRGaWx0ZXJTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdWktZ3JpZC1maWx0ZXItc2V0dGluZ3MvdWktZ3JpZC1maWx0ZXItc2V0dGluZ3MuY29tcG9uZW50JztcbmltcG9ydCB7IFVpR3JpZEZpbHRlckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3VpLWdyaWQtZmlsdGVyLWl0ZW0vdWktZ3JpZC1maWx0ZXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2FwRm9udFBpcGUgfSBmcm9tICcuL3NhcC1mb250LnBpcGUnO1xuaW1wb3J0IHsgU2FwRm9udENsYXNzUGlwZSB9IGZyb20gJy4vc2FwLWZvbnQtY2xhc3MucGlwZSc7XG5pbXBvcnQgeyBVaURhdGVSYW5nZUV4Q29tcG9uZW50IH0gZnJvbSAnLi91aS1kYXRlLXJhbmdlLWV4L3VpLWRhdGUtcmFuZ2UtZXguY29tcG9uZW50JztcbmltcG9ydCB7IFVsTm90aWZ5UG9wdXBDb21wb25lbnQgfSBmcm9tICcuL3VsLW5vdGlmeS1wb3B1cC91bC1ub3RpZnktcG9wdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFVpVGFibGVWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi91aS10YWJsZS12aWV3L3VpLXRhYmxlLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IFVpTGlzdFZpZXdDb21wb25lbnQgfSBmcm9tICcuL3VpLWxpc3Qtdmlldy91aS1saXN0LXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IFN0cmluZ1RvQXJyYXlQaXBlLCBVaUNhcmRWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi91aS1jYXJkLXZpZXcvdWktY2FyZC12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaVJlcG9ydENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vdWktcmVwb3J0LWNvbnRhaW5lci91aS1yZXBvcnQtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOb0RhdGFDb21wb25lbnQgfSBmcm9tICcuL25vLWRhdGEvbm8tZGF0YS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29sdW1uUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbHVtbi1yZW5kZXJlci9jb2x1bW4tcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB7IElubGluZVNhdmVBbmRDYW5jZWxDb21wb25lbnQgfSBmcm9tICcuL2lubGluZS1zYXZlLWFuZC1jYW5jZWwvaW5saW5lLXNhdmUtYW5kLWNhbmNlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlUcmVlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdWktdHJlZS12aWV3L3VpLXRyZWUtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlUcmVlQ29tcG9uZW50IH0gZnJvbSAnLi91aS10cmVlL3VpLXRyZWUuY29tcG9uZW50JztcbmltcG9ydCB7IFVpQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuL3VpLWNhbGVuZGFyL3VpLWNhbGVuZGFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOb2RlSGFzT25lRGVwdGhMZXZlbFBpcGUgfSBmcm9tICcuL2JhcnNhLXRyZWUtaXRlbS9ub2RlLWhhcy1vbmUtZGVwdGgtbGV2ZWwucGlwZSc7XG5pbXBvcnQgeyBVaUFzcFJlcG9ydFZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vdWktYXNwLXJlcG9ydC12aWV3ZXIvdWktYXNwLXJlcG9ydC12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFVpR3JhcGhDb21wb25lbnQgfSBmcm9tICcuL3VpLWdyYXBoL3VpLWdyYXBoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUV4Y2VwdGlvbkZvcm1Db21wb25lbnQgfSBmcm9tICcuL3VpLWV4Y2VwdGlvbi1mb3JtL3VpLWV4Y2VwdGlvbi1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUVkaXRhYmxlR3JpZENvbXBvbmVudCB9IGZyb20gJy4vdWktZWRpdGFibGUtZ3JpZC91aS1lZGl0YWJsZS1ncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb2x1bW5NYXRyaXhSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vY29sdW1uLW1hdHJpeC1yZW5kZXJlci9jb2x1bW4tbWF0cml4LXJlbmRlcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaU1hdHJpeFZpZXdDb21wb25lbnQgfSBmcm9tICcuL3VpLW1hdHJpeC12aWV3L3VpLW1hdHJpeC12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDdXN0b21EYXRlVGltZUNvbXBvbmVudCB9IGZyb20gJy4vY3VzdG9tLWRhdGUtdGltZS9jdXN0b20tZGF0ZS10aW1lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRyaXhWYWx1ZVBpcGUgfSBmcm9tICcuL2NvbHVtbi1tYXRyaXgtcmVuZGVyZXIvbWF0cml4LXZhbHVlLnBpcGUnO1xuaW1wb3J0IHsgQmFyc2FBc3BWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWFzcC12aWV3ZXIvYmFyc2EtYXNwLXZpZXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZUluRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9maWxlLWluLWRpYWxvZy9maWxlLWluLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY1BhZ2VTaXplUGlwZSB9IGZyb20gJy4vZHluYW1pYy1wYWdlLXNpemUucGlwZSc7XG5pbXBvcnQgeyBSZXBvcnRWaWV3UmVuZGVyZXJEaXJlY3RpdmUgfSBmcm9tICcuL3JlcG9ydC12aWV3LXJlbmRlcmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBVaU1vSW5mb0dlbmVyYWxPYmplY3RVaUNvbXBvbmVudCB9IGZyb20gJy4vdWktbW8taW5mby1nZW5lcmFsLW9iamVjdC11aS91aS1tby1pbmZvLWdlbmVyYWwtb2JqZWN0LXVpLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUdhbnR0Q2hhcnRDb21wb25lbnQgfSBmcm9tICcuL3VpLWdhbnR0LWNoYXJ0L3VpLWdhbnR0LWNoYXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHYW50dERodG1sQ2hhcnRWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9nYW50dC1kaHRtbC1jaGFydC12aWV3L2dhbnR0LWRodG1sLWNoYXJ0LXZpZXcuY29tcG9uZW50JztcblxuaW1wb3J0IHsgRnVsbHNjcmVlbkRpYWxvZ0RpcmVjdGl2ZSB9IGZyb20gJy4vZnVsbHNjcmVlbi1kaWFsb2cuZGlyZWN0aXZlJztcbmltcG9ydCB7IFByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9ncmVzcy1pbmRpY2F0b3IvcHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXJkVmlld0NvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2NhcmQtdmlldy1jb250ZW50L2NhcmQtdmlldy1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXJkSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY2FyZC1pdGVtL2NhcmQtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlDYXJkVmlld0hvcml6b250YWxHcm91cENvbXBvbmVudCB9IGZyb20gJy4vdWktY2FyZC12aWV3LWhvcml6b250YWwtZ3JvdXAvdWktY2FyZC12aWV3LWhvcml6b250YWwtZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi90aXRsZS90aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FVbHZNYWluQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS11bHYtbWFpbi9iYXJzYS11bHYtbWFpbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEh0cmVlQ3JlYXRlTmV3Q29tcG9uZW50IH0gZnJvbSAnLi9odHJlZS1jcmVhdGUtbmV3L2h0cmVlLWNyZWF0ZS1uZXcuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhVGFibGVSb3dDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRhYmxlLXJvdy9iYXJzYS10YWJsZS1yb3cuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhVGFibGVDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRhYmxlLWNvbHVtbi9iYXJzYS10YWJsZS1jb2x1bW4uY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhVGFibGVIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRhYmxlLWhlYWRlci9iYXJzYS10YWJsZS1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vdWktbGFiZWwvdWktbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1Ub29sYmFyQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLXRvb2xiYXItYnV0dG9uL2Zvcm0tdG9vbGJhci1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhU2VhcmNoRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2Etc2VhcmNoLWZvcm0vYmFyc2Etc2VhcmNoLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IFJlcG9ydE5ld1RvcEZvcm1Db21wb25lbnQgfSBmcm9tICcuL3JlcG9ydC1uZXctdG9wLWZvcm0vcmVwb3J0LW5ldy10b3AtZm9ybS5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBCYXJzYU5ldHdvcmtPZmZsaW5lQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1uZXR3b3JrLW9mZmxpbmUvYmFyc2EtbmV0d29yay1vZmZsaW5lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbG9iVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi9ibG9iLXZpZXdlci9ibG9iLXZpZXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZVZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsZS12aWV3ZXIvZmlsZS12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVWaWV3ZXJDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9maWxlLXZpZXdlci1jb250ZW50L2ZpbGUtdmlld2VyLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVWaWV3ZXJQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi9maWxlLXZpZXdlci1wb3BvdmVyL2ZpbGUtdmlld2VyLXBvcG92ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERvd25sb2FkRmlsZXNEaXJlY3RpdmUgfSBmcm9tICcuL2Rvd25sb2FkLWZpbGVzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGdWxsc2NyZWVuRmlsZXNEaXJlY3RpdmUgfSBmcm9tICcuL2Z1bGxzY3JlZW4tZmlsZXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL25vdGlmaWNhdGlvbi1pdGVtL25vdGlmaWNhdGlvbi1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUNhcnRhYmxlVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNhcnRhYmxlLXRlbXBsYXRlL2JhcnNhLWNhcnRhYmxlLXRlbXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUNhcnRhYmxlR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWdyb3VwLWNhcnRhYmxlL2JhcnNhLWNhcnRhYmxlLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUNhcnRhYmxlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2FydGFibGUtZm9ybS9iYXJzYS1jYXJ0YWJsZS1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUNvbHVtbkluZGljYXRvckNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY29sdW1uLWluZGljYXRvci9iYXJzYS1jb2x1bW4taW5kaWNhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUZpZWxkS2V5VmFsdWVDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWZpZWxkLWtleS12YWx1ZS9iYXJzYS1maWVsZC1rZXktdmFsdWUuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhVG9vbGJhcml0ZW1TZWFyY2hDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRvb2xiYXJpdGVtLXNlYXJjaC9iYXJzYS10b29sYmFyaXRlbS1zZWFyY2guY29tcG9uZW50JztcbmltcG9ydCB7IFVpSHRtbFZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vdWktaHRtbC12aWV3ZXIvdWktaHRtbC12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhUGlzaG5hbWF5ZXNoUGF5YW1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXBpc2huYW1heWVzaC1wYXlhbS9iYXJzYS1waXNobmFtYXllc2gtcGF5YW0uY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhVGV4dEVsbGlwc2lzQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10ZXh0LWVsbGlwc2lzL2JhcnNhLXRleHQtZWxsaXBzaXMuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhTGlzdEZpbGVMaW5lYXJHbWFpbENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtbGlzdC1maWxlLWxpbmVhci1nbWFpbC9iYXJzYS1saXN0LWZpbGUtbGluZWFyLWdtYWlsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUxpbmthYmxlSXRlbXNQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtbGlua2FibGUtaXRlbXMtcGFuZWwvYmFyc2EtbGlua2FibGUtaXRlbXMtcGFuZWwuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IGNvbXBvbmVudHMgPSBbXG4gICAgVWlUZXh0RmllbGRDb21wb25lbnQsXG4gICAgTHlMYXlvdXRGaWVsZExhYmVsQ29tcG9uZW50LFxuICAgIFVpQ2hlY2tCb3hDb21wb25lbnQsXG4gICAgVWlTaW1wbGVDb21ib0NvbXBvbmVudCxcbiAgICBVaVJhZGlvR3JvdXBDb21wb25lbnQsXG4gICAgVWlHcmlkQ29tcG9uZW50LFxuICAgIEx5TGF5b3V0Q29udGFpbmVyT2ZSb290Q29tcG9uZW50LFxuICAgIEx5TGF5b3V0UGFuZWxDb21wb25lbnQsXG4gICAgVWlSZWFkT25seUZpZWxkQ29tcG9uZW50LFxuICAgIFVpQ29udGFpbmVyV2l0aEJ1dHRvbkNvbXBvbmVudCxcbiAgICBVaVBpY3R1cmVGaWxlQ29tcG9uZW50LFxuICAgIFVpTW9JbmZvVWx2Q29tYm9Db21wb25lbnQsXG4gICAgVWlNdWx0aVNlbGVjdENvbWJvQ29tcG9uZW50LFxuICAgIFVpTnVtRGVjaW1hbFVpQ29tcG9uZW50LFxuICAgIFVpTnVtSW50VWlDb21wb25lbnQsXG4gICAgVWlUaW1lU3BhbkNvbXBvbmVudCxcbiAgICBVaUZpbGVMaW5lYXJMaXN0Qm94Q29tcG9uZW50LFxuICAgIEx5RW1wdHlTcGFjZUNvbXBvbmVudCxcbiAgICBVaVNpbmdsZVBpY3R1cmVDb21wb25lbnQsXG4gICAgVWx2U2VsZWN0aW9uQ29tcG9uZW50LFxuICAgIFVsdlRvb2xiYXJDb21wb25lbnQsXG4gICAgVWx2UGFnaW5nQ29tcG9uZW50LFxuICAgIFVpR3JpZFNvcnRTZXR0aW5nQ29tcG9uZW50LFxuICAgIFVpR3JpZFNvcnRJdGVtQ29tcG9uZW50LFxuICAgIFVpR3JpZENvbHVtbnNDb21wb25lbnQsXG4gICAgTWFza0NvbXBvbmVudCxcbiAgICBVaUluZm9CYXJQYW5lbENvbXBvbmVudCxcbiAgICBVaUZvcm1QYW5lbFRvb2xiYXJDb21wb25lbnQsXG4gICAgVWlGb3JtUGFuZWxDb21wb25lbnQsXG4gICAgVWlTZWFyY2hDb21tYW5kSW5mb1VpQ29tcG9uZW50LFxuICAgIFVsdlNldHRpbmdzQ29tcG9uZW50LFxuICAgIFVpVGlueW1jZUNvbXBvbmVudCxcbiAgICBVaUJ1dHRvbkNvbXBvbmVudCxcbiAgICBVaURhdGVUaW1lQ29tcG9uZW50LFxuICAgIEZvcm1EaWFsb2dDb21wb25lbnQsXG4gICAgSGVhZGVyRmFjZXRLZXlWYWx1ZUNvbXBvbmVudCxcbiAgICBIZWFkZXJGYWNldEZvcm1Db21wb25lbnQsXG4gICAgSGVhZGVyRmFjZXRSYXRlQ29tcG9uZW50LFxuICAgIEhlYWRlckZhY2V0UHJvZ3Jlc3NDb21wb25lbnQsXG4gICAgSGVhZGVyRmFjZXRNaWNyb2NoYXJ0Q29tcG9uZW50LFxuICAgIEhlYWRlckZhY2V0UGxhaW5UZXh0Q29tcG9uZW50LFxuICAgIFVpTW9JbmZvU3ViRm9ybVVpQ29tcG9uZW50LFxuICAgIFJlc3BvbnNpdmVUb29sYmFyQ29tcG9uZW50LFxuICAgIFJlc3BvbnNpdmVUb29sYmFyUmVuZGVyZXJDb21wb25lbnQsXG4gICAgVWlUZXh0QXJlYUNvbXBvbmVudCxcbiAgICBMYXlvdXRDb250cm9sQ29tcG9uZW50LFxuICAgIExheW91dFdpemFyZENvbXBvbmVudCxcbiAgICBGb3JtV2l6YXJkQ29tcG9uZW50LFxuICAgIEZvcm1EaWFsb2dMZXNzQ29tcG9uZW50LFxuICAgIFJpY2hUZXh0U3RhdGljQ29tcG9uZW50LFxuICAgIFVpUGljdHVyZXNJbmZvQ29tcG9uZW50LFxuICAgIEx5SG9yaXpvbnRhbExheW91dENvbXBvbmVudCxcbiAgICBMeVZlcnRpY2FsTGF5b3V0Q29tcG9uZW50LFxuICAgIEx5VGFiQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIEx5VGFiUGFnZUNvbXBvbmVudCxcbiAgICBMeUxhYmVsQ29tcG9uZW50LFxuICAgIFVpTW9JbmZvQ29tYm9WaWV3ZXJDb21wb25lbnQsXG4gICAgVWxNc2dCb3hBZGFwdGVyQ29tcG9uZW50LFxuICAgIFVpVHJlZUNvbXBvbmVudCxcbiAgICBIZWFkZXJBdmF0YXJDb21wb25lbnQsXG4gICAgVWlXb3JrZmxvd1BhbmVsVWlDb21wb25lbnQsXG4gICAgVWx2Q29udGV4dE1lbnVDb21wb25lbnQsXG4gICAgVWxMb2FkaW5nTWFza1VpQ29tcG9uZW50LFxuICAgIFVpVGV4dEZpZWxkQXV0b0NvbXBsZXRlQ29tcG9uZW50LFxuICAgIENhcHRjaGFGaWVsZENvbXBvbmVudCxcbiAgICBMeVNpbXBsZUxhYmVsQ29tcG9uZW50LFxuICAgIEdsb2JhbFNlYXJjaFBhbmVsQ29tcG9uZW50LFxuICAgIEdsb2JhbFNlYXJjaE1vZHVsZUNvbXBvbmVudCxcbiAgICBHbG9iYWxTZWFyY2hDb21wb25lbnQsXG4gICAgSHlwZXJsaW5rQ29tcG9uZW50LFxuICAgIFN0YXRpY1RleHRDb21wb25lbnQsXG4gICAgVWxUb2FzdEFkYXB0ZXJDb21wb25lbnQsXG4gICAgTWVzc2FnZVN0cmlwQ29tcG9uZW50LFxuICAgIFVpTGluZWFyTGlzdENvbnRhaW5lcldpdGhCdXR0b25Db21wb25lbnQsXG4gICAgRnVuZGFtZW50YWxEeW5hbWljRm9ybUNvbXBvbmVudCxcbiAgICBMYXlvdXRBY3Rpb25zQ29tcG9uZW50LFxuICAgIEx5TGF5b3V0Q29udGFpbmVyQ29tcG9uZW50LFxuICAgIFVpVWx2Rm9ybU11bHRpU2VsZWN0VWlDb21wb25lbnQsXG4gICAgVWx2Rm9ybU11bHRpU2VsZWN0Q29tcG9uZW50LFxuICAgIFVsdkNvbHVtblNldHRpbmdzQ29tcG9uZW50LFxuICAgIFVsdkZpbHRlclNldHRpbmdzQ29tcG9uZW50LFxuICAgIFVsdlNvcnRTZXR0aW5nc0NvbXBvbmVudCxcbiAgICBVbHZHcm91cGJ5U2V0dGluZ3NDb21wb25lbnQsXG4gICAgQmFyc2FMaXN0RmlsZUxpbmVhckNvbXBvbmVudCxcbiAgICBVaVBkZlZpZXdlckNvbXBvbmVudCxcbiAgICBCYXJzYVRpbnllbWNlQ29tcG9uZW50LFxuICAgIFVpTW9uYWNvRWRpdG9yQ29tcG9uZW50LFxuICAgIEJhcnNhTW9uYWNvRWRpdG9yQ29tcG9uZW50LFxuICAgIEJhcnNhRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQsXG4gICAgQmFyc2FUcmVlSXRlbUNvbXBvbmVudCxcbiAgICBVaVN3aXRjaEJ1dHRvbkNvbXBvbmVudCxcbiAgICBVaUNvbG9yVWlDb21wb25lbnQsXG4gICAgTHlMaW5lQ29tcG9uZW50LFxuICAgIFVpVWx2TWFpblVpQ29tcG9uZW50LFxuICAgIFJlcG9ydE5hdmlnYXRvckNvbXBvbmVudCxcbiAgICBNYW5hZ2VGaWx0ZXJzUmVwb3J0Q29tcG9uZW50LFxuICAgIFJlcG9ydFNlYXJjaEZpZWxkc01hbmFnZUNvbXBvbmVudCxcbiAgICBSZXBvcnRTZWFyY2hGaWVsZHNIaWRkZW5TZXR0aW5nc0NvbXBvbmVudCxcbiAgICBTZWFyY2hQYW5lbENvbXBvbmVudCxcbiAgICBSZXBvcnRTZWFyY2hQYW5lbFNhdmVDb21wb25lbnQsXG4gICAgVWlHcmlkRmlsdGVyU2V0dGluZ3NDb21wb25lbnQsXG4gICAgVWlHcmlkRmlsdGVySXRlbUNvbXBvbmVudCxcbiAgICBVaURhdGVSYW5nZUV4Q29tcG9uZW50LFxuICAgIFVsTm90aWZ5UG9wdXBDb21wb25lbnQsXG4gICAgVWlUYWJsZVZpZXdDb21wb25lbnQsXG4gICAgVWlMaXN0Vmlld0NvbXBvbmVudCxcbiAgICBVaUNhcmRWaWV3Q29tcG9uZW50LFxuICAgIFVpUmVwb3J0Q29udGFpbmVyQ29tcG9uZW50LFxuICAgIE5vRGF0YUNvbXBvbmVudCxcbiAgICBDb2x1bW5SZW5kZXJlckNvbXBvbmVudCxcbiAgICBJbmxpbmVTYXZlQW5kQ2FuY2VsQ29tcG9uZW50LFxuICAgIFVpVHJlZVZpZXdDb21wb25lbnQsXG4gICAgSW5saW5lU2F2ZUFuZENhbmNlbENvbXBvbmVudCxcbiAgICBVaUNhbGVuZGFyQ29tcG9uZW50LFxuICAgIFVpQXNwUmVwb3J0Vmlld2VyQ29tcG9uZW50LFxuICAgIFVpR3JhcGhDb21wb25lbnQsXG4gICAgVWlFeGNlcHRpb25Gb3JtQ29tcG9uZW50LFxuICAgIFVpRWRpdGFibGVHcmlkQ29tcG9uZW50LFxuICAgIENvbHVtbk1hdHJpeFJlbmRlcmVyQ29tcG9uZW50LFxuICAgIFVpTWF0cml4Vmlld0NvbXBvbmVudCxcbiAgICBDdXN0b21EYXRlVGltZUNvbXBvbmVudCxcbiAgICBCYXJzYUFzcFZpZXdlckNvbXBvbmVudCxcbiAgICBGaWxlSW5EaWFsb2dDb21wb25lbnQsXG4gICAgVWlNb0luZm9HZW5lcmFsT2JqZWN0VWlDb21wb25lbnQsXG4gICAgVWlHYW50dENoYXJ0Q29tcG9uZW50LFxuICAgIEdhbnR0RGh0bWxDaGFydFZpZXdDb21wb25lbnQsXG4gICAgUHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnQsXG4gICAgQ2FyZFZpZXdDb250ZW50Q29tcG9uZW50LFxuICAgIENhcmRJdGVtQ29tcG9uZW50LFxuICAgIFVpQ2FyZFZpZXdIb3Jpem9udGFsR3JvdXBDb21wb25lbnQsXG4gICAgVGl0bGVDb21wb25lbnQsXG4gICAgQmFyc2FVbHZNYWluQ29tcG9uZW50LFxuICAgIExpc3RJdGVtQ29tcG9uZW50LFxuICAgIEh0cmVlQ3JlYXRlTmV3Q29tcG9uZW50LFxuICAgIEJhcnNhVGFibGVIZWFkZXJDb21wb25lbnQsXG4gICAgQmFyc2FUYWJsZVJvd0NvbXBvbmVudCxcbiAgICBCYXJzYVRhYmxlQ29sdW1uQ29tcG9uZW50LFxuICAgIEJyZWFkY3J1bWJDb21wb25lbnQsXG4gICAgVWlMYWJlbENvbXBvbmVudCxcbiAgICBGb3JtVG9vbGJhckJ1dHRvbkNvbXBvbmVudCxcbiAgICBCYXJzYVNlYXJjaEZvcm1Db21wb25lbnQsXG4gICAgUmVwb3J0TmV3VG9wRm9ybUNvbXBvbmVudCxcbiAgICBCYXJzYU5ldHdvcmtPZmZsaW5lQ29tcG9uZW50LFxuICAgIEZpbGVWaWV3ZXJDb250ZW50Q29tcG9uZW50LFxuICAgIEZpbGVWaWV3ZXJQb3BvdmVyQ29tcG9uZW50LFxuICAgIEZpbGVWaWV3ZXJDb21wb25lbnQsXG4gICAgQmxvYlZpZXdlckNvbXBvbmVudCxcbiAgICBOb3RpZmljYXRpb25JdGVtQ29tcG9uZW50LFxuICAgIEJhcnNhQ2FydGFibGVUZW1wbGF0ZUNvbXBvbmVudCxcbiAgICBCYXJzYUNhcnRhYmxlR3JvdXBDb21wb25lbnQsXG4gICAgQmFyc2FDYXJ0YWJsZUZvcm1Db21wb25lbnQsXG4gICAgQmFyc2FDb2x1bW5JbmRpY2F0b3JDb21wb25lbnQsXG4gICAgQmFyc2FGaWVsZEtleVZhbHVlQ29tcG9uZW50LFxuICAgIEJhcnNhVG9vbGJhcml0ZW1TZWFyY2hDb21wb25lbnQsXG4gICAgVWlIdG1sVmlld2VyQ29tcG9uZW50LFxuICAgIEJhcnNhUGlzaG5hbWF5ZXNoUGF5YW1Db21wb25lbnQsXG4gICAgQmFyc2FUZXh0RWxsaXBzaXNDb21wb25lbnQsXG4gICAgQmFyc2FMaXN0RmlsZUxpbmVhckdtYWlsQ29tcG9uZW50LFxuICAgIEJhcnNhTGlua2FibGVJdGVtc1BhbmVsQ29tcG9uZW50XG5dO1xuZXhwb3J0IGNvbnN0IHBpcGVzID0gW1xuICAgIFVwbG9hZEZpbGVTdGF0dXNQaXBlLFxuICAgIFNhcEZvbnRQaXBlLFxuICAgIFNhcEZvbnRDbGFzc1BpcGUsXG4gICAgU3RyaW5nVG9BcnJheVBpcGUsXG4gICAgTm9kZUhhc09uZURlcHRoTGV2ZWxQaXBlLFxuICAgIE1hdHJpeFZhbHVlUGlwZSxcbiAgICBEeW5hbWljUGFnZVNpemVQaXBlXG5dO1xuZXhwb3J0IGNvbnN0IGRpcmVjdGl2ZXMgPSBbXG4gICAgV2l6YXJkTGF5b3V0RGlyZWN0aXZlLFxuICAgIENvbFJlbmRlcmVyRGlyZWN0aXZlLFxuICAgIEFwcGx5Q29uZGl0aW9uYWxGb3JtYXRzRGlyZWN0aXZlLFxuICAgIFJlcG9ydFZpZXdSZW5kZXJlckRpcmVjdGl2ZSxcbiAgICBGdWxsc2NyZWVuRGlhbG9nRGlyZWN0aXZlLFxuICAgIEZ1bGxzY3JlZW5GaWxlc0RpcmVjdGl2ZSxcbiAgICBEb3dubG9hZEZpbGVzRGlyZWN0aXZlXG5dO1xuXG5leHBvcnQgY29uc3QgSU5JVF9TQVBGSU9SSSA9XG4gICAgKFxuICAgICAgICBydGxTZXJ2aWNlOiBSdGxTZXJ2aWNlLFxuICAgICAgICBjb250ZW50RGVuc2l0eVNlcnZpY2U6IEdsb2JhbENvbnRlbnREZW5zaXR5U2VydmljZSxcbiAgICAgICAgdGhlbWVTZXJ2aWNlOiBUaGVtZXNTZXJ2aWNlLFxuICAgICAgICBwb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlXG4gICAgKSA9PlxuICAgICgpID0+IHtcbiAgICAgICAgcnRsU2VydmljZS5ydGwubmV4dChCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLklzUnRsKTtcbiAgICAgICAgbGV0IGZvbnRGYW1pbHkgPSAnSVJBTllla2FuRGlnaXRzJztcbiAgICAgICAgaWYgKEJhcnNhQXBpLkxvZ2luRm9ybURhdGEuQ3VsdHVyZSA9PT0gJ2VuLVVTJykge1xuICAgICAgICAgICAgZm9udEZhbWlseSA9ICdJUkFOU2Fuc1dlYic7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjc3MgPSBgKiB7XG4gICAgLS1mZER5bmFtaWNQYWdlX1RpdGxlX0ZvbnRfRmFtaWx5OiAnJHtmb250RmFtaWx5fSc7XG4gICAgLS1zYXBGb250RmFtaWx5OiAnJHtmb250RmFtaWx5fSc7XG4gICAgLS1mZFdpemFyZF9MYWJlbF9Gb250X0ZhbWlseTogJyR7Zm9udEZhbWlseX0nO1xuICAgIC0tc2FwRm9udExpZ2h0RmFtaWx5OiAnJHtmb250RmFtaWx5fSc7XG4gICAgLS1zYXBGb250SGVhZGVyRmFtaWx5OiAnJHtmb250RmFtaWx5fSc7XG4gICAgLS1fdWk1X2lucHV0X2NvbXBhY3RfaGVpZ2h0OiAxLjYyNXJlbTtcbiAgICAtLXNhcEZvbnRTaXplOiAwLjg4NXJlbTtcbiAgICAvKiAtLXNhcENvbnRlbnRfSGVhZGVyU2hhZG93OiBub25lOyAqL1xufWAsXG4gICAgICAgICAgICBoZWFkID0gZG9jdW1lbnQuaGVhZCB8fCBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLFxuICAgICAgICAgICAgc3R5bGU6IGFueSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG5cbiAgICAgICAgaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7XG5cbiAgICAgICAgc3R5bGUudHlwZSA9ICd0ZXh0L2Nzcyc7XG4gICAgICAgIGlmIChzdHlsZS5zdHlsZVNoZWV0KSB7XG4gICAgICAgICAgICAvLyBUaGlzIGlzIHJlcXVpcmVkIGZvciBJRTggYW5kIGJlbG93LlxuICAgICAgICAgICAgc3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gY3NzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3R5bGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKSk7XG4gICAgICAgIH1cblxuICAgICAgICBwb3J0YWxTZXJ2aWNlLnVzZXJQb3J0YWxTZXR0aW5ncyQucGlwZShmaWx0ZXIoKGMpID0+IGMgIT0gbnVsbCkpLnN1YnNjcmliZSgodXNlclNldHRpbmdzKSA9PiB7XG4gICAgICAgICAgICBsZXQgY29udGVudERlbnNpdHk6IGFueTtcbiAgICAgICAgICAgIGxldCB0aGVtZTogYW55O1xuICAgICAgICAgICAgaWYgKCF1c2VyU2V0dGluZ3MpIHtcbiAgICAgICAgICAgICAgICBpZiAoZ2V0RGV2aWNlSXNNb2JpbGUoKSB8fCBnZXREZXZpY2VJc1Bob25lKCkgfHwgZ2V0RGV2aWNlSXNUYWJsZXQoKSkge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50RGVuc2l0eSA9IENvbnRlbnREZW5zaXR5TW9kZS5DT1pZO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5ID0gQ29udGVudERlbnNpdHlNb2RlLkNPTVBBQ1Q7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IENvbnRlbnREZW5zaXR5JENhcHRpb24sIFRoZW1lJENhcHRpb24gfSA9IHVzZXJTZXR0aW5ncztcbiAgICAgICAgICAgICAgICBjb250ZW50RGVuc2l0eSA9IENvbnRlbnREZW5zaXR5JENhcHRpb247XG4gICAgICAgICAgICAgICAgdGhlbWUgPSBUaGVtZSRDYXB0aW9uO1xuICAgICAgICAgICAgICAgIGlmICghY29udGVudERlbnNpdHkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudERlbnNpdHkgPSBDb250ZW50RGVuc2l0eU1vZGUuQ09NUEFDVDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZ2V0RGV2aWNlSXNNb2JpbGUoKSB8fCBnZXREZXZpY2VJc1Bob25lKCkpIHtcbiAgICAgICAgICAgICAgICBjb250ZW50RGVuc2l0eSA9IENvbnRlbnREZW5zaXR5TW9kZS5DT1pZO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGNvbnRlbnREZW5zaXR5KSB7XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50RGVuc2l0eVNlcnZpY2UudXBkYXRlQ29udGVudERlbnNpdHkoY29udGVudERlbnNpdHkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBib2R5Q2xhc3NDb21wYWN0ID0gJ3VpNS1jb250ZW50LWRlbnNpdHktY29tcGFjdCc7XG4gICAgICAgICAgICAgICAgY29uc3QgYm9keUNsYXNzQ29uZGVuc2VkID0gJ3VpNS1jb250ZW50LWRlbnNpdHktY29uZGVuc2VkJztcbiAgICAgICAgICAgICAgICBjb25zdCBib2R5Q2xhc3NDb3p5ID0gJ3VpNS1jb250ZW50LWRlbnNpdHktY296eSc7XG4gICAgICAgICAgICAgICAgY29uc3QgYm9keSA9IGRvY3VtZW50Py5ib2R5O1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoY29udGVudERlbnNpdHkpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnY29uZGVuc2VkJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKGJvZHlDbGFzc0NvbmRlbnNlZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QuYWRkKGJvZHlDbGFzc0NvbmRlbnNlZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LnJlbW92ZShib2R5Q2xhc3NDb21wYWN0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5LmNsYXNzTGlzdC5yZW1vdmUoYm9keUNsYXNzQ296eSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdjb3p5JzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKGJvZHlDbGFzc0NvenkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LmFkZChib2R5Q2xhc3NDb3p5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKGJvZHlDbGFzc0NvbXBhY3QpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LnJlbW92ZShib2R5Q2xhc3NDb25kZW5zZWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2NvbXBhY3QnOlxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghYm9keS5jbGFzc0xpc3QuY29udGFpbnMoYm9keUNsYXNzQ29tcGFjdCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QuYWRkKGJvZHlDbGFzc0NvbXBhY3QpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5LmNsYXNzTGlzdC5yZW1vdmUoYm9keUNsYXNzQ296eSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKGJvZHlDbGFzc0NvbmRlbnNlZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhlbWUpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhlbWUuaW5kZXhPZignZGFyaycpID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdjb2xvci1zY2hlbWUnLCAnZGFyaycpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnY29sb3Itc2NoZW1lJywgJ2xpZ2h0Jyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHBvcnRhbFNlcnZpY2Uuc2V0VGhlbWUodGhlbWVTZXJ2aWNlLnNldFRoZW1lKHRoZW1lKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH07XG4iXX0=
@@ -7,10 +7,10 @@ import * as i3 from "@fundamental-ngx/core/form";
7
7
  export class LyLabelComponent extends LayoutItemBaseComponent {
8
8
  }
9
9
  LyLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: LyLabelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
10
- LyLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: LyLabelComponent, selector: "bsu-ly-label", inputs: { originalWidth: "originalWidth", minWidth: "minWidth", caption: "caption", isColumn: "isColumn", isMandatory: "isMandatory", fieldIcon: "fieldIcon", originalXtype: "originalXtype", textVisible: "textVisible" }, usesInheritance: true, ngImport: i0, template: "<img *ngIf=\"textVisible && fieldIcon\" [attrRtl] [src]=\"fieldIcon\" height=\"16px\" />\r\n<label\r\n *ngIf=\"textVisible\"\r\n fd-form-label\r\n [defaultClass]=\"false\"\r\n class=\"bsu-label-control\"\r\n [attr.required]=\"isMandatory ? true : null\"\r\n [attr.column-mode]=\"isColumn\"\r\n [attrRtl]=\"true\"\r\n [innerHTML]=\"originalXtype === 'Ui.Button' ? '&zwnj;' : caption\"\r\n>\r\n</label>\r\n", styles: [":host{display:flex;position:relative}img[rtl=true]{margin-left:5px}img[rtl=false]{margin-right:5px}label{padding:0!important;text-align:var(--_text_align)}label[columnMode=true] label[rtl=true]{text-align:right}label[columnMode=true] label[rtl=false]{text-align:left}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.AttrRtlDirective, selector: "[attrRtl]", inputs: ["attrRtl"] }, { kind: "component", type: i3.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "alignLabelEnd", "inlineHelpTitle", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10
+ LyLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: LyLabelComponent, selector: "bsu-ly-label", inputs: { originalWidth: "originalWidth", minWidth: "minWidth", caption: "caption", isColumn: "isColumn", isMandatory: "isMandatory", fieldIcon: "fieldIcon", originalXtype: "originalXtype", textVisible: "textVisible" }, usesInheritance: true, ngImport: i0, template: "<img *ngIf=\"textVisible && fieldIcon\" [attrRtl] [src]=\"fieldIcon\" height=\"16px\" />\n<label\n *ngIf=\"textVisible\"\n fd-form-label\n [defaultClass]=\"false\"\n class=\"bsu-label-control\"\n [attr.required]=\"isMandatory ? true : null\"\n [attr.column-mode]=\"isColumn\"\n [attrRtl]=\"true\"\n [innerHTML]=\"originalXtype === 'Ui.Button' ? '&zwnj;' : caption\"\n [style.background-color]=\"config.CaptionAppearance?.BColor ? config.CaptionAppearance?.BColor : null\"\n [style.color]=\"config.CaptionAppearance?.FColor ? config.CaptionAppearance?.FColor : null\"\n>\n</label>\n", styles: [":host{display:flex;position:relative}img[rtl=true]{margin-left:5px}img[rtl=false]{margin-right:5px}label{padding:0!important;text-align:var(--_text_align)}label[columnMode=true] label[rtl=true]{text-align:right}label[columnMode=true] label[rtl=false]{text-align:left}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.AttrRtlDirective, selector: "[attrRtl]", inputs: ["attrRtl"] }, { kind: "component", type: i3.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "alignLabelEnd", "inlineHelpTitle", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11
11
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: LyLabelComponent, decorators: [{
12
12
  type: Component,
13
- args: [{ selector: 'bsu-ly-label', changeDetection: ChangeDetectionStrategy.OnPush, template: "<img *ngIf=\"textVisible && fieldIcon\" [attrRtl] [src]=\"fieldIcon\" height=\"16px\" />\r\n<label\r\n *ngIf=\"textVisible\"\r\n fd-form-label\r\n [defaultClass]=\"false\"\r\n class=\"bsu-label-control\"\r\n [attr.required]=\"isMandatory ? true : null\"\r\n [attr.column-mode]=\"isColumn\"\r\n [attrRtl]=\"true\"\r\n [innerHTML]=\"originalXtype === 'Ui.Button' ? '&zwnj;' : caption\"\r\n>\r\n</label>\r\n", styles: [":host{display:flex;position:relative}img[rtl=true]{margin-left:5px}img[rtl=false]{margin-right:5px}label{padding:0!important;text-align:var(--_text_align)}label[columnMode=true] label[rtl=true]{text-align:right}label[columnMode=true] label[rtl=false]{text-align:left}\n"] }]
13
+ args: [{ selector: 'bsu-ly-label', changeDetection: ChangeDetectionStrategy.OnPush, template: "<img *ngIf=\"textVisible && fieldIcon\" [attrRtl] [src]=\"fieldIcon\" height=\"16px\" />\n<label\n *ngIf=\"textVisible\"\n fd-form-label\n [defaultClass]=\"false\"\n class=\"bsu-label-control\"\n [attr.required]=\"isMandatory ? true : null\"\n [attr.column-mode]=\"isColumn\"\n [attrRtl]=\"true\"\n [innerHTML]=\"originalXtype === 'Ui.Button' ? '&zwnj;' : caption\"\n [style.background-color]=\"config.CaptionAppearance?.BColor ? config.CaptionAppearance?.BColor : null\"\n [style.color]=\"config.CaptionAppearance?.FColor ? config.CaptionAppearance?.FColor : null\"\n>\n</label>\n", styles: [":host{display:flex;position:relative}img[rtl=true]{margin-left:5px}img[rtl=false]{margin-right:5px}label{padding:0!important;text-align:var(--_text_align)}label[columnMode=true] label[rtl=true]{text-align:right}label[columnMode=true] label[rtl=false]{text-align:left}\n"] }]
14
14
  }], propDecorators: { originalWidth: [{
15
15
  type: Input
16
16
  }], minWidth: [{
@@ -28,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
28
28
  }], textVisible: [{
29
29
  type: Input
30
30
  }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHktbGFiZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbHktbGFiZWwvbHktbGFiZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbHktbGFiZWwvbHktbGFiZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBUS9ELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSx1QkFBdUI7OzZHQUFoRCxnQkFBZ0I7aUdBQWhCLGdCQUFnQix1U0NYN0IsOGFBWUE7MkZERGEsZ0JBQWdCO2tCQU41QixTQUFTOytCQUNJLGNBQWMsbUJBR1AsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuaW1wb3J0IHsgTGF5b3V0SXRlbUJhc2VDb21wb25lbnQgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LWx5LWxhYmVsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9seS1sYWJlbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9seS1sYWJlbC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEx5TGFiZWxDb21wb25lbnQgZXh0ZW5kcyBMYXlvdXRJdGVtQmFzZUNvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKSBvcmlnaW5hbFdpZHRoOiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBtaW5XaWR0aDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgY2FwdGlvbjogc3RyaW5nIHwgU2FmZUh0bWw7XHJcbiAgICBASW5wdXQoKSBpc0NvbHVtbjogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGlzTWFuZGF0b3J5OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgZmllbGRJY29uOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBvcmlnaW5hbFh0eXBlOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSB0ZXh0VmlzaWJsZTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcclxufVxyXG4iLCI8aW1nICpuZ0lmPVwidGV4dFZpc2libGUgJiYgZmllbGRJY29uXCIgW2F0dHJSdGxdIFtzcmNdPVwiZmllbGRJY29uXCIgaGVpZ2h0PVwiMTZweFwiIC8+XHJcbjxsYWJlbFxyXG4gICAgKm5nSWY9XCJ0ZXh0VmlzaWJsZVwiXHJcbiAgICBmZC1mb3JtLWxhYmVsXHJcbiAgICBbZGVmYXVsdENsYXNzXT1cImZhbHNlXCJcclxuICAgIGNsYXNzPVwiYnN1LWxhYmVsLWNvbnRyb2xcIlxyXG4gICAgW2F0dHIucmVxdWlyZWRdPVwiaXNNYW5kYXRvcnkgPyB0cnVlIDogbnVsbFwiXHJcbiAgICBbYXR0ci5jb2x1bW4tbW9kZV09XCJpc0NvbHVtblwiXHJcbiAgICBbYXR0clJ0bF09XCJ0cnVlXCJcclxuICAgIFtpbm5lckhUTUxdPVwib3JpZ2luYWxYdHlwZSA9PT0gJ1VpLkJ1dHRvbicgPyAnJnp3bmo7JyA6IGNhcHRpb25cIlxyXG4+XHJcbjwvbGFiZWw+XHJcbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHktbGFiZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbHktbGFiZWwvbHktbGFiZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbHktbGFiZWwvbHktbGFiZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBUS9ELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSx1QkFBdUI7OzZHQUFoRCxnQkFBZ0I7aUdBQWhCLGdCQUFnQix1U0NYN0IscW1CQWNBOzJGREhhLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDSSxjQUFjLG1CQUdQLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbmltcG9ydCB7IExheW91dEl0ZW1CYXNlQ29tcG9uZW50IH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS1seS1sYWJlbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbHktbGFiZWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbHktbGFiZWwuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMeUxhYmVsQ29tcG9uZW50IGV4dGVuZHMgTGF5b3V0SXRlbUJhc2VDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgb3JpZ2luYWxXaWR0aDogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgbWluV2lkdGg6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGNhcHRpb246IHN0cmluZyB8IFNhZmVIdG1sO1xyXG4gICAgQElucHV0KCkgaXNDb2x1bW46IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBpc01hbmRhdG9yeTogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGZpZWxkSWNvbjogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgb3JpZ2luYWxYdHlwZTogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgdGV4dFZpc2libGU6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XHJcbn1cclxuIiwiPGltZyAqbmdJZj1cInRleHRWaXNpYmxlICYmIGZpZWxkSWNvblwiIFthdHRyUnRsXSBbc3JjXT1cImZpZWxkSWNvblwiIGhlaWdodD1cIjE2cHhcIiAvPlxuPGxhYmVsXG4gICAgKm5nSWY9XCJ0ZXh0VmlzaWJsZVwiXG4gICAgZmQtZm9ybS1sYWJlbFxuICAgIFtkZWZhdWx0Q2xhc3NdPVwiZmFsc2VcIlxuICAgIGNsYXNzPVwiYnN1LWxhYmVsLWNvbnRyb2xcIlxuICAgIFthdHRyLnJlcXVpcmVkXT1cImlzTWFuZGF0b3J5ID8gdHJ1ZSA6IG51bGxcIlxuICAgIFthdHRyLmNvbHVtbi1tb2RlXT1cImlzQ29sdW1uXCJcbiAgICBbYXR0clJ0bF09XCJ0cnVlXCJcbiAgICBbaW5uZXJIVE1MXT1cIm9yaWdpbmFsWHR5cGUgPT09ICdVaS5CdXR0b24nID8gJyZ6d25qOycgOiBjYXB0aW9uXCJcbiAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJjb25maWcuQ2FwdGlvbkFwcGVhcmFuY2U/LkJDb2xvciA/IGNvbmZpZy5DYXB0aW9uQXBwZWFyYW5jZT8uQkNvbG9yIDogbnVsbFwiXG4gICAgW3N0eWxlLmNvbG9yXT1cImNvbmZpZy5DYXB0aW9uQXBwZWFyYW5jZT8uRkNvbG9yID8gY29uZmlnLkNhcHRpb25BcHBlYXJhbmNlPy5GQ29sb3IgOiBudWxsXCJcbj5cbjwvbGFiZWw+XG4iXX0=