barsa-sap-ui 2.2.67 → 2.2.69
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.
- package/esm2022/lib/barsa-sap-ui.module.mjs +28 -41
- package/esm2022/lib/barsa-theme/barsa-theme.component.mjs +121 -0
- package/esm2022/lib/file-viewer-content/file-viewer-content.component.mjs +24 -15
- package/esm2022/lib/index.mjs +4 -100
- package/esm2022/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +7 -6
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/barsa-sap-ui.mjs +157 -139
- package/fesm2022/barsa-sap-ui.mjs.map +1 -1
- package/lib/barsa-sap-ui.module.d.ts +38 -37
- package/lib/barsa-theme/barsa-theme.component.d.ts +34 -0
- package/lib/file-viewer-content/file-viewer-content.component.d.ts +7 -6
- package/lib/index.d.ts +1 -6
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -14,8 +14,8 @@ import * as i7 from "@fundamental-ngx/core/file-uploader";
|
|
|
14
14
|
import * as i8 from "@fundamental-ngx/core/dialog";
|
|
15
15
|
import * as i9 from "@fundamental-ngx/cdk/utils";
|
|
16
16
|
import * as i10 from "@fundamental-ngx/core/title";
|
|
17
|
-
import * as i11 from "@fundamental-ngx/core/
|
|
18
|
-
import * as i12 from "
|
|
17
|
+
import * as i11 from "@fundamental-ngx/core/toolbar";
|
|
18
|
+
import * as i12 from "../file-viewer-content/file-viewer-content.component";
|
|
19
19
|
import * as i13 from "../blob-viewer/blob-viewer.component";
|
|
20
20
|
import * as i14 from "../contentDensity.directive";
|
|
21
21
|
export class UiPdfViewerComponent extends DeviceInfoFieldBaseComponent {
|
|
@@ -135,6 +135,7 @@ export class UiPdfViewerComponent extends DeviceInfoFieldBaseComponent {
|
|
|
135
135
|
this.hasPdf = true;
|
|
136
136
|
}
|
|
137
137
|
_uploadToServer(files) {
|
|
138
|
+
this.hasPdf = false;
|
|
138
139
|
this.filesValidationHelper.validateFiles(files);
|
|
139
140
|
this._uploadFile(files).pipe(takeUntil(this._onDestroy$)).subscribe();
|
|
140
141
|
}
|
|
@@ -206,7 +207,7 @@ export class UiPdfViewerComponent extends DeviceInfoFieldBaseComponent {
|
|
|
206
207
|
// };
|
|
207
208
|
let convertTo = isImage(files.Type) ? files.Type : '';
|
|
208
209
|
convertTo = 'pdf,doc,docx,word'.indexOf(files.Type) > -1 ? 'pdf' : convertTo;
|
|
209
|
-
if (
|
|
210
|
+
if (convertTo !== 'pdf') {
|
|
210
211
|
this.singleControl = true;
|
|
211
212
|
this.updateSingleControl(files);
|
|
212
213
|
return;
|
|
@@ -252,11 +253,11 @@ export class UiPdfViewerComponent extends DeviceInfoFieldBaseComponent {
|
|
|
252
253
|
BarsaApi.Ul.LoadingMask.Mask(this._el.nativeElement);
|
|
253
254
|
}
|
|
254
255
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiPdfViewerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
255
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiPdfViewerComponent, selector: "bsu-ui-pdf-viewer", host: { properties: { "style.min-height": "this._minheight" } }, providers: [UploadService], viewQueries: [{ propertyName: "_pdfViewerOnDemand", first: true, predicate: ["pdfViewerOnDemand"], descendants: true }, { propertyName: "_dialogTpl", first: true, predicate: ["dialogTpl"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *untilInView=\"el\">\r\n @switch (parameters?.ShowMode) { @case ('2') {\r\n <div>\r\n <ng-container *ngTemplateOutlet=\"toolbar; context: { dialogMode: true }\"></ng-container>\r\n </div>\r\n } @default {\r\n <div>\r\n <ng-container *ngTemplateOutlet=\"toolbar\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"preview\"></ng-container>\r\n </div>\r\n } }\r\n</ng-container>\r\n\r\n<ng-template #toolbar let-dialogMode=\"dialogMode\">\r\n @if ((disableOrReadonly$ | async) !== true) {\r\n <fd-toolbar [class.dialogMode]=\"dialogMode\" [transparent]=\"true\" [shouldOverflow]=\"true\">\r\n <fd-file-uploader\r\n #uploader\r\n [style.display]=\"'none'\"\r\n fd-toolbar-item\r\n [id]=\"id\"\r\n [name]=\"'pdf_' + id\"\r\n [placeholder]=\"'AttachFile' | bbbTranslate\"\r\n [buttonLabel]=\"'AttachFile' | bbbTranslate\"\r\n [buttonAriaLabel]=\"'AttachFile' | bbbTranslate\"\r\n [accept]=\"validExtension\"\r\n [(ngModel)]=\"files\"\r\n [multiple]=\"false\"\r\n (selectedFilesChanged)=\"onFileSelection($event)\"\r\n [contentDensity]=\"(contentDensity$ | async)!!\"\r\n ></fd-file-uploader>\r\n @if (!parameters?.HideDelete) {\r\n <button\r\n [disabled]=\"!(canDelete && value)\"\r\n fd-button\r\n fd-toolbar-item\r\n class=\"delete\"\r\n glyph=\"delete\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"onDelete()\"\r\n ></button>\r\n } @if (!parameters?.HideAttach) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n glyph=\"attachment\"\r\n [fdType]=\"'transparent'\"\r\n [disabled]=\"!canUpload\"\r\n (click)=\"uploader.open()\"\r\n ></button>\r\n } @if (canEdit) {\r\n <button fd-toolbar-item fd-button glyph=\"edit\" [fdType]=\"'transparent'\" (click)=\"onEdit()\"></button>\r\n } @if (useWordEditor) {\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n glyph=\"doc-attachment\"\r\n [fdType]=\"'transparent'\"\r\n [label]=\"'Edit' | bbbTranslate\"\r\n (click)=\"onEditInWord()\"\r\n ></button>\r\n } @if (officeOnline) {\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n glyph=\"doc-attachment\"\r\n [fdType]=\"'transparent'\"\r\n [label]=\"'OfficeOnline' | bbbTranslate\"\r\n (click)=\"onOfficeOnline($event)\"\r\n ></button>\r\n } @if (dialogMode) {\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [glyph]=\"'show'\"\r\n [attr.fdOverflowPriority]=\"'low'\"\r\n [fdType]=\"'transparent'\"\r\n [label]=\"!dialogMode ? '' : ('View' | bbbTranslate)\"\r\n (click)=\"onOpenPreviewInDialog()\"\r\n bodyClick\r\n ></button>\r\n } @if (canDownload) {\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [attr.fdOverflowPriority]=\"'low'\"\r\n [glyph]=\"'download'\"\r\n [label]=\"!dialogMode ? '' : ('Download' | bbbTranslate)\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"onDownload()\"\r\n bodyClick\r\n ></button>\r\n } @if (!parameters?.HideRefresh) {\r\n <button\r\n [attr.fdOverflowPriority]=\"'low'\"\r\n fd-toolbar-item\r\n fd-button\r\n [glyph]=\"dialogMode ? null : 'refresh'\"\r\n [label]=\"!dialogMode ? '' : ('Refresh' | bbbTranslate)\"\r\n [fdType]=\"'transparent'\"\r\n bodyClick\r\n (click)=\"onRefresh()\"\r\n ></button>\r\n }\r\n <fd-busy-indicator\r\n fd-toolbar-item\r\n [loading]=\"(uploadingState$ | async)?.uploading === true\"\r\n ></fd-busy-indicator>\r\n </fd-toolbar>\r\n }\r\n</ng-template>\r\n<ng-template #preview>\r\n @if (isMobile) {\r\n <div\r\n [style.border]=\"!blobUrl ? '.0625rem solid var(--sapGroup_TitleBorderColor)' : null\"\r\n style=\"height: calc(70vh - 40px); position: relative\"\r\n >\r\n @if(value){\r\n <bsu-blob-viewer [file]=\"value\" [style.width]=\"width\" [decrement]=\"'25px'\"></bsu-blob-viewer>\r\n }\r\n <!-- <ng2-pdfjs-viewer\r\n fillEmptySpace\r\n [containerDom]=\"formContainer\"\r\n [dontUseTopBound]=\"true\"\r\n #pdfViewerOnDemand\r\n [externalWindow]=\"false\"\r\n [downloadFileName]=\"blobUrl\"\r\n [openFile]=\"false\"\r\n [viewBookmark]=\"false\"\r\n [showSpinner]=\"true\"\r\n [download]=\"true\"\r\n ></ng2-pdfjs-viewer> -->\r\n </div>\r\n } @else { @if (hasPdf) {\r\n <object\r\n fillEmptySpace\r\n [containerDom]=\"formContainer\"\r\n [dontUseTopBound]=\"true\"\r\n [disable]=\"inlineEdit\"\r\n style=\"flex-grow: 1\"\r\n [attr.data]=\"valueUrl\"\r\n type=\"application/pdf\"\r\n width=\"100%\"\r\n [style.height]=\"inlineEdit ? 'auto' : formHeight - 30 > 0 ? formHeight - 30 + 'px' : '100vh'\"\r\n [attr.html]=\"fallbackLink\"\r\n ></object>\r\n } @else { @if (singleControl && value && !value.IsDeleted) {\r\n <div style=\"display: flex\">\r\n @if (singleFileThumbnailUrl) {\r\n <img [src]=\"singleFileThumbnailUrl\" />\r\n }\r\n <fd-object-identifier>\r\n {{ value.FileName }}\r\n </fd-object-identifier>\r\n </div>\r\n } @else {\r\n <div\r\n fillEmptySpace\r\n [containerDom]=\"formContainer\"\r\n [dontUseTopBound]=\"true\"\r\n class=\"hatchBackground\"\r\n [disable]=\"inlineEdit\"\r\n [class.tw-h-4]=\"inlineEdit\"\r\n ></div>\r\n } } }\r\n</ng-template>\r\n\r\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #dialogTpl>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" class=\"vertical\">\r\n <fd-dialog-header>\r\n <ng-template fdkTemplate=\"header\">\r\n <div fd-bar-left>\r\n <fd-bar-element>\r\n <h3 fd-title>edit in word</h3>\r\n </fd-bar-element>\r\n </div>\r\n <div fd-bar-right>\r\n <fd-button-bar ariaLabel=\"close\" glyph=\"decline\" (click)=\"onDialogClose()\"></fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n <ng-container *ngTemplateOutlet=\"preview\"></ng-container>\r\n </fd-dialog-body>\r\n </fd-dialog>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column}:host fd-toolbar.dialogMode ::ng-deep .fd-toolbar{border-bottom:none}:host ::ng-deep .delete button{border-color:transparent!important;background-color:transparent!important}:host ::ng-deep .fd-file-uploader input{display:none}.single-control{height:50px}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.UntilInViewDirective, selector: "[untilInView]", inputs: ["untilInView", "intersectionDebounce"] }, { kind: "directive", type: i3.FillEmptySpaceDirective, selector: "[fillEmptySpace]", inputs: ["containerDom", "decrement", "disable", "height", "dontUseTopBound", "setMinHeight"], outputs: ["heightChanged"], exportAs: ["fillEmptySpace"] }, { kind: "directive", type: i3.BodyClickDirective, selector: "[bodyClick]", inputs: ["disableBodyClick"] }, { kind: "directive", type: i4.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i4.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i4.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: i4.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i5.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i6.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i7.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"] }, { kind: "component", type: i8.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i8.DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: i8.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i9.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i10.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i11.ObjectIdentifierComponent, selector: "fd-object-identifier", inputs: ["description", "bold", "medium"] }, { kind: "component", type: i12.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i12.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: i13.BlobViewerComponent, selector: "bsu-blob-viewer", inputs: ["file"] }, { kind: "directive", type: i14.ContentDensityDirective, selector: "[contentDensity]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
256
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiPdfViewerComponent, selector: "bsu-ui-pdf-viewer", host: { properties: { "style.min-height": "this._minheight" } }, providers: [UploadService], viewQueries: [{ propertyName: "_pdfViewerOnDemand", first: true, predicate: ["pdfViewerOnDemand"], descendants: true }, { propertyName: "_dialogTpl", first: true, predicate: ["dialogTpl"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *untilInView=\"el\">\r\n @switch (parameters?.ShowMode) { @case ('2') {\r\n <div>\r\n <ng-container *ngTemplateOutlet=\"toolbar; context: { dialogMode: true }\"></ng-container>\r\n </div>\r\n } @default {\r\n <div>\r\n <ng-container *ngTemplateOutlet=\"toolbar\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"preview\"></ng-container>\r\n </div>\r\n } }\r\n</ng-container>\r\n\r\n<ng-template #toolbar let-dialogMode=\"dialogMode\">\r\n @if ((disableOrReadonly$ | async) !== true) {\r\n <fd-toolbar [class.dialogMode]=\"dialogMode\" [transparent]=\"true\" [shouldOverflow]=\"true\">\r\n <fd-file-uploader\r\n #uploader\r\n [style.display]=\"'none'\"\r\n fd-toolbar-item\r\n [id]=\"id\"\r\n [name]=\"'pdf_' + id\"\r\n [placeholder]=\"'AttachFile' | bbbTranslate\"\r\n [buttonLabel]=\"'AttachFile' | bbbTranslate\"\r\n [buttonAriaLabel]=\"'AttachFile' | bbbTranslate\"\r\n [accept]=\"validExtension\"\r\n [(ngModel)]=\"files\"\r\n [multiple]=\"false\"\r\n (selectedFilesChanged)=\"onFileSelection($event)\"\r\n [contentDensity]=\"(contentDensity$ | async)!!\"\r\n ></fd-file-uploader>\r\n @if (!parameters?.HideDelete) {\r\n <button\r\n [disabled]=\"!(canDelete && value)\"\r\n fd-button\r\n fd-toolbar-item\r\n class=\"delete\"\r\n glyph=\"delete\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"onDelete()\"\r\n ></button>\r\n } @if (!parameters?.HideAttach) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n glyph=\"attachment\"\r\n [fdType]=\"'transparent'\"\r\n [disabled]=\"!canUpload\"\r\n (click)=\"uploader.open()\"\r\n ></button>\r\n } @if (canEdit) {\r\n <button fd-toolbar-item fd-button glyph=\"edit\" [fdType]=\"'transparent'\" (click)=\"onEdit()\"></button>\r\n } @if (useWordEditor) {\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n glyph=\"doc-attachment\"\r\n [fdType]=\"'transparent'\"\r\n [label]=\"'Edit' | bbbTranslate\"\r\n (click)=\"onEditInWord()\"\r\n ></button>\r\n } @if (officeOnline) {\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n glyph=\"doc-attachment\"\r\n [fdType]=\"'transparent'\"\r\n [label]=\"'OfficeOnline' | bbbTranslate\"\r\n (click)=\"onOfficeOnline($event)\"\r\n ></button>\r\n } @if (dialogMode) {\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [glyph]=\"'show'\"\r\n [attr.fdOverflowPriority]=\"'low'\"\r\n [fdType]=\"'transparent'\"\r\n [label]=\"!dialogMode ? '' : ('View' | bbbTranslate)\"\r\n (click)=\"onOpenPreviewInDialog()\"\r\n bodyClick\r\n ></button>\r\n } @if (canDownload) {\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [attr.fdOverflowPriority]=\"'low'\"\r\n [glyph]=\"'download'\"\r\n [label]=\"!dialogMode ? '' : ('Download' | bbbTranslate)\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"onDownload()\"\r\n bodyClick\r\n ></button>\r\n } @if (!parameters?.HideRefresh) {\r\n <button\r\n [attr.fdOverflowPriority]=\"'low'\"\r\n fd-toolbar-item\r\n fd-button\r\n [glyph]=\"dialogMode ? null : 'refresh'\"\r\n [label]=\"!dialogMode ? '' : ('Refresh' | bbbTranslate)\"\r\n [fdType]=\"'transparent'\"\r\n bodyClick\r\n (click)=\"onRefresh()\"\r\n ></button>\r\n }\r\n <fd-busy-indicator\r\n fd-toolbar-item\r\n [loading]=\"(uploadingState$ | async)?.uploading === true\"\r\n ></fd-busy-indicator>\r\n </fd-toolbar>\r\n }\r\n</ng-template>\r\n<ng-template #preview>\r\n @if (isMobile) {\r\n <div\r\n [style.border]=\"!blobUrl ? '.0625rem solid var(--sapGroup_TitleBorderColor)' : null\"\r\n style=\"height: calc(70vh - 40px); position: relative\"\r\n >\r\n @if(value){\r\n <bsu-blob-viewer [file]=\"value\" [style.width]=\"width\" [decrement]=\"'25px'\"></bsu-blob-viewer>\r\n }\r\n <!-- <ng2-pdfjs-viewer\r\n fillEmptySpace\r\n [containerDom]=\"formContainer\"\r\n [dontUseTopBound]=\"true\"\r\n #pdfViewerOnDemand\r\n [externalWindow]=\"false\"\r\n [downloadFileName]=\"blobUrl\"\r\n [openFile]=\"false\"\r\n [viewBookmark]=\"false\"\r\n [showSpinner]=\"true\"\r\n [download]=\"true\"\r\n ></ng2-pdfjs-viewer> -->\r\n </div>\r\n } @else { @if (hasPdf) {\r\n <object\r\n fillEmptySpace\r\n [containerDom]=\"formContainer\"\r\n [dontUseTopBound]=\"true\"\r\n [disable]=\"inlineEdit\"\r\n style=\"flex-grow: 1\"\r\n [attr.data]=\"valueUrl\"\r\n type=\"application/pdf\"\r\n width=\"100%\"\r\n [style.height]=\"inlineEdit ? 'auto' : formHeight - 30 > 0 ? formHeight - 30 + 'px' : '100vh'\"\r\n [attr.html]=\"fallbackLink\"\r\n ></object>\r\n } @else { @if (singleControl && value && !value.IsDeleted) {\r\n <div class=\"tw-flex tw-justify-center\">\r\n @if (singleFileThumbnailUrl) {\r\n <bsu-file-viewer-content\r\n [attr.title]=\"value.FileName\" \r\n [file]=\"value\"\r\n [imageOnly]=\"true\"\r\n [fillWidth]=\"true\"\r\n [isImageGallery]=\"false\"\r\n ></bsu-file-viewer-content>\r\n <!-- <img [src]=\"singleFileThumbnailUrl\" /> -->\r\n }\r\n </div>\r\n } @else {\r\n <div\r\n fillEmptySpace\r\n [containerDom]=\"formContainer\"\r\n [dontUseTopBound]=\"true\"\r\n class=\"hatchBackground\"\r\n [disable]=\"inlineEdit\"\r\n [class.tw-h-4]=\"inlineEdit\"\r\n ></div>\r\n } } }\r\n</ng-template>\r\n\r\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #dialogTpl>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" class=\"vertical\">\r\n <fd-dialog-header>\r\n <ng-template fdkTemplate=\"header\">\r\n <div fd-bar-left>\r\n <fd-bar-element>\r\n <h3 fd-title>edit in word</h3>\r\n </fd-bar-element>\r\n </div>\r\n <div fd-bar-right>\r\n <fd-button-bar ariaLabel=\"close\" glyph=\"decline\" (click)=\"onDialogClose()\"></fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n <ng-container *ngTemplateOutlet=\"preview\"></ng-container>\r\n </fd-dialog-body>\r\n </fd-dialog>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column}:host fd-toolbar.dialogMode ::ng-deep .fd-toolbar{border-bottom:none}:host ::ng-deep .delete button{border-color:transparent!important;background-color:transparent!important}:host ::ng-deep .fd-file-uploader input{display:none}.single-control{height:50px}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.UntilInViewDirective, selector: "[untilInView]", inputs: ["untilInView", "intersectionDebounce"] }, { kind: "directive", type: i3.FillEmptySpaceDirective, selector: "[fillEmptySpace]", inputs: ["containerDom", "decrement", "disable", "height", "dontUseTopBound", "setMinHeight"], outputs: ["heightChanged"], exportAs: ["fillEmptySpace"] }, { kind: "directive", type: i3.BodyClickDirective, selector: "[bodyClick]", inputs: ["disableBodyClick"] }, { kind: "directive", type: i4.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i4.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i4.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: i4.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i5.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i6.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i7.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"] }, { kind: "component", type: i8.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i8.DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: i8.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i9.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i10.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i11.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i11.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: i12.FileViewerContentComponent, selector: "bsu-file-viewer-content", inputs: ["fillWidth", "imageOnly", "isImageGallery", "cardMode", "showFooter", "showContent", "width", "deviceSize", "cardContentHeight", "file"], outputs: ["cantView"] }, { kind: "component", type: i13.BlobViewerComponent, selector: "bsu-blob-viewer", inputs: ["file"] }, { kind: "directive", type: i14.ContentDensityDirective, selector: "[contentDensity]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
256
257
|
}
|
|
257
258
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiPdfViewerComponent, decorators: [{
|
|
258
259
|
type: Component,
|
|
259
|
-
args: [{ selector: 'bsu-ui-pdf-viewer', providers: [UploadService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-container *untilInView=\"el\">\r\n @switch (parameters?.ShowMode) { @case ('2') {\r\n <div>\r\n <ng-container *ngTemplateOutlet=\"toolbar; context: { dialogMode: true }\"></ng-container>\r\n </div>\r\n } @default {\r\n <div>\r\n <ng-container *ngTemplateOutlet=\"toolbar\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"preview\"></ng-container>\r\n </div>\r\n } }\r\n</ng-container>\r\n\r\n<ng-template #toolbar let-dialogMode=\"dialogMode\">\r\n @if ((disableOrReadonly$ | async) !== true) {\r\n <fd-toolbar [class.dialogMode]=\"dialogMode\" [transparent]=\"true\" [shouldOverflow]=\"true\">\r\n <fd-file-uploader\r\n #uploader\r\n [style.display]=\"'none'\"\r\n fd-toolbar-item\r\n [id]=\"id\"\r\n [name]=\"'pdf_' + id\"\r\n [placeholder]=\"'AttachFile' | bbbTranslate\"\r\n [buttonLabel]=\"'AttachFile' | bbbTranslate\"\r\n [buttonAriaLabel]=\"'AttachFile' | bbbTranslate\"\r\n [accept]=\"validExtension\"\r\n [(ngModel)]=\"files\"\r\n [multiple]=\"false\"\r\n (selectedFilesChanged)=\"onFileSelection($event)\"\r\n [contentDensity]=\"(contentDensity$ | async)!!\"\r\n ></fd-file-uploader>\r\n @if (!parameters?.HideDelete) {\r\n <button\r\n [disabled]=\"!(canDelete && value)\"\r\n fd-button\r\n fd-toolbar-item\r\n class=\"delete\"\r\n glyph=\"delete\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"onDelete()\"\r\n ></button>\r\n } @if (!parameters?.HideAttach) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n glyph=\"attachment\"\r\n [fdType]=\"'transparent'\"\r\n [disabled]=\"!canUpload\"\r\n (click)=\"uploader.open()\"\r\n ></button>\r\n } @if (canEdit) {\r\n <button fd-toolbar-item fd-button glyph=\"edit\" [fdType]=\"'transparent'\" (click)=\"onEdit()\"></button>\r\n } @if (useWordEditor) {\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n glyph=\"doc-attachment\"\r\n [fdType]=\"'transparent'\"\r\n [label]=\"'Edit' | bbbTranslate\"\r\n (click)=\"onEditInWord()\"\r\n ></button>\r\n } @if (officeOnline) {\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n glyph=\"doc-attachment\"\r\n [fdType]=\"'transparent'\"\r\n [label]=\"'OfficeOnline' | bbbTranslate\"\r\n (click)=\"onOfficeOnline($event)\"\r\n ></button>\r\n } @if (dialogMode) {\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [glyph]=\"'show'\"\r\n [attr.fdOverflowPriority]=\"'low'\"\r\n [fdType]=\"'transparent'\"\r\n [label]=\"!dialogMode ? '' : ('View' | bbbTranslate)\"\r\n (click)=\"onOpenPreviewInDialog()\"\r\n bodyClick\r\n ></button>\r\n } @if (canDownload) {\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [attr.fdOverflowPriority]=\"'low'\"\r\n [glyph]=\"'download'\"\r\n [label]=\"!dialogMode ? '' : ('Download' | bbbTranslate)\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"onDownload()\"\r\n bodyClick\r\n ></button>\r\n } @if (!parameters?.HideRefresh) {\r\n <button\r\n [attr.fdOverflowPriority]=\"'low'\"\r\n fd-toolbar-item\r\n fd-button\r\n [glyph]=\"dialogMode ? null : 'refresh'\"\r\n [label]=\"!dialogMode ? '' : ('Refresh' | bbbTranslate)\"\r\n [fdType]=\"'transparent'\"\r\n bodyClick\r\n (click)=\"onRefresh()\"\r\n ></button>\r\n }\r\n <fd-busy-indicator\r\n fd-toolbar-item\r\n [loading]=\"(uploadingState$ | async)?.uploading === true\"\r\n ></fd-busy-indicator>\r\n </fd-toolbar>\r\n }\r\n</ng-template>\r\n<ng-template #preview>\r\n @if (isMobile) {\r\n <div\r\n [style.border]=\"!blobUrl ? '.0625rem solid var(--sapGroup_TitleBorderColor)' : null\"\r\n style=\"height: calc(70vh - 40px); position: relative\"\r\n >\r\n @if(value){\r\n <bsu-blob-viewer [file]=\"value\" [style.width]=\"width\" [decrement]=\"'25px'\"></bsu-blob-viewer>\r\n }\r\n <!-- <ng2-pdfjs-viewer\r\n fillEmptySpace\r\n [containerDom]=\"formContainer\"\r\n [dontUseTopBound]=\"true\"\r\n #pdfViewerOnDemand\r\n [externalWindow]=\"false\"\r\n [downloadFileName]=\"blobUrl\"\r\n [openFile]=\"false\"\r\n [viewBookmark]=\"false\"\r\n [showSpinner]=\"true\"\r\n [download]=\"true\"\r\n ></ng2-pdfjs-viewer> -->\r\n </div>\r\n } @else { @if (hasPdf) {\r\n <object\r\n fillEmptySpace\r\n [containerDom]=\"formContainer\"\r\n [dontUseTopBound]=\"true\"\r\n [disable]=\"inlineEdit\"\r\n style=\"flex-grow: 1\"\r\n [attr.data]=\"valueUrl\"\r\n type=\"application/pdf\"\r\n width=\"100%\"\r\n [style.height]=\"inlineEdit ? 'auto' : formHeight - 30 > 0 ? formHeight - 30 + 'px' : '100vh'\"\r\n [attr.html]=\"fallbackLink\"\r\n ></object>\r\n } @else { @if (singleControl && value && !value.IsDeleted) {\r\n <div
|
|
260
|
+
args: [{ selector: 'bsu-ui-pdf-viewer', providers: [UploadService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-container *untilInView=\"el\">\r\n @switch (parameters?.ShowMode) { @case ('2') {\r\n <div>\r\n <ng-container *ngTemplateOutlet=\"toolbar; context: { dialogMode: true }\"></ng-container>\r\n </div>\r\n } @default {\r\n <div>\r\n <ng-container *ngTemplateOutlet=\"toolbar\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"preview\"></ng-container>\r\n </div>\r\n } }\r\n</ng-container>\r\n\r\n<ng-template #toolbar let-dialogMode=\"dialogMode\">\r\n @if ((disableOrReadonly$ | async) !== true) {\r\n <fd-toolbar [class.dialogMode]=\"dialogMode\" [transparent]=\"true\" [shouldOverflow]=\"true\">\r\n <fd-file-uploader\r\n #uploader\r\n [style.display]=\"'none'\"\r\n fd-toolbar-item\r\n [id]=\"id\"\r\n [name]=\"'pdf_' + id\"\r\n [placeholder]=\"'AttachFile' | bbbTranslate\"\r\n [buttonLabel]=\"'AttachFile' | bbbTranslate\"\r\n [buttonAriaLabel]=\"'AttachFile' | bbbTranslate\"\r\n [accept]=\"validExtension\"\r\n [(ngModel)]=\"files\"\r\n [multiple]=\"false\"\r\n (selectedFilesChanged)=\"onFileSelection($event)\"\r\n [contentDensity]=\"(contentDensity$ | async)!!\"\r\n ></fd-file-uploader>\r\n @if (!parameters?.HideDelete) {\r\n <button\r\n [disabled]=\"!(canDelete && value)\"\r\n fd-button\r\n fd-toolbar-item\r\n class=\"delete\"\r\n glyph=\"delete\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"onDelete()\"\r\n ></button>\r\n } @if (!parameters?.HideAttach) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n glyph=\"attachment\"\r\n [fdType]=\"'transparent'\"\r\n [disabled]=\"!canUpload\"\r\n (click)=\"uploader.open()\"\r\n ></button>\r\n } @if (canEdit) {\r\n <button fd-toolbar-item fd-button glyph=\"edit\" [fdType]=\"'transparent'\" (click)=\"onEdit()\"></button>\r\n } @if (useWordEditor) {\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n glyph=\"doc-attachment\"\r\n [fdType]=\"'transparent'\"\r\n [label]=\"'Edit' | bbbTranslate\"\r\n (click)=\"onEditInWord()\"\r\n ></button>\r\n } @if (officeOnline) {\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n glyph=\"doc-attachment\"\r\n [fdType]=\"'transparent'\"\r\n [label]=\"'OfficeOnline' | bbbTranslate\"\r\n (click)=\"onOfficeOnline($event)\"\r\n ></button>\r\n } @if (dialogMode) {\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [glyph]=\"'show'\"\r\n [attr.fdOverflowPriority]=\"'low'\"\r\n [fdType]=\"'transparent'\"\r\n [label]=\"!dialogMode ? '' : ('View' | bbbTranslate)\"\r\n (click)=\"onOpenPreviewInDialog()\"\r\n bodyClick\r\n ></button>\r\n } @if (canDownload) {\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [attr.fdOverflowPriority]=\"'low'\"\r\n [glyph]=\"'download'\"\r\n [label]=\"!dialogMode ? '' : ('Download' | bbbTranslate)\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"onDownload()\"\r\n bodyClick\r\n ></button>\r\n } @if (!parameters?.HideRefresh) {\r\n <button\r\n [attr.fdOverflowPriority]=\"'low'\"\r\n fd-toolbar-item\r\n fd-button\r\n [glyph]=\"dialogMode ? null : 'refresh'\"\r\n [label]=\"!dialogMode ? '' : ('Refresh' | bbbTranslate)\"\r\n [fdType]=\"'transparent'\"\r\n bodyClick\r\n (click)=\"onRefresh()\"\r\n ></button>\r\n }\r\n <fd-busy-indicator\r\n fd-toolbar-item\r\n [loading]=\"(uploadingState$ | async)?.uploading === true\"\r\n ></fd-busy-indicator>\r\n </fd-toolbar>\r\n }\r\n</ng-template>\r\n<ng-template #preview>\r\n @if (isMobile) {\r\n <div\r\n [style.border]=\"!blobUrl ? '.0625rem solid var(--sapGroup_TitleBorderColor)' : null\"\r\n style=\"height: calc(70vh - 40px); position: relative\"\r\n >\r\n @if(value){\r\n <bsu-blob-viewer [file]=\"value\" [style.width]=\"width\" [decrement]=\"'25px'\"></bsu-blob-viewer>\r\n }\r\n <!-- <ng2-pdfjs-viewer\r\n fillEmptySpace\r\n [containerDom]=\"formContainer\"\r\n [dontUseTopBound]=\"true\"\r\n #pdfViewerOnDemand\r\n [externalWindow]=\"false\"\r\n [downloadFileName]=\"blobUrl\"\r\n [openFile]=\"false\"\r\n [viewBookmark]=\"false\"\r\n [showSpinner]=\"true\"\r\n [download]=\"true\"\r\n ></ng2-pdfjs-viewer> -->\r\n </div>\r\n } @else { @if (hasPdf) {\r\n <object\r\n fillEmptySpace\r\n [containerDom]=\"formContainer\"\r\n [dontUseTopBound]=\"true\"\r\n [disable]=\"inlineEdit\"\r\n style=\"flex-grow: 1\"\r\n [attr.data]=\"valueUrl\"\r\n type=\"application/pdf\"\r\n width=\"100%\"\r\n [style.height]=\"inlineEdit ? 'auto' : formHeight - 30 > 0 ? formHeight - 30 + 'px' : '100vh'\"\r\n [attr.html]=\"fallbackLink\"\r\n ></object>\r\n } @else { @if (singleControl && value && !value.IsDeleted) {\r\n <div class=\"tw-flex tw-justify-center\">\r\n @if (singleFileThumbnailUrl) {\r\n <bsu-file-viewer-content\r\n [attr.title]=\"value.FileName\" \r\n [file]=\"value\"\r\n [imageOnly]=\"true\"\r\n [fillWidth]=\"true\"\r\n [isImageGallery]=\"false\"\r\n ></bsu-file-viewer-content>\r\n <!-- <img [src]=\"singleFileThumbnailUrl\" /> -->\r\n }\r\n </div>\r\n } @else {\r\n <div\r\n fillEmptySpace\r\n [containerDom]=\"formContainer\"\r\n [dontUseTopBound]=\"true\"\r\n class=\"hatchBackground\"\r\n [disable]=\"inlineEdit\"\r\n [class.tw-h-4]=\"inlineEdit\"\r\n ></div>\r\n } } }\r\n</ng-template>\r\n\r\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #dialogTpl>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" class=\"vertical\">\r\n <fd-dialog-header>\r\n <ng-template fdkTemplate=\"header\">\r\n <div fd-bar-left>\r\n <fd-bar-element>\r\n <h3 fd-title>edit in word</h3>\r\n </fd-bar-element>\r\n </div>\r\n <div fd-bar-right>\r\n <fd-button-bar ariaLabel=\"close\" glyph=\"decline\" (click)=\"onDialogClose()\"></fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n <ng-container *ngTemplateOutlet=\"preview\"></ng-container>\r\n </fd-dialog-body>\r\n </fd-dialog>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column}:host fd-toolbar.dialogMode ::ng-deep .fd-toolbar{border-bottom:none}:host ::ng-deep .delete button{border-color:transparent!important;background-color:transparent!important}:host ::ng-deep .fd-file-uploader input{display:none}.single-control{height:50px}\n"] }]
|
|
260
261
|
}], propDecorators: { _pdfViewerOnDemand: [{
|
|
261
262
|
type: ViewChild,
|
|
262
263
|
args: ['pdfViewerOnDemand']
|
|
@@ -267,4 +268,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
267
268
|
type: HostBinding,
|
|
268
269
|
args: ['style.min-height']
|
|
269
270
|
}] } });
|
|
270
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktcGRmLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS1wZGYtdmlld2VyL3VpLXBkZi12aWV3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktcGRmLXZpZXdlci91aS1wZGYtdmlld2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFLWCxTQUFTLEVBQ1QsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFrQixhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RSxPQUFPLEVBQ0gsUUFBUSxFQUNSLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsT0FBTyxFQUNQLFlBQVksRUFDWixPQUFPLEVBQ1AsaUJBQWlCLEVBR3BCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVekUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLDRCQUE0QjtJQVJ0RTs7UUFXcUMsZUFBVSxHQUFrQixNQUFNLENBQUM7UUEyQnBFLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsWUFBTyxHQUFHLElBQUksQ0FBQztRQVFmLG1CQUFjLEdBQWtCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztLQXVRekQ7SUF0UUcsUUFBUTtRQUNKLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUM7UUFDM0QsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pC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QU8sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsR0FBUTtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsWUFBWSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLHNCQUFzQixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNMLENBQUM7SUFDTyxTQUFTO1FBQ2IsUUFBUSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNPLEtBQUs7UUFDVCxRQUFRLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6RCxDQUFDOytHQTdTUSxvQkFBb0I7bUdBQXBCLG9CQUFvQiw2R0FKbEIsQ0FBQyxhQUFhLENBQUMseVJDaEM5Qix5M05BMExBOzs0RkR0SmEsb0JBQW9CO2tCQVJoQyxTQUFTOytCQUNJLG1CQUFtQixhQUdsQixDQUFDLGFBQWEsQ0FBQyxtQkFDVCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUs7OEJBR2Usa0JBQWtCO3NCQUFqRCxTQUFTO3VCQUFDLG1CQUFtQjtnQkFDTixVQUFVO3NCQUFqQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ1csVUFBVTtzQkFBMUMsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBIb3N0QmluZGluZyxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE9uSW5pdCxcclxuICAgIFNpbXBsZUNoYW5nZXMsXHJcbiAgICBUZW1wbGF0ZVJlZixcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIGluamVjdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTYWZlUmVzb3VyY2VVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ29udGVudERlbnNpdHksIERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gICAgQmFyc2FBcGksXHJcbiAgICBVcGxvYWRTZXJ2aWNlLFxyXG4gICAgRmlsZXNWYWxpZGF0aW9uSGVscGVyLFxyXG4gICAgaXNJbWFnZSxcclxuICAgIGdldEltYWdlUGF0aCxcclxuICAgIGdldEljb24sXHJcbiAgICBnZXRWYWxpZEV4dGVuc2lvbixcclxuICAgIElVcGxvYWRpbmdTdGF0ZSxcclxuICAgIE1ldGFvYmplY3REYXRhTW9kZWxcclxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IERldmljZUluZm9GaWVsZEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9kZXZpY2UtaW5mby1maWVsZC1iYXNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtdWktcGRmLXZpZXdlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktcGRmLXZpZXdlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi91aS1wZGYtdmlld2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtVcGxvYWRTZXJ2aWNlXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpUGRmVmlld2VyQ29tcG9uZW50IGV4dGVuZHMgRGV2aWNlSW5mb0ZpZWxkQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICAgIEBWaWV3Q2hpbGQoJ3BkZlZpZXdlck9uRGVtYW5kJykgX3BkZlZpZXdlck9uRGVtYW5kOiBhbnk7XHJcbiAgICBAVmlld0NoaWxkKCdkaWFsb2dUcGwnKSBfZGlhbG9nVHBsOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5taW4taGVpZ2h0JykgX21pbmhlaWdodDogc3RyaW5nIHwgbnVsbCA9ICc3MHZoJztcclxuICAgIGZpbGVOYW1lOiBzdHJpbmc7XHJcbiAgICBmYWxsYmFja0xpbms6IGFueTtcclxuICAgIGNhbk5vdFJlbmRlclBkZjogYm9vbGVhbjtcclxuICAgIHZhbHVlVXJsOiBTYWZlUmVzb3VyY2VVcmwgfCBudWxsO1xyXG4gICAgaGFzUGRmOiBib29sZWFuO1xyXG4gICAgcGRmT2JqZWN0OiB7XHJcbiAgICAgICAgYXV0b0VsOiB7XHJcbiAgICAgICAgICAgIHRhZzogc3RyaW5nO1xyXG4gICAgICAgICAgICBkYXRhOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIHR5cGU6IHN0cmluZztcclxuICAgICAgICAgICAgd2lkdGg6IHN0cmluZztcclxuICAgICAgICAgICAgaGVpZ2h0OiBzdHJpbmc7XHJcbiAgICAgICAgICAgIGh0bWw6IGFueTtcclxuICAgICAgICB9O1xyXG4gICAgfTtcclxuXHJcbiAgICB1cGxvYWRpbmdTdGF0ZSQ6IE9ic2VydmFibGU8SVVwbG9hZGluZ1N0YXRlPjtcclxuICAgIGZpbGVzOiBGaWxlW107XHJcbiAgICBjb250ZW50RGVuc2l0eSQ6IE9ic2VydmFibGU8Q29udGVudERlbnNpdHk+O1xyXG4gICAgb2ZmaWNlT25saW5lOiBhbnk7XHJcbiAgICB1c2VXb3JkRWRpdG9yOiBhbnk7XHJcbiAgICBoYXNGaWxlTmFtZTogYm9vbGVhbjtcclxuICAgIGNhblJlbW92ZTogYm9vbGVhbjtcclxuICAgIGNhblVwbG9hZDogYm9vbGVhbjtcclxuICAgIGNhbkVkaXQ6IGJvb2xlYW47XHJcbiAgICBjYW5Eb3dubG9hZDogYm9vbGVhbjtcclxuICAgIGNhbkRlbGV0ZSA9IHRydWU7XHJcbiAgICBjYW5TYXZlID0gdHJ1ZTtcclxuICAgIHZhbGlkRXh0ZW5zaW9uOiBzdHJpbmc7XHJcbiAgICBmaWxlc1ZhbGlkYXRpb25IZWxwZXI6IEZpbGVzVmFsaWRhdGlvbkhlbHBlcjtcclxuICAgIHNpbmdsZUNvbnRyb2w6IGJvb2xlYW47XHJcbiAgICBzaW5nbGVGaWxlVGh1bWJuYWlsVXJsOiBzdHJpbmc7XHJcbiAgICBwYXJlbnRIZWlnaHQ6IG51bWJlcjtcclxuICAgIGJsb2JVcmw6IHN0cmluZztcclxuICAgIHBhcmFtZXRlcmVzOiBVaVBkZlZpZXdlclNldHRpbmc7XHJcbiAgICBfZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSA9IGluamVjdChEaWFsb2dTZXJ2aWNlKTtcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudXBsb2FkaW5nU3RhdGUkID0gdGhpcy5fdXBsb2FkU2VydmljZS51cGxvYWRpbmdTdGF0ZSQ7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICBzd2l0Y2ggKHRoaXMucGFyYW1ldGVycz8uU2hvd01vZGUpIHtcclxuICAgICAgICAgICAgY2FzZSAnMic6XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9taW5oZWlnaHQgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX21pbmhlaWdodCA9IHRoaXMuaW5saW5lRWRpdCA/ICdhdXRvJyA6IHRoaXMuX21pbmhlaWdodDtcclxuICAgICAgICB0aGlzLnZhbHVlJC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5fcmVmcmVzaCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMucmVmcmVzaCQuc3Vic2NyaWJlKChmcm9tU2VydmVyOiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JlZnJlc2goZnJvbVNlcnZlcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5maWxlc1ZhbGlkYXRpb25IZWxwZXIgPSBuZXcgRmlsZXNWYWxpZGF0aW9uSGVscGVyKFxyXG4gICAgICAgICAgICB0aGlzLlNldHRpbmcuTWF4RmlsZUNvdW50LFxyXG4gICAgICAgICAgICB0aGlzLlNldHRpbmcuTWF4RmlsZVNpemVLYixcclxuICAgICAgICAgICAgdGhpcy5TZXR0aW5nLk1heFRvdGFsRmlsZVNpemVLYlxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5fcmVmcmVzaEJ1dHRvbnMoKTtcclxuICAgICAgICB0aGlzLl9yZWZyZXNoKCk7XHJcbiAgICAgICAgdGhpcy52YWxpZEV4dGVuc2lvbiA9IHRoaXMuY29udGV4dC51c2VXb3JkRWRpdG9yXHJcbiAgICAgICAgICAgID8gJy5kb2MsLmRvY3gsYXBwbGljYXRpb24vbXN3b3JkLGFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50J1xyXG4gICAgICAgICAgICA6IGdldFZhbGlkRXh0ZW5zaW9uKHRoaXMuU2V0dGluZy5WYWxpZEV4dGVuc2lvbnMpO1xyXG4gICAgICAgIHRoaXMuc2luZ2xlQ29udHJvbCA9IHRoaXMuU2V0dGluZy5WaWV3VHlwZSA9PT0gJ1NpbmdsZUZpbGVDb250cm9sJztcclxuICAgIH1cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgICAgICBjb25zdCB7IGZvcm1IZWlnaHQgfSA9IGNoYW5nZXM7XHJcbiAgICAgICAgaWYgKGZvcm1IZWlnaHQgJiYgIWZvcm1IZWlnaHQuZmlyc3RDaGFuZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBvbkVkaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fY29tbWFuZENsaWNrSGFuZGxlcignRWRpdCcpO1xyXG4gICAgfVxyXG4gICAgb25WaWV3KGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZSA9IHsgY3RybEtleTogZXZlbnQuY3RybEtleSB9O1xyXG4gICAgICAgIHRoaXMuX2NvbW1hbmRDbGlja0hhbmRsZXIoJ09PVmlldycsIGUpO1xyXG4gICAgfVxyXG4gICAgb25Eb3dubG9hZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9jb21tYW5kQ2xpY2tIYW5kbGVyKCdEb3dubG9hZCcpO1xyXG4gICAgfVxyXG4gICAgb25GaWxlU2VsZWN0aW9uKGZpbGVzOiBGaWxlW10pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl91cGxvYWRUb1NlcnZlcihmaWxlcyk7XHJcbiAgICB9XHJcbiAgICBvbkRlbGV0ZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9jb21tYW5kQ2xpY2tIYW5kbGVyKCdEZWxldGUnKTtcclxuICAgIH1cclxuICAgIG9uRWRpdEluV29yZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9jb21tYW5kQ2xpY2tIYW5kbGVyKCdPREVkaXQnKTtcclxuICAgIH1cclxuICAgIG9uT2ZmaWNlT25saW5lKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZSA9IHsgY3RybEtleTogZXZlbnQuY3RybEtleSB9O1xyXG5cclxuICAgICAgICB0aGlzLl9jb21tYW5kQ2xpY2tIYW5kbGVyKCdPT0VkaXQnLCBlKTtcclxuICAgIH1cclxuICAgIG9uUmVmcmVzaCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9jb21tYW5kQ2xpY2tIYW5kbGVyKCdSZWZyZXNoJyk7XHJcbiAgICB9XHJcbiAgICBEb3dubG9hZEZpbGVJZChmaWxlSWQsIHZpZXdJbkJyb3dzZXIsIGNvbnZlcnRUbywgZm9yT2N4LCBpc09mZmljZU9ubGluZSk6IHZvaWQge1xyXG4gICAgICAgIC8vIGlmICghaXNGaXJlZm94KCkpIHtcclxuICAgICAgICAvLyAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgLy8gICAgICAgICB0aGlzLl9tYXNrKCk7XHJcbiAgICAgICAgLy8gICAgIH0sIDApO1xyXG4gICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgQmFyc2FBcGkuQ29tbW9uLkZpbGUuRG93bmxvYWRGaWxlQ29udGVudC5iaW5kKHRoaXMpKFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBmaWxlSWQsXHJcbiAgICAgICAgICAgICAgICBmaWxlVXJsOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgdmlld0luQnJvd3NlcixcclxuICAgICAgICAgICAgICAgIGNvbnZlcnRUbyxcclxuICAgICAgICAgICAgICAgIGlzT2ZmaWNlT25saW5lLFxyXG4gICAgICAgICAgICAgICAgZm9yT2N4XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnN1Y2NlZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9kb3dubG9hZEZpbGVJZENvbXBsZXRlZChyZXNwb25zZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgdGhpcy5faGlkZU1hc2soKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIC8vICAgICB0aGlzLl9oaWRlTWFzaygpO1xyXG4gICAgICAgICAgICAgICAgLy8gfSk7XHJcbiAgICAgICAgICAgICAgICBhbGVydChlcnJvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgfVxyXG4gICAgb25PcGVuUHJldmlld0luRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3Blbih0aGlzLl9kaWFsb2dUcGwsIHtcclxuICAgICAgICAgICAgcmVzcG9uc2l2ZVBhZGRpbmc6IHRydWUsXHJcbiAgICAgICAgICAgIG1vYmlsZTogdHJ1ZSxcclxuICAgICAgICAgICAgYXJpYUxhYmVsbGVkQnk6ICdtYXAnLFxyXG4gICAgICAgICAgICBhcmlhRGVzY3JpYmVkQnk6ICdjaG9vc2UgbG9jYXRpb24nLFxyXG4gICAgICAgICAgICBmb2N1c1RyYXBwZWQ6IHRydWVcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIG9uRGlhbG9nQ2xvc2UoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZGlhbG9nU2VydmljZS5kaXNtaXNzQWxsKCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2Rvd25sb2FkRmlsZUlkQ29tcGxldGVkKHJlc3BvbnNlKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgYmxvYiA9IEJhcnNhQXBpLkNvbW1vbi5GaWxlLkI2NHRvQmxvYihyZXNwb25zZS5jb250ZW50LCByZXNwb25zZS5jb250ZW50VHlwZSk7XHJcbiAgICAgICAgY29uc3QgdXJsID0gd2luZG93LlVSTCB8fCB3aW5kb3cud2Via2l0VVJMO1xyXG4gICAgICAgIHRoaXMuYmxvYlVybCA9IHVybC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcclxuICAgICAgICAgICAgLy8gdGhpcy5fcGRmVmlld2VyT25EZW1hbmQucGRmU3JjID0gdGhpcy5ibG9iVXJsOyAvLyBwZGZTcmMgY2FuIGJlIEJsb2Igb3IgVWludDhBcnJheVxyXG4gICAgICAgICAgICAvLyB0aGlzLl9wZGZWaWV3ZXJPbkRlbWFuZC5yZWZyZXNoKCk7IC8vIEFzayBwZGYgdmlld2VyIHRvIGxvYWQvcmVmcmVzaCBwZGZcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy52YWx1ZVVybCA9IHRoaXMuX2RvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodGhpcy5ibG9iVXJsKTtcclxuICAgICAgICB0aGlzLmhhc1BkZiA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3VwbG9hZFRvU2VydmVyKGZpbGVzOiBGaWxlW10pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmZpbGVzVmFsaWRhdGlvbkhlbHBlci52YWxpZGF0ZUZpbGVzKGZpbGVzKTtcclxuICAgICAgICB0aGlzLl91cGxvYWRGaWxlKGZpbGVzKS5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF9yZWZyZXNoQnV0dG9ucygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yZWZyZXNoQnV0dG9uc0hlbHBlcihmYWxzZSk7XHJcbiAgICAgICAgQmFyc2FBcGkuQ29tbW9uLkFzeW5jLldhdGVyZmFsbChcclxuICAgICAgICAgICAgJ0NvbW1vbi5GaWxlLklzQWdlbnRBY3RpdmUnLFxyXG4gICAgICAgICAgICBbXHJcbiAgICAgICAgICAgICAgICAvLyBDb21tb24uRmlsZUFnZW50LklzQWdlbnRBY3RpdmUuYmluZChDb21tb24uRmlsZUFnZW50KSxcclxuICAgICAgICAgICAgICAgIEJhcnNhQXBpLkNvbW1vbi5BZ2VudEhlbHBlci5Jbml0LmJpbmQoQmFyc2FBcGkuQ29tbW9uLkFnZW50SGVscGVyKVxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAoZXJyLCByZXN1bHQpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGFnZW50SXNBY3RpdmUgPSByZXN1bHQgPT09ICdPSyc7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9yZWZyZXNoQnV0dG9uc0hlbHBlcihhZ2VudElzQWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3JlZnJlc2hCdXR0b25zSGVscGVyKGlzQWdlbnRBY3RpdmUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRpc2FibGVPclJlYWRvbmx5JC5zdWJzY3JpYmUoKGRpc2FibGVPclJlYWRvbmx5KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNhblNhdmUgPSB0aGlzLmNhblNhdmU7XHJcbiAgICAgICAgICAgIHRoaXMuY2FuRGVsZXRlID0gIWRpc2FibGVPclJlYWRvbmx5O1xyXG4gICAgICAgICAgICBjb25zdCBoYXNWYWx1ZSA9ICFCYXJzYUFwaS5FeHQuaXNFbXB0eSh0aGlzLnZhbHVlKTtcclxuICAgICAgICAgICAgY29uc3QgZWRpdDAgPSBjYW5TYXZlICYmIGRpc2FibGVPclJlYWRvbmx5ICE9PSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmNhbkVkaXQgPSBlZGl0MCAmJiBpc0FnZW50QWN0aXZlO1xyXG4gICAgICAgICAgICB0aGlzLmNhbkRvd25sb2FkID0gIXRoaXMuU2V0dGluZy5Jc1dvcmRWaWV3ZXIgfHwgKCFpc0FnZW50QWN0aXZlICYmIGVkaXQwKTtcclxuICAgICAgICAgICAgdGhpcy5jYW5VcGxvYWQgPSB0aGlzLmNhbkRvd25sb2FkICYmIGNhblNhdmUgJiYgZGlzYWJsZU9yUmVhZG9ubHkgIT09IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuaGFzRmlsZU5hbWUgPSAhdGhpcy5jb250ZXh0LlNldHRpbmcuSXNXb3JkVmlld2VyO1xyXG4gICAgICAgICAgICB0aGlzLmNhblJlbW92ZSA9IHRoaXMuY2FuRG93bmxvYWQgJiYgY2FuU2F2ZSAmJiBkaXNhYmxlT3JSZWFkb25seSAhPT0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMub2ZmaWNlT25saW5lID0gaGFzVmFsdWUgJiYgY2FuU2F2ZSAmJiBkaXNhYmxlT3JSZWFkb25seSAhPT0gdHJ1ZSAmJiB0aGlzLmNvbnRleHQuT2ZmaWNlT25saW5lO1xyXG4gICAgICAgICAgICB0aGlzLnVzZVdvcmRFZGl0b3IgPSBoYXNWYWx1ZSAmJiBjYW5TYXZlICYmIGRpc2FibGVPclJlYWRvbmx5ICE9PSB0cnVlICYmIHRoaXMuY29udGV4dC51c2VXb3JkRWRpdG9yO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9jb21tYW5kQ2xpY2tIYW5kbGVyKGl0ZW1JZCwga2V5Ym9hcmRFdmVudD8pOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjb21tYW5kSWQgPSBpdGVtSWQ7XHJcblxyXG4gICAgICAgIGxldCBmaWxlcyA9IHRoaXMudmFsdWU7XHJcbiAgICAgICAgaWYgKEJhcnNhQXBpLkV4dC5pc0FycmF5KGZpbGVzKSkge1xyXG4gICAgICAgICAgICBmaWxlcyA9IGZpbGVzWzBdO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZmlsZUlkID0gZmlsZXM/LklkO1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ0NvbW1hbmRSZXF1ZXN0JywgdGhpcywgY29tbWFuZElkLCBmaWxlSWQsIGtleWJvYXJkRXZlbnQpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9yZWZyZXNoKGZyb21TZXJ2ZXI/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgb2ZmaWNlT25saW5lID0gZnJvbVNlcnZlciA9PT0gZmFsc2U7XHJcblxyXG4gICAgICAgIHRoaXMuZmlsZU5hbWUgPSAnJztcclxuXHJcbiAgICAgICAgaWYgKEJhcnNhQXBpLkV4dC5pc0VtcHR5KHRoaXMudmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGFzUGRmID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBmaWxlcyA9IHRoaXMudmFsdWU7XHJcbiAgICAgICAgaWYgKEJhcnNhQXBpLkV4dC5pc0FycmF5KGZpbGVzKSkge1xyXG4gICAgICAgICAgICBmaWxlcyA9IGZpbGVzWzBdO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZmlsZUlkID0gZmlsZXMuSWQ7XHJcbiAgICAgICAgaWYgKCFmaWxlSWQgfHwgZmlsZXMuSXNEZWxldGVkKSB7XHJcbiAgICAgICAgICAgIGlmIChmaWxlcy5Jc0RlbGV0ZWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGFzUGRmID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZhbGxiYWNrTGluayA9IGDYp9mF2qnYp9mGINmG2YXYp9uM2LQg2YHYp9uM2YQg2K/YsSDYp9uM2YYg2YXYsdmI2LHar9ixINmI2KzZiNivINmG2K/Yp9ix2K8uXHJcbiAgICAgICAgINio2LHYp9uMINio2KfYsiDaqdix2K/ZhiDZgdin24zZhCDYp9iyINmE24zZhtqpINiy24zYsSDYp9iz2KrZgdin2K/ZhyDaqdmG24zYrzogIDwvYnI+IDxhIGhyZWY9JyR7QmFyc2FBcGkuQ29tbW9uLkZpbGUuQ3JlYXRlQXR0YWNobWVudFVybChcclxuICAgICAgICAgICAgIGZpbGVJZCxcclxuICAgICAgICAgICAgIGZhbHNlLFxyXG4gICAgICAgICAgICAgdHJ1ZVxyXG4gICAgICAgICApfSc+2K/Yp9mG2YTZiNivINmB2KfbjNmEINio2LXZiNix2KogcGRmPC9hPiAgPC9icj4gIDxhIGhyZWY9JyR7QmFyc2FBcGkuQ29tbW9uLkZpbGUuQ3JlYXRlQXR0YWNobWVudFVybChcclxuICAgICAgICAgICAgZmlsZUlkLFxyXG4gICAgICAgICAgICBmYWxzZSxcclxuICAgICAgICAgICAgZmFsc2VcclxuICAgICAgICApfSc+2K/Yp9mG2YTZiNivINmB2KfbjNmEINio2LXZiNix2Kog2KjYtdmI2LHYqiDYp9i12YTbjDwvYT5gO1xyXG5cclxuICAgICAgICBpZiAoIUJhcnNhQXBpLkV4dC5pc0lFKSB7XHJcbiAgICAgICAgICAgIC8vIGNvbnN0IG9wdGlvbnMgPSB7XHJcbiAgICAgICAgICAgIC8vICAgICBmYWxsYmFja0xpbms6IHRoaXMuZmFsbGJhY2tMaW5rLFxyXG4gICAgICAgICAgICAvLyAgICAgcGRmT3BlblBhcmFtczoge1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIHZpZXc6ICdGaXRIJyxcclxuICAgICAgICAgICAgLy8gICAgICAgICBzY3JvbGxiYXI6ICcwJyxcclxuICAgICAgICAgICAgLy8gICAgICAgICB0b29sYmFyOiAnMCcsXHJcbiAgICAgICAgICAgIC8vICAgICAgICAgc3RhdHVzYmFyOiAnMCcsXHJcbiAgICAgICAgICAgIC8vICAgICAgICAgbWVzc2FnZXM6ICcwJyxcclxuICAgICAgICAgICAgLy8gICAgICAgICBuYXZwYW5lczogJzAnXHJcbiAgICAgICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAgIC8vIH07XHJcbiAgICAgICAgICAgIGxldCBjb252ZXJ0VG8gPSBpc0ltYWdlKGZpbGVzLlR5cGUpID8gZmlsZXMuVHlwZSA6ICcnO1xyXG4gICAgICAgICAgICBjb252ZXJ0VG8gPSAncGRmLGRvYyxkb2N4LHdvcmQnLmluZGV4T2YoZmlsZXMuVHlwZSkgPiAtMSA/ICdwZGYnIDogY29udmVydFRvO1xyXG5cclxuICAgICAgICAgICAgaWYgKCFjb252ZXJ0VG8pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2luZ2xlQ29udHJvbCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVNpbmdsZUNvbnRyb2woZmlsZXMpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2luZ2xlQ29udHJvbCA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5Eb3dubG9hZEZpbGVJZChmaWxlSWQsIHRydWUsIGNvbnZlcnRUbywgbnVsbCwgb2ZmaWNlT25saW5lKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBjb25zdCB1cmwgPSBDb21tb24uRmlsZS5DcmVhdGVBdHRhY2htZW50VXJsKGZpbGVJZCwgZmFsc2UpO1xyXG4gICAgICAgICAgICB0aGlzLmNhbk5vdFJlbmRlclBkZiA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfdXBsb2FkRmlsZShmaWxlczogRmlsZVtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgICAgIGZpbGVzLmZvckVhY2goKGZpbGUpID0+IHtcclxuICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKCd1bmljRmlsZU5hbWUnLCAneCcgKyBCYXJzYUFwaS5Db21tb24uVXRpbC5HZXROZXdNZXRhR3VpZCgpICsgJzs7OycgKyBmaWxlLm5hbWUpO1xyXG4gICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VwbG9hZFNlcnZpY2UudXBsb2FkKGZvcm1EYXRhLCB0aGlzLlNldHRpbmcuQ29udHJvbEZpZWxkRGVmSWQpLnBpcGUoXHJcbiAgICAgICAgICAgIHRhcCgocmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyZXMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlVmFsdWUocmVzKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfdXBkYXRlVmFsdWUocmVzOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLlNldHRpbmcuVmlld1R5cGUgIT09ICdMaW5lYXJMaXN0Qm94Jykge1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNpbmdsZUNvbnRyb2wocmVzWzBdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5maXJlQ29udGV4dEV2ZW50KCdDaGFuZ2UnLCB0aGlzLmNvbnRleHQsIHJlcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB1cGRhdGVTaW5nbGVDb250cm9sKHZhbDogYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGlzSW1hZ2UodmFsLlR5cGUpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2luZ2xlRmlsZVRodW1ibmFpbFVybCA9IGdldEltYWdlUGF0aCgnSUQnLCAnJywgdmFsLklkKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnNpbmdsZUZpbGVUaHVtYm5haWxVcmwgPSBnZXRJY29uKHZhbC5UeXBlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9oaWRlTWFzaygpOiB2b2lkIHtcclxuICAgICAgICBCYXJzYUFwaS5VbC5Mb2FkaW5nTWFzay5Vbm1hc2sodGhpcy5fZWwubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9tYXNrKCk6IHZvaWQge1xyXG4gICAgICAgIEJhcnNhQXBpLlVsLkxvYWRpbmdNYXNrLk1hc2sodGhpcy5fZWwubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmludGVyZmFjZSBVaVBkZlZpZXdlclNldHRpbmcgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIFNob3dNb2RlOiBzdHJpbmc7IC8vIDI9IGJ1dHRvbm1vZGUgMT1kZWZhdWx0XHJcbiAgICBIaWRlRGVsZXRlOiBib29sZWFuO1xyXG4gICAgSGlkZUF0dGFjaDogYm9vbGVhbjtcclxuICAgIEhpZGVSZWZyZXNoOiBib29sZWFuO1xyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKnVudGlsSW5WaWV3PVwiZWxcIj5cclxuICAgIEBzd2l0Y2ggKHBhcmFtZXRlcnM/LlNob3dNb2RlKSB7IEBjYXNlICgnMicpIHtcclxuICAgIDxkaXY+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRvb2xiYXI7IGNvbnRleHQ6IHsgZGlhbG9nTW9kZTogdHJ1ZSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIH0gQGRlZmF1bHQge1xyXG4gICAgPGRpdj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidG9vbGJhclwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwcmV2aWV3XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIH0gfVxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdG9vbGJhciBsZXQtZGlhbG9nTW9kZT1cImRpYWxvZ01vZGVcIj5cclxuICAgIEBpZiAoKGRpc2FibGVPclJlYWRvbmx5JCB8IGFzeW5jKSAhPT0gdHJ1ZSkge1xyXG4gICAgPGZkLXRvb2xiYXIgW2NsYXNzLmRpYWxvZ01vZGVdPVwiZGlhbG9nTW9kZVwiIFt0cmFuc3BhcmVudF09XCJ0cnVlXCIgW3Nob3VsZE92ZXJmbG93XT1cInRydWVcIj5cclxuICAgICAgICA8ZmQtZmlsZS11cGxvYWRlclxyXG4gICAgICAgICAgICAjdXBsb2FkZXJcclxuICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiJ25vbmUnXCJcclxuICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXHJcbiAgICAgICAgICAgIFtpZF09XCJpZFwiXHJcbiAgICAgICAgICAgIFtuYW1lXT1cIidwZGZfJyArIGlkXCJcclxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidBdHRhY2hGaWxlJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgIFtidXR0b25MYWJlbF09XCInQXR0YWNoRmlsZScgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICBbYnV0dG9uQXJpYUxhYmVsXT1cIidBdHRhY2hGaWxlJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgIFthY2NlcHRdPVwidmFsaWRFeHRlbnNpb25cIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbGVzXCJcclxuICAgICAgICAgICAgW211bHRpcGxlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgKHNlbGVjdGVkRmlsZXNDaGFuZ2VkKT1cIm9uRmlsZVNlbGVjdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2NvbnRlbnREZW5zaXR5XT1cIihjb250ZW50RGVuc2l0eSQgfCBhc3luYykhIVwiXHJcbiAgICAgICAgPjwvZmQtZmlsZS11cGxvYWRlcj5cclxuICAgICAgICBAaWYgKCFwYXJhbWV0ZXJzPy5IaWRlRGVsZXRlKSB7XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIShjYW5EZWxldGUgJiYgdmFsdWUpXCJcclxuICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgICAgICBjbGFzcz1cImRlbGV0ZVwiXHJcbiAgICAgICAgICAgIGdseXBoPVwiZGVsZXRlXCJcclxuICAgICAgICAgICAgW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGVsZXRlKClcIlxyXG4gICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICB9IEBpZiAoIXBhcmFtZXRlcnM/LkhpZGVBdHRhY2gpIHtcclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cclxuICAgICAgICAgICAgZ2x5cGg9XCJhdHRhY2htZW50XCJcclxuICAgICAgICAgICAgW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5VcGxvYWRcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwidXBsb2FkZXIub3BlbigpXCJcclxuICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgfSBAaWYgKGNhbkVkaXQpIHtcclxuICAgICAgICA8YnV0dG9uIGZkLXRvb2xiYXItaXRlbSBmZC1idXR0b24gZ2x5cGg9XCJlZGl0XCIgW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCIgKGNsaWNrKT1cIm9uRWRpdCgpXCI+PC9idXR0b24+XHJcbiAgICAgICAgfSBAaWYgKHVzZVdvcmRFZGl0b3IpIHtcclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgZ2x5cGg9XCJkb2MtYXR0YWNobWVudFwiXHJcbiAgICAgICAgICAgIFtmZFR5cGVdPVwiJ3RyYW5zcGFyZW50J1wiXHJcbiAgICAgICAgICAgIFtsYWJlbF09XCInRWRpdCcgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25FZGl0SW5Xb3JkKClcIlxyXG4gICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICB9IEBpZiAob2ZmaWNlT25saW5lKSB7XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cclxuICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgIGdseXBoPVwiZG9jLWF0dGFjaG1lbnRcIlxyXG4gICAgICAgICAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxyXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ09mZmljZU9ubGluZScgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25PZmZpY2VPbmxpbmUoJGV2ZW50KVwiXHJcbiAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgIH0gQGlmIChkaWFsb2dNb2RlKSB7XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cclxuICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgIFtnbHlwaF09XCInc2hvdydcIlxyXG4gICAgICAgICAgICBbYXR0ci5mZE92ZXJmbG93UHJpb3JpdHldPVwiJ2xvdydcIlxyXG4gICAgICAgICAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxyXG4gICAgICAgICAgICBbbGFiZWxdPVwiIWRpYWxvZ01vZGUgPyAnJyA6ICgnVmlldycgfCBiYmJUcmFuc2xhdGUpXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uT3BlblByZXZpZXdJbkRpYWxvZygpXCJcclxuICAgICAgICAgICAgYm9keUNsaWNrXHJcbiAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgIH0gQGlmIChjYW5Eb3dubG9hZCkge1xyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXHJcbiAgICAgICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgICAgICBbYXR0ci5mZE92ZXJmbG93UHJpb3JpdHldPVwiJ2xvdydcIlxyXG4gICAgICAgICAgICBbZ2x5cGhdPVwiJ2Rvd25sb2FkJ1wiXHJcbiAgICAgICAgICAgIFtsYWJlbF09XCIhZGlhbG9nTW9kZSA/ICcnIDogKCdEb3dubG9hZCcgfCBiYmJUcmFuc2xhdGUpXCJcclxuICAgICAgICAgICAgW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uRG93bmxvYWQoKVwiXHJcbiAgICAgICAgICAgIGJvZHlDbGlja1xyXG4gICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICB9IEBpZiAoIXBhcmFtZXRlcnM/LkhpZGVSZWZyZXNoKSB7XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBbYXR0ci5mZE92ZXJmbG93UHJpb3JpdHldPVwiJ2xvdydcIlxyXG4gICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cclxuICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgIFtnbHlwaF09XCJkaWFsb2dNb2RlID8gbnVsbCA6ICdyZWZyZXNoJ1wiXHJcbiAgICAgICAgICAgIFtsYWJlbF09XCIhZGlhbG9nTW9kZSA/ICcnIDogKCdSZWZyZXNoJyB8IGJiYlRyYW5zbGF0ZSlcIlxyXG4gICAgICAgICAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxyXG4gICAgICAgICAgICBib2R5Q2xpY2tcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uUmVmcmVzaCgpXCJcclxuICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxmZC1idXN5LWluZGljYXRvclxyXG4gICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cclxuICAgICAgICAgICAgW2xvYWRpbmddPVwiKHVwbG9hZGluZ1N0YXRlJCB8IGFzeW5jKT8udXBsb2FkaW5nID09PSB0cnVlXCJcclxuICAgICAgICA+PC9mZC1idXN5LWluZGljYXRvcj5cclxuICAgIDwvZmQtdG9vbGJhcj5cclxuICAgIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNwcmV2aWV3PlxyXG4gICAgQGlmIChpc01vYmlsZSkge1xyXG4gICAgPGRpdlxyXG4gICAgICAgIFtzdHlsZS5ib3JkZXJdPVwiIWJsb2JVcmwgPyAnLjA2MjVyZW0gc29saWQgdmFyKC0tc2FwR3JvdXBfVGl0bGVCb3JkZXJDb2xvciknIDogbnVsbFwiXHJcbiAgICAgICAgc3R5bGU9XCJoZWlnaHQ6IGNhbGMoNzB2aCAtIDQwcHgpOyBwb3NpdGlvbjogcmVsYXRpdmVcIlxyXG4gICAgPlxyXG4gICAgICAgIEBpZih2YWx1ZSl7XHJcbiAgICAgICAgPGJzdS1ibG9iLXZpZXdlciBbZmlsZV09XCJ2YWx1ZVwiIFtzdHlsZS53aWR0aF09XCJ3aWR0aFwiIFtkZWNyZW1lbnRdPVwiJzI1cHgnXCI+PC9ic3UtYmxvYi12aWV3ZXI+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDwhLS0gPG5nMi1wZGZqcy12aWV3ZXJcclxuICAgICAgICAgICAgZmlsbEVtcHR5U3BhY2VcclxuICAgICAgICAgICAgW2NvbnRhaW5lckRvbV09XCJmb3JtQ29udGFpbmVyXCJcclxuICAgICAgICAgICAgW2RvbnRVc2VUb3BCb3VuZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgI3BkZlZpZXdlck9uRGVtYW5kXHJcbiAgICAgICAgICAgIFtleHRlcm5hbFdpbmRvd109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIFtkb3dubG9hZEZpbGVOYW1lXT1cImJsb2JVcmxcIlxyXG4gICAgICAgICAgICBbb3BlbkZpbGVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICBbdmlld0Jvb2ttYXJrXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW3Nob3dTcGlubmVyXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbZG93bmxvYWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgPjwvbmcyLXBkZmpzLXZpZXdlcj4gLS0+XHJcbiAgICA8L2Rpdj5cclxuICAgIH0gQGVsc2UgeyBAaWYgKGhhc1BkZikge1xyXG4gICAgPG9iamVjdFxyXG4gICAgICAgIGZpbGxFbXB0eVNwYWNlXHJcbiAgICAgICAgW2NvbnRhaW5lckRvbV09XCJmb3JtQ29udGFpbmVyXCJcclxuICAgICAgICBbZG9udFVzZVRvcEJvdW5kXT1cInRydWVcIlxyXG4gICAgICAgIFtkaXNhYmxlXT1cImlubGluZUVkaXRcIlxyXG4gICAgICAgIHN0eWxlPVwiZmxleC1ncm93OiAxXCJcclxuICAgICAgICBbYXR0ci5kYXRhXT1cInZhbHVlVXJsXCJcclxuICAgICAgICB0eXBlPVwiYXBwbGljYXRpb24vcGRmXCJcclxuICAgICAgICB3aWR0aD1cIjEwMCVcIlxyXG4gICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiaW5saW5lRWRpdCA/ICdhdXRvJyA6IGZvcm1IZWlnaHQgLSAzMCA+IDAgPyBmb3JtSGVpZ2h0IC0gMzAgKyAncHgnIDogJzEwMHZoJ1wiXHJcbiAgICAgICAgW2F0dHIuaHRtbF09XCJmYWxsYmFja0xpbmtcIlxyXG4gICAgPjwvb2JqZWN0PlxyXG4gICAgfSBAZWxzZSB7IEBpZiAoc2luZ2xlQ29udHJvbCAmJiB2YWx1ZSAmJiAhdmFsdWUuSXNEZWxldGVkKSB7XHJcbiAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleFwiPlxyXG4gICAgICAgIEBpZiAoc2luZ2xlRmlsZVRodW1ibmFpbFVybCkge1xyXG4gICAgICAgIDxpbWcgW3NyY109XCJzaW5nbGVGaWxlVGh1bWJuYWlsVXJsXCIgLz5cclxuICAgICAgICB9XHJcbiAgICAgICAgPGZkLW9iamVjdC1pZGVudGlmaWVyPlxyXG4gICAgICAgICAgICB7eyB2YWx1ZS5GaWxlTmFtZSB9fVxyXG4gICAgICAgIDwvZmQtb2JqZWN0LWlkZW50aWZpZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgPGRpdlxyXG4gICAgICAgIGZpbGxFbXB0eVNwYWNlXHJcbiAgICAgICAgW2NvbnRhaW5lckRvbV09XCJmb3JtQ29udGFpbmVyXCJcclxuICAgICAgICBbZG9udFVzZVRvcEJvdW5kXT1cInRydWVcIlxyXG4gICAgICAgIGNsYXNzPVwiaGF0Y2hCYWNrZ3JvdW5kXCJcclxuICAgICAgICBbZGlzYWJsZV09XCJpbmxpbmVFZGl0XCJcclxuICAgICAgICBbY2xhc3MudHctaC00XT1cImlubGluZUVkaXRcIlxyXG4gICAgPjwvZGl2PlxyXG4gICAgfSB9IH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSBsZXQtZGlhbG9nIGxldC1kaWFsb2dDb25maWc9XCJkaWFsb2dDb25maWdcIiAjZGlhbG9nVHBsPlxyXG4gICAgPGZkLWRpYWxvZyBbZGlhbG9nQ29uZmlnXT1cImRpYWxvZ0NvbmZpZ1wiIFtkaWFsb2dSZWZdPVwiZGlhbG9nXCIgY2xhc3M9XCJ2ZXJ0aWNhbFwiPlxyXG4gICAgICAgIDxmZC1kaWFsb2ctaGVhZGVyPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgZmRrVGVtcGxhdGU9XCJoZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgZmQtYmFyLWxlZnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZkLWJhci1lbGVtZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgZmQtdGl0bGU+ZWRpdCBpbiB3b3JkPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICA8L2ZkLWJhci1lbGVtZW50PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGZkLWJhci1yaWdodD5cclxuICAgICAgICAgICAgICAgICAgICA8ZmQtYnV0dG9uLWJhciBhcmlhTGFiZWw9XCJjbG9zZVwiIGdseXBoPVwiZGVjbGluZVwiIChjbGljayk9XCJvbkRpYWxvZ0Nsb3NlKClcIj48L2ZkLWJ1dHRvbi1iYXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2ZkLWRpYWxvZy1oZWFkZXI+XHJcbiAgICAgICAgPGZkLWRpYWxvZy1ib2R5PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicHJldmlld1wiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZmQtZGlhbG9nLWJvZHk+XHJcbiAgICA8L2ZkLWRpYWxvZz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktcGRmLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS1wZGYtdmlld2VyL3VpLXBkZi12aWV3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktcGRmLXZpZXdlci91aS1wZGYtdmlld2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFLWCxTQUFTLEVBQ1QsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFrQixhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RSxPQUFPLEVBQ0gsUUFBUSxFQUNSLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsT0FBTyxFQUNQLFlBQVksRUFDWixPQUFPLEVBQ1AsaUJBQWlCLEVBR3BCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVekUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLDRCQUE0QjtJQVJ0RTs7UUFXcUMsZUFBVSxHQUFrQixNQUFNLENBQUM7UUEyQnBFLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsWUFBTyxHQUFHLElBQUksQ0FBQztRQVFmLG1CQUFjLEdBQWtCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztLQXdRekQ7SUF2UUcsUUFBUTtRQUNKLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUM7UUFDM0QsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pC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QUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsR0FBUTtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsWUFBWSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLHNCQUFzQixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNMLENBQUM7SUFDTyxTQUFTO1FBQ2IsUUFBUSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNPLEtBQUs7UUFDVCxRQUFRLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6RCxDQUFDOytHQTlTUSxvQkFBb0I7bUdBQXBCLG9CQUFvQiw2R0FKbEIsQ0FBQyxhQUFhLENBQUMseVJDaEM5Qixpa09BOExBOzs0RkQxSmEsb0JBQW9CO2tCQVJoQyxTQUFTOytCQUNJLG1CQUFtQixhQUdsQixDQUFDLGFBQWEsQ0FBQyxtQkFDVCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUs7OEJBR2Usa0JBQWtCO3NCQUFqRCxTQUFTO3VCQUFDLG1CQUFtQjtnQkFDTixVQUFVO3NCQUFqQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ1csVUFBVTtzQkFBMUMsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBIb3N0QmluZGluZyxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE9uSW5pdCxcclxuICAgIFNpbXBsZUNoYW5nZXMsXHJcbiAgICBUZW1wbGF0ZVJlZixcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIGluamVjdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTYWZlUmVzb3VyY2VVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ29udGVudERlbnNpdHksIERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gICAgQmFyc2FBcGksXHJcbiAgICBVcGxvYWRTZXJ2aWNlLFxyXG4gICAgRmlsZXNWYWxpZGF0aW9uSGVscGVyLFxyXG4gICAgaXNJbWFnZSxcclxuICAgIGdldEltYWdlUGF0aCxcclxuICAgIGdldEljb24sXHJcbiAgICBnZXRWYWxpZEV4dGVuc2lvbixcclxuICAgIElVcGxvYWRpbmdTdGF0ZSxcclxuICAgIE1ldGFvYmplY3REYXRhTW9kZWxcclxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IERldmljZUluZm9GaWVsZEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9kZXZpY2UtaW5mby1maWVsZC1iYXNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtdWktcGRmLXZpZXdlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktcGRmLXZpZXdlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi91aS1wZGYtdmlld2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtVcGxvYWRTZXJ2aWNlXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpUGRmVmlld2VyQ29tcG9uZW50IGV4dGVuZHMgRGV2aWNlSW5mb0ZpZWxkQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICAgIEBWaWV3Q2hpbGQoJ3BkZlZpZXdlck9uRGVtYW5kJykgX3BkZlZpZXdlck9uRGVtYW5kOiBhbnk7XHJcbiAgICBAVmlld0NoaWxkKCdkaWFsb2dUcGwnKSBfZGlhbG9nVHBsOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5taW4taGVpZ2h0JykgX21pbmhlaWdodDogc3RyaW5nIHwgbnVsbCA9ICc3MHZoJztcclxuICAgIGZpbGVOYW1lOiBzdHJpbmc7XHJcbiAgICBmYWxsYmFja0xpbms6IGFueTtcclxuICAgIGNhbk5vdFJlbmRlclBkZjogYm9vbGVhbjtcclxuICAgIHZhbHVlVXJsOiBTYWZlUmVzb3VyY2VVcmwgfCBudWxsO1xyXG4gICAgaGFzUGRmOiBib29sZWFuO1xyXG4gICAgcGRmT2JqZWN0OiB7XHJcbiAgICAgICAgYXV0b0VsOiB7XHJcbiAgICAgICAgICAgIHRhZzogc3RyaW5nO1xyXG4gICAgICAgICAgICBkYXRhOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIHR5cGU6IHN0cmluZztcclxuICAgICAgICAgICAgd2lkdGg6IHN0cmluZztcclxuICAgICAgICAgICAgaGVpZ2h0OiBzdHJpbmc7XHJcbiAgICAgICAgICAgIGh0bWw6IGFueTtcclxuICAgICAgICB9O1xyXG4gICAgfTtcclxuXHJcbiAgICB1cGxvYWRpbmdTdGF0ZSQ6IE9ic2VydmFibGU8SVVwbG9hZGluZ1N0YXRlPjtcclxuICAgIGZpbGVzOiBGaWxlW107XHJcbiAgICBjb250ZW50RGVuc2l0eSQ6IE9ic2VydmFibGU8Q29udGVudERlbnNpdHk+O1xyXG4gICAgb2ZmaWNlT25saW5lOiBhbnk7XHJcbiAgICB1c2VXb3JkRWRpdG9yOiBhbnk7XHJcbiAgICBoYXNGaWxlTmFtZTogYm9vbGVhbjtcclxuICAgIGNhblJlbW92ZTogYm9vbGVhbjtcclxuICAgIGNhblVwbG9hZDogYm9vbGVhbjtcclxuICAgIGNhbkVkaXQ6IGJvb2xlYW47XHJcbiAgICBjYW5Eb3dubG9hZDogYm9vbGVhbjtcclxuICAgIGNhbkRlbGV0ZSA9IHRydWU7XHJcbiAgICBjYW5TYXZlID0gdHJ1ZTtcclxuICAgIHZhbGlkRXh0ZW5zaW9uOiBzdHJpbmc7XHJcbiAgICBmaWxlc1ZhbGlkYXRpb25IZWxwZXI6IEZpbGVzVmFsaWRhdGlvbkhlbHBlcjtcclxuICAgIHNpbmdsZUNvbnRyb2w6IGJvb2xlYW47XHJcbiAgICBzaW5nbGVGaWxlVGh1bWJuYWlsVXJsOiBzdHJpbmc7XHJcbiAgICBwYXJlbnRIZWlnaHQ6IG51bWJlcjtcclxuICAgIGJsb2JVcmw6IHN0cmluZztcclxuICAgIHBhcmFtZXRlcmVzOiBVaVBkZlZpZXdlclNldHRpbmc7XHJcbiAgICBfZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSA9IGluamVjdChEaWFsb2dTZXJ2aWNlKTtcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudXBsb2FkaW5nU3RhdGUkID0gdGhpcy5fdXBsb2FkU2VydmljZS51cGxvYWRpbmdTdGF0ZSQ7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICBzd2l0Y2ggKHRoaXMucGFyYW1ldGVycz8uU2hvd01vZGUpIHtcclxuICAgICAgICAgICAgY2FzZSAnMic6XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9taW5oZWlnaHQgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX21pbmhlaWdodCA9IHRoaXMuaW5saW5lRWRpdCA/ICdhdXRvJyA6IHRoaXMuX21pbmhlaWdodDtcclxuICAgICAgICB0aGlzLnZhbHVlJC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5fcmVmcmVzaCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMucmVmcmVzaCQuc3Vic2NyaWJlKChmcm9tU2VydmVyOiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JlZnJlc2goZnJvbVNlcnZlcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5maWxlc1ZhbGlkYXRpb25IZWxwZXIgPSBuZXcgRmlsZXNWYWxpZGF0aW9uSGVscGVyKFxyXG4gICAgICAgICAgICB0aGlzLlNldHRpbmcuTWF4RmlsZUNvdW50LFxyXG4gICAgICAgICAgICB0aGlzLlNldHRpbmcuTWF4RmlsZVNpemVLYixcclxuICAgICAgICAgICAgdGhpcy5TZXR0aW5nLk1heFRvdGFsRmlsZVNpemVLYlxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5fcmVmcmVzaEJ1dHRvbnMoKTtcclxuICAgICAgICB0aGlzLl9yZWZyZXNoKCk7XHJcbiAgICAgICAgdGhpcy52YWxpZEV4dGVuc2lvbiA9IHRoaXMuY29udGV4dC51c2VXb3JkRWRpdG9yXHJcbiAgICAgICAgICAgID8gJy5kb2MsLmRvY3gsYXBwbGljYXRpb24vbXN3b3JkLGFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50J1xyXG4gICAgICAgICAgICA6IGdldFZhbGlkRXh0ZW5zaW9uKHRoaXMuU2V0dGluZy5WYWxpZEV4dGVuc2lvbnMpO1xyXG4gICAgICAgIHRoaXMuc2luZ2xlQ29udHJvbCA9IHRoaXMuU2V0dGluZy5WaWV3VHlwZSA9PT0gJ1NpbmdsZUZpbGVDb250cm9sJztcclxuICAgIH1cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgICAgICBjb25zdCB7IGZvcm1IZWlnaHQgfSA9IGNoYW5nZXM7XHJcbiAgICAgICAgaWYgKGZvcm1IZWlnaHQgJiYgIWZvcm1IZWlnaHQuZmlyc3RDaGFuZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBvbkVkaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fY29tbWFuZENsaWNrSGFuZGxlcignRWRpdCcpO1xyXG4gICAgfVxyXG4gICAgb25WaWV3KGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZSA9IHsgY3RybEtleTogZXZlbnQuY3RybEtleSB9O1xyXG4gICAgICAgIHRoaXMuX2NvbW1hbmRDbGlja0hhbmRsZXIoJ09PVmlldycsIGUpO1xyXG4gICAgfVxyXG4gICAgb25Eb3dubG9hZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9jb21tYW5kQ2xpY2tIYW5kbGVyKCdEb3dubG9hZCcpO1xyXG4gICAgfVxyXG4gICAgb25GaWxlU2VsZWN0aW9uKGZpbGVzOiBGaWxlW10pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl91cGxvYWRUb1NlcnZlcihmaWxlcyk7XHJcbiAgICB9XHJcbiAgICBvbkRlbGV0ZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9jb21tYW5kQ2xpY2tIYW5kbGVyKCdEZWxldGUnKTtcclxuICAgIH1cclxuICAgIG9uRWRpdEluV29yZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9jb21tYW5kQ2xpY2tIYW5kbGVyKCdPREVkaXQnKTtcclxuICAgIH1cclxuICAgIG9uT2ZmaWNlT25saW5lKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZSA9IHsgY3RybEtleTogZXZlbnQuY3RybEtleSB9O1xyXG5cclxuICAgICAgICB0aGlzLl9jb21tYW5kQ2xpY2tIYW5kbGVyKCdPT0VkaXQnLCBlKTtcclxuICAgIH1cclxuICAgIG9uUmVmcmVzaCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9jb21tYW5kQ2xpY2tIYW5kbGVyKCdSZWZyZXNoJyk7XHJcbiAgICB9XHJcbiAgICBEb3dubG9hZEZpbGVJZChmaWxlSWQsIHZpZXdJbkJyb3dzZXIsIGNvbnZlcnRUbywgZm9yT2N4LCBpc09mZmljZU9ubGluZSk6IHZvaWQge1xyXG4gICAgICAgIC8vIGlmICghaXNGaXJlZm94KCkpIHtcclxuICAgICAgICAvLyAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgLy8gICAgICAgICB0aGlzLl9tYXNrKCk7XHJcbiAgICAgICAgLy8gICAgIH0sIDApO1xyXG4gICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgQmFyc2FBcGkuQ29tbW9uLkZpbGUuRG93bmxvYWRGaWxlQ29udGVudC5iaW5kKHRoaXMpKFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBmaWxlSWQsXHJcbiAgICAgICAgICAgICAgICBmaWxlVXJsOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgdmlld0luQnJvd3NlcixcclxuICAgICAgICAgICAgICAgIGNvbnZlcnRUbyxcclxuICAgICAgICAgICAgICAgIGlzT2ZmaWNlT25saW5lLFxyXG4gICAgICAgICAgICAgICAgZm9yT2N4XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnN1Y2NlZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9kb3dubG9hZEZpbGVJZENvbXBsZXRlZChyZXNwb25zZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgdGhpcy5faGlkZU1hc2soKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIC8vICAgICB0aGlzLl9oaWRlTWFzaygpO1xyXG4gICAgICAgICAgICAgICAgLy8gfSk7XHJcbiAgICAgICAgICAgICAgICBhbGVydChlcnJvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgfVxyXG4gICAgb25PcGVuUHJldmlld0luRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3Blbih0aGlzLl9kaWFsb2dUcGwsIHtcclxuICAgICAgICAgICAgcmVzcG9uc2l2ZVBhZGRpbmc6IHRydWUsXHJcbiAgICAgICAgICAgIG1vYmlsZTogdHJ1ZSxcclxuICAgICAgICAgICAgYXJpYUxhYmVsbGVkQnk6ICdtYXAnLFxyXG4gICAgICAgICAgICBhcmlhRGVzY3JpYmVkQnk6ICdjaG9vc2UgbG9jYXRpb24nLFxyXG4gICAgICAgICAgICBmb2N1c1RyYXBwZWQ6IHRydWVcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIG9uRGlhbG9nQ2xvc2UoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZGlhbG9nU2VydmljZS5kaXNtaXNzQWxsKCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2Rvd25sb2FkRmlsZUlkQ29tcGxldGVkKHJlc3BvbnNlKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgYmxvYiA9IEJhcnNhQXBpLkNvbW1vbi5GaWxlLkI2NHRvQmxvYihyZXNwb25zZS5jb250ZW50LCByZXNwb25zZS5jb250ZW50VHlwZSk7XHJcbiAgICAgICAgY29uc3QgdXJsID0gd2luZG93LlVSTCB8fCB3aW5kb3cud2Via2l0VVJMO1xyXG4gICAgICAgIHRoaXMuYmxvYlVybCA9IHVybC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcclxuICAgICAgICAgICAgLy8gdGhpcy5fcGRmVmlld2VyT25EZW1hbmQucGRmU3JjID0gdGhpcy5ibG9iVXJsOyAvLyBwZGZTcmMgY2FuIGJlIEJsb2Igb3IgVWludDhBcnJheVxyXG4gICAgICAgICAgICAvLyB0aGlzLl9wZGZWaWV3ZXJPbkRlbWFuZC5yZWZyZXNoKCk7IC8vIEFzayBwZGYgdmlld2VyIHRvIGxvYWQvcmVmcmVzaCBwZGZcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy52YWx1ZVVybCA9IHRoaXMuX2RvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodGhpcy5ibG9iVXJsKTtcclxuICAgICAgICB0aGlzLmhhc1BkZiA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3VwbG9hZFRvU2VydmVyKGZpbGVzOiBGaWxlW10pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmhhc1BkZiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZmlsZXNWYWxpZGF0aW9uSGVscGVyLnZhbGlkYXRlRmlsZXMoZmlsZXMpO1xyXG4gICAgICAgIHRoaXMuX3VwbG9hZEZpbGUoZmlsZXMpLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgX3JlZnJlc2hCdXR0b25zKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JlZnJlc2hCdXR0b25zSGVscGVyKGZhbHNlKTtcclxuICAgICAgICBCYXJzYUFwaS5Db21tb24uQXN5bmMuV2F0ZXJmYWxsKFxyXG4gICAgICAgICAgICAnQ29tbW9uLkZpbGUuSXNBZ2VudEFjdGl2ZScsXHJcbiAgICAgICAgICAgIFtcclxuICAgICAgICAgICAgICAgIC8vIENvbW1vbi5GaWxlQWdlbnQuSXNBZ2VudEFjdGl2ZS5iaW5kKENvbW1vbi5GaWxlQWdlbnQpLFxyXG4gICAgICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLkFnZW50SGVscGVyLkluaXQuYmluZChCYXJzYUFwaS5Db21tb24uQWdlbnRIZWxwZXIpXHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIChlcnIsIHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYWdlbnRJc0FjdGl2ZSA9IHJlc3VsdCA9PT0gJ09LJztcclxuICAgICAgICAgICAgICAgIHRoaXMuX3JlZnJlc2hCdXR0b25zSGVscGVyKGFnZW50SXNBY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfcmVmcmVzaEJ1dHRvbnNIZWxwZXIoaXNBZ2VudEFjdGl2ZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZU9yUmVhZG9ubHkkLnN1YnNjcmliZSgoZGlzYWJsZU9yUmVhZG9ubHkpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgY2FuU2F2ZSA9IHRoaXMuY2FuU2F2ZTtcclxuICAgICAgICAgICAgdGhpcy5jYW5EZWxldGUgPSAhZGlzYWJsZU9yUmVhZG9ubHk7XHJcbiAgICAgICAgICAgIGNvbnN0IGhhc1ZhbHVlID0gIUJhcnNhQXBpLkV4dC5pc0VtcHR5KHRoaXMudmFsdWUpO1xyXG4gICAgICAgICAgICBjb25zdCBlZGl0MCA9IGNhblNhdmUgJiYgZGlzYWJsZU9yUmVhZG9ubHkgIT09IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuY2FuRWRpdCA9IGVkaXQwICYmIGlzQWdlbnRBY3RpdmU7XHJcbiAgICAgICAgICAgIHRoaXMuY2FuRG93bmxvYWQgPSAhdGhpcy5TZXR0aW5nLklzV29yZFZpZXdlciB8fCAoIWlzQWdlbnRBY3RpdmUgJiYgZWRpdDApO1xyXG4gICAgICAgICAgICB0aGlzLmNhblVwbG9hZCA9IHRoaXMuY2FuRG93bmxvYWQgJiYgY2FuU2F2ZSAmJiBkaXNhYmxlT3JSZWFkb25seSAhPT0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5oYXNGaWxlTmFtZSA9ICF0aGlzLmNvbnRleHQuU2V0dGluZy5Jc1dvcmRWaWV3ZXI7XHJcbiAgICAgICAgICAgIHRoaXMuY2FuUmVtb3ZlID0gdGhpcy5jYW5Eb3dubG9hZCAmJiBjYW5TYXZlICYmIGRpc2FibGVPclJlYWRvbmx5ICE9PSB0cnVlO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5vZmZpY2VPbmxpbmUgPSBoYXNWYWx1ZSAmJiBjYW5TYXZlICYmIGRpc2FibGVPclJlYWRvbmx5ICE9PSB0cnVlICYmIHRoaXMuY29udGV4dC5PZmZpY2VPbmxpbmU7XHJcbiAgICAgICAgICAgIHRoaXMudXNlV29yZEVkaXRvciA9IGhhc1ZhbHVlICYmIGNhblNhdmUgJiYgZGlzYWJsZU9yUmVhZG9ubHkgIT09IHRydWUgJiYgdGhpcy5jb250ZXh0LnVzZVdvcmRFZGl0b3I7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2NvbW1hbmRDbGlja0hhbmRsZXIoaXRlbUlkLCBrZXlib2FyZEV2ZW50Pyk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGNvbW1hbmRJZCA9IGl0ZW1JZDtcclxuXHJcbiAgICAgICAgbGV0IGZpbGVzID0gdGhpcy52YWx1ZTtcclxuICAgICAgICBpZiAoQmFyc2FBcGkuRXh0LmlzQXJyYXkoZmlsZXMpKSB7XHJcbiAgICAgICAgICAgIGZpbGVzID0gZmlsZXNbMF07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBmaWxlSWQgPSBmaWxlcz8uSWQ7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgnQ29tbWFuZFJlcXVlc3QnLCB0aGlzLCBjb21tYW5kSWQsIGZpbGVJZCwga2V5Ym9hcmRFdmVudCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3JlZnJlc2goZnJvbVNlcnZlcj86IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBvZmZpY2VPbmxpbmUgPSBmcm9tU2VydmVyID09PSBmYWxzZTtcclxuXHJcbiAgICAgICAgdGhpcy5maWxlTmFtZSA9ICcnO1xyXG5cclxuICAgICAgICBpZiAoQmFyc2FBcGkuRXh0LmlzRW1wdHkodGhpcy52YWx1ZSkpIHtcclxuICAgICAgICAgICAgdGhpcy5oYXNQZGYgPSBmYWxzZTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IGZpbGVzID0gdGhpcy52YWx1ZTtcclxuICAgICAgICBpZiAoQmFyc2FBcGkuRXh0LmlzQXJyYXkoZmlsZXMpKSB7XHJcbiAgICAgICAgICAgIGZpbGVzID0gZmlsZXNbMF07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBmaWxlSWQgPSBmaWxlcy5JZDtcclxuICAgICAgICBpZiAoIWZpbGVJZCB8fCBmaWxlcy5Jc0RlbGV0ZWQpIHtcclxuICAgICAgICAgICAgaWYgKGZpbGVzLklzRGVsZXRlZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5oYXNQZGYgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZmFsbGJhY2tMaW5rID0gYNin2YXaqdin2YYg2YbZhdin24zYtCDZgdin24zZhCDYr9ixINin24zZhiDZhdix2YjYsdqv2LEg2YjYrNmI2K8g2YbYr9in2LHYry5cclxuICAgICAgICAg2KjYsdin24wg2KjYp9iyINqp2LHYr9mGINmB2KfbjNmEINin2LIg2YTbjNmG2qkg2LLbjNixINin2LPYqtmB2KfYr9mHINqp2YbbjNivOiAgPC9icj4gPGEgaHJlZj0nJHtCYXJzYUFwaS5Db21tb24uRmlsZS5DcmVhdGVBdHRhY2htZW50VXJsKFxyXG4gICAgICAgICAgICAgZmlsZUlkLFxyXG4gICAgICAgICAgICAgZmFsc2UsXHJcbiAgICAgICAgICAgICB0cnVlXHJcbiAgICAgICAgICl9Jz7Yr9in2YbZhNmI2K8g2YHYp9uM2YQg2KjYtdmI2LHYqiBwZGY8L2E+ICA8L2JyPiAgPGEgaHJlZj0nJHtCYXJzYUFwaS5Db21tb24uRmlsZS5DcmVhdGVBdHRhY2htZW50VXJsKFxyXG4gICAgICAgICAgICBmaWxlSWQsXHJcbiAgICAgICAgICAgIGZhbHNlLFxyXG4gICAgICAgICAgICBmYWxzZVxyXG4gICAgICAgICl9Jz7Yr9in2YbZhNmI2K8g2YHYp9uM2YQg2KjYtdmI2LHYqiDYqNi12YjYsdiqINin2LXZhNuMPC9hPmA7XHJcblxyXG4gICAgICAgIGlmICghQmFyc2FBcGkuRXh0LmlzSUUpIHtcclxuICAgICAgICAgICAgLy8gY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgICAgICAgLy8gICAgIGZhbGxiYWNrTGluazogdGhpcy5mYWxsYmFja0xpbmssXHJcbiAgICAgICAgICAgIC8vICAgICBwZGZPcGVuUGFyYW1zOiB7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgdmlldzogJ0ZpdEgnLFxyXG4gICAgICAgICAgICAvLyAgICAgICAgIHNjcm9sbGJhcjogJzAnLFxyXG4gICAgICAgICAgICAvLyAgICAgICAgIHRvb2xiYXI6ICcwJyxcclxuICAgICAgICAgICAgLy8gICAgICAgICBzdGF0dXNiYXI6ICcwJyxcclxuICAgICAgICAgICAgLy8gICAgICAgICBtZXNzYWdlczogJzAnLFxyXG4gICAgICAgICAgICAvLyAgICAgICAgIG5hdnBhbmVzOiAnMCdcclxuICAgICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgLy8gfTtcclxuICAgICAgICAgICAgbGV0IGNvbnZlcnRUbyA9IGlzSW1hZ2UoZmlsZXMuVHlwZSkgPyBmaWxlcy5UeXBlIDogJyc7XHJcbiAgICAgICAgICAgIGNvbnZlcnRUbyA9ICdwZGYsZG9jLGRvY3gsd29yZCcuaW5kZXhPZihmaWxlcy5UeXBlKSA+IC0xID8gJ3BkZicgOiBjb252ZXJ0VG87XHJcblxyXG4gICAgICAgICAgICBpZiAoY29udmVydFRvICE9PSAncGRmJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaW5nbGVDb250cm9sID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU2luZ2xlQ29udHJvbChmaWxlcyk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zaW5nbGVDb250cm9sID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICB0aGlzLkRvd25sb2FkRmlsZUlkKGZpbGVJZCwgdHJ1ZSwgY29udmVydFRvLCBudWxsLCBvZmZpY2VPbmxpbmUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIGNvbnN0IHVybCA9IENvbW1vbi5GaWxlLkNyZWF0ZUF0dGFjaG1lbnRVcmwoZmlsZUlkLCBmYWxzZSk7XHJcbiAgICAgICAgICAgIHRoaXMuY2FuTm90UmVuZGVyUGRmID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF91cGxvYWRGaWxlKGZpbGVzOiBGaWxlW10pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICAgICAgZmlsZXMuZm9yRWFjaCgoZmlsZSkgPT4ge1xyXG4gICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ3VuaWNGaWxlTmFtZScsICd4JyArIEJhcnNhQXBpLkNvbW1vbi5VdGlsLkdldE5ld01ldGFHdWlkKCkgKyAnOzs7JyArIGZpbGUubmFtZSk7XHJcbiAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5fdXBsb2FkU2VydmljZS51cGxvYWQoZm9ybURhdGEsIHRoaXMuU2V0dGluZy5Db250cm9sRmllbGREZWZJZCkucGlwZShcclxuICAgICAgICAgICAgdGFwKChyZXMpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlcykpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVWYWx1ZShyZXMpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF91cGRhdGVWYWx1ZShyZXM6IGFueVtdKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuU2V0dGluZy5WaWV3VHlwZSAhPT0gJ0xpbmVhckxpc3RCb3gnKSB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2luZ2xlQ29udHJvbChyZXNbMF0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZpcmVDb250ZXh0RXZlbnQoJ0NoYW5nZScsIHRoaXMuY29udGV4dCwgcmVzKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHVwZGF0ZVNpbmdsZUNvbnRyb2wodmFsOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAoaXNJbWFnZSh2YWwuVHlwZSkpIHtcclxuICAgICAgICAgICAgdGhpcy5zaW5nbGVGaWxlVGh1bWJuYWlsVXJsID0gZ2V0SW1hZ2VQYXRoKCdJRCcsICcnLCB2YWwuSWQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2luZ2xlRmlsZVRodW1ibmFpbFVybCA9IGdldEljb24odmFsLlR5cGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByaXZhdGUgX2hpZGVNYXNrKCk6IHZvaWQge1xyXG4gICAgICAgIEJhcnNhQXBpLlVsLkxvYWRpbmdNYXNrLlVubWFzayh0aGlzLl9lbC5uYXRpdmVFbGVtZW50KTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX21hc2soKTogdm9pZCB7XHJcbiAgICAgICAgQmFyc2FBcGkuVWwuTG9hZGluZ01hc2suTWFzayh0aGlzLl9lbC5uYXRpdmVFbGVtZW50KTtcclxuICAgIH1cclxufVxyXG5cclxuaW50ZXJmYWNlIFVpUGRmVmlld2VyU2V0dGluZyBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xyXG4gICAgU2hvd01vZGU6IHN0cmluZzsgLy8gMj0gYnV0dG9ubW9kZSAxPWRlZmF1bHRcclxuICAgIEhpZGVEZWxldGU6IGJvb2xlYW47XHJcbiAgICBIaWRlQXR0YWNoOiBib29sZWFuO1xyXG4gICAgSGlkZVJlZnJlc2g6IGJvb2xlYW47XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqdW50aWxJblZpZXc9XCJlbFwiPlxyXG4gICAgQHN3aXRjaCAocGFyYW1ldGVycz8uU2hvd01vZGUpIHsgQGNhc2UgKCcyJykge1xyXG4gICAgPGRpdj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidG9vbGJhcjsgY29udGV4dDogeyBkaWFsb2dNb2RlOiB0cnVlIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gICAgfSBAZGVmYXVsdCB7XHJcbiAgICA8ZGl2PlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0b29sYmFyXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInByZXZpZXdcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gICAgfSB9XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLXRlbXBsYXRlICN0b29sYmFyIGxldC1kaWFsb2dNb2RlPVwiZGlhbG9nTW9kZVwiPlxyXG4gICAgQGlmICgoZGlzYWJsZU9yUmVhZG9ubHkkIHwgYXN5bmMpICE9PSB0cnVlKSB7XHJcbiAgICA8ZmQtdG9vbGJhciBbY2xhc3MuZGlhbG9nTW9kZV09XCJkaWFsb2dNb2RlXCIgW3RyYW5zcGFyZW50XT1cInRydWVcIiBbc2hvdWxkT3ZlcmZsb3ddPVwidHJ1ZVwiPlxyXG4gICAgICAgIDxmZC1maWxlLXVwbG9hZGVyXHJcbiAgICAgICAgICAgICN1cGxvYWRlclxyXG4gICAgICAgICAgICBbc3R5bGUuZGlzcGxheV09XCInbm9uZSdcIlxyXG4gICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cclxuICAgICAgICAgICAgW2lkXT1cImlkXCJcclxuICAgICAgICAgICAgW25hbWVdPVwiJ3BkZl8nICsgaWRcIlxyXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0F0dGFjaEZpbGUnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgW2J1dHRvbkxhYmVsXT1cIidBdHRhY2hGaWxlJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgIFtidXR0b25BcmlhTGFiZWxdPVwiJ0F0dGFjaEZpbGUnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgW2FjY2VwdF09XCJ2YWxpZEV4dGVuc2lvblwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsZXNcIlxyXG4gICAgICAgICAgICBbbXVsdGlwbGVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAoc2VsZWN0ZWRGaWxlc0NoYW5nZWQpPVwib25GaWxlU2VsZWN0aW9uKCRldmVudClcIlxyXG4gICAgICAgICAgICBbY29udGVudERlbnNpdHldPVwiKGNvbnRlbnREZW5zaXR5JCB8IGFzeW5jKSEhXCJcclxuICAgICAgICA+PC9mZC1maWxlLXVwbG9hZGVyPlxyXG4gICAgICAgIEBpZiAoIXBhcmFtZXRlcnM/LkhpZGVEZWxldGUpIHtcclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhKGNhbkRlbGV0ZSAmJiB2YWx1ZSlcIlxyXG4gICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZGVsZXRlXCJcclxuICAgICAgICAgICAgZ2x5cGg9XCJkZWxldGVcIlxyXG4gICAgICAgICAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25EZWxldGUoKVwiXHJcbiAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgIH0gQGlmICghcGFyYW1ldGVycz8uSGlkZUF0dGFjaCkge1xyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgICAgICBnbHlwaD1cImF0dGFjaG1lbnRcIlxyXG4gICAgICAgICAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWNhblVwbG9hZFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJ1cGxvYWRlci5vcGVuKClcIlxyXG4gICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICB9IEBpZiAoY2FuRWRpdCkge1xyXG4gICAgICAgIDxidXR0b24gZmQtdG9vbGJhci1pdGVtIGZkLWJ1dHRvbiBnbHlwaD1cImVkaXRcIiBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIiAoY2xpY2spPVwib25FZGl0KClcIj48L2J1dHRvbj5cclxuICAgICAgICB9IEBpZiAodXNlV29yZEVkaXRvcikge1xyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXHJcbiAgICAgICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgICAgICBnbHlwaD1cImRvYy1hdHRhY2htZW50XCJcclxuICAgICAgICAgICAgW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCJcclxuICAgICAgICAgICAgW2xhYmVsXT1cIidFZGl0JyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkVkaXRJbldvcmQoKVwiXHJcbiAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgIH0gQGlmIChvZmZpY2VPbmxpbmUpIHtcclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgZ2x5cGg9XCJkb2MtYXR0YWNobWVudFwiXHJcbiAgICAgICAgICAgIFtmZFR5cGVdPVwiJ3RyYW5zcGFyZW50J1wiXHJcbiAgICAgICAgICAgIFtsYWJlbF09XCInT2ZmaWNlT25saW5lJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvbk9mZmljZU9ubGluZSgkZXZlbnQpXCJcclxuICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgfSBAaWYgKGRpYWxvZ01vZGUpIHtcclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgW2dseXBoXT1cIidzaG93J1wiXHJcbiAgICAgICAgICAgIFthdHRyLmZkT3ZlcmZsb3dQcmlvcml0eV09XCInbG93J1wiXHJcbiAgICAgICAgICAgIFtmZFR5cGVdPVwiJ3RyYW5zcGFyZW50J1wiXHJcbiAgICAgICAgICAgIFtsYWJlbF09XCIhZGlhbG9nTW9kZSA/ICcnIDogKCdWaWV3JyB8IGJiYlRyYW5zbGF0ZSlcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25PcGVuUHJldmlld0luRGlhbG9nKClcIlxyXG4gICAgICAgICAgICBib2R5Q2xpY2tcclxuICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgfSBAaWYgKGNhbkRvd25sb2FkKSB7XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cclxuICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgIFthdHRyLmZkT3ZlcmZsb3dQcmlvcml0eV09XCInbG93J1wiXHJcbiAgICAgICAgICAgIFtnbHlwaF09XCInZG93bmxvYWQnXCJcclxuICAgICAgICAgICAgW2xhYmVsXT1cIiFkaWFsb2dNb2RlID8gJycgOiAoJ0Rvd25sb2FkJyB8IGJiYlRyYW5zbGF0ZSlcIlxyXG4gICAgICAgICAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25Eb3dubG9hZCgpXCJcclxuICAgICAgICAgICAgYm9keUNsaWNrXHJcbiAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgIH0gQGlmICghcGFyYW1ldGVycz8uSGlkZVJlZnJlc2gpIHtcclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIFthdHRyLmZkT3ZlcmZsb3dQcmlvcml0eV09XCInbG93J1wiXHJcbiAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgW2dseXBoXT1cImRpYWxvZ01vZGUgPyBudWxsIDogJ3JlZnJlc2gnXCJcclxuICAgICAgICAgICAgW2xhYmVsXT1cIiFkaWFsb2dNb2RlID8gJycgOiAoJ1JlZnJlc2gnIHwgYmJiVHJhbnNsYXRlKVwiXHJcbiAgICAgICAgICAgIFtmZFR5cGVdPVwiJ3RyYW5zcGFyZW50J1wiXHJcbiAgICAgICAgICAgIGJvZHlDbGlja1xyXG4gICAgICAgICAgICAoY2xpY2spPVwib25SZWZyZXNoKClcIlxyXG4gICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICB9XHJcbiAgICAgICAgPGZkLWJ1c3ktaW5kaWNhdG9yXHJcbiAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgICAgICBbbG9hZGluZ109XCIodXBsb2FkaW5nU3RhdGUkIHwgYXN5bmMpPy51cGxvYWRpbmcgPT09IHRydWVcIlxyXG4gICAgICAgID48L2ZkLWJ1c3ktaW5kaWNhdG9yPlxyXG4gICAgPC9mZC10b29sYmFyPlxyXG4gICAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI3ByZXZpZXc+XHJcbiAgICBAaWYgKGlzTW9iaWxlKSB7XHJcbiAgICA8ZGl2XHJcbiAgICAgICAgW3N0eWxlLmJvcmRlcl09XCIhYmxvYlVybCA/ICcuMDYyNXJlbSBzb2xpZCB2YXIoLS1zYXBHcm91cF9UaXRsZUJvcmRlckNvbG9yKScgOiBudWxsXCJcclxuICAgICAgICBzdHlsZT1cImhlaWdodDogY2FsYyg3MHZoIC0gNDBweCk7IHBvc2l0aW9uOiByZWxhdGl2ZVwiXHJcbiAgICA+XHJcbiAgICAgICAgQGlmKHZhbHVlKXtcclxuICAgICAgICA8YnN1LWJsb2Itdmlld2VyIFtmaWxlXT1cInZhbHVlXCIgW3N0eWxlLndpZHRoXT1cIndpZHRoXCIgW2RlY3JlbWVudF09XCInMjVweCdcIj48L2JzdS1ibG9iLXZpZXdlcj5cclxuICAgICAgICB9XHJcbiAgICAgICAgPCEtLSA8bmcyLXBkZmpzLXZpZXdlclxyXG4gICAgICAgICAgICBmaWxsRW1wdHlTcGFjZVxyXG4gICAgICAgICAgICBbY29udGFpbmVyRG9tXT1cImZvcm1Db250YWluZXJcIlxyXG4gICAgICAgICAgICBbZG9udFVzZVRvcEJvdW5kXT1cInRydWVcIlxyXG4gICAgICAgICAgICAjcGRmVmlld2VyT25EZW1hbmRcclxuICAgICAgICAgICAgW2V4dGVybmFsV2luZG93XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW2Rvd25sb2FkRmlsZU5hbWVdPVwiYmxvYlVybFwiXHJcbiAgICAgICAgICAgIFtvcGVuRmlsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIFt2aWV3Qm9va21hcmtdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICBbc2hvd1NwaW5uZXJdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFtkb3dubG9hZF09XCJ0cnVlXCJcclxuICAgICAgICA+PC9uZzItcGRmanMtdmlld2VyPiAtLT5cclxuICAgIDwvZGl2PlxyXG4gICAgfSBAZWxzZSB7IEBpZiAoaGFzUGRmKSB7XHJcbiAgICA8b2JqZWN0XHJcbiAgICAgICAgZmlsbEVtcHR5U3BhY2VcclxuICAgICAgICBbY29udGFpbmVyRG9tXT1cImZvcm1Db250YWluZXJcIlxyXG4gICAgICAgIFtkb250VXNlVG9wQm91bmRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2Rpc2FibGVdPVwiaW5saW5lRWRpdFwiXHJcbiAgICAgICAgc3R5bGU9XCJmbGV4LWdyb3c6IDFcIlxyXG4gICAgICAgIFthdHRyLmRhdGFdPVwidmFsdWVVcmxcIlxyXG4gICAgICAgIHR5cGU9XCJhcHBsaWNhdGlvbi9wZGZcIlxyXG4gICAgICAgIHdpZHRoPVwiMTAwJVwiXHJcbiAgICAgICAgW3N0eWxlLmhlaWdodF09XCJpbmxpbmVFZGl0ID8gJ2F1dG8nIDogZm9ybUhlaWdodCAtIDMwID4gMCA/IGZvcm1IZWlnaHQgLSAzMCArICdweCcgOiAnMTAwdmgnXCJcclxuICAgICAgICBbYXR0ci5odG1sXT1cImZhbGxiYWNrTGlua1wiXHJcbiAgICA+PC9vYmplY3Q+XHJcbiAgICB9IEBlbHNlIHsgQGlmIChzaW5nbGVDb250cm9sICYmIHZhbHVlICYmICF2YWx1ZS5Jc0RlbGV0ZWQpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJ0dy1mbGV4IHR3LWp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgICAgQGlmIChzaW5nbGVGaWxlVGh1bWJuYWlsVXJsKSB7XHJcbiAgICAgICAgICAgIDxic3UtZmlsZS12aWV3ZXItY29udGVudFxyXG4gICAgICAgICAgICBbYXR0ci50aXRsZV09XCJ2YWx1ZS5GaWxlTmFtZVwiICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIFtmaWxlXT1cInZhbHVlXCJcclxuICAgICAgICAgICAgW2ltYWdlT25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW2ZpbGxXaWR0aF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW2lzSW1hZ2VHYWxsZXJ5XT1cImZhbHNlXCJcclxuICAgICAgICA+PC9ic3UtZmlsZS12aWV3ZXItY29udGVudD5cclxuICAgICAgICA8IS0tIDxpbWcgW3NyY109XCJzaW5nbGVGaWxlVGh1bWJuYWlsVXJsXCIgLz4gLS0+XHJcbiAgICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgICB9IEBlbHNlIHtcclxuICAgIDxkaXZcclxuICAgICAgICBmaWxsRW1wdHlTcGFjZVxyXG4gICAgICAgIFtjb250YWluZXJEb21dPVwiZm9ybUNvbnRhaW5lclwiXHJcbiAgICAgICAgW2RvbnRVc2VUb3BCb3VuZF09XCJ0cnVlXCJcclxuICAgICAgICBjbGFzcz1cImhhdGNoQmFja2dyb3VuZFwiXHJcbiAgICAgICAgW2Rpc2FibGVdPVwiaW5saW5lRWRpdFwiXHJcbiAgICAgICAgW2NsYXNzLnR3LWgtNF09XCJpbmxpbmVFZGl0XCJcclxuICAgID48L2Rpdj5cclxuICAgIH0gfSB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgbGV0LWRpYWxvZyBsZXQtZGlhbG9nQ29uZmlnPVwiZGlhbG9nQ29uZmlnXCIgI2RpYWxvZ1RwbD5cclxuICAgIDxmZC1kaWFsb2cgW2RpYWxvZ0NvbmZpZ109XCJkaWFsb2dDb25maWdcIiBbZGlhbG9nUmVmXT1cImRpYWxvZ1wiIGNsYXNzPVwidmVydGljYWxcIj5cclxuICAgICAgICA8ZmQtZGlhbG9nLWhlYWRlcj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGZka1RlbXBsYXRlPVwiaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGZkLWJhci1sZWZ0PlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGZkLXRpdGxlPmVkaXQgaW4gd29yZDwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9mZC1iYXItZWxlbWVudD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBmZC1iYXItcmlnaHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXIgYXJpYUxhYmVsPVwiY2xvc2VcIiBnbHlwaD1cImRlY2xpbmVcIiAoY2xpY2spPVwib25EaWFsb2dDbG9zZSgpXCI+PC9mZC1idXR0b24tYmFyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9mZC1kaWFsb2ctaGVhZGVyPlxyXG4gICAgICAgIDxmZC1kaWFsb2ctYm9keT5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInByZXZpZXdcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2ZkLWRpYWxvZy1ib2R5PlxyXG4gICAgPC9mZC1kaWFsb2c+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -232,9 +232,10 @@ export * from './lib/barsa-form-layout-panel/barsa-form-layout-panel.component';
|
|
|
232
232
|
export * from './lib/ui-report-carousel-view/ui-report-carousel-view.component';
|
|
233
233
|
export * from './lib/barsa-card-banner/barsa-card-banner.component';
|
|
234
234
|
export * from './lib/contentDensity.directive';
|
|
235
|
+
export * from './lib/barsa-theme/barsa-theme.component';
|
|
235
236
|
/*
|
|
236
237
|
* Public API Surface of barsa-sap-ui
|
|
237
238
|
*/
|
|
238
239
|
export * from './lib/constants';
|
|
239
240
|
export * from './lib/barsa-sap-ui.module';
|
|
240
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDJFQUEyRSxDQUFDO0FBQzFGLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYywyQ0FBMkMsQ0FBQztBQUMx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QUFDO0FBQzFFLGNBQWMscUVBQXFFLENBQUM7QUFDcEYsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQzs7R0FFRztBQUNILGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZ2FudHQtZGh0bWwtY2hhcnQtdmlldy9nYW50dC1kaHRtbC1jaGFydC12aWV3LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWdhbnR0LWNoYXJ0L3VpLWdhbnR0LWNoYXJ0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLW1vLWluZm8tZ2VuZXJhbC1vYmplY3QtdWkvdWktbW8taW5mby1nZW5lcmFsLW9iamVjdC11aS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWxlLWluLWRpYWxvZy9maWxlLWluLWRpYWxvZy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1hc3Atdmlld2VyL2JhcnNhLWFzcC12aWV3ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY3VzdG9tLWRhdGUtdGltZS9jdXN0b20tZGF0ZS10aW1lLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWV4Y2VwdGlvbi1mb3JtL3VpLWV4Y2VwdGlvbi1mb3JtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLW1hdHJpeC12aWV3L3VpLW1hdHJpeC12aWV3LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbHVtbi1tYXRyaXgtcmVuZGVyZXIvY29sdW1uLW1hdHJpeC1yZW5kZXJlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2x1bW4tbWF0cml4LXJlbmRlcmVyL21hdHJpeC12YWx1ZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHluYW1pYy1wYWdlLXNpemUucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL29iamVjdC1zdGF0dXMtaWNvbi5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktZWRpdGFibGUtZ3JpZC91aS1lZGl0YWJsZS1ncmlkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWdyYXBoL3VpLWdyYXBoLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLW1hcC91aS1tYXAuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktYXNwLXJlcG9ydC12aWV3ZXIvdWktYXNwLXJlcG9ydC12aWV3ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktY2FsZW5kYXIvdWktY2FsZW5kYXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktdHJlZS91aS10cmVlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXRyZWUtdmlldy91aS10cmVlLXZpZXcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaW5saW5lLXNhdmUtYW5kLWNhbmNlbC9pbmxpbmUtc2F2ZS1hbmQtY2FuY2VsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL25vLWRhdGEvbm8tZGF0YS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2x1bW4tcmVuZGVyZXIvY29sdW1uLXJlbmRlcmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXJlcG9ydC1jb250YWluZXIvdWktcmVwb3J0LWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1jYXJkLXZpZXcvdWktY2FyZC12aWV3LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWxpc3Qtdmlldy91aS1saXN0LXZpZXcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktdGFibGUtdmlldy91aS10YWJsZS12aWV3LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VsLW5vdGlmeS1wb3B1cC91bC1ub3RpZnktcG9wdXAuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktZGF0ZS1yYW5nZS1leC91aS1kYXRlLXJhbmdlLWV4LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWdyaWQtZmlsdGVyLWl0ZW0vdWktZ3JpZC1maWx0ZXItaXRlbS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1ncmlkLWZpbHRlci1zZXR0aW5ncy91aS1ncmlkLWZpbHRlci1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXBvcnQtc2VhcmNoLXBhbmVsLXNhdmUvcmVwb3J0LXNlYXJjaC1wYW5lbC1zYXZlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlYXJjaC1wYW5lbC9zZWFyY2gtcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVwb3J0LXNlYXJjaC1maWVsZHMtaGlkZGVuLXNldHRpbmdzL3JlcG9ydC1zZWFyY2gtZmllbGRzLWhpZGRlbi1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXBvcnQtc2VhcmNoLWZpZWxkcy1tYW5hZ2UvcmVwb3J0LXNlYXJjaC1maWVsZHMtbWFuYWdlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21hbmFnZS1maWx0ZXJzLXJlcG9ydC9tYW5hZ2UtZmlsdGVycy1yZXBvcnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVwb3J0LW5hdmlnYXRvci9yZXBvcnQtbmF2aWdhdG9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2x5LWxpbmUvbHktbGluZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS11bHYtbWFpbi11aS91aS11bHYtbWFpbi11aS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1jb2xvci11aS91aS1jb2xvci11aS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS10cmVlLWl0ZW0vYmFyc2EtdHJlZS1pdGVtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWRhdGUtdGltZS1waWNrZXIvYmFyc2EtZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1tb25hY28tZWRpdG9yL2JhcnNhLW1vbmFjby1lZGl0b3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbW9uYWNvLWVkaXRvci91aS1tb25hY28tZWRpdG9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXRpbnllbWNlL2JhcnNhLXRpbnllbWNlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXBkZi12aWV3ZXIvdWktcGRmLXZpZXdlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1saXN0LWZpbGUtbGluZWFyL2JhcnNhLWxpc3QtZmlsZS1saW5lYXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWx2LWZpbHRlci1zZXR0aW5ncy91bHYtZmlsdGVyLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Vsdi1jb2x1bW4tc2V0dGluZ3MvdWx2LWNvbHVtbi1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91bHYtZ3JvdXBieS1zZXR0aW5ncy91bHYtZ3JvdXBieS1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91bHYtc29ydC1zZXR0aW5ncy91bHYtc29ydC1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91bHYtZm9ybS1tdWx0aS1zZWxlY3QvdWx2LWZvcm0tbXVsdGktc2VsZWN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXVsdi1mb3JtLW11bHRpLXNlbGVjdC11aS91aS11bHYtZm9ybS1tdWx0aS1zZWxlY3QtdWkuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbHktbGF5b3V0LWNvbnRhaW5lci9seS1sYXlvdXQtY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xheW91dC1hY3Rpb25zL2xheW91dC1hY3Rpb25zLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bmRhbWVudGFsLWR5bmFtaWMtZm9ybS9mdW5kYW1lbnRhbC1keW5hbWljLWZvcm0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbGluZWFyLWxpc3QtY29udGFpbmVyLXdpdGgtYnV0dG9uL3VpLWxpbmVhci1saXN0LWNvbnRhaW5lci13aXRoLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXNzYWdlLXN0cmlwL21lc3NhZ2Utc3RyaXAuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWwtdG9hc3QtYWRhcHRlci91bC10b2FzdC1hZGFwdGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0YXRpYy10ZXh0L3N0YXRpYy10ZXh0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2h5cGVybGluay9oeXBlcmxpbmsuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZ2xvYmFsLXNlYXJjaC9nbG9iYWwtc2VhcmNoLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dsb2JhbC1zZWFyY2gtbW9kdWxlL2dsb2JhbC1zZWFyY2gtbW9kdWxlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dsb2JhbC1zZWFyY2gtcGFuZWwvZ2xvYmFsLXNlYXJjaC1wYW5lbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9seS1zaW1wbGUtbGFiZWwvbHktc2ltcGxlLWxhYmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhcHRjaGEtZmllbGQvY2FwdGNoYS1maWVsZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS10ZXh0LWZpZWxkLWF1dG8tY29tcGxldGUvdWktdGV4dC1maWVsZC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VsLWxvYWRpbmctbWFzay11aS91bC1sb2FkaW5nLW1hc2stdWkuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWx2LWNvbnRleHQtbWVudS91bHYtY29udGV4dC1tZW51LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXdvcmtmbG93LXBhbmVsLXVpL3VpLXdvcmtmbG93LXBhbmVsLXVpLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2hlYWRlci1hdmF0YXIvaGVhZGVyLWF2YXRhci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS10cmVlL3VpLXRyZWUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWwtbXNnLWJveC1hZGFwdGVyL3VsLW1zZy1ib3gtYWRhcHRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1tby1pbmZvLWNvbWJvLXZpZXdlci91aS1tby1pbmZvLWNvbWJvLXZpZXdlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9seS1sYWJlbC9seS1sYWJlbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9seS10YWItcGFnZS9seS10YWItcGFnZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9seS10YWItY29udGFpbmVyL2x5LXRhYi1jb250YWluZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbHktdmVydGljYWwtbGF5b3V0L2x5LXZlcnRpY2FsLWxheW91dC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9seS1ob3Jpem9udGFsLWxheW91dC9seS1ob3Jpem9udGFsLWxheW91dC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1waWN0dXJlcy1pbmZvL3VpLXBpY3R1cmVzLWluZm8uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcmljaC10ZXh0LXN0YXRpYy9yaWNoLXRleHQtc3RhdGljLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm0tZGlhbG9nLWxlc3MvZm9ybS1kaWFsb2ctbGVzcy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtLXdpemFyZC9mb3JtLXdpemFyZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9sYXlvdXQtd2l6YXJkL2xheW91dC13aXphcmQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbGF5b3V0LWNvbnRyb2wvbGF5b3V0LWNvbnRyb2wuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktdGV4dC1hcmVhL3VpLXRleHQtYXJlYS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXNwb25zaXZlLXRvb2xiYXItcmVuZGVyZXIvcmVzcG9uc2l2ZS10b29sYmFyLXJlbmRlcmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc3BvbnNpdmUtdG9vbGJhci9yZXNwb25zaXZlLXRvb2xiYXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbW8taW5mby1zdWItZm9ybS11aS91aS1tby1pbmZvLXN1Yi1mb3JtLXVpLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm0tZGlhbG9nL2Zvcm0tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWRhdGUtdGltZS91aS1kYXRlLXRpbWUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktYnV0dG9uL3VpLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS10aW55bWNlL3VpLXRpbnltY2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWx2LXNldHRpbmdzL3Vsdi1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1zZWFyY2gtY29tbWFuZC1pbmZvLXVpL3VpLXNlYXJjaC1jb21tYW5kLWluZm8tdWkuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktZm9ybS1wYW5lbC91aS1mb3JtLXBhbmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm0tdG9vbGJhci9mb3JtLXRvb2xiYXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktaW5mby1iYXItcGFuZWwvdWktaW5mby1iYXItcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbWFzay9tYXNrLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWdyaWQtY29sdW1ucy91aS1ncmlkLWNvbHVtbnMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktZ3JpZC1zb3J0LWl0ZW0vdWktZ3JpZC1zb3J0LWl0ZW0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktZ3JpZC1zb3J0LXNldHRpbmcvdWktZ3JpZC1zb3J0LXNldHRpbmcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWx2LXBhZ2luZy91bHYtcGFnaW5nLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Vsdi10b29sYmFyL3Vsdi10b29sYmFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Vsdi1zZWxlY3Rpb24vdWx2LXNlbGVjdGlvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1zaW5nbGUtcGljdHVyZS91aS1zaW5nbGUtcGljdHVyZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9seS1lbXB0eS1zcGFjZS9seS1lbXB0eS1zcGFjZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1maWxlLWxpbmVhci1saXN0LWJveC91aS1maWxlLWxpbmVhci1saXN0LWJveC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS10aW1lLXNwYW4vdWktdGltZS1zcGFuLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLW51bS1pbnQtdWkvdWktbnVtLWludC11aS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1udW0tZGVjaW1hbC11aS91aS1udW0tZGVjaW1hbC11aS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1tdWx0aS1zZWxlY3QtY29tYm8vdWktbXVsdGktc2VsZWN0LWNvbWJvLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLW1vLWluZm8tdWx2LWNvbWJvL3VpLW1vLWluZm8tdWx2LWNvbWJvLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXBpY3R1cmUtZmlsZS91aS1waWN0dXJlLWZpbGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktY29udGFpbmVyLXdpdGgtYnV0dG9uL3VpLWNvbnRhaW5lci13aXRoLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1yZWFkLW9ubHktZmllbGQvdWktcmVhZC1vbmx5LWZpZWxkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2x5LWxheW91dC1wYW5lbC9seS1sYXlvdXQtcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbHktbGF5b3V0LWNvbnRhaW5lci1vZi1yb290L2x5LWxheW91dC1jb250YWluZXItb2Ytcm9vdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1ncmlkL3VpLWdyaWQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktcmFkaW8tZ3JvdXAvdWktcmFkaW8tZ3JvdXAuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbGFiZWwvdWktbGFiZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktcmFkaW8tZ3JvdXAvdWktcmFkaW8tZ3JvdXAuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktc2ltcGxlLWNvbWJvL3VpLXNpbXBsZS1jb21iby5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1jaGVjay1ib3gvdWktY2hlY2stYm94LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXN3aXRjaC1idXR0b24vdWktc3dpdGNoLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9seS1sYXlvdXQtZmllbGQtbGFiZWwvbHktbGF5b3V0LWZpZWxkLWxhYmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXRleHQtZmllbGQvdWktdGV4dC1maWVsZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91bHYtY29udGV4dC1tZW51L3Vsdi1jb250ZXh0LW1lbnUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvd2l6YXJkLWxheW91dC5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2wtcmVuZGVyZXIuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwbHktY29uZGl0aW9uYWwtZm9ybW1hdGluZ3MuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdXBsb2FkLWZpbGUtc3RhdHVzLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zYXAtZm9udC5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2FwLWZvbnQtY2xhc3MucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NhcC11aS1yZXBvcnQtYmFzZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXBvcnQtdmlldy1yZW5kZXJlci5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdWxsc2NyZWVuLWRpYWxvZy5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS10cmVlLWl0ZW0vbm9kZS1oYXMtb25lLWRlcHRoLWxldmVsLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYXJkLWl0ZW0vY2FyZC1pdGVtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhcmQtdmlldy1jb250ZW50L2NhcmQtdmlldy1jb250ZW50LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWNhcmQtdmlldy1ob3Jpem9udGFsLWdyb3VwL3VpLWNhcmQtdmlldy1ob3Jpem9udGFsLWdyb3VwLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RpdGxlL3RpdGxlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXVsdi1tYWluL2JhcnNhLXVsdi1tYWluLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaHRyZWUtY3JlYXRlLW5ldy9odHJlZS1jcmVhdGUtbmV3LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXRhYmxlLXJvdy9iYXJzYS10YWJsZS1yb3cuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtdGFibGUtY29sdW1uL2JhcnNhLXRhYmxlLWNvbHVtbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS10YWJsZS1oZWFkZXIvYmFyc2EtdGFibGUtaGVhZGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kZXZpY2UtaW5mby1maWVsZC1iYXNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2Etc2FwLXVpLXJvdXRpbmcubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybS10b29sYmFyLWJ1dHRvbi9mb3JtLXRvb2xiYXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXNlYXJjaC1mb3JtL2JhcnNhLXNlYXJjaC1mb3JtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlcG9ydC1uZXctdG9wLWZvcm0vcmVwb3J0LW5ldy10b3AtZm9ybS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1uZXR3b3JrLW9mZmxpbmUvYmFyc2EtbmV0d29yay1vZmZsaW5lLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbGUtdmlld2VyLWNvbnRlbnQvZmlsZS12aWV3ZXItY29udGVudC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWxlLXZpZXdlci1wb3BvdmVyL2ZpbGUtdmlld2VyLXBvcG92ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsZS12aWV3ZXIvZmlsZS12aWV3ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmxvYi12aWV3ZXIvYmxvYi12aWV3ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZnVsbHNjcmVlbi1maWxlcy5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kb3dubG9hZC1maWxlcy5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub3RpZmljYXRpb24taXRlbS9ub3RpZmljYXRpb24taXRlbS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1jYXJ0YWJsZS10ZW1wbGF0ZS9iYXJzYS1jYXJ0YWJsZS10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1jYXJ0YWJsZS1mb3JtL2JhcnNhLWNhcnRhYmxlLWZvcm0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtZ3JvdXAtY2FydGFibGUvYmFyc2EtY2FydGFibGUtZ3JvdXAuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY29sdW1uLWluZGljYXRvci9iYXJzYS1jb2x1bW4taW5kaWNhdG9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWZpZWxkLWtleS12YWx1ZS9iYXJzYS1maWVsZC1rZXktdmFsdWUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtdG9vbGJhcml0ZW0tc2VhcmNoL2JhcnNhLXRvb2xiYXJpdGVtLXNlYXJjaC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1odG1sLXZpZXdlci91aS1odG1sLXZpZXdlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1waXNobmFtYXllc2gtcGF5YW0vYmFyc2EtcGlzaG5hbWF5ZXNoLXBheWFtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXRleHQtZWxsaXBzaXMvYmFyc2EtdGV4dC1lbGxpcHNpcy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1saXN0LWZpbGUtbGluZWFyLWdtYWlsL2JhcnNhLWxpc3QtZmlsZS1saW5lYXItZ21haWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtbGlua2FibGUtaXRlbXMtcGFuZWwvYmFyc2EtbGlua2FibGUtaXRlbXMtcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtZW51bS1tZW51LWJ1dHRvbi9iYXJzYS1lbnVtLW1lbnUtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNhcmQtbGF5b3V0LXBhbmVsL2JhcnNhLWNhcmQtbGF5b3V0LXBhbmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWhvcml6b250YWwtZmxleC1wYW5lbC9iYXJzYS1ob3Jpem9udGFsLWZsZXgtcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtYmFzZS1wYW5lbC9iYXJzYS1iYXNlLWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1iYXItcGFuZWwvYmFyc2EtYmFyLXBhbmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNhcmQtbGF5b3V0LXBhbmVsL2JhcnNhLWNhcmQtbGF5b3V0LXBhbmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWZvcm0tc2lkZS1jb250ZW50L2JhcnNhLWZvcm0tc2lkZS1jb250ZW50LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpYWxvZy1oYW5kbGVyLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXNpbXBsZS1mb3JtL2JhcnNhLXNpbXBsZS1mb3JtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNhcmQtbGF5b3V0LXBhbmVsL2JhcnNhLWNhcmQtbGF5b3V0LXBhbmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWxpc3QtbGF5b3V0LXBhbmVsL2JhcnNhLWxpc3QtbGF5b3V0LXBhbmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWdyaWQtbGF5b3V0LXBhbmVsL2JhcnNhLWdyaWQtbGF5b3V0LXBhbmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWR5bmFtaWMtZmllbGQvYmFyc2EtZHluYW1pYy1maWVsZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zYXAtc2l6ZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXZhdGFyLXNpemUucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLW11bHRpLXNlbGVjdC1yYWRpby91aS1tdWx0aS1zZWxlY3QtcmFkaW8uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbXVsdGktc2VsZWN0LWNoZWNrYm94L3VpLW11bHRpLXNlbGVjdC1jaGVja2JveC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1tdWx0aS1zZWxlY3Qtc2xpZGVyL3VpLW11bHRpLXNlbGVjdC1zbGlkZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbXVsdGktc2VsZWN0LWNhcmQvdWktbXVsdGktc2VsZWN0LWNhcmQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbXVsdGktc2VsZWN0LXNtaWxlL3VpLW11bHRpLXNlbGVjdC1zbWlsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1udW0taW50LXNsaWRlci91aS1udW0taW50LXNsaWRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1yZXBvcnQtY2hlY2tib3gtc3dpdGNoLWJ1dHRvbi9iYXJzYS1yZXBvcnQtY2hlY2tib3gtc3dpdGNoLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1jb2x1bW4tcm93bnVtYmVyL2JhcnNhLWNvbHVtbi1yb3dudW1iZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtcmVwb3J0LW9uZS1vZi1saXN0L2JhcnNhLXJlcG9ydC1vbmUtb2YtbGlzdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1jYXJkLXJvdy1wYXlhbS9iYXJzYS1jYXJkLXJvdy1wYXlhbS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1xdWVzdGlvbi1wb3N0L2JhcnNhLXF1ZXN0aW9uLXBvc3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWZvcm0vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWZvcm0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWZvcm0tYWRkLWNvbW1lbnQvYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWZvcm0tYWRkLWNvbW1lbnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtYW5zd2VyLWNhcmQvYmFyc2EtYW5zd2VyLWNhcmQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWNyZWF0b3ItdGltZS1zZWN0aW9uL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jcmVhdG9yLXRpbWUtc2VjdGlvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItY29tbWVudHMtc2VjdGlvbi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItY29tbWVudHMtc2VjdGlvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItdm90ZS1zZWN0aW9uL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci12b3RlLXNlY3Rpb24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWNvbnRlbnQtYWN0aW9ucy1zZWN0aW9uL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jb250ZW50LWFjdGlvbnMtc2VjdGlvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1jaGlwL2JhcnNhLWNoaXAuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtdGFnLWNoaXAvYmFyc2EtdGFnLWNoaXAuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtcmVwb3J0LWNhcmQtZmxleC12aWV3L2JhcnNhLXJlcG9ydC1jYXJkLWZsZXgtdmlldy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS10YWdzLWNhdGVnb3J5LXJvdy9iYXJzYS10YWdzLWNhdGVnb3J5LXJvdy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS10YWctY2F0ZWdvcmllcy9iYXJzYS10YWctY2F0ZWdvcmllcy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1jdXN0b20taW5saW5lLWVkaXQvYmFyc2EtY3VzdG9tLWlubGluZS1lZGl0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWN1c3RvbS1pbmxpbmUtZWRpdC1yb3cvYmFyc2EtY3VzdG9tLWlubGluZS1lZGl0LXJvdy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1jaGF0L2JhcnNhLWNoYXQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY2hhdC1jb250ZW50LXRvb2xiYXIvYmFyc2EtY2hhdC1jb250ZW50LXRvb2xiYXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY2hhdC1tZXNzYWdlL2JhcnNhLWNoYXQtbWVzc2FnZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1jaGF0LXRocmVhZC9iYXJzYS1jaGF0LXRocmVhZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1jaGF0LWNvbnRlbnQvYmFyc2EtY2hhdC1jb250ZW50LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNoYXQtdGhyZWFkcy1saXN0LXRvb2xiYXIvYmFyc2EtY2hhdC10aHJlYWRzLWxpc3QtdG9vbGJhci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1jaGF0LXRocmVhZHMtbGlzdC9iYXJzYS1jaGF0LXRocmVhZHMtbGlzdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1jaGF0LWxpc3QvYmFyc2EtY2hhdC1saXN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLW1vZGFsL2JhcnNhLW1vZGFsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXRhYi1yb3V0ZS1tYW5hZ2VyL2JhcnNhLXRhYi1yb3V0ZS1tYW5hZ2VyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWJyZWFkY3J1bWJzL2JhcnNhLWJyZWFkY3J1bWJzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYmxlLXRoLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXJvdy1pbmxpbmUtYWN0aW9ubGlzdC9iYXJzYS1yb3ctaW5saW5lLWFjdGlvbmxpc3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktYnBtbi12aWV3ZXIvdWktYnBtbi12aWV3ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtYmFyLWRvd25sb2FkLWZpbGUvYmFyc2EtYmFyLWRvd25sb2FkLWZpbGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbm90aWZpY2F0aW9uLXZpZXcvdWktbm90aWZpY2F0aW9uLXZpZXcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbm90aWZpY2F0aW9uLWl0ZW0tYWN0aW9ucy9ub3RpZmljYXRpb24taXRlbS1hY3Rpb25zLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWZvcm0tbGF5b3V0LXBhbmVsL2JhcnNhLWZvcm0tbGF5b3V0LXBhbmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXJlcG9ydC1jYXJvdXNlbC12aWV3L3VpLXJlcG9ydC1jYXJvdXNlbC12aWV3LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNhcmQtYmFubmVyL2JhcnNhLWNhcmQtYmFubmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRlbnREZW5zaXR5LmRpcmVjdGl2ZSc7XHJcblxyXG4vKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYmFyc2Etc2FwLXVpXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdGFudHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1zYXAtdWkubW9kdWxlJztcclxuIl19
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDJFQUEyRSxDQUFDO0FBQzFGLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYywyQ0FBMkMsQ0FBQztBQUMx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QUFDO0FBQzFFLGNBQWMscUVBQXFFLENBQUM7QUFDcEYsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHlDQUF5QyxDQUFDO0FBRXhEOztHQUVHO0FBQ0gsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvZ3Jlc3MtaW5kaWNhdG9yL3Byb2dyZXNzLWluZGljYXRvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9nYW50dC1kaHRtbC1jaGFydC12aWV3L2dhbnR0LWRodG1sLWNoYXJ0LXZpZXcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktZ2FudHQtY2hhcnQvdWktZ2FudHQtY2hhcnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbW8taW5mby1nZW5lcmFsLW9iamVjdC11aS91aS1tby1pbmZvLWdlbmVyYWwtb2JqZWN0LXVpLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbGUtaW4tZGlhbG9nL2ZpbGUtaW4tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWFzcC12aWV3ZXIvYmFyc2EtYXNwLXZpZXdlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jdXN0b20tZGF0ZS10aW1lL2N1c3RvbS1kYXRlLXRpbWUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktZXhjZXB0aW9uLWZvcm0vdWktZXhjZXB0aW9uLWZvcm0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbWF0cml4LXZpZXcvdWktbWF0cml4LXZpZXcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sdW1uLW1hdHJpeC1yZW5kZXJlci9jb2x1bW4tbWF0cml4LXJlbmRlcmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbHVtbi1tYXRyaXgtcmVuZGVyZXIvbWF0cml4LXZhbHVlLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9keW5hbWljLXBhZ2Utc2l6ZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvb2JqZWN0LXN0YXR1cy1pY29uLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1lZGl0YWJsZS1ncmlkL3VpLWVkaXRhYmxlLWdyaWQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktZ3JhcGgvdWktZ3JhcGguY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbWFwL3VpLW1hcC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1hc3AtcmVwb3J0LXZpZXdlci91aS1hc3AtcmVwb3J0LXZpZXdlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1jYWxlbmRhci91aS1jYWxlbmRhci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS10cmVlL3VpLXRyZWUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktdHJlZS12aWV3L3VpLXRyZWUtdmlldy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbmxpbmUtc2F2ZS1hbmQtY2FuY2VsL2lubGluZS1zYXZlLWFuZC1jYW5jZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbm8tZGF0YS9uby1kYXRhLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbHVtbi1yZW5kZXJlci9jb2x1bW4tcmVuZGVyZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktcmVwb3J0LWNvbnRhaW5lci91aS1yZXBvcnQtY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWNhcmQtdmlldy91aS1jYXJkLXZpZXcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbGlzdC12aWV3L3VpLWxpc3Qtdmlldy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS10YWJsZS12aWV3L3VpLXRhYmxlLXZpZXcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWwtbm90aWZ5LXBvcHVwL3VsLW5vdGlmeS1wb3B1cC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1kYXRlLXJhbmdlLWV4L3VpLWRhdGUtcmFuZ2UtZXguY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktZ3JpZC1maWx0ZXItaXRlbS91aS1ncmlkLWZpbHRlci1pdGVtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWdyaWQtZmlsdGVyLXNldHRpbmdzL3VpLWdyaWQtZmlsdGVyLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlcG9ydC1zZWFyY2gtcGFuZWwtc2F2ZS9yZXBvcnQtc2VhcmNoLXBhbmVsLXNhdmUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VhcmNoLXBhbmVsL3NlYXJjaC1wYW5lbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXBvcnQtc2VhcmNoLWZpZWxkcy1oaWRkZW4tc2V0dGluZ3MvcmVwb3J0LXNlYXJjaC1maWVsZHMtaGlkZGVuLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlcG9ydC1zZWFyY2gtZmllbGRzLW1hbmFnZS9yZXBvcnQtc2VhcmNoLWZpZWxkcy1tYW5hZ2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbWFuYWdlLWZpbHRlcnMtcmVwb3J0L21hbmFnZS1maWx0ZXJzLXJlcG9ydC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXBvcnQtbmF2aWdhdG9yL3JlcG9ydC1uYXZpZ2F0b3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbHktbGluZS9seS1saW5lLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXVsdi1tYWluLXVpL3VpLXVsdi1tYWluLXVpLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWNvbG9yLXVpL3VpLWNvbG9yLXVpLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXRyZWUtaXRlbS9iYXJzYS10cmVlLWl0ZW0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtZGF0ZS10aW1lLXBpY2tlci9iYXJzYS1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLW1vbmFjby1lZGl0b3IvYmFyc2EtbW9uYWNvLWVkaXRvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1tb25hY28tZWRpdG9yL3VpLW1vbmFjby1lZGl0b3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtdGlueWVtY2UvYmFyc2EtdGlueWVtY2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktcGRmLXZpZXdlci91aS1wZGYtdmlld2VyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWxpc3QtZmlsZS1saW5lYXIvYmFyc2EtbGlzdC1maWxlLWxpbmVhci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91bHYtZmlsdGVyLXNldHRpbmdzL3Vsdi1maWx0ZXItc2V0dGluZ3MuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWx2LWNvbHVtbi1zZXR0aW5ncy91bHYtY29sdW1uLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Vsdi1ncm91cGJ5LXNldHRpbmdzL3Vsdi1ncm91cGJ5LXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Vsdi1zb3J0LXNldHRpbmdzL3Vsdi1zb3J0LXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Vsdi1mb3JtLW11bHRpLXNlbGVjdC91bHYtZm9ybS1tdWx0aS1zZWxlY3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktdWx2LWZvcm0tbXVsdGktc2VsZWN0LXVpL3VpLXVsdi1mb3JtLW11bHRpLXNlbGVjdC11aS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9seS1sYXlvdXQtY29udGFpbmVyL2x5LWxheW91dC1jb250YWluZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbGF5b3V0LWFjdGlvbnMvbGF5b3V0LWFjdGlvbnMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZnVuZGFtZW50YWwtZHluYW1pYy1mb3JtL2Z1bmRhbWVudGFsLWR5bmFtaWMtZm9ybS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1saW5lYXItbGlzdC1jb250YWluZXItd2l0aC1idXR0b24vdWktbGluZWFyLWxpc3QtY29udGFpbmVyLXdpdGgtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lc3NhZ2Utc3RyaXAvbWVzc2FnZS1zdHJpcC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91bC10b2FzdC1hZGFwdGVyL3VsLXRvYXN0LWFkYXB0ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhdGljLXRleHQvc3RhdGljLXRleHQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaHlwZXJsaW5rL2h5cGVybGluay5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9nbG9iYWwtc2VhcmNoL2dsb2JhbC1zZWFyY2guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZ2xvYmFsLXNlYXJjaC1tb2R1bGUvZ2xvYmFsLXNlYXJjaC1tb2R1bGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZ2xvYmFsLXNlYXJjaC1wYW5lbC9nbG9iYWwtc2VhcmNoLXBhbmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2x5LXNpbXBsZS1sYWJlbC9seS1zaW1wbGUtbGFiZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FwdGNoYS1maWVsZC9jYXB0Y2hhLWZpZWxkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXRleHQtZmllbGQtYXV0by1jb21wbGV0ZS91aS10ZXh0LWZpZWxkLWF1dG8tY29tcGxldGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWwtbG9hZGluZy1tYXNrLXVpL3VsLWxvYWRpbmctbWFzay11aS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91bHYtY29udGV4dC1tZW51L3Vsdi1jb250ZXh0LW1lbnUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktd29ya2Zsb3ctcGFuZWwtdWkvdWktd29ya2Zsb3ctcGFuZWwtdWkuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaGVhZGVyLWF2YXRhci9oZWFkZXItYXZhdGFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXRyZWUvdWktdHJlZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91bC1tc2ctYm94LWFkYXB0ZXIvdWwtbXNnLWJveC1hZGFwdGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLW1vLWluZm8tY29tYm8tdmlld2VyL3VpLW1vLWluZm8tY29tYm8tdmlld2VyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2x5LWxhYmVsL2x5LWxhYmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2x5LXRhYi1wYWdlL2x5LXRhYi1wYWdlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2x5LXRhYi1jb250YWluZXIvbHktdGFiLWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9seS12ZXJ0aWNhbC1sYXlvdXQvbHktdmVydGljYWwtbGF5b3V0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2x5LWhvcml6b250YWwtbGF5b3V0L2x5LWhvcml6b250YWwtbGF5b3V0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXBpY3R1cmVzLWluZm8vdWktcGljdHVyZXMtaW5mby5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yaWNoLXRleHQtc3RhdGljL3JpY2gtdGV4dC1zdGF0aWMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybS1kaWFsb2ctbGVzcy9mb3JtLWRpYWxvZy1sZXNzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm0td2l6YXJkL2Zvcm0td2l6YXJkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xheW91dC13aXphcmQvbGF5b3V0LXdpemFyZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9sYXlvdXQtY29udHJvbC9sYXlvdXQtY29udHJvbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS10ZXh0LWFyZWEvdWktdGV4dC1hcmVhLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc3BvbnNpdmUtdG9vbGJhci1yZW5kZXJlci9yZXNwb25zaXZlLXRvb2xiYXItcmVuZGVyZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzcG9uc2l2ZS10b29sYmFyL3Jlc3BvbnNpdmUtdG9vbGJhci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1tby1pbmZvLXN1Yi1mb3JtLXVpL3VpLW1vLWluZm8tc3ViLWZvcm0tdWkuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybS1kaWFsb2cvZm9ybS1kaWFsb2cuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktZGF0ZS10aW1lL3VpLWRhdGUtdGltZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1idXR0b24vdWktYnV0dG9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXRpbnltY2UvdWktdGlueW1jZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91bHYtc2V0dGluZ3MvdWx2LXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXNlYXJjaC1jb21tYW5kLWluZm8tdWkvdWktc2VhcmNoLWNvbW1hbmQtaW5mby11aS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1mb3JtLXBhbmVsL3VpLWZvcm0tcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybS10b29sYmFyL2Zvcm0tdG9vbGJhci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1pbmZvLWJhci1wYW5lbC91aS1pbmZvLWJhci1wYW5lbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYXNrL21hc2suY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktZ3JpZC1jb2x1bW5zL3VpLWdyaWQtY29sdW1ucy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1ncmlkLXNvcnQtaXRlbS91aS1ncmlkLXNvcnQtaXRlbS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1ncmlkLXNvcnQtc2V0dGluZy91aS1ncmlkLXNvcnQtc2V0dGluZy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91bHYtcGFnaW5nL3Vsdi1wYWdpbmcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWx2LXRvb2xiYXIvdWx2LXRvb2xiYXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWx2LXNlbGVjdGlvbi91bHYtc2VsZWN0aW9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXNpbmdsZS1waWN0dXJlL3VpLXNpbmdsZS1waWN0dXJlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2x5LWVtcHR5LXNwYWNlL2x5LWVtcHR5LXNwYWNlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWZpbGUtbGluZWFyLWxpc3QtYm94L3VpLWZpbGUtbGluZWFyLWxpc3QtYm94LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXRpbWUtc3Bhbi91aS10aW1lLXNwYW4uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbnVtLWludC11aS91aS1udW0taW50LXVpLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLW51bS1kZWNpbWFsLXVpL3VpLW51bS1kZWNpbWFsLXVpLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLW11bHRpLXNlbGVjdC1jb21iby91aS1tdWx0aS1zZWxlY3QtY29tYm8uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbW8taW5mby11bHYtY29tYm8vdWktbW8taW5mby11bHYtY29tYm8uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktcGljdHVyZS1maWxlL3VpLXBpY3R1cmUtZmlsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1jb250YWluZXItd2l0aC1idXR0b24vdWktY29udGFpbmVyLXdpdGgtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXJlYWQtb25seS1maWVsZC91aS1yZWFkLW9ubHktZmllbGQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbHktbGF5b3V0LXBhbmVsL2x5LWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9seS1sYXlvdXQtY29udGFpbmVyLW9mLXJvb3QvbHktbGF5b3V0LWNvbnRhaW5lci1vZi1yb290LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWdyaWQvdWktZ3JpZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1yYWRpby1ncm91cC91aS1yYWRpby1ncm91cC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1sYWJlbC91aS1sYWJlbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1yYWRpby1ncm91cC91aS1yYWRpby1ncm91cC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1zaW1wbGUtY29tYm8vdWktc2ltcGxlLWNvbWJvLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWNoZWNrLWJveC91aS1jaGVjay1ib3guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktc3dpdGNoLWJ1dHRvbi91aS1zd2l0Y2gtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2x5LWxheW91dC1maWVsZC1sYWJlbC9seS1sYXlvdXQtZmllbGQtbGFiZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktdGV4dC1maWVsZC91aS10ZXh0LWZpZWxkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Vsdi1jb250ZXh0LW1lbnUvdWx2LWNvbnRleHQtbWVudS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi93aXphcmQtbGF5b3V0LmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbC1yZW5kZXJlci5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHBseS1jb25kaXRpb25hbC1mb3JtbWF0aW5ncy5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91cGxvYWQtZmlsZS1zdGF0dXMucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NhcC1mb250LnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zYXAtZm9udC1jbGFzcy5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2FwLXVpLXJlcG9ydC1iYXNlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlcG9ydC12aWV3LXJlbmRlcmVyLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bGxzY3JlZW4tZGlhbG9nLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXRyZWUtaXRlbS9ub2RlLWhhcy1vbmUtZGVwdGgtbGV2ZWwucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhcmQtaXRlbS9jYXJkLWl0ZW0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FyZC12aWV3LWNvbnRlbnQvY2FyZC12aWV3LWNvbnRlbnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktY2FyZC12aWV3LWhvcml6b250YWwtZ3JvdXAvdWktY2FyZC12aWV3LWhvcml6b250YWwtZ3JvdXAuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGl0bGUvdGl0bGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtdWx2LW1haW4vYmFyc2EtdWx2LW1haW4uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9odHJlZS1jcmVhdGUtbmV3L2h0cmVlLWNyZWF0ZS1uZXcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtdGFibGUtcm93L2JhcnNhLXRhYmxlLXJvdy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS10YWJsZS1jb2x1bW4vYmFyc2EtdGFibGUtY29sdW1uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXRhYmxlLWhlYWRlci9iYXJzYS10YWJsZS1oZWFkZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RldmljZS1pbmZvLWZpZWxkLWJhc2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1zYXAtdWktcm91dGluZy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtLXRvb2xiYXItYnV0dG9uL2Zvcm0tdG9vbGJhci1idXR0b24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2Etc2VhcmNoLWZvcm0vYmFyc2Etc2VhcmNoLWZvcm0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVwb3J0LW5ldy10b3AtZm9ybS9yZXBvcnQtbmV3LXRvcC1mb3JtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLW5ldHdvcmstb2ZmbGluZS9iYXJzYS1uZXR3b3JrLW9mZmxpbmUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsZS12aWV3ZXItY29udGVudC9maWxlLXZpZXdlci1jb250ZW50LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbGUtdmlld2VyLXBvcG92ZXIvZmlsZS12aWV3ZXItcG9wb3Zlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWxlLXZpZXdlci9maWxlLXZpZXdlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ibG9iLXZpZXdlci9ibG9iLXZpZXdlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdWxsc2NyZWVuLWZpbGVzLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Rvd25sb2FkLWZpbGVzLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL25vdGlmaWNhdGlvbi1pdGVtL25vdGlmaWNhdGlvbi1pdGVtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNhcnRhYmxlLXRlbXBsYXRlL2JhcnNhLWNhcnRhYmxlLXRlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNhcnRhYmxlLWZvcm0vYmFyc2EtY2FydGFibGUtZm9ybS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1ncm91cC1jYXJ0YWJsZS9iYXJzYS1jYXJ0YWJsZS1ncm91cC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1jb2x1bW4taW5kaWNhdG9yL2JhcnNhLWNvbHVtbi1pbmRpY2F0b3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtZmllbGQta2V5LXZhbHVlL2JhcnNhLWZpZWxkLWtleS12YWx1ZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS10b29sYmFyaXRlbS1zZWFyY2gvYmFyc2EtdG9vbGJhcml0ZW0tc2VhcmNoLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWh0bWwtdmlld2VyL3VpLWh0bWwtdmlld2VyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXBpc2huYW1heWVzaC1wYXlhbS9iYXJzYS1waXNobmFtYXllc2gtcGF5YW0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtdGV4dC1lbGxpcHNpcy9iYXJzYS10ZXh0LWVsbGlwc2lzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWxpc3QtZmlsZS1saW5lYXItZ21haWwvYmFyc2EtbGlzdC1maWxlLWxpbmVhci1nbWFpbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1saW5rYWJsZS1pdGVtcy1wYW5lbC9iYXJzYS1saW5rYWJsZS1pdGVtcy1wYW5lbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1lbnVtLW1lbnUtYnV0dG9uL2JhcnNhLWVudW0tbWVudS1idXR0b24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY2FyZC1sYXlvdXQtcGFuZWwvYmFyc2EtY2FyZC1sYXlvdXQtcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtaG9yaXpvbnRhbC1mbGV4LXBhbmVsL2JhcnNhLWhvcml6b250YWwtZmxleC1wYW5lbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1iYXNlLXBhbmVsL2JhcnNhLWJhc2UtbGF5b3V0LXBhbmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWJhci1wYW5lbC9iYXJzYS1iYXItcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY2FyZC1sYXlvdXQtcGFuZWwvYmFyc2EtY2FyZC1sYXlvdXQtcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtZm9ybS1zaWRlLWNvbnRlbnQvYmFyc2EtZm9ybS1zaWRlLWNvbnRlbnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlhbG9nLWhhbmRsZXIuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2Etc2ltcGxlLWZvcm0vYmFyc2Etc2ltcGxlLWZvcm0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY2FyZC1sYXlvdXQtcGFuZWwvYmFyc2EtY2FyZC1sYXlvdXQtcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtbGlzdC1sYXlvdXQtcGFuZWwvYmFyc2EtbGlzdC1sYXlvdXQtcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtZ3JpZC1sYXlvdXQtcGFuZWwvYmFyc2EtZ3JpZC1sYXlvdXQtcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtZHluYW1pYy1maWVsZC9iYXJzYS1keW5hbWljLWZpZWxkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NhcC1zaXplLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdmF0YXItc2l6ZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbXVsdGktc2VsZWN0LXJhZGlvL3VpLW11bHRpLXNlbGVjdC1yYWRpby5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1tdWx0aS1zZWxlY3QtY2hlY2tib3gvdWktbXVsdGktc2VsZWN0LWNoZWNrYm94LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLW11bHRpLXNlbGVjdC1zbGlkZXIvdWktbXVsdGktc2VsZWN0LXNsaWRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1tdWx0aS1zZWxlY3QtY2FyZC91aS1tdWx0aS1zZWxlY3QtY2FyZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1tdWx0aS1zZWxlY3Qtc21pbGUvdWktbXVsdGktc2VsZWN0LXNtaWxlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLW51bS1pbnQtc2xpZGVyL3VpLW51bS1pbnQtc2xpZGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXJlcG9ydC1jaGVja2JveC1zd2l0Y2gtYnV0dG9uL2JhcnNhLXJlcG9ydC1jaGVja2JveC1zd2l0Y2gtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNvbHVtbi1yb3dudW1iZXIvYmFyc2EtY29sdW1uLXJvd251bWJlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1yZXBvcnQtb25lLW9mLWxpc3QvYmFyc2EtcmVwb3J0LW9uZS1vZi1saXN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNhcmQtcm93LXBheWFtL2JhcnNhLWNhcmQtcm93LXBheWFtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXF1ZXN0aW9uLXBvc3QvYmFyc2EtcXVlc3Rpb24tcG9zdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItZm9ybS9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItZm9ybS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItZm9ybS1hZGQtY29tbWVudC9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItZm9ybS1hZGQtY29tbWVudC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1hbnN3ZXItY2FyZC9iYXJzYS1hbnN3ZXItY2FyZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItY3JlYXRvci10aW1lLXNlY3Rpb24vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWNyZWF0b3ItdGltZS1zZWN0aW9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jb21tZW50cy1zZWN0aW9uL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jb21tZW50cy1zZWN0aW9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci12b3RlLXNlY3Rpb24vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLXZvdGUtc2VjdGlvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItY29udGVudC1hY3Rpb25zLXNlY3Rpb24vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWNvbnRlbnQtYWN0aW9ucy1zZWN0aW9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNoaXAvYmFyc2EtY2hpcC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS10YWctY2hpcC9iYXJzYS10YWctY2hpcC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1yZXBvcnQtY2FyZC1mbGV4LXZpZXcvYmFyc2EtcmVwb3J0LWNhcmQtZmxleC12aWV3LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXRhZ3MtY2F0ZWdvcnktcm93L2JhcnNhLXRhZ3MtY2F0ZWdvcnktcm93LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXRhZy1jYXRlZ29yaWVzL2JhcnNhLXRhZy1jYXRlZ29yaWVzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWN1c3RvbS1pbmxpbmUtZWRpdC9iYXJzYS1jdXN0b20taW5saW5lLWVkaXQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY3VzdG9tLWlubGluZS1lZGl0LXJvdy9iYXJzYS1jdXN0b20taW5saW5lLWVkaXQtcm93LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNoYXQvYmFyc2EtY2hhdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1jaGF0LWNvbnRlbnQtdG9vbGJhci9iYXJzYS1jaGF0LWNvbnRlbnQtdG9vbGJhci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1jaGF0LW1lc3NhZ2UvYmFyc2EtY2hhdC1tZXNzYWdlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNoYXQtdGhyZWFkL2JhcnNhLWNoYXQtdGhyZWFkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNoYXQtY29udGVudC9iYXJzYS1jaGF0LWNvbnRlbnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY2hhdC10aHJlYWRzLWxpc3QtdG9vbGJhci9iYXJzYS1jaGF0LXRocmVhZHMtbGlzdC10b29sYmFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNoYXQtdGhyZWFkcy1saXN0L2JhcnNhLWNoYXQtdGhyZWFkcy1saXN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNoYXQtbGlzdC9iYXJzYS1jaGF0LWxpc3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtbW9kYWwvYmFyc2EtbW9kYWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtdGFiLXJvdXRlLW1hbmFnZXIvYmFyc2EtdGFiLXJvdXRlLW1hbmFnZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtYnJlYWRjcnVtYnMvYmFyc2EtYnJlYWRjcnVtYnMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFibGUtdGguZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2Etcm93LWlubGluZS1hY3Rpb25saXN0L2JhcnNhLXJvdy1pbmxpbmUtYWN0aW9ubGlzdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1icG1uLXZpZXdlci91aS1icG1uLXZpZXdlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1iYXItZG93bmxvYWQtZmlsZS9iYXJzYS1iYXItZG93bmxvYWQtZmlsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1ub3RpZmljYXRpb24tdmlldy91aS1ub3RpZmljYXRpb24tdmlldy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub3RpZmljYXRpb24taXRlbS1hY3Rpb25zL25vdGlmaWNhdGlvbi1pdGVtLWFjdGlvbnMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtZm9ybS1sYXlvdXQtcGFuZWwvYmFyc2EtZm9ybS1sYXlvdXQtcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktcmVwb3J0LWNhcm91c2VsLXZpZXcvdWktcmVwb3J0LWNhcm91c2VsLXZpZXcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY2FyZC1iYW5uZXIvYmFyc2EtY2FyZC1iYW5uZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udGVudERlbnNpdHkuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtdGhlbWUvYmFyc2EtdGhlbWUuY29tcG9uZW50JztcclxuXHJcbi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBiYXJzYS1zYXAtdWlcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnN0YW50cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXNhcC11aS5tb2R1bGUnO1xyXG4iXX0=
|