master-control 0.3.54 → 0.3.56
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/file-preview/file-preview.component.mjs +94 -0
- package/esm2022/lib/master-control.component.mjs +5 -3
- package/esm2022/lib/medial-questions/medial-questions.component.mjs +14 -4
- package/esm2022/lib/upload/upload.component.mjs +44 -8
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/master-control.mjs +148 -14
- package/fesm2022/master-control.mjs.map +1 -1
- package/lib/file-preview/file-preview.component.d.ts +26 -0
- package/lib/medial-questions/medial-questions.component.d.ts +6 -0
- package/lib/upload/upload.component.d.ts +15 -3
- package/master-control-0.3.56.tgz +0 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/master-control-0.3.54.tgz +0 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, input, Output, EventEmitter } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/platform-browser";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
export class FilePreviewComponent {
|
|
7
|
+
sanitizer;
|
|
8
|
+
field = input.required();
|
|
9
|
+
file = input(null);
|
|
10
|
+
closed = new EventEmitter();
|
|
11
|
+
fileDataUrl = '';
|
|
12
|
+
fileObjectUrl = '';
|
|
13
|
+
textContent = '';
|
|
14
|
+
safeFileUrl = null;
|
|
15
|
+
constructor(sanitizer) {
|
|
16
|
+
this.sanitizer = sanitizer;
|
|
17
|
+
}
|
|
18
|
+
isImage() {
|
|
19
|
+
return this.file()?.type.startsWith('image/') || false;
|
|
20
|
+
}
|
|
21
|
+
isPdf() {
|
|
22
|
+
return this.file()?.type === 'application/pdf' || false;
|
|
23
|
+
}
|
|
24
|
+
isText() {
|
|
25
|
+
return this.file()?.type.startsWith('text/') || false;
|
|
26
|
+
}
|
|
27
|
+
isUnsupported() {
|
|
28
|
+
return !this.isImage() && !this.isPdf() && !this.isText(); // ✅ Correct
|
|
29
|
+
}
|
|
30
|
+
ngOnInit() {
|
|
31
|
+
document.body.style.overflow = 'hidden';
|
|
32
|
+
this.loadFileContent();
|
|
33
|
+
}
|
|
34
|
+
ngOnDestroy() {
|
|
35
|
+
document.body.style.overflow = '';
|
|
36
|
+
if (this.fileObjectUrl) {
|
|
37
|
+
URL.revokeObjectURL(this.fileObjectUrl);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
loadFileContent() {
|
|
41
|
+
const currentFile = this.file();
|
|
42
|
+
if (!currentFile)
|
|
43
|
+
return;
|
|
44
|
+
if (this.isImage()) {
|
|
45
|
+
const reader = new FileReader();
|
|
46
|
+
reader.onload = (e) => {
|
|
47
|
+
this.fileDataUrl = e.target?.result;
|
|
48
|
+
};
|
|
49
|
+
reader.readAsDataURL(currentFile);
|
|
50
|
+
}
|
|
51
|
+
else if (this.isPdf()) {
|
|
52
|
+
this.fileObjectUrl = URL.createObjectURL(currentFile);
|
|
53
|
+
this.safeFileUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.fileObjectUrl);
|
|
54
|
+
}
|
|
55
|
+
else if (this.isText()) {
|
|
56
|
+
const reader = new FileReader();
|
|
57
|
+
reader.onload = (e) => {
|
|
58
|
+
this.textContent = e.target?.result;
|
|
59
|
+
};
|
|
60
|
+
reader.readAsText(currentFile);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
onBackdropClick(event) {
|
|
64
|
+
if (event.target === event.currentTarget) {
|
|
65
|
+
this.closePreview();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
closePreview() {
|
|
69
|
+
this.closed.emit();
|
|
70
|
+
}
|
|
71
|
+
downloadFile() {
|
|
72
|
+
const currentFile = this.file();
|
|
73
|
+
if (!currentFile)
|
|
74
|
+
return;
|
|
75
|
+
const url = URL.createObjectURL(currentFile);
|
|
76
|
+
const link = document.createElement('a');
|
|
77
|
+
link.href = url;
|
|
78
|
+
link.download = currentFile.name;
|
|
79
|
+
link.style.display = 'none';
|
|
80
|
+
document.body.appendChild(link);
|
|
81
|
+
link.click();
|
|
82
|
+
document.body.removeChild(link);
|
|
83
|
+
setTimeout(() => URL.revokeObjectURL(url), 100);
|
|
84
|
+
}
|
|
85
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilePreviewComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
86
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: FilePreviewComponent, isStandalone: true, selector: "lib-file-preview", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, file: { classPropertyName: "file", publicName: "file", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed" }, ngImport: i0, template: "<div class=\"file-preview-modal\" \r\n *ngIf=\"field() && field()?.isVisible\"\r\n [id]=\"field()?.fieldName + '_preview'\"\r\n (click)=\"onBackdropClick($event)\"\r\n (keydown.escape)=\"closePreview()\"\r\n [ngStyle]=\"{\r\n '--modal-background': field()?.previewStyle?.modalBackground || 'rgba(0, 0, 0, 0.9)',\r\n '--modal-z-index': field()?.previewStyle?.zIndex || '10000',\r\n '--modal-width': field()?.previewStyle?.width || '100%',\r\n '--modal-height': field()?.previewStyle?.height || '100%'\r\n }\">\r\n \r\n <!-- Image Preview -->\r\n <div *ngIf=\"isImage()\" \r\n class=\"preview-container image-container\"\r\n [id]=\"field()?.fieldName + '_image_container'\"\r\n [ngStyle]=\"{\r\n '--image-container-background': field()?.previewStyle?.imageContainerBackground || 'transparent',\r\n '--image-container-border-radius': field()?.previewStyle?.imageContainerBorderRadius || '8px',\r\n '--image-container-padding': field()?.previewStyle?.imageContainerPadding || '20px',\r\n '--image-container-margin': field()?.previewStyle?.imageContainerMargin || '0'\r\n }\">\r\n \r\n <button class=\"close-btn\" \r\n type=\"button\"\r\n [id]=\"field()?.fieldName + '_close_btn'\"\r\n (click)=\"closePreview()\" \r\n [title]=\"field()?.previewStyle?.closeBtnTitle || 'Close'\"\r\n [ngStyle]=\"{\r\n '--close-btn-background': field()?.previewStyle?.closeBtnBackground || 'rgba(255, 255, 255, 0.9)',\r\n '--close-btn-color': field()?.previewStyle?.closeBtnColor || '#000',\r\n '--close-btn-border-radius': field()?.previewStyle?.closeBtnBorderRadius || '50%',\r\n '--close-btn-font-size': field()?.previewStyle?.closeBtnFontSize || '20px',\r\n '--close-btn-font-weight': field()?.previewStyle?.closeBtnFontWeight || 'bold',\r\n '--close-btn-hover-background': field()?.previewStyle?.closeBtnHoverBackground || 'rgba(255, 255, 255, 1)'\r\n }\">×</button>\r\n \r\n <h3 class=\"file-title\"\r\n [ngStyle]=\"{\r\n '--title-color': field()?.previewStyle?.titleColor || '#fff',\r\n '--title-font-family': field()?.previewStyle?.titleFontFamily || 'Mulish',\r\n '--title-font-size': field()?.previewStyle?.titleFontSize || '18px',\r\n '--title-font-weight': field()?.previewStyle?.titleFontWeight || '600',\r\n '--title-margin': field()?.previewStyle?.titleMargin || '0 0 10px 0',\r\n '--title-padding': field()?.previewStyle?.titlePadding || '0 10px'\r\n }\">{{ file()?.name }}</h3>\r\n \r\n <img [src]=\"fileDataUrl\" \r\n [alt]=\"file()?.name\" \r\n [id]=\"field()?.fieldName + '_preview_image'\"\r\n class=\"preview-image\"\r\n [ngStyle]=\"{\r\n '--image-max-width': field()?.previewStyle?.imageMaxWidth || '100%',\r\n '--image-max-height': field()?.previewStyle?.imageMaxHeight || '80vh',\r\n '--image-border-radius': field()?.previewStyle?.imageBorderRadius || '8px',\r\n '--image-box-shadow': field()?.previewStyle?.imageBoxShadow || '0 4px 20px rgba(0,0,0,0.5)',\r\n '--image-object-fit': field()?.previewStyle?.imageObjectFit || 'contain'\r\n }\" />\r\n </div>\r\n\r\n <!-- PDF Preview -->\r\n <div *ngIf=\"isPdf()\" \r\n class=\"preview-container pdf-container\"\r\n [id]=\"field()?.fieldName + '_pdf_container'\"\r\n [ngStyle]=\"{\r\n '--pdf-container-background': field()?.previewStyle?.pdfContainerBackground || '#fff',\r\n '--pdf-container-border-radius': field()?.previewStyle?.pdfContainerBorderRadius || '8px',\r\n '--pdf-container-width': field()?.previewStyle?.pdfContainerWidth || '95vw',\r\n '--pdf-container-height': field()?.previewStyle?.pdfContainerHeight || '95vh'\r\n }\">\r\n \r\n <!-- Top-right action buttons -->\r\n <div class=\"pdf-actions-top-right\"\r\n [ngStyle]=\"{\r\n '--actions-top': field()?.previewStyle?.actionsTop || '15px',\r\n '--actions-right': field()?.previewStyle?.actionsRight || '15px',\r\n '--actions-gap': field()?.previewStyle?.actionsGap || '10px'\r\n }\">\r\n \r\n <button (click)=\"closePreview()\" \r\n type=\"button\"\r\n class=\"action-icon-btn close-btn\"\r\n [id]=\"field()?.fieldName + '_close_pdf'\"\r\n [title]=\"field()?.previewStyle?.closeBtnTitle || 'Close'\"\r\n [ngStyle]=\"{\r\n '--close-btn-background': field()?.previewStyle?.closeBtnBackground || 'rgba(255, 255, 255, 0.9)',\r\n '--close-btn-color': field()?.previewStyle?.closeBtnColor || '#000',\r\n '--close-btn-border-radius': field()?.previewStyle?.closeBtnBorderRadius || '50%',\r\n '--close-btn-font-size': field()?.previewStyle?.closeBtnFontSize || '20px',\r\n '--close-btn-font-weight': field()?.previewStyle?.closeBtnFontWeight || 'bold',\r\n '--close-btn-hover-background': field()?.previewStyle?.closeBtnHoverBackground || 'rgba(255, 255, 255, 1)'\r\n }\">×</button>\r\n </div>\r\n \r\n <!-- File title -->\r\n <h3 class=\"file-title pdf-title\"\r\n [ngStyle]=\"{\r\n '--pdf-title-color': field()?.previewStyle?.pdfTitleColor || '#333',\r\n '--pdf-title-font-family': field()?.previewStyle?.pdfTitleFontFamily || 'Mulish',\r\n '--pdf-title-font-size': field()?.previewStyle?.pdfTitleFontSize || '16px',\r\n '--pdf-title-font-weight': field()?.previewStyle?.pdfTitleFontWeight || '600',\r\n '--pdf-title-margin': field()?.previewStyle?.pdfTitleMargin || '0px 20px 10px 20px',\r\n '--pdf-title-padding': field()?.previewStyle?.pdfTitlePadding || '0'\r\n }\">{{ file()?.name }}</h3>\r\n \r\n <iframe [src]=\"safeFileUrl\" \r\n [title]=\"file()?.name\" \r\n [id]=\"field()?.fieldName + '_pdf_iframe'\"\r\n class=\"pdf-iframe\"\r\n [ngStyle]=\"{\r\n '--iframe-border': field()?.previewStyle?.iframeBorder || 'none',\r\n '--iframe-border-radius': field()?.previewStyle?.iframeBorderRadius || '0',\r\n '--iframe-width': field()?.previewStyle?.iframeWidth || '100%',\r\n '--iframe-height': field()?.previewStyle?.iframeHeight || 'calc(100% - 80px)',\r\n '--iframe-min-height': field()?.previewStyle?.iframeMinHeight || '600px'\r\n }\"></iframe>\r\n </div>\r\n\r\n <!-- Text Preview -->\r\n <div *ngIf=\"isText()\" \r\n class=\"preview-container text-container\"\r\n [id]=\"field()?.fieldName + '_text_container'\"\r\n [ngStyle]=\"{\r\n '--text-container-background': field()?.previewStyle?.textContainerBackground || '#fff',\r\n '--text-container-border-radius': field()?.previewStyle?.textContainerBorderRadius || '8px',\r\n '--text-container-width': field()?.previewStyle?.textContainerWidth || '95vw',\r\n '--text-container-height': field()?.previewStyle?.textContainerHeight || '95vh'\r\n }\">\r\n \r\n <div class=\"text-header\"\r\n [id]=\"field()?.fieldName + '_text_header'\"\r\n [ngStyle]=\"{\r\n '--text-header-background': field()?.previewStyle?.textHeaderBackground || '#f8f9fa',\r\n '--text-header-border-color': field()?.previewStyle?.textHeaderBorderColor || '#dee2e6',\r\n '--text-header-padding': field()?.previewStyle?.textHeaderPadding || '15px 20px'\r\n }\">\r\n \r\n <h3 class=\"file-title\"\r\n [ngStyle]=\"{\r\n '--text-title-color': field()?.previewStyle?.textTitleColor || '#333',\r\n '--text-title-font-family': field()?.previewStyle?.textTitleFontFamily || 'Mulish',\r\n '--text-title-font-size': field()?.previewStyle?.textTitleFontSize || '16px',\r\n '--text-title-font-weight': field()?.previewStyle?.textTitleFontWeight || '600',\r\n '--text-title-margin': field()?.previewStyle?.textTitleMargin || '0'\r\n }\">{{ file()?.name }}</h3>\r\n \r\n <button (click)=\"closePreview()\" \r\n type=\"button\"\r\n class=\"btn btn-danger\"\r\n [id]=\"field()?.fieldName + '_close_text'\"\r\n [ngStyle]=\"{\r\n '--btn-danger-background': field()?.previewStyle?.btnDangerBackground || '#dc3545',\r\n '--btn-danger-color': field()?.previewStyle?.btnDangerColor || '#fff',\r\n '--btn-border-radius': field()?.previewStyle?.btnBorderRadius || '4px',\r\n '--btn-padding': field()?.previewStyle?.btnPadding || '8px 16px',\r\n '--btn-font-size': field()?.previewStyle?.btnFontSize || '14px'\r\n }\">{{ field()?.previewStyle?.closeText || 'Close' }}</button>\r\n </div>\r\n \r\n <pre class=\"text-content\"\r\n [id]=\"field()?.fieldName + '_text_content'\"\r\n [ngStyle]=\"{\r\n '--text-content-background': field()?.previewStyle?.textContentBackground || '#fff',\r\n '--text-content-color': field()?.previewStyle?.textContentColor || '#333',\r\n '--text-content-font-family': field()?.previewStyle?.textContentFontFamily || 'Consolas, Monaco, Courier New, monospace',\r\n '--text-content-font-size': field()?.previewStyle?.textContentFontSize || '14px',\r\n '--text-content-line-height': field()?.previewStyle?.textContentLineHeight || '1.5',\r\n '--text-content-padding': field()?.previewStyle?.textContentPadding || '20px',\r\n '--text-content-margin': field()?.previewStyle?.textContentMargin || '0'\r\n }\">{{ textContent }}</pre>\r\n </div>\r\n\r\n <!-- Unsupported File -->\r\n <div *ngIf=\"isUnsupported()\" \r\n class=\"preview-container unsupported-container\"\r\n [id]=\"field()?.fieldName + '_unsupported_container'\"\r\n [ngStyle]=\"{\r\n '--unsupported-background': field()?.previewStyle?.unsupportedBackground || '#fff',\r\n '--unsupported-border-radius': field()?.previewStyle?.unsupportedBorderRadius || '8px',\r\n '--unsupported-padding': field()?.previewStyle?.unsupportedPadding || '40px',\r\n '--unsupported-min-width': field()?.previewStyle?.unsupportedMinWidth || '300px'\r\n }\">\r\n \r\n <div class=\"unsupported-content\">\r\n <h3 [ngStyle]=\"{\r\n '--unsupported-title-color': field()?.previewStyle?.unsupportedTitleColor || '#333',\r\n '--unsupported-title-font-family': field()?.previewStyle?.unsupportedTitleFontFamily || 'Mulish',\r\n '--unsupported-title-font-size': field()?.previewStyle?.unsupportedTitleFontSize || '18px',\r\n '--unsupported-title-font-weight': field()?.previewStyle?.unsupportedTitleFontWeight || '600',\r\n '--unsupported-title-margin': field()?.previewStyle?.unsupportedTitleMargin || '0 0 20px 0'\r\n }\">{{ file()?.name }}</h3>\r\n \r\n <p [ngStyle]=\"{\r\n '--unsupported-text-color': field()?.previewStyle?.unsupportedTextColor || '#666',\r\n '--unsupported-text-font-size': field()?.previewStyle?.unsupportedTextFontSize || '14px',\r\n '--unsupported-text-margin': field()?.previewStyle?.unsupportedTextMargin || '0 0 30px 0'\r\n }\">{{ field()?.previewStyle?.unsupportedMessage || 'Preview not available for this file type' }}</p>\r\n \r\n <div class=\"unsupported-actions\"\r\n [ngStyle]=\"{\r\n '--actions-gap': field()?.previewStyle?.actionsGap || '15px',\r\n '--actions-justify': field()?.previewStyle?.actionsJustify || 'center'\r\n }\">\r\n \r\n <button (click)=\"downloadFile()\" \r\n type=\"button\"\r\n class=\"btn btn-primary\"\r\n [id]=\"field()?.fieldName + '_download'\"\r\n [ngStyle]=\"{\r\n '--btn-primary-background': field()?.previewStyle?.btnPrimaryBackground || '#007bff',\r\n '--btn-primary-color': field()?.previewStyle?.btnPrimaryColor || '#fff',\r\n '--btn-border-radius': field()?.previewStyle?.btnBorderRadius || '4px',\r\n '--btn-padding': field()?.previewStyle?.btnPadding || '8px 16px',\r\n '--btn-font-size': field()?.previewStyle?.btnFontSize || '14px'\r\n }\">{{ field()?.previewStyle?.downloadText || 'Download' }}</button>\r\n \r\n <button (click)=\"closePreview()\" \r\n type=\"button\"\r\n class=\"btn btn-secondary\"\r\n [id]=\"field()?.fieldName + '_close_unsupported'\"\r\n [ngStyle]=\"{\r\n '--btn-secondary-background': field()?.previewStyle?.btnSecondaryBackground || '#6c757d',\r\n '--btn-secondary-color': field()?.previewStyle?.btnSecondaryColor || '#fff',\r\n '--btn-border-radius': field()?.previewStyle?.btnBorderRadius || '4px',\r\n '--btn-padding': field()?.previewStyle?.btnPadding || '8px 16px',\r\n '--btn-font-size': field()?.previewStyle?.btnFontSize || '14px'\r\n }\">{{ field()?.previewStyle?.closeText || 'Close' }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".file-preview-modal{position:fixed;top:0;left:0;width:var(--modal-width, 100%);height:var(--modal-height, 100%);background:var(--modal-background, rgba(0, 0, 0, .9));z-index:var(--modal-z-index, 10000);display:flex;align-items:center;justify-content:center;overflow:auto}.preview-container{position:relative;max-width:90%;max-height:90%;display:flex;flex-direction:column;align-items:center;background:var(--image-container-background, transparent);border-radius:var(--image-container-border-radius, 8px);padding:var(--image-container-padding, 10px);margin:var(--image-container-margin, 0)}.close-btn{position:absolute;top:0;right:10px;width:40px!important;height:40px!important;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;background:var(--close-btn-background, rgba(255, 255, 255, .9));color:var(--close-btn-color, #000);border-radius:var(--close-btn-border-radius, 50%);font-size:var(--close-btn-font-size, 20px);font-weight:var(--close-btn-font-weight, bold);z-index:1001;box-shadow:1px 0 4px 1px #c7c7c7}.close-btn:hover{background:var(--close-btn-hover-background, rgba(255, 255, 255, 1))}.file-title{color:var(--title-color, #000000);font-family:var(--title-font-family, \"Mulish\");font-size:var(--title-font-size, 18px);font-weight:var(--title-font-weight, 600);margin:var(--title-margin, 0 0 10px 0);padding:var(--title-padding, 0 10px);text-align:center;word-break:break-all}.preview-image{max-width:var(--image-max-width, 100%);max-height:var(--image-max-height, 80vh);object-fit:var(--image-object-fit, contain);border-radius:var(--image-border-radius, 4px);box-shadow:var(--image-box-shadow, 0 4px 20px rgba(0, 0, 0, .3))}.preview-content{width:100%;height:80vh;border:none;border-radius:var(--content-border-radius, 4px)}.text-content{background:var(--text-background, #fff);color:var(--text-color, #000);padding:var(--text-padding, 20px);border-radius:var(--text-border-radius, 4px);max-width:var(--text-max-width, 800px);max-height:var(--text-max-height, 70vh);overflow:auto;white-space:pre-wrap;font-family:var(--text-font-family, \"Courier New, monospace\")}.action-buttons{margin-top:20px;display:flex;gap:10px}.action-btn{padding:var(--btn-padding, 8px 16px);background:var(--btn-background, #007bff);color:var(--btn-color, #fff);border:none;border-radius:var(--btn-border-radius, 4px);cursor:pointer;font-size:var(--btn-font-size, 14px)}.action-btn:hover{background:var(--btn-hover-background, #0056b3)}.unsupported-content{text-align:center;color:var(--unsupported-color, #fff);padding:var(--unsupported-padding, 40px)}.pdf-iframe{width:var(--iframe-width, 100%);height:var(--iframe-height, 80vh);min-height:var(--iframe-min-height, 600px);border:var(--iframe-border, none);border-radius:var(--iframe-border-radius, 0)}.pdf-container{width:var(--pdf-container-width, 95vw);height:var(--pdf-container-height, 95vh);background:var(--pdf-container-background, #fff);border-radius:var(--pdf-container-border-radius, 8px);display:flex;flex-direction:column;overflow:hidden}.pdf-header{background:var(--pdf-header-background, #f8f9fa);border-bottom:1px solid var(--pdf-header-border-color, #dee2e6);padding:var(--pdf-header-padding, 15px 20px);flex-shrink:0}.pdf-actions{display:flex;gap:10px;margin-top:10px}.btn{padding:var(--btn-padding, 8px 16px);border:none;border-radius:var(--btn-border-radius, 4px);cursor:pointer;font-size:var(--btn-font-size, 14px);font-weight:var(--btn-font-weight, 400);text-decoration:none;display:inline-block}.btn-primary{background:var(--btn-primary-background, #007bff);color:var(--btn-primary-color, #fff)}.btn-primary:hover{background:var(--btn-primary-hover-background, #0056b3)}.btn-danger{background:var(--btn-danger-background, #dc3545);color:var(--btn-danger-color, #fff)}.btn-danger:hover{background:var(--btn-danger-hover-background, #c82333)}.pdf-actions-top-right{position:absolute;top:var(--actions-top, 15px);right:var(--actions-right, 15px);display:flex;gap:var(--actions-gap, 10px);z-index:1001}.action-icon-btn{width:40px;height:40px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--icon-btn-border-radius, 50%);font-size:var(--icon-btn-font-size, 16px);transition:background-color .2s ease}.open-new-tab-btn{background:var(--icon-btn-background, rgba(255, 255, 255, .9));color:var(--icon-btn-color, #007bff)}.open-new-tab-btn:hover{background:var(--icon-btn-hover-background, rgba(255, 255, 255, 1))}.pdf-title{color:var(--pdf-title-color, #333);font-family:var(--pdf-title-font-family, \"Mulish\");font-size:var(--pdf-title-font-size, 16px);font-weight:var(--pdf-title-font-weight, 600);margin:var(--pdf-title-margin, 0 20px 10px 20px);padding:var(--pdf-title-padding, 0);text-align:center}.pdf-iframe{width:var(--iframe-width, 100%);height:var(--iframe-height, calc(100% - 80px) );min-height:var(--iframe-min-height, 600px);border:var(--iframe-border, none);border-radius:var(--iframe-border-radius, 0);margin:0 20px 20px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
87
|
+
}
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilePreviewComponent, decorators: [{
|
|
89
|
+
type: Component,
|
|
90
|
+
args: [{ selector: 'lib-file-preview', standalone: true, imports: [CommonModule], template: "<div class=\"file-preview-modal\" \r\n *ngIf=\"field() && field()?.isVisible\"\r\n [id]=\"field()?.fieldName + '_preview'\"\r\n (click)=\"onBackdropClick($event)\"\r\n (keydown.escape)=\"closePreview()\"\r\n [ngStyle]=\"{\r\n '--modal-background': field()?.previewStyle?.modalBackground || 'rgba(0, 0, 0, 0.9)',\r\n '--modal-z-index': field()?.previewStyle?.zIndex || '10000',\r\n '--modal-width': field()?.previewStyle?.width || '100%',\r\n '--modal-height': field()?.previewStyle?.height || '100%'\r\n }\">\r\n \r\n <!-- Image Preview -->\r\n <div *ngIf=\"isImage()\" \r\n class=\"preview-container image-container\"\r\n [id]=\"field()?.fieldName + '_image_container'\"\r\n [ngStyle]=\"{\r\n '--image-container-background': field()?.previewStyle?.imageContainerBackground || 'transparent',\r\n '--image-container-border-radius': field()?.previewStyle?.imageContainerBorderRadius || '8px',\r\n '--image-container-padding': field()?.previewStyle?.imageContainerPadding || '20px',\r\n '--image-container-margin': field()?.previewStyle?.imageContainerMargin || '0'\r\n }\">\r\n \r\n <button class=\"close-btn\" \r\n type=\"button\"\r\n [id]=\"field()?.fieldName + '_close_btn'\"\r\n (click)=\"closePreview()\" \r\n [title]=\"field()?.previewStyle?.closeBtnTitle || 'Close'\"\r\n [ngStyle]=\"{\r\n '--close-btn-background': field()?.previewStyle?.closeBtnBackground || 'rgba(255, 255, 255, 0.9)',\r\n '--close-btn-color': field()?.previewStyle?.closeBtnColor || '#000',\r\n '--close-btn-border-radius': field()?.previewStyle?.closeBtnBorderRadius || '50%',\r\n '--close-btn-font-size': field()?.previewStyle?.closeBtnFontSize || '20px',\r\n '--close-btn-font-weight': field()?.previewStyle?.closeBtnFontWeight || 'bold',\r\n '--close-btn-hover-background': field()?.previewStyle?.closeBtnHoverBackground || 'rgba(255, 255, 255, 1)'\r\n }\">×</button>\r\n \r\n <h3 class=\"file-title\"\r\n [ngStyle]=\"{\r\n '--title-color': field()?.previewStyle?.titleColor || '#fff',\r\n '--title-font-family': field()?.previewStyle?.titleFontFamily || 'Mulish',\r\n '--title-font-size': field()?.previewStyle?.titleFontSize || '18px',\r\n '--title-font-weight': field()?.previewStyle?.titleFontWeight || '600',\r\n '--title-margin': field()?.previewStyle?.titleMargin || '0 0 10px 0',\r\n '--title-padding': field()?.previewStyle?.titlePadding || '0 10px'\r\n }\">{{ file()?.name }}</h3>\r\n \r\n <img [src]=\"fileDataUrl\" \r\n [alt]=\"file()?.name\" \r\n [id]=\"field()?.fieldName + '_preview_image'\"\r\n class=\"preview-image\"\r\n [ngStyle]=\"{\r\n '--image-max-width': field()?.previewStyle?.imageMaxWidth || '100%',\r\n '--image-max-height': field()?.previewStyle?.imageMaxHeight || '80vh',\r\n '--image-border-radius': field()?.previewStyle?.imageBorderRadius || '8px',\r\n '--image-box-shadow': field()?.previewStyle?.imageBoxShadow || '0 4px 20px rgba(0,0,0,0.5)',\r\n '--image-object-fit': field()?.previewStyle?.imageObjectFit || 'contain'\r\n }\" />\r\n </div>\r\n\r\n <!-- PDF Preview -->\r\n <div *ngIf=\"isPdf()\" \r\n class=\"preview-container pdf-container\"\r\n [id]=\"field()?.fieldName + '_pdf_container'\"\r\n [ngStyle]=\"{\r\n '--pdf-container-background': field()?.previewStyle?.pdfContainerBackground || '#fff',\r\n '--pdf-container-border-radius': field()?.previewStyle?.pdfContainerBorderRadius || '8px',\r\n '--pdf-container-width': field()?.previewStyle?.pdfContainerWidth || '95vw',\r\n '--pdf-container-height': field()?.previewStyle?.pdfContainerHeight || '95vh'\r\n }\">\r\n \r\n <!-- Top-right action buttons -->\r\n <div class=\"pdf-actions-top-right\"\r\n [ngStyle]=\"{\r\n '--actions-top': field()?.previewStyle?.actionsTop || '15px',\r\n '--actions-right': field()?.previewStyle?.actionsRight || '15px',\r\n '--actions-gap': field()?.previewStyle?.actionsGap || '10px'\r\n }\">\r\n \r\n <button (click)=\"closePreview()\" \r\n type=\"button\"\r\n class=\"action-icon-btn close-btn\"\r\n [id]=\"field()?.fieldName + '_close_pdf'\"\r\n [title]=\"field()?.previewStyle?.closeBtnTitle || 'Close'\"\r\n [ngStyle]=\"{\r\n '--close-btn-background': field()?.previewStyle?.closeBtnBackground || 'rgba(255, 255, 255, 0.9)',\r\n '--close-btn-color': field()?.previewStyle?.closeBtnColor || '#000',\r\n '--close-btn-border-radius': field()?.previewStyle?.closeBtnBorderRadius || '50%',\r\n '--close-btn-font-size': field()?.previewStyle?.closeBtnFontSize || '20px',\r\n '--close-btn-font-weight': field()?.previewStyle?.closeBtnFontWeight || 'bold',\r\n '--close-btn-hover-background': field()?.previewStyle?.closeBtnHoverBackground || 'rgba(255, 255, 255, 1)'\r\n }\">×</button>\r\n </div>\r\n \r\n <!-- File title -->\r\n <h3 class=\"file-title pdf-title\"\r\n [ngStyle]=\"{\r\n '--pdf-title-color': field()?.previewStyle?.pdfTitleColor || '#333',\r\n '--pdf-title-font-family': field()?.previewStyle?.pdfTitleFontFamily || 'Mulish',\r\n '--pdf-title-font-size': field()?.previewStyle?.pdfTitleFontSize || '16px',\r\n '--pdf-title-font-weight': field()?.previewStyle?.pdfTitleFontWeight || '600',\r\n '--pdf-title-margin': field()?.previewStyle?.pdfTitleMargin || '0px 20px 10px 20px',\r\n '--pdf-title-padding': field()?.previewStyle?.pdfTitlePadding || '0'\r\n }\">{{ file()?.name }}</h3>\r\n \r\n <iframe [src]=\"safeFileUrl\" \r\n [title]=\"file()?.name\" \r\n [id]=\"field()?.fieldName + '_pdf_iframe'\"\r\n class=\"pdf-iframe\"\r\n [ngStyle]=\"{\r\n '--iframe-border': field()?.previewStyle?.iframeBorder || 'none',\r\n '--iframe-border-radius': field()?.previewStyle?.iframeBorderRadius || '0',\r\n '--iframe-width': field()?.previewStyle?.iframeWidth || '100%',\r\n '--iframe-height': field()?.previewStyle?.iframeHeight || 'calc(100% - 80px)',\r\n '--iframe-min-height': field()?.previewStyle?.iframeMinHeight || '600px'\r\n }\"></iframe>\r\n </div>\r\n\r\n <!-- Text Preview -->\r\n <div *ngIf=\"isText()\" \r\n class=\"preview-container text-container\"\r\n [id]=\"field()?.fieldName + '_text_container'\"\r\n [ngStyle]=\"{\r\n '--text-container-background': field()?.previewStyle?.textContainerBackground || '#fff',\r\n '--text-container-border-radius': field()?.previewStyle?.textContainerBorderRadius || '8px',\r\n '--text-container-width': field()?.previewStyle?.textContainerWidth || '95vw',\r\n '--text-container-height': field()?.previewStyle?.textContainerHeight || '95vh'\r\n }\">\r\n \r\n <div class=\"text-header\"\r\n [id]=\"field()?.fieldName + '_text_header'\"\r\n [ngStyle]=\"{\r\n '--text-header-background': field()?.previewStyle?.textHeaderBackground || '#f8f9fa',\r\n '--text-header-border-color': field()?.previewStyle?.textHeaderBorderColor || '#dee2e6',\r\n '--text-header-padding': field()?.previewStyle?.textHeaderPadding || '15px 20px'\r\n }\">\r\n \r\n <h3 class=\"file-title\"\r\n [ngStyle]=\"{\r\n '--text-title-color': field()?.previewStyle?.textTitleColor || '#333',\r\n '--text-title-font-family': field()?.previewStyle?.textTitleFontFamily || 'Mulish',\r\n '--text-title-font-size': field()?.previewStyle?.textTitleFontSize || '16px',\r\n '--text-title-font-weight': field()?.previewStyle?.textTitleFontWeight || '600',\r\n '--text-title-margin': field()?.previewStyle?.textTitleMargin || '0'\r\n }\">{{ file()?.name }}</h3>\r\n \r\n <button (click)=\"closePreview()\" \r\n type=\"button\"\r\n class=\"btn btn-danger\"\r\n [id]=\"field()?.fieldName + '_close_text'\"\r\n [ngStyle]=\"{\r\n '--btn-danger-background': field()?.previewStyle?.btnDangerBackground || '#dc3545',\r\n '--btn-danger-color': field()?.previewStyle?.btnDangerColor || '#fff',\r\n '--btn-border-radius': field()?.previewStyle?.btnBorderRadius || '4px',\r\n '--btn-padding': field()?.previewStyle?.btnPadding || '8px 16px',\r\n '--btn-font-size': field()?.previewStyle?.btnFontSize || '14px'\r\n }\">{{ field()?.previewStyle?.closeText || 'Close' }}</button>\r\n </div>\r\n \r\n <pre class=\"text-content\"\r\n [id]=\"field()?.fieldName + '_text_content'\"\r\n [ngStyle]=\"{\r\n '--text-content-background': field()?.previewStyle?.textContentBackground || '#fff',\r\n '--text-content-color': field()?.previewStyle?.textContentColor || '#333',\r\n '--text-content-font-family': field()?.previewStyle?.textContentFontFamily || 'Consolas, Monaco, Courier New, monospace',\r\n '--text-content-font-size': field()?.previewStyle?.textContentFontSize || '14px',\r\n '--text-content-line-height': field()?.previewStyle?.textContentLineHeight || '1.5',\r\n '--text-content-padding': field()?.previewStyle?.textContentPadding || '20px',\r\n '--text-content-margin': field()?.previewStyle?.textContentMargin || '0'\r\n }\">{{ textContent }}</pre>\r\n </div>\r\n\r\n <!-- Unsupported File -->\r\n <div *ngIf=\"isUnsupported()\" \r\n class=\"preview-container unsupported-container\"\r\n [id]=\"field()?.fieldName + '_unsupported_container'\"\r\n [ngStyle]=\"{\r\n '--unsupported-background': field()?.previewStyle?.unsupportedBackground || '#fff',\r\n '--unsupported-border-radius': field()?.previewStyle?.unsupportedBorderRadius || '8px',\r\n '--unsupported-padding': field()?.previewStyle?.unsupportedPadding || '40px',\r\n '--unsupported-min-width': field()?.previewStyle?.unsupportedMinWidth || '300px'\r\n }\">\r\n \r\n <div class=\"unsupported-content\">\r\n <h3 [ngStyle]=\"{\r\n '--unsupported-title-color': field()?.previewStyle?.unsupportedTitleColor || '#333',\r\n '--unsupported-title-font-family': field()?.previewStyle?.unsupportedTitleFontFamily || 'Mulish',\r\n '--unsupported-title-font-size': field()?.previewStyle?.unsupportedTitleFontSize || '18px',\r\n '--unsupported-title-font-weight': field()?.previewStyle?.unsupportedTitleFontWeight || '600',\r\n '--unsupported-title-margin': field()?.previewStyle?.unsupportedTitleMargin || '0 0 20px 0'\r\n }\">{{ file()?.name }}</h3>\r\n \r\n <p [ngStyle]=\"{\r\n '--unsupported-text-color': field()?.previewStyle?.unsupportedTextColor || '#666',\r\n '--unsupported-text-font-size': field()?.previewStyle?.unsupportedTextFontSize || '14px',\r\n '--unsupported-text-margin': field()?.previewStyle?.unsupportedTextMargin || '0 0 30px 0'\r\n }\">{{ field()?.previewStyle?.unsupportedMessage || 'Preview not available for this file type' }}</p>\r\n \r\n <div class=\"unsupported-actions\"\r\n [ngStyle]=\"{\r\n '--actions-gap': field()?.previewStyle?.actionsGap || '15px',\r\n '--actions-justify': field()?.previewStyle?.actionsJustify || 'center'\r\n }\">\r\n \r\n <button (click)=\"downloadFile()\" \r\n type=\"button\"\r\n class=\"btn btn-primary\"\r\n [id]=\"field()?.fieldName + '_download'\"\r\n [ngStyle]=\"{\r\n '--btn-primary-background': field()?.previewStyle?.btnPrimaryBackground || '#007bff',\r\n '--btn-primary-color': field()?.previewStyle?.btnPrimaryColor || '#fff',\r\n '--btn-border-radius': field()?.previewStyle?.btnBorderRadius || '4px',\r\n '--btn-padding': field()?.previewStyle?.btnPadding || '8px 16px',\r\n '--btn-font-size': field()?.previewStyle?.btnFontSize || '14px'\r\n }\">{{ field()?.previewStyle?.downloadText || 'Download' }}</button>\r\n \r\n <button (click)=\"closePreview()\" \r\n type=\"button\"\r\n class=\"btn btn-secondary\"\r\n [id]=\"field()?.fieldName + '_close_unsupported'\"\r\n [ngStyle]=\"{\r\n '--btn-secondary-background': field()?.previewStyle?.btnSecondaryBackground || '#6c757d',\r\n '--btn-secondary-color': field()?.previewStyle?.btnSecondaryColor || '#fff',\r\n '--btn-border-radius': field()?.previewStyle?.btnBorderRadius || '4px',\r\n '--btn-padding': field()?.previewStyle?.btnPadding || '8px 16px',\r\n '--btn-font-size': field()?.previewStyle?.btnFontSize || '14px'\r\n }\">{{ field()?.previewStyle?.closeText || 'Close' }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".file-preview-modal{position:fixed;top:0;left:0;width:var(--modal-width, 100%);height:var(--modal-height, 100%);background:var(--modal-background, rgba(0, 0, 0, .9));z-index:var(--modal-z-index, 10000);display:flex;align-items:center;justify-content:center;overflow:auto}.preview-container{position:relative;max-width:90%;max-height:90%;display:flex;flex-direction:column;align-items:center;background:var(--image-container-background, transparent);border-radius:var(--image-container-border-radius, 8px);padding:var(--image-container-padding, 10px);margin:var(--image-container-margin, 0)}.close-btn{position:absolute;top:0;right:10px;width:40px!important;height:40px!important;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;background:var(--close-btn-background, rgba(255, 255, 255, .9));color:var(--close-btn-color, #000);border-radius:var(--close-btn-border-radius, 50%);font-size:var(--close-btn-font-size, 20px);font-weight:var(--close-btn-font-weight, bold);z-index:1001;box-shadow:1px 0 4px 1px #c7c7c7}.close-btn:hover{background:var(--close-btn-hover-background, rgba(255, 255, 255, 1))}.file-title{color:var(--title-color, #000000);font-family:var(--title-font-family, \"Mulish\");font-size:var(--title-font-size, 18px);font-weight:var(--title-font-weight, 600);margin:var(--title-margin, 0 0 10px 0);padding:var(--title-padding, 0 10px);text-align:center;word-break:break-all}.preview-image{max-width:var(--image-max-width, 100%);max-height:var(--image-max-height, 80vh);object-fit:var(--image-object-fit, contain);border-radius:var(--image-border-radius, 4px);box-shadow:var(--image-box-shadow, 0 4px 20px rgba(0, 0, 0, .3))}.preview-content{width:100%;height:80vh;border:none;border-radius:var(--content-border-radius, 4px)}.text-content{background:var(--text-background, #fff);color:var(--text-color, #000);padding:var(--text-padding, 20px);border-radius:var(--text-border-radius, 4px);max-width:var(--text-max-width, 800px);max-height:var(--text-max-height, 70vh);overflow:auto;white-space:pre-wrap;font-family:var(--text-font-family, \"Courier New, monospace\")}.action-buttons{margin-top:20px;display:flex;gap:10px}.action-btn{padding:var(--btn-padding, 8px 16px);background:var(--btn-background, #007bff);color:var(--btn-color, #fff);border:none;border-radius:var(--btn-border-radius, 4px);cursor:pointer;font-size:var(--btn-font-size, 14px)}.action-btn:hover{background:var(--btn-hover-background, #0056b3)}.unsupported-content{text-align:center;color:var(--unsupported-color, #fff);padding:var(--unsupported-padding, 40px)}.pdf-iframe{width:var(--iframe-width, 100%);height:var(--iframe-height, 80vh);min-height:var(--iframe-min-height, 600px);border:var(--iframe-border, none);border-radius:var(--iframe-border-radius, 0)}.pdf-container{width:var(--pdf-container-width, 95vw);height:var(--pdf-container-height, 95vh);background:var(--pdf-container-background, #fff);border-radius:var(--pdf-container-border-radius, 8px);display:flex;flex-direction:column;overflow:hidden}.pdf-header{background:var(--pdf-header-background, #f8f9fa);border-bottom:1px solid var(--pdf-header-border-color, #dee2e6);padding:var(--pdf-header-padding, 15px 20px);flex-shrink:0}.pdf-actions{display:flex;gap:10px;margin-top:10px}.btn{padding:var(--btn-padding, 8px 16px);border:none;border-radius:var(--btn-border-radius, 4px);cursor:pointer;font-size:var(--btn-font-size, 14px);font-weight:var(--btn-font-weight, 400);text-decoration:none;display:inline-block}.btn-primary{background:var(--btn-primary-background, #007bff);color:var(--btn-primary-color, #fff)}.btn-primary:hover{background:var(--btn-primary-hover-background, #0056b3)}.btn-danger{background:var(--btn-danger-background, #dc3545);color:var(--btn-danger-color, #fff)}.btn-danger:hover{background:var(--btn-danger-hover-background, #c82333)}.pdf-actions-top-right{position:absolute;top:var(--actions-top, 15px);right:var(--actions-right, 15px);display:flex;gap:var(--actions-gap, 10px);z-index:1001}.action-icon-btn{width:40px;height:40px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--icon-btn-border-radius, 50%);font-size:var(--icon-btn-font-size, 16px);transition:background-color .2s ease}.open-new-tab-btn{background:var(--icon-btn-background, rgba(255, 255, 255, .9));color:var(--icon-btn-color, #007bff)}.open-new-tab-btn:hover{background:var(--icon-btn-hover-background, rgba(255, 255, 255, 1))}.pdf-title{color:var(--pdf-title-color, #333);font-family:var(--pdf-title-font-family, \"Mulish\");font-size:var(--pdf-title-font-size, 16px);font-weight:var(--pdf-title-font-weight, 600);margin:var(--pdf-title-margin, 0 20px 10px 20px);padding:var(--pdf-title-padding, 0);text-align:center}.pdf-iframe{width:var(--iframe-width, 100%);height:var(--iframe-height, calc(100% - 80px) );min-height:var(--iframe-min-height, 600px);border:var(--iframe-border, none);border-radius:var(--iframe-border-radius, 0);margin:0 20px 20px}\n"] }]
|
|
91
|
+
}], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { closed: [{
|
|
92
|
+
type: Output
|
|
93
|
+
}] } });
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hc3Rlci1jb250cm9sL3NyYy9saWIvZmlsZS1wcmV2aWV3L2ZpbGUtcHJldmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL2ZpbGUtcHJldmlldy9maWxlLXByZXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7O0FBVTFGLE1BQU0sT0FBTyxvQkFBb0I7SUFVWDtJQVRwQixLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBTyxDQUFDO0lBQzlCLElBQUksR0FBRyxLQUFLLENBQWMsSUFBSSxDQUFDLENBQUM7SUFFdEIsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFNUMsV0FBVyxHQUFRLEVBQUUsQ0FBQztJQUN0QixhQUFhLEdBQVEsRUFBRSxDQUFDO0lBQ3hCLFdBQVcsR0FBUSxFQUFFLENBQUM7SUFDdEIsV0FBVyxHQUEyQixJQUFJLENBQUM7SUFDM0MsWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztJQUFHLENBQUM7SUFDL0MsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxDQUFDO0lBQ3pELENBQUM7SUFFQSxLQUFLO1FBQ0osT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxLQUFLLGlCQUFpQixJQUFJLEtBQUssQ0FBQztJQUMxRCxDQUFDO0lBRUQsTUFBTTtR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TUFBTSxDQUFDO1FBRTVCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWhDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7d0dBdEZVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLG1XQ1hqQyw2eGFBc09NLGk3SkQvTk0sWUFBWTs7NEZBSVgsb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7aUZBUWIsTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1maWxlLXByZXZpZXcnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtcHJldmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2ZpbGUtcHJldmlldy5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsZVByZXZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgZmllbGQgPSBpbnB1dC5yZXF1aXJlZDxhbnk+KCk7XHJcbiAgZmlsZSA9IGlucHV0PEZpbGUgfCBudWxsPihudWxsKTtcclxuICBcclxuICBAT3V0cHV0KCkgY2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBmaWxlRGF0YVVybDogYW55ID0gJyc7XHJcbiAgZmlsZU9iamVjdFVybDogYW55ID0gJyc7XHJcbiAgdGV4dENvbnRlbnQ6IGFueSA9ICcnO1xyXG4gIHNhZmVGaWxlVXJsOiBTYWZlUmVzb3VyY2VVcmwgfCBudWxsID0gbnVsbDsgXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cclxuICBpc0ltYWdlKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5maWxlKCk/LnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJykgfHwgZmFsc2U7XHJcbiAgfVxyXG5cclxuICAgaXNQZGYoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLmZpbGUoKT8udHlwZSA9PT0gJ2FwcGxpY2F0aW9uL3BkZicgfHwgZmFsc2U7XHJcbiAgfVxyXG5cclxuICBpc1RleHQoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLmZpbGUoKT8udHlwZS5zdGFydHNXaXRoKCd0ZXh0LycpIHx8IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgaXNVbnN1cHBvcnRlZCgpOiBhbnkge1xyXG4gICAgcmV0dXJuICF0aGlzLmlzSW1hZ2UoKSAmJiAhdGhpcy5pc1BkZigpICYmICF0aGlzLmlzVGV4dCgpOyAgLy8g4pyFIENvcnJlY3RcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nO1xyXG4gICAgdGhpcy5sb2FkRmlsZUNvbnRlbnQoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICcnO1xyXG4gICAgaWYgKHRoaXMuZmlsZU9iamVjdFVybCkge1xyXG4gICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKHRoaXMuZmlsZU9iamVjdFVybCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsb2FkRmlsZUNvbnRlbnQoKSB7XHJcbiAgY29uc3QgY3VycmVudEZpbGUgPSB0aGlzLmZpbGUoKTtcclxuICBpZiAoIWN1cnJlbnRGaWxlKSByZXR1cm47XHJcblxyXG4gIGlmICh0aGlzLmlzSW1hZ2UoKSkge1xyXG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgIHJlYWRlci5vbmxvYWQgPSAoZSkgPT4ge1xyXG4gICAgICB0aGlzLmZpbGVEYXRhVXJsID0gZS50YXJnZXQ/LnJlc3VsdCBhcyBhbnk7XHJcbiAgICB9O1xyXG4gICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoY3VycmVudEZpbGUpO1xyXG4gIH0gZWxzZSBpZiAodGhpcy5pc1BkZigpKSB7XHJcbiAgICB0aGlzLmZpbGVPYmplY3RVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGN1cnJlbnRGaWxlKTtcclxuICAgIHRoaXMuc2FmZUZpbGVVcmwgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodGhpcy5maWxlT2JqZWN0VXJsKTtcclxuICB9IGVsc2UgaWYgKHRoaXMuaXNUZXh0KCkpIHtcclxuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICByZWFkZXIub25sb2FkID0gKGUpID0+IHtcclxuICAgICAgdGhpcy50ZXh0Q29udGVudCA9IGUudGFyZ2V0Py5yZXN1bHQgYXMgYW55O1xyXG4gICAgfTtcclxuICAgIHJlYWRlci5yZWFkQXNUZXh0KGN1cnJlbnRGaWxlKTtcclxuICB9XHJcbn1cclxuXHJcbiAgb25CYWNrZHJvcENsaWNrKGV2ZW50OiBFdmVudCkge1xyXG4gICAgaWYgKGV2ZW50LnRhcmdldCA9PT0gZXZlbnQuY3VycmVudFRhcmdldCkge1xyXG4gICAgICB0aGlzLmNsb3NlUHJldmlldygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VQcmV2aWV3KCkge1xyXG4gICAgdGhpcy5jbG9zZWQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgZG93bmxvYWRGaWxlKCkge1xyXG4gICAgY29uc3QgY3VycmVudEZpbGUgPSB0aGlzLmZpbGUoKTtcclxuICAgIGlmICghY3VycmVudEZpbGUpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCB1cmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGN1cnJlbnRGaWxlKTtcclxuICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICBsaW5rLmhyZWYgPSB1cmw7XHJcbiAgICBsaW5rLmRvd25sb2FkID0gY3VycmVudEZpbGUubmFtZTtcclxuICAgIGxpbmsuc3R5bGUuZGlzcGxheSA9ICdub25lJztcclxuICAgIFxyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcclxuICAgIGxpbmsuY2xpY2soKTtcclxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XHJcbiAgICBcclxuICAgIHNldFRpbWVvdXQoKCkgPT4gVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpLCAxMDApO1xyXG4gIH1cclxufSIsIjxkaXYgY2xhc3M9XCJmaWxlLXByZXZpZXctbW9kYWxcIiBcclxuICAgICAqbmdJZj1cImZpZWxkKCkgJiYgZmllbGQoKT8uaXNWaXNpYmxlXCJcclxuICAgICBbaWRdPVwiZmllbGQoKT8uZmllbGROYW1lICsgJ19wcmV2aWV3J1wiXHJcbiAgICAgKGNsaWNrKT1cIm9uQmFja2Ryb3BDbGljaygkZXZlbnQpXCJcclxuICAgICAoa2V5ZG93bi5lc2NhcGUpPVwiY2xvc2VQcmV2aWV3KClcIlxyXG4gICAgIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICctLW1vZGFsLWJhY2tncm91bmQnOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/Lm1vZGFsQmFja2dyb3VuZCB8fCAncmdiYSgwLCAwLCAwLCAwLjkpJyxcclxuICAgICAgICctLW1vZGFsLXotaW5kZXgnOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LnpJbmRleCB8fCAnMTAwMDAnLFxyXG4gICAgICAgJy0tbW9kYWwtd2lkdGgnOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LndpZHRoIHx8ICcxMDAlJyxcclxuICAgICAgICctLW1vZGFsLWhlaWdodCc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8uaGVpZ2h0IHx8ICcxMDAlJ1xyXG4gICAgIH1cIj5cclxuICBcclxuICA8IS0tIEltYWdlIFByZXZpZXcgLS0+XHJcbiAgPGRpdiAqbmdJZj1cImlzSW1hZ2UoKVwiIFxyXG4gICAgICAgY2xhc3M9XCJwcmV2aWV3LWNvbnRhaW5lciBpbWFnZS1jb250YWluZXJcIlxyXG4gICAgICAgW2lkXT1cImZpZWxkKCk/LmZpZWxkTmFtZSArICdfaW1hZ2VfY29udGFpbmVyJ1wiXHJcbiAgICAgICBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICctLWltYWdlLWNvbnRhaW5lci1iYWNrZ3JvdW5kJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy5pbWFnZUNvbnRhaW5lckJhY2tncm91bmQgfHwgJ3RyYW5zcGFyZW50JyxcclxuICAgICAgICAgJy0taW1hZ2UtY29udGFpbmVyLWJvcmRlci1yYWRpdXMnOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LmltYWdlQ29udGFpbmVyQm9yZGVyUmFkaXVzIHx8ICc4cHgnLFxyXG4gICAgICAgICAnLS1pbWFnZS1jb250YWluZXItcGFkZGluZyc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8uaW1hZ2VDb250YWluZXJQYWRkaW5nIHx8ICcyMHB4JyxcclxuICAgICAgICAgJy0taW1hZ2UtY29udGFpbmVyLW1hcmdpbic6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8uaW1hZ2VDb250YWluZXJNYXJnaW4gfHwgJzAnXHJcbiAgICAgICB9XCI+XHJcbiAgICBcclxuICAgIDxidXR0b24gY2xhc3M9XCJjbG9zZS1idG5cIiBcclxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgIFtpZF09XCJmaWVsZCgpPy5maWVsZE5hbWUgKyAnX2Nsb3NlX2J0bidcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VQcmV2aWV3KClcIiBcclxuICAgICAgICAgICAgW3RpdGxlXT1cImZpZWxkKCk/LnByZXZpZXdTdHlsZT8uY2xvc2VCdG5UaXRsZSB8fCAnQ2xvc2UnXCJcclxuICAgICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICctLWNsb3NlLWJ0bi1iYWNrZ3JvdW5kJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy5jbG9zZUJ0bkJhY2tncm91bmQgfHwgJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMC45KScsXHJcbiAgICAgICAgICAgICAgJy0tY2xvc2UtYnRuLWNvbG9yJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy5jbG9zZUJ0bkNvbG9yIHx8ICcjMDAwJyxcclxuICAgICAgICAgICAgICAnLS1jbG9zZS1idG4tYm9yZGVyLXJhZGl1cyc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8uY2xvc2VCdG5Cb3JkZXJSYWRpdXMgfHwgJzUwJScsXHJcbiAgICAgICAgICAgICAgJy0tY2xvc2UtYnRuLWZvbnQtc2l6ZSc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8uY2xvc2VCdG5Gb250U2l6ZSB8fCAnMjBweCcsXHJcbiAgICAgICAgICAgICAgJy0tY2xvc2UtYnRuLWZvbnQtd2VpZ2h0JzogZmllbGQoKT8ucHJldmlld1N0eWxlPy5jbG9zZUJ0bkZvbnRXZWlnaHQgfHwgJ2JvbGQnLFxyXG4gICAgICAgICAgICAgICctLWNsb3NlLWJ0bi1ob3Zlci1iYWNrZ3JvdW5kJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy5jbG9zZUJ0bkhvdmVyQmFja2dyb3VuZCB8fCAncmdiYSgyNTUsIDI1NSwgMjU1LCAxKSdcclxuICAgICAgICAgICAgfVwiPiZ0aW1lczs8L2J1dHRvbj5cclxuICAgIFxyXG4gICAgPGgzIGNsYXNzPVwiZmlsZS10aXRsZVwiXHJcbiAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgJy0tdGl0bGUtY29sb3InOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LnRpdGxlQ29sb3IgfHwgJyNmZmYnLFxyXG4gICAgICAgICAgJy0tdGl0bGUtZm9udC1mYW1pbHknOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LnRpdGxlRm9udEZhbWlseSB8fCAnTXVsaXNoJyxcclxuICAgICAgICAgICctLXRpdGxlLWZvbnQtc2l6ZSc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8udGl0bGVGb250U2l6ZSB8fCAnMThweCcsXHJcbiAgICAgICAgICAnLS10aXRsZS1mb250LXdlaWdodCc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8udGl0bGVGb250V2VpZ2h0IHx8ICc2MDAnLFxyXG4gICAgICAgICAgJy0tdGl0bGUtbWFyZ2luJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy50aXRsZU1hcmdpbiB8fCAnMCAwIDEwcHggMCcsXHJcbiAgICAgICAgICAnLS10aXRsZS1wYWRkaW5nJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy50aXRsZVBhZGRpbmcgfHwgJzAgMTBweCdcclxuICAgICAgICB9XCI+e3sgZmlsZSgpPy5uYW1lIH19PC9oMz5cclxuICAgIFxyXG4gICAgPGltZyBbc3JjXT1cImZpbGVEYXRhVXJsXCIgXHJcbiAgICAgICAgIFthbHRdPVwiZmlsZSgpPy5uYW1lXCIgXHJcbiAgICAgICAgIFtpZF09XCJmaWVsZCgpPy5maWVsZE5hbWUgKyAnX3ByZXZpZXdfaW1hZ2UnXCJcclxuICAgICAgICAgY2xhc3M9XCJwcmV2aWV3LWltYWdlXCJcclxuICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICctLWltYWdlLW1heC13aWR0aCc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8uaW1hZ2VNYXhXaWR0aCB8fCAnMTAwJScsXHJcbiAgICAgICAgICAgJy0taW1hZ2UtbWF4LWhlaWdodCc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8uaW1hZ2VNYXhIZWlnaHQgfHwgJzgwdmgnLFxyXG4gICAgICAgICAgICctLWltYWdlLWJvcmRlci1yYWRpdXMnOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LmltYWdlQm9yZGVyUmFkaXVzIHx8ICc4cHgnLFxyXG4gICAgICAgICAgICctLWltYWdlLWJveC1zaGFkb3cnOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LmltYWdlQm94U2hhZG93IHx8ICcwIDRweCAyMHB4IHJnYmEoMCwwLDAsMC41KScsXHJcbiAgICAgICAgICAgJy0taW1hZ2Utb2JqZWN0LWZpdCc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8uaW1hZ2VPYmplY3RGaXQgfHwgJ2NvbnRhaW4nXHJcbiAgICAgICAgIH1cIiAvPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8IS0tIFBERiBQcmV2aWV3IC0tPlxyXG4gIDxkaXYgKm5nSWY9XCJpc1BkZigpXCIgXHJcbiAgICAgICBjbGFzcz1cInByZXZpZXctY29udGFpbmVyIHBkZi1jb250YWluZXJcIlxyXG4gICAgICAgW2lkXT1cImZpZWxkKCk/LmZpZWxkTmFtZSArICdfcGRmX2NvbnRhaW5lcidcIlxyXG4gICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAnLS1wZGYtY29udGFpbmVyLWJhY2tncm91bmQnOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LnBkZkNvbnRhaW5lckJhY2tncm91bmQgfHwgJyNmZmYnLFxyXG4gICAgICAgICAnLS1wZGYtY29udGFpbmVyLWJvcmRlci1yYWRpdXMnOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LnBkZkNvbnRhaW5lckJvcmRlclJhZGl1cyB8fCAnOHB4JyxcclxuICAgICAgICAgJy0tcGRmLWNvbnRhaW5lci13aWR0aCc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8ucGRmQ29udGFpbmVyV2lkdGggfHwgJzk1dncnLFxyXG4gICAgICAgICAnLS1wZGYtY29udGFpbmVyLWhlaWdodCc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8ucGRmQ29udGFpbmVySGVpZ2h0IHx8ICc5NXZoJ1xyXG4gICAgICAgfVwiPlxyXG4gICAgXHJcbiAgICA8IS0tIFRvcC1yaWdodCBhY3Rpb24gYnV0dG9ucyAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJwZGYtYWN0aW9ucy10b3AtcmlnaHRcIlxyXG4gICAgICAgICBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgJy0tYWN0aW9ucy10b3AnOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LmFjdGlvbnNUb3AgfHwgJzE1cHgnLFxyXG4gICAgICAgICAgICctLWFjdGlvbnMtcmlnaHQnOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LmFjdGlvbnNSaWdodCB8fCAnMTVweCcsXHJcbiAgICAgICAgICAgJy0tYWN0aW9ucy1nYXAnOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LmFjdGlvbnNHYXAgfHwgJzEwcHgnXHJcbiAgICAgICAgIH1cIj5cclxuICAgICAgXHJcbiAgICAgIDxidXR0b24gKGNsaWNrKT1cImNsb3NlUHJldmlldygpXCIgXHJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb24taWNvbi1idG4gY2xvc2UtYnRuXCJcclxuICAgICAgICAgICAgICBbaWRdPVwiZmllbGQoKT8uZmllbGROYW1lICsgJ19jbG9zZV9wZGYnXCJcclxuICAgICAgICAgICAgICBbdGl0bGVdPVwiZmllbGQoKT8ucHJldmlld1N0eWxlPy5jbG9zZUJ0blRpdGxlIHx8ICdDbG9zZSdcIlxyXG4gICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICctLWNsb3NlLWJ0bi1iYWNrZ3JvdW5kJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy5jbG9zZUJ0bkJhY2tncm91bmQgfHwgJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMC45KScsXHJcbiAgICAgICAgICAgICAgICAnLS1jbG9zZS1idG4tY29sb3InOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LmNsb3NlQnRuQ29sb3IgfHwgJyMwMDAnLFxyXG4gICAgICAgICAgICAgICAgJy0tY2xvc2UtYnRuLWJvcmRlci1yYWRpdXMnOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LmNsb3NlQnRuQm9yZGVyUmFkaXVzIHx8ICc1MCUnLFxyXG4gICAgICAgICAgICAgICAgJy0tY2xvc2UtYnRuLWZvbnQtc2l6ZSc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8uY2xvc2VCdG5Gb250U2l6ZSB8fCAnMjBweCcsXHJcbiAgICAgICAgICAgICAgICAnLS1jbG9zZS1idG4tZm9udC13ZWlnaHQnOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LmNsb3NlQnRuRm9udFdlaWdodCB8fCAnYm9sZCcsXHJcbiAgICAgICAgICAgICAgICAnLS1jbG9zZS1idG4taG92ZXItYmFja2dyb3VuZCc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8uY2xvc2VCdG5Ib3ZlckJhY2tncm91bmQgfHwgJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMSknXHJcbiAgICAgICAgICAgICAgfVwiPiZ0aW1lczs8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICA8IS0tIEZpbGUgdGl0bGUgLS0+XHJcbiAgICA8aDMgY2xhc3M9XCJmaWxlLXRpdGxlIHBkZi10aXRsZVwiXHJcbiAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgJy0tcGRmLXRpdGxlLWNvbG9yJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy5wZGZUaXRsZUNvbG9yIHx8ICcjMzMzJyxcclxuICAgICAgICAgICctLXBkZi10aXRsZS1mb250LWZhbWlseSc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8ucGRmVGl0bGVGb250RmFtaWx5IHx8ICdNdWxpc2gnLFxyXG4gICAgICAgICAgJy0tcGRmLXRpdGxlLWZvbnQtc2l6ZSc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8ucGRmVGl0bGVGb250U2l6ZSB8fCAnMTZweCcsXHJcbiAgICAgICAgICAnLS1wZGYtdGl0bGUtZm9udC13ZWlnaHQnOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LnBkZlRpdGxlRm9udFdlaWdodCB8fCAnNjAwJyxcclxuICAgICAgICAgICctLXBkZi10aXRsZS1tYXJnaW4nOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LnBkZlRpdGxlTWFyZ2luIHx8ICcwcHggMjBweCAxMHB4IDIwcHgnLFxyXG4gICAgICAgICAgJy0tcGRmLXRpdGxlLXBhZGRpbmcnOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LnBkZlRpdGxlUGFkZGluZyB8fCAnMCdcclxuICAgICAgICB9XCI+e3sgZmlsZSgpPy5uYW1lIH19PC9oMz5cclxuICAgIFxyXG4gICAgPGlmcmFtZSBbc3JjXT1cInNhZmVGaWxlVXJsXCIgXHJcbiAgICAgICAgICAgIFt0aXRsZV09XCJmaWxlKCk/Lm5hbWVcIiBcclxuICAgICAgICAgICAgW2lkXT1cImZpZWxkKCk/LmZpZWxkTmFtZSArICdfcGRmX2lmcmFtZSdcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInBkZi1pZnJhbWVcIlxyXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgICAgJy0taWZyYW1lLWJvcmRlcic6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8uaWZyYW1lQm9yZGVyIHx8ICdub25lJyxcclxuICAgICAgICAgICAgICAnLS1pZnJhbWUtYm9yZGVyLXJhZGl1cyc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8uaWZyYW1lQm9yZGVyUmFkaXVzIHx8ICcwJyxcclxuICAgICAgICAgICAgICAnLS1pZnJhbWUtd2lkdGgnOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LmlmcmFtZVdpZHRoIHx8ICcxMDAlJyxcclxuICAgICAgICAgICAgICAnLS1pZnJhbWUtaGVpZ2h0JzogZmllbGQoKT8ucHJldmlld1N0eWxlPy5pZnJhbWVIZWlnaHQgfHwgJ2NhbGMoMTAwJSAtIDgwcHgpJyxcclxuICAgICAgICAgICAgICAnLS1pZnJhbWUtbWluLWhlaWdodCc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8uaWZyYW1lTWluSGVpZ2h0IHx8ICc2MDBweCdcclxuICAgICAgICAgICAgfVwiPjwvaWZyYW1lPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8IS0tIFRleHQgUHJldmlldyAtLT5cclxuICA8ZGl2ICpuZ0lmPVwiaXNUZXh0KClcIiBcclxuICAgICAgIGNsYXNzPVwicHJldmlldy1jb250YWluZXIgdGV4dC1jb250YWluZXJcIlxyXG4gICAgICAgW2lkXT1cImZpZWxkKCk/LmZpZWxkTmFtZSArICdfdGV4dF9jb250YWluZXInXCJcclxuICAgICAgIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgJy0tdGV4dC1jb250YWluZXItYmFja2dyb3VuZCc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8udGV4dENvbnRhaW5lckJhY2tncm91bmQgfHwgJyNmZmYnLFxyXG4gICAgICAgICAnLS10ZXh0LWNvbnRhaW5lci1ib3JkZXItcmFkaXVzJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy50ZXh0Q29udGFpbmVyQm9yZGVyUmFkaXVzIHx8ICc4cHgnLFxyXG4gICAgICAgICAnLS10ZXh0LWNvbnRhaW5lci13aWR0aCc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8udGV4dENvbnRhaW5lcldpZHRoIHx8ICc5NXZ3JyxcclxuICAgICAgICAgJy0tdGV4dC1jb250YWluZXItaGVpZ2h0JzogZmllbGQoKT8ucHJldmlld1N0eWxlPy50ZXh0Q29udGFpbmVySGVpZ2h0IHx8ICc5NXZoJ1xyXG4gICAgICAgfVwiPlxyXG4gICAgXHJcbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1oZWFkZXJcIlxyXG4gICAgICAgICBbaWRdPVwiZmllbGQoKT8uZmllbGROYW1lICsgJ190ZXh0X2hlYWRlcidcIlxyXG4gICAgICAgICBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgJy0tdGV4dC1oZWFkZXItYmFja2dyb3VuZCc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8udGV4dEhlYWRlckJhY2tncm91bmQgfHwgJyNmOGY5ZmEnLFxyXG4gICAgICAgICAgICctLXRleHQtaGVhZGVyLWJvcmRlci1jb2xvcic6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8udGV4dEhlYWRlckJvcmRlckNvbG9yIHx8ICcjZGVlMmU2JyxcclxuICAgICAgICAgICAnLS10ZXh0LWhlYWRlci1wYWRkaW5nJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy50ZXh0SGVhZGVyUGFkZGluZyB8fCAnMTVweCAyMHB4J1xyXG4gICAgICAgICB9XCI+XHJcbiAgICAgIFxyXG4gICAgICA8aDMgY2xhc3M9XCJmaWxlLXRpdGxlXCJcclxuICAgICAgICAgIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgJy0tdGV4dC10aXRsZS1jb2xvcic6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8udGV4dFRpdGxlQ29sb3IgfHwgJyMzMzMnLFxyXG4gICAgICAgICAgICAnLS10ZXh0LXRpdGxlLWZvbnQtZmFtaWx5JzogZmllbGQoKT8ucHJldmlld1N0eWxlPy50ZXh0VGl0bGVGb250RmFtaWx5IHx8ICdNdWxpc2gnLFxyXG4gICAgICAgICAgICAnLS10ZXh0LXRpdGxlLWZvbnQtc2l6ZSc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8udGV4dFRpdGxlRm9udFNpemUgfHwgJzE2cHgnLFxyXG4gICAgICAgICAgICAnLS10ZXh0LXRpdGxlLWZvbnQtd2VpZ2h0JzogZmllbGQoKT8ucHJldmlld1N0eWxlPy50ZXh0VGl0bGVGb250V2VpZ2h0IHx8ICc2MDAnLFxyXG4gICAgICAgICAgICAnLS10ZXh0LXRpdGxlLW1hcmdpbic6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8udGV4dFRpdGxlTWFyZ2luIHx8ICcwJ1xyXG4gICAgICAgICAgfVwiPnt7IGZpbGUoKT8ubmFtZSB9fTwvaDM+XHJcbiAgICAgIFxyXG4gICAgICA8YnV0dG9uIChjbGljayk9XCJjbG9zZVByZXZpZXcoKVwiIFxyXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kYW5nZXJcIlxyXG4gICAgICAgICAgICAgIFtpZF09XCJmaWVsZCgpPy5maWVsZE5hbWUgKyAnX2Nsb3NlX3RleHQnXCJcclxuICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAnLS1idG4tZGFuZ2VyLWJhY2tncm91bmQnOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LmJ0bkRhbmdlckJhY2tncm91bmQgfHwgJyNkYzM1NDUnLFxyXG4gICAgICAgICAgICAgICAgJy0tYnRuLWRhbmdlci1jb2xvcic6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8uYnRuRGFuZ2VyQ29sb3IgfHwgJyNmZmYnLFxyXG4gICAgICAgICAgICAgICAgJy0tYnRuLWJvcmRlci1yYWRpdXMnOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LmJ0bkJvcmRlclJhZGl1cyB8fCAnNHB4JyxcclxuICAgICAgICAgICAgICAgICctLWJ0bi1wYWRkaW5nJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy5idG5QYWRkaW5nIHx8ICc4cHggMTZweCcsXHJcbiAgICAgICAgICAgICAgICAnLS1idG4tZm9udC1zaXplJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy5idG5Gb250U2l6ZSB8fCAnMTRweCdcclxuICAgICAgICAgICAgICB9XCI+e3sgZmllbGQoKT8ucHJldmlld1N0eWxlPy5jbG9zZVRleHQgfHwgJ0Nsb3NlJyB9fTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICBcclxuICAgIDxwcmUgY2xhc3M9XCJ0ZXh0LWNvbnRlbnRcIlxyXG4gICAgICAgICBbaWRdPVwiZmllbGQoKT8uZmllbGROYW1lICsgJ190ZXh0X2NvbnRlbnQnXCJcclxuICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICctLXRleHQtY29udGVudC1iYWNrZ3JvdW5kJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy50ZXh0Q29udGVudEJhY2tncm91bmQgfHwgJyNmZmYnLFxyXG4gICAgICAgICAgICctLXRleHQtY29udGVudC1jb2xvcic6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8udGV4dENvbnRlbnRDb2xvciB8fCAnIzMzMycsXHJcbiAgICAgICAgICAgJy0tdGV4dC1jb250ZW50LWZvbnQtZmFtaWx5JzogZmllbGQoKT8ucHJldmlld1N0eWxlPy50ZXh0Q29udGVudEZvbnRGYW1pbHkgfHwgJ0NvbnNvbGFzLCBNb25hY28sIENvdXJpZXIgTmV3LCBtb25vc3BhY2UnLFxyXG4gICAgICAgICAgICctLXRleHQtY29udGVudC1mb250LXNpemUnOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LnRleHRDb250ZW50Rm9udFNpemUgfHwgJzE0cHgnLFxyXG4gICAgICAgICAgICctLXRleHQtY29udGVudC1saW5lLWhlaWdodCc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8udGV4dENvbnRlbnRMaW5lSGVpZ2h0IHx8ICcxLjUnLFxyXG4gICAgICAgICAgICctLXRleHQtY29udGVudC1wYWRkaW5nJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy50ZXh0Q29udGVudFBhZGRpbmcgfHwgJzIwcHgnLFxyXG4gICAgICAgICAgICctLXRleHQtY29udGVudC1tYXJnaW4nOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LnRleHRDb250ZW50TWFyZ2luIHx8ICcwJ1xyXG4gICAgICAgICB9XCI+e3sgdGV4dENvbnRlbnQgfX08L3ByZT5cclxuICA8L2Rpdj5cclxuXHJcbiAgPCEtLSBVbnN1cHBvcnRlZCBGaWxlIC0tPlxyXG4gIDxkaXYgKm5nSWY9XCJpc1Vuc3VwcG9ydGVkKClcIiBcclxuICAgICAgIGNsYXNzPVwicHJldmlldy1jb250YWluZXIgdW5zdXBwb3J0ZWQtY29udGFpbmVyXCJcclxuICAgICAgIFtpZF09XCJmaWVsZCgpPy5maWVsZE5hbWUgKyAnX3Vuc3VwcG9ydGVkX2NvbnRhaW5lcidcIlxyXG4gICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAnLS11bnN1cHBvcnRlZC1iYWNrZ3JvdW5kJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy51bnN1cHBvcnRlZEJhY2tncm91bmQgfHwgJyNmZmYnLFxyXG4gICAgICAgICAnLS11bnN1cHBvcnRlZC1ib3JkZXItcmFkaXVzJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy51bnN1cHBvcnRlZEJvcmRlclJhZGl1cyB8fCAnOHB4JyxcclxuICAgICAgICAgJy0tdW5zdXBwb3J0ZWQtcGFkZGluZyc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8udW5zdXBwb3J0ZWRQYWRkaW5nIHx8ICc0MHB4JyxcclxuICAgICAgICAgJy0tdW5zdXBwb3J0ZWQtbWluLXdpZHRoJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy51bnN1cHBvcnRlZE1pbldpZHRoIHx8ICczMDBweCdcclxuICAgICAgIH1cIj5cclxuICAgIFxyXG4gICAgPGRpdiBjbGFzcz1cInVuc3VwcG9ydGVkLWNvbnRlbnRcIj5cclxuICAgICAgPGgzIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgJy0tdW5zdXBwb3J0ZWQtdGl0bGUtY29sb3InOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LnVuc3VwcG9ydGVkVGl0bGVDb2xvciB8fCAnIzMzMycsXHJcbiAgICAgICAgICAgICctLXVuc3VwcG9ydGVkLXRpdGxlLWZvbnQtZmFtaWx5JzogZmllbGQoKT8ucHJldmlld1N0eWxlPy51bnN1cHBvcnRlZFRpdGxlRm9udEZhbWlseSB8fCAnTXVsaXNoJyxcclxuICAgICAgICAgICAgJy0tdW5zdXBwb3J0ZWQtdGl0bGUtZm9udC1zaXplJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy51bnN1cHBvcnRlZFRpdGxlRm9udFNpemUgfHwgJzE4cHgnLFxyXG4gICAgICAgICAgICAnLS11bnN1cHBvcnRlZC10aXRsZS1mb250LXdlaWdodCc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8udW5zdXBwb3J0ZWRUaXRsZUZvbnRXZWlnaHQgfHwgJzYwMCcsXHJcbiAgICAgICAgICAgICctLXVuc3VwcG9ydGVkLXRpdGxlLW1hcmdpbic6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8udW5zdXBwb3J0ZWRUaXRsZU1hcmdpbiB8fCAnMCAwIDIwcHggMCdcclxuICAgICAgICAgIH1cIj57eyBmaWxlKCk/Lm5hbWUgfX08L2gzPlxyXG4gICAgICBcclxuICAgICAgPHAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICctLXVuc3VwcG9ydGVkLXRleHQtY29sb3InOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LnVuc3VwcG9ydGVkVGV4dENvbG9yIHx8ICcjNjY2JyxcclxuICAgICAgICAgICAnLS11bnN1cHBvcnRlZC10ZXh0LWZvbnQtc2l6ZSc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8udW5zdXBwb3J0ZWRUZXh0Rm9udFNpemUgfHwgJzE0cHgnLFxyXG4gICAgICAgICAgICctLXVuc3VwcG9ydGVkLXRleHQtbWFyZ2luJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy51bnN1cHBvcnRlZFRleHRNYXJnaW4gfHwgJzAgMCAzMHB4IDAnXHJcbiAgICAgICAgIH1cIj57eyBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LnVuc3VwcG9ydGVkTWVzc2FnZSB8fCAnUHJldmlldyBub3QgYXZhaWxhYmxlIGZvciB0aGlzIGZpbGUgdHlwZScgfX08L3A+XHJcbiAgICAgIFxyXG4gICAgICA8ZGl2IGNsYXNzPVwidW5zdXBwb3J0ZWQtYWN0aW9uc1wiXHJcbiAgICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgJy0tYWN0aW9ucy1nYXAnOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LmFjdGlvbnNHYXAgfHwgJzE1cHgnLFxyXG4gICAgICAgICAgICAgJy0tYWN0aW9ucy1qdXN0aWZ5JzogZmllbGQoKT8ucHJldmlld1N0eWxlPy5hY3Rpb25zSnVzdGlmeSB8fCAnY2VudGVyJ1xyXG4gICAgICAgICAgIH1cIj5cclxuICAgICAgICBcclxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJkb3dubG9hZEZpbGUoKVwiIFxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICBbaWRdPVwiZmllbGQoKT8uZmllbGROYW1lICsgJ19kb3dubG9hZCdcIlxyXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAnLS1idG4tcHJpbWFyeS1iYWNrZ3JvdW5kJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy5idG5QcmltYXJ5QmFja2dyb3VuZCB8fCAnIzAwN2JmZicsXHJcbiAgICAgICAgICAgICAgICAgICctLWJ0bi1wcmltYXJ5LWNvbG9yJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy5idG5QcmltYXJ5Q29sb3IgfHwgJyNmZmYnLFxyXG4gICAgICAgICAgICAgICAgICAnLS1idG4tYm9yZGVyLXJhZGl1cyc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8uYnRuQm9yZGVyUmFkaXVzIHx8ICc0cHgnLFxyXG4gICAgICAgICAgICAgICAgICAnLS1idG4tcGFkZGluZyc6IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8uYnRuUGFkZGluZyB8fCAnOHB4IDE2cHgnLFxyXG4gICAgICAgICAgICAgICAgICAnLS1idG4tZm9udC1zaXplJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy5idG5Gb250U2l6ZSB8fCAnMTRweCdcclxuICAgICAgICAgICAgICAgIH1cIj57eyBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LmRvd25sb2FkVGV4dCB8fCAnRG93bmxvYWQnIH19PC9idXR0b24+XHJcbiAgICAgICAgXHJcbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY2xvc2VQcmV2aWV3KClcIiBcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICBbaWRdPVwiZmllbGQoKT8uZmllbGROYW1lICsgJ19jbG9zZV91bnN1cHBvcnRlZCdcIlxyXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAnLS1idG4tc2Vjb25kYXJ5LWJhY2tncm91bmQnOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LmJ0blNlY29uZGFyeUJhY2tncm91bmQgfHwgJyM2Yzc1N2QnLFxyXG4gICAgICAgICAgICAgICAgICAnLS1idG4tc2Vjb25kYXJ5LWNvbG9yJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy5idG5TZWNvbmRhcnlDb2xvciB8fCAnI2ZmZicsXHJcbiAgICAgICAgICAgICAgICAgICctLWJ0bi1ib3JkZXItcmFkaXVzJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy5idG5Cb3JkZXJSYWRpdXMgfHwgJzRweCcsXHJcbiAgICAgICAgICAgICAgICAgICctLWJ0bi1wYWRkaW5nJzogZmllbGQoKT8ucHJldmlld1N0eWxlPy5idG5QYWRkaW5nIHx8ICc4cHggMTZweCcsXHJcbiAgICAgICAgICAgICAgICAgICctLWJ0bi1mb250LXNpemUnOiBmaWVsZCgpPy5wcmV2aWV3U3R5bGU/LmJ0bkZvbnRTaXplIHx8ICcxNHB4J1xyXG4gICAgICAgICAgICAgICAgfVwiPnt7IGZpZWxkKCk/LnByZXZpZXdTdHlsZT8uY2xvc2VUZXh0IHx8ICdDbG9zZScgfX08L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
@@ -72,13 +72,14 @@ import { TopHeaderComponent } from "./top-header/top-header.component";
|
|
|
72
72
|
import { FooterComponent } from "./footer/footer.component";
|
|
73
73
|
import { FooterWithButtonsComponent } from './footer-with-buttons/footer-with-buttons.component';
|
|
74
74
|
import { MotorGlowPlanDetailsComponent } from "./motor-glow-plan-details/motor-glow-plan-details.component";
|
|
75
|
+
import { FilePreviewComponent } from './file-preview/file-preview.component';
|
|
75
76
|
import * as i0 from "@angular/core";
|
|
76
77
|
export class MasterControlComponent {
|
|
77
78
|
field = input.required();
|
|
78
79
|
formGroup = new FormGroup({});
|
|
79
80
|
constructor() { }
|
|
80
81
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MasterControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
81
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MasterControlComponent, isStandalone: true, selector: "lib-master-control", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formGroup: { classPropertyName: "formGroup", publicName: "formGroup", isSignal: false, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@switch (field()?.controlType) {\r\n @case ('top-header') {\r\n <lib-top-header [field]=\"field()\" />\r\n }\r\n @case ('footer') {\r\n <lib-footer [field]=\"field()\" />\r\n }\r\n @case('footer-buttons')\r\n {\r\n <lib-footer-with-buttons [field]=\"field()\"></lib-footer-with-buttons>\r\n }\r\n @case('text') {\r\n <lib-textbox [field]=\"field()\"></lib-textbox>\r\n }\r\n @case('select') {\r\n <lib-select [field]=\"field()\"/>\r\n }\r\n\r\n @case('radio') {\r\n <lib-radio [field]=\"field()\" />\r\n }\r\n\r\n @case('toggle') {\r\n <lib-toggle [field]=\"field()\" />\r\n }\r\n\r\n @case('file') {\r\n <lib-upload [field]=\"field()\" />\r\n }\r\n\r\n @case('date') {\r\n <lib-dob [field]=\"field()\" />\r\n }\r\n\r\n @case('mobileNumber') {\r\n <lib-mob-number [field]=\"field()\" />\r\n }\r\n\r\n @case('info') {\r\n <lib-info [field]=\"field()\" />\r\n }\r\n\r\n @case('checkbox') {\r\n <lib-checkbox [field]=\"field()\" />\r\n }\r\n\r\n @case('textarea') {\r\n <lib-textarea [field]=\"field()\" />\r\n }\r\n\r\n @case ('button') {\r\n <lib-button [field]=\"field()\" />\r\n }\r\n\r\n @case ('tab') {\r\n <lib-tab [field]=\"field()\" />\r\n }\r\n\r\n @case ('autocomplete') {\r\n <lib-autocomplete [field]=\"field()\" />\r\n }\r\n\r\n @case ('multipleSelect') {\r\n <lib-multiple-select [field]=\"field()\" />\r\n }\r\n\r\n @case ('textboxWithSelect') {\r\n <lib-select-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('otpTextbox') {\r\n <lib-otp-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('amountTextbox') {\r\n <lib-amount-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('suffixTextbox') {\r\n <lib-suffix-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('otpMobNumber') {\r\n <lib-otp-mob-number [field]=\"field()\" />\r\n }\r\n\r\n @case ('tagMobNumber') {\r\n <lib-tag-mob-number [field]=\"field()\" />\r\n }\r\n\r\n @case ('dateWithAge') {\r\n <lib-age-date [field]=\"field()\" />\r\n }\r\n\r\n @case ('additionButton') {\r\n <lib-addition-button [field]=\"field()\" />\r\n }\r\n\r\n @case ('infoTextbox') {\r\n <lib-info-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('textboxWithImage') {\r\n <lib-textbox-with-image [field]=\"field()\" />\r\n }\r\n\r\n @case ('emailWithDomain') {\r\n <lib-email-with-domain [field]=\"field()\" />\r\n }\r\n\r\n @case ('imageUpload') {\r\n <lib-image-upload [field]=\"field()\" />\r\n }\r\n\r\n @case ('downloadDocument') {\r\n <lib-download-document [field]=\"field()\" />\r\n }\r\n\r\n @case ('addDocument') {\r\n <lib-add-document [field]=\"field()\" />\r\n }\r\n\r\n @case ('hyperlink') {\r\n <lib-hyperlink [field]=\"field()\" />\r\n }\r\n\r\n @case ('textboxWithUnderscore') {\r\n <lib-textbox-with-underscore [field]=\"field()\" />\r\n }\r\n\r\n @case ('underscoreMobNumber') {\r\n <lib-underscore-mob-number [field]=\"field()\" />\r\n }\r\n\r\n @case ('downloadIconButton') {\r\n <lib-icon-button [field]=\"field()\" />\r\n }\r\n\r\n @case ('image') {\r\n <lib-image [field]=\"field()\" />\r\n }\r\n @case ('stepper') {\r\n <lib-stepper [field]=\"field()\" />\r\n }\r\n @case ('card') {\r\n <lib-card [field]=\"field()\" />\r\n }\r\n @case ('hrLine') {\r\n <lib-hr-line [field]=\"field()\" />\r\n }\r\n @case ('searchMultiSelect') {\r\n <lib-search-multi-select [field]=\"field()\" />\r\n }\r\n @case ('subscriptTextbox') {\r\n <lib-subscript-textbox [field]=\"field()\" />\r\n }\r\n @case ('label') {\r\n <lib-label [field]=\"field()\" />\r\n }\r\n @case ('subHeading') {\r\n <lib-sub-header [field]=\"field()\" />\r\n }\r\n @case ('heading') {\r\n <lib-header [field]=\"field()\" />\r\n }\r\n @case ('table') {\r\n <lib-table [field]=\"field()\" />\r\n }\r\n @case ('textboxWithText') {\r\n <lib-textbox-with-text [field]=\"field()\" />\r\n }\r\n @case ('loader') {\r\n <lib-loader [field]=\"field()\" />\r\n }\r\n @case ('discount') {\r\n <lib-discount [field]=\"field()\" />\r\n }\r\n @case ('optionalBenefitCard') {\r\n <lib-benefit-card [field]=\"field()\" />\r\n }\r\n @case ('errorSnackbar') {\r\n <lib-error-snackbar [field]=\"field()\" />\r\n }\r\n @case ('warningSnackbar') {\r\n <lib-warning-snackbar [field]=\"field()\" />\r\n }\r\n @case ('successSnackbar') {\r\n <lib-success-snackbar [field]=\"field()\" />\r\n }\r\n @case ('neutralSnackbar') {\r\n <lib-neutral-snackbar [field]=\"field()\" />\r\n }\r\n @case ('boldLabel') {\r\n <lib-grey-label [field]=\"field()\" />\r\n }\r\n @case ('iframe') {\r\n <lib-iframe [field]=\"field()\" />\r\n }\r\n @case ('toggleButton') {\r\n <lib-toggle-button [field]=\"field()\" />\r\n }\r\n @case ('payGetCard') {\r\n <lib-pay-get-card [field]=\"field()\" />\r\n }\r\n @case ('inBuiltBenefit') {\r\n <lib-in-built-benefit [field]=\"field()\" />\r\n }\r\n @case ('otherBenefit') {\r\n <lib-other-benefits [field]=\"field()\" />\r\n }\r\n @case ('annuityRateLogo') {\r\n <lib-annuity-rate-logo [field]=\"field()\" />\r\n }\r\n @case ('discountAnnuity') {\r\n <lib-discount-v2 [field]=\"field()\" />\r\n }\r\n @case ('labelValue'){\r\n <lib-label-value-card [field]=\"field()\" />\r\n }\r\n @case ('medicalQuestions'){\r\n <lib-medial-questions [field]=\"field()\" />\r\n }\r\n @case ('nudge'){\r\n <lib-page-nudge [field]=\"field()\"/>\r\n }\r\n @case ('progressBar'){\r\n <lib-progress-bar [field]=\"field()\"/>\r\n }\r\n @case ('accordian'){\r\n <lib-accordian [field]=\"field()\"/>\r\n }\r\n @case ('miscInfo'){\r\n <lib-miscellaneous-info-bar [field]=\"field()\"/>\r\n }\r\n @case ('plainText'){\r\n <lib-plain-text [field]=\"field()\"/>\r\n }\r\n @case ('menu'){\r\n <lib-menu [field]=\"field()\" />\r\n }\r\n @case ('stepperWithArrow') {\r\n <lib-stepper-with-arrow [field]=\"field()\" />\r\n }\r\n @case ('labelWithImage') {\r\n <lib-label-with-image [field]=\"field()\" />\r\n }\r\n @case ('motorGlowPlanDetails') {\r\n <lib-motor-glow-plan-details [field]=\"field()\" />\r\n }\r\n}\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "component", type: TextboxComponent, selector: "lib-textbox", inputs: ["field", "reactiveFormControlobject"], outputs: ["blur"] }, { kind: "component", type: SelectComponent, selector: "lib-select", inputs: ["field", "reactiveFormControlobject"], outputs: ["selectionChange"] }, { kind: "component", type: RadioComponent, selector: "lib-radio", inputs: ["reactiveFormControlobject", "field"], outputs: ["change"] }, { kind: "component", type: ToggleComponent, selector: "lib-toggle", inputs: ["field", "reactiveFormControlobject"], outputs: ["change"] }, { kind: "component", type: UploadComponent, selector: "lib-upload", inputs: ["field", "reactiveFormControlobject"], outputs: ["filesChanged", "fileRemoved"] }, { kind: "component", type: DobComponent, selector: "lib-dob", inputs: ["field", "reactiveFormControlobject"], outputs: ["blur", "valueChange", "dateSelected", "invalidDate"] }, { kind: "component", type: MobNumberComponent, selector: "lib-mob-number", inputs: ["field", "reactiveFormControlobject"], outputs: ["blur"] }, { kind: "component", type: InfoComponent, selector: "lib-info", inputs: ["field"] }, { kind: "component", type: CheckboxComponent, selector: "lib-checkbox", inputs: ["field", "reactiveFormControlobject"], outputs: ["change"] }, { kind: "component", type: TextareaComponent, selector: "lib-textarea", inputs: ["field", "reactiveFormControlobject"], outputs: ["blur"] }, { kind: "component", type: ButtonComponent, selector: "lib-button", inputs: ["field"] }, { kind: "component", type: TabComponent, selector: "lib-tab", inputs: ["field"], outputs: ["selectedIndexChange"] }, { kind: "component", type: AutocompleteComponent, selector: "lib-autocomplete", inputs: ["field", "reactiveFormControlobject"], outputs: ["blur", "selectionChanged", "valueChanged", "optionSelected"] }, { kind: "component", type: MultipleSelectComponent, selector: "lib-multiple-select", inputs: ["field", "reactiveFormControlobject"], outputs: ["selectionChange"] }, { kind: "component", type: SelectTextboxComponent, selector: "lib-select-textbox", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: OtpTextboxComponent, selector: "lib-otp-textbox", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: AmountTextboxComponent, selector: "lib-amount-textbox", inputs: ["field", "reactiveFormControlobject"], outputs: ["blur"] }, { kind: "component", type: SuffixTextboxComponent, selector: "lib-suffix-textbox", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: OtpMobNumberComponent, selector: "lib-otp-mob-number", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: TagMobNumberComponent, selector: "lib-tag-mob-number", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: AgeDateComponent, selector: "lib-age-date", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: AdditionButtonComponent, selector: "lib-addition-button", inputs: ["field"] }, { kind: "component", type: InfoTextboxComponent, selector: "lib-info-textbox", inputs: ["field", "reactiveFormControlobject", "fields"], outputs: ["infoClick"] }, { kind: "component", type: TextboxWithImageComponent, selector: "lib-textbox-with-image", inputs: ["field", "reactiveFormControlobject"], outputs: ["blur"] }, { kind: "component", type: EmailWithDomainComponent, selector: "lib-email-with-domain", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: ImageUploadComponent, selector: "lib-image-upload", inputs: ["field"] }, { kind: "component", type: DownloadDocumentComponent, selector: "lib-download-document", inputs: ["field"] }, { kind: "component", type: AddDocumentComponent, selector: "lib-add-document", inputs: ["field"] }, { kind: "component", type: HyperlinkComponent, selector: "lib-hyperlink", inputs: ["field"] }, { kind: "component", type: TextboxWithUnderscoreComponent, selector: "lib-textbox-with-underscore", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: UnderscoreMobNumberComponent, selector: "lib-underscore-mob-number", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: IconButtonComponent, selector: "lib-icon-button", inputs: ["field"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: ImageComponent, selector: "lib-image", inputs: ["field"] }, { kind: "component", type: StepperComponent, selector: "lib-stepper", inputs: ["field"] }, { kind: "component", type: CardComponent, selector: "lib-card", inputs: ["field"], outputs: ["cardDetailsClicked"] }, { kind: "component", type: HrLineComponent, selector: "lib-hr-line", inputs: ["field"] }, { kind: "component", type: SearchMultiSelectComponent, selector: "lib-search-multi-select", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: SubscriptTextboxComponent, selector: "lib-subscript-textbox", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: LabelComponent, selector: "lib-label", inputs: ["field"] }, { kind: "component", type: SubHeaderComponent, selector: "lib-sub-header", inputs: ["field"] }, { kind: "component", type: HeaderComponent, selector: "lib-header", inputs: ["field"] }, { kind: "component", type: TextboxWithTextComponent, selector: "lib-textbox-with-text", inputs: ["reactiveFormControlobject", "field"], outputs: ["blur"] }, { kind: "component", type: DiscountComponent, selector: "lib-discount", inputs: ["field"] }, { kind: "component", type: BenefitCardComponent, selector: "lib-benefit-card", inputs: ["field"] }, { kind: "component", type: TableComponent, selector: "lib-table", inputs: ["field", "readonly"], outputs: ["actionItemClicked", "tablePaginationClicked"] }, { kind: "component", type: LoaderComponent, selector: "lib-loader", inputs: ["field"] }, { kind: "component", type: WarningSnackbarComponent, selector: "lib-warning-snackbar", inputs: ["field"] }, { kind: "component", type: SuccessSnackbarComponent, selector: "lib-success-snackbar", inputs: ["field"] }, { kind: "component", type: NeutralSnackbarComponent, selector: "lib-neutral-snackbar", inputs: ["field"] }, { kind: "component", type: ErrorSnackbarComponent, selector: "lib-error-snackbar", inputs: ["field"] }, { kind: "component", type: GreyLabelComponent, selector: "lib-grey-label", inputs: ["field"] }, { kind: "component", type: IframeComponent, selector: "lib-iframe", inputs: ["field"] }, { kind: "component", type: ToggleButtonComponent, selector: "lib-toggle-button", inputs: ["reactiveFormControlobject", "field"], outputs: ["selectionChanged", "change"] }, { kind: "component", type: PayGetCardComponent, selector: "lib-pay-get-card", inputs: ["field", "payAmount", "premiumAmount", "ptValue", "years", "frequency"] }, { kind: "component", type: InBuiltBenefitComponent, selector: "lib-in-built-benefit", inputs: ["field", "premiumAmount", "premiumAmountShort"] }, { kind: "component", type: OtherBenefitsComponent, selector: "lib-other-benefits", inputs: ["field"] }, { kind: "component", type: AnnuityRateLogoComponent, selector: "lib-annuity-rate-logo", inputs: ["field", "ratePercent"] }, { kind: "component", type: DiscountV2Component, selector: "lib-discount-v2", inputs: ["field"] }, { kind: "component", type: LabelValueCardComponent, selector: "lib-label-value-card", inputs: ["field"] }, { kind: "component", type: MedialQuestionsComponent, selector: "lib-medial-questions", inputs: ["medialQuestionResponse", "personUWOpenQuoteResponse", "field"] }, { kind: "component", type: PageNudgeComponent, selector: "lib-page-nudge", inputs: ["field"] }, { kind: "component", type: ProgressBarComponent, selector: "lib-progress-bar", inputs: ["field"] }, { kind: "component", type: AccordianComponent, selector: "lib-accordian", inputs: ["field"] }, { kind: "component", type: MiscellaneousInfoBarComponent, selector: "lib-miscellaneous-info-bar", inputs: ["field", "details"] }, { kind: "component", type: PlainTextComponent, selector: "lib-plain-text", inputs: ["field"] }, { kind: "component", type: MenuComponent, selector: "lib-menu", inputs: ["field"] }, { kind: "component", type: StepperWIthArrowComponent, selector: "lib-stepper-with-arrow", inputs: ["field", "currentStepValue", "autoProgress", "autoProgressDelay"], outputs: ["selectedStep"] }, { kind: "component", type: LabelWithImageComponent, selector: "lib-label-with-image", inputs: ["field"] }, { kind: "component", type: TopHeaderComponent, selector: "lib-top-header", inputs: ["field"] }, { kind: "component", type: FooterComponent, selector: "lib-footer", inputs: ["field"] }, { kind: "component", type: FooterWithButtonsComponent, selector: "lib-footer-with-buttons", inputs: ["field"] }, { kind: "component", type: MotorGlowPlanDetailsComponent, selector: "lib-motor-glow-plan-details", inputs: ["field"], outputs: ["editPlanClick"] }] });
|
|
82
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MasterControlComponent, isStandalone: true, selector: "lib-master-control", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formGroup: { classPropertyName: "formGroup", publicName: "formGroup", isSignal: false, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@switch (field()?.controlType) {\r\n @case ('top-header') {\r\n <lib-top-header [field]=\"field()\" />\r\n }\r\n @case ('footer') {\r\n <lib-footer [field]=\"field()\" />\r\n }\r\n @case('footer-buttons')\r\n {\r\n <lib-footer-with-buttons [field]=\"field()\"></lib-footer-with-buttons>\r\n }\r\n @case('text') {\r\n <lib-textbox [field]=\"field()\"></lib-textbox>\r\n }\r\n @case('select') {\r\n <lib-select [field]=\"field()\"/>\r\n }\r\n\r\n @case('radio') {\r\n <lib-radio [field]=\"field()\" />\r\n }\r\n\r\n @case('toggle') {\r\n <lib-toggle [field]=\"field()\" />\r\n }\r\n\r\n @case('file') {\r\n <lib-upload [field]=\"field()\" />\r\n }\r\n\r\n @case('date') {\r\n <lib-dob [field]=\"field()\" />\r\n }\r\n\r\n @case('mobileNumber') {\r\n <lib-mob-number [field]=\"field()\" />\r\n }\r\n\r\n @case('info') {\r\n <lib-info [field]=\"field()\" />\r\n }\r\n\r\n @case('checkbox') {\r\n <lib-checkbox [field]=\"field()\" />\r\n }\r\n\r\n @case('textarea') {\r\n <lib-textarea [field]=\"field()\" />\r\n }\r\n\r\n @case ('button') {\r\n <lib-button [field]=\"field()\" />\r\n }\r\n\r\n @case ('tab') {\r\n <lib-tab [field]=\"field()\" />\r\n }\r\n\r\n @case ('autocomplete') {\r\n <lib-autocomplete [field]=\"field()\" />\r\n }\r\n\r\n @case ('multipleSelect') {\r\n <lib-multiple-select [field]=\"field()\" />\r\n }\r\n\r\n @case ('textboxWithSelect') {\r\n <lib-select-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('otpTextbox') {\r\n <lib-otp-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('amountTextbox') {\r\n <lib-amount-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('suffixTextbox') {\r\n <lib-suffix-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('otpMobNumber') {\r\n <lib-otp-mob-number [field]=\"field()\" />\r\n }\r\n\r\n @case ('tagMobNumber') {\r\n <lib-tag-mob-number [field]=\"field()\" />\r\n }\r\n\r\n @case ('dateWithAge') {\r\n <lib-age-date [field]=\"field()\" />\r\n }\r\n\r\n @case ('additionButton') {\r\n <lib-addition-button [field]=\"field()\" />\r\n }\r\n\r\n @case ('infoTextbox') {\r\n <lib-info-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('textboxWithImage') {\r\n <lib-textbox-with-image [field]=\"field()\" />\r\n }\r\n\r\n @case ('emailWithDomain') {\r\n <lib-email-with-domain [field]=\"field()\" />\r\n }\r\n\r\n @case ('imageUpload') {\r\n <lib-image-upload [field]=\"field()\" />\r\n }\r\n\r\n @case ('downloadDocument') {\r\n <lib-download-document [field]=\"field()\" />\r\n }\r\n\r\n @case ('addDocument') {\r\n <lib-add-document [field]=\"field()\" />\r\n }\r\n\r\n @case ('hyperlink') {\r\n <lib-hyperlink [field]=\"field()\" />\r\n }\r\n\r\n @case ('textboxWithUnderscore') {\r\n <lib-textbox-with-underscore [field]=\"field()\" />\r\n }\r\n\r\n @case ('underscoreMobNumber') {\r\n <lib-underscore-mob-number [field]=\"field()\" />\r\n }\r\n\r\n @case ('downloadIconButton') {\r\n <lib-icon-button [field]=\"field()\" />\r\n }\r\n\r\n @case ('image') {\r\n <lib-image [field]=\"field()\" />\r\n }\r\n @case ('stepper') {\r\n <lib-stepper [field]=\"field()\" />\r\n }\r\n @case ('card') {\r\n <lib-card [field]=\"field()\" />\r\n }\r\n @case ('hrLine') {\r\n <lib-hr-line [field]=\"field()\" />\r\n }\r\n @case ('searchMultiSelect') {\r\n <lib-search-multi-select [field]=\"field()\" />\r\n }\r\n @case ('subscriptTextbox') {\r\n <lib-subscript-textbox [field]=\"field()\" />\r\n }\r\n @case ('label') {\r\n <lib-label [field]=\"field()\" />\r\n }\r\n @case ('subHeading') {\r\n <lib-sub-header [field]=\"field()\" />\r\n }\r\n @case ('heading') {\r\n <lib-header [field]=\"field()\" />\r\n }\r\n @case ('table') {\r\n <lib-table [field]=\"field()\" />\r\n }\r\n @case ('textboxWithText') {\r\n <lib-textbox-with-text [field]=\"field()\" />\r\n }\r\n @case ('loader') {\r\n <lib-loader [field]=\"field()\" />\r\n }\r\n @case ('discount') {\r\n <lib-discount [field]=\"field()\" />\r\n }\r\n @case ('optionalBenefitCard') {\r\n <lib-benefit-card [field]=\"field()\" />\r\n }\r\n @case ('errorSnackbar') {\r\n <lib-error-snackbar [field]=\"field()\" />\r\n }\r\n @case ('warningSnackbar') {\r\n <lib-warning-snackbar [field]=\"field()\" />\r\n }\r\n @case ('successSnackbar') {\r\n <lib-success-snackbar [field]=\"field()\" />\r\n }\r\n @case ('neutralSnackbar') {\r\n <lib-neutral-snackbar [field]=\"field()\" />\r\n }\r\n @case ('boldLabel') {\r\n <lib-grey-label [field]=\"field()\" />\r\n }\r\n @case ('iframe') {\r\n <lib-iframe [field]=\"field()\" />\r\n }\r\n @case ('toggleButton') {\r\n <lib-toggle-button [field]=\"field()\" />\r\n }\r\n @case ('payGetCard') {\r\n <lib-pay-get-card [field]=\"field()\" />\r\n }\r\n @case ('inBuiltBenefit') {\r\n <lib-in-built-benefit [field]=\"field()\" />\r\n }\r\n @case ('otherBenefit') {\r\n <lib-other-benefits [field]=\"field()\" />\r\n }\r\n @case ('annuityRateLogo') {\r\n <lib-annuity-rate-logo [field]=\"field()\" />\r\n }\r\n @case ('discountAnnuity') {\r\n <lib-discount-v2 [field]=\"field()\" />\r\n }\r\n @case ('labelValue'){\r\n <lib-label-value-card [field]=\"field()\" />\r\n }\r\n @case ('medicalQuestions'){\r\n <lib-medial-questions [field]=\"field()\" />\r\n }\r\n @case ('nudge'){\r\n <lib-page-nudge [field]=\"field()\"/>\r\n }\r\n @case ('progressBar'){\r\n <lib-progress-bar [field]=\"field()\"/>\r\n }\r\n @case ('accordian'){\r\n <lib-accordian [field]=\"field()\"/>\r\n }\r\n @case ('miscInfo'){\r\n <lib-miscellaneous-info-bar [field]=\"field()\"/>\r\n }\r\n @case ('plainText'){\r\n <lib-plain-text [field]=\"field()\"/>\r\n }\r\n @case ('menu'){\r\n <lib-menu [field]=\"field()\" />\r\n }\r\n @case ('stepperWithArrow') {\r\n <lib-stepper-with-arrow [field]=\"field()\" />\r\n }\r\n @case ('labelWithImage') {\r\n <lib-label-with-image [field]=\"field()\" />\r\n }\r\n @case ('motorGlowPlanDetails') {\r\n <lib-motor-glow-plan-details [field]=\"field()\" />\r\n }\r\n}\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "component", type: TextboxComponent, selector: "lib-textbox", inputs: ["field", "reactiveFormControlobject"], outputs: ["blur"] }, { kind: "component", type: SelectComponent, selector: "lib-select", inputs: ["field", "reactiveFormControlobject"], outputs: ["selectionChange"] }, { kind: "component", type: RadioComponent, selector: "lib-radio", inputs: ["reactiveFormControlobject", "field"], outputs: ["change"] }, { kind: "component", type: ToggleComponent, selector: "lib-toggle", inputs: ["field", "reactiveFormControlobject"], outputs: ["change"] }, { kind: "component", type: UploadComponent, selector: "lib-upload", inputs: ["documentUploaderField", "field", "reactiveFormControlobject"], outputs: ["filesChanged", "fileRemoved", "filePreview"] }, { kind: "component", type: DobComponent, selector: "lib-dob", inputs: ["field", "reactiveFormControlobject"], outputs: ["blur", "valueChange", "dateSelected", "invalidDate"] }, { kind: "component", type: MobNumberComponent, selector: "lib-mob-number", inputs: ["field", "reactiveFormControlobject"], outputs: ["blur"] }, { kind: "component", type: InfoComponent, selector: "lib-info", inputs: ["field"] }, { kind: "component", type: CheckboxComponent, selector: "lib-checkbox", inputs: ["field", "reactiveFormControlobject"], outputs: ["change"] }, { kind: "component", type: TextareaComponent, selector: "lib-textarea", inputs: ["field", "reactiveFormControlobject"], outputs: ["blur"] }, { kind: "component", type: ButtonComponent, selector: "lib-button", inputs: ["field"] }, { kind: "component", type: TabComponent, selector: "lib-tab", inputs: ["field"], outputs: ["selectedIndexChange"] }, { kind: "component", type: AutocompleteComponent, selector: "lib-autocomplete", inputs: ["field", "reactiveFormControlobject"], outputs: ["blur", "selectionChanged", "valueChanged", "optionSelected"] }, { kind: "component", type: MultipleSelectComponent, selector: "lib-multiple-select", inputs: ["field", "reactiveFormControlobject"], outputs: ["selectionChange"] }, { kind: "component", type: SelectTextboxComponent, selector: "lib-select-textbox", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: OtpTextboxComponent, selector: "lib-otp-textbox", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: AmountTextboxComponent, selector: "lib-amount-textbox", inputs: ["field", "reactiveFormControlobject"], outputs: ["blur"] }, { kind: "component", type: SuffixTextboxComponent, selector: "lib-suffix-textbox", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: OtpMobNumberComponent, selector: "lib-otp-mob-number", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: TagMobNumberComponent, selector: "lib-tag-mob-number", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: AgeDateComponent, selector: "lib-age-date", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: AdditionButtonComponent, selector: "lib-addition-button", inputs: ["field"] }, { kind: "component", type: InfoTextboxComponent, selector: "lib-info-textbox", inputs: ["field", "reactiveFormControlobject", "fields"], outputs: ["infoClick"] }, { kind: "component", type: TextboxWithImageComponent, selector: "lib-textbox-with-image", inputs: ["field", "reactiveFormControlobject"], outputs: ["blur"] }, { kind: "component", type: EmailWithDomainComponent, selector: "lib-email-with-domain", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: ImageUploadComponent, selector: "lib-image-upload", inputs: ["field"] }, { kind: "component", type: DownloadDocumentComponent, selector: "lib-download-document", inputs: ["field"] }, { kind: "component", type: AddDocumentComponent, selector: "lib-add-document", inputs: ["field"] }, { kind: "component", type: HyperlinkComponent, selector: "lib-hyperlink", inputs: ["field"] }, { kind: "component", type: TextboxWithUnderscoreComponent, selector: "lib-textbox-with-underscore", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: UnderscoreMobNumberComponent, selector: "lib-underscore-mob-number", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: IconButtonComponent, selector: "lib-icon-button", inputs: ["field"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: ImageComponent, selector: "lib-image", inputs: ["field"] }, { kind: "component", type: StepperComponent, selector: "lib-stepper", inputs: ["field"] }, { kind: "component", type: CardComponent, selector: "lib-card", inputs: ["field"], outputs: ["cardDetailsClicked"] }, { kind: "component", type: HrLineComponent, selector: "lib-hr-line", inputs: ["field"] }, { kind: "component", type: SearchMultiSelectComponent, selector: "lib-search-multi-select", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: SubscriptTextboxComponent, selector: "lib-subscript-textbox", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: LabelComponent, selector: "lib-label", inputs: ["field"] }, { kind: "component", type: SubHeaderComponent, selector: "lib-sub-header", inputs: ["field"] }, { kind: "component", type: HeaderComponent, selector: "lib-header", inputs: ["field"] }, { kind: "component", type: TextboxWithTextComponent, selector: "lib-textbox-with-text", inputs: ["reactiveFormControlobject", "field"], outputs: ["blur"] }, { kind: "component", type: DiscountComponent, selector: "lib-discount", inputs: ["field"] }, { kind: "component", type: BenefitCardComponent, selector: "lib-benefit-card", inputs: ["field"] }, { kind: "component", type: TableComponent, selector: "lib-table", inputs: ["field", "readonly"], outputs: ["actionItemClicked", "tablePaginationClicked"] }, { kind: "component", type: LoaderComponent, selector: "lib-loader", inputs: ["field"] }, { kind: "component", type: WarningSnackbarComponent, selector: "lib-warning-snackbar", inputs: ["field"] }, { kind: "component", type: SuccessSnackbarComponent, selector: "lib-success-snackbar", inputs: ["field"] }, { kind: "component", type: NeutralSnackbarComponent, selector: "lib-neutral-snackbar", inputs: ["field"] }, { kind: "component", type: ErrorSnackbarComponent, selector: "lib-error-snackbar", inputs: ["field"] }, { kind: "component", type: GreyLabelComponent, selector: "lib-grey-label", inputs: ["field"] }, { kind: "component", type: IframeComponent, selector: "lib-iframe", inputs: ["field"] }, { kind: "component", type: ToggleButtonComponent, selector: "lib-toggle-button", inputs: ["reactiveFormControlobject", "field"], outputs: ["selectionChanged", "change"] }, { kind: "component", type: PayGetCardComponent, selector: "lib-pay-get-card", inputs: ["field", "payAmount", "premiumAmount", "ptValue", "years", "frequency"] }, { kind: "component", type: InBuiltBenefitComponent, selector: "lib-in-built-benefit", inputs: ["field", "premiumAmount", "premiumAmountShort"] }, { kind: "component", type: OtherBenefitsComponent, selector: "lib-other-benefits", inputs: ["field"] }, { kind: "component", type: AnnuityRateLogoComponent, selector: "lib-annuity-rate-logo", inputs: ["field", "ratePercent"] }, { kind: "component", type: DiscountV2Component, selector: "lib-discount-v2", inputs: ["field"] }, { kind: "component", type: LabelValueCardComponent, selector: "lib-label-value-card", inputs: ["field"] }, { kind: "component", type: MedialQuestionsComponent, selector: "lib-medial-questions", inputs: ["medialQuestionResponse", "personUWOpenQuoteResponse", "field"] }, { kind: "component", type: PageNudgeComponent, selector: "lib-page-nudge", inputs: ["field"] }, { kind: "component", type: ProgressBarComponent, selector: "lib-progress-bar", inputs: ["field"] }, { kind: "component", type: AccordianComponent, selector: "lib-accordian", inputs: ["field"] }, { kind: "component", type: MiscellaneousInfoBarComponent, selector: "lib-miscellaneous-info-bar", inputs: ["field", "details"] }, { kind: "component", type: PlainTextComponent, selector: "lib-plain-text", inputs: ["field"] }, { kind: "component", type: MenuComponent, selector: "lib-menu", inputs: ["field"] }, { kind: "component", type: StepperWIthArrowComponent, selector: "lib-stepper-with-arrow", inputs: ["field", "currentStepValue", "autoProgress", "autoProgressDelay"], outputs: ["selectedStep"] }, { kind: "component", type: LabelWithImageComponent, selector: "lib-label-with-image", inputs: ["field"] }, { kind: "component", type: TopHeaderComponent, selector: "lib-top-header", inputs: ["field"] }, { kind: "component", type: FooterComponent, selector: "lib-footer", inputs: ["field"] }, { kind: "component", type: FooterWithButtonsComponent, selector: "lib-footer-with-buttons", inputs: ["field"] }, { kind: "component", type: MotorGlowPlanDetailsComponent, selector: "lib-motor-glow-plan-details", inputs: ["field"], outputs: ["editPlanClick"] }] });
|
|
82
83
|
}
|
|
83
84
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MasterControlComponent, decorators: [{
|
|
84
85
|
type: Component,
|
|
@@ -156,9 +157,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
156
157
|
TopHeaderComponent,
|
|
157
158
|
FooterComponent,
|
|
158
159
|
FooterWithButtonsComponent,
|
|
159
|
-
MotorGlowPlanDetailsComponent
|
|
160
|
+
MotorGlowPlanDetailsComponent,
|
|
161
|
+
FilePreviewComponent
|
|
160
162
|
], template: "@switch (field()?.controlType) {\r\n @case ('top-header') {\r\n <lib-top-header [field]=\"field()\" />\r\n }\r\n @case ('footer') {\r\n <lib-footer [field]=\"field()\" />\r\n }\r\n @case('footer-buttons')\r\n {\r\n <lib-footer-with-buttons [field]=\"field()\"></lib-footer-with-buttons>\r\n }\r\n @case('text') {\r\n <lib-textbox [field]=\"field()\"></lib-textbox>\r\n }\r\n @case('select') {\r\n <lib-select [field]=\"field()\"/>\r\n }\r\n\r\n @case('radio') {\r\n <lib-radio [field]=\"field()\" />\r\n }\r\n\r\n @case('toggle') {\r\n <lib-toggle [field]=\"field()\" />\r\n }\r\n\r\n @case('file') {\r\n <lib-upload [field]=\"field()\" />\r\n }\r\n\r\n @case('date') {\r\n <lib-dob [field]=\"field()\" />\r\n }\r\n\r\n @case('mobileNumber') {\r\n <lib-mob-number [field]=\"field()\" />\r\n }\r\n\r\n @case('info') {\r\n <lib-info [field]=\"field()\" />\r\n }\r\n\r\n @case('checkbox') {\r\n <lib-checkbox [field]=\"field()\" />\r\n }\r\n\r\n @case('textarea') {\r\n <lib-textarea [field]=\"field()\" />\r\n }\r\n\r\n @case ('button') {\r\n <lib-button [field]=\"field()\" />\r\n }\r\n\r\n @case ('tab') {\r\n <lib-tab [field]=\"field()\" />\r\n }\r\n\r\n @case ('autocomplete') {\r\n <lib-autocomplete [field]=\"field()\" />\r\n }\r\n\r\n @case ('multipleSelect') {\r\n <lib-multiple-select [field]=\"field()\" />\r\n }\r\n\r\n @case ('textboxWithSelect') {\r\n <lib-select-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('otpTextbox') {\r\n <lib-otp-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('amountTextbox') {\r\n <lib-amount-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('suffixTextbox') {\r\n <lib-suffix-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('otpMobNumber') {\r\n <lib-otp-mob-number [field]=\"field()\" />\r\n }\r\n\r\n @case ('tagMobNumber') {\r\n <lib-tag-mob-number [field]=\"field()\" />\r\n }\r\n\r\n @case ('dateWithAge') {\r\n <lib-age-date [field]=\"field()\" />\r\n }\r\n\r\n @case ('additionButton') {\r\n <lib-addition-button [field]=\"field()\" />\r\n }\r\n\r\n @case ('infoTextbox') {\r\n <lib-info-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('textboxWithImage') {\r\n <lib-textbox-with-image [field]=\"field()\" />\r\n }\r\n\r\n @case ('emailWithDomain') {\r\n <lib-email-with-domain [field]=\"field()\" />\r\n }\r\n\r\n @case ('imageUpload') {\r\n <lib-image-upload [field]=\"field()\" />\r\n }\r\n\r\n @case ('downloadDocument') {\r\n <lib-download-document [field]=\"field()\" />\r\n }\r\n\r\n @case ('addDocument') {\r\n <lib-add-document [field]=\"field()\" />\r\n }\r\n\r\n @case ('hyperlink') {\r\n <lib-hyperlink [field]=\"field()\" />\r\n }\r\n\r\n @case ('textboxWithUnderscore') {\r\n <lib-textbox-with-underscore [field]=\"field()\" />\r\n }\r\n\r\n @case ('underscoreMobNumber') {\r\n <lib-underscore-mob-number [field]=\"field()\" />\r\n }\r\n\r\n @case ('downloadIconButton') {\r\n <lib-icon-button [field]=\"field()\" />\r\n }\r\n\r\n @case ('image') {\r\n <lib-image [field]=\"field()\" />\r\n }\r\n @case ('stepper') {\r\n <lib-stepper [field]=\"field()\" />\r\n }\r\n @case ('card') {\r\n <lib-card [field]=\"field()\" />\r\n }\r\n @case ('hrLine') {\r\n <lib-hr-line [field]=\"field()\" />\r\n }\r\n @case ('searchMultiSelect') {\r\n <lib-search-multi-select [field]=\"field()\" />\r\n }\r\n @case ('subscriptTextbox') {\r\n <lib-subscript-textbox [field]=\"field()\" />\r\n }\r\n @case ('label') {\r\n <lib-label [field]=\"field()\" />\r\n }\r\n @case ('subHeading') {\r\n <lib-sub-header [field]=\"field()\" />\r\n }\r\n @case ('heading') {\r\n <lib-header [field]=\"field()\" />\r\n }\r\n @case ('table') {\r\n <lib-table [field]=\"field()\" />\r\n }\r\n @case ('textboxWithText') {\r\n <lib-textbox-with-text [field]=\"field()\" />\r\n }\r\n @case ('loader') {\r\n <lib-loader [field]=\"field()\" />\r\n }\r\n @case ('discount') {\r\n <lib-discount [field]=\"field()\" />\r\n }\r\n @case ('optionalBenefitCard') {\r\n <lib-benefit-card [field]=\"field()\" />\r\n }\r\n @case ('errorSnackbar') {\r\n <lib-error-snackbar [field]=\"field()\" />\r\n }\r\n @case ('warningSnackbar') {\r\n <lib-warning-snackbar [field]=\"field()\" />\r\n }\r\n @case ('successSnackbar') {\r\n <lib-success-snackbar [field]=\"field()\" />\r\n }\r\n @case ('neutralSnackbar') {\r\n <lib-neutral-snackbar [field]=\"field()\" />\r\n }\r\n @case ('boldLabel') {\r\n <lib-grey-label [field]=\"field()\" />\r\n }\r\n @case ('iframe') {\r\n <lib-iframe [field]=\"field()\" />\r\n }\r\n @case ('toggleButton') {\r\n <lib-toggle-button [field]=\"field()\" />\r\n }\r\n @case ('payGetCard') {\r\n <lib-pay-get-card [field]=\"field()\" />\r\n }\r\n @case ('inBuiltBenefit') {\r\n <lib-in-built-benefit [field]=\"field()\" />\r\n }\r\n @case ('otherBenefit') {\r\n <lib-other-benefits [field]=\"field()\" />\r\n }\r\n @case ('annuityRateLogo') {\r\n <lib-annuity-rate-logo [field]=\"field()\" />\r\n }\r\n @case ('discountAnnuity') {\r\n <lib-discount-v2 [field]=\"field()\" />\r\n }\r\n @case ('labelValue'){\r\n <lib-label-value-card [field]=\"field()\" />\r\n }\r\n @case ('medicalQuestions'){\r\n <lib-medial-questions [field]=\"field()\" />\r\n }\r\n @case ('nudge'){\r\n <lib-page-nudge [field]=\"field()\"/>\r\n }\r\n @case ('progressBar'){\r\n <lib-progress-bar [field]=\"field()\"/>\r\n }\r\n @case ('accordian'){\r\n <lib-accordian [field]=\"field()\"/>\r\n }\r\n @case ('miscInfo'){\r\n <lib-miscellaneous-info-bar [field]=\"field()\"/>\r\n }\r\n @case ('plainText'){\r\n <lib-plain-text [field]=\"field()\"/>\r\n }\r\n @case ('menu'){\r\n <lib-menu [field]=\"field()\" />\r\n }\r\n @case ('stepperWithArrow') {\r\n <lib-stepper-with-arrow [field]=\"field()\" />\r\n }\r\n @case ('labelWithImage') {\r\n <lib-label-with-image [field]=\"field()\" />\r\n }\r\n @case ('motorGlowPlanDetails') {\r\n <lib-motor-glow-plan-details [field]=\"field()\" />\r\n }\r\n}\r\n" }]
|
|
161
163
|
}], ctorParameters: () => [], propDecorators: { formGroup: [{
|
|
162
164
|
type: Input
|
|
163
165
|
}] } });
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzdGVyLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFzdGVyLWNvbnRyb2wvc3JjL2xpYi9tYXN0ZXItY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL21hc3Rlci1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSTVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzdHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDNUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDOztBQW9GNUcsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxLQUFLLEdBQVEsS0FBSyxDQUFDLFFBQVEsRUFBTyxDQUFDO0lBQzFCLFNBQVMsR0FBYyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsRCxnQkFBZSxDQUFDO3dHQUhMLHNCQUFzQjs0RkFBdEIsc0JBQXNCLHNWQ2hLbkMseWpNQTBQQSx5RER4S0ksV0FBVywrQkFDWCxnQkFBZ0IsMkhBQ2hCLGVBQWUscUlBQ2YsY0FBYywySEFDZCxlQUFlLDRIQUNmLGVBQWUsaUpBQ2YsWUFBWSxxS0FDWixrQkFBa0IsOEhBQ2xCLGFBQWEsd0VBQ2IsaUJBQWlCLDhIQUNqQixpQkFBaUIsNEhBQ2pCLGVBQWUsMEVBQ2YsWUFBWSx5R0FDWixxQkFBcUIsc0xBQ3JCLHVCQUF1Qiw4SUFDdkIsc0JBQXNCLCtHQUN0QixtQkFBbUIsNEdBQ25CLHNCQUFzQixrSUFDdEIsc0JBQXNCLCtHQUN0QixxQkFBcUIsK0dBQ3JCLHFCQUFxQiwrR0FDckIsZ0JBQWdCLHlHQUNoQix1QkFBdUIsbUZBQ3ZCLG9CQUFvQiwrSUFDcEIseUJBQXlCLHNJQUN6Qix3QkFBd0Isa0hBQ3hCLG9CQUFvQixnRkFDcEIseUJBQXlCLHFGQUN6QixvQkFBb0IsZ0ZBQ3BCLGtCQUFrQiw2RUFDbEIsOEJBQThCLHdIQUM5Qiw0QkFBNEIsc0hBQzVCLG1CQUFtQiw4RUFDbkIsbUJBQW1CLCtCQUNuQixjQUFjLHlFQUNkLGdCQUFnQiwyRUFDaEIsYUFBYSx5R0FDYixlQUFlLDJFQUNmLDBCQUEwQixvSEFDMUIseUJBQXlCLGtIQUN6QixjQUFjLHlFQUNkLGtCQUFrQiw4RUFDbEIsZUFBZSwwRUFDZix3QkFBd0IscUlBQ3hCLGlCQUFpQiw0RUFDakIsb0JBQW9CLGdGQUNwQixjQUFjLCtJQUNkLGVBQWUsMEVBQ2Ysd0JBQXdCLG9GQUN4Qix3QkFBd0Isb0ZBQ3hCLHdCQUF3QixvRkFDeEIsc0JBQXNCLGtGQUN0QixrQkFBa0IsOEVBQ2xCLGVBQWUsMEVBQ2YscUJBQXFCLHVKQUNyQixtQkFBbUIsK0lBQ25CLHVCQUF1QiwySEFDdkIsc0JBQXNCLGtGQUN0Qix3QkFBd0Isb0dBQ3hCLG1CQUFtQiwrRUFDbkIsdUJBQXVCLG9GQUN2Qix3QkFBd0IsMklBQ3hCLGtCQUFrQiw4RUFDbEIsb0JBQW9CLGdGQUNwQixrQkFBa0IsNkVBQ2xCLDZCQUE2QixxR0FDN0Isa0JBQWtCLDhFQUNsQixhQUFhLHdFQUNiLHlCQUF5QiwwS0FDekIsdUJBQXVCLG9GQUN2QixrQkFBa0IsOEVBQ2xCLGVBQWUsMEVBQ2YsMEJBQTBCLHVGQUMxQiw2QkFBNkI7OzRGQUtwQixzQkFBc0I7a0JBbEZsQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1A7d0JBQ1AsV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIsc0JBQXNCO3dCQUN0QixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQix1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIseUJBQXlCO3dCQUN6Qix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIseUJBQXlCO3dCQUN6QixvQkFBb0I7d0JBQ3BCLGtCQUFrQjt3QkFDbEIsOEJBQThCO3dCQUM5Qiw0QkFBNEI7d0JBQzVCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixlQUFlO3dCQUNmLDBCQUEwQjt3QkFDMUIseUJBQXlCO3dCQUN6QixjQUFjO3dCQUNkLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZix3QkFBd0I7d0JBQ3hCLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2Ysd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3dCQUN0QixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsc0JBQXNCO3dCQUN0Qix3QkFBd0I7d0JBQ3hCLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLDZCQUE2Qjt3QkFDN0Isa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLHlCQUF5Qjt3QkFDekIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsMEJBQTBCO3dCQUMxQiw2QkFBNkI7cUJBQ2hDO3dEQU1VLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGV4dGJveENvbXBvbmVudCB9IGZyb20gJy4vdGV4dGJveC90ZXh0Ym94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgUmFkaW9Db21wb25lbnQgfSBmcm9tICcuL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4vdG9nZ2xlL3RvZ2dsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuL3VwbG9hZC91cGxvYWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRG9iQ29tcG9uZW50IH0gZnJvbSAnLi9kb2IvZG9iLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1vYk51bWJlckNvbXBvbmVudCB9IGZyb20gJy4vbW9iLW51bWJlci9tb2ItbnVtYmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEluZm9Db21wb25lbnQgfSBmcm9tICcuL2luZm8vaW5mby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuL3RleHRhcmVhL3RleHRhcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhYkNvbXBvbmVudCB9IGZyb20gXCIuL3RhYi90YWIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gXCIuL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IE11bHRpcGxlU2VsZWN0Q29tcG9uZW50IH0gZnJvbSBcIi4vbXVsdGlwbGUtc2VsZWN0L211bHRpcGxlLXNlbGVjdC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgU2VsZWN0VGV4dGJveENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LXRleHRib3gvc2VsZWN0LXRleHRib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgT3RwVGV4dGJveENvbXBvbmVudCB9IGZyb20gXCIuL290cC10ZXh0Ym94L290cC10ZXh0Ym94LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbW91bnRUZXh0Ym94Q29tcG9uZW50IH0gZnJvbSBcIi4vYW1vdW50LXRleHRib3gvYW1vdW50LXRleHRib3guY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFN1ZmZpeFRleHRib3hDb21wb25lbnQgfSBmcm9tIFwiLi9zdWZmaXgtdGV4dGJveC9zdWZmaXgtdGV4dGJveC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgT3RwTW9iTnVtYmVyQ29tcG9uZW50IH0gZnJvbSBcIi4vb3RwLW1vYi1udW1iZXIvb3RwLW1vYi1udW1iZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFRhZ01vYk51bWJlckNvbXBvbmVudCB9IGZyb20gXCIuL3RhZy1tb2ItbnVtYmVyL3RhZy1tb2ItbnVtYmVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBZ2VEYXRlQ29tcG9uZW50IH0gZnJvbSBcIi4vYWdlLWRhdGUvYWdlLWRhdGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFkZGl0aW9uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSBcIi4vYWRkaXRpb24tYnV0dG9uL2FkZGl0aW9uLWJ1dHRvbi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgSW5mb1RleHRib3hDb21wb25lbnQgfSBmcm9tIFwiLi9pbmZvLXRleHRib3gvaW5mby10ZXh0Ym94LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBUZXh0Ym94V2l0aEltYWdlQ29tcG9uZW50IH0gZnJvbSBcIi4vdGV4dGJveC13aXRoLWltYWdlL3RleHRib3gtd2l0aC1pbWFnZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRW1haWxXaXRoRG9tYWluQ29tcG9uZW50IH0gZnJvbSBcIi4vZW1haWwtd2l0aC1kb21haW4vZW1haWwtd2l0aC1kb21haW4uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEltYWdlVXBsb2FkQ29tcG9uZW50IH0gZnJvbSBcIi4vaW1hZ2UtdXBsb2FkL2ltYWdlLXVwbG9hZC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRG93bmxvYWREb2N1bWVudENvbXBvbmVudCB9IGZyb20gXCIuL2Rvd25sb2FkLWRvY3VtZW50L2Rvd25sb2FkLWRvY3VtZW50LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBZGREb2N1bWVudENvbXBvbmVudCB9IGZyb20gXCIuL2FkZC1kb2N1bWVudC9hZGQtZG9jdW1lbnQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEh5cGVybGlua0NvbXBvbmVudCB9IGZyb20gXCIuL2h5cGVybGluay9oeXBlcmxpbmsuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFRleHRib3hXaXRoVW5kZXJzY29yZUNvbXBvbmVudCB9IGZyb20gXCIuL3RleHRib3gtd2l0aC11bmRlcnNjb3JlL3RleHRib3gtd2l0aC11bmRlcnNjb3JlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBVbmRlcnNjb3JlTW9iTnVtYmVyQ29tcG9uZW50IH0gZnJvbSBcIi4vdW5kZXJzY29yZS1tb2ItbnVtYmVyL3VuZGVyc2NvcmUtbW9iLW51bWJlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuL2ljb24tYnV0dG9uL2ljb24tYnV0dG9uLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2UvaW1hZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3RlcHBlckNvbXBvbmVudCB9IGZyb20gXCIuL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQ2FyZENvbXBvbmVudCB9IGZyb20gXCIuL2NhcmQvY2FyZC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgSHJMaW5lQ29tcG9uZW50IH0gZnJvbSBcIi4vaHItbGluZS9oci1saW5lLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBTZWFyY2hNdWx0aVNlbGVjdENvbXBvbmVudCB9IGZyb20gXCIuL3NlYXJjaC1tdWx0aS1zZWxlY3Qvc2VhcmNoLW11bHRpLXNlbGVjdC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgU3Vic2NyaXB0VGV4dGJveENvbXBvbmVudCB9IGZyb20gXCIuL3N1YnNjcmlwdC10ZXh0Ym94L3N1YnNjcmlwdC10ZXh0Ym94LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBMYWJlbENvbXBvbmVudCB9IGZyb20gXCIuL2xhYmVsL2xhYmVsLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBTdWJIZWFkZXJDb21wb25lbnQgfSBmcm9tIFwiLi9zdWItaGVhZGVyL3N1Yi1oZWFkZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEhlYWRlckNvbXBvbmVudCB9IGZyb20gXCIuL2hlYWRlci9oZWFkZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS90YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXh0Ym94V2l0aFRleHRDb21wb25lbnQgfSBmcm9tIFwiLi90ZXh0Ym94LXdpdGgtdGV4dC90ZXh0Ym94LXdpdGgtdGV4dC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRGlzY291bnRDb21wb25lbnQgfSBmcm9tIFwiLi9kaXNjb3VudC9kaXNjb3VudC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQmVuZWZpdENhcmRDb21wb25lbnQgfSBmcm9tIFwiLi9iZW5lZml0LWNhcmQvYmVuZWZpdC1jYXJkLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2xvYWRlci9sb2FkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV2FybmluZ1NuYWNrYmFyQ29tcG9uZW50IH0gZnJvbSBcIi4vd2FybmluZy1zbmFja2Jhci93YXJuaW5nLXNuYWNrYmFyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBTdWNjZXNzU25hY2tiYXJDb21wb25lbnQgfSBmcm9tIFwiLi9zdWNjZXNzLXNuYWNrYmFyL3N1Y2Nlc3Mtc25hY2tiYXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IE5ldXRyYWxTbmFja2JhckNvbXBvbmVudCB9IGZyb20gXCIuL25ldXRyYWwtc25hY2tiYXIvbmV1dHJhbC1zbmFja2Jhci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRXJyb3JTbmFja2JhckNvbXBvbmVudCB9IGZyb20gXCIuL2Vycm9yLXNuYWNrYmFyL2Vycm9yLXNuYWNrYmFyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBHcmV5TGFiZWxDb21wb25lbnQgfSBmcm9tIFwiLi9ncmV5LWxhYmVsL2dyZXktbGFiZWwuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IElmcmFtZUNvbXBvbmVudCB9IGZyb20gXCIuL2lmcmFtZS9pZnJhbWUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFRvZ2dsZUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuL3RvZ2dsZS1idXR0b24vdG9nZ2xlLWJ1dHRvbi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgUGF5R2V0Q2FyZENvbXBvbmVudCB9IGZyb20gXCIuL3BheS1nZXQtY2FyZC9wYXktZ2V0LWNhcmQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEluQnVpbHRCZW5lZml0Q29tcG9uZW50IH0gZnJvbSBcIi4vaW4tYnVpbHQtYmVuZWZpdC9pbi1idWlsdC1iZW5lZml0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBPdGhlckJlbmVmaXRzQ29tcG9uZW50IH0gZnJvbSBcIi4vb3RoZXItYmVuZWZpdHMvb3RoZXItYmVuZWZpdHMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFubnVpdHlSYXRlTG9nb0NvbXBvbmVudCB9IGZyb20gXCIuL2FubnVpdHktcmF0ZS1sb2dvL2FubnVpdHktcmF0ZS1sb2dvLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBEaXNjb3VudFYyQ29tcG9uZW50IH0gZnJvbSAnLi9kaXNjb3VudC12Mi9kaXNjb3VudC12Mi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMYWJlbFZhbHVlQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vbGFiZWwtdmFsdWUtY2FyZC9sYWJlbC12YWx1ZS1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1lZGlhbFF1ZXN0aW9uc0NvbXBvbmVudCB9IGZyb20gXCIuL21lZGlhbC1xdWVzdGlvbnMvbWVkaWFsLXF1ZXN0aW9ucy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgUGFnZU51ZGdlQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlLW51ZGdlL3BhZ2UtbnVkZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvZ3Jlc3NCYXJDb21wb25lbnQgfSBmcm9tIFwiLi9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBY2NvcmRpYW5Db21wb25lbnQgfSBmcm9tIFwiLi9hY2NvcmRpYW4vYWNjb3JkaWFuLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBNaXNjZWxsYW5lb3VzSW5mb0JhckNvbXBvbmVudCB9IGZyb20gXCIuL21pc2NlbGxhbmVvdXMtaW5mby1iYXIvbWlzY2VsbGFuZW91cy1pbmZvLWJhci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgUGxhaW5UZXh0Q29tcG9uZW50IH0gZnJvbSBcIi4vcGxhaW4tdGV4dC9wbGFpbi10ZXh0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9tZW51L21lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3RlcHBlcldJdGhBcnJvd0NvbXBvbmVudCB9IGZyb20gXCIuL3N0ZXBwZXItd2l0aC1hcnJvdy9zdGVwcGVyLXdpdGgtYXJyb3cuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IExhYmVsV2l0aEltYWdlQ29tcG9uZW50IH0gZnJvbSBcIi4vbGFiZWwtd2l0aC1pbWFnZS9sYWJlbC13aXRoLWltYWdlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBUb3BIZWFkZXJDb21wb25lbnQgfSBmcm9tIFwiLi90b3AtaGVhZGVyL3RvcC1oZWFkZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEZvb3RlckNvbXBvbmVudCB9IGZyb20gXCIuL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEZvb3RlcldpdGhCdXR0b25zQ29tcG9uZW50IH0gZnJvbSAnLi9mb290ZXItd2l0aC1idXR0b25zL2Zvb3Rlci13aXRoLWJ1dHRvbnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTW90b3JHbG93UGxhbkRldGFpbHNDb21wb25lbnQgfSBmcm9tIFwiLi9tb3Rvci1nbG93LXBsYW4tZGV0YWlscy9tb3Rvci1nbG93LXBsYW4tZGV0YWlscy5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLW1hc3Rlci1jb250cm9sJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgVGV4dGJveENvbXBvbmVudCxcclxuICAgIFNlbGVjdENvbXBvbmVudCxcclxuICAgIFJhZGlvQ29tcG9uZW50LFxyXG4gICAgVG9nZ2xlQ29tcG9uZW50LFxyXG4gICAgVXBsb2FkQ29tcG9uZW50LFxyXG4gICAgRG9iQ29tcG9uZW50LFxyXG4gICAgTW9iTnVtYmVyQ29tcG9uZW50LFxyXG4gICAgSW5mb0NvbXBvbmVudCxcclxuICAgIENoZWNrYm94Q29tcG9uZW50LFxyXG4gICAgVGV4dGFyZWFDb21wb25lbnQsXHJcbiAgICBCdXR0b25Db21wb25lbnQsXHJcbiAgICBUYWJDb21wb25lbnQsXHJcbiAgICBBdXRvY29tcGxldGVDb21wb25lbnQsXHJcbiAgICBNdWx0aXBsZVNlbGVjdENvbXBvbmVudCxcclxuICAgIFNlbGVjdFRleHRib3hDb21wb25lbnQsXHJcbiAgICBPdHBUZXh0Ym94Q29tcG9uZW50LFxyXG4gICAgQW1vdW50VGV4dGJveENvbXBvbmVudCxcclxuICAgIFN1ZmZpeFRleHRib3hDb21wb25lbnQsXHJcbiAgICBPdHBNb2JOdW1iZXJDb21wb25lbnQsXHJcbiAgICBUYWdNb2JOdW1iZXJDb21wb25lbnQsXHJcbiAgICBBZ2VEYXRlQ29tcG9uZW50LFxyXG4gICAgQWRkaXRpb25CdXR0b25Db21wb25lbnQsXHJcbiAgICBJbmZvVGV4dGJveENvbXBvbmVudCxcclxuICAgIFRleHRib3hXaXRoSW1hZ2VDb21wb25lbnQsXHJcbiAgICBFbWFpbFdpdGhEb21haW5Db21wb25lbnQsXHJcbiAgICBJbWFnZVVwbG9hZENvbXBvbmVudCxcclxuICAgIERvd25sb2FkRG9jdW1lbnRDb21wb25lbnQsXHJcbiAgICBBZGREb2N1bWVudENvbXBvbmVudCxcclxuICAgIEh5cGVybGlua0NvbXBvbmVudCxcclxuICAgIFRleHRib3hXaXRoVW5kZXJzY29yZUNvbXBvbmVudCxcclxuICAgIFVuZGVyc2NvcmVNb2JOdW1iZXJDb21wb25lbnQsXHJcbiAgICBJY29uQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIEltYWdlQ29tcG9uZW50LFxyXG4gICAgU3RlcHBlckNvbXBvbmVudCxcclxuICAgIENhcmRDb21wb25lbnQsXHJcbiAgICBIckxpbmVDb21wb25lbnQsXHJcbiAgICBTZWFyY2hNdWx0aVNlbGVjdENvbXBvbmVudCxcclxuICAgIFN1YnNjcmlwdFRleHRib3hDb21wb25lbnQsXHJcbiAgICBMYWJlbENvbXBvbmVudCxcclxuICAgIFN1YkhlYWRlckNvbXBvbmVudCxcclxuICAgIEhlYWRlckNvbXBvbmVudCxcclxuICAgIFRleHRib3hXaXRoVGV4dENvbXBvbmVudCxcclxuICAgIERpc2NvdW50Q29tcG9uZW50LFxyXG4gICAgQmVuZWZpdENhcmRDb21wb25lbnQsXHJcbiAgICBUYWJsZUNvbXBvbmVudCxcclxuICAgIExvYWRlckNvbXBvbmVudCxcclxuICAgIFdhcm5pbmdTbmFja2JhckNvbXBvbmVudCxcclxuICAgIFN1Y2Nlc3NTbmFja2JhckNvbXBvbmVudCxcclxuICAgIE5ldXRyYWxTbmFja2JhckNvbXBvbmVudCxcclxuICAgIEVycm9yU25hY2tiYXJDb21wb25lbnQsXHJcbiAgICBHcmV5TGFiZWxDb21wb25lbnQsXHJcbiAgICBJZnJhbWVDb21wb25lbnQsXHJcbiAgICBUb2dnbGVCdXR0b25Db21wb25lbnQsXHJcbiAgICBQYXlHZXRDYXJkQ29tcG9uZW50LFxyXG4gICAgSW5CdWlsdEJlbmVmaXRDb21wb25lbnQsXHJcbiAgICBPdGhlckJlbmVmaXRzQ29tcG9uZW50LFxyXG4gICAgQW5udWl0eVJhdGVMb2dvQ29tcG9uZW50LFxyXG4gICAgRGlzY291bnRWMkNvbXBvbmVudCxcclxuICAgIExhYmVsVmFsdWVDYXJkQ29tcG9uZW50LFxyXG4gICAgTWVkaWFsUXVlc3Rpb25zQ29tcG9uZW50LFxyXG4gICAgUGFnZU51ZGdlQ29tcG9uZW50LFxyXG4gICAgUHJvZ3Jlc3NCYXJDb21wb25lbnQsXHJcbiAgICBBY2NvcmRpYW5Db21wb25lbnQsXHJcbiAgICBNaXNjZWxsYW5lb3VzSW5mb0JhckNvbXBvbmVudCxcclxuICAgIFBsYWluVGV4dENvbXBvbmVudCxcclxuICAgIE1lbnVDb21wb25lbnQsXHJcbiAgICBTdGVwcGVyV0l0aEFycm93Q29tcG9uZW50LFxyXG4gICAgTGFiZWxXaXRoSW1hZ2VDb21wb25lbnQsXHJcbiAgICBUb3BIZWFkZXJDb21wb25lbnQsXHJcbiAgICBGb290ZXJDb21wb25lbnQsXHJcbiAgICBGb290ZXJXaXRoQnV0dG9uc0NvbXBvbmVudCxcclxuICAgIE1vdG9yR2xvd1BsYW5EZXRhaWxzQ29tcG9uZW50XHJcbl0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21hc3Rlci1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tYXN0ZXItY29udHJvbC5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE1hc3RlckNvbnRyb2xDb21wb25lbnQge1xyXG4gIGZpZWxkOiBhbnkgPSBpbnB1dC5yZXF1aXJlZDxhbnk+KCk7XHJcbiAgQElucHV0KCkgZm9ybUdyb3VwOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcbn1cclxuIiwiQHN3aXRjaCAoZmllbGQoKT8uY29udHJvbFR5cGUpIHtcclxuICBAY2FzZSAoJ3RvcC1oZWFkZXInKSB7XHJcbiAgICA8bGliLXRvcC1oZWFkZXIgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuICBAY2FzZSAoJ2Zvb3RlcicpIHtcclxuICAgIDxsaWItZm9vdGVyIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgQGNhc2UoJ2Zvb3Rlci1idXR0b25zJylcclxuICB7XHJcbiAgICA8bGliLWZvb3Rlci13aXRoLWJ1dHRvbnMgW2ZpZWxkXT1cImZpZWxkKClcIj48L2xpYi1mb290ZXItd2l0aC1idXR0b25zPlxyXG4gIH1cclxuICBAY2FzZSgndGV4dCcpIHtcclxuICAgPGxpYi10ZXh0Ym94IFtmaWVsZF09XCJmaWVsZCgpXCI+PC9saWItdGV4dGJveD5cclxuICB9XHJcbiAgQGNhc2UoJ3NlbGVjdCcpIHtcclxuICAgIDxsaWItc2VsZWN0IFtmaWVsZF09XCJmaWVsZCgpXCIvPlxyXG4gIH1cclxuXHJcbiAgQGNhc2UoJ3JhZGlvJykge1xyXG4gICAgPGxpYi1yYWRpbyBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG5cclxuICBAY2FzZSgndG9nZ2xlJykge1xyXG4gICAgPGxpYi10b2dnbGUgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuXHJcbiAgQGNhc2UoJ2ZpbGUnKSB7XHJcbiAgICA8bGliLXVwbG9hZCBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG5cclxuICBAY2FzZSgnZGF0ZScpIHtcclxuICAgIDxsaWItZG9iIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcblxyXG4gIEBjYXNlKCdtb2JpbGVOdW1iZXInKSB7XHJcbiAgICA8bGliLW1vYi1udW1iZXIgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuXHJcbiAgQGNhc2UoJ2luZm8nKSB7XHJcbiAgICA8bGliLWluZm8gW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuXHJcbiAgQGNhc2UoJ2NoZWNrYm94Jykge1xyXG4gICAgPGxpYi1jaGVja2JveCBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG5cclxuICBAY2FzZSgndGV4dGFyZWEnKSB7XHJcbiAgICA8bGliLXRleHRhcmVhIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcblxyXG4gIEBjYXNlICgnYnV0dG9uJykge1xyXG4gICAgPGxpYi1idXR0b24gW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuXHJcbiAgQGNhc2UgKCd0YWInKSB7XHJcbiAgICA8bGliLXRhYiBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG5cclxuICBAY2FzZSAoJ2F1dG9jb21wbGV0ZScpIHtcclxuICAgIDxsaWItYXV0b2NvbXBsZXRlIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcblxyXG4gIEBjYXNlICgnbXVsdGlwbGVTZWxlY3QnKSB7XHJcbiAgICA8bGliLW11bHRpcGxlLXNlbGVjdCBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG5cclxuICBAY2FzZSAoJ3RleHRib3hXaXRoU2VsZWN0Jykge1xyXG4gICAgPGxpYi1zZWxlY3QtdGV4dGJveCBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG5cclxuICBAY2FzZSAoJ290cFRleHRib3gnKSB7XHJcbiAgICA8bGliLW90cC10ZXh0Ym94IFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcblxyXG4gIEBjYXNlICgnYW1vdW50VGV4dGJveCcpIHtcclxuICAgIDxsaWItYW1vdW50LXRleHRib3ggW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuXHJcbiAgQGNhc2UgKCdzdWZmaXhUZXh0Ym94Jykge1xyXG4gICAgPGxpYi1zdWZmaXgtdGV4dGJveCBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG5cclxuICBAY2FzZSAoJ290cE1vYk51bWJlcicpIHtcclxuICAgIDxsaWItb3RwLW1vYi1udW1iZXIgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuXHJcbiAgQGNhc2UgKCd0YWdNb2JOdW1iZXInKSB7XHJcbiAgICA8bGliLXRhZy1tb2ItbnVtYmVyIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcblxyXG4gIEBjYXNlICgnZGF0ZVdpdGhBZ2UnKSB7XHJcbiAgICAgPGxpYi1hZ2UtZGF0ZSBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG5cclxuICBAY2FzZSAoJ2FkZGl0aW9uQnV0dG9uJykge1xyXG4gICAgPGxpYi1hZGRpdGlvbi1idXR0b24gW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuXHJcbiAgQGNhc2UgKCdpbmZvVGV4dGJveCcpIHtcclxuICAgIDxsaWItaW5mby10ZXh0Ym94IFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcblxyXG4gIEBjYXNlICgndGV4dGJveFdpdGhJbWFnZScpIHtcclxuICAgIDxsaWItdGV4dGJveC13aXRoLWltYWdlIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcblxyXG4gIEBjYXNlICgnZW1haWxXaXRoRG9tYWluJykge1xyXG4gICAgPGxpYi1lbWFpbC13aXRoLWRvbWFpbiBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG5cclxuICBAY2FzZSAoJ2ltYWdlVXBsb2FkJykge1xyXG4gICAgIDxsaWItaW1hZ2UtdXBsb2FkIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcblxyXG4gIEBjYXNlICgnZG93bmxvYWREb2N1bWVudCcpIHtcclxuICAgICA8bGliLWRvd25sb2FkLWRvY3VtZW50IFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcblxyXG4gIEBjYXNlICgnYWRkRG9jdW1lbnQnKSB7XHJcbiAgICA8bGliLWFkZC1kb2N1bWVudCBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG5cclxuICBAY2FzZSAoJ2h5cGVybGluaycpIHtcclxuICAgIDxsaWItaHlwZXJsaW5rIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcblxyXG4gIEBjYXNlICgndGV4dGJveFdpdGhVbmRlcnNjb3JlJykge1xyXG4gICAgPGxpYi10ZXh0Ym94LXdpdGgtdW5kZXJzY29yZSBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG5cclxuICBAY2FzZSAoJ3VuZGVyc2NvcmVNb2JOdW1iZXInKSB7XHJcbiAgICA8bGliLXVuZGVyc2NvcmUtbW9iLW51bWJlciBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG5cclxuICBAY2FzZSAoJ2Rvd25sb2FkSWNvbkJ1dHRvbicpIHtcclxuICAgIDxsaWItaWNvbi1idXR0b24gW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuXHJcbiAgQGNhc2UgKCdpbWFnZScpIHtcclxuICAgIDxsaWItaW1hZ2UgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuICBAY2FzZSAoJ3N0ZXBwZXInKSB7XHJcbiAgICA8bGliLXN0ZXBwZXIgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuICAgQGNhc2UgKCdjYXJkJykge1xyXG4gICAgPGxpYi1jYXJkIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgQGNhc2UgKCdockxpbmUnKSB7XHJcbiAgICA8bGliLWhyLWxpbmUgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuICBAY2FzZSAoJ3NlYXJjaE11bHRpU2VsZWN0Jykge1xyXG4gICAgPGxpYi1zZWFyY2gtbXVsdGktc2VsZWN0IFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgQGNhc2UgKCdzdWJzY3JpcHRUZXh0Ym94Jykge1xyXG4gICAgPGxpYi1zdWJzY3JpcHQtdGV4dGJveCBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG4gIEBjYXNlICgnbGFiZWwnKSB7XHJcbiAgICA8bGliLWxhYmVsIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgQGNhc2UgKCdzdWJIZWFkaW5nJykge1xyXG4gICAgPGxpYi1zdWItaGVhZGVyIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgQGNhc2UgKCdoZWFkaW5nJykge1xyXG4gICAgPGxpYi1oZWFkZXIgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuICBAY2FzZSAoJ3RhYmxlJykge1xyXG4gIDxsaWItdGFibGUgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuICBAY2FzZSAoJ3RleHRib3hXaXRoVGV4dCcpIHtcclxuICAgIDxsaWItdGV4dGJveC13aXRoLXRleHQgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuICAgIEBjYXNlICgnbG9hZGVyJykge1xyXG4gICAgPGxpYi1sb2FkZXIgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gICAgfVxyXG4gIEBjYXNlICgnZGlzY291bnQnKSB7XHJcbiAgICA8bGliLWRpc2NvdW50IFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgQGNhc2UgKCdvcHRpb25hbEJlbmVmaXRDYXJkJykge1xyXG4gICAgPGxpYi1iZW5lZml0LWNhcmQgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuICBAY2FzZSAoJ2Vycm9yU25hY2tiYXInKSB7XHJcbiAgICA8bGliLWVycm9yLXNuYWNrYmFyIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgIEBjYXNlICgnd2FybmluZ1NuYWNrYmFyJykge1xyXG4gICAgPGxpYi13YXJuaW5nLXNuYWNrYmFyIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgIEBjYXNlICgnc3VjY2Vzc1NuYWNrYmFyJykge1xyXG4gICAgPGxpYi1zdWNjZXNzLXNuYWNrYmFyIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgIEBjYXNlICgnbmV1dHJhbFNuYWNrYmFyJykge1xyXG4gICAgPGxpYi1uZXV0cmFsLXNuYWNrYmFyIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgQGNhc2UgKCdib2xkTGFiZWwnKSB7XHJcbiAgICA8bGliLWdyZXktbGFiZWwgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuICBAY2FzZSAoJ2lmcmFtZScpIHtcclxuICAgIDxsaWItaWZyYW1lIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgQGNhc2UgKCd0b2dnbGVCdXR0b24nKSB7XHJcbiAgICA8bGliLXRvZ2dsZS1idXR0b24gW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuICBAY2FzZSAoJ3BheUdldENhcmQnKSB7XHJcbiAgICA8bGliLXBheS1nZXQtY2FyZCBbZmllbGRdPVwiZmllbGQoKVwiICAvPlxyXG4gIH1cclxuICBAY2FzZSAoJ2luQnVpbHRCZW5lZml0Jykge1xyXG4gICAgPGxpYi1pbi1idWlsdC1iZW5lZml0IFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgQGNhc2UgKCdvdGhlckJlbmVmaXQnKSB7XHJcbiAgICA8bGliLW90aGVyLWJlbmVmaXRzIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgQGNhc2UgKCdhbm51aXR5UmF0ZUxvZ28nKSB7XHJcbiAgICA8bGliLWFubnVpdHktcmF0ZS1sb2dvIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgQGNhc2UgKCdkaXNjb3VudEFubnVpdHknKSB7XHJcbiAgICA8bGliLWRpc2NvdW50LXYyIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgQGNhc2UgKCdsYWJlbFZhbHVlJyl7XHJcbiAgICA8bGliLWxhYmVsLXZhbHVlLWNhcmQgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuICBAY2FzZSAoJ21lZGljYWxRdWVzdGlvbnMnKXtcclxuICAgIDxsaWItbWVkaWFsLXF1ZXN0aW9ucyBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG4gIEBjYXNlICgnbnVkZ2UnKXtcclxuICAgIDxsaWItcGFnZS1udWRnZSAgW2ZpZWxkXT1cImZpZWxkKClcIi8+XHJcbiAgfVxyXG4gIEBjYXNlICgncHJvZ3Jlc3NCYXInKXtcclxuICAgIDxsaWItcHJvZ3Jlc3MtYmFyICBbZmllbGRdPVwiZmllbGQoKVwiLz5cclxuICB9XHJcbiAgQGNhc2UgKCdhY2NvcmRpYW4nKXtcclxuICAgIDxsaWItYWNjb3JkaWFuICBbZmllbGRdPVwiZmllbGQoKVwiLz5cclxuICB9XHJcbiAgQGNhc2UgKCdtaXNjSW5mbycpe1xyXG4gICAgPGxpYi1taXNjZWxsYW5lb3VzLWluZm8tYmFyICBbZmllbGRdPVwiZmllbGQoKVwiLz5cclxuICB9XHJcbiAgQGNhc2UgKCdwbGFpblRleHQnKXtcclxuICAgIDxsaWItcGxhaW4tdGV4dCBbZmllbGRdPVwiZmllbGQoKVwiLz5cclxuICB9XHJcbiAgQGNhc2UgKCdtZW51Jyl7XHJcbiAgICA8bGliLW1lbnUgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuICBAY2FzZSAoJ3N0ZXBwZXJXaXRoQXJyb3cnKSB7XHJcbiAgICA8bGliLXN0ZXBwZXItd2l0aC1hcnJvdyBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG4gIEBjYXNlICgnbGFiZWxXaXRoSW1hZ2UnKSB7XHJcbiAgICA8bGliLWxhYmVsLXdpdGgtaW1hZ2UgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuICBAY2FzZSAoJ21vdG9yR2xvd1BsYW5EZXRhaWxzJykge1xyXG4gICAgPGxpYi1tb3Rvci1nbG93LXBsYW4tZGV0YWlscyBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzdGVyLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFzdGVyLWNvbnRyb2wvc3JjL2xpYi9tYXN0ZXItY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL21hc3Rlci1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSTVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSx1QkFB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QkFBd0I7d0JBQ3hCLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2Ysd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3dCQUN0QixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsc0JBQXNCO3dCQUN0Qix3QkFBd0I7d0JBQ3hCLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLDZCQUE2Qjt3QkFDN0Isa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLHlCQUF5Qjt3QkFDekIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsMEJBQTBCO3dCQUMxQiw2QkFBNkI7d0JBQzdCLG9CQUFvQjtxQkFDdkI7d0RBTVUsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUZXh0Ym94Q29tcG9uZW50IH0gZnJvbSAnLi90ZXh0Ym94L3RleHRib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyBSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4vcmFkaW8vcmFkaW8uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi90b2dnbGUvdG9nZ2xlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vdXBsb2FkL3VwbG9hZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEb2JDb21wb25lbnQgfSBmcm9tICcuL2RvYi9kb2IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTW9iTnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9tb2ItbnVtYmVyL21vYi1udW1iZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5mb0NvbXBvbmVudCB9IGZyb20gJy4vaW5mby9pbmZvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXh0YXJlYUNvbXBvbmVudCB9IGZyb20gJy4vdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFiQ29tcG9uZW50IH0gZnJvbSBcIi4vdGFiL3RhYi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSBcIi4vYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgTXVsdGlwbGVTZWxlY3RDb21wb25lbnQgfSBmcm9tIFwiLi9tdWx0aXBsZS1zZWxlY3QvbXVsdGlwbGUtc2VsZWN0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBTZWxlY3RUZXh0Ym94Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QtdGV4dGJveC9zZWxlY3QtdGV4dGJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPdHBUZXh0Ym94Q29tcG9uZW50IH0gZnJvbSBcIi4vb3RwLXRleHRib3gvb3RwLXRleHRib3guY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFtb3VudFRleHRib3hDb21wb25lbnQgfSBmcm9tIFwiLi9hbW91bnQtdGV4dGJveC9hbW91bnQtdGV4dGJveC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgU3VmZml4VGV4dGJveENvbXBvbmVudCB9IGZyb20gXCIuL3N1ZmZpeC10ZXh0Ym94L3N1ZmZpeC10ZXh0Ym94LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBPdHBNb2JOdW1iZXJDb21wb25lbnQgfSBmcm9tIFwiLi9vdHAtbW9iLW51bWJlci9vdHAtbW9iLW51bWJlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgVGFnTW9iTnVtYmVyQ29tcG9uZW50IH0gZnJvbSBcIi4vdGFnLW1vYi1udW1iZXIvdGFnLW1vYi1udW1iZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFnZURhdGVDb21wb25lbnQgfSBmcm9tIFwiLi9hZ2UtZGF0ZS9hZ2UtZGF0ZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQWRkaXRpb25CdXR0b25Db21wb25lbnQgfSBmcm9tIFwiLi9hZGRpdGlvbi1idXR0b24vYWRkaXRpb24tYnV0dG9uLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBJbmZvVGV4dGJveENvbXBvbmVudCB9IGZyb20gXCIuL2luZm8tdGV4dGJveC9pbmZvLXRleHRib3guY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFRleHRib3hXaXRoSW1hZ2VDb21wb25lbnQgfSBmcm9tIFwiLi90ZXh0Ym94LXdpdGgtaW1hZ2UvdGV4dGJveC13aXRoLWltYWdlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBFbWFpbFdpdGhEb21haW5Db21wb25lbnQgfSBmcm9tIFwiLi9lbWFpbC13aXRoLWRvbWFpbi9lbWFpbC13aXRoLWRvbWFpbi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgSW1hZ2VVcGxvYWRDb21wb25lbnQgfSBmcm9tIFwiLi9pbWFnZS11cGxvYWQvaW1hZ2UtdXBsb2FkLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBEb3dubG9hZERvY3VtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4vZG93bmxvYWQtZG9jdW1lbnQvZG93bmxvYWQtZG9jdW1lbnQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFkZERvY3VtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4vYWRkLWRvY3VtZW50L2FkZC1kb2N1bWVudC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgSHlwZXJsaW5rQ29tcG9uZW50IH0gZnJvbSBcIi4vaHlwZXJsaW5rL2h5cGVybGluay5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgVGV4dGJveFdpdGhVbmRlcnNjb3JlQ29tcG9uZW50IH0gZnJvbSBcIi4vdGV4dGJveC13aXRoLXVuZGVyc2NvcmUvdGV4dGJveC13aXRoLXVuZGVyc2NvcmUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFVuZGVyc2NvcmVNb2JOdW1iZXJDb21wb25lbnQgfSBmcm9tIFwiLi91bmRlcnNjb3JlLW1vYi1udW1iZXIvdW5kZXJzY29yZS1tb2ItbnVtYmVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSBcIi4vaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9pbWFnZS9pbWFnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdGVwcGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50IH0gZnJvbSBcIi4vY2FyZC9jYXJkLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBIckxpbmVDb21wb25lbnQgfSBmcm9tIFwiLi9oci1saW5lL2hyLWxpbmUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFNlYXJjaE11bHRpU2VsZWN0Q29tcG9uZW50IH0gZnJvbSBcIi4vc2VhcmNoLW11bHRpLXNlbGVjdC9zZWFyY2gtbXVsdGktc2VsZWN0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRUZXh0Ym94Q29tcG9uZW50IH0gZnJvbSBcIi4vc3Vic2NyaXB0LXRleHRib3gvc3Vic2NyaXB0LXRleHRib3guY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IExhYmVsQ29tcG9uZW50IH0gZnJvbSBcIi4vbGFiZWwvbGFiZWwuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFN1YkhlYWRlckNvbXBvbmVudCB9IGZyb20gXCIuL3N1Yi1oZWFkZXIvc3ViLWhlYWRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgSGVhZGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vaGVhZGVyL2hlYWRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlL3RhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRleHRib3hXaXRoVGV4dENvbXBvbmVudCB9IGZyb20gXCIuL3RleHRib3gtd2l0aC10ZXh0L3RleHRib3gtd2l0aC10ZXh0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBEaXNjb3VudENvbXBvbmVudCB9IGZyb20gXCIuL2Rpc2NvdW50L2Rpc2NvdW50LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBCZW5lZml0Q2FyZENvbXBvbmVudCB9IGZyb20gXCIuL2JlbmVmaXQtY2FyZC9iZW5lZml0LWNhcmQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vbG9hZGVyL2xvYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXYXJuaW5nU25hY2tiYXJDb21wb25lbnQgfSBmcm9tIFwiLi93YXJuaW5nLXNuYWNrYmFyL3dhcm5pbmctc25hY2tiYXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFN1Y2Nlc3NTbmFja2JhckNvbXBvbmVudCB9IGZyb20gXCIuL3N1Y2Nlc3Mtc25hY2tiYXIvc3VjY2Vzcy1zbmFja2Jhci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgTmV1dHJhbFNuYWNrYmFyQ29tcG9uZW50IH0gZnJvbSBcIi4vbmV1dHJhbC1zbmFja2Jhci9uZXV0cmFsLXNuYWNrYmFyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBFcnJvclNuYWNrYmFyQ29tcG9uZW50IH0gZnJvbSBcIi4vZXJyb3Itc25hY2tiYXIvZXJyb3Itc25hY2tiYXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEdyZXlMYWJlbENvbXBvbmVudCB9IGZyb20gXCIuL2dyZXktbGFiZWwvZ3JleS1sYWJlbC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgSWZyYW1lQ29tcG9uZW50IH0gZnJvbSBcIi4vaWZyYW1lL2lmcmFtZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgVG9nZ2xlQnV0dG9uQ29tcG9uZW50IH0gZnJvbSBcIi4vdG9nZ2xlLWJ1dHRvbi90b2dnbGUtYnV0dG9uLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBQYXlHZXRDYXJkQ29tcG9uZW50IH0gZnJvbSBcIi4vcGF5LWdldC1jYXJkL3BheS1nZXQtY2FyZC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgSW5CdWlsdEJlbmVmaXRDb21wb25lbnQgfSBmcm9tIFwiLi9pbi1idWlsdC1iZW5lZml0L2luLWJ1aWx0LWJlbmVmaXQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IE90aGVyQmVuZWZpdHNDb21wb25lbnQgfSBmcm9tIFwiLi9vdGhlci1iZW5lZml0cy9vdGhlci1iZW5lZml0cy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5udWl0eVJhdGVMb2dvQ29tcG9uZW50IH0gZnJvbSBcIi4vYW5udWl0eS1yYXRlLWxvZ28vYW5udWl0eS1yYXRlLWxvZ28uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERpc2NvdW50VjJDb21wb25lbnQgfSBmcm9tICcuL2Rpc2NvdW50LXYyL2Rpc2NvdW50LXYyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExhYmVsVmFsdWVDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9sYWJlbC12YWx1ZS1jYXJkL2xhYmVsLXZhbHVlLWNhcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWVkaWFsUXVlc3Rpb25zQ29tcG9uZW50IH0gZnJvbSBcIi4vbWVkaWFsLXF1ZXN0aW9ucy9tZWRpYWwtcXVlc3Rpb25zLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBQYWdlTnVkZ2VDb21wb25lbnQgfSBmcm9tICcuL3BhZ2UtbnVkZ2UvcGFnZS1udWRnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gXCIuL3Byb2dyZXNzLWJhci9wcm9ncmVzcy1iYXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFjY29yZGlhbkNvbXBvbmVudCB9IGZyb20gXCIuL2FjY29yZGlhbi9hY2NvcmRpYW4uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IE1pc2NlbGxhbmVvdXNJbmZvQmFyQ29tcG9uZW50IH0gZnJvbSBcIi4vbWlzY2VsbGFuZW91cy1pbmZvLWJhci9taXNjZWxsYW5lb3VzLWluZm8tYmFyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBQbGFpblRleHRDb21wb25lbnQgfSBmcm9tIFwiLi9wbGFpbi10ZXh0L3BsYWluLXRleHQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IE1lbnVDb21wb25lbnQgfSBmcm9tICcuL21lbnUvbWVudS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdGVwcGVyV0l0aEFycm93Q29tcG9uZW50IH0gZnJvbSBcIi4vc3RlcHBlci13aXRoLWFycm93L3N0ZXBwZXItd2l0aC1hcnJvdy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgTGFiZWxXaXRoSW1hZ2VDb21wb25lbnQgfSBmcm9tIFwiLi9sYWJlbC13aXRoLWltYWdlL2xhYmVsLXdpdGgtaW1hZ2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFRvcEhlYWRlckNvbXBvbmVudCB9IGZyb20gXCIuL3RvcC1oZWFkZXIvdG9wLWhlYWRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRm9vdGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vZm9vdGVyL2Zvb3Rlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRm9vdGVyV2l0aEJ1dHRvbnNDb21wb25lbnQgfSBmcm9tICcuL2Zvb3Rlci13aXRoLWJ1dHRvbnMvZm9vdGVyLXdpdGgtYnV0dG9ucy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNb3Rvckdsb3dQbGFuRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gXCIuL21vdG9yLWdsb3ctcGxhbi1kZXRhaWxzL21vdG9yLWdsb3ctcGxhbi1kZXRhaWxzLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBGaWxlUHJldmlld0NvbXBvbmVudCB9IGZyb20gJy4vZmlsZS1wcmV2aWV3L2ZpbGUtcHJldmlldy5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItbWFzdGVyLWNvbnRyb2wnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBUZXh0Ym94Q29tcG9uZW50LFxyXG4gICAgU2VsZWN0Q29tcG9uZW50LFxyXG4gICAgUmFkaW9Db21wb25lbnQsXHJcbiAgICBUb2dnbGVDb21wb25lbnQsXHJcbiAgICBVcGxvYWRDb21wb25lbnQsXHJcbiAgICBEb2JDb21wb25lbnQsXHJcbiAgICBNb2JOdW1iZXJDb21wb25lbnQsXHJcbiAgICBJbmZvQ29tcG9uZW50LFxyXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXHJcbiAgICBUZXh0YXJlYUNvbXBvbmVudCxcclxuICAgIEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFRhYkNvbXBvbmVudCxcclxuICAgIEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcclxuICAgIE11bHRpcGxlU2VsZWN0Q29tcG9uZW50LFxyXG4gICAgU2VsZWN0VGV4dGJveENvbXBvbmVudCxcclxuICAgIE90cFRleHRib3hDb21wb25lbnQsXHJcbiAgICBBbW91bnRUZXh0Ym94Q29tcG9uZW50LFxyXG4gICAgU3VmZml4VGV4dGJveENvbXBvbmVudCxcclxuICAgIE90cE1vYk51bWJlckNvbXBvbmVudCxcclxuICAgIFRhZ01vYk51bWJlckNvbXBvbmVudCxcclxuICAgIEFnZURhdGVDb21wb25lbnQsXHJcbiAgICBBZGRpdGlvbkJ1dHRvbkNvbXBvbmVudCxcclxuICAgIEluZm9UZXh0Ym94Q29tcG9uZW50LFxyXG4gICAgVGV4dGJveFdpdGhJbWFnZUNvbXBvbmVudCxcclxuICAgIEVtYWlsV2l0aERvbWFpbkNvbXBvbmVudCxcclxuICAgIEltYWdlVXBsb2FkQ29tcG9uZW50LFxyXG4gICAgRG93bmxvYWREb2N1bWVudENvbXBvbmVudCxcclxuICAgIEFkZERvY3VtZW50Q29tcG9uZW50LFxyXG4gICAgSHlwZXJsaW5rQ29tcG9uZW50LFxyXG4gICAgVGV4dGJveFdpdGhVbmRlcnNjb3JlQ29tcG9uZW50LFxyXG4gICAgVW5kZXJzY29yZU1vYk51bWJlckNvbXBvbmVudCxcclxuICAgIEljb25CdXR0b25Db21wb25lbnQsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgSW1hZ2VDb21wb25lbnQsXHJcbiAgICBTdGVwcGVyQ29tcG9uZW50LFxyXG4gICAgQ2FyZENvbXBvbmVudCxcclxuICAgIEhyTGluZUNvbXBvbmVudCxcclxuICAgIFNlYXJjaE11bHRpU2VsZWN0Q29tcG9uZW50LFxyXG4gICAgU3Vic2NyaXB0VGV4dGJveENvbXBvbmVudCxcclxuICAgIExhYmVsQ29tcG9uZW50LFxyXG4gICAgU3ViSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgVGV4dGJveFdpdGhUZXh0Q29tcG9uZW50LFxyXG4gICAgRGlzY291bnRDb21wb25lbnQsXHJcbiAgICBCZW5lZml0Q2FyZENvbXBvbmVudCxcclxuICAgIFRhYmxlQ29tcG9uZW50LFxyXG4gICAgTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgV2FybmluZ1NuYWNrYmFyQ29tcG9uZW50LFxyXG4gICAgU3VjY2Vzc1NuYWNrYmFyQ29tcG9uZW50LFxyXG4gICAgTmV1dHJhbFNuYWNrYmFyQ29tcG9uZW50LFxyXG4gICAgRXJyb3JTbmFja2JhckNvbXBvbmVudCxcclxuICAgIEdyZXlMYWJlbENvbXBvbmVudCxcclxuICAgIElmcmFtZUNvbXBvbmVudCxcclxuICAgIFRvZ2dsZUJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFBheUdldENhcmRDb21wb25lbnQsXHJcbiAgICBJbkJ1aWx0QmVuZWZpdENvbXBvbmVudCxcclxuICAgIE90aGVyQmVuZWZpdHNDb21wb25lbnQsXHJcbiAgICBBbm51aXR5UmF0ZUxvZ29Db21wb25lbnQsXHJcbiAgICBEaXNjb3VudFYyQ29tcG9uZW50LFxyXG4gICAgTGFiZWxWYWx1ZUNhcmRDb21wb25lbnQsXHJcbiAgICBNZWRpYWxRdWVzdGlvbnNDb21wb25lbnQsXHJcbiAgICBQYWdlTnVkZ2VDb21wb25lbnQsXHJcbiAgICBQcm9ncmVzc0JhckNvbXBvbmVudCxcclxuICAgIEFjY29yZGlhbkNvbXBvbmVudCxcclxuICAgIE1pc2NlbGxhbmVvdXNJbmZvQmFyQ29tcG9uZW50LFxyXG4gICAgUGxhaW5UZXh0Q29tcG9uZW50LFxyXG4gICAgTWVudUNvbXBvbmVudCxcclxuICAgIFN0ZXBwZXJXSXRoQXJyb3dDb21wb25lbnQsXHJcbiAgICBMYWJlbFdpdGhJbWFnZUNvbXBvbmVudCxcclxuICAgIFRvcEhlYWRlckNvbXBvbmVudCxcclxuICAgIEZvb3RlckNvbXBvbmVudCxcclxuICAgIEZvb3RlcldpdGhCdXR0b25zQ29tcG9uZW50LFxyXG4gICAgTW90b3JHbG93UGxhbkRldGFpbHNDb21wb25lbnQsXHJcbiAgICBGaWxlUHJldmlld0NvbXBvbmVudFxyXG5dLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXN0ZXItY29udHJvbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbWFzdGVyLWNvbnRyb2wuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXN0ZXJDb250cm9sQ29tcG9uZW50IHtcclxuICBmaWVsZDogYW55ID0gaW5wdXQucmVxdWlyZWQ8YW55PigpO1xyXG4gIEBJbnB1dCgpIGZvcm1Hcm91cDogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG59XHJcbiIsIkBzd2l0Y2ggKGZpZWxkKCk/LmNvbnRyb2xUeXBlKSB7XHJcbiAgQGNhc2UgKCd0b3AtaGVhZGVyJykge1xyXG4gICAgPGxpYi10b3AtaGVhZGVyIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgQGNhc2UgKCdmb290ZXInKSB7XHJcbiAgICA8bGliLWZvb3RlciBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG4gIEBjYXNlKCdmb290ZXItYnV0dG9ucycpXHJcbiAge1xyXG4gICAgPGxpYi1mb290ZXItd2l0aC1idXR0b25zIFtmaWVsZF09XCJmaWVsZCgpXCI+PC9saWItZm9vdGVyLXdpdGgtYnV0dG9ucz5cclxuICB9XHJcbiAgQGNhc2UoJ3RleHQnKSB7XHJcbiAgIDxsaWItdGV4dGJveCBbZmllbGRdPVwiZmllbGQoKVwiPjwvbGliLXRleHRib3g+XHJcbiAgfVxyXG4gIEBjYXNlKCdzZWxlY3QnKSB7XHJcbiAgICA8bGliLXNlbGVjdCBbZmllbGRdPVwiZmllbGQoKVwiLz5cclxuICB9XHJcblxyXG4gIEBjYXNlKCdyYWRpbycpIHtcclxuICAgIDxsaWItcmFkaW8gW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuXHJcbiAgQGNhc2UoJ3RvZ2dsZScpIHtcclxuICAgIDxsaWItdG9nZ2xlIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcblxyXG4gIEBjYXNlKCdmaWxlJykge1xyXG4gICAgPGxpYi11cGxvYWQgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuXHJcbiAgQGNhc2UoJ2RhdGUnKSB7XHJcbiAgICA8bGliLWRvYiBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG5cclxuICBAY2FzZSgnbW9iaWxlTnVtYmVyJykge1xyXG4gICAgPGxpYi1tb2ItbnVtYmVyIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcblxyXG4gIEBjYXNlKCdpbmZvJykge1xyXG4gICAgPGxpYi1pbmZvIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcblxyXG4gIEBjYXNlKCdjaGVja2JveCcpIHtcclxuICAgIDxsaWItY2hlY2tib3ggW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuXHJcbiAgQGNhc2UoJ3RleHRhcmVhJykge1xyXG4gICAgPGxpYi10ZXh0YXJlYSBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG5cclxuICBAY2FzZSAoJ2J1dHRvbicpIHtcclxuICAgIDxsaWItYnV0dG9uIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcblxyXG4gIEBjYXNlICgndGFiJykge1xyXG4gICAgPGxpYi10YWIgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuXHJcbiAgQGNhc2UgKCdhdXRvY29tcGxldGUnKSB7XHJcbiAgICA8bGliLWF1dG9jb21wbGV0ZSBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG5cclxuICBAY2FzZSAoJ211bHRpcGxlU2VsZWN0Jykge1xyXG4gICAgPGxpYi1tdWx0aXBsZS1zZWxlY3QgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuXHJcbiAgQGNhc2UgKCd0ZXh0Ym94V2l0aFNlbGVjdCcpIHtcclxuICAgIDxsaWItc2VsZWN0LXRleHRib3ggW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuXHJcbiAgQGNhc2UgKCdvdHBUZXh0Ym94Jykge1xyXG4gICAgPGxpYi1vdHAtdGV4dGJveCBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG5cclxuICBAY2FzZSAoJ2Ftb3VudFRleHRib3gnKSB7XHJcbiAgICA8bGliLWFtb3VudC10ZXh0Ym94IFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcblxyXG4gIEBjYXNlICgnc3VmZml4VGV4dGJveCcpIHtcclxuICAgIDxsaWItc3VmZml4LXRleHRib3ggW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuXHJcbiAgQGNhc2UgKCdvdHBNb2JOdW1iZXInKSB7XHJcbiAgICA8bGliLW90cC1tb2ItbnVtYmVyIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcblxyXG4gIEBjYXNlICgndGFnTW9iTnVtYmVyJykge1xyXG4gICAgPGxpYi10YWctbW9iLW51bWJlciBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG5cclxuICBAY2FzZSAoJ2RhdGVXaXRoQWdlJykge1xyXG4gICAgIDxsaWItYWdlLWRhdGUgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuXHJcbiAgQGNhc2UgKCdhZGRpdGlvbkJ1dHRvbicpIHtcclxuICAgIDxsaWItYWRkaXRpb24tYnV0dG9uIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcblxyXG4gIEBjYXNlICgnaW5mb1RleHRib3gnKSB7XHJcbiAgICA8bGliLWluZm8tdGV4dGJveCBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG5cclxuICBAY2FzZSAoJ3RleHRib3hXaXRoSW1hZ2UnKSB7XHJcbiAgICA8bGliLXRleHRib3gtd2l0aC1pbWFnZSBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG5cclxuICBAY2FzZSAoJ2VtYWlsV2l0aERvbWFpbicpIHtcclxuICAgIDxsaWItZW1haWwtd2l0aC1kb21haW4gW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuXHJcbiAgQGNhc2UgKCdpbWFnZVVwbG9hZCcpIHtcclxuICAgICA8bGliLWltYWdlLXVwbG9hZCBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG5cclxuICBAY2FzZSAoJ2Rvd25sb2FkRG9jdW1lbnQnKSB7XHJcbiAgICAgPGxpYi1kb3dubG9hZC1kb2N1bWVudCBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG5cclxuICBAY2FzZSAoJ2FkZERvY3VtZW50Jykge1xyXG4gICAgPGxpYi1hZGQtZG9jdW1lbnQgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuXHJcbiAgQGNhc2UgKCdoeXBlcmxpbmsnKSB7XHJcbiAgICA8bGliLWh5cGVybGluayBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG5cclxuICBAY2FzZSAoJ3RleHRib3hXaXRoVW5kZXJzY29yZScpIHtcclxuICAgIDxsaWItdGV4dGJveC13aXRoLXVuZGVyc2NvcmUgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuXHJcbiAgQGNhc2UgKCd1bmRlcnNjb3JlTW9iTnVtYmVyJykge1xyXG4gICAgPGxpYi11bmRlcnNjb3JlLW1vYi1udW1iZXIgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuXHJcbiAgQGNhc2UgKCdkb3dubG9hZEljb25CdXR0b24nKSB7XHJcbiAgICA8bGliLWljb24tYnV0dG9uIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcblxyXG4gIEBjYXNlICgnaW1hZ2UnKSB7XHJcbiAgICA8bGliLWltYWdlIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgQGNhc2UgKCdzdGVwcGVyJykge1xyXG4gICAgPGxpYi1zdGVwcGVyIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgIEBjYXNlICgnY2FyZCcpIHtcclxuICAgIDxsaWItY2FyZCBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG4gIEBjYXNlICgnaHJMaW5lJykge1xyXG4gICAgPGxpYi1oci1saW5lIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgQGNhc2UgKCdzZWFyY2hNdWx0aVNlbGVjdCcpIHtcclxuICAgIDxsaWItc2VhcmNoLW11bHRpLXNlbGVjdCBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG4gIEBjYXNlICgnc3Vic2NyaXB0VGV4dGJveCcpIHtcclxuICAgIDxsaWItc3Vic2NyaXB0LXRleHRib3ggW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuICBAY2FzZSAoJ2xhYmVsJykge1xyXG4gICAgPGxpYi1sYWJlbCBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG4gIEBjYXNlICgnc3ViSGVhZGluZycpIHtcclxuICAgIDxsaWItc3ViLWhlYWRlciBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG4gIEBjYXNlICgnaGVhZGluZycpIHtcclxuICAgIDxsaWItaGVhZGVyIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgQGNhc2UgKCd0YWJsZScpIHtcclxuICA8bGliLXRhYmxlIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgQGNhc2UgKCd0ZXh0Ym94V2l0aFRleHQnKSB7XHJcbiAgICA8bGliLXRleHRib3gtd2l0aC10ZXh0IFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgICBAY2FzZSAoJ2xvYWRlcicpIHtcclxuICAgIDxsaWItbG9hZGVyIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICAgIH1cclxuICBAY2FzZSAoJ2Rpc2NvdW50Jykge1xyXG4gICAgPGxpYi1kaXNjb3VudCBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG4gIEBjYXNlICgnb3B0aW9uYWxCZW5lZml0Q2FyZCcpIHtcclxuICAgIDxsaWItYmVuZWZpdC1jYXJkIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgQGNhc2UgKCdlcnJvclNuYWNrYmFyJykge1xyXG4gICAgPGxpYi1lcnJvci1zbmFja2JhciBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG4gICBAY2FzZSAoJ3dhcm5pbmdTbmFja2JhcicpIHtcclxuICAgIDxsaWItd2FybmluZy1zbmFja2JhciBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG4gICBAY2FzZSAoJ3N1Y2Nlc3NTbmFja2JhcicpIHtcclxuICAgIDxsaWItc3VjY2Vzcy1zbmFja2JhciBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG4gICBAY2FzZSAoJ25ldXRyYWxTbmFja2JhcicpIHtcclxuICAgIDxsaWItbmV1dHJhbC1zbmFja2JhciBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG4gIEBjYXNlICgnYm9sZExhYmVsJykge1xyXG4gICAgPGxpYi1ncmV5LWxhYmVsIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgQGNhc2UgKCdpZnJhbWUnKSB7XHJcbiAgICA8bGliLWlmcmFtZSBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG4gIEBjYXNlICgndG9nZ2xlQnV0dG9uJykge1xyXG4gICAgPGxpYi10b2dnbGUtYnV0dG9uIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgQGNhc2UgKCdwYXlHZXRDYXJkJykge1xyXG4gICAgPGxpYi1wYXktZ2V0LWNhcmQgW2ZpZWxkXT1cImZpZWxkKClcIiAgLz5cclxuICB9XHJcbiAgQGNhc2UgKCdpbkJ1aWx0QmVuZWZpdCcpIHtcclxuICAgIDxsaWItaW4tYnVpbHQtYmVuZWZpdCBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG4gIEBjYXNlICgnb3RoZXJCZW5lZml0Jykge1xyXG4gICAgPGxpYi1vdGhlci1iZW5lZml0cyBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG4gIEBjYXNlICgnYW5udWl0eVJhdGVMb2dvJykge1xyXG4gICAgPGxpYi1hbm51aXR5LXJhdGUtbG9nbyBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG4gIEBjYXNlICgnZGlzY291bnRBbm51aXR5Jykge1xyXG4gICAgPGxpYi1kaXNjb3VudC12MiBbZmllbGRdPVwiZmllbGQoKVwiIC8+XHJcbiAgfVxyXG4gIEBjYXNlICgnbGFiZWxWYWx1ZScpe1xyXG4gICAgPGxpYi1sYWJlbC12YWx1ZS1jYXJkIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgQGNhc2UgKCdtZWRpY2FsUXVlc3Rpb25zJyl7XHJcbiAgICA8bGliLW1lZGlhbC1xdWVzdGlvbnMgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuICBAY2FzZSAoJ251ZGdlJyl7XHJcbiAgICA8bGliLXBhZ2UtbnVkZ2UgIFtmaWVsZF09XCJmaWVsZCgpXCIvPlxyXG4gIH1cclxuICBAY2FzZSAoJ3Byb2dyZXNzQmFyJyl7XHJcbiAgICA8bGliLXByb2dyZXNzLWJhciAgW2ZpZWxkXT1cImZpZWxkKClcIi8+XHJcbiAgfVxyXG4gIEBjYXNlICgnYWNjb3JkaWFuJyl7XHJcbiAgICA8bGliLWFjY29yZGlhbiAgW2ZpZWxkXT1cImZpZWxkKClcIi8+XHJcbiAgfVxyXG4gIEBjYXNlICgnbWlzY0luZm8nKXtcclxuICAgIDxsaWItbWlzY2VsbGFuZW91cy1pbmZvLWJhciAgW2ZpZWxkXT1cImZpZWxkKClcIi8+XHJcbiAgfVxyXG4gIEBjYXNlICgncGxhaW5UZXh0Jyl7XHJcbiAgICA8bGliLXBsYWluLXRleHQgW2ZpZWxkXT1cImZpZWxkKClcIi8+XHJcbiAgfVxyXG4gIEBjYXNlICgnbWVudScpe1xyXG4gICAgPGxpYi1tZW51IFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgQGNhc2UgKCdzdGVwcGVyV2l0aEFycm93Jykge1xyXG4gICAgPGxpYi1zdGVwcGVyLXdpdGgtYXJyb3cgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxuICBAY2FzZSAoJ2xhYmVsV2l0aEltYWdlJykge1xyXG4gICAgPGxpYi1sYWJlbC13aXRoLWltYWdlIFtmaWVsZF09XCJmaWVsZCgpXCIgLz5cclxuICB9XHJcbiAgQGNhc2UgKCdtb3Rvckdsb3dQbGFuRGV0YWlscycpIHtcclxuICAgIDxsaWItbW90b3ItZ2xvdy1wbGFuLWRldGFpbHMgW2ZpZWxkXT1cImZpZWxkKClcIiAvPlxyXG4gIH1cclxufVxyXG4iXX0=
|