myrta-ui 17.0.0-beta.3 → 17.0.0-beta.5
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/components/form/input-file-image/input-file-image.component.mjs +7 -11
- package/esm2022/lib/components/form/input-file-image/input-file-image.enum.mjs +3 -3
- package/esm2022/lib/services/index.mjs +4 -1
- package/esm2022/lib/services/modal-service/modal-service.module.mjs +25 -0
- package/fesm2022/myrta-ui.mjs +41 -25
- package/fesm2022/myrta-ui.mjs.map +1 -1
- package/lib/components/form/input-file-image/input-file-image.component.d.ts +1 -2
- package/lib/components/form/input-file-image/input-file-image.enum.d.ts +2 -2
- package/lib/services/index.d.ts +3 -0
- package/lib/services/modal-service/modal-service.module.d.ts +9 -0
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, EventEmitter,
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
import { convertBase64ToFile, formatBytes, getBase64FromUrl } from '../../../helpers/extension/input-file.extension';
|
|
3
3
|
import { v4 as uuidv4 } from 'uuid';
|
|
4
4
|
import { catchError } from 'rxjs/operators';
|
|
@@ -9,7 +9,7 @@ import { InputFileImageTypeEnum } from './input-file-image.enum';
|
|
|
9
9
|
import { PreviewEnum } from './input-file-image.enum';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
import * as i1 from "../../../services/file-upload/file-upload.service";
|
|
12
|
-
import * as i2 from "../../../services
|
|
12
|
+
import * as i2 from "../../../services";
|
|
13
13
|
import * as i3 from "@angular/common";
|
|
14
14
|
import * as i4 from "ngx-file-drop";
|
|
15
15
|
export class InputFileImageComponent {
|
|
@@ -20,7 +20,6 @@ export class InputFileImageComponent {
|
|
|
20
20
|
allowedExtensions = [];
|
|
21
21
|
files = [];
|
|
22
22
|
notFoundImage = PreviewEnum.notFoundImage;
|
|
23
|
-
hostClass = 'ng-form-file-input';
|
|
24
23
|
type = 'default';
|
|
25
24
|
preview = '';
|
|
26
25
|
customClasses = '';
|
|
@@ -77,7 +76,7 @@ export class InputFileImageComponent {
|
|
|
77
76
|
return `${InputFileImageTypeEnum[this.type]} ${this.customClasses}`;
|
|
78
77
|
}
|
|
79
78
|
get getDropZoneClasses() {
|
|
80
|
-
return `
|
|
79
|
+
return `mrx-input-file-image-drop ${this.disabled ? 'mrx-input-file-image-drop-disabled' : ''}`;
|
|
81
80
|
}
|
|
82
81
|
get canAdd() {
|
|
83
82
|
if (this.type === 'avatar') {
|
|
@@ -304,15 +303,12 @@ export class InputFileImageComponent {
|
|
|
304
303
|
return true;
|
|
305
304
|
}
|
|
306
305
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InputFileImageComponent, deps: [{ token: i1.FileUploadService }, { token: i2.ModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
307
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: InputFileImageComponent, selector: "mrx-input-file-image", inputs: { type: "type", preview: "preview", customClasses: "customClasses", required: "required", disabled: "disabled", lightDisabled: "lightDisabled", maxSize: "maxSize", maxFiles: "maxFiles", minFiles: "minFiles", cropperMaxWidth: "cropperMaxWidth", cropperMaxHeight: "cropperMaxHeight", aspectRatio: "aspectRatio", formData: "formData", placeholder: "placeholder", uploadEndPoint: "uploadEndPoint", deleteEndPoint: "deleteEndPoint", downloadEndPoint: "downloadEndPoint", fileNamePlaceholder: "fileNamePlaceholder", deleteConfirm: "deleteConfirm", innerTemplate: "innerTemplate", initFiles: ["files", "initFiles"], initAllowedExtensions: ["allowedExtensions", "initAllowedExtensions"] }, outputs: { filesChanged: "filesChanged" }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<div class=\"mrx-input-file-image\" [class]=\"getClasses\">\r\n\r\n <ng-container *ngIf=\"type === 'default'\">\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n\r\n <ngx-file-drop *ngIf=\"canAdd\" (onFileDrop)=\"dropped($event)\"\r\n [className]=\"getDropZoneClasses\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"disabled\"\r\n (onFileOver)=\"fileOver($event)\" (onFileLeave)=\"fileLeave($event)\">\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n <div\r\n class=\"ng-custom-file-input-content\"\r\n (click)=\"!disabled ? openFileSelector() : undefined\"\r\n >\r\n <div class=\"text-center\">\r\n <span>{{placeholder || getDefaultPlaceholder}}</span>\r\n <br/>\r\n <span style=\"font-size: 12px\">\u0420\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430: \u0434\u043E {{formatBytes(maxSize)}}</span>\r\n <br/>\r\n <span *ngIf=\"extensions\" style=\"font-size: 12px\">\u0424\u043E\u0440\u043C\u0430\u0442 \u0444\u0430\u0439\u043B\u0430: {{extensions}}</span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-file-drop>\r\n\r\n <div class=\"mrx-input-file-image-preview\">\r\n <div class=\"row\">\r\n <div class=\"col col-12 col-sm-6 col-md-4 col-lg-3\" *ngFor=\"let file of files\">\r\n <div class=\"mrx-input-file-image-preview__item p-3\" [class.mrx-input-file-image-error]=\"file.error\">\r\n <ng-container *ngIf=\"file.error\">\r\n <span class=\"mrx-icon icon-close icon-font-24\" (click)=\"delete($event, file)\"></span>\r\n <div class=\"mrx-input-file-image-preview__item--error p-2\">\r\n <span class=\"mrx-icon icon-image icon-font-24 icon-filled-color-negative mb-2\"></span>\r\n {{ file.error }}\r\n </div>\r\n <span class=\"mrx-input-file-image-preview__item--name mb-2\">\r\n {{ file.name }}\r\n </span>\r\n <span class=\"mrx-input-file-image-preview__item--description\">\r\n {{ formatBytes(file.size) }}\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"file.uploading && !file.error\">\r\n <div class=\"mrx-input-file-image-preview__item--uploading p-2\">\r\n <span class=\"mb-2\">\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...</span>\r\n <div class=\"mrx-input-file-image-preview__item--uploading-progress\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!file.uploading && !file.error\">\r\n <img class=\"mb-2\" [src]=\"file.url || downloadUrl(file)\" [alt]=\"file.name\">\r\n\r\n <span class=\"mrx-input-file-image-preview__item--name mb-2\">\r\n {{ file.name }}\r\n </span>\r\n <span class=\"mrx-input-file-image-preview__item--description\">\r\n {{ formatBytes(file.size) }}\r\n </span>\r\n\r\n <div class=\"mrx-input-file-image__controls\">\r\n <div class=\"mrx-input-file-image__controls-item\" (click)=\"changePreview($event, file)\">\r\n <span class=\"mrx-icon icon-pen icon-font-16\"></span>\r\n </div>\r\n <div class=\"mrx-input-file-image__controls-item\" (click)=\"delete($event, file)\">\r\n <span class=\"mrx-icon icon-delete icon-font-16\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"type === 'avatar'\">\r\n <ngx-file-drop (onFileDrop)=\"dropped($event)\"\r\n [className]=\"getDropZoneClasses\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"disabled\"\r\n (onFileOver)=\"fileOver($event)\" (onFileLeave)=\"fileLeave($event)\">\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n\r\n <div\r\n *ngIf=\"!files.length; else avatarTemplate\"\r\n class=\"ng-custom-file-input-content\"\r\n [class.mrx-input-file-image__disabled]=\"disabled\"\r\n (click)=\"!disabled ? openFileSelector() : undefined\"\r\n >\r\n <div class=\"text-center\">\r\n <span>{{placeholder || getDefaultPlaceholder}}</span>\r\n <br/>\r\n <span style=\"font-size: 12px\">\u0420\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430: \u0434\u043E {{formatBytes(maxSize)}}</span>\r\n <br/>\r\n <span *ngIf=\"extensions\" style=\"font-size: 12px\">\u0424\u043E\u0440\u043C\u0430\u0442 \u0444\u0430\u0439\u043B\u0430: {{extensions}}</span>\r\n </div>\r\n </div>\r\n\r\n <ng-template #avatarTemplate>\r\n <div class=\"mrx-input-file-image-avatar\" (click)=\"openFileSelector()\">\r\n <div *ngFor=\"let file of files\">\r\n <div class=\"mrx-input-file-image-avatar__item\" [class.mrx-input-file-image-error]=\"file.error\">\r\n <ng-container *ngIf=\"file.error\">\r\n <span class=\"mrx-icon icon-close icon-font-24\" (click)=\"delete($event, file)\"></span>\r\n <div class=\"mrx-input-file-image-avatar__item--error p-2\">\r\n <span class=\"mrx-icon icon-image icon-font-24 icon-filled-color-negative mb-2\"></span>\r\n {{ file.error }}\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"file.uploading && !file.error\">\r\n <div class=\"mrx-input-file-image-avatar__item--uploading p-2\">\r\n <span class=\"mb-2\">\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...</span>\r\n <div class=\"mrx-input-file-image-avatar__item--uploading-progress\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!file.uploading && !file.error\">\r\n <img [src]=\"file.url || downloadUrl(file)\" [alt]=\"file.name\">\r\n\r\n <div class=\"mrx-input-file-image__controls\">\r\n <div class=\"mrx-input-file-image__controls-item\" (click)=\"changePreview($event, file)\">\r\n <span class=\"mrx-icon icon-pen icon-font-16\"></span>\r\n </div>\r\n <div class=\"mrx-input-file-image__controls-item\" (click)=\"delete($event, file)\">\r\n <span class=\"mrx-icon icon-delete icon-font-16\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n </ng-template>\r\n </ngx-file-drop>\r\n </ng-container>\r\n</div>\r\n", styles: [".mrx-input-file-image{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:12px}.mrx-input-file-image__disabled .ngx-file-drop__drop-zone{background-color:var(--neutral-bg-disabled)!important;color:var(--neutral-bg-stroke-default)!important;border:1px solid var(--neutral-bg-stroke-default)!important}.mrx-input-file-image-preview{width:100%}.mrx-input-file-image-preview__item{position:relative;border:1px solid var(--Stroke);border-radius:4px;display:flex;flex-direction:column;justify-content:flex-start;transition:.2s;word-break:break-word;height:100%}.mrx-input-file-image-preview__item .icon-close{position:absolute;top:8px;right:8px;cursor:pointer}.mrx-input-file-image-preview__item.mrx-input-file-image-error{border:1px solid var(--system-bg-controls-negative-default)}.mrx-input-file-image-preview__item img{word-wrap:break-word;max-height:236px;object-fit:cover;width:100%;height:100%}.mrx-input-file-image-preview__item:hover{border-color:var(--Main2)}.mrx-input-file-image-preview__item--name{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary)}.mrx-input-file-image-preview__item--description{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-secondary)}.mrx-input-file-image-preview__item--error{max-height:236px;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--system-text-negative)}.mrx-input-file-image-preview__item--uploading{display:flex;flex-direction:column;justify-content:center;align-items:center}.mrx-input-file-image-preview__item--uploading-progress{width:96px;height:4px;background-color:var(--neutral-bg-island-default);display:flex;justify-content:flex-start}.mrx-input-file-image-preview__item--uploading-progress span{display:block;height:100%;width:0;background-color:var(--brand-bg-primary-default);border-radius:2px}.mrx-input-file-image-preview .row{row-gap:12px}.mrx-input-file-image.mrx-input-file-image__type-avatar{display:flex}.mrx-input-file-image.mrx-input-file-image__type-avatar .mrx-input-file-image-avatar{width:157px;height:157px;display:flex;align-items:center;justify-content:center;cursor:pointer}.mrx-input-file-image.mrx-input-file-image__type-avatar .mrx-input-file-image-avatar__item{position:relative;display:flex;flex-direction:column;justify-content:center;word-break:break-word;width:154px;height:154px}.mrx-input-file-image.mrx-input-file-image__type-avatar .mrx-input-file-image-avatar__item .icon-close{position:absolute;top:8px;right:8px;cursor:pointer}.mrx-input-file-image.mrx-input-file-image__type-avatar .mrx-input-file-image-avatar__item img{word-wrap:break-word;max-height:236px;object-fit:cover;width:100%;height:100%}.mrx-input-file-image.mrx-input-file-image__type-avatar .mrx-input-file-image-avatar__item:hover{border-color:var(--Main2)}.mrx-input-file-image.mrx-input-file-image__type-avatar .mrx-input-file-image-avatar__item--error{width:154px;height:154px;border:1px solid var(--system-bg-controls-negative-default);border-radius:4px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:var(--system-text-negative)}.mrx-input-file-image.mrx-input-file-image__type-avatar .mrx-input-file-image-avatar__item--uploading{width:154px;height:154px;border:1px solid var(--neutral-bg-stroke-default);border-radius:4px;display:flex;flex-direction:column;justify-content:center;align-items:center}.mrx-input-file-image.mrx-input-file-image__type-avatar .mrx-input-file-image-avatar__item--uploading-progress{width:96px;height:4px;background-color:var(--neutral-bg-island-default);display:flex;justify-content:flex-start}.mrx-input-file-image.mrx-input-file-image__type-avatar .mrx-input-file-image-avatar__item--uploading-progress span{display:block;height:100%;width:0;background-color:var(--brand-bg-primary-default);border-radius:2px}.mrx-input-file-image.mrx-input-file-image__type-avatar .ngx-file-drop__drop-zone{height:auto}.mrx-input-file-image.mrx-input-file-image__type-avatar .ngx-file-drop__content{width:154px;height:auto;min-height:154px;padding:4px}.mrx-input-file-image.mrx-input-file-image__type-avatar .ng-custom-file-input-content{padding:0}.mrx-input-file-image.mrx-input-file-image__type-default .ng-custom-file-input{width:100%}.mrx-input-file-image.mrx-input-file-image__type-default .ngx-file-drop__drop-zone{height:auto;min-height:100px}.mrx-input-file-image.mrx-input-file-image__type-default .ngx-file-drop__content{height:auto;min-height:100px;padding:16px}.mrx-input-file-image-preview__item:hover .mrx-input-file-image__controls,.mrx-input-file-image-avatar__item:hover .mrx-input-file-image__controls{display:flex}.mrx-input-file-image__controls{position:absolute;top:-16px;right:-16px;background:#fff;box-shadow:0 1px 4px #3a3a3a4d;border-radius:5px;padding:5px;display:none}.mrx-input-file-image__controls-item{min-width:16px;height:16px;cursor:pointer}.mrx-input-file-image__controls-item:not(:last-child){position:relative;padding-right:8px;border-right:1px solid #BFC5CC;margin-right:8px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.NgxFileDropComponent, selector: "ngx-file-drop", inputs: ["accept", "directory", "multiple", "dropZoneLabel", "dropZoneClassName", "useDragEnter", "contentClassName", "showBrowseBtn", "browseBtnClassName", "browseBtnLabel", "disabled"], outputs: ["onFileDrop", "onFileOver", "onFileLeave"] }, { kind: "directive", type: i4.NgxFileDropContentTemplateDirective, selector: "[ngx-file-drop-content-tmp]" }], encapsulation: i0.ViewEncapsulation.None });
|
|
306
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: InputFileImageComponent, selector: "mrx-input-file-image", inputs: { type: "type", preview: "preview", customClasses: "customClasses", required: "required", disabled: "disabled", lightDisabled: "lightDisabled", maxSize: "maxSize", maxFiles: "maxFiles", minFiles: "minFiles", cropperMaxWidth: "cropperMaxWidth", cropperMaxHeight: "cropperMaxHeight", aspectRatio: "aspectRatio", formData: "formData", placeholder: "placeholder", uploadEndPoint: "uploadEndPoint", deleteEndPoint: "deleteEndPoint", downloadEndPoint: "downloadEndPoint", fileNamePlaceholder: "fileNamePlaceholder", deleteConfirm: "deleteConfirm", innerTemplate: "innerTemplate", initFiles: ["files", "initFiles"], initAllowedExtensions: ["allowedExtensions", "initAllowedExtensions"] }, outputs: { filesChanged: "filesChanged" }, ngImport: i0, template: "<div class=\"mrx-input-file-image\" [class]=\"getClasses\">\r\n\r\n <ng-container *ngIf=\"type === 'default'\">\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n\r\n <ngx-file-drop *ngIf=\"canAdd\" (onFileDrop)=\"dropped($event)\"\r\n [className]=\"getDropZoneClasses\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"disabled\"\r\n (onFileOver)=\"fileOver($event)\" (onFileLeave)=\"fileLeave($event)\">\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n <div\r\n class=\"mrx-input-file-image-input\"\r\n (click)=\"!disabled ? openFileSelector() : undefined\"\r\n >\r\n <span class=\"mrx-input-file-image-input-placeholder\">{{placeholder || getDefaultPlaceholder}}</span>\r\n <div class=\"mrx-input-file-image-input-info\">\r\n <span>\u0420\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430: \u0434\u043E {{formatBytes(maxSize)}}</span>\r\n <span *ngIf=\"extensions\">\u0424\u043E\u0440\u043C\u0430\u0442 \u0444\u0430\u0439\u043B\u0430: {{extensions}}</span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-file-drop>\r\n\r\n <div class=\"mrx-input-file-image-preview\">\r\n <div class=\"row\">\r\n <div class=\"col col-12 col-sm-6 col-md-4 col-lg-3\" *ngFor=\"let file of files\">\r\n <div class=\"mrx-input-file-image-preview-item\" [class.mrx-input-file-image-error]=\"file.error\">\r\n <ng-container *ngIf=\"file.error\">\r\n <span class=\"mrx-icon icon-close icon-font-24\" (click)=\"delete($event, file)\"></span>\r\n <div class=\"mrx-input-file-image-preview-item-error\">\r\n <span class=\"mrx-icon icon-image icon-font-24 icon-filled-color-negative\"></span>\r\n {{ file.error }}\r\n </div>\r\n <span class=\"mrx-input-file-image-preview-item-name\">\r\n {{ file.name }}\r\n </span>\r\n <span class=\"mrx-input-file-image-preview-item-description\">\r\n {{ formatBytes(file.size) }}\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"file.uploading && !file.error\">\r\n <div class=\"mrx-input-file-image-preview-item-uploading\">\r\n <span class=\"mrx-input-file-image-preview-item-uploading-text\">\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...</span>\r\n <div class=\"mrx-input-file-image-preview-item-uploading-progress\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!file.uploading && !file.error\">\r\n <img [src]=\"file.url || downloadUrl(file)\" [alt]=\"file.name\">\r\n\r\n <div class=\"mrx-input-file-image-preview-item-info\">\r\n <span class=\"mrx-input-file-image-preview-item-name\">\r\n {{ file.name }}\r\n </span>\r\n <span class=\"mrx-input-file-image-preview-item-description\">\r\n {{ formatBytes(file.size) }}\r\n </span>\r\n </div>\r\n\r\n <div class=\"mrx-input-file-image-controls\">\r\n <div class=\"mrx-input-file-image-controls-item\" (click)=\"changePreview($event, file)\">\r\n <span class=\"mrx-icon icon-pen icon-font-16\"></span>\r\n </div>\r\n <div class=\"mrx-input-file-image-controls-item\" (click)=\"delete($event, file)\">\r\n <span class=\"mrx-icon icon-delete icon-font-16\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"type === 'avatar'\">\r\n <ngx-file-drop (onFileDrop)=\"dropped($event)\"\r\n [className]=\"getDropZoneClasses\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"disabled\"\r\n (onFileOver)=\"fileOver($event)\" (onFileLeave)=\"fileLeave($event)\">\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n\r\n <div\r\n *ngIf=\"!files.length; else avatarTemplate\"\r\n class=\"mrx-input-file-image-input\"\r\n [class.mrx-input-file-image__disabled]=\"disabled\"\r\n (click)=\"!disabled ? openFileSelector() : undefined\"\r\n >\r\n <span class=\"mrx-input-file-image-input-placeholder\">{{placeholder || getDefaultPlaceholder}}</span>\r\n <div class=\"mrx-input-file-image-input-info\">\r\n <span>\u0420\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430: \u0434\u043E {{formatBytes(maxSize)}}</span>\r\n <span *ngIf=\"extensions\">\u0424\u043E\u0440\u043C\u0430\u0442 \u0444\u0430\u0439\u043B\u0430: {{extensions}}</span>\r\n </div>\r\n </div>\r\n\r\n <ng-template #avatarTemplate>\r\n <div class=\"mrx-input-file-image-avatar\" (click)=\"openFileSelector()\">\r\n <div *ngFor=\"let file of files\" class=\"w-100 h-100\">\r\n <div class=\"mrx-input-file-image-avatar-item\" [class.mrx-input-file-image-error]=\"file.error\">\r\n <ng-container *ngIf=\"file.error\">\r\n <span class=\"mrx-icon icon-close icon-font-24\" (click)=\"delete($event, file)\"></span>\r\n <div class=\"mrx-input-file-image-avatar-item-error\">\r\n <span class=\"mrx-icon icon-image icon-font-24 icon-filled-color-negative\"></span>\r\n {{ file.error }}\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"file.uploading && !file.error\">\r\n <span class=\"mrx-icon icon-close icon-font-24\" (click)=\"delete($event, file)\"></span>\r\n <div class=\"mrx-input-file-image-avatar-item-uploading\">\r\n <span class=\"mrx-input-file-image-avatar-item-uploading-text\">\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...</span>\r\n <div class=\"mrx-input-file-image-avatar-item-uploading-progress\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!file.uploading && !file.error\">\r\n <img [src]=\"file.url || downloadUrl(file)\" [alt]=\"file.name\">\r\n\r\n <div class=\"mrx-input-file-image-controls\">\r\n <div class=\"mrx-input-file-image-controls-item\" (click)=\"changePreview($event, file)\">\r\n <span class=\"mrx-icon icon-pen icon-font-16\"></span>\r\n </div>\r\n <div class=\"mrx-input-file-image-controls-item\" (click)=\"delete($event, file)\">\r\n <span class=\"mrx-icon icon-delete icon-font-16\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n </ng-template>\r\n </ngx-file-drop>\r\n </ng-container>\r\n</div>\r\n", styles: [".mrx-input-file-image{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:var(--spacing-3)}.mrx-input-file-image-preview{width:100%}.mrx-input-file-image-preview-item{position:relative;display:flex;flex-direction:column;justify-content:flex-start;gap:var(--spacing-2);border:1px solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);transition:.2s;word-break:break-word;height:100%;padding:var(--spacing-4)}.mrx-input-file-image-preview-item .icon-close{position:absolute;top:8px;right:8px;cursor:pointer}.mrx-input-file-image-preview-item.mrx-input-file-image-error{border:1px solid var(--system-bg-controls-negative-default)}.mrx-input-file-image-preview-item img{word-wrap:break-word;max-height:236px;object-fit:cover;width:100%;height:100%}.mrx-input-file-image-preview-item:hover{border-color:var(--neutral-bg-stroke-hover)}.mrx-input-file-image-preview-item-info{display:flex;flex-direction:column;gap:var(--spacing-2)}.mrx-input-file-image-preview-item-name{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary)}.mrx-input-file-image-preview-item-description{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-secondary)}.mrx-input-file-image-preview-item-error{max-height:236px;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--system-text-negative)}.mrx-input-file-image-preview-item-uploading{display:flex;flex-direction:column;justify-content:center;align-items:center}.mrx-input-file-image-preview-item-uploading-progress{width:96px;height:4px;background-color:var(--neutral-bg-island-default);display:flex;justify-content:flex-start}.mrx-input-file-image-preview-item-uploading-progress span{display:block;height:100%;width:0;background-color:var(--brand-bg-primary-default);border-radius:2px}.mrx-input-file-image-preview .row{row-gap:var(--spacing-3)}.mrx-input-file-image.mrx-input-file-image-type-avatar{max-width:154px;min-width:154px;min-height:154px;max-height:154px;height:154px}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar{display:flex;align-items:center;justify-content:center;cursor:pointer;width:100%;height:100%}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item{position:relative;display:flex;flex-direction:column;justify-content:center;width:100%;height:100%;word-break:break-word}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item .icon-close{position:absolute;top:8px;right:8px;cursor:pointer}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item img{word-wrap:break-word;max-height:236px;object-fit:cover;width:100%;height:100%}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item:hover{border-color:var(--Main2)}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item-error{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;width:100%;height:100%;border:1px solid var(--system-bg-controls-negative-default);border-radius:var(--border-radius-1);color:var(--system-text-negative)}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item-uploading{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--spacing-3);width:100%;height:100%;border:1px solid var(--neutral-bg-stroke-default);border-radius:4px}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item-uploading-text{font-size:var(--body-md-font-size);font-family:var(--body-md-font-family);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);text-align:center;color:var(--neutral-text-primary)}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item-uploading-progress{width:96px;height:4px;border-radius:2px;background-color:var(--neutral-bg-island-default);display:flex;justify-content:flex-start}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item-uploading-progress span{display:block;height:100%;width:0;background-color:var(--brand-bg-primary-default);border-radius:2px}.mrx-input-file-image .mrx-input-file-image-drop{width:100%;height:100%}.mrx-input-file-image .mrx-input-file-image-drop-disabled .mrx-input-file-image-input{border-color:var(--neutral-bg-stroke-default);background-color:var(--neutral-bg-disabled);cursor:default}.mrx-input-file-image .mrx-input-file-image-drop .ngx-file-drop__drop-zone{height:100%;border:none;border-radius:0}.mrx-input-file-image .mrx-input-file-image-drop .ngx-file-drop__drop-zone .ngx-file-drop__content{height:100%}.mrx-input-file-image-preview-item:hover .mrx-input-file-image-controls,.mrx-input-file-image-avatar-item:hover .mrx-input-file-image-controls{display:flex}.mrx-input-file-image-controls{position:absolute;top:-16px;right:-16px;background:#fff;box-shadow:0 1px 4px #3a3a3a4d;border-radius:5px;padding:5px;display:none}.mrx-input-file-image-controls-item{min-width:16px;height:16px;cursor:pointer}.mrx-input-file-image-controls-item:not(:last-child){position:relative;padding-right:8px;border-right:1px solid #BFC5CC;margin-right:8px}.mrx-input-file-image-input{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-4);width:100%;height:100%;min-height:100px;gap:var(--spacing-2);border-radius:var(--border-radius-1);border:var(--border-width-default) dashed var(--neutral-bg-stroke-default);cursor:pointer}.mrx-input-file-image-input-placeholder{font-size:var(--body-md-font-size);font-family:var(--body-md-font-family);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);text-align:center;color:var(--neutral-text-secondary)}.mrx-input-file-image-input-info{display:flex;flex-direction:column;align-items:center}.mrx-input-file-image-input-info *{font-size:var(--body-sm-font-size);font-family:var(--body-sm-font-family);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height);text-align:center;color:var(--neutral-text-secondary)}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.NgxFileDropComponent, selector: "ngx-file-drop", inputs: ["accept", "directory", "multiple", "dropZoneLabel", "dropZoneClassName", "useDragEnter", "contentClassName", "showBrowseBtn", "browseBtnClassName", "browseBtnLabel", "disabled"], outputs: ["onFileDrop", "onFileOver", "onFileLeave"] }, { kind: "directive", type: i4.NgxFileDropContentTemplateDirective, selector: "[ngx-file-drop-content-tmp]" }], encapsulation: i0.ViewEncapsulation.None });
|
|
308
307
|
}
|
|
309
308
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InputFileImageComponent, decorators: [{
|
|
310
309
|
type: Component,
|
|
311
|
-
args: [{ selector: 'mrx-input-file-image', encapsulation: ViewEncapsulation.None, template: "<div class=\"mrx-input-file-image\" [class]=\"getClasses\">\r\n\r\n <ng-container *ngIf=\"type === 'default'\">\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n\r\n <ngx-file-drop *ngIf=\"canAdd\" (onFileDrop)=\"dropped($event)\"\r\n [className]=\"getDropZoneClasses\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"disabled\"\r\n (onFileOver)=\"fileOver($event)\" (onFileLeave)=\"fileLeave($event)\">\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n <div\r\n class=\"ng-custom-file-input-content\"\r\n (click)=\"!disabled ? openFileSelector() : undefined\"\r\n >\r\n <div class=\"text-center\">\r\n <span>{{placeholder || getDefaultPlaceholder}}</span>\r\n <br/>\r\n <span style=\"font-size: 12px\">\u0420\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430: \u0434\u043E {{formatBytes(maxSize)}}</span>\r\n <br/>\r\n <span *ngIf=\"extensions\" style=\"font-size: 12px\">\u0424\u043E\u0440\u043C\u0430\u0442 \u0444\u0430\u0439\u043B\u0430: {{extensions}}</span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-file-drop>\r\n\r\n <div class=\"mrx-input-file-image-preview\">\r\n <div class=\"row\">\r\n <div class=\"col col-12 col-sm-6 col-md-4 col-lg-3\" *ngFor=\"let file of files\">\r\n <div class=\"mrx-input-file-image-preview__item p-3\" [class.mrx-input-file-image-error]=\"file.error\">\r\n <ng-container *ngIf=\"file.error\">\r\n <span class=\"mrx-icon icon-close icon-font-24\" (click)=\"delete($event, file)\"></span>\r\n <div class=\"mrx-input-file-image-preview__item--error p-2\">\r\n <span class=\"mrx-icon icon-image icon-font-24 icon-filled-color-negative mb-2\"></span>\r\n {{ file.error }}\r\n </div>\r\n <span class=\"mrx-input-file-image-preview__item--name mb-2\">\r\n {{ file.name }}\r\n </span>\r\n <span class=\"mrx-input-file-image-preview__item--description\">\r\n {{ formatBytes(file.size) }}\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"file.uploading && !file.error\">\r\n <div class=\"mrx-input-file-image-preview__item--uploading p-2\">\r\n <span class=\"mb-2\">\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...</span>\r\n <div class=\"mrx-input-file-image-preview__item--uploading-progress\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!file.uploading && !file.error\">\r\n <img class=\"mb-2\" [src]=\"file.url || downloadUrl(file)\" [alt]=\"file.name\">\r\n\r\n <span class=\"mrx-input-file-image-preview__item--name mb-2\">\r\n {{ file.name }}\r\n </span>\r\n <span class=\"mrx-input-file-image-preview__item--description\">\r\n {{ formatBytes(file.size) }}\r\n </span>\r\n\r\n <div class=\"mrx-input-file-image__controls\">\r\n <div class=\"mrx-input-file-image__controls-item\" (click)=\"changePreview($event, file)\">\r\n <span class=\"mrx-icon icon-pen icon-font-16\"></span>\r\n </div>\r\n <div class=\"mrx-input-file-image__controls-item\" (click)=\"delete($event, file)\">\r\n <span class=\"mrx-icon icon-delete icon-font-16\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"type === 'avatar'\">\r\n <ngx-file-drop (onFileDrop)=\"dropped($event)\"\r\n [className]=\"getDropZoneClasses\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"disabled\"\r\n (onFileOver)=\"fileOver($event)\" (onFileLeave)=\"fileLeave($event)\">\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n\r\n <div\r\n *ngIf=\"!files.length; else avatarTemplate\"\r\n class=\"ng-custom-file-input-content\"\r\n [class.mrx-input-file-image__disabled]=\"disabled\"\r\n (click)=\"!disabled ? openFileSelector() : undefined\"\r\n >\r\n <div class=\"text-center\">\r\n <span>{{placeholder || getDefaultPlaceholder}}</span>\r\n <br/>\r\n <span style=\"font-size: 12px\">\u0420\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430: \u0434\u043E {{formatBytes(maxSize)}}</span>\r\n <br/>\r\n <span *ngIf=\"extensions\" style=\"font-size: 12px\">\u0424\u043E\u0440\u043C\u0430\u0442 \u0444\u0430\u0439\u043B\u0430: {{extensions}}</span>\r\n </div>\r\n </div>\r\n\r\n <ng-template #avatarTemplate>\r\n <div class=\"mrx-input-file-image-avatar\" (click)=\"openFileSelector()\">\r\n <div *ngFor=\"let file of files\">\r\n <div class=\"mrx-input-file-image-avatar__item\" [class.mrx-input-file-image-error]=\"file.error\">\r\n <ng-container *ngIf=\"file.error\">\r\n <span class=\"mrx-icon icon-close icon-font-24\" (click)=\"delete($event, file)\"></span>\r\n <div class=\"mrx-input-file-image-avatar__item--error p-2\">\r\n <span class=\"mrx-icon icon-image icon-font-24 icon-filled-color-negative mb-2\"></span>\r\n {{ file.error }}\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"file.uploading && !file.error\">\r\n <div class=\"mrx-input-file-image-avatar__item--uploading p-2\">\r\n <span class=\"mb-2\">\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...</span>\r\n <div class=\"mrx-input-file-image-avatar__item--uploading-progress\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!file.uploading && !file.error\">\r\n <img [src]=\"file.url || downloadUrl(file)\" [alt]=\"file.name\">\r\n\r\n <div class=\"mrx-input-file-image__controls\">\r\n <div class=\"mrx-input-file-image__controls-item\" (click)=\"changePreview($event, file)\">\r\n <span class=\"mrx-icon icon-pen icon-font-16\"></span>\r\n </div>\r\n <div class=\"mrx-input-file-image__controls-item\" (click)=\"delete($event, file)\">\r\n <span class=\"mrx-icon icon-delete icon-font-16\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n </ng-template>\r\n </ngx-file-drop>\r\n </ng-container>\r\n</div>\r\n", styles: [".mrx-input-file-image{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:12px}.mrx-input-file-image__disabled .ngx-file-drop__drop-zone{background-color:var(--neutral-bg-disabled)!important;color:var(--neutral-bg-stroke-default)!important;border:1px solid var(--neutral-bg-stroke-default)!important}.mrx-input-file-image-preview{width:100%}.mrx-input-file-image-preview__item{position:relative;border:1px solid var(--Stroke);border-radius:4px;display:flex;flex-direction:column;justify-content:flex-start;transition:.2s;word-break:break-word;height:100%}.mrx-input-file-image-preview__item .icon-close{position:absolute;top:8px;right:8px;cursor:pointer}.mrx-input-file-image-preview__item.mrx-input-file-image-error{border:1px solid var(--system-bg-controls-negative-default)}.mrx-input-file-image-preview__item img{word-wrap:break-word;max-height:236px;object-fit:cover;width:100%;height:100%}.mrx-input-file-image-preview__item:hover{border-color:var(--Main2)}.mrx-input-file-image-preview__item--name{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary)}.mrx-input-file-image-preview__item--description{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-secondary)}.mrx-input-file-image-preview__item--error{max-height:236px;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--system-text-negative)}.mrx-input-file-image-preview__item--uploading{display:flex;flex-direction:column;justify-content:center;align-items:center}.mrx-input-file-image-preview__item--uploading-progress{width:96px;height:4px;background-color:var(--neutral-bg-island-default);display:flex;justify-content:flex-start}.mrx-input-file-image-preview__item--uploading-progress span{display:block;height:100%;width:0;background-color:var(--brand-bg-primary-default);border-radius:2px}.mrx-input-file-image-preview .row{row-gap:12px}.mrx-input-file-image.mrx-input-file-image__type-avatar{display:flex}.mrx-input-file-image.mrx-input-file-image__type-avatar .mrx-input-file-image-avatar{width:157px;height:157px;display:flex;align-items:center;justify-content:center;cursor:pointer}.mrx-input-file-image.mrx-input-file-image__type-avatar .mrx-input-file-image-avatar__item{position:relative;display:flex;flex-direction:column;justify-content:center;word-break:break-word;width:154px;height:154px}.mrx-input-file-image.mrx-input-file-image__type-avatar .mrx-input-file-image-avatar__item .icon-close{position:absolute;top:8px;right:8px;cursor:pointer}.mrx-input-file-image.mrx-input-file-image__type-avatar .mrx-input-file-image-avatar__item img{word-wrap:break-word;max-height:236px;object-fit:cover;width:100%;height:100%}.mrx-input-file-image.mrx-input-file-image__type-avatar .mrx-input-file-image-avatar__item:hover{border-color:var(--Main2)}.mrx-input-file-image.mrx-input-file-image__type-avatar .mrx-input-file-image-avatar__item--error{width:154px;height:154px;border:1px solid var(--system-bg-controls-negative-default);border-radius:4px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:var(--system-text-negative)}.mrx-input-file-image.mrx-input-file-image__type-avatar .mrx-input-file-image-avatar__item--uploading{width:154px;height:154px;border:1px solid var(--neutral-bg-stroke-default);border-radius:4px;display:flex;flex-direction:column;justify-content:center;align-items:center}.mrx-input-file-image.mrx-input-file-image__type-avatar .mrx-input-file-image-avatar__item--uploading-progress{width:96px;height:4px;background-color:var(--neutral-bg-island-default);display:flex;justify-content:flex-start}.mrx-input-file-image.mrx-input-file-image__type-avatar .mrx-input-file-image-avatar__item--uploading-progress span{display:block;height:100%;width:0;background-color:var(--brand-bg-primary-default);border-radius:2px}.mrx-input-file-image.mrx-input-file-image__type-avatar .ngx-file-drop__drop-zone{height:auto}.mrx-input-file-image.mrx-input-file-image__type-avatar .ngx-file-drop__content{width:154px;height:auto;min-height:154px;padding:4px}.mrx-input-file-image.mrx-input-file-image__type-avatar .ng-custom-file-input-content{padding:0}.mrx-input-file-image.mrx-input-file-image__type-default .ng-custom-file-input{width:100%}.mrx-input-file-image.mrx-input-file-image__type-default .ngx-file-drop__drop-zone{height:auto;min-height:100px}.mrx-input-file-image.mrx-input-file-image__type-default .ngx-file-drop__content{height:auto;min-height:100px;padding:16px}.mrx-input-file-image-preview__item:hover .mrx-input-file-image__controls,.mrx-input-file-image-avatar__item:hover .mrx-input-file-image__controls{display:flex}.mrx-input-file-image__controls{position:absolute;top:-16px;right:-16px;background:#fff;box-shadow:0 1px 4px #3a3a3a4d;border-radius:5px;padding:5px;display:none}.mrx-input-file-image__controls-item{min-width:16px;height:16px;cursor:pointer}.mrx-input-file-image__controls-item:not(:last-child){position:relative;padding-right:8px;border-right:1px solid #BFC5CC;margin-right:8px}\n"] }]
|
|
312
|
-
}], ctorParameters: () => [{ type: i1.FileUploadService }, { type: i2.ModalService }], propDecorators: {
|
|
313
|
-
type: HostBinding,
|
|
314
|
-
args: ['class']
|
|
315
|
-
}], type: [{
|
|
310
|
+
args: [{ selector: 'mrx-input-file-image', encapsulation: ViewEncapsulation.None, template: "<div class=\"mrx-input-file-image\" [class]=\"getClasses\">\r\n\r\n <ng-container *ngIf=\"type === 'default'\">\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n\r\n <ngx-file-drop *ngIf=\"canAdd\" (onFileDrop)=\"dropped($event)\"\r\n [className]=\"getDropZoneClasses\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"disabled\"\r\n (onFileOver)=\"fileOver($event)\" (onFileLeave)=\"fileLeave($event)\">\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n <div\r\n class=\"mrx-input-file-image-input\"\r\n (click)=\"!disabled ? openFileSelector() : undefined\"\r\n >\r\n <span class=\"mrx-input-file-image-input-placeholder\">{{placeholder || getDefaultPlaceholder}}</span>\r\n <div class=\"mrx-input-file-image-input-info\">\r\n <span>\u0420\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430: \u0434\u043E {{formatBytes(maxSize)}}</span>\r\n <span *ngIf=\"extensions\">\u0424\u043E\u0440\u043C\u0430\u0442 \u0444\u0430\u0439\u043B\u0430: {{extensions}}</span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-file-drop>\r\n\r\n <div class=\"mrx-input-file-image-preview\">\r\n <div class=\"row\">\r\n <div class=\"col col-12 col-sm-6 col-md-4 col-lg-3\" *ngFor=\"let file of files\">\r\n <div class=\"mrx-input-file-image-preview-item\" [class.mrx-input-file-image-error]=\"file.error\">\r\n <ng-container *ngIf=\"file.error\">\r\n <span class=\"mrx-icon icon-close icon-font-24\" (click)=\"delete($event, file)\"></span>\r\n <div class=\"mrx-input-file-image-preview-item-error\">\r\n <span class=\"mrx-icon icon-image icon-font-24 icon-filled-color-negative\"></span>\r\n {{ file.error }}\r\n </div>\r\n <span class=\"mrx-input-file-image-preview-item-name\">\r\n {{ file.name }}\r\n </span>\r\n <span class=\"mrx-input-file-image-preview-item-description\">\r\n {{ formatBytes(file.size) }}\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"file.uploading && !file.error\">\r\n <div class=\"mrx-input-file-image-preview-item-uploading\">\r\n <span class=\"mrx-input-file-image-preview-item-uploading-text\">\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...</span>\r\n <div class=\"mrx-input-file-image-preview-item-uploading-progress\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!file.uploading && !file.error\">\r\n <img [src]=\"file.url || downloadUrl(file)\" [alt]=\"file.name\">\r\n\r\n <div class=\"mrx-input-file-image-preview-item-info\">\r\n <span class=\"mrx-input-file-image-preview-item-name\">\r\n {{ file.name }}\r\n </span>\r\n <span class=\"mrx-input-file-image-preview-item-description\">\r\n {{ formatBytes(file.size) }}\r\n </span>\r\n </div>\r\n\r\n <div class=\"mrx-input-file-image-controls\">\r\n <div class=\"mrx-input-file-image-controls-item\" (click)=\"changePreview($event, file)\">\r\n <span class=\"mrx-icon icon-pen icon-font-16\"></span>\r\n </div>\r\n <div class=\"mrx-input-file-image-controls-item\" (click)=\"delete($event, file)\">\r\n <span class=\"mrx-icon icon-delete icon-font-16\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"type === 'avatar'\">\r\n <ngx-file-drop (onFileDrop)=\"dropped($event)\"\r\n [className]=\"getDropZoneClasses\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"disabled\"\r\n (onFileOver)=\"fileOver($event)\" (onFileLeave)=\"fileLeave($event)\">\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n\r\n <div\r\n *ngIf=\"!files.length; else avatarTemplate\"\r\n class=\"mrx-input-file-image-input\"\r\n [class.mrx-input-file-image__disabled]=\"disabled\"\r\n (click)=\"!disabled ? openFileSelector() : undefined\"\r\n >\r\n <span class=\"mrx-input-file-image-input-placeholder\">{{placeholder || getDefaultPlaceholder}}</span>\r\n <div class=\"mrx-input-file-image-input-info\">\r\n <span>\u0420\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430: \u0434\u043E {{formatBytes(maxSize)}}</span>\r\n <span *ngIf=\"extensions\">\u0424\u043E\u0440\u043C\u0430\u0442 \u0444\u0430\u0439\u043B\u0430: {{extensions}}</span>\r\n </div>\r\n </div>\r\n\r\n <ng-template #avatarTemplate>\r\n <div class=\"mrx-input-file-image-avatar\" (click)=\"openFileSelector()\">\r\n <div *ngFor=\"let file of files\" class=\"w-100 h-100\">\r\n <div class=\"mrx-input-file-image-avatar-item\" [class.mrx-input-file-image-error]=\"file.error\">\r\n <ng-container *ngIf=\"file.error\">\r\n <span class=\"mrx-icon icon-close icon-font-24\" (click)=\"delete($event, file)\"></span>\r\n <div class=\"mrx-input-file-image-avatar-item-error\">\r\n <span class=\"mrx-icon icon-image icon-font-24 icon-filled-color-negative\"></span>\r\n {{ file.error }}\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"file.uploading && !file.error\">\r\n <span class=\"mrx-icon icon-close icon-font-24\" (click)=\"delete($event, file)\"></span>\r\n <div class=\"mrx-input-file-image-avatar-item-uploading\">\r\n <span class=\"mrx-input-file-image-avatar-item-uploading-text\">\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...</span>\r\n <div class=\"mrx-input-file-image-avatar-item-uploading-progress\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!file.uploading && !file.error\">\r\n <img [src]=\"file.url || downloadUrl(file)\" [alt]=\"file.name\">\r\n\r\n <div class=\"mrx-input-file-image-controls\">\r\n <div class=\"mrx-input-file-image-controls-item\" (click)=\"changePreview($event, file)\">\r\n <span class=\"mrx-icon icon-pen icon-font-16\"></span>\r\n </div>\r\n <div class=\"mrx-input-file-image-controls-item\" (click)=\"delete($event, file)\">\r\n <span class=\"mrx-icon icon-delete icon-font-16\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n </ng-template>\r\n </ngx-file-drop>\r\n </ng-container>\r\n</div>\r\n", styles: [".mrx-input-file-image{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:var(--spacing-3)}.mrx-input-file-image-preview{width:100%}.mrx-input-file-image-preview-item{position:relative;display:flex;flex-direction:column;justify-content:flex-start;gap:var(--spacing-2);border:1px solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);transition:.2s;word-break:break-word;height:100%;padding:var(--spacing-4)}.mrx-input-file-image-preview-item .icon-close{position:absolute;top:8px;right:8px;cursor:pointer}.mrx-input-file-image-preview-item.mrx-input-file-image-error{border:1px solid var(--system-bg-controls-negative-default)}.mrx-input-file-image-preview-item img{word-wrap:break-word;max-height:236px;object-fit:cover;width:100%;height:100%}.mrx-input-file-image-preview-item:hover{border-color:var(--neutral-bg-stroke-hover)}.mrx-input-file-image-preview-item-info{display:flex;flex-direction:column;gap:var(--spacing-2)}.mrx-input-file-image-preview-item-name{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary)}.mrx-input-file-image-preview-item-description{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-secondary)}.mrx-input-file-image-preview-item-error{max-height:236px;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--system-text-negative)}.mrx-input-file-image-preview-item-uploading{display:flex;flex-direction:column;justify-content:center;align-items:center}.mrx-input-file-image-preview-item-uploading-progress{width:96px;height:4px;background-color:var(--neutral-bg-island-default);display:flex;justify-content:flex-start}.mrx-input-file-image-preview-item-uploading-progress span{display:block;height:100%;width:0;background-color:var(--brand-bg-primary-default);border-radius:2px}.mrx-input-file-image-preview .row{row-gap:var(--spacing-3)}.mrx-input-file-image.mrx-input-file-image-type-avatar{max-width:154px;min-width:154px;min-height:154px;max-height:154px;height:154px}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar{display:flex;align-items:center;justify-content:center;cursor:pointer;width:100%;height:100%}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item{position:relative;display:flex;flex-direction:column;justify-content:center;width:100%;height:100%;word-break:break-word}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item .icon-close{position:absolute;top:8px;right:8px;cursor:pointer}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item img{word-wrap:break-word;max-height:236px;object-fit:cover;width:100%;height:100%}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item:hover{border-color:var(--Main2)}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item-error{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;width:100%;height:100%;border:1px solid var(--system-bg-controls-negative-default);border-radius:var(--border-radius-1);color:var(--system-text-negative)}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item-uploading{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--spacing-3);width:100%;height:100%;border:1px solid var(--neutral-bg-stroke-default);border-radius:4px}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item-uploading-text{font-size:var(--body-md-font-size);font-family:var(--body-md-font-family);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);text-align:center;color:var(--neutral-text-primary)}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item-uploading-progress{width:96px;height:4px;border-radius:2px;background-color:var(--neutral-bg-island-default);display:flex;justify-content:flex-start}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item-uploading-progress span{display:block;height:100%;width:0;background-color:var(--brand-bg-primary-default);border-radius:2px}.mrx-input-file-image .mrx-input-file-image-drop{width:100%;height:100%}.mrx-input-file-image .mrx-input-file-image-drop-disabled .mrx-input-file-image-input{border-color:var(--neutral-bg-stroke-default);background-color:var(--neutral-bg-disabled);cursor:default}.mrx-input-file-image .mrx-input-file-image-drop .ngx-file-drop__drop-zone{height:100%;border:none;border-radius:0}.mrx-input-file-image .mrx-input-file-image-drop .ngx-file-drop__drop-zone .ngx-file-drop__content{height:100%}.mrx-input-file-image-preview-item:hover .mrx-input-file-image-controls,.mrx-input-file-image-avatar-item:hover .mrx-input-file-image-controls{display:flex}.mrx-input-file-image-controls{position:absolute;top:-16px;right:-16px;background:#fff;box-shadow:0 1px 4px #3a3a3a4d;border-radius:5px;padding:5px;display:none}.mrx-input-file-image-controls-item{min-width:16px;height:16px;cursor:pointer}.mrx-input-file-image-controls-item:not(:last-child){position:relative;padding-right:8px;border-right:1px solid #BFC5CC;margin-right:8px}.mrx-input-file-image-input{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-4);width:100%;height:100%;min-height:100px;gap:var(--spacing-2);border-radius:var(--border-radius-1);border:var(--border-width-default) dashed var(--neutral-bg-stroke-default);cursor:pointer}.mrx-input-file-image-input-placeholder{font-size:var(--body-md-font-size);font-family:var(--body-md-font-family);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);text-align:center;color:var(--neutral-text-secondary)}.mrx-input-file-image-input-info{display:flex;flex-direction:column;align-items:center}.mrx-input-file-image-input-info *{font-size:var(--body-sm-font-size);font-family:var(--body-sm-font-family);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height);text-align:center;color:var(--neutral-text-secondary)}\n"] }]
|
|
311
|
+
}], ctorParameters: () => [{ type: i1.FileUploadService }, { type: i2.ModalService }], propDecorators: { type: [{
|
|
316
312
|
type: Input
|
|
317
313
|
}], preview: [{
|
|
318
314
|
type: Input
|
|
@@ -361,4 +357,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
361
357
|
}], filesChanged: [{
|
|
362
358
|
type: Output
|
|
363
359
|
}] } });
|
|
364
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZS1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9pbnB1dC1maWxlLWltYWdlL2lucHV0LWZpbGUtaW1hZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQtZmlsZS1pbWFnZS9pbnB1dC1maWxlLWltYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFlLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS3BILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNySCxPQUFPLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQWEsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDakgsT0FBTyxFQUFFLHNCQUFzQixFQUEyQixNQUFNLHlCQUF5QixDQUFDO0FBQzFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7O0FBVXRELE1BQU0sT0FBTyx1QkFBdUI7SUE2RHhCO0lBQ0E7SUE1RFYsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUMxQixVQUFVLENBQVU7SUFDcEIsaUJBQWlCLEdBQWEs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Vzt1QkFBQyxPQUFPO2dCQUdKLElBQUk7c0JBQW5CLEtBQUs7Z0JBRVUsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBQ1UsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBQ1UsY0FBYztzQkFBN0IsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1UsbUJBQW1CO3NCQUFsQyxLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFHRixTQUFTO3NCQURaLEtBQUs7dUJBQUMsT0FBTztnQkFjSCxxQkFBcUI7c0JBRC9CLEtBQUs7dUJBQUMsbUJBQW1CO2dCQVlULFlBQVk7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbnB1dEZpbGVNb2RlbCwgVXBsb2FkZWRGaWxlTW9kZWwsIFVwbG9hZGVkUmVzdWx0TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaW5wdXQtZmlsZS9pbnB1dC1maWxlLm1vZGVsJztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5zZXJ2aWNlJztcclxuLy8gaW1wb3J0IHsgU2ltcGxlTW9kYWxTZXJ2aWNlIH0gZnJvbSAnbmd4LXNpbXBsZS1tb2RhbCc7XHJcbmltcG9ydCB7IEZpbGVTeXN0ZW1GaWxlRW50cnksIE5neEZpbGVEcm9wRW50cnkgfSBmcm9tICduZ3gtZmlsZS1kcm9wJztcclxuaW1wb3J0IHsgY29udmVydEJhc2U2NFRvRmlsZSwgZm9ybWF0Qnl0ZXMsIGdldEJhc2U2NEZyb21VcmwgfSBmcm9tICcuLi8uLi8uLi9oZWxwZXJzL2V4dGVuc2lvbi9pbnB1dC1maWxlLmV4dGVuc2lvbic7XHJcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBFTVBUWSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBFdmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEZpbGVJbWFnZUVkaXRNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLWltYWdlLWVkaXQtbW9kYWwvZmlsZS1pbWFnZS1lZGl0LW1vZGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IElucHV0RmlsZUltYWdlVHlwZUVudW0sIElucHV0RmlsZUltYWdlVHlwZVR5cGVzIH0gZnJvbSAnLi9pbnB1dC1maWxlLWltYWdlLmVudW0nO1xyXG5pbXBvcnQgeyBQcmV2aWV3RW51bSB9IGZyb20gJy4vaW5wdXQtZmlsZS1pbWFnZS5lbnVtJztcclxuaW1wb3J0IHsgTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbW9kYWwtc2VydmljZS9tb2RhbC1zZXJ2aWNlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtaW5wdXQtZmlsZS1pbWFnZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWZpbGUtaW1hZ2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2lucHV0LWZpbGUtaW1hZ2UuY29tcG9uZW50Lmxlc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIElucHV0RmlsZUltYWdlQ29tcG9uZW50IHtcclxuXHJcbiAgZm9ybWF0Qnl0ZXMgPSBmb3JtYXRCeXRlcztcclxuICBleHRlbnNpb25zPzogc3RyaW5nO1xyXG4gIGFsbG93ZWRFeHRlbnNpb25zOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGZpbGVzOiBJbnB1dEZpbGVNb2RlbFtdID0gW107XHJcbiAgbm90Rm91bmRJbWFnZSA9IFByZXZpZXdFbnVtLm5vdEZvdW5kSW1hZ2VcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXHJcbiAgcHVibGljIGhvc3RDbGFzcyA9ICduZy1mb3JtLWZpbGUtaW5wdXQnO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgdHlwZTogSW5wdXRGaWxlSW1hZ2VUeXBlVHlwZXMgPSAnZGVmYXVsdCdcclxuXHJcbiAgQElucHV0KCkgcHVibGljIHByZXZpZXcgPSAnJ1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21DbGFzc2VzID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIHJlcXVpcmVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGxpZ2h0RGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgbWF4U2l6ZSA9IDMxNDU3MjgwO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtYXhGaWxlcyA9IDU7XHJcbiAgQElucHV0KCkgcHVibGljIG1pbkZpbGVzID0gMDtcclxuICBASW5wdXQoKSBwdWJsaWMgY3JvcHBlck1heFdpZHRoID0gMDtcclxuICBASW5wdXQoKSBwdWJsaWMgY3JvcHBlck1heEhlaWdodCA9IDA7XHJcbiAgQElucHV0KCkgcHVibGljIGFzcGVjdFJhdGlvID0gMSAvIDE7XHJcbiAgQElucHV0KCkgcHVibGljIGZvcm1EYXRhOiBhbnkgPSB7fTsgICAvLyDQn9Cw0YDQsNC80LXRgtGA0YssINC60L7RgtC+0YDRi9C1INCx0YPQtNGD0YIg0L/QtdGA0LXQtNCw0LLQsNGC0YzRgdGPINCyINGE0L7RgNC80LVcclxuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcHVibGljIHVwbG9hZEVuZFBvaW50ITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkZWxldGVFbmRQb2ludD86IHN0cmluZztcclxuICBASW5wdXQoKSBwdWJsaWMgZG93bmxvYWRFbmRQb2ludD86IHN0cmluZztcclxuICBASW5wdXQoKSBwdWJsaWMgZmlsZU5hbWVQbGFjZWhvbGRlcj86IHN0cmluZztcclxuICBASW5wdXQoKSBwdWJsaWMgZGVsZXRlQ29uZmlybT86IChmaWxlOiBVcGxvYWRlZEZpbGVNb2RlbCwgcmVzdWx0OiAob2s6IGJvb2xlYW4pID0+IHZvaWQpID0+IHZvaWQ7XHJcbiAgQElucHV0KCkgcHVibGljIGlubmVyVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBASW5wdXQoJ2ZpbGVzJylcclxuICBzZXQgaW5pdEZpbGVzKGRhdGE6IFVwbG9hZGVkRmlsZU1vZGVsW10gfCBVcGxvYWRlZEZpbGVNb2RlbCkge1xyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcclxuICAgICAgICB0aGlzLmZpbGVzID0gZGF0YS5tYXAocyA9PiAoey4uLnN9KSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5maWxlcyA9IFt7Li4uZGF0YX1dO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZpbGVzID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoJ2FsbG93ZWRFeHRlbnNpb25zJylcclxuICBwdWJsaWMgc2V0IGluaXRBbGxvd2VkRXh0ZW5zaW9ucyh2YWw6IHN0cmluZ1tdKSB7XHJcbiAgICBpZiAodmFsKSB7XHJcbiAgICAgIHRoaXMuYWxsb3dlZEV4dGVuc2lvbnMgPSB2YWw7XHJcbiAgICAgIHRoaXMuZXh0ZW5zaW9ucyA9IHZhbC5qb2luKCcsICcpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hbGxvd2VkRXh0ZW5zaW9ucyA9IFtdO1xyXG4gICAgICB0aGlzLmV4dGVuc2lvbnMgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBAT3V0cHV0KCkgcHVibGljIHVwbG9hZENvbXBsZXRlOiBFdmVudEVtaXR0ZXI8SW5wdXRGaWxlTW9kZWxbXT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBmaWxlc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxJbnB1dEZpbGVNb2RlbFtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGltYWdlVXBsb2FkU2VydmljZTogRmlsZVVwbG9hZFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9tb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgcHVibGljIGdldCBnZXREZWZhdWx0UGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnR5cGUgPT09ICdhdmF0YXInID8gJ9CX0LDQs9GA0YPQt9C40YLQtSDRhNC+0YLQvtCz0YDQsNGE0LjRjicgOiAn0J/QtdGA0LXQvdC10YHQuNGC0LUg0YTQsNC50Lsg0YEg0YPRgdGC0YDQvtC50YHRgtCy0LAg0LjQu9C4INC90LDQttC80LjRgtC1INC90LAg0LTQsNC90L3QvtC1INC/0L7Qu9C1INC00LvRjyDQtNC+0LHQsNCy0LvQtdC90LjRjyDRhNCw0LnQu9CwJ1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7SW5wdXRGaWxlSW1hZ2VUeXBlRW51bVt0aGlzLnR5cGVdfSAke3RoaXMuY3VzdG9tQ2xhc3Nlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXREcm9wWm9uZUNsYXNzZXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgbmctY3VzdG9tLWZpbGUtaW5wdXQgJHt0aGlzLmRpc2FibGVkID8gJ21yeC1pbnB1dC1maWxlLWltYWdlX19kaXNhYmxlZCcgOiAnJ31gXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNhbkFkZCgpIHtcclxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdhdmF0YXInKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZpbGVzLmxlbmd0aCA8IDFcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1heEZpbGVzID4gdGhpcy5maWxlcy5maWx0ZXIocyA9PiAhcy5lcnJvcikubGVuZ3RoO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IElucHV0RmlsZU1vZGVsKSB7XHJcbiAgICByZXR1cm4gQm9vbGVhbihpdGVtLnV1aWQpID8gaXRlbS51dWlkIDogaXRlbS50ZW1wVXVpZDtcclxuICB9XHJcblxyXG4gIGRlbGV0ZShldmVudDogYW55LCBmaWxlOiBVcGxvYWRlZEZpbGVNb2RlbCk6IHZvaWQge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcclxuXHJcbiAgICBpZiAodGhpcy5kZWxldGVDb25maXJtKSB7XHJcbiAgICAgIHRoaXMuZGVsZXRlQ29uZmlybShmaWxlLCAob2spID0+IHtcclxuICAgICAgICBpZiAob2spIHtcclxuICAgICAgICAgIGNvbnN0IGZpbmRGaWxlID0gdGhpcy5maWxlcy5maW5kKHMgPT4gcy51dWlkID09PSBmaWxlLnV1aWQpO1xyXG4gICAgICAgICAgaWYgKGZpbmRGaWxlKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmRlbGV0ZUVuZFBvaW50KSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgZm9ybURhdGEgPSB0aGlzLmNyZWF0ZUZvcm1EYXRhKCk7XHJcbiAgICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdRcXV1aWQnLCBmaWxlLnV1aWQpO1xyXG4gICAgICAgICAgICAgIGZpbmRGaWxlLmRlbGV0aW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgICAgdGhpcy5pbWFnZVVwbG9hZFNlcnZpY2UuZGVsZXRlKHRoaXMuZGVsZXRlRW5kUG9pbnQsIGZvcm1EYXRhKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmlsZXMuc3BsaWNlKHRoaXMuZmlsZXMuaW5kZXhPZihmaW5kRmlsZSksIDEpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5maWxlc0NoYW5nZWQuZW1pdCh0aGlzLmZpbGVzKTtcclxuICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5maWxlcy5zcGxpY2UodGhpcy5maWxlcy5pbmRleE9mKGZpbmRGaWxlKSwgMSk7XHJcbiAgICAgICAgICAgICAgdGhpcy5maWxlc0NoYW5nZWQuZW1pdCh0aGlzLmZpbGVzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjYW5DYW5jZWxVcGxvYWRpbmcoZmlsZTogSW5wdXRGaWxlTW9kZWwpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIWZpbGUudXBsb2FkaW5nICYmIGZpbGUucGVyY2VudGFnZSA/IGZpbGUucGVyY2VudGFnZSA8IDkwIDogISFmaWxlLnVwbG9hZGluZztcclxuICB9XHJcblxyXG4gIGNsZWFyKGZpbGU6IElucHV0RmlsZU1vZGVsKTogdm9pZCB7XHJcbiAgICBpZiAoZmlsZS51cGxvYWRpbmcpIHtcclxuICAgICAgaWYgKGZpbGUuZXhlY3V0aW9uKSB7XHJcbiAgICAgICAgZmlsZS5leGVjdXRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZpbmRGaWxlSWR4ID0gdGhpcy5maWxlcy5pbmRleE9mKGZpbGUpO1xyXG4gICAgaWYgKGZpbmRGaWxlSWR4ID49IDApIHtcclxuICAgICAgdGhpcy5maWxlcy5zcGxpY2UoZmluZEZpbGVJZHgsIDEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZG93bmxvYWRVcmwoZmlsZTogVXBsb2FkZWRGaWxlTW9kZWwpOiBzdHJpbmcge1xyXG4gICAgaWYgKGZpbGUudXJsKSB7XHJcbiAgICAgIHJldHVybiBmaWxlLnVybDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLmRvd25sb2FkRW5kUG9pbnQpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhpcy5kb3dubG9hZEVuZFBvaW50fT91dWlkPSR7ZmlsZS51dWlkfWA7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRoaXMubm90Rm91bmRJbWFnZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBkcm9wcGVkKGZpbGVzOiBOZ3hGaWxlRHJvcEVudHJ5W10pIHtcclxuICAgIGNvbnN0IGRyb3BwZWRGaWxlID0gZmlsZXNbMF1cclxuXHJcbiAgICBpZiAoZHJvcHBlZEZpbGUuZmlsZUVudHJ5LmlzRmlsZSkge1xyXG4gICAgICBjb25zdCBmaWxlRW50cnkgPSBkcm9wcGVkRmlsZS5maWxlRW50cnkgYXMgRmlsZVN5c3RlbUZpbGVFbnRyeTtcclxuXHJcbiAgICAgIGZpbGVFbnRyeS5maWxlKChmaWxlOiBGaWxlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fbW9kYWxTZXJ2aWNlLm9wZW4oRmlsZUltYWdlRWRpdE1vZGFsQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICB0aXRsZTogJ9Ce0LHQu9C+0LbQutCwJyxcclxuICAgICAgICAgIGZpbGVJbWFnZTogZmlsZSxcclxuICAgICAgICAgIGNyb3BwZXJNYXhXaWR0aDogdGhpcy5jcm9wcGVyTWF4V2lkdGgsXHJcbiAgICAgICAgICBjcm9wcGVyTWF4SGVpZ2h0OiB0aGlzLmNyb3BwZXJNYXhIZWlnaHQsXHJcbiAgICAgICAgICBhc3BlY3RSYXRpbzogdGhpcy5hc3BlY3RSYXRpb1xyXG4gICAgICAgIH0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMucmVzdWx0KSB7XHJcbiAgICAgICAgICAgIHRoaXMudXBsb2FkRmlsZShyZXMuZmlsZUltYWdlLCByZXMuZmlsZVVybCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBJdCB3YXMgYSBkaXJlY3RvcnkgKGVtcHR5IGRpcmVjdG9yaWVzIGFyZSBhZGRlZCwgb3RoZXJ3aXNlIG9ubHkgZmlsZXMpXHJcbiAgICAgIGNvbnN0IGZpbGVFbnRyeSA9IGRyb3BwZWRGaWxlLmZpbGVFbnRyeSBhcyBGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hhbmdlUHJldmlldyhldmVudDogYW55LCBmaWxlOiBVcGxvYWRlZEZpbGVNb2RlbCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcclxuXHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLmRvd25sb2FkVXJsKGZpbGUpXHJcblxyXG4gICAgZ2V0QmFzZTY0RnJvbVVybCh1cmwpLnRoZW4oKGJhc2U2NFVybDogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuX21vZGFsU2VydmljZS5vcGVuKEZpbGVJbWFnZUVkaXRNb2RhbENvbXBvbmVudCwge1xyXG4gICAgICAgIHRpdGxlOiAn0J7QsdC70L7QttC60LAnLFxyXG4gICAgICAgIGZpbGVJbWFnZTogY29udmVydEJhc2U2NFRvRmlsZShiYXNlNjRVcmwsIGZpbGUubmFtZSB8fCAnJywgJ2ltYWdlL3BuZycpLFxyXG4gICAgICAgIGNyb3BwZXJNYXhXaWR0aDogdGhpcy5jcm9wcGVyTWF4V2lkdGgsXHJcbiAgICAgICAgY3JvcHBlck1heEhlaWdodDogdGhpcy5jcm9wcGVyTWF4SGVpZ2h0LFxyXG4gICAgICAgIGFzcGVjdFJhdGlvOiB0aGlzLmFzcGVjdFJhdGlvXHJcbiAgICAgIH0pXHJcbiAgICAgICAgLmFmdGVyQ2xvc2VkKClcclxuICAgICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMucmVzdWx0KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpbmRGaWxlID0gdGhpcy5maWxlcy5maW5kKHMgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChzLnV1aWQgIT09ICcnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcy51dWlkID09PSBmaWxlLnV1aWRcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHMudGVtcFV1aWQgPT09IGZpbGUudGVtcFV1aWRcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgaWYgKGZpbmRGaWxlKSB7XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMuZGVsZXRlRW5kUG9pbnQpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGZvcm1EYXRhID0gdGhpcy5jcmVhdGVGb3JtRGF0YSgpO1xyXG4gICAgICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdRcXV1aWQnLCBmaWxlLnV1aWQpO1xyXG4gICAgICAgICAgICAgICAgZmluZEZpbGUuZGVsZXRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuaW1hZ2VVcGxvYWRTZXJ2aWNlLmRlbGV0ZSh0aGlzLmRlbGV0ZUVuZFBvaW50LCBmb3JtRGF0YSkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZXMuc3BsaWNlKHRoaXMuZmlsZXMuaW5kZXhPZihmaW5kRmlsZSksIDEpO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmZpbGVzQ2hhbmdlZC5lbWl0KHRoaXMuZmlsZXMpO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZEZpbGUocmVzLmZpbGVJbWFnZSwgcmVzLmZpbGVVcmwpXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudXBsb2FkRmlsZShyZXMuZmlsZUltYWdlLCByZXMuZmlsZVVybCwgdGhpcy5maWxlcy5pbmRleE9mKGZpbmRGaWxlKSwgJ3VwZGF0ZScpXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZmlsZU92ZXIoZXZlbnQ6IGFueSkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGZpbGVMZWF2ZShldmVudDogYW55KSB7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvcm1EYXRhS2V5cygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5mb3JtRGF0YSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUZvcm1EYXRhKCk6IEZvcm1EYXRhIHtcclxuICAgIGNvbnN0IGZvcm0gPSBuZXcgRm9ybURhdGEoKTtcclxuICAgIGlmICh0aGlzLm1heEZpbGVzKSB7XHJcbiAgICAgIGZvcm0uYXBwZW5kKCdNYXhGaWxlcycsIHRoaXMubWF4RmlsZXMudG9TdHJpbmcoMTApKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGtleXMgPSB0aGlzLmZvcm1EYXRhS2V5cygpO1xyXG4gICAga2V5cy5mb3JFYWNoKGtleSA9PiBmb3JtLmFwcGVuZChrZXksIHRoaXMuZm9ybURhdGFba2V5XSkpO1xyXG4gICAgcmV0dXJuIGZvcm07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwbG9hZEZpbGUoZmlsZTogRmlsZSwgdXJsSW1hZ2U/OiBzdHJpbmcsIGlkeEZpbGU6IG51bWJlciA9IDAsIGV2ZW50VHlwZTogJ2NyZWF0ZScgfCAndXBkYXRlJyA9ICdjcmVhdGUnKSB7XHJcbiAgICBjb25zdCBkYXRhID0ge1xyXG4gICAgICB1dWlkOiAnJyxcclxuICAgICAgdGVtcFV1aWQ6IHV1aWR2NCgpLFxyXG4gICAgICBuYW1lOiBmaWxlLm5hbWUsXHJcbiAgICAgIHNpemU6IGZpbGUuc2l6ZSxcclxuICAgICAgdXBsb2FkaW5nOiB0cnVlLFxyXG4gICAgICBwZXJjZW50YWdlOiAwLFxyXG4gICAgICBmaWxlOiBmaWxlLFxyXG4gICAgICB1cmw6IHVybEltYWdlXHJcbiAgICB9IGFzIElucHV0RmlsZU1vZGVsO1xyXG5cclxuICAgIGlmICghdGhpcy5jaGVja0ZvclVwbG9hZChkYXRhLCBpZHhGaWxlLCBldmVudFR5cGUpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBmb3JtRGF0YSA9IHRoaXMuY3JlYXRlRm9ybURhdGEoKTtcclxuICAgIGZvcm1EYXRhLmFwcGVuZCgnRmlsZScsIGZpbGUpO1xyXG5cclxuICAgIGRhdGEuZXhlY3V0aW9uID0gdGhpcy5pbWFnZVVwbG9hZFNlcnZpY2UudXBsb2FkKHRoaXMudXBsb2FkRW5kUG9pbnQsIGZvcm1EYXRhKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBkYXRhLnVwbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHJldHVybiBFTVBUWTtcclxuICAgICAgfSlcclxuICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEh0dHBFdmVudDxVcGxvYWRlZFJlc3VsdE1vZGVsPikgPT4ge1xyXG4gICAgICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xyXG4gICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlNlbnQ6XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlSGVhZGVyOlxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzczpcclxuICAgICAgICAgICAgaWYgKGV2ZW50LnRvdGFsKSB7XHJcbiAgICAgICAgICAgICAgZGF0YS5wZXJjZW50YWdlID0gTWF0aC5yb3VuZChldmVudC5sb2FkZWQgLyBldmVudC50b3RhbCAqIDEwMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIEh0dHBFdmVudFR5cGUuUmVzcG9uc2U6XHJcbiAgICAgICAgICAgIGlmKGV2ZW50LmJvZHkpIHtcclxuICAgICAgICAgICAgICBkYXRhLnVwbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIGRhdGEucGVyY2VudGFnZSA9IDA7XHJcbiAgICAgICAgICAgICAgZGF0YS51dWlkID0gZXZlbnQuYm9keS51dWlkO1xyXG4gICAgICAgICAgICAgIGRhdGEuZmlsZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICBkYXRhLmVycm9yID0gZXZlbnQuYm9keS5tZXNzYWdlO1xyXG5cclxuICAgICAgICAgICAgICBpZiAoZGF0YS5leGVjdXRpb24pIHtcclxuICAgICAgICAgICAgICAgIGRhdGEuZXhlY3V0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGlmICh0aGlzLmZpbGVzLmV2ZXJ5KHMgPT4gIXMudXBsb2FkaW5nKSkge1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuZmlsZXNDaGFuZ2VkLmVtaXQodGhpcy5maWxlcyk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hlY2tGb3JVcGxvYWQoZGF0YTogSW5wdXRGaWxlTW9kZWwsIGlkeEZpbGU6IG51bWJlciA9IDAsIGV2ZW50VHlwZT86ICdjcmVhdGUnIHwgJ3VwZGF0ZScpOiBib29sZWFuIHtcclxuICAgIGlmIChldmVudFR5cGUgPT09ICd1cGRhdGUnKSB7XHJcbiAgICAgIHRoaXMuZmlsZXMuc3BsaWNlKGlkeEZpbGUsIDEsIGRhdGEpXHJcbiAgICAgIHRoaXMuZmlsZXNDaGFuZ2VkLmVtaXQodGhpcy5maWxlcyk7XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2F2YXRhcicpIHtcclxuICAgICAgdGhpcy5maWxlcy5sZW5ndGggPSAwXHJcbiAgICAgIHRoaXMuZmlsZXMucHVzaChkYXRhKTtcclxuICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuY2FuQWRkKSB7XHJcbiAgICAgIGRhdGEuZXJyb3IgPSAn0KHQu9C40YjQutC+0Lwg0LzQvdC+0LPQviDRhNCw0LnQu9C+0LInO1xyXG4gICAgICBkYXRhLnVwbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmZpbGVzLnB1c2goZGF0YSk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZpbGVzLnB1c2goZGF0YSk7XHJcblxyXG4gICAgaWYgKGRhdGEuZmlsZSAmJiBkYXRhLmZpbGUuc2l6ZSA+IHRoaXMubWF4U2l6ZSkge1xyXG4gICAgICBkYXRhLmVycm9yID0gJ9Ch0LvQuNGI0LrQvtC8INCx0L7Qu9GM0YjQvtC5INGE0LDQudC7JztcclxuICAgICAgZGF0YS51cGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKGRhdGEuZmlsZSAmJiBkYXRhLmZpbGUuc2l6ZSA9PSAwKSB7XHJcbiAgICAgIGRhdGEuZXJyb3IgPSAn0J/Rg9GB0YLQvtC5INGE0LDQudC7JztcclxuICAgICAgZGF0YS51cGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuYWxsb3dlZEV4dGVuc2lvbnMubGVuZ3RoID4gMCAmJiAhdGhpcy5hbGxvd2VkRXh0ZW5zaW9ucy5zb21lKFxyXG4gICAgICBzID0+IGRhdGEuZmlsZT8ubmFtZS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKHMudG9Mb3dlckNhc2UoKSkpKSB7XHJcblxyXG4gICAgICBkYXRhLmVycm9yID0gJ9Cd0LXQstC10YDQvdGL0Lkg0YTQvtGA0LzQsNGCINGE0LDQudC70LAnO1xyXG4gICAgICBkYXRhLnVwbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlXCIgW2NsYXNzXT1cImdldENsYXNzZXNcIj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09ICdkZWZhdWx0J1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlubmVyVGVtcGxhdGU7IGNvbnRleHQ6e31cIj48L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bmd4LWZpbGUtZHJvcCAqbmdJZj1cImNhbkFkZFwiIChvbkZpbGVEcm9wKT1cImRyb3BwZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICBbY2xhc3NOYW1lXT1cImdldERyb3Bab25lQ2xhc3Nlc1wiXHJcbiAgICAgICAgICAgICAgICAgICBbYWNjZXB0XT1cImV4dGVuc2lvbnMgfHwgJydcIlxyXG4gICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgICAgIChvbkZpbGVPdmVyKT1cImZpbGVPdmVyKCRldmVudClcIiAob25GaWxlTGVhdmUpPVwiZmlsZUxlYXZlKCRldmVudClcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlIG5neC1maWxlLWRyb3AtY29udGVudC10bXAgbGV0LW9wZW5GaWxlU2VsZWN0b3I9XCJvcGVuRmlsZVNlbGVjdG9yXCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cIm5nLWN1c3RvbS1maWxlLWlucHV0LWNvbnRlbnRcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiIWRpc2FibGVkID8gb3BlbkZpbGVTZWxlY3RvcigpIDogdW5kZWZpbmVkXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPHNwYW4+e3twbGFjZWhvbGRlciB8fCBnZXREZWZhdWx0UGxhY2Vob2xkZXJ9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGJyLz5cclxuICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJmb250LXNpemU6IDEycHhcIj7QoNCw0LfQvNC10YAg0YTQsNC50LvQsDog0LTQviB7e2Zvcm1hdEJ5dGVzKG1heFNpemUpfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxici8+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZXh0ZW5zaW9uc1wiIHN0eWxlPVwiZm9udC1zaXplOiAxMnB4XCI+0KTQvtGA0LzQsNGCINGE0LDQudC70LA6IHt7ZXh0ZW5zaW9uc319PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L25neC1maWxlLWRyb3A+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLXByZXZpZXdcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLTEyIGNvbC1zbS02IGNvbC1tZC00IGNvbC1sZy0zXCIgKm5nRm9yPVwibGV0IGZpbGUgb2YgZmlsZXNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1wcmV2aWV3X19pdGVtIHAtM1wiIFtjbGFzcy5tcngtaW5wdXQtZmlsZS1pbWFnZS1lcnJvcl09XCJmaWxlLmVycm9yXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWxlLmVycm9yXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWNsb3NlIGljb24tZm9udC0yNFwiIChjbGljayk9XCJkZWxldGUoJGV2ZW50LCBmaWxlKVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtcHJldmlld19faXRlbS0tZXJyb3IgcC0yXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pY29uIGljb24taW1hZ2UgaWNvbi1mb250LTI0IGljb24tZmlsbGVkLWNvbG9yLW5lZ2F0aXZlIG1iLTJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICB7eyBmaWxlLmVycm9yIH19XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1wcmV2aWV3X19pdGVtLS1uYW1lIG1iLTJcIj5cclxuICAgICAgICAgICAgICAgIHt7IGZpbGUubmFtZSB9fVxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLXByZXZpZXdfX2l0ZW0tLWRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBmb3JtYXRCeXRlcyhmaWxlLnNpemUpIH19XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWxlLnVwbG9hZGluZyAmJiAhZmlsZS5lcnJvclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1wcmV2aWV3X19pdGVtLS11cGxvYWRpbmcgcC0yXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1iLTJcIj7Ql9Cw0LPRgNGD0LfQutCwLi4uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLXByZXZpZXdfX2l0ZW0tLXVwbG9hZGluZy1wcm9ncmVzc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBbbmdTdHlsZV09XCJ7d2lkdGg6IGZpbGUucGVyY2VudGFnZSArICclJ31cIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWZpbGUudXBsb2FkaW5nICYmICFmaWxlLmVycm9yXCI+XHJcbiAgICAgICAgICAgICAgPGltZyBjbGFzcz1cIm1iLTJcIiBbc3JjXT1cImZpbGUudXJsIHx8IGRvd25sb2FkVXJsKGZpbGUpXCIgW2FsdF09XCJmaWxlLm5hbWVcIj5cclxuXHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1wcmV2aWV3X19pdGVtLS1uYW1lIG1iLTJcIj5cclxuICAgICAgICAgICAgICAgIHt7IGZpbGUubmFtZSB9fVxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLXByZXZpZXdfX2l0ZW0tLWRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBmb3JtYXRCeXRlcyhmaWxlLnNpemUpIH19XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2VfX2NvbnRyb2xzXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2VfX2NvbnRyb2xzLWl0ZW1cIiAoY2xpY2spPVwiY2hhbmdlUHJldmlldygkZXZlbnQsIGZpbGUpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1wZW4gaWNvbi1mb250LTE2XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2VfX2NvbnRyb2xzLWl0ZW1cIiAoY2xpY2spPVwiZGVsZXRlKCRldmVudCwgZmlsZSlcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWRlbGV0ZSBpY29uLWZvbnQtMTZcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09ICdhdmF0YXInXCI+XHJcbiAgICA8bmd4LWZpbGUtZHJvcCAob25GaWxlRHJvcCk9XCJkcm9wcGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgW2NsYXNzTmFtZV09XCJnZXREcm9wWm9uZUNsYXNzZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgW2FjY2VwdF09XCJleHRlbnNpb25zIHx8ICcnXCJcclxuICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAob25GaWxlT3Zlcik9XCJmaWxlT3ZlcigkZXZlbnQpXCIgKG9uRmlsZUxlYXZlKT1cImZpbGVMZWF2ZSgkZXZlbnQpXCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBuZ3gtZmlsZS1kcm9wLWNvbnRlbnQtdG1wIGxldC1vcGVuRmlsZVNlbGVjdG9yPVwib3BlbkZpbGVTZWxlY3RvclwiPlxyXG5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICpuZ0lmPVwiIWZpbGVzLmxlbmd0aDsgZWxzZSBhdmF0YXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwibmctY3VzdG9tLWZpbGUtaW5wdXQtY29udGVudFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy5tcngtaW5wdXQtZmlsZS1pbWFnZV9fZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgKGNsaWNrKT1cIiFkaXNhYmxlZCA/IG9wZW5GaWxlU2VsZWN0b3IoKSA6IHVuZGVmaW5lZFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7cGxhY2Vob2xkZXIgfHwgZ2V0RGVmYXVsdFBsYWNlaG9sZGVyfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxici8+XHJcbiAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiZm9udC1zaXplOiAxMnB4XCI+0KDQsNC30LzQtdGAINGE0LDQudC70LA6INC00L4ge3tmb3JtYXRCeXRlcyhtYXhTaXplKX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8YnIvPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImV4dGVuc2lvbnNcIiBzdHlsZT1cImZvbnQtc2l6ZTogMTJweFwiPtCk0L7RgNC80LDRgiDRhNCw0LnQu9CwOiB7e2V4dGVuc2lvbnN9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2F2YXRhclRlbXBsYXRlPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLWF2YXRhclwiIChjbGljayk9XCJvcGVuRmlsZVNlbGVjdG9yKClcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZmlsZSBvZiBmaWxlc1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1hdmF0YXJfX2l0ZW1cIiBbY2xhc3MubXJ4LWlucHV0LWZpbGUtaW1hZ2UtZXJyb3JdPVwiZmlsZS5lcnJvclwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbGUuZXJyb3JcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWNsb3NlIGljb24tZm9udC0yNFwiIChjbGljayk9XCJkZWxldGUoJGV2ZW50LCBmaWxlKVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLWF2YXRhcl9faXRlbS0tZXJyb3IgcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWltYWdlIGljb24tZm9udC0yNCBpY29uLWZpbGxlZC1jb2xvci1uZWdhdGl2ZSBtYi0yXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IGZpbGUuZXJyb3IgfX1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsZS51cGxvYWRpbmcgJiYgIWZpbGUuZXJyb3JcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLWF2YXRhcl9faXRlbS0tdXBsb2FkaW5nIHAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWItMlwiPtCX0LDQs9GA0YPQt9C60LAuLi48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLWF2YXRhcl9faXRlbS0tdXBsb2FkaW5nLXByb2dyZXNzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbbmdTdHlsZV09XCJ7d2lkdGg6IGZpbGUucGVyY2VudGFnZSArICclJ31cIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFmaWxlLnVwbG9hZGluZyAmJiAhZmlsZS5lcnJvclwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiZmlsZS51cmwgfHwgZG93bmxvYWRVcmwoZmlsZSlcIiBbYWx0XT1cImZpbGUubmFtZVwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlX19jb250cm9sc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZV9fY29udHJvbHMtaXRlbVwiIChjbGljayk9XCJjaGFuZ2VQcmV2aWV3KCRldmVudCwgZmlsZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1wZW4gaWNvbi1mb250LTE2XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZV9fY29udHJvbHMtaXRlbVwiIChjbGljayk9XCJkZWxldGUoJGV2ZW50LCBmaWxlKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWRlbGV0ZSBpY29uLWZvbnQtMTZcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L25neC1maWxlLWRyb3A+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
360
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZS1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9pbnB1dC1maWxlLWltYWdlL2lucHV0LWZpbGUtaW1hZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQtZmlsZS1pbWFnZS9pbnB1dC1maWxlLWltYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJdkcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3JILE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBYSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUNqSCxPQUFPLEVBQUUsc0JBQXNCLEVBQTJCLE1BQU0seUJBQXlCLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7QUFVdEQsTUFBTSxPQUFPLHVCQUF1QjtJQTBEeEI7SUFDQTtJQXpEVixXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQzFCLFVBQVUsQ0FBVTtJQUNwQixpQkFBaUIsR0FBYSxFQUFFLENBQUM7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QkFBNUIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxlQUFlO3NCQUE5QixLQUFLO2dCQUNVLGdCQUFnQjtzQkFBL0IsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxjQUFjO3NCQUE3QixLQUFLO2dCQUNVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBQ1UsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUNVLG1CQUFtQjtzQkFBbEMsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBR0YsU0FBUztzQkFEWixLQUFLO3VCQUFDLE9BQU87Z0JBY0gscUJBQXFCO3NCQUQvQixLQUFLO3VCQUFDLG1CQUFtQjtnQkFZVCxZQUFZO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbnB1dEZpbGVNb2RlbCwgVXBsb2FkZWRGaWxlTW9kZWwsIFVwbG9hZGVkUmVzdWx0TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaW5wdXQtZmlsZS9pbnB1dC1maWxlLm1vZGVsJztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmlsZVN5c3RlbUZpbGVFbnRyeSwgTmd4RmlsZURyb3BFbnRyeSB9IGZyb20gJ25neC1maWxlLWRyb3AnO1xyXG5pbXBvcnQgeyBjb252ZXJ0QmFzZTY0VG9GaWxlLCBmb3JtYXRCeXRlcywgZ2V0QmFzZTY0RnJvbVVybCB9IGZyb20gJy4uLy4uLy4uL2hlbHBlcnMvZXh0ZW5zaW9uL2lucHV0LWZpbGUuZXh0ZW5zaW9uJztcclxuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEVNUFRZIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEV2ZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgRmlsZUltYWdlRWRpdE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtaW1hZ2UtZWRpdC1tb2RhbC9maWxlLWltYWdlLWVkaXQtbW9kYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5wdXRGaWxlSW1hZ2VUeXBlRW51bSwgSW5wdXRGaWxlSW1hZ2VUeXBlVHlwZXMgfSBmcm9tICcuL2lucHV0LWZpbGUtaW1hZ2UuZW51bSc7XHJcbmltcG9ydCB7IFByZXZpZXdFbnVtIH0gZnJvbSAnLi9pbnB1dC1maWxlLWltYWdlLmVudW0nO1xyXG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1pbnB1dC1maWxlLWltYWdlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtZmlsZS1pbWFnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtZmlsZS1pbWFnZS5jb21wb25lbnQubGVzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgSW5wdXRGaWxlSW1hZ2VDb21wb25lbnQge1xyXG5cclxuICBmb3JtYXRCeXRlcyA9IGZvcm1hdEJ5dGVzO1xyXG4gIGV4dGVuc2lvbnM/OiBzdHJpbmc7XHJcbiAgYWxsb3dlZEV4dGVuc2lvbnM6IHN0cmluZ1tdID0gW107XHJcbiAgZmlsZXM6IElucHV0RmlsZU1vZGVsW10gPSBbXTtcclxuICBub3RGb3VuZEltYWdlID0gUHJldmlld0VudW0ubm90Rm91bmRJbWFnZTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIHR5cGU6IElucHV0RmlsZUltYWdlVHlwZVR5cGVzID0gJ2RlZmF1bHQnO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgcHJldmlldyA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21DbGFzc2VzID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIHJlcXVpcmVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGxpZ2h0RGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgbWF4U2l6ZSA9IDMxNDU3MjgwO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtYXhGaWxlcyA9IDU7XHJcbiAgQElucHV0KCkgcHVibGljIG1pbkZpbGVzID0gMDtcclxuICBASW5wdXQoKSBwdWJsaWMgY3JvcHBlck1heFdpZHRoID0gMDtcclxuICBASW5wdXQoKSBwdWJsaWMgY3JvcHBlck1heEhlaWdodCA9IDA7XHJcbiAgQElucHV0KCkgcHVibGljIGFzcGVjdFJhdGlvID0gMSAvIDE7XHJcbiAgQElucHV0KCkgcHVibGljIGZvcm1EYXRhOiBhbnkgPSB7fTsgICAvLyDQn9Cw0YDQsNC80LXRgtGA0YssINC60L7RgtC+0YDRi9C1INCx0YPQtNGD0YIg0L/QtdGA0LXQtNCw0LLQsNGC0YzRgdGPINCyINGE0L7RgNC80LVcclxuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcHVibGljIHVwbG9hZEVuZFBvaW50ITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkZWxldGVFbmRQb2ludD86IHN0cmluZztcclxuICBASW5wdXQoKSBwdWJsaWMgZG93bmxvYWRFbmRQb2ludD86IHN0cmluZztcclxuICBASW5wdXQoKSBwdWJsaWMgZmlsZU5hbWVQbGFjZWhvbGRlcj86IHN0cmluZztcclxuICBASW5wdXQoKSBwdWJsaWMgZGVsZXRlQ29uZmlybT86IChmaWxlOiBVcGxvYWRlZEZpbGVNb2RlbCwgcmVzdWx0OiAob2s6IGJvb2xlYW4pID0+IHZvaWQpID0+IHZvaWQ7XHJcbiAgQElucHV0KCkgcHVibGljIGlubmVyVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBASW5wdXQoJ2ZpbGVzJylcclxuICBzZXQgaW5pdEZpbGVzKGRhdGE6IFVwbG9hZGVkRmlsZU1vZGVsW10gfCBVcGxvYWRlZEZpbGVNb2RlbCkge1xyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcclxuICAgICAgICB0aGlzLmZpbGVzID0gZGF0YS5tYXAocyA9PiAoey4uLnN9KSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5maWxlcyA9IFt7Li4uZGF0YX1dO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZpbGVzID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoJ2FsbG93ZWRFeHRlbnNpb25zJylcclxuICBwdWJsaWMgc2V0IGluaXRBbGxvd2VkRXh0ZW5zaW9ucyh2YWw6IHN0cmluZ1tdKSB7XHJcbiAgICBpZiAodmFsKSB7XHJcbiAgICAgIHRoaXMuYWxsb3dlZEV4dGVuc2lvbnMgPSB2YWw7XHJcbiAgICAgIHRoaXMuZXh0ZW5zaW9ucyA9IHZhbC5qb2luKCcsICcpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hbGxvd2VkRXh0ZW5zaW9ucyA9IFtdO1xyXG4gICAgICB0aGlzLmV4dGVuc2lvbnMgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBAT3V0cHV0KCkgcHVibGljIHVwbG9hZENvbXBsZXRlOiBFdmVudEVtaXR0ZXI8SW5wdXRGaWxlTW9kZWxbXT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBmaWxlc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxJbnB1dEZpbGVNb2RlbFtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGltYWdlVXBsb2FkU2VydmljZTogRmlsZVVwbG9hZFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9tb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXREZWZhdWx0UGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnR5cGUgPT09ICdhdmF0YXInID8gJ9CX0LDQs9GA0YPQt9C40YLQtSDRhNC+0YLQvtCz0YDQsNGE0LjRjicgOiAn0J/QtdGA0LXQvdC10YHQuNGC0LUg0YTQsNC50Lsg0YEg0YPRgdGC0YDQvtC50YHRgtCy0LAg0LjQu9C4INC90LDQttC80LjRgtC1INC90LAg0LTQsNC90L3QvtC1INC/0L7Qu9C1INC00LvRjyDQtNC+0LHQsNCy0LvQtdC90LjRjyDRhNCw0LnQu9CwJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Q2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke0lucHV0RmlsZUltYWdlVHlwZUVudW1bdGhpcy50eXBlXX0gJHt0aGlzLmN1c3RvbUNsYXNzZXN9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0RHJvcFpvbmVDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYG1yeC1pbnB1dC1maWxlLWltYWdlLWRyb3AgJHt0aGlzLmRpc2FibGVkID8gJ21yeC1pbnB1dC1maWxlLWltYWdlLWRyb3AtZGlzYWJsZWQnIDogJyd9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY2FuQWRkKCkge1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2F2YXRhcicpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZmlsZXMubGVuZ3RoIDwgMTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1heEZpbGVzID4gdGhpcy5maWxlcy5maWx0ZXIocyA9PiAhcy5lcnJvcikubGVuZ3RoO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IElucHV0RmlsZU1vZGVsKSB7XHJcbiAgICByZXR1cm4gQm9vbGVhbihpdGVtLnV1aWQpID8gaXRlbS51dWlkIDogaXRlbS50ZW1wVXVpZDtcclxuICB9XHJcblxyXG4gIGRlbGV0ZShldmVudDogYW55LCBmaWxlOiBVcGxvYWRlZEZpbGVNb2RlbCk6IHZvaWQge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuZGVsZXRlQ29uZmlybSkge1xyXG4gICAgICB0aGlzLmRlbGV0ZUNvbmZpcm0oZmlsZSwgKG9rKSA9PiB7XHJcbiAgICAgICAgaWYgKG9rKSB7XHJcbiAgICAgICAgICBjb25zdCBmaW5kRmlsZSA9IHRoaXMuZmlsZXMuZmluZChzID0+IHMudXVpZCA9PT0gZmlsZS51dWlkKTtcclxuICAgICAgICAgIGlmIChmaW5kRmlsZSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5kZWxldGVFbmRQb2ludCkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGZvcm1EYXRhID0gdGhpcy5jcmVhdGVGb3JtRGF0YSgpO1xyXG4gICAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnUXF1dWlkJywgZmlsZS51dWlkKTtcclxuICAgICAgICAgICAgICBmaW5kRmlsZS5kZWxldGluZyA9IHRydWU7XHJcblxyXG4gICAgICAgICAgICAgIHRoaXMuaW1hZ2VVcGxvYWRTZXJ2aWNlLmRlbGV0ZSh0aGlzLmRlbGV0ZUVuZFBvaW50LCBmb3JtRGF0YSkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpbGVzLnNwbGljZSh0aGlzLmZpbGVzLmluZGV4T2YoZmluZEZpbGUpLCAxKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmlsZXNDaGFuZ2VkLmVtaXQodGhpcy5maWxlcyk7XHJcbiAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuZmlsZXMuc3BsaWNlKHRoaXMuZmlsZXMuaW5kZXhPZihmaW5kRmlsZSksIDEpO1xyXG4gICAgICAgICAgICAgIHRoaXMuZmlsZXNDaGFuZ2VkLmVtaXQodGhpcy5maWxlcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2FuQ2FuY2VsVXBsb2FkaW5nKGZpbGU6IElucHV0RmlsZU1vZGVsKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISFmaWxlLnVwbG9hZGluZyAmJiBmaWxlLnBlcmNlbnRhZ2UgPyBmaWxlLnBlcmNlbnRhZ2UgPCA5MCA6ICEhZmlsZS51cGxvYWRpbmc7XHJcbiAgfVxyXG5cclxuICBjbGVhcihmaWxlOiBJbnB1dEZpbGVNb2RlbCk6IHZvaWQge1xyXG4gICAgaWYgKGZpbGUudXBsb2FkaW5nKSB7XHJcbiAgICAgIGlmIChmaWxlLmV4ZWN1dGlvbikge1xyXG4gICAgICAgIGZpbGUuZXhlY3V0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBmaW5kRmlsZUlkeCA9IHRoaXMuZmlsZXMuaW5kZXhPZihmaWxlKTtcclxuICAgIGlmIChmaW5kRmlsZUlkeCA+PSAwKSB7XHJcbiAgICAgIHRoaXMuZmlsZXMuc3BsaWNlKGZpbmRGaWxlSWR4LCAxKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRvd25sb2FkVXJsKGZpbGU6IFVwbG9hZGVkRmlsZU1vZGVsKTogc3RyaW5nIHtcclxuICAgIGlmIChmaWxlLnVybCkge1xyXG4gICAgICByZXR1cm4gZmlsZS51cmw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5kb3dubG9hZEVuZFBvaW50KSB7XHJcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuZG93bmxvYWRFbmRQb2ludH0/dXVpZD0ke2ZpbGUudXVpZH1gO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLm5vdEZvdW5kSW1hZ2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZHJvcHBlZChmaWxlczogTmd4RmlsZURyb3BFbnRyeVtdKSB7XHJcbiAgICBjb25zdCBkcm9wcGVkRmlsZSA9IGZpbGVzWzBdO1xyXG5cclxuICAgIGlmIChkcm9wcGVkRmlsZS5maWxlRW50cnkuaXNGaWxlKSB7XHJcbiAgICAgIGNvbnN0IGZpbGVFbnRyeSA9IGRyb3BwZWRGaWxlLmZpbGVFbnRyeSBhcyBGaWxlU3lzdGVtRmlsZUVudHJ5O1xyXG5cclxuICAgICAgZmlsZUVudHJ5LmZpbGUoKGZpbGU6IEZpbGUpID0+IHtcclxuICAgICAgICB0aGlzLl9tb2RhbFNlcnZpY2Uub3BlbihGaWxlSW1hZ2VFZGl0TW9kYWxDb21wb25lbnQsIHtcclxuICAgICAgICAgIHRpdGxlOiAn0J7QsdC70L7QttC60LAnLFxyXG4gICAgICAgICAgZmlsZUltYWdlOiBmaWxlLFxyXG4gICAgICAgICAgY3JvcHBlck1heFdpZHRoOiB0aGlzLmNyb3BwZXJNYXhXaWR0aCxcclxuICAgICAgICAgIGNyb3BwZXJNYXhIZWlnaHQ6IHRoaXMuY3JvcHBlck1heEhlaWdodCxcclxuICAgICAgICAgIGFzcGVjdFJhdGlvOiB0aGlzLmFzcGVjdFJhdGlvXHJcbiAgICAgICAgfSkuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcy5yZXN1bHQpIHtcclxuICAgICAgICAgICAgdGhpcy51cGxvYWRGaWxlKHJlcy5maWxlSW1hZ2UsIHJlcy5maWxlVXJsKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBJdCB3YXMgYSBkaXJlY3RvcnkgKGVtcHR5IGRpcmVjdG9yaWVzIGFyZSBhZGRlZCwgb3RoZXJ3aXNlIG9ubHkgZmlsZXMpXHJcbiAgICAgIGNvbnN0IGZpbGVFbnRyeSA9IGRyb3BwZWRGaWxlLmZpbGVFbnRyeSBhcyBGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hhbmdlUHJldmlldyhldmVudDogYW55LCBmaWxlOiBVcGxvYWRlZEZpbGVNb2RlbCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgY29uc3QgdXJsID0gdGhpcy5kb3dubG9hZFVybChmaWxlKTtcclxuXHJcbiAgICBnZXRCYXNlNjRGcm9tVXJsKHVybCkudGhlbigoYmFzZTY0VXJsOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5fbW9kYWxTZXJ2aWNlLm9wZW4oRmlsZUltYWdlRWRpdE1vZGFsQ29tcG9uZW50LCB7XHJcbiAgICAgICAgdGl0bGU6ICfQntCx0LvQvtC20LrQsCcsXHJcbiAgICAgICAgZmlsZUltYWdlOiBjb252ZXJ0QmFzZTY0VG9GaWxlKGJhc2U2NFVybCwgZmlsZS5uYW1lIHx8ICcnLCAnaW1hZ2UvcG5nJyksXHJcbiAgICAgICAgY3JvcHBlck1heFdpZHRoOiB0aGlzLmNyb3BwZXJNYXhXaWR0aCxcclxuICAgICAgICBjcm9wcGVyTWF4SGVpZ2h0OiB0aGlzLmNyb3BwZXJNYXhIZWlnaHQsXHJcbiAgICAgICAgYXNwZWN0UmF0aW86IHRoaXMuYXNwZWN0UmF0aW9cclxuICAgICAgfSlcclxuICAgICAgICAuYWZ0ZXJDbG9zZWQoKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcy5yZXN1bHQpIHtcclxuICAgICAgICAgICAgY29uc3QgZmluZEZpbGUgPSB0aGlzLmZpbGVzLmZpbmQocyA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHMudXVpZCAhPT0gJycpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBzLnV1aWQgPT09IGZpbGUudXVpZDtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHMudGVtcFV1aWQgPT09IGZpbGUudGVtcFV1aWQ7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIGlmIChmaW5kRmlsZSkge1xyXG4gICAgICAgICAgICAgIGlmICh0aGlzLmRlbGV0ZUVuZFBvaW50KSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmb3JtRGF0YSA9IHRoaXMuY3JlYXRlRm9ybURhdGEoKTtcclxuICAgICAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnUXF1dWlkJywgZmlsZS51dWlkKTtcclxuICAgICAgICAgICAgICAgIGZpbmRGaWxlLmRlbGV0aW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmltYWdlVXBsb2FkU2VydmljZS5kZWxldGUodGhpcy5kZWxldGVFbmRQb2ludCwgZm9ybURhdGEpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmZpbGVzLnNwbGljZSh0aGlzLmZpbGVzLmluZGV4T2YoZmluZEZpbGUpLCAxKTtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5maWxlc0NoYW5nZWQuZW1pdCh0aGlzLmZpbGVzKTtcclxuICAgICAgICAgICAgICAgICAgdGhpcy51cGxvYWRGaWxlKHJlcy5maWxlSW1hZ2UsIHJlcy5maWxlVXJsKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy51cGxvYWRGaWxlKHJlcy5maWxlSW1hZ2UsIHJlcy5maWxlVXJsLCB0aGlzLmZpbGVzLmluZGV4T2YoZmluZEZpbGUpLCAndXBkYXRlJyk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBmaWxlT3ZlcihldmVudDogYW55KSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZmlsZUxlYXZlKGV2ZW50OiBhbnkpIHtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZm9ybURhdGFLZXlzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLmZvcm1EYXRhKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlRm9ybURhdGEoKTogRm9ybURhdGEge1xyXG4gICAgY29uc3QgZm9ybSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgaWYgKHRoaXMubWF4RmlsZXMpIHtcclxuICAgICAgZm9ybS5hcHBlbmQoJ01heEZpbGVzJywgdGhpcy5tYXhGaWxlcy50b1N0cmluZygxMCkpO1xyXG4gICAgfVxyXG4gICAgY29uc3Qga2V5cyA9IHRoaXMuZm9ybURhdGFLZXlzKCk7XHJcbiAgICBrZXlzLmZvckVhY2goa2V5ID0+IGZvcm0uYXBwZW5kKGtleSwgdGhpcy5mb3JtRGF0YVtrZXldKSk7XHJcbiAgICByZXR1cm4gZm9ybTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBsb2FkRmlsZShmaWxlOiBGaWxlLCB1cmxJbWFnZT86IHN0cmluZywgaWR4RmlsZTogbnVtYmVyID0gMCwgZXZlbnRUeXBlOiAnY3JlYXRlJyB8ICd1cGRhdGUnID0gJ2NyZWF0ZScpIHtcclxuICAgIGNvbnN0IGRhdGEgPSB7XHJcbiAgICAgIHV1aWQ6ICcnLFxyXG4gICAgICB0ZW1wVXVpZDogdXVpZHY0KCksXHJcbiAgICAgIG5hbWU6IGZpbGUubmFtZSxcclxuICAgICAgc2l6ZTogZmlsZS5zaXplLFxyXG4gICAgICB1cGxvYWRpbmc6IHRydWUsXHJcbiAgICAgIHBlcmNlbnRhZ2U6IDAsXHJcbiAgICAgIGZpbGU6IGZpbGUsXHJcbiAgICAgIHVybDogdXJsSW1hZ2VcclxuICAgIH0gYXMgSW5wdXRGaWxlTW9kZWw7XHJcblxyXG4gICAgaWYgKCF0aGlzLmNoZWNrRm9yVXBsb2FkKGRhdGEsIGlkeEZpbGUsIGV2ZW50VHlwZSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZvcm1EYXRhID0gdGhpcy5jcmVhdGVGb3JtRGF0YSgpO1xyXG4gICAgZm9ybURhdGEuYXBwZW5kKCdGaWxlJywgZmlsZSk7XHJcblxyXG4gICAgZGF0YS5leGVjdXRpb24gPSB0aGlzLmltYWdlVXBsb2FkU2VydmljZS51cGxvYWQodGhpcy51cGxvYWRFbmRQb2ludCwgZm9ybURhdGEpLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGRhdGEudXBsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIEVNUFRZO1xyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogSHR0cEV2ZW50PFVwbG9hZGVkUmVzdWx0TW9kZWw+KSA9PiB7XHJcbiAgICAgICAgc3dpdGNoIChldmVudC50eXBlKSB7XHJcbiAgICAgICAgICBjYXNlIEh0dHBFdmVudFR5cGUuU2VudDpcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIEh0dHBFdmVudFR5cGUuUmVzcG9uc2VIZWFkZXI6XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzOlxyXG4gICAgICAgICAgICBpZiAoZXZlbnQudG90YWwpIHtcclxuICAgICAgICAgICAgICBkYXRhLnBlcmNlbnRhZ2UgPSBNYXRoLnJvdW5kKGV2ZW50LmxvYWRlZCAvIGV2ZW50LnRvdGFsICogMTAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5SZXNwb25zZTpcclxuICAgICAgICAgICAgaWYgKGV2ZW50LmJvZHkpIHtcclxuICAgICAgICAgICAgICBkYXRhLnVwbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIGRhdGEucGVyY2VudGFnZSA9IDA7XHJcbiAgICAgICAgICAgICAgZGF0YS51dWlkID0gZXZlbnQuYm9keS51dWlkO1xyXG4gICAgICAgICAgICAgIGRhdGEuZmlsZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICBkYXRhLmVycm9yID0gZXZlbnQuYm9keS5tZXNzYWdlO1xyXG5cclxuICAgICAgICAgICAgICBpZiAoZGF0YS5leGVjdXRpb24pIHtcclxuICAgICAgICAgICAgICAgIGRhdGEuZXhlY3V0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGlmICh0aGlzLmZpbGVzLmV2ZXJ5KHMgPT4gIXMudXBsb2FkaW5nKSkge1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuZmlsZXNDaGFuZ2VkLmVtaXQodGhpcy5maWxlcyk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hlY2tGb3JVcGxvYWQoZGF0YTogSW5wdXRGaWxlTW9kZWwsIGlkeEZpbGU6IG51bWJlciA9IDAsIGV2ZW50VHlwZT86ICdjcmVhdGUnIHwgJ3VwZGF0ZScpOiBib29sZWFuIHtcclxuICAgIGlmIChldmVudFR5cGUgPT09ICd1cGRhdGUnKSB7XHJcbiAgICAgIHRoaXMuZmlsZXMuc3BsaWNlKGlkeEZpbGUsIDEsIGRhdGEpO1xyXG4gICAgICB0aGlzLmZpbGVzQ2hhbmdlZC5lbWl0KHRoaXMuZmlsZXMpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy50eXBlID09PSAnYXZhdGFyJykge1xyXG4gICAgICB0aGlzLmZpbGVzLmxlbmd0aCA9IDA7XHJcbiAgICAgIHRoaXMuZmlsZXMucHVzaChkYXRhKTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLmNhbkFkZCkge1xyXG4gICAgICBkYXRhLmVycm9yID0gJ9Ch0LvQuNGI0LrQvtC8INC80L3QvtCz0L4g0YTQsNC50LvQvtCyJztcclxuICAgICAgZGF0YS51cGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5maWxlcy5wdXNoKGRhdGEpO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5maWxlcy5wdXNoKGRhdGEpO1xyXG5cclxuICAgIGlmIChkYXRhLmZpbGUgJiYgZGF0YS5maWxlLnNpemUgPiB0aGlzLm1heFNpemUpIHtcclxuICAgICAgZGF0YS5lcnJvciA9ICfQodC70LjRiNC60L7QvCDQsdC+0LvRjNGI0L7QuSDRhNCw0LnQuyc7XHJcbiAgICAgIGRhdGEudXBsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmIChkYXRhLmZpbGUgJiYgZGF0YS5maWxlLnNpemUgPT0gMCkge1xyXG4gICAgICBkYXRhLmVycm9yID0gJ9Cf0YPRgdGC0L7QuSDRhNCw0LnQuyc7XHJcbiAgICAgIGRhdGEudXBsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmFsbG93ZWRFeHRlbnNpb25zLmxlbmd0aCA+IDAgJiYgIXRoaXMuYWxsb3dlZEV4dGVuc2lvbnMuc29tZShcclxuICAgICAgcyA9PiBkYXRhLmZpbGU/Lm5hbWUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aChzLnRvTG93ZXJDYXNlKCkpKSkge1xyXG5cclxuICAgICAgZGF0YS5lcnJvciA9ICfQndC10LLQtdGA0L3Ri9C5INGE0L7RgNC80LDRgiDRhNCw0LnQu9CwJztcclxuICAgICAgZGF0YS51cGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZVwiIFtjbGFzc109XCJnZXRDbGFzc2VzXCI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlID09PSAnZGVmYXVsdCdcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbm5lclRlbXBsYXRlOyBjb250ZXh0Ont9XCI+PC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG5neC1maWxlLWRyb3AgKm5nSWY9XCJjYW5BZGRcIiAob25GaWxlRHJvcCk9XCJkcm9wcGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgW2NsYXNzTmFtZV09XCJnZXREcm9wWm9uZUNsYXNzZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgW2FjY2VwdF09XCJleHRlbnNpb25zIHx8ICcnXCJcclxuICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAob25GaWxlT3Zlcik9XCJmaWxlT3ZlcigkZXZlbnQpXCIgKG9uRmlsZUxlYXZlKT1cImZpbGVMZWF2ZSgkZXZlbnQpXCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBuZ3gtZmlsZS1kcm9wLWNvbnRlbnQtdG1wIGxldC1vcGVuRmlsZVNlbGVjdG9yPVwib3BlbkZpbGVTZWxlY3RvclwiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1pbnB1dFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCIhZGlzYWJsZWQgPyBvcGVuRmlsZVNlbGVjdG9yKCkgOiB1bmRlZmluZWRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtaW5wdXQtcGxhY2Vob2xkZXJcIj57e3BsYWNlaG9sZGVyIHx8IGdldERlZmF1bHRQbGFjZWhvbGRlcn19PC9zcGFuPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLWlucHV0LWluZm9cIj5cclxuICAgICAgICAgICAgPHNwYW4+0KDQsNC30LzQtdGAINGE0LDQudC70LA6INC00L4ge3tmb3JtYXRCeXRlcyhtYXhTaXplKX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImV4dGVuc2lvbnNcIj7QpNC+0YDQvNCw0YIg0YTQsNC50LvQsDoge3tleHRlbnNpb25zfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbmd4LWZpbGUtZHJvcD5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtcHJldmlld1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbCBjb2wtMTIgY29sLXNtLTYgY29sLW1kLTQgY29sLWxnLTNcIiAqbmdGb3I9XCJsZXQgZmlsZSBvZiBmaWxlc1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLXByZXZpZXctaXRlbVwiIFtjbGFzcy5tcngtaW5wdXQtZmlsZS1pbWFnZS1lcnJvcl09XCJmaWxlLmVycm9yXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWxlLmVycm9yXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWNsb3NlIGljb24tZm9udC0yNFwiIChjbGljayk9XCJkZWxldGUoJGV2ZW50LCBmaWxlKVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtcHJldmlldy1pdGVtLWVycm9yXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pY29uIGljb24taW1hZ2UgaWNvbi1mb250LTI0IGljb24tZmlsbGVkLWNvbG9yLW5lZ2F0aXZlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAge3sgZmlsZS5lcnJvciB9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtcHJldmlldy1pdGVtLW5hbWVcIj5cclxuICAgICAgICAgICAgICAgIHt7IGZpbGUubmFtZSB9fVxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLXByZXZpZXctaXRlbS1kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICAgICAge3sgZm9ybWF0Qnl0ZXMoZmlsZS5zaXplKSB9fVxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsZS51cGxvYWRpbmcgJiYgIWZpbGUuZXJyb3JcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtcHJldmlldy1pdGVtLXVwbG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1wcmV2aWV3LWl0ZW0tdXBsb2FkaW5nLXRleHRcIj7Ql9Cw0LPRgNGD0LfQutCwLi4uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLXByZXZpZXctaXRlbS11cGxvYWRpbmctcHJvZ3Jlc3NcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gW25nU3R5bGVdPVwie3dpZHRoOiBmaWxlLnBlcmNlbnRhZ2UgKyAnJSd9XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFmaWxlLnVwbG9hZGluZyAmJiAhZmlsZS5lcnJvclwiPlxyXG4gICAgICAgICAgICAgIDxpbWcgW3NyY109XCJmaWxlLnVybCB8fCBkb3dubG9hZFVybChmaWxlKVwiIFthbHRdPVwiZmlsZS5uYW1lXCI+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1wcmV2aWV3LWl0ZW0taW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1wcmV2aWV3LWl0ZW0tbmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICB7eyBmaWxlLm5hbWUgfX1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtcHJldmlldy1pdGVtLWRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGZvcm1hdEJ5dGVzKGZpbGUuc2l6ZSkgfX1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLWNvbnRyb2xzXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtY29udHJvbHMtaXRlbVwiIChjbGljayk9XCJjaGFuZ2VQcmV2aWV3KCRldmVudCwgZmlsZSlcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLXBlbiBpY29uLWZvbnQtMTZcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1jb250cm9scy1pdGVtXCIgKGNsaWNrKT1cImRlbGV0ZSgkZXZlbnQsIGZpbGUpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1kZWxldGUgaWNvbi1mb250LTE2XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlID09PSAnYXZhdGFyJ1wiPlxyXG4gICAgPG5neC1maWxlLWRyb3AgKG9uRmlsZURyb3ApPVwiZHJvcHBlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgIFtjbGFzc05hbWVdPVwiZ2V0RHJvcFpvbmVDbGFzc2VzXCJcclxuICAgICAgICAgICAgICAgICAgIFthY2NlcHRdPVwiZXh0ZW5zaW9ucyB8fCAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgKG9uRmlsZU92ZXIpPVwiZmlsZU92ZXIoJGV2ZW50KVwiIChvbkZpbGVMZWF2ZSk9XCJmaWxlTGVhdmUoJGV2ZW50KVwiPlxyXG4gICAgICA8bmctdGVtcGxhdGUgbmd4LWZpbGUtZHJvcC1jb250ZW50LXRtcCBsZXQtb3BlbkZpbGVTZWxlY3Rvcj1cIm9wZW5GaWxlU2VsZWN0b3JcIj5cclxuXHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAqbmdJZj1cIiFmaWxlcy5sZW5ndGg7IGVsc2UgYXZhdGFyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLWlucHV0XCJcclxuICAgICAgICAgICAgW2NsYXNzLm1yeC1pbnB1dC1maWxlLWltYWdlX19kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAoY2xpY2spPVwiIWRpc2FibGVkID8gb3BlbkZpbGVTZWxlY3RvcigpIDogdW5kZWZpbmVkXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLWlucHV0LXBsYWNlaG9sZGVyXCI+e3twbGFjZWhvbGRlciB8fCBnZXREZWZhdWx0UGxhY2Vob2xkZXJ9fTwvc3Bhbj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1pbnB1dC1pbmZvXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPtCg0LDQt9C80LXRgCDRhNCw0LnQu9CwOiDQtNC+IHt7Zm9ybWF0Qnl0ZXMobWF4U2l6ZSl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJleHRlbnNpb25zXCI+0KTQvtGA0LzQsNGCINGE0LDQudC70LA6IHt7ZXh0ZW5zaW9uc319PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjYXZhdGFyVGVtcGxhdGU+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtYXZhdGFyXCIgKGNsaWNrKT1cIm9wZW5GaWxlU2VsZWN0b3IoKVwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBmaWxlIG9mIGZpbGVzXCIgY2xhc3M9XCJ3LTEwMCBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1hdmF0YXItaXRlbVwiIFtjbGFzcy5tcngtaW5wdXQtZmlsZS1pbWFnZS1lcnJvcl09XCJmaWxlLmVycm9yXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsZS5lcnJvclwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pY29uIGljb24tY2xvc2UgaWNvbi1mb250LTI0XCIgKGNsaWNrKT1cImRlbGV0ZSgkZXZlbnQsIGZpbGUpXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtYXZhdGFyLWl0ZW0tZXJyb3JcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pY29uIGljb24taW1hZ2UgaWNvbi1mb250LTI0IGljb24tZmlsbGVkLWNvbG9yLW5lZ2F0aXZlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IGZpbGUuZXJyb3IgfX1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsZS51cGxvYWRpbmcgJiYgIWZpbGUuZXJyb3JcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWNsb3NlIGljb24tZm9udC0yNFwiIChjbGljayk9XCJkZWxldGUoJGV2ZW50LCBmaWxlKVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLWF2YXRhci1pdGVtLXVwbG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtYXZhdGFyLWl0ZW0tdXBsb2FkaW5nLXRleHRcIj7Ql9Cw0LPRgNGD0LfQutCwLi4uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1hdmF0YXItaXRlbS11cGxvYWRpbmctcHJvZ3Jlc3NcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFtuZ1N0eWxlXT1cInt3aWR0aDogZmlsZS5wZXJjZW50YWdlICsgJyUnfVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWZpbGUudXBsb2FkaW5nICYmICFmaWxlLmVycm9yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJmaWxlLnVybCB8fCBkb3dubG9hZFVybChmaWxlKVwiIFthbHRdPVwiZmlsZS5uYW1lXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtY29udHJvbHNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtY29udHJvbHMtaXRlbVwiIChjbGljayk9XCJjaGFuZ2VQcmV2aWV3KCRldmVudCwgZmlsZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1wZW4gaWNvbi1mb250LTE2XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1jb250cm9scy1pdGVtXCIgKGNsaWNrKT1cImRlbGV0ZSgkZXZlbnQsIGZpbGUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pY29uIGljb24tZGVsZXRlIGljb24tZm9udC0xNlwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbmd4LWZpbGUtZHJvcD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export var InputFileImageTypeEnum;
|
|
2
2
|
(function (InputFileImageTypeEnum) {
|
|
3
|
-
InputFileImageTypeEnum["default"] = "mrx-input-file-
|
|
4
|
-
InputFileImageTypeEnum["avatar"] = "mrx-input-file-
|
|
3
|
+
InputFileImageTypeEnum["default"] = "mrx-input-file-image-type-default";
|
|
4
|
+
InputFileImageTypeEnum["avatar"] = "mrx-input-file-image-type-avatar";
|
|
5
5
|
})(InputFileImageTypeEnum || (InputFileImageTypeEnum = {}));
|
|
6
6
|
export var PreviewEnum;
|
|
7
7
|
(function (PreviewEnum) {
|
|
8
8
|
PreviewEnum["notFoundImage"] = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAFeAgwDAREAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+9m4uHmdvmIQEhVB4wO5xwSeuTn24oArUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAoJU5BIPqDg/mKANSC+HlgSkFgcZyQSOME4B57Z74yeaAMqgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAo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5/Jf3e767LQ+o9O06w0iwstK0qytdO0zTrWCysLCygjtrOys7aNYbe2treFUihghiRY4oo1VERQqgAVyttttttt3berbe7b7mu2iPjzVvhrpngP9pz4L6h4ZvLqw8O+K5fi1qk/gxQh0LR/Ev/CIwtqut6DF10weIEmgfVdNgC2LX1oL6COOW5uAeyNV1MLXUknKCopT+04c+kZd+Xo97O3QxcVGrBrRS5210vy7rtfqfZ9cRsFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAeMftDeF9d8ZfBrxz4f8M2X9p67c2FheadpolSCTUZtG1rTdbawglk/drdXkOnSW1p5hWNrmSJXdFJYbYecYVqcpO0U2m+101f0V9fIionKEktXbRd7NP8ATQ+b/iT8S/GXxQ1fT/CV78Hvj/4d+D5tUu/Gcem+BbhPF3jqcuCng1nttUSLQfCbqN3iC9tdRm1TWo86TbpZWUlxdz9VKnClFzVbDyrXtC8/cpr+fWPvT/lTVo/Fq9FlKUpuzhUUOto6y/u76R763e2x7Jp3xzsNIsLLStK+Afx807TNOtYLKwsLL4XR21nZWdtGsNvbW1vDrCRQwQxIscUUaqiIoVQAKwdBttvEYdtu7bqttt7tvl3L9pbRU6n/AID/AMEu/wDDQn/VEP2hv/Daf/fqj6v/ANP8N/4Mf/yI/af9O6n/AID/AME5m21rxB8VPjN8KfENh8NviJ4R8P8Aw7sviBda/q3j/Q7Xw1FPN4o0O00fSbHRrY6neXup3RnhmmvClvFb2lsqM87ySrGKcY0qNaLq05yqOmoqnJytyS5m5OySXRdWxXc5wfLJKPNdyVt1ZW11PqyuQ1CgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAXBPQGgC/eWvlkyoRtYklTnIPU4POQTk84x05oAz6ACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAfGhkYIuAT65x+gP8qANyG1SKMKwDtnLMR3OOB7DH9e+KAA/9k=";
|
|
9
9
|
})(PreviewEnum || (PreviewEnum = {}));
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZS1pbWFnZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQtZmlsZS1pbWFnZS9pbnB1dC1maWxlLWltYWdlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksc0JBR1g7QUFIRCxXQUFZLHNCQUFzQjtJQUNoQyx3RUFBZ0QsQ0FBQTtJQUNoRCxzRUFBOEMsQ0FBQTtBQUNoRCxDQUFDLEVBSFcsc0JBQXNCLEtBQXRCLHNCQUFzQixRQUdqQztBQUlELE1BQU0sQ0FBTixJQUFZLFdBRVg7QUFGRCxXQUFZLFdBQVc7SUFDckIsNGdVQUErL1QsQ0FBQTtBQUNqZ1UsQ0FBQyxFQUZXLFdBQVcsS0FBWCxXQUFXLFFBRXRCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gSW5wdXRGaWxlSW1hZ2VUeXBlRW51bSB7XHJcbiAgJ2RlZmF1bHQnID0gJ21yeC1pbnB1dC1maWxlLWltYWdlX190eXBlLWRlZmF1bHQnLFxyXG4gICdhdmF0YXInID0gJ21yeC1pbnB1dC1maWxlLWltYWdlX190eXBlLWF2YXRhcicsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIElucHV0RmlsZUltYWdlVHlwZVR5cGVzID0gJ2RlZmF1bHQnIHwgJ2F2YXRhcidcclxuXHJcbmV4cG9ydCBlbnVtIFByZXZpZXdFbnVtIHtcclxuICAnbm90Rm91bmRJbWFnZScgPSAnZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwvOWovNEFBUVNrWkpSZ0FCQWdFQVNBQklBQUQvMndCREFBRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRSC8yd0JEQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFIL3dBQVJDQUZlQWd3REFSRUFBaEVCQXhFQi84UUFId0FBQVFVQkFRRUJBUUVBQUFBQUFBQUFBQUVDQXdRRkJnY0lDUW9MLzhRQXRSQUFBZ0VEQXdJRUF3VUZCQVFBQUFGOUFRSURBQVFSQlJJaE1VRUdFMUZoQnlKeEZES0JrYUVJSTBLeHdSVlMwZkFrTTJKeWdna0tGaGNZR1JvbEppY29LU28wTlRZM09EazZRMFJGUmtkSVNVcFRWRlZXVjFoWldtTmtaV1puYUdscWMzUjFkbmQ0ZVhxRGhJV0doNGlKaXBLVGxKV1dsNWlabXFLanBLV21wNmlwcXJLenRMVzJ0N2k1dXNMRHhNWEd4OGpKeXRMVDFOWFcxOWpaMnVIaTQrVGw1dWZvNmVyeDh2UDA5ZmIzK1BuNi84UUFId0VBQXdFQkFRRUJBUUVCQVFBQUFBQUFBQUVDQXdRRkJnY0lDUW9MLzhRQXRSRUFBZ0VDQkFRREJBY0ZCQVFBQVFKM0FBRUNBeEVFQlNFeEJoSkJVUWRoY1JNaU1vRUlGRUtSb2JIQkNTTXpVdkFWWW5MUkNoWWtOT0VsOFJjWUdSb21KeWdwS2pVMk56ZzVPa05FUlVaSFNFbEtVMVJWVmxkWVdWcGpaR1ZtWjJocGFuTjBkWFozZUhsNmdvT0VoWWFIaUltS2twT1VsWmFYbUptYW9xT2twYWFucUttcXNyTzB0YmEzdUxtNndzUEV4Y2JIeU1uSzB0UFUxZGJYMk5uYTR1UGs1ZWJuNk9ucTh2UDA5ZmIzK1BuNi85b0FEQU1CQUFJUkF4RUFQd0QrOW00dUhtZHZtSVFFaFZCNHdPNXh3U2V1VG4yNG9BclVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQW9KVTVCSVBxRGcvbUtBTlNDK0hsZ1NrRmdjWnlRU09NRTRCNTdaNzR5ZWFBTXFnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FHU1NSd3h2TEs2UlJSSTBra2tqS2tjY2FLV2QzZGlGUkVVRm1aaUZWUVNTQUtBT0FQeGMrRkFKQitKM3c5QkJJSVBqVHcyQ0NPQ0NEcVdRUWVvclQyTmIvbjFVL3dEQUpmNUU4OFA1NC84QWdTL3pFLzRXNzhKLytpbi9BQTgvOExYdzMvOEFMS243R3QvejZxLytDNWY1Qnp3L25qLzRFdjhBTVA4QWhidnduLzZLZjhQUC9DMThOLzhBeXlvOWpXLzU5VmYvQUFYTC9JT2VIODhmL0FsL21idWhlTlBCM2lpYWUzOE0rTFBEUGlLZTFqV2E2aDBMWHRMMWVhMmhkdGlTeng2ZmRYRHd4dS95SzhpcXJOOG9KUEZUS25PRnVlRTQzMjVvdU4vUzZRMUtMMmFmbzAveU9tcUJoUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUh6eisxYmsvQUQ0aFI3blZMaTMwQzBuQ082ZWJhM25pelFiVzd0M0tGV01OemJUUzI4OGVkc3NNc2tiZ283QTlHRS8zaWw2eWZ6VVpOZmlaMWY0Y3ZsK2FOZnhmNFYvWjgrSGVnUDRnOFYrQlBocG9taTIwdHJZeHlmOEFDQjZIY1NUWFYwNGdzZE4wN1RyRFJiaSt2NzI1ZkVWcFlXRnJQY3k0SWpoS294VlFsaUtzdVdFNnNwTzcvaVMyV3JiYmtrbDNiYVE1S25GWGNZcGY0Vjl5MEdlQ2ZELzdQZnhGMFp0ZThIK0IvaHpxMm5SM3R6cHQxdThBYVJwMTlwK3BXWlVYV202cHBXcWFIWmFwcGQvQUhqZDdQVUxPMnVQSmxobldOb0o0WkhKeXhGT1hMT2RST3lhL2VOcHA3Tk5TYWE4MDJ1Z29xbkpYakdMNmZDazArelRWMGRmL0FNS2krRS8vQUVURDRlZitFVjRiL3dEbFpVZTJxLzhBUDJwLzRITC9BREs1SWZ5eC93REFWL2tlTitKZkNQaFR3ZjhBdEEvcy9UZUV2RFdnZUY1Tlhzdmk3cDJyTjRkMGpUOUUvdFd4ZzhMNlZxRnZhYWtOTXQ3WmI2QzJ2cmVLN3RvN29TcmJUcVpZUExaNUMyOEp6bmg4UXB5bExsZEZybWJsWjg3VjFlOW0wMm5iZGJrTkpWS2RrbGZudlpXdm90N0gxUFhJYWhRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBSHp6KzFaL3lRUHg1LzNLL3dENm1maDJ1bkNmN3hUOVpmOEFwRWpPci9EbDh2OEEwcEhhZkZiNGUzbnhBMHJ3OGRHMXVIdzk0bjhGK0xkTDhjZUZOVHZkTUd0YVZIcm1rMnVvMkNRYXhwQnVySjczVDd1dzFXL3RaRGIzbHJlV2NzME4vYVRlZGJMRkxuU3FLbTVYanpSbkIwNXBQbGZLN1BTVm5acHBQWnA3UFJqbkhtU3M3T0xVazdYVjFmZGRyTmxiNFcvRDNVZkFjZmpMWFBGWGlHeThRK0xmSG5pTC9oS3ZGT3A2ZHBaMERRcldXMzBqVDlIczlPMGpUWmIvQUZHYURUOU4wL1RZa04zZTMxeGUzc3JUWGQxSWhkWW9uVnFLcHlSaEZ4aFRqeVFUZk5KNnR0dDJXcmIyU3N0a0VZdVBNMjd1VHUzYXkyU3NsZDZKSTh1dlBqLzRzMUhVTDd4aDRFOENONHMrQmZoTzVtMDN4VDR0dFh1VzhSK0lwWTVXaTFQWC9odHBFWTh2eEI0WjhIUEE2NnhkTjgrdnRKZER3NFpsMG1XUzcxV0hna29WS25KaUpxOFlPM0xEdEdxL3N6bjBYMmRPYmZTZmFTZnZSamVtdEcrc3U3Z3VxaitQVFkwUEZXdmFONG4rTWY3TGZpSHc5cVZwckdpYXhhZkZ5KzB6VTdHVlo3Vzh0Wi9CVmcwY3NVaS9pcm93V1NLUlhpbFJKVWRGVUl5aFJ4Y1pKeGxIMkthZTZmdEFiVG5TYWQwK2V6LzdkUHB5dVUxQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FQbm45cXova2dmanovQUxsZi93QlRQdzdYVGhQOTRwK3N2L1NKR2RYK0hMNWYrbEkraEhkSTBlU1IxU05GWjNkMkNvaUtDek83TVFxcXFnbG1KQUFCSk9LNWpRK1VyNisxTDlwalVyclFkQnVyelN2MmZ0S3ZKYkx4TjRtc3BaYk8rK01OOVp5bUs3OEwrRjd1SXh6Vy93QVA3ZWFON2J4RjRpdG5XVHhKSXN1amFOS0xBWHQ3SjFwTENwU2trOFMxZU1YcXFDZTBwTHJWZThZdjRQaWxyWkdYOFhSYVUxdS81L0pmM2U3NjdMUStvOU8wNncwaXdzdEswcXl0ZE8welRyV0N5c0xDeWdqdHJPeXM3YU5ZYmUydHJlRlVpaGdoaVJZNG9vMVZFUlFxZ0FWeXR0dHR0dHQzYmVyYmU3YjdtdTJpUGp6VnZocnBuZ1A5cHo0TDZoNFp2THF3OE8rSzVmaTFxay9neFFoMExSL0V2L0NJd3RxdXQ2REYxMHdlSUVtZ2ZWZE5nQzJMWDFvTDZDT09XNXVBZXlOVjFNTFhVa25LQ29wVCswNGMra1pkK1hvOTdPM1F4Y1ZHckJyUlM1MjEwdnk3cnRmcWZaOWNSc0ZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBZU1mdERlRjlkOFpmQnJ4ejRmOE0yWDlwNjdjMkZoZWFkcG9sU0NUVVp0RzFyVGRiYXdnbGsvZHJkWGtPblNXMXA1aFdOcm1TSlhkRkpZYlllY1lWcWNwTzBVMm0rMTAxZjBWOWZJaW9uS0VrdFhiUmQ3TlA4QVRRK2IvaVQ4Uy9HWHhRMWZUL0NWNzhIdmovNGQrRDV0VXUvR2NlbStCYmhQRjNqcWN1Q25nMW50dFVTTFFmQ2JxTjNpQzl0ZFJtMVRXbzg2VGJwWldVbHhkejlWS25DbEZ6VmJEeXJYdEM4L2NwcitmV1B2VC9sVFZvL0ZxOUZsS1VwdXpoVVVPdG82eS91NzZSNzYzZTJ4N0pwM3h6c05Jc0xMU3RLK0FmeDgwN1ROT3RZTEt3c0xMNFhSMjFuWldkdEdzTnZiVzF2RHJDUlF3UXhJc2NVVWFxaUlvVlFBS3dkQnR0dkVZZHR1N2JxdHR0N3R2bDNMOXBiUlU2bi9BSUQvQU1FdS93RERRbi9WRVAyaHYvRGFmL2ZxajZ2L0FOUDhOLzRNZi95SS9hZjlPNm4vQUlEL0FNRTVtMjFyeEI4VlBqTjhLZkVOaDhOdmlKNFI4UDhBdzdzdmlCZGEvcTNqL1E3WHcxRlBONG8wTzAwZlNiSFJyWTZuZVh1cDNSbmhtbXZDbHZGYjJsc3FNODd5U3JHS2NZMHFOYUxxMDV5cU9tb3FuSnl0eVM1bTVPeVNYUmRXeFhjNXdmTEpLUE5keVZ0MVpXMTFQcXl1UTFDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FYQlBRR2dDL2VXdmxreW9SdFlrbFRuSVBVNFBPUVRrODR4MDVvQXo2QUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FmR2hrWUl1QVQ2NXgrZ1A4cUFOeUcxU0tNS3dEdG5MTVIzT09CN0RIOWUrS0FBLzlrPSdcclxufVxyXG4iXX0=
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZS1pbWFnZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQtZmlsZS1pbWFnZS9pbnB1dC1maWxlLWltYWdlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksc0JBR1g7QUFIRCxXQUFZLHNCQUFzQjtJQUNoQyx1RUFBK0MsQ0FBQTtJQUMvQyxxRUFBNkMsQ0FBQTtBQUMvQyxDQUFDLEVBSFcsc0JBQXNCLEtBQXRCLHNCQUFzQixRQUdqQztBQUlELE1BQU0sQ0FBTixJQUFZLFdBRVg7QUFGRCxXQUFZLFdBQVc7SUFDckIsNGdVQUErL1QsQ0FBQTtBQUNqZ1UsQ0FBQyxFQUZXLFdBQVcsS0FBWCxXQUFXLFFBRXRCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gSW5wdXRGaWxlSW1hZ2VUeXBlRW51bSB7XHJcbiAgJ2RlZmF1bHQnID0gJ21yeC1pbnB1dC1maWxlLWltYWdlLXR5cGUtZGVmYXVsdCcsXHJcbiAgJ2F2YXRhcicgPSAnbXJ4LWlucHV0LWZpbGUtaW1hZ2UtdHlwZS1hdmF0YXInLFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJbnB1dEZpbGVJbWFnZVR5cGVUeXBlcyA9ICdkZWZhdWx0JyB8ICdhdmF0YXInXHJcblxyXG5leHBvcnQgZW51bSBQcmV2aWV3RW51bSB7XHJcbiAgJ25vdEZvdW5kSW1hZ2UnID0gJ2RhdGE6aW1hZ2UvanBlZztiYXNlNjQsLzlqLzRBQVFTa1pKUmdBQkFnRUFTQUJJQUFELzJ3QkRBQUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUgvMndCREFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRSC93QUFSQ0FGZUFnd0RBUkVBQWhFQkF4RUIvOFFBSHdBQUFRVUJBUUVCQVFFQUFBQUFBQUFBQUFFQ0F3UUZCZ2NJQ1FvTC84UUF0UkFBQWdFREF3SUVBd1VGQkFRQUFBRjlBUUlEQUFRUkJSSWhNVUVHRTFGaEJ5SnhGREtCa2FFSUkwS3h3UlZTMGZBa00ySnlnZ2tLRmhjWUdSb2xKaWNvS1NvME5UWTNPRGs2UTBSRlJrZElTVXBUVkZWV1YxaFpXbU5rWldabmFHbHFjM1IxZG5kNGVYcURoSVdHaDRpSmlwS1RsSldXbDVpWm1xS2pwS1dtcDZpcHFyS3p0TFcydDdpNXVzTER4TVhHeDhqSnl0TFQxTlhXMTlqWjJ1SGk0K1RsNXVmbzZlcng4dlAwOWZiMytQbjYvOFFBSHdFQUF3RUJBUUVCQVFFQkFRQUFBQUFBQUFFQ0F3UUZCZ2NJQ1FvTC84UUF0UkVBQWdFQ0JBUURCQWNGQkFRQUFRSjNBQUVDQXhFRUJTRXhCaEpCVVFkaGNSTWlNb0VJRkVLUm9iSEJDU016VXZBVlluTFJDaFlrTk9FbDhSY1lHUm9tSnlncEtqVTJOemc1T2tORVJVWkhTRWxLVTFSVlZsZFlXVnBqWkdWbVoyaHBhbk4wZFhaM2VIbDZnb09FaFlhSGlJbUtrcE9VbFphWG1KbWFvcU9rcGFhbnFLbXFzck8wdGJhM3VMbTZ3c1BFeGNiSHlNbkswdFBVMWRiWDJObmE0dVBrNWVibjZPbnE4dlAwOWZiMytQbjYvOW9BREFNQkFBSVJBeEVBUHdEKzltNHVIbWR2bUlRRWhWQjR3TzV4d1NldVRuMjRvQXJVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFvSlU1QklQcURnL21LQU5TQytIbGdTa0ZnY1p5UVNPTUU0QjU3Wjc0eWVhQU1xZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBR1NTUnd4dkxLNlJSUkkwa2traktrY2NhS1dkM2RpRlJFVUZtWmlGVlFTU0FLQU9BUHhjK0ZBSkIrSjN3OUJCSUlQalR3MkNDT0NDRHFXUVFlb3JUMk5iL24xVS93REFKZjVFODhQNTQvOEFnUy96RS80Vzc4Si8raW4vQUE4LzhMWHczLzhBTEtuN0d0L3o2cS8rQzVmNUJ6dy9uai80RXY4QU1QOEFoYnZ3bi82S2Y4UFAvQzE4Ti84QXl5bzlqVy81OVZmL0FBWEwvSU9lSDg4Zi9BbC9tYnVoZU5QQjNpaWFlMzhNK0xQRFBpS2UxaldhNmgwTFh0TDFlYTJoZHRpU3p4NmZkWER3eHUveUs4aXFyTjhvSlBGVEtuT0Z1ZUU0MzI1b3VOL1M2UTFLTDJhZm8wL3lPbXFCaFFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFIenorMWJrL0FENGhSN25WTGkzMEMwbkNPNmViYTNuaXpRYlc3dDNLRldNTnpiVFMyODhlZHNzTXNrYmdvN0E5R0UvM2lsNnlmelVaTmZpWjFmNGN2bCthTmZ4ZjRWL1o4K0hlZ1A0ZzhWK0JQaHBvbWkyMHRyWXh5ZjhBQ0I2SGNTVFhWMDRnc2ROMDdUckRSYmkrdjcyNWZFVnBZV0ZyUGN5NElqaEtveFZRbGlLc3VXRTZzcE83L2lTMldyYmJra2wzYmFRNUtuRlhjWXBmNFY5eTBHZUNmRC83UGZ4RjBadGU4SCtCL2h6cTJuUjN0enB0MXU4QWFScDE5cCtwV1pVWFdtNnBwV3FhSFphcHBkL0FIamQ3UFVMTzJ1UEpsaG5XTm9KNFpISnl4Rk9YTE9kUk95YS9lTnBwN05OU2FhODAydWdvcW5KWGpHTDZmQ2swK3pUVjBkZi9BTUtpK0UvL0FFVEQ0ZWYrRVY0Yi93RGxaVWUycS84QVAycC80SEwvQURLNUlmeXgvd0RBVi9rZU4rSmZDUGhUd2Y4QXRBL3MvVGVFdkRXZ2VGNU5Yc3ZpN3Ayck40ZDBqVDlFL3RXeGc4TDZWcUZ2YWFrTk10N1piNkMydnJlSzd0bzdvU3JiVHFaWVBMWjVDMjhKem5oOFFweWxMbGRGcm1ibFo4N1YxZTltMDJuYmRia05KVktka2xmbnZaV3ZvdDdIMVBYSWFoUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUh6eisxWi95UVB4NS8zSy93RDZtZmgydW5DZjd4VDlaZjhBcEVqT3IvRGw4djhBMHBIYWZGYjRlM254QTBydzhkRzF1SHc5NG44RitMZEw4Y2VGTlR2ZE1HdGFWSHJtazJ1bzJDUWF4cEJ1cko3M1Q3dXcxVy90WkRiM2xyZVdjczBOL2FUZWRiTEZMblNxS201WGp6Um5CMDVwUGxmSzdQU1ZuWnBwUFpwN1BSam5IbVNzN09MVWs3WFYxZmRkck5sYjRXL0QzVWZBY2ZqTFhQRlhpR3k4UStMZkhuaUwvaEt2Rk9wNmRwWjBEUXJXVzMwalQ5SHM5TzBqVFpiL0FGR2FEVDlOMC9UWWtOM2UzMXhlM3NyVFhkMUloZFlvblZxS3B5UmhGeGhUanlRVGZOSjZ0dHQyV3JiMlNzdGtFWXVQTTI3dVR1M2F5MlNzbGQ2Skk4dXZQai80czFIVUw3eGg0RThDTjRzK0JmaE81bTAzeFQ0dHRYdVc4UitJcFk1V2kxUFgvaHRwRVk4dnhCNFo4SFBBNjZ4ZE44K3Z0SmREdzRabDBtV1M3MVdIZ2tvVktuSmlKcThZTzNMRHRHcS9zem4wWDJkT2JmU2ZhU2Z2UmplbXRHK3N1N2d1cWorUFRZMFBGV3ZhTjRuK01mN0xmaUh3OXFWcHJHaWF4YWZGeSswelU3R1ZaN1c4dFovQlZnMGNzVWkvaXJvd1dTS1JYaWxSSlVkRlVJeWhSeGNaSnhsSDJLYWU2ZnRBYlRuU2FkMCtlei83ZFBweXVVMUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBUG5uOXF6L2tnZmp6L0FMbGYvd0JUUHc3WFRoUDk0cCtzdi9TSkdkWCtITDVmK2xJK2hIZEkwZVNSMVNORlozZDJDb2lLQ3pPN01RcXFxZ2xtSkFBQkpPSzVqUStVcjYrMUw5cGpVcnJRZEJ1cnpTdjJmdEt2SmJMeE40bXNwWmJPKytNTjlaeW1LNzhMK0Y3dUl4elcvd0FQN2VhTjdieEY0aXRuV1R4SklzdWphTktMQVh0N0oxcExDcFNrazhTMWVNWHFxQ2UwcExyVmU4WXY0UGlsclpHWDhYUmFVMXUvNS9KZjNlNzY3TFErbzlPMDZ3MGl3c3RLMHF5dGRPMHpUcldDeXNMQ3lnanRyT3lzN2FOWWJlMnRyZUZVaWhnaGlSWTRvbzFWRVJRcWdBVnl0dHR0dHR0M2JlcmJlN2I3bXUyaVBqelZ2aHJwbmdQOXB6NEw2aDRadkxxdzhPK0s1ZmkxcWsvZ3hRaDBMUi9Fdi9DSXd0cXV0NkRGMTB3ZUlFbWdmVmROZ0MyTFgxb0w2Q09PVzV1QWV5TlYxTUxYVWtuS0NvcFQrMDRjK2taZCtYbzk3TzNReGNWR3JCclJTNTIxMHZ5N3J0ZnFmWjljUnNGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQWVNZnREZUY5ZDhaZkJyeHo0ZjhNMlg5cDY3YzJGaGVhZHBvbFNDVFVadEcxclRkYmF3Z2xrL2RyZFhrT25TVzFwNWhXTnJtU0pYZEZKWWJZZWNZVnFjcE8wVTJtKzEwMWYwVjlmSWlvbktFa3RYYlJkN05QOEFUUStiL2lUOFMvR1h4UTFmVC9DVjc4SHZqLzRkK0Q1dFV1L0djZW0rQmJoUEYzanFjdUNuZzFudHRVU0xRZkNicU4zaUM5dGRSbTFUV284NlRicFpXVWx4ZHo5VktuQ2xGelZiRHlyWHRDOC9jcHIrZldQdlQvbFRWby9GcTlGbEtVcHV6aFVVT3RvNnkvdTc2Ujc2M2UyeDdKcDN4enNOSXNMTFN0SytBZng4MDdUTk90WUxLd3NMTDRYUjIxblpXZHRHc052YlcxdkRyQ1JRd1F4SXNjVVVhcWlJb1ZRQUt3ZEJ0dHZFWWR0dTdicXR0dDd0dmwzTDlwYlJVNm4vQUlEL0FNRXUvd0REUW4vVkVQMmh2L0RhZi9mcWo2di9BTlA4Ti80TWYveUkvYWY5TzZuL0FJRC9BTUU1bTIxcnhCOFZQak44S2ZFTmg4TnZpSjRSOFA4QXc3c3ZpQmRhL3Ezai9RN1h3MUZQTjRvME8wMGZTYkhSclk2bmVYdXAzUm5obW12Q2x2RmIybHNxTTg3eVNyR0tjWTBxTmFMcTA1eXFPbW9xbkp5dHlTNW01T3lTWFJkV3hYYzV3ZkxKS1BOZHlWdDFaVzExUHF5dVExQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BWEJQUUdnQy9lV3Zsa3lvUnRZa2xUbklQVTRQT1FUazg0eDA1b0F6NkFDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BZkdoa1lJdUFUNjV4K2dQOHFBTnlHMVNLTUt3RHRuTE1SM09PQjdESDllK0tBQS85az0nXHJcbn1cclxuIl19
|
|
@@ -4,4 +4,7 @@ export * from './mrx-form-validator/mrx-form-validator';
|
|
|
4
4
|
export * from './save-store/save-store.module';
|
|
5
5
|
export * from './save-store/store/selectors';
|
|
6
6
|
export * from './save-store/store/actions';
|
|
7
|
-
|
|
7
|
+
export * from './modal-service/modal-service.module';
|
|
8
|
+
export * from './modal-service/models/modal-config.model';
|
|
9
|
+
export * from './modal-service/modal-service.service';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHlDQUF5QyxDQUFDO0FBRXhELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tcngtYXV0b3NhdmUvbXJ4LWF1dG9zYXZlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL21yeC1mb3JtLXZhbGlkYXRvci9tcngtZm9ybS12YWxpZGF0b3InO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9zYXZlLXN0b3JlL3NhdmUtc3RvcmUubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zYXZlLXN0b3JlL3N0b3JlL3NlbGVjdG9ycyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2F2ZS1zdG9yZS9zdG9yZS9hY3Rpb25zJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwtc2VydmljZS9tb2RhbC1zZXJ2aWNlLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwtc2VydmljZS9tb2RlbHMvbW9kYWwtY29uZmlnLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC1zZXJ2aWNlL21vZGFsLXNlcnZpY2Uuc2VydmljZSc7XHJcbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { AlertModalComponent } from './components/alert-modal/alert-modal.component';
|
|
4
|
+
import { ConfirmModalComponent } from './components/confirm-modal/confirm-modal.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class ModalServiceModule {
|
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ModalServiceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: ModalServiceModule, imports: [CommonModule,
|
|
9
|
+
AlertModalComponent,
|
|
10
|
+
ConfirmModalComponent] });
|
|
11
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ModalServiceModule, imports: [CommonModule,
|
|
12
|
+
AlertModalComponent,
|
|
13
|
+
ConfirmModalComponent] });
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ModalServiceModule, decorators: [{
|
|
16
|
+
type: NgModule,
|
|
17
|
+
args: [{
|
|
18
|
+
imports: [
|
|
19
|
+
CommonModule,
|
|
20
|
+
AlertModalComponent,
|
|
21
|
+
ConfirmModalComponent
|
|
22
|
+
]
|
|
23
|
+
}]
|
|
24
|
+
}] });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc2VydmljZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL3NlcnZpY2VzL21vZGFsLXNlcnZpY2UvbW9kYWwtc2VydmljZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7O0FBVzNGLE1BQU0sT0FBTyxrQkFBa0I7d0dBQWxCLGtCQUFrQjt5R0FBbEIsa0JBQWtCLFlBTDNCLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIscUJBQXFCO3lHQUdaLGtCQUFrQixZQUwzQixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLHFCQUFxQjs7NEZBR1osa0JBQWtCO2tCQVA5QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIscUJBQXFCO3FCQUN0QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFsZXJ0TW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWxlcnQtbW9kYWwvYWxlcnQtbW9kYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29uZmlybU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbmZpcm0tbW9kYWwvY29uZmlybS1tb2RhbC5jb21wb25lbnQnO1xyXG5cclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEFsZXJ0TW9kYWxDb21wb25lbnQsXHJcbiAgICBDb25maXJtTW9kYWxDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb2RhbFNlcnZpY2VNb2R1bGUgeyB9XHJcbiJdfQ==
|