@cqa-lib/cqa-ui 1.0.39 → 1.0.41
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/esm2020/lib/dashboards/dashboard-header/dashboard-header.component.mjs +3 -3
- package/esm2020/lib/templates/table-template.component.mjs +3 -3
- package/fesm2015/cqa-lib-cqa-ui.mjs +4 -4
- package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
- package/fesm2020/cqa-lib-cqa-ui.mjs +4 -4
- package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/styles.css +1 -1
|
@@ -63,10 +63,10 @@ export class DashboardHeaderComponent {
|
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
DashboardHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: DashboardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
66
|
-
DashboardHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: DashboardHeaderComponent, selector: "cqa-dashboard-header", inputs: { title: "title", badgeText: "badgeText", badgeClass: "badgeClass", headerClass: "headerClass", showHeader: "showHeader", showLogo: "showLogo", logoUrl: "logoUrl", showHelpIcon: "showHelpIcon", showPlusIcon: "showPlusIcon", workspaceOptions: "workspaceOptions", workspacePlaceholder: "workspacePlaceholder", workspaceDisabled: "workspaceDisabled", workspaceValue: "workspaceValue", workspaceMultiple: "workspaceMultiple", workspaceSearchable: "workspaceSearchable", showWorkspaceSelector: "showWorkspaceSelector" }, outputs: { helpIconClick: "helpIconClick", plusIconClick: "plusIconClick", workspaceValueChange: "workspaceValueChange", workspaceSelectClick: "workspaceSelectClick" }, usesOnChanges: true, ngImport: i0, template: "<div id=\"cqa-ui-root\" *ngIf=\"showHeader\">\n <div\n class=\"cqa-w-full cqa-flex cqa-items-center cqa-justify-between cqa-bg-white cqa-pr-6 cqa-pl-2 lg:cqa-px-6 lg:cqa-py-[6px] cqa-py-2 cqa-border-b cqa-border-default cqa-shadow-header\"\n [ngClass]=\"headerClass\">\n <!-- Left branding block -->\n <div class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-min-w-0\">\n <div class=\"cqa-pr-4 lg:cqa-hidden cqa-gap-2 md:cqa-flex cqa-hidden\">\n <!-- <cqa-button variant=\"filled\" icon=\"\" [customClass]=\"'!cqa-rounded-[10px] !cqa-p-[7px] !cqa-min-w-[47px]'\">\n <svg width=\"31\" height=\"22\" viewBox=\"0 0 31 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5.16675 11H25.8334\" stroke=\"white\" stroke-width=\"1.83333\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n <path d=\"M5.16675 16.5H25.8334\" stroke=\"white\" stroke-width=\"1.83333\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n <path d=\"M5.16675 5.5H25.8334\" stroke=\"white\" stroke-width=\"1.83333\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n </cqa-button> -->\n <!-- <span class=\"cqa-border-l cqa-border-primary-surface cqa-hidden md:cqa-flex\"></span> -->\n <cqa-button *ngIf=\"showPlusIcon\" variant=\"filled\" icon=\"\" class=\"cqa-hidden md:cqa-flex\" [customClass]=\"'!cqa-rounded-[10px] !cqa-p-[7px] !cqa-min-w-[47px]'\">\n <svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4.58337 11H17.4167\" stroke=\"white\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n <path d=\"M11 4.58301V17.4163\" stroke=\"white\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n </cqa-button>\n </div>\n <!-- Optional projected logo -->\n <img *ngIf=\"showLogo && logoUrl\" [src]=\"logoUrl\" alt=\"Logo\" class=\"cqa-w-8 cqa-h-8 cqa-object-contain\" />\n <svg *ngIf=\"showLogo && !logoUrl\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <rect x=\"0.5\" y=\"0.5\" width=\"31\" height=\"31\" rx=\"15.5\" fill=\"url(#pattern0_6303_22035)\" />\n <rect x=\"0.5\" y=\"0.5\" width=\"31\" height=\"31\" rx=\"15.5\" stroke=\"#D8D9FC\" />\n <defs>\n <pattern id=\"pattern0_6303_22035\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\n <use xlink:href=\"#image0_6303_22035\" transform=\"scale(0.005)\" />\n </pattern>\n <image id=\"image0_6303_22035\" width=\"200\" height=\"200\" preserveAspectRatio=\"none\"\n xlink:href=\"data:image/jpeg;base64,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\" />\n </defs>\n </svg>\n\n <!-- Title + optional badge -->\n <div class=\"cqa-items-end cqa-gap-3 cqa-min-w-0 cqa-hidden md:cqa-flex\">\n <div\n class=\"cqa-truncate cqa-text-[#22223B] cqa-font-extrabold cqa-text-[32px] cqa-font-nunito-sans cqa-leading-[1]\">\n {{ title }}</div>\n <span *ngIf=\"badgeText\"\n class=\"cqa-px-2 cqa-py-[2px] cqa-rounded-lg cqa-text-[12px] cqa-font-medium cqa-leading-4 cqa-whitespace-nowrap cqa-text-[#007A55] cqa-bg-[#D0FAE5] cqa-border cqa-border-[#A4F4CF]\"\n [ngClass]=\"badgeClass\">{{ badgeText }}</span>\n </div>\n </div>\n\n <!-- Right controls/actions -->\n <div class=\"cqa-flex cqa-items-center cqa-gap-3 cqa-flex-1 cqa-justify-end\">\n <!-- Optional workspace select -->\n <div *ngIf=\"showWorkspaceSelector && workspaceOptions?.length\" class=\"header-dropdown\">\n <cqa-dynamic-select [form]=\"workspaceForm\" [config]=\"workspaceConfig\" (selectClick)=\"workspaceSelectClick.emit()\">\n </cqa-dynamic-select>\n </div>\n\n <!-- Help icon button -->\n <button *ngIf=\"showHelpIcon\" mat-icon-button aria-label=\"Help\" (click)=\"helpIconClick.emit()\" class=\"cqa-flex cqa-items-center\">\n <mat-icon style=\"height: 36px; width: 36px;\">\n <svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M0 18C0 8.05888 8.05888 0 18 0C27.9411 0 36 8.05888 36 18C36 27.9411 27.9411 36 18 36C8.05888 36 0 27.9411 0 18Z\" fill=\"#D8D9FC\" fill-opacity=\"0.3\"/>\n <path d=\"M18.0001 28.4163C23.9832 28.4163 28.8334 23.7526 28.8334 17.9997C28.8334 12.2467 23.9832 7.58301 18.0001 7.58301C12.017 7.58301 7.16675 12.2467 7.16675 17.9997C7.16675 23.7526 12.017 28.4163 18.0001 28.4163Z\" stroke=\"#3F43EE\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M14.8474 14.8751C15.1021 14.1789 15.6048 13.5919 16.2665 13.218C16.9282 12.844 17.7062 12.7073 18.4627 12.8321C19.2192 12.9569 19.9053 13.335 20.3996 13.8996C20.8939 14.4642 21.1644 15.1788 21.1632 15.9168C21.1632 18.0001 17.9132 19.0418 17.9132 19.0418\" stroke=\"#3F43EE\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M18 23.208H18.01\" stroke=\"#3F43EE\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </mat-icon>\n </button>\n\n <ng-content></ng-content>\n </div>\n </div>\n</div>", components: [{ type: i1.ButtonComponent, selector: "cqa-button", inputs: ["variant", "disabled", "icon", "iconPosition", "fullWidth", "iconColor", "type", "text", "customClass"], outputs: ["clicked"] }, { type: i2.DynamicSelectFieldComponent, selector: "cqa-dynamic-select", inputs: ["form", "config"], outputs: ["selectionChange", "selectClick"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
66
|
+
DashboardHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: DashboardHeaderComponent, selector: "cqa-dashboard-header", inputs: { title: "title", badgeText: "badgeText", badgeClass: "badgeClass", headerClass: "headerClass", showHeader: "showHeader", showLogo: "showLogo", logoUrl: "logoUrl", showHelpIcon: "showHelpIcon", showPlusIcon: "showPlusIcon", workspaceOptions: "workspaceOptions", workspacePlaceholder: "workspacePlaceholder", workspaceDisabled: "workspaceDisabled", workspaceValue: "workspaceValue", workspaceMultiple: "workspaceMultiple", workspaceSearchable: "workspaceSearchable", showWorkspaceSelector: "showWorkspaceSelector" }, outputs: { helpIconClick: "helpIconClick", plusIconClick: "plusIconClick", workspaceValueChange: "workspaceValueChange", workspaceSelectClick: "workspaceSelectClick" }, usesOnChanges: true, ngImport: i0, template: "<div id=\"cqa-ui-root\" *ngIf=\"showHeader\">\n <div\n class=\"cqa-w-full cqa-flex cqa-items-center cqa-justify-between cqa-bg-white cqa-pr-6 cqa-pl-2 lg:cqa-px-6 lg:cqa-py-[6px] cqa-py-2 cqa-border-b cqa-border-default cqa-shadow-header\"\n [ngClass]=\"headerClass\">\n <!-- Left branding block -->\n <div class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-min-w-0\">\n <div class=\"cqa-pr-4 lg:cqa-hidden cqa-gap-2 md:cqa-flex cqa-hidden\">\n <!-- <cqa-button variant=\"filled\" icon=\"\" [customClass]=\"'!cqa-rounded-[10px] !cqa-p-[7px] !cqa-min-w-[47px]'\">\n <svg width=\"31\" height=\"22\" viewBox=\"0 0 31 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5.16675 11H25.8334\" stroke=\"white\" stroke-width=\"1.83333\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n <path d=\"M5.16675 16.5H25.8334\" stroke=\"white\" stroke-width=\"1.83333\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n <path d=\"M5.16675 5.5H25.8334\" stroke=\"white\" stroke-width=\"1.83333\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n </cqa-button> -->\n <!-- <span class=\"cqa-border-l cqa-border-primary-surface cqa-hidden md:cqa-flex\"></span> -->\n <cqa-button *ngIf=\"showPlusIcon\" variant=\"filled\" icon=\"\" class=\"cqa-hidden md:cqa-flex\" [customClass]=\"'!cqa-rounded-[10px] !cqa-p-[7px] !cqa-min-w-[47px]'\">\n <svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4.58337 11H17.4167\" stroke=\"white\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n <path d=\"M11 4.58301V17.4163\" stroke=\"white\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n </cqa-button>\n </div>\n <!-- Optional projected logo -->\n <img *ngIf=\"showLogo && logoUrl\" [src]=\"logoUrl\" alt=\"Logo\" class=\"cqa-w-9 cqa-h-9 cqa-object-contain\" />\n <svg *ngIf=\"showLogo && !logoUrl\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <rect x=\"0.5\" y=\"0.5\" width=\"31\" height=\"31\" rx=\"15.5\" fill=\"url(#pattern0_6303_22035)\" />\n <rect x=\"0.5\" y=\"0.5\" width=\"31\" height=\"31\" rx=\"15.5\" stroke=\"#D8D9FC\" />\n <defs>\n <pattern id=\"pattern0_6303_22035\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\n <use xlink:href=\"#image0_6303_22035\" transform=\"scale(0.005)\" />\n </pattern>\n <image id=\"image0_6303_22035\" width=\"200\" height=\"200\" preserveAspectRatio=\"none\"\n xlink:href=\"data:image/jpeg;base64,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\" />\n </defs>\n </svg>\n\n <!-- Title + optional badge -->\n <div class=\"cqa-items-end cqa-gap-3 cqa-min-w-0 cqa-hidden md:cqa-flex\">\n <div\n class=\"cqa-truncate cqa-text-[#22223B] cqa-font-extrabold cqa-text-[32px] cqa-font-nunito-sans cqa-leading-[1]\">\n {{ title }}</div>\n <span *ngIf=\"badgeText\"\n class=\"cqa-px-2 cqa-py-[2px] cqa-rounded-lg cqa-text-[12px] cqa-font-medium cqa-leading-4 cqa-whitespace-nowrap cqa-text-[#007A55] cqa-bg-[#D0FAE5] cqa-border cqa-border-[#A4F4CF]\"\n [ngClass]=\"badgeClass\">{{ badgeText }}</span>\n </div>\n </div>\n\n <!-- Right controls/actions -->\n <div class=\"cqa-flex cqa-items-center cqa-gap-3 cqa-flex-1 cqa-justify-end\">\n <!-- Optional workspace select -->\n <div *ngIf=\"showWorkspaceSelector && workspaceOptions?.length\" class=\"header-dropdown\">\n <cqa-dynamic-select [form]=\"workspaceForm\" [config]=\"workspaceConfig\" (selectClick)=\"workspaceSelectClick.emit()\">\n </cqa-dynamic-select>\n </div>\n\n <!-- Help icon button -->\n <button *ngIf=\"showHelpIcon\" mat-icon-button aria-label=\"Help\" (click)=\"helpIconClick.emit()\" class=\"cqa-flex cqa-items-center\">\n <mat-icon style=\"height: 36px; width: 36px;\">\n <svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M0 18C0 8.05888 8.05888 0 18 0C27.9411 0 36 8.05888 36 18C36 27.9411 27.9411 36 18 36C8.05888 36 0 27.9411 0 18Z\" fill=\"#D8D9FC\" fill-opacity=\"0.3\"/>\n <path d=\"M18.0001 28.4163C23.9832 28.4163 28.8334 23.7526 28.8334 17.9997C28.8334 12.2467 23.9832 7.58301 18.0001 7.58301C12.017 7.58301 7.16675 12.2467 7.16675 17.9997C7.16675 23.7526 12.017 28.4163 18.0001 28.4163Z\" stroke=\"#3F43EE\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M14.8474 14.8751C15.1021 14.1789 15.6048 13.5919 16.2665 13.218C16.9282 12.844 17.7062 12.7073 18.4627 12.8321C19.2192 12.9569 19.9053 13.335 20.3996 13.8996C20.8939 14.4642 21.1644 15.1788 21.1632 15.9168C21.1632 18.0001 17.9132 19.0418 17.9132 19.0418\" stroke=\"#3F43EE\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M18 23.208H18.01\" stroke=\"#3F43EE\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </mat-icon>\n </button>\n\n <ng-content></ng-content>\n </div>\n </div>\n</div>", components: [{ type: i1.ButtonComponent, selector: "cqa-button", inputs: ["variant", "disabled", "icon", "iconPosition", "fullWidth", "iconColor", "type", "text", "customClass"], outputs: ["clicked"] }, { type: i2.DynamicSelectFieldComponent, selector: "cqa-dynamic-select", inputs: ["form", "config"], outputs: ["selectionChange", "selectClick"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
67
67
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: DashboardHeaderComponent, decorators: [{
|
|
68
68
|
type: Component,
|
|
69
|
-
args: [{ selector: 'cqa-dashboard-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"cqa-ui-root\" *ngIf=\"showHeader\">\n <div\n class=\"cqa-w-full cqa-flex cqa-items-center cqa-justify-between cqa-bg-white cqa-pr-6 cqa-pl-2 lg:cqa-px-6 lg:cqa-py-[6px] cqa-py-2 cqa-border-b cqa-border-default cqa-shadow-header\"\n [ngClass]=\"headerClass\">\n <!-- Left branding block -->\n <div class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-min-w-0\">\n <div class=\"cqa-pr-4 lg:cqa-hidden cqa-gap-2 md:cqa-flex cqa-hidden\">\n <!-- <cqa-button variant=\"filled\" icon=\"\" [customClass]=\"'!cqa-rounded-[10px] !cqa-p-[7px] !cqa-min-w-[47px]'\">\n <svg width=\"31\" height=\"22\" viewBox=\"0 0 31 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5.16675 11H25.8334\" stroke=\"white\" stroke-width=\"1.83333\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n <path d=\"M5.16675 16.5H25.8334\" stroke=\"white\" stroke-width=\"1.83333\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n <path d=\"M5.16675 5.5H25.8334\" stroke=\"white\" stroke-width=\"1.83333\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n </cqa-button> -->\n <!-- <span class=\"cqa-border-l cqa-border-primary-surface cqa-hidden md:cqa-flex\"></span> -->\n <cqa-button *ngIf=\"showPlusIcon\" variant=\"filled\" icon=\"\" class=\"cqa-hidden md:cqa-flex\" [customClass]=\"'!cqa-rounded-[10px] !cqa-p-[7px] !cqa-min-w-[47px]'\">\n <svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4.58337 11H17.4167\" stroke=\"white\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n <path d=\"M11 4.58301V17.4163\" stroke=\"white\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n </cqa-button>\n </div>\n <!-- Optional projected logo -->\n <img *ngIf=\"showLogo && logoUrl\" [src]=\"logoUrl\" alt=\"Logo\" class=\"cqa-w-8 cqa-h-8 cqa-object-contain\" />\n <svg *ngIf=\"showLogo && !logoUrl\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <rect x=\"0.5\" y=\"0.5\" width=\"31\" height=\"31\" rx=\"15.5\" fill=\"url(#pattern0_6303_22035)\" />\n <rect x=\"0.5\" y=\"0.5\" width=\"31\" height=\"31\" rx=\"15.5\" stroke=\"#D8D9FC\" />\n <defs>\n <pattern id=\"pattern0_6303_22035\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\n <use xlink:href=\"#image0_6303_22035\" transform=\"scale(0.005)\" />\n </pattern>\n <image id=\"image0_6303_22035\" width=\"200\" height=\"200\" preserveAspectRatio=\"none\"\n xlink:href=\"data:image/jpeg;base64,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\" />\n </defs>\n </svg>\n\n <!-- Title + optional badge -->\n <div class=\"cqa-items-end cqa-gap-3 cqa-min-w-0 cqa-hidden md:cqa-flex\">\n <div\n class=\"cqa-truncate cqa-text-[#22223B] cqa-font-extrabold cqa-text-[32px] cqa-font-nunito-sans cqa-leading-[1]\">\n {{ title }}</div>\n <span *ngIf=\"badgeText\"\n class=\"cqa-px-2 cqa-py-[2px] cqa-rounded-lg cqa-text-[12px] cqa-font-medium cqa-leading-4 cqa-whitespace-nowrap cqa-text-[#007A55] cqa-bg-[#D0FAE5] cqa-border cqa-border-[#A4F4CF]\"\n [ngClass]=\"badgeClass\">{{ badgeText }}</span>\n </div>\n </div>\n\n <!-- Right controls/actions -->\n <div class=\"cqa-flex cqa-items-center cqa-gap-3 cqa-flex-1 cqa-justify-end\">\n <!-- Optional workspace select -->\n <div *ngIf=\"showWorkspaceSelector && workspaceOptions?.length\" class=\"header-dropdown\">\n <cqa-dynamic-select [form]=\"workspaceForm\" [config]=\"workspaceConfig\" (selectClick)=\"workspaceSelectClick.emit()\">\n </cqa-dynamic-select>\n </div>\n\n <!-- Help icon button -->\n <button *ngIf=\"showHelpIcon\" mat-icon-button aria-label=\"Help\" (click)=\"helpIconClick.emit()\" class=\"cqa-flex cqa-items-center\">\n <mat-icon style=\"height: 36px; width: 36px;\">\n <svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M0 18C0 8.05888 8.05888 0 18 0C27.9411 0 36 8.05888 36 18C36 27.9411 27.9411 36 18 36C8.05888 36 0 27.9411 0 18Z\" fill=\"#D8D9FC\" fill-opacity=\"0.3\"/>\n <path d=\"M18.0001 28.4163C23.9832 28.4163 28.8334 23.7526 28.8334 17.9997C28.8334 12.2467 23.9832 7.58301 18.0001 7.58301C12.017 7.58301 7.16675 12.2467 7.16675 17.9997C7.16675 23.7526 12.017 28.4163 18.0001 28.4163Z\" stroke=\"#3F43EE\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M14.8474 14.8751C15.1021 14.1789 15.6048 13.5919 16.2665 13.218C16.9282 12.844 17.7062 12.7073 18.4627 12.8321C19.2192 12.9569 19.9053 13.335 20.3996 13.8996C20.8939 14.4642 21.1644 15.1788 21.1632 15.9168C21.1632 18.0001 17.9132 19.0418 17.9132 19.0418\" stroke=\"#3F43EE\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M18 23.208H18.01\" stroke=\"#3F43EE\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </mat-icon>\n </button>\n\n <ng-content></ng-content>\n </div>\n </div>\n</div>", styles: [] }]
|
|
69
|
+
args: [{ selector: 'cqa-dashboard-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"cqa-ui-root\" *ngIf=\"showHeader\">\n <div\n class=\"cqa-w-full cqa-flex cqa-items-center cqa-justify-between cqa-bg-white cqa-pr-6 cqa-pl-2 lg:cqa-px-6 lg:cqa-py-[6px] cqa-py-2 cqa-border-b cqa-border-default cqa-shadow-header\"\n [ngClass]=\"headerClass\">\n <!-- Left branding block -->\n <div class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-min-w-0\">\n <div class=\"cqa-pr-4 lg:cqa-hidden cqa-gap-2 md:cqa-flex cqa-hidden\">\n <!-- <cqa-button variant=\"filled\" icon=\"\" [customClass]=\"'!cqa-rounded-[10px] !cqa-p-[7px] !cqa-min-w-[47px]'\">\n <svg width=\"31\" height=\"22\" viewBox=\"0 0 31 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5.16675 11H25.8334\" stroke=\"white\" stroke-width=\"1.83333\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n <path d=\"M5.16675 16.5H25.8334\" stroke=\"white\" stroke-width=\"1.83333\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n <path d=\"M5.16675 5.5H25.8334\" stroke=\"white\" stroke-width=\"1.83333\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n </cqa-button> -->\n <!-- <span class=\"cqa-border-l cqa-border-primary-surface cqa-hidden md:cqa-flex\"></span> -->\n <cqa-button *ngIf=\"showPlusIcon\" variant=\"filled\" icon=\"\" class=\"cqa-hidden md:cqa-flex\" [customClass]=\"'!cqa-rounded-[10px] !cqa-p-[7px] !cqa-min-w-[47px]'\">\n <svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4.58337 11H17.4167\" stroke=\"white\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n <path d=\"M11 4.58301V17.4163\" stroke=\"white\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n </cqa-button>\n </div>\n <!-- Optional projected logo -->\n <img *ngIf=\"showLogo && logoUrl\" [src]=\"logoUrl\" alt=\"Logo\" class=\"cqa-w-9 cqa-h-9 cqa-object-contain\" />\n <svg *ngIf=\"showLogo && !logoUrl\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <rect x=\"0.5\" y=\"0.5\" width=\"31\" height=\"31\" rx=\"15.5\" fill=\"url(#pattern0_6303_22035)\" />\n <rect x=\"0.5\" y=\"0.5\" width=\"31\" height=\"31\" rx=\"15.5\" stroke=\"#D8D9FC\" />\n <defs>\n <pattern id=\"pattern0_6303_22035\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\n <use xlink:href=\"#image0_6303_22035\" transform=\"scale(0.005)\" />\n </pattern>\n <image id=\"image0_6303_22035\" width=\"200\" height=\"200\" preserveAspectRatio=\"none\"\n xlink:href=\"data:image/jpeg;base64,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\" />\n </defs>\n </svg>\n\n <!-- Title + optional badge -->\n <div class=\"cqa-items-end cqa-gap-3 cqa-min-w-0 cqa-hidden md:cqa-flex\">\n <div\n class=\"cqa-truncate cqa-text-[#22223B] cqa-font-extrabold cqa-text-[32px] cqa-font-nunito-sans cqa-leading-[1]\">\n {{ title }}</div>\n <span *ngIf=\"badgeText\"\n class=\"cqa-px-2 cqa-py-[2px] cqa-rounded-lg cqa-text-[12px] cqa-font-medium cqa-leading-4 cqa-whitespace-nowrap cqa-text-[#007A55] cqa-bg-[#D0FAE5] cqa-border cqa-border-[#A4F4CF]\"\n [ngClass]=\"badgeClass\">{{ badgeText }}</span>\n </div>\n </div>\n\n <!-- Right controls/actions -->\n <div class=\"cqa-flex cqa-items-center cqa-gap-3 cqa-flex-1 cqa-justify-end\">\n <!-- Optional workspace select -->\n <div *ngIf=\"showWorkspaceSelector && workspaceOptions?.length\" class=\"header-dropdown\">\n <cqa-dynamic-select [form]=\"workspaceForm\" [config]=\"workspaceConfig\" (selectClick)=\"workspaceSelectClick.emit()\">\n </cqa-dynamic-select>\n </div>\n\n <!-- Help icon button -->\n <button *ngIf=\"showHelpIcon\" mat-icon-button aria-label=\"Help\" (click)=\"helpIconClick.emit()\" class=\"cqa-flex cqa-items-center\">\n <mat-icon style=\"height: 36px; width: 36px;\">\n <svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M0 18C0 8.05888 8.05888 0 18 0C27.9411 0 36 8.05888 36 18C36 27.9411 27.9411 36 18 36C8.05888 36 0 27.9411 0 18Z\" fill=\"#D8D9FC\" fill-opacity=\"0.3\"/>\n <path d=\"M18.0001 28.4163C23.9832 28.4163 28.8334 23.7526 28.8334 17.9997C28.8334 12.2467 23.9832 7.58301 18.0001 7.58301C12.017 7.58301 7.16675 12.2467 7.16675 17.9997C7.16675 23.7526 12.017 28.4163 18.0001 28.4163Z\" stroke=\"#3F43EE\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M14.8474 14.8751C15.1021 14.1789 15.6048 13.5919 16.2665 13.218C16.9282 12.844 17.7062 12.7073 18.4627 12.8321C19.2192 12.9569 19.9053 13.335 20.3996 13.8996C20.8939 14.4642 21.1644 15.1788 21.1632 15.9168C21.1632 18.0001 17.9132 19.0418 17.9132 19.0418\" stroke=\"#3F43EE\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M18 23.208H18.01\" stroke=\"#3F43EE\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </mat-icon>\n </button>\n\n <ng-content></ng-content>\n </div>\n </div>\n</div>", styles: [] }]
|
|
70
70
|
}], propDecorators: { title: [{
|
|
71
71
|
type: Input
|
|
72
72
|
}], badgeText: [{
|
|
@@ -108,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
108
108
|
}], workspaceSelectClick: [{
|
|
109
109
|
type: Output
|
|
110
110
|
}] } });
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Rhc2hib2FyZHMvZGFzaGJvYXJkLWhlYWRlci9kYXNoYm9hcmQtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9kYXNoYm9hcmQtaGVhZGVyL2Rhc2hib2FyZC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ2xJLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFnQnhELE1BQU0sT0FBTyx3QkFBd0I7SUFOckM7UUFPVyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRW5CLGVBQVUsR0FBVyw2QkFBNkIsQ0FBQztRQUNuRCxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixlQUFVLEdBQVksSUFBSSxDQUFDO1FBQzNCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFFekIsaUJBQVksR0FBWSxJQUFJLENBQUM7UUFDNUIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzFDLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzdCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVuRCx5Q0FBeUM7UUFDaEMscUJBQWdCLEdBQXlCLEVBQUUsQ0FBQztRQUM1Qyx5QkFBb0IsR0FBVyxXQUFXLENBQUM7UUFDM0Msc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBRW5DLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUNuQyx3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFDckMsMEJBQXFCLEdBQVksSUFBSSxDQUFDO1FBQ3JDLHlC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LGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNJLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRHluYW1pY1NlbGVjdEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vZHluYW1pYy1zZWxlY3QvZHluYW1pYy1zZWxlY3QtZmllbGQuY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBIZWFkZXJTZWxlY3RPcHRpb24ge1xuICBpZD86IGFueTtcbiAgdmFsdWU/OiBhbnk7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtZGFzaGJvYXJkLWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXNoYm9hcmQtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERhc2hib2FyZEhlYWRlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgYmFkZ2VUZXh0Pzogc3RyaW5nO1xuICBASW5wdXQoKSBiYWRnZUNsYXNzOiBzdHJpbmcgPSAnYmctWyNEMUZBRTVdIHRleHQtWyMwNjVGNDZdJztcbiAgQElucHV0KCkgaGVhZGVyQ2xhc3M6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBzaG93SGVhZGVyOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd0xvZ286IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBsb2dvVXJsPzogc3RyaW5nO1xuICBASW5wdXQoKSBzaG93SGVscEljb246IGJvb2xlYW4gPSB0cnVlO1xuICBAT3V0cHV0KCkgaGVscEljb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQElucHV0KCkgc2hvd1BsdXNJY29uOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBwbHVzSWNvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8vIE9wdGlvbmFsIHdvcmtzcGFjZSBzZWxlY3Qgb24gdGhlIHJpZ2h0XG4gIEBJbnB1dCgpIHdvcmtzcGFjZU9wdGlvbnM6IEhlYWRlclNlbGVjdE9wdGlvbltdID0gW107XG4gIEBJbnB1dCgpIHdvcmtzcGFjZVBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnV29ya3NwYWNlJztcbiAgQElucHV0KCkgd29ya3NwYWNlRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgd29ya3NwYWNlVmFsdWU/OiBhbnk7XG4gIEBJbnB1dCgpIHdvcmtzcGFjZU11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHdvcmtzcGFjZVNlYXJjaGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2hvd1dvcmtzcGFjZVNlbGVjdG9yOiBib29sZWFuID0gdHJ1ZTtcbiAgQE91dHB1dCgpIHdvcmtzcGFjZVZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSB3b3Jrc3BhY2VTZWxlY3RDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICB3b3Jrc3BhY2VGb3JtOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICB3b3Jrc3BhY2U6IG5ldyBGb3JtQ29udHJvbCgpLFxuICB9KTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN5bmNGb3JtRnJvbUlucHV0KCk7XG4gICAgdGhpcy53b3Jrc3BhY2VGb3JtLmdldCgnd29ya3NwYWNlJyk/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHYpID0+IHtcbiAgICAgIHRoaXMud29ya3NwYWNlVmFsdWUgPSB2O1xuICAgICAgdGhpcy53b3Jrc3BhY2VWYWx1ZUNoYW5nZS5lbWl0KHYpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoX2NoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLnN5bmNGb3JtRnJvbUlucHV0KCk7XG4gIH1cblxuICBnZXQgd29ya3NwYWNlQ29uZmlnKCk6IER5bmFtaWNTZWxlY3RGaWVsZENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGtleTogJ3dvcmtzcGFjZScsXG4gICAgICBwbGFjZWhvbGRlcjogdGhpcy53b3Jrc3BhY2VQbGFjZWhvbGRlcixcbiAgICAgIGRpc2FibGVkOiB0aGlzLndvcmtzcGFjZURpc2FibGVkLFxuICAgICAgbXVsdGlwbGU6IHRoaXMud29ya3NwYWNlTXVsdGlwbGUsXG4gICAgICBzZWFyY2hhYmxlOiB0aGlzLndvcmtzcGFjZVNlYXJjaGFibGUsXG4gICAgICBzZWxlY3RlZFZhbHVlOiB0aGlzLndvcmtzcGFjZVZhbHVlLFxuICAgICAgb3B0aW9uczogdGhpcy53b3Jrc3BhY2VPcHRpb25zLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHN5bmNGb3JtRnJvbUlucHV0KCk6IHZvaWQge1xuICAgIGNvbnN0IGN0cmwgPSB0aGlzLndvcmtzcGFjZUZvcm0uZ2V0KCd3b3Jrc3BhY2UnKTtcbiAgICBpZiAoIWN0cmwpIHJldHVybjtcbiAgICBjb25zdCB2YWwgPSB0aGlzLndvcmtzcGFjZVZhbHVlO1xuICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSB0aGlzLndvcmtzcGFjZU11bHRpcGxlXG4gICAgICA/IEFycmF5LmlzQXJyYXkodmFsKSA/IHZhbCA6ICh2YWwgIT0gbnVsbCA/IFt2YWxdIDogW10pXG4gICAgICA6IChBcnJheS5pc0FycmF5KHZhbCkgPyAodmFsLmxlbmd0aCA/IHZhbFswXSA6IHVuZGVmaW5lZCkgOiB2YWwpO1xuICAgIGN0cmwuc2V0VmFsdWUobm9ybWFsaXplZCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICB9XG59XG5cblxuIiwiPGRpdiBpZD1cImNxYS11aS1yb290XCIgKm5nSWY9XCJzaG93SGVhZGVyXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImNxYS13LWZ1bGwgY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1iZXR3ZWVuIGNxYS1iZy13aGl0ZSBjcWEtcHItNiBjcWEtcGwtMiBsZzpjcWEtcHgtNiBsZzpjcWEtcHktWzZweF0gY3FhLXB5LTIgY3FhLWJvcmRlci1iIGNxYS1ib3JkZXItZGVmYXVsdCBjcWEtc2hhZG93LWhlYWRlclwiXG4gICAgW25nQ2xhc3NdPVwiaGVhZGVyQ2xhc3NcIj5cbiAgICA8IS0tIExlZnQgYnJhbmRpbmcgYmxvY2sgLS0+XG4gICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0yIGNxYS1taW4tdy0wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLXByLTQgbGc6Y3FhLWhpZGRlbiBjcWEtZ2FwLTIgbWQ6Y3FhLWZsZXggY3FhLWhpZGRlblwiPlxuICAgICAgICA8IS0tIDxjcWEtYnV0dG9uIHZhcmlhbnQ9XCJmaWxsZWRcIiBpY29uPVwiXCIgW2N1c3RvbUNsYXNzXT1cIichY3FhLXJvdW5kZWQtWzEwcHhdICFjcWEtcC1bN3B4XSAhY3FhLW1pbi13LVs0N3B4XSdcIj5cbiAgICAgICAgICA8c3ZnIHdpZHRoPVwiMzFcIiBoZWlnaHQ9XCIyMlwiIHZpZXdCb3g9XCIwIDAgMzEgMjJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNNS4xNjY3NSAxMUgyNS44MzM0XCIgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2Utd2lkdGg9XCIxLjgzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNNS4xNjY3NSAxNi41SDI1LjgzMzRcIiBzdHJva2U9XCJ3aGl0ZVwiIHN0cm9rZS13aWR0aD1cIjEuODMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxuICAgICAgICAgICAgPHBhdGggZD1cIk01LjE2Njc1IDUuNUgyNS44MzM0XCIgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2Utd2lkdGg9XCIxLjgzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9jcWEtYnV0dG9uPiAtLT5cbiAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cImNxYS1ib3JkZXItbCBjcWEtYm9yZGVyLXByaW1hcnktc3VyZmFjZSBjcWEtaGlkZGVuIG1kOmNxYS1mbGV4XCI+PC9zcGFuPiAtLT5cbiAgICAgICAgPGNxYS1idXR0b24gKm5nSWY9XCJzaG93UGx1c0ljb25cIiB2YXJpYW50PVwiZmlsbGVkXCIgaWNvbj1cIlwiIGNsYXNzPVwiY3FhLWhpZGRlbiBtZDpjcWEtZmxleFwiIFtjdXN0b21DbGFzc109XCInIWNxYS1yb3VuZGVkLVsxMHB4XSAhY3FhLXAtWzdweF0gIWNxYS1taW4tdy1bNDdweF0nXCI+XG4gICAgICAgICAgPHN2ZyB3aWR0aD1cIjIyXCIgaGVpZ2h0PVwiMjJcIiB2aWV3Qm94PVwiMCAwIDIyIDIyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICA8cGF0aCBkPVwiTTQuNTgzMzcgMTFIMTcuNDE2N1wiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XG4gICAgICAgICAgICA8cGF0aCBkPVwiTTExIDQuNTgzMDFWMTcuNDE2M1wiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvY3FhLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBPcHRpb25hbCBwcm9qZWN0ZWQgbG9nbyAtLT5cbiAgICAgIDxpbWcgKm5nSWY9XCJzaG93TG9nbyAmJiBsb2dvVXJsXCIgW3NyY109XCJsb2dvVXJsXCIgYWx0PVwiTG9nb1wiIGNsYXNzPVwiY3FhLXctOCBjcWEtaC04IGNxYS1vYmplY3QtY29udGFpblwiIC8+XG4gICAgICA8c3ZnICpuZ0lmPVwic2hvd0xvZ28gJiYgIWxvZ29VcmxcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCI+XG4gICAgICAgIDxyZWN0IHg9XCIwLjVcIiB5PVwiMC41XCIgd2lkdGg9XCIzMVwiIGhlaWdodD1cIjMxXCIgcng9XCIxNS41XCIgZmlsbD1cInVybCgjcGF0dGVybjBfNjMwM18yMjAzNSlcIiAvPlxuICAgICAgICA8cmVjdCB4PVwiMC41XCIgeT1cIjAuNVwiIHdpZHRoPVwiMzFcIiBoZWlnaHQ9XCIzMVwiIHJ4PVwiMTUuNVwiIHN0cm9rZT1cIiNEOEQ5RkNcIiAvPlxuICAgICAgICA8ZGVmcz5cbiAgICAgICAgICA8cGF0dGVybiBpZD1cInBhdHRlcm4wXzYzMDNfMjIwMzVcIiBwYXR0ZXJuQ29udGVudFVuaXRzPVwib2JqZWN0Qm91bmRpbmdCb3hcIiB3aWR0aD1cIjFcIiBoZWlnaHQ9XCIxXCI+XG4gICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjaW1hZ2UwXzYzMDNfMjIwMzVcIiB0cmFuc2Zvcm09XCJzY2FsZSgwLjAwNSlcIiAvPlxuICAgICAgICAgIDwvcGF0dGVybj5cbiAgICAgICAgICA8aW1hZ2UgaWQ9XCJpbWFnZTBfNjMwM18yMjAzNVwiIHdpZHRoPVwiMjAwXCIgaGVpZ2h0PVwiMjAwXCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIlxuICAgICAgICAgICAgeGxpbms6aHJlZj1cImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsLzlqLzRBQVFTa1pKUmdBQkFRQUFBUUFCQUFELzJ3Q0VBQWtHQnc4U0VCTVFFQkFTRUJBUUVCWVJGUlVYRlJBUkVSQVNHUmtXR3hZWEdCVVlIaWdzR0JvbUd4VVlJVEVoSlNrckxqb3VHU0F6T0RNc055Z3RMamNCQ2dvS0RnME9HeEFRR3k0ZElDVXJOeTByS3lzck1EY3RMaXN2TFMwdEt5MHRMVGN1TFMwdE1EY3ROaTB0TFNzdExTMHJMUzByTFRFdExTMHRMUzB0TGYvQUFCRUlBTWdBeUFNQklnQUNFUUVERVFIL3hBQWNBQUVBQWdJREFRQUFBQUFBQUFBQUFBQUFCUVlDQndFREJBai94QUJCRUFBQkF3SUNBd3NLQlFVQUF3RUFBQUFCQUFJREJCRUZJUVlTUVFjaU1WRlNZWEdCa2FIUkV4UVdJekpVa3FLeHdSZENZbkt5VTRMQzRmQWtOUEVWLzhRQUd3RUJBQUlEQVFFQUFBQUFBQUFBQUFBQUFBSURBUVFGQmdmL3hBQXVFUUFDQVFJRUF3WUdBd0FBQUFBQUFBQUFBUUlERVFRU0lWRVRNVUVGVW1HQmtiRVVJakpDY2NFVm9kSC8yZ0FNQXdFQUFoRURFUUEvQU40b2lJQWlJZ0NJaUFJaUlBaUlnQ0lpQUlpSUFpSWdDSWlBSWlJQWlJZ0NJaUFJaUlBaUlnQ0lpQUlpSUFpSWdDSWlBSWlJQWlJZ0NJaUFJaUlBaUlnQ0lpQUlpSUFpSWdDSWlBSWlJQWlJZ0NJaUFJaUlBaUlnQ0lpQUlpSUFpSWdDSWlBSWlJQWlJZ0NJaUE4MVhLNWpkY0RXRGMzRGFXOFk1eHdya3lGek5lSWczRjJuOHJ1WmQ2ci9BSmJ6U28xRGxUem03ZUtOKzNxejcxS0t1UmJzUzFKVmlWaExidElKYTRIMm1PSENDRjFVTmZyUGRDK3pabzdhd3pzNXA0SHR2c1Bkd0tNeHd1cHBSVnhpN0hFTW1ieWgrVjNTdU5JNFRKRXl0cFQ2NkFhN0NQenhuMm1uankyS2FndkorNWpNeVM4LzFKeEJMbDVTNWhkc2ZiTnpEeE9IZU90Y1lqaUJnYzE4bi9ydklhNTM5Ri81U2YwazVYMkczR285em9zU29yc09vL2hCejFvWm04R2YvWkZkT2pPTENzaGtwYXB2cjR3WTVtRzIvR1kxZ21UcStuTVppRDA4YmlkTmVvcHFxVjFPVHZtNzBtSHJ0bTFVZjAweFAzdVQ1UEJiSTBicjNRenZ3bXJPdnFqMURuV1BsWWlDZFU5WDNDb1dudWk1b3B0YU1FMDhwSlp3N3c3V0g3TGNvT044a2t2QjdsTTc4MGVUMDB4UDN1VDVQQlBUVEUvZTVQazhGQUl0dmhRMlJWbmU1UDhBcHBpZnZjbnllQ2VtbUorOXlmSjRLQVJPRkRaRE85eXowR25tSXh5TmU2WXl0QnpZNE4xWERhTGdaSG5XNGNBeHFHcmhFMEp5T1RtL21ZN2FDdm5kVGVpZWtNbEZPSkczTWJzcEdjdHZIekVjSzE2K0dVbGVLMUowNmpUMVBvQlZUVEttcm10TTlKTzhCb3U2TVdPWEcyNDdsWTZLcVpMRzJXTjJzeDdRNXA0d3U5Y3FVYnF4MEtGWGhUVTdKK0ROTGVsZUllOHYrWHdUMHJ4RDNsL3krQ205UDlHdkpPTlRDMzFUenZ3T0JqdVBvSlZLWE9tNXdkbXoydUZqaGNSVFU0d1hvaWE5SzhROTVmOEFMNEo2VjRoN3kvNWZCUXFLR2VXNXNmQ1VPNHZSRTE2VjRoN3kvd0NYd1dVZWwxZUNENXc0MlBBUTBnOU9TZzBXYzh0dzhIUTdpOUVibzBYMGhqcTQ5WWIyVnZ0czR1Y2NZVTR0RDRWaU1sUEsyYUkyYzA5VGh0Qlc2TUV4U09waGJMSHdFWmphMTIwRmJ0R3JuVm56UEo5cWRuUERTelIrbC8xNEVpaUlyemtuQ2pzZW9mTFFPYVBhRytiMGovcktTWEN5blozTU5YVml1WUJWTnFhZDFQTG1XdDFlY3QySHBDOE9pVmE2S1Y5RktlQngxUDNiUjBFWnJwbWQ1clhFakpoZGYreDNEMy9SWWFiUW1Lb2pxR1pGNHZmOWJiZmF5MjFGTjVlajE4eW03dGZZODBVMy93Q2JpVG96bFRUa0htQVBBZjdYWEhRc2RObzMwVmJGaUVJeWtObmpZU0FMZy91Yi9GZXJUeUpzOUhEVnRIczJ2ek5kWUVkVGdFYTd6N0IzdE9jc0RldldabU8xdVhXVkpkSnY4TXh1dk5HRzZEVENlbGh4R25PK2hzNE9IRHFFanZhNzdxVW9wSXNXdzR0ZllPY05WM0hISzNnY080OWFoTnplc0UxUE5ReTV0MVNXajlEcmh3NmpuL2NvdmM3clhVdGUra2tPVXJqR2VMeWpMMlBXTGpyQ3c0TlJjZXNkVitES2xxbnVVU3VwSHd5UGlrRm54dUxYRG5IMUM2RnNUZGV3Z05sanEyaktVYWovQU43UnZUMXQvaXRkcmVwVHp3VWlpY2JPd1JFVmhFSWlJRFl1NVBwQ1d5R2lrTzlrdTZMOUw4eTV2UVJuMWM2MnN2bW1tbmRHOXNqRFo3SEJ3UEVRdm9YQjhXaW5nam5EbWp5akE2MXhrZG83YnJtWXVsYVdaZFRab3l1ck05ZFhUTWtZNk40dTE0TFNPTUxTV1BZVzZtcUh3dXoxVGRwNVRUd0ZidjhBT0djdHZhRlNkMHVoWkpDMm9ZV2wwUjFYV0l1V09zTzQyN1Z6TVJUY28zMk85Mk5pK0ZYeU42UzkraHJWRVJjODltRVJFQVZuMEV4dzA5UUdQTm9aaUd1NG11L0s3N0tzTGxTaEp4ZDBVNGloR3RUY0pkVDZEdWlndERjVU5SU01jNDNlMGFqdWtiZXNXUFd1VjFJdTZ1ajUvVnB1bk53bHpST29pTEpXVkRUZUhmUnY0d1c5bHJmVllZNTYzRFk1ZHNaRiswc1BmWmU3VFp2cW1IaWsrb0s4RUcrd3VZY2tuNnRLMjRQNVl2WmxFdnFhT25CZlhZYlV3SFBVRGlQNU4rWUtPM01xcTAwc0o0Skk5YTNPMy9UdTVTR2dKdVoyYkhNYjNhdys2cm1najlYRUloeDY3ZmtkNEs1clNvdk1oZldMT2pSbVR6WEZXc3Zab21mQ2VjRzRIZlpZYWR0TlBpcnBXWkc4YzdlbXd2M3RLeDBrUGs4VmtJL0xVTmQvRXIzN3JiTFZjUjQ0UDhuS2ExbkY3b2o5cjhHWExUdW1iVVlaSzV1ZG1ObmIxV1A4YjlxMFd0K1lSNnpDbUE1NjlKcS9KWmFEV01KcG1qc3lWYm93aUl0d3BDSWlBSWlJQXNvM1dJUEVWaWlqS0thc3lkT2JqSlNYUmt1aTRqT1E2QXVWNDJTczJqNnBUbG1nbnVnaUlva3dpSWdMNXVWMWxwSm9TY25ORHgwakkvVWRpS0szT3BDSzlnNVRIanV2OWx5dWpoM2VCNHZ0dUNoaW05MWY5RzNVUkZjY2tyV216L1ZSamplVDJBK0s4RU85d3VZOG8vNU5DejAybXZKR3prdEo3ZjhBNHNkSWZVNGZGRHRlUmNkcmoza0xiZ3ZsaXQyVVMrcHM2TkFzak84OERXRC9BQ1AyVmMwRFlYWWhFZUlQY2ZnZDl5ckpoZnFNTHFKamtaQVFQNER2SlVmdVowM3JKcDNaTmpZRzM2Yms5elZjNWFWSDVFRXRZb3Iya0k4cGlzZ0dldFV0WjN0SDJYdjNXNUwxY2JlVEFPOXpsNTlFb2pVNG8yUWpMeWo1M2N3RnlQbUlYVnBtVFZZczZKbWUvWkEzc0FQelhWaTBtbHNqSDJ2eFpzakMvVllVd25MVW85YjVMclFhM2x1Z1ZiYWZEWkd0eUwydGdZT213UHlnclJxamhOVktXN00xdWlDSWkzQ2tJaUlBaUtVb3RIYTJaZ2tpcDVKSTNYczRESTJKSDFDdzVKY3hhL0lpMFUzNkk0ajdwTDhLd24wWnJvMmw4bE5JeU52dE9Jc0FGQ1ZXQ1RkeXluVGxLU2lselpqR01oMExsRVhqcE84bXo2cFRqbGlsc2dpSXNFZ2lJZ0xSdWN4M3IybmtzZWU2MzNSUys1WFI3NmFjaklBUnQ3eTc3SXVqaGxhQjR2dHFhbmluNEszN05qTGhGRmFTVjNrb1RiMjVONDM3bnNWOFZkMk9RM1pYSzlHenp1dUo0V0IxenhhamJmWDdycTB2a2RQVnNwMlpsbG0vM096UGRaVGVHMDdhT2xkTEo3WkdzNy9Gdi9jYThlaVZBYnZyWnZhZmN0dnNHZXM1YlNrazgyMmlLYlBsdVIyNkRPMkduaG8yYmN6KzF2QjJrOXl5ckdlWVlPV25LYWNXUEhyUDRSMU0raTY4SXBqaUZlK3JlUDhBeDRYQU1CNEhXOWtEK1I2UXVyU1Zyc1J4QmxIR2ZVMCtjamh3QW0ydDE1QnZTcHEya0gwMVpqZCtTTXRBS1Z0TFJ6VjhvOXBwTGYyTnY5VDlGRjdtZUhPbnE1SzJRWEVaSkI0NVgzK2dKN1FwamRCcUNXd1lYU3QzOHBiZG8yTWJiVkhSY1gvdFVuV1R3NFJod2FMT2VCWm8yeXpIaFBSZlBvQ3c1dHB0YzVleGxKYWJJcHU2MWpJa25aU3NPOXA4Mzg4amdQbzM2bFVGZGxSTTU3blBlUzV6M0Z4TzBrcnJXOVNoa2lvbEVuZDNDSWlzSWhFUkFlaWdwSHpTc2hqRjN5T0RRT2MvWmZST0YwTFlJWTRXZXpHd05IUGJiMnFnYmxPalphUFBwVzV1QmJDT0p2QTUvWHdkcTJTdVhpNnVhV1ZkRGFveHNyaFVQZFB4V3pHVXJUbTg2NytabzlrZHYwVnh4U3ZaQkU2YVEyYXdYNXp4QWM5MXBIRmE5OVJNK1ovdFBkZTNFTmc3RnpNUlV5eHR1ZWc3RndicTFlSStVZmM4aUlpMEQyQVJFUUJjZ1h5R1o0RndyanVlWUNaWmZPSkI2cUk3M2lmSi9yNnFVSXVUc2ErS3hFYUZKMUpGNzBVd3Z6YWxqalB0MjFuZnVPWjdPRHFSVENMcUpXVmtlQXFUZFNibStiT0hFQVhQQUZDMGxPWjV2T1hqMWJNb1duYitzcVZxSWRjYXA5bjh3NVhOMExLVmhMYk5PcnN2eGRDbW5ia1Z0WElURUlUVnpDTGdwNFhYa1A4QVVmeVIwTEhTSXZsMWFHbjNycEI2eHc0SVlmRThBSFNwdUdGckdhakFBQU1objNyR2twR3N1ZUY3enJQY2VGNSt3MldVbE8zbHlJNVNKcjNDanBtd1V6THpQOVhDM0s3bjdYRyt3Y0pLNjhMb1ljT3BIeVNIV2Y3Y3IvelNTSElBY2Vac09sVEVWSVBLR1YyK2tJMVFkakdjbHYxSi93QkxpYWpENUdQZm0yTTNZM1pyOG84Wkd4TS9UMU01U3VZUFJDbkUySjE1RFo1UnJHK2ZrR2NEV0RqTnJEdVdydExkSXBLMmN5T3UyTnU5alp5RzdUemtsYkEweTBjeE91a3NIeE1wMkhlTTFuWm5sT05zejlGVy93QUw2L2x3L0U3d1c1UWxUWHpTZXZzVVRVbm9sb1VkRmVQd3ZyK1hEOFR2QlB3dnIrWEQ4VHZCYlB4RlB2RmZEbHNVZEZlUHd2citYRDhUdkJQd3ZyK1hEOFR2QlBpS2ZlSERsc1VkV3ZRVFJOMVpMcnlBaW1qTytQOEFVUElCK3Fsc08zTHFreU44dkpHMksrKzFDUzRqaUZ4M3JhTkJSeHd4dGlpYUdSc0ZnQnNWRmZGSkswR1dRcE85MmQwY1lhQTFvQWFCWUFaQUFKTElHZ3VjUUFCY2s4QUN6S3F1bDJGMTFWNnFGekdRYmJ1T3RJZWV3NE9aY3VUYVYxcWIxQ25HYzFHVHlyZGxMMDAwa05WSnFSbTBFWjN2Nnp5ajlsV1ZiL3c5cmVWRjhUdkJQdzlyZVZGOFR2QmFFcWRTVHUwZXhvWXpCVUthaENhc2lvSXJmK0h0YnlvdmlkNEorSHRieW92aWQ0S1BCbnNYZnllRjc2S2dpdC80ZTF2S2krSjNnc290enlySkdzK01Odm1RWEVnZEZsbmd6Mk1QdFBDOTlFSm81Z2NsWEtHTnlZTTN1Mk5iNHJjdEJSeHd4dGlqYnFzWUxBTHB3YkNvcWFJUlJDd0hDZHJqeGtyM3JjcFVzaThUeTNhT1BsaXA2YVJYTC9UbEVSWEhOQ0lpQUlpSUFpSWdDSWlBSWlJQWlJZ0NJaUFJaUlBaUlnQ0lpQUlpSUFpSWdDSWlBSWlJQWlJZ0NJaUFJaUlBaUlnQ0lpQUlpSUFpSWdDSWlBSWlJQWlJZ0NJaUFJaUlBaUlnQ0lpQUlpSUFpSWdDSWlBSWlJQWlJZ0NJaUFJaUlBaUlnQ0lpQUlpSUFpSWdDSWlBSWlJQWlJZ0NJaUFJaUlBaUlnQ0lpQUlpSUFpSWdDSWlBSWlJQWlJZ0NJaUEvOWs9XCIgLz5cbiAgICAgICAgPC9kZWZzPlxuICAgICAgPC9zdmc+XG5cbiAgICAgIDwhLS0gVGl0bGUgKyBvcHRpb25hbCBiYWRnZSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtaXRlbXMtZW5kIGNxYS1nYXAtMyBjcWEtbWluLXctMCBjcWEtaGlkZGVuIG1kOmNxYS1mbGV4XCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImNxYS10cnVuY2F0ZSBjcWEtdGV4dC1bIzIyMjIzQl0gY3FhLWZvbnQtZXh0cmFib2xkIGNxYS10ZXh0LVszMnB4XSBjcWEtZm9udC1udW5pdG8tc2FucyBjcWEtbGVhZGluZy1bMV1cIj5cbiAgICAgICAgICB7eyB0aXRsZSB9fTwvZGl2PlxuICAgICAgICA8c3BhbiAqbmdJZj1cImJhZGdlVGV4dFwiXG4gICAgICAgICAgY2xhc3M9XCJjcWEtcHgtMiBjcWEtcHktWzJweF0gY3FhLXJvdW5kZWQtbGcgY3FhLXRleHQtWzEycHhdIGNxYS1mb250LW1lZGl1bSBjcWEtbGVhZGluZy00IGNxYS13aGl0ZXNwYWNlLW5vd3JhcCBjcWEtdGV4dC1bIzAwN0E1NV0gY3FhLWJnLVsjRDBGQUU1XSBjcWEtYm9yZGVyIGNxYS1ib3JkZXItWyNBNEY0Q0ZdXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJiYWRnZUNsYXNzXCI+e3sgYmFkZ2VUZXh0IH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIFJpZ2h0IGNvbnRyb2xzL2FjdGlvbnMgLS0+XG4gICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0zIGNxYS1mbGV4LTEgY3FhLWp1c3RpZnktZW5kXCI+XG4gICAgICA8IS0tIE9wdGlvbmFsIHdvcmtzcGFjZSBzZWxlY3QgLS0+XG4gICAgICA8ZGl2ICpuZ0lmPVwic2hvd1dvcmtzcGFjZVNlbGVjdG9yICYmIHdvcmtzcGFjZU9wdGlvbnM/Lmxlbmd0aFwiIGNsYXNzPVwiaGVhZGVyLWRyb3Bkb3duXCI+XG4gICAgICAgIDxjcWEtZHluYW1pYy1zZWxlY3QgW2Zvcm1dPVwid29ya3NwYWNlRm9ybVwiIFtjb25maWddPVwid29ya3NwYWNlQ29uZmlnXCIgKHNlbGVjdENsaWNrKT1cIndvcmtzcGFjZVNlbGVjdENsaWNrLmVtaXQoKVwiPlxuICAgICAgICA8L2NxYS1keW5hbWljLXNlbGVjdD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIEhlbHAgaWNvbiBidXR0b24gLS0+XG4gICAgICA8YnV0dG9uICpuZ0lmPVwic2hvd0hlbHBJY29uXCIgbWF0LWljb24tYnV0dG9uIGFyaWEtbGFiZWw9XCJIZWxwXCIgKGNsaWNrKT1cImhlbHBJY29uQ2xpY2suZW1pdCgpXCIgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxtYXQtaWNvbiBzdHlsZT1cImhlaWdodDogMzZweDsgd2lkdGg6IDM2cHg7XCI+XG4gICAgICAgICAgPHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICA8cGF0aCBkPVwiTTAgMThDMCA4LjA1ODg4IDguMDU4ODggMCAxOCAwQzI3Ljk0MTEgMCAzNiA4LjA1ODg4IDM2IDE4QzM2IDI3Ljk0MTEgMjcuOTQxMSAzNiAxOCAzNkM4LjA1ODg4IDM2IDAgMjcuOTQxMSAwIDE4WlwiIGZpbGw9XCIjRDhEOUZDXCIgZmlsbC1vcGFjaXR5PVwiMC4zXCIvPlxuICAgICAgICAgICAgPHBhdGggZD1cIk0xOC4wMDAxIDI4LjQxNjNDMjMuOTgzMiAyOC40MTYzIDI4LjgzMzQgMjMuNzUyNiAyOC44MzM0IDE3Ljk5OTdDMjguODMzNCAxMi4yNDY3IDIzLjk4MzIgNy41ODMwMSAxOC4wMDAxIDcuNTgzMDFDMTIuMDE3IDcuNTgzMDEgNy4xNjY3NSAxMi4yNDY3IDcuMTY2NzUgMTcuOTk5N0M3LjE2Njc1IDIzLjc1MjYgMTIuMDE3IDI4LjQxNjMgMTguMDAwMSAyOC40MTYzWlwiIHN0cm9rZT1cIiMzRjQzRUVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxuICAgICAgICAgICAgPHBhdGggZD1cIk0xNC44NDc0IDE0Ljg3NTFDMTUuMTAyMSAxNC4xNzg5IDE1LjYwNDggMTMuNTkxOSAxNi4yNjY1IDEzLjIxOEMxNi45MjgyIDEyLjg0NCAxNy43MDYyIDEyLjcwNzMgMTguNDYyNyAxMi44MzIxQzE5LjIxOTIgMTIuOTU2OSAxOS45MDUzIDEzLjMzNSAyMC4zOTk2IDEzLjg5OTZDMjAuODkzOSAxNC40NjQyIDIxLjE2NDQgMTUuMTc4OCAyMS4xNjMyIDE1LjkxNjhDMjEuMTYzMiAxOC4wMDAxIDE3LjkxMzIgMTkuMDQxOCAxNy45MTMyIDE5LjA0MThcIiBzdHJva2U9XCIjM0Y0M0VFXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTggMjMuMjA4SDE4LjAxXCIgc3Ryb2tlPVwiIzNGNDNFRVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Rhc2hib2FyZHMvZGFzaGJvYXJkLWhlYWRlci9kYXNoYm9hcmQtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9kYXNoYm9hcmQtaGVhZGVyL2Rhc2hib2FyZC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ2xJLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFnQnhELE1BQU0sT0FBTyx3QkFBd0I7SUFOckM7UUFPVyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRW5CLGVBQVUsR0FBVyw2QkFBNkIsQ0FBQztRQUNuRCxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixlQUFVLEdBQVksSUFBSSxDQUFDO1FBQzNCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFFekIsaUJBQVksR0FBWSxJQUFJLENBQUM7UUFDNUIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzFDLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzdCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVuRCx5Q0FBeUM7UUFDaEMscUJBQWdCLEdBQXlCLEVBQUUsQ0FBQztRQUM1Qyx5QkFBb0IsR0FBVyxXQUFXLENBQUM7UUFDM0Msc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBRW5DLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUNuQyx3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFDckMsMEJBQXFCLEdBQVksSUFBSSxDQUFDO1FBQ3JDLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDL0MseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUUxRCxrQkFBYSxHQUFjLElBQUksU0FBUyxDQUFDO1lBQ3ZDLFNBQVMsRUFBRSxJQUFJLFdBQVcsRUFBRTtTQUM3QixDQUFDLENBQUM7S0FtQ0o7SUFqQ0MsUUFBUTtRQUNOLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNoRSxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUF1QjtRQUNqQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU87WUFDTCxHQUFHLEVBQUUsV0FBVztZQUNoQixXQUFXLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjtZQUN0QyxRQUFRLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtZQUNoQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtZQUNoQyxVQUFVLEVBQUUsSUFBSSxDQUFDLG1CQUFtQjtZQUNwQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbEMsT0FBTyxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7U0FDL0IsQ0FBQztJQUNKLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ2xCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDaEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQjtZQUN2QyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN2RCxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7cUhBNURVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLHN3QkNqQnJDLHl1VUE0RU07MkZEM0RPLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSxzQkFBc0IsbUJBR2YsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNFLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFHRSxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNJLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRHluYW1pY1NlbGVjdEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vZHluYW1pYy1zZWxlY3QvZHluYW1pYy1zZWxlY3QtZmllbGQuY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBIZWFkZXJTZWxlY3RPcHRpb24ge1xuICBpZD86IGFueTtcbiAgdmFsdWU/OiBhbnk7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtZGFzaGJvYXJkLWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXNoYm9hcmQtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERhc2hib2FyZEhlYWRlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgYmFkZ2VUZXh0Pzogc3RyaW5nO1xuICBASW5wdXQoKSBiYWRnZUNsYXNzOiBzdHJpbmcgPSAnYmctWyNEMUZBRTVdIHRleHQtWyMwNjVGNDZdJztcbiAgQElucHV0KCkgaGVhZGVyQ2xhc3M6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBzaG93SGVhZGVyOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd0xvZ286IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBsb2dvVXJsPzogc3RyaW5nO1xuICBASW5wdXQoKSBzaG93SGVscEljb246IGJvb2xlYW4gPSB0cnVlO1xuICBAT3V0cHV0KCkgaGVscEljb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQElucHV0KCkgc2hvd1BsdXNJY29uOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBwbHVzSWNvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8vIE9wdGlvbmFsIHdvcmtzcGFjZSBzZWxlY3Qgb24gdGhlIHJpZ2h0XG4gIEBJbnB1dCgpIHdvcmtzcGFjZU9wdGlvbnM6IEhlYWRlclNlbGVjdE9wdGlvbltdID0gW107XG4gIEBJbnB1dCgpIHdvcmtzcGFjZVBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnV29ya3NwYWNlJztcbiAgQElucHV0KCkgd29ya3NwYWNlRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgd29ya3NwYWNlVmFsdWU/OiBhbnk7XG4gIEBJbnB1dCgpIHdvcmtzcGFjZU11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHdvcmtzcGFjZVNlYXJjaGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2hvd1dvcmtzcGFjZVNlbGVjdG9yOiBib29sZWFuID0gdHJ1ZTtcbiAgQE91dHB1dCgpIHdvcmtzcGFjZVZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSB3b3Jrc3BhY2VTZWxlY3RDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICB3b3Jrc3BhY2VGb3JtOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICB3b3Jrc3BhY2U6IG5ldyBGb3JtQ29udHJvbCgpLFxuICB9KTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN5bmNGb3JtRnJvbUlucHV0KCk7XG4gICAgdGhpcy53b3Jrc3BhY2VGb3JtLmdldCgnd29ya3NwYWNlJyk/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHYpID0+IHtcbiAgICAgIHRoaXMud29ya3NwYWNlVmFsdWUgPSB2O1xuICAgICAgdGhpcy53b3Jrc3BhY2VWYWx1ZUNoYW5nZS5lbWl0KHYpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoX2NoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLnN5bmNGb3JtRnJvbUlucHV0KCk7XG4gIH1cblxuICBnZXQgd29ya3NwYWNlQ29uZmlnKCk6IER5bmFtaWNTZWxlY3RGaWVsZENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGtleTogJ3dvcmtzcGFjZScsXG4gICAgICBwbGFjZWhvbGRlcjogdGhpcy53b3Jrc3BhY2VQbGFjZWhvbGRlcixcbiAgICAgIGRpc2FibGVkOiB0aGlzLndvcmtzcGFjZURpc2FibGVkLFxuICAgICAgbXVsdGlwbGU6IHRoaXMud29ya3NwYWNlTXVsdGlwbGUsXG4gICAgICBzZWFyY2hhYmxlOiB0aGlzLndvcmtzcGFjZVNlYXJjaGFibGUsXG4gICAgICBzZWxlY3RlZFZhbHVlOiB0aGlzLndvcmtzcGFjZVZhbHVlLFxuICAgICAgb3B0aW9uczogdGhpcy53b3Jrc3BhY2VPcHRpb25zLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHN5bmNGb3JtRnJvbUlucHV0KCk6IHZvaWQge1xuICAgIGNvbnN0IGN0cmwgPSB0aGlzLndvcmtzcGFjZUZvcm0uZ2V0KCd3b3Jrc3BhY2UnKTtcbiAgICBpZiAoIWN0cmwpIHJldHVybjtcbiAgICBjb25zdCB2YWwgPSB0aGlzLndvcmtzcGFjZVZhbHVlO1xuICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSB0aGlzLndvcmtzcGFjZU11bHRpcGxlXG4gICAgICA/IEFycmF5LmlzQXJyYXkodmFsKSA/IHZhbCA6ICh2YWwgIT0gbnVsbCA/IFt2YWxdIDogW10pXG4gICAgICA6IChBcnJheS5pc0FycmF5KHZhbCkgPyAodmFsLmxlbmd0aCA/IHZhbFswXSA6IHVuZGVmaW5lZCkgOiB2YWwpO1xuICAgIGN0cmwuc2V0VmFsdWUobm9ybWFsaXplZCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICB9XG59XG5cblxuIiwiPGRpdiBpZD1cImNxYS11aS1yb290XCIgKm5nSWY9XCJzaG93SGVhZGVyXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImNxYS13LWZ1bGwgY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1iZXR3ZWVuIGNxYS1iZy13aGl0ZSBjcWEtcHItNiBjcWEtcGwtMiBsZzpjcWEtcHgtNiBsZzpjcWEtcHktWzZweF0gY3FhLXB5LTIgY3FhLWJvcmRlci1iIGNxYS1ib3JkZXItZGVmYXVsdCBjcWEtc2hhZG93LWhlYWRlclwiXG4gICAgW25nQ2xhc3NdPVwiaGVhZGVyQ2xhc3NcIj5cbiAgICA8IS0tIExlZnQgYnJhbmRpbmcgYmxvY2sgLS0+XG4gICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0yIGNxYS1taW4tdy0wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLXByLTQgbGc6Y3FhLWhpZGRlbiBjcWEtZ2FwLTIgbWQ6Y3FhLWZsZXggY3FhLWhpZGRlblwiPlxuICAgICAgICA8IS0tIDxjcWEtYnV0dG9uIHZhcmlhbnQ9XCJmaWxsZWRcIiBpY29uPVwiXCIgW2N1c3RvbUNsYXNzXT1cIichY3FhLXJvdW5kZWQtWzEwcHhdICFjcWEtcC1bN3B4XSAhY3FhLW1pbi13LVs0N3B4XSdcIj5cbiAgICAgICAgICA8c3ZnIHdpZHRoPVwiMzFcIiBoZWlnaHQ9XCIyMlwiIHZpZXdCb3g9XCIwIDAgMzEgMjJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNNS4xNjY3NSAxMUgyNS44MzM0XCIgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2Utd2lkdGg9XCIxLjgzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNNS4xNjY3NSAxNi41SDI1LjgzMzRcIiBzdHJva2U9XCJ3aGl0ZVwiIHN0cm9rZS13aWR0aD1cIjEuODMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxuICAgICAgICAgICAgPHBhdGggZD1cIk01LjE2Njc1IDUuNUgyNS44MzM0XCIgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2Utd2lkdGg9XCIxLjgzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9jcWEtYnV0dG9uPiAtLT5cbiAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cImNxYS1ib3JkZXItbCBjcWEtYm9yZGVyLXByaW1hcnktc3VyZmFjZSBjcWEtaGlkZGVuIG1kOmNxYS1mbGV4XCI+PC9zcGFuPiAtLT5cbiAgICAgICAgPGNxYS1idXR0b24gKm5nSWY9XCJzaG93UGx1c0ljb25cIiB2YXJpYW50PVwiZmlsbGVkXCIgaWNvbj1cIlwiIGNsYXNzPVwiY3FhLWhpZGRlbiBtZDpjcWEtZmxleFwiIFtjdXN0b21DbGFzc109XCInIWNxYS1yb3VuZGVkLVsxMHB4XSAhY3FhLXAtWzdweF0gIWNxYS1taW4tdy1bNDdweF0nXCI+XG4gICAgICAgICAgPHN2ZyB3aWR0aD1cIjIyXCIgaGVpZ2h0PVwiMjJcIiB2aWV3Qm94PVwiMCAwIDIyIDIyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICA8cGF0aCBkPVwiTTQuNTgzMzcgMTFIMTcuNDE2N1wiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XG4gICAgICAgICAgICA8cGF0aCBkPVwiTTExIDQuNTgzMDFWMTcuNDE2M1wiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvY3FhLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBPcHRpb25hbCBwcm9qZWN0ZWQgbG9nbyAtLT5cbiAgICAgIDxpbWcgKm5nSWY9XCJzaG93TG9nbyAmJiBsb2dvVXJsXCIgW3NyY109XCJsb2dvVXJsXCIgYWx0PVwiTG9nb1wiIGNsYXNzPVwiY3FhLXctOSBjcWEtaC05IGNxYS1vYmplY3QtY29udGFpblwiIC8+XG4gICAgICA8c3ZnICpuZ0lmPVwic2hvd0xvZ28gJiYgIWxvZ29VcmxcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCI+XG4gICAgICAgIDxyZWN0IHg9XCIwLjVcIiB5PVwiMC41XCIgd2lkdGg9XCIzMVwiIGhlaWdodD1cIjMxXCIgcng9XCIxNS41XCIgZmlsbD1cInVybCgjcGF0dGVybjBfNjMwM18yMjAzNSlcIiAvPlxuICAgICAgICA8cmVjdCB4PVwiMC41XCIgeT1cIjAuNVwiIHdpZHRoPVwiMzFcIiBoZWlnaHQ9XCIzMVwiIHJ4PVwiMTUuNVwiIHN0cm9rZT1cIiNEOEQ5RkNcIiAvPlxuICAgICAgICA8ZGVmcz5cbiAgICAgICAgICA8cGF0dGVybiBpZD1cInBhdHRlcm4wXzYzMDNfMjIwMzVcIiBwYXR0ZXJuQ29udGVudFVuaXRzPVwib2JqZWN0Qm91bmRpbmdCb3hcIiB3aWR0aD1cIjFcIiBoZWlnaHQ9XCIxXCI+XG4gICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjaW1hZ2UwXzYzMDNfMjIwMzVcIiB0cmFuc2Zvcm09XCJzY2FsZSgwLjAwNSlcIiAvPlxuICAgICAgICAgIDwvcGF0dGVybj5cbiAgICAgICAgICA8aW1hZ2UgaWQ9XCJpbWFnZTBfNjMwM18yMjAzNVwiIHdpZHRoPVwiMjAwXCIgaGVpZ2h0PVwiMjAwXCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIlxuICAgICAgICAgICAgeGxpbms6aHJlZj1cImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsLzlqLzRBQVFTa1pKUmdBQkFRQUFBUUFCQUFELzJ3Q0VBQWtHQnc4U0VCTVFFQkFTRUJBUUVCWVJGUlVYRlJBUkVSQVNHUmtXR3hZWEdCVVlIaWdzR0JvbUd4VVlJVEVoSlNrckxqb3VHU0F6T0RNc055Z3RMamNCQ2dvS0RnME9HeEFRR3k0ZElDVXJOeTByS3lzck1EY3RMaXN2TFMwdEt5MHRMVGN1TFMwdE1EY3ROaTB0TFNzdExTMHJMUzByTFRFdExTMHRMUzB0TGYvQUFCRUlBTWdBeUFNQklnQUNFUUVERVFIL3hBQWNBQUVBQWdJREFRQUFBQUFBQUFBQUFBQUFCUVlDQndFREJBai94QUJCRUFBQkF3SUNBd3NLQlFVQUF3RUFBQUFCQUFJREJCRUZJUVlTUVFjaU1WRlNZWEdCa2FIUkV4UVdJekpVa3FLeHdSZENZbkt5VTRMQzRmQWtOUEVWLzhRQUd3RUJBQUlEQVFFQUFBQUFBQUFBQUFBQUFBSURBUVFGQmdmL3hBQXVFUUFDQVFJRUF3WUdBd0FBQUFBQUFBQUFBUUlERVFRU0lWRVRNVUVGVW1HQmtiRVVJakpDY2NFVm9kSC8yZ0FNQXdFQUFoRURFUUEvQU40b2lJQWlJZ0NJaUFJaUlBaUlnQ0lpQUlpSUFpSWdDSWlBSWlJQWlJZ0NJaUFJaUlBaUlnQ0lpQUlpSUFpSWdDSWlBSWlJQWlJZ0NJaUFJaUlBaUlnQ0lpQUlpSUFpSWdDSWlBSWlJQWlJZ0NJaUFJaUlBaUlnQ0lpQUlpSUFpSWdDSWlBSWlJQWlJZ0NJaUE4MVhLNWpkY0RXRGMzRGFXOFk1eHdya3lGek5lSWczRjJuOHJ1WmQ2ci9BSmJ6U28xRGxUem03ZUtOKzNxejcxS0t1UmJzUzFKVmlWaExidElKYTRIMm1PSENDRjFVTmZyUGRDK3pabzdhd3pzNXA0SHR2c1Bkd0tNeHd1cHBSVnhpN0hFTW1ieWgrVjNTdU5JNFRKRXl0cFQ2NkFhN0NQenhuMm1uankyS2FndkorNWpNeVM4LzFKeEJMbDVTNWhkc2ZiTnpEeE9IZU90Y1lqaUJnYzE4bi9ydklhNTM5Ri81U2YwazVYMkczR285em9zU29yc09vL2hCejFvWm04R2YvWkZkT2pPTENzaGtwYXB2cjR3WTVtRzIvR1kxZ21UcStuTVppRDA4YmlkTmVvcHFxVjFPVHZtNzBtSHJ0bTFVZjAweFAzdVQ1UEJiSTBicjNRenZ3bXJPdnFqMURuV1BsWWlDZFU5WDNDb1dudWk1b3B0YU1FMDhwSlp3N3c3V0g3TGNvT044a2t2QjdsTTc4MGVUMDB4UDN1VDVQQlBUVEUvZTVQazhGQUl0dmhRMlJWbmU1UDhBcHBpZnZjbnllQ2VtbUorOXlmSjRLQVJPRkRaRE85eXowR25tSXh5TmU2WXl0QnpZNE4xWERhTGdaSG5XNGNBeHFHcmhFMEp5T1RtL21ZN2FDdm5kVGVpZWtNbEZPSkczTWJzcEdjdHZIekVjSzE2K0dVbGVLMUowNmpUMVBvQlZUVEttcm10TTlKTzhCb3U2TVdPWEcyNDdsWTZLcVpMRzJXTjJzeDdRNXA0d3U5Y3FVYnF4MEtGWGhUVTdKK0ROTGVsZUllOHYrWHdUMHJ4RDNsL3krQ205UDlHdkpPTlRDMzFUenZ3T0JqdVBvSlZLWE9tNXdkbXoydUZqaGNSVFU0d1hvaWE5SzhROTVmOEFMNEo2VjRoN3kvNWZCUXFLR2VXNXNmQ1VPNHZSRTE2VjRoN3kvd0NYd1dVZWwxZUNENXc0MlBBUTBnOU9TZzBXYzh0dzhIUTdpOUVibzBYMGhqcTQ5WWIyVnZ0czR1Y2NZVTR0RDRWaU1sUEsyYUkyYzA5VGh0Qlc2TUV4U09waGJMSHdFWmphMTIwRmJ0R3JuVm56UEo5cWRuUERTelIrbC8xNEVpaUlyemtuQ2pzZW9mTFFPYVBhRytiMGovcktTWEN5blozTU5YVml1WUJWTnFhZDFQTG1XdDFlY3QySHBDOE9pVmE2S1Y5RktlQngxUDNiUjBFWnJwbWQ1clhFakpoZGYreDNEMy9SWWFiUW1Lb2pxR1pGNHZmOWJiZmF5MjFGTjVlajE4eW03dGZZODBVMy93Q2JpVG96bFRUa0htQVBBZjdYWEhRc2RObzMwVmJGaUVJeWtObmpZU0FMZy91Yi9GZXJUeUpzOUhEVnRIczJ2ek5kWUVkVGdFYTd6N0IzdE9jc0RldldabU8xdVhXVkpkSnY4TXh1dk5HRzZEVENlbGh4R25PK2hzNE9IRHFFanZhNzdxVW9wSXNXdzR0ZllPY05WM0hISzNnY080OWFoTnplc0UxUE5ReTV0MVNXajlEcmh3NmpuL2NvdmM3clhVdGUra2tPVXJqR2VMeWpMMlBXTGpyQ3c0TlJjZXNkVitES2xxbnVVU3VwSHd5UGlrRm54dUxYRG5IMUM2RnNUZGV3Z05sanEyaktVYWovQU43UnZUMXQvaXRkcmVwVHp3VWlpY2JPd1JFVmhFSWlJRFl1NVBwQ1d5R2lrTzlrdTZMOUw4eTV2UVJuMWM2MnN2bW1tbmRHOXNqRFo3SEJ3UEVRdm9YQjhXaW5nam5EbWp5akE2MXhrZG83YnJtWXVsYVdaZFRab3l1ck05ZFhUTWtZNk40dTE0TFNPTUxTV1BZVzZtcUh3dXoxVGRwNVRUd0ZidjhBT0djdHZhRlNkMHVoWkpDMm9ZV2wwUjFYV0l1V09zTzQyN1Z6TVJUY28zMk85Mk5pK0ZYeU42UzkraHJWRVJjODltRVJFQVZuMEV4dzA5UUdQTm9aaUd1NG11L0s3N0tzTGxTaEp4ZDBVNGloR3RUY0pkVDZEdWlndERjVU5SU01jNDNlMGFqdWtiZXNXUFd1VjFJdTZ1ajUvVnB1bk53bHpST29pTEpXVkRUZUhmUnY0d1c5bHJmVllZNTYzRFk1ZHNaRiswc1BmWmU3VFp2cW1IaWsrb0s4RUcrd3VZY2tuNnRLMjRQNVl2WmxFdnFhT25CZlhZYlV3SFBVRGlQNU4rWUtPM01xcTAwc0o0Skk5YTNPMy9UdTVTR2dKdVoyYkhNYjNhdys2cm1najlYRUloeDY3ZmtkNEs1clNvdk1oZldMT2pSbVR6WEZXc3Zab21mQ2VjRzRIZlpZYWR0TlBpcnBXWkc4YzdlbXd2M3RLeDBrUGs4VmtJL0xVTmQvRXIzN3JiTFZjUjQ0UDhuS2ExbkY3b2o5cjhHWExUdW1iVVlaSzV1ZG1ObmIxV1A4YjlxMFd0K1lSNnpDbUE1NjlKcS9KWmFEV01KcG1qc3lWYm93aUl0d3BDSWlBSWlJQXNvM1dJUEVWaWlqS0thc3lkT2JqSlNYUmt1aTRqT1E2QXVWNDJTczJqNnBUbG1nbnVnaUlva3dpSWdMNXVWMWxwSm9TY25ORHgwakkvVWRpS0szT3BDSzlnNVRIanV2OWx5dWpoM2VCNHZ0dUNoaW05MWY5RzNVUkZjY2tyV216L1ZSamplVDJBK0s4RU85d3VZOG8vNU5DejAybXZKR3prdEo3ZjhBNHNkSWZVNGZGRHRlUmNkcmoza0xiZ3ZsaXQyVVMrcHM2TkFzak84OERXRC9BQ1AyVmMwRFlYWWhFZUlQY2ZnZDl5ckpoZnFNTHFKamtaQVFQNER2SlVmdVowM3JKcDNaTmpZRzM2Yms5elZjNWFWSDVFRXRZb3Iya0k4cGlzZ0dldFV0WjN0SDJYdjNXNUwxY2JlVEFPOXpsNTlFb2pVNG8yUWpMeWo1M2N3RnlQbUlYVnBtVFZZczZKbWUvWkEzc0FQelhWaTBtbHNqSDJ2eFpzakMvVllVd25MVW85YjVMclFhM2x1Z1ZiYWZEWkd0eUwydGdZT213UHlnclJxamhOVktXN00xdWlDSWkzQ2tJaUlBaUtVb3RIYTJaZ2tpcDVKSTNYczRESTJKSDFDdzVKY3hhL0lpMFUzNkk0ajdwTDhLd24wWnJvMmw4bE5JeU52dE9Jc0FGQ1ZXQ1RkeXluVGxLU2lselpqR01oMExsRVhqcE84bXo2cFRqbGlsc2dpSXNFZ2lJZ0xSdWN4M3IybmtzZWU2MzNSUys1WFI3NmFjaklBUnQ3eTc3SXVqaGxhQjR2dHFhbmluNEszN05qTGhGRmFTVjNrb1RiMjVONDM3bnNWOFZkMk9RM1pYSzlHenp1dUo0V0IxenhhamJmWDdycTB2a2RQVnNwMlpsbG0vM096UGRaVGVHMDdhT2xkTEo3WkdzNy9Gdi9jYThlaVZBYnZyWnZhZmN0dnNHZXM1YlNrazgyMmlLYlBsdVIyNkRPMkduaG8yYmN6KzF2QjJrOXl5ckdlWVlPV25LYWNXUEhyUDRSMU0raTY4SXBqaUZlK3JlUDhBeDRYQU1CNEhXOWtEK1I2UXVyU1Zyc1J4QmxIR2ZVMCtjamh3QW0ydDE1QnZTcHEya0gwMVpqZCtTTXRBS1Z0TFJ6VjhvOXBwTGYyTnY5VDlGRjdtZUhPbnE1SzJRWEVaSkI0NVgzK2dKN1FwamRCcUNXd1lYU3QzOHBiZG8yTWJiVkhSY1gvdFVuV1R3NFJod2FMT2VCWm8yeXpIaFBSZlBvQ3c1dHB0YzVleGxKYWJJcHU2MWpJa25aU3NPOXA4Mzg4amdQbzM2bFVGZGxSTTU3blBlUzV6M0Z4TzBrcnJXOVNoa2lvbEVuZDNDSWlzSWhFUkFlaWdwSHpTc2hqRjN5T0RRT2MvWmZST0YwTFlJWTRXZXpHd05IUGJiMnFnYmxPalphUFBwVzV1QmJDT0p2QTUvWHdkcTJTdVhpNnVhV1ZkRGFveHNyaFVQZFB4V3pHVXJUbTg2NytabzlrZHYwVnh4U3ZaQkU2YVEyYXdYNXp4QWM5MXBIRmE5OVJNK1ovdFBkZTNFTmc3RnpNUlV5eHR1ZWc3RndicTFlSStVZmM4aUlpMEQyQVJFUUJjZ1h5R1o0RndyanVlWUNaWmZPSkI2cUk3M2lmSi9yNnFVSXVUc2ErS3hFYUZKMUpGNzBVd3Z6YWxqalB0MjFuZnVPWjdPRHFSVENMcUpXVmtlQXFUZFNibStiT0hFQVhQQUZDMGxPWjV2T1hqMWJNb1duYitzcVZxSWRjYXA5bjh3NVhOMExLVmhMYk5PcnN2eGRDbW5ia1Z0WElURUlUVnpDTGdwNFhYa1A4QVVmeVIwTEhTSXZsMWFHbjNycEI2eHc0SVlmRThBSFNwdUdGckdhakFBQU1objNyR2twR3N1ZUY3enJQY2VGNSt3MldVbE8zbHlJNVNKcjNDanBtd1V6THpQOVhDM0s3bjdYRyt3Y0pLNjhMb1ljT3BIeVNIV2Y3Y3IvelNTSElBY2Vac09sVEVWSVBLR1YyK2tJMVFkakdjbHYxSi93QkxpYWpENUdQZm0yTTNZM1pyOG84Wkd4TS9UMU01U3VZUFJDbkUySjE1RFo1UnJHK2ZrR2NEV0RqTnJEdVdydExkSXBLMmN5T3UyTnU5alp5RzdUemtsYkEweTBjeE91a3NIeE1wMkhlTTFuWm5sT05zejlGVy93QUw2L2x3L0U3d1c1UWxUWHpTZXZzVVRVbm9sb1VkRmVQd3ZyK1hEOFR2QlB3dnIrWEQ4VHZCYlB4RlB2RmZEbHNVZEZlUHd2citYRDhUdkJQd3ZyK1hEOFR2QlBpS2ZlSERsc1VkV3ZRVFJOMVpMcnlBaW1qTytQOEFVUElCK3Fsc08zTHFreU44dkpHMksrKzFDUzRqaUZ4M3JhTkJSeHd4dGlpYUdSc0ZnQnNWRmZGSkswR1dRcE85MmQwY1lhQTFvQWFCWUFaQUFKTElHZ3VjUUFCY2s4QUN6S3F1bDJGMTFWNnFGekdRYmJ1T3RJZWV3NE9aY3VUYVYxcWIxQ25HYzFHVHlyZGxMMDAwa05WSnFSbTBFWjN2Nnp5ajlsV1ZiL3c5cmVWRjhUdkJQdzlyZVZGOFR2QmFFcWRTVHUwZXhvWXpCVUthaENhc2lvSXJmK0h0YnlvdmlkNEorSHRieW92aWQ0S1BCbnNYZnllRjc2S2dpdC80ZTF2S2krSjNnc290enlySkdzK01Odm1RWEVnZEZsbmd6Mk1QdFBDOTlFSm81Z2NsWEtHTnlZTTN1Mk5iNHJjdEJSeHd4dGlqYnFzWUxBTHB3YkNvcWFJUlJDd0hDZHJqeGtyM3JjcFVzaThUeTNhT1BsaXA2YVJYTC9UbEVSWEhOQ0lpQUlpSUFpSWdDSWlBSWlJQWlJZ0NJaUFJaUlBaUlnQ0lpQUlpSUFpSWdDSWlBSWlJQWlJZ0NJaUFJaUlBaUlnQ0lpQUlpSUFpSWdDSWlBSWlJQWlJZ0NJaUFJaUlBaUlnQ0lpQUlpSUFpSWdDSWlBSWlJQWlJZ0NJaUFJaUlBaUlnQ0lpQUlpSUFpSWdDSWlBSWlJQWlJZ0NJaUFJaUlBaUlnQ0lpQUlpSUFpSWdDSWlBSWlJQWlJZ0NJaUEvOWs9XCIgLz5cbiAgICAgICAgPC9kZWZzPlxuICAgICAgPC9zdmc+XG5cbiAgICAgIDwhLS0gVGl0bGUgKyBvcHRpb25hbCBiYWRnZSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtaXRlbXMtZW5kIGNxYS1nYXAtMyBjcWEtbWluLXctMCBjcWEtaGlkZGVuIG1kOmNxYS1mbGV4XCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImNxYS10cnVuY2F0ZSBjcWEtdGV4dC1bIzIyMjIzQl0gY3FhLWZvbnQtZXh0cmFib2xkIGNxYS10ZXh0LVszMnB4XSBjcWEtZm9udC1udW5pdG8tc2FucyBjcWEtbGVhZGluZy1bMV1cIj5cbiAgICAgICAgICB7eyB0aXRsZSB9fTwvZGl2PlxuICAgICAgICA8c3BhbiAqbmdJZj1cImJhZGdlVGV4dFwiXG4gICAgICAgICAgY2xhc3M9XCJjcWEtcHgtMiBjcWEtcHktWzJweF0gY3FhLXJvdW5kZWQtbGcgY3FhLXRleHQtWzEycHhdIGNxYS1mb250LW1lZGl1bSBjcWEtbGVhZGluZy00IGNxYS13aGl0ZXNwYWNlLW5vd3JhcCBjcWEtdGV4dC1bIzAwN0E1NV0gY3FhLWJnLVsjRDBGQUU1XSBjcWEtYm9yZGVyIGNxYS1ib3JkZXItWyNBNEY0Q0ZdXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJiYWRnZUNsYXNzXCI+e3sgYmFkZ2VUZXh0IH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIFJpZ2h0IGNvbnRyb2xzL2FjdGlvbnMgLS0+XG4gICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0zIGNxYS1mbGV4LTEgY3FhLWp1c3RpZnktZW5kXCI+XG4gICAgICA8IS0tIE9wdGlvbmFsIHdvcmtzcGFjZSBzZWxlY3QgLS0+XG4gICAgICA8ZGl2ICpuZ0lmPVwic2hvd1dvcmtzcGFjZVNlbGVjdG9yICYmIHdvcmtzcGFjZU9wdGlvbnM/Lmxlbmd0aFwiIGNsYXNzPVwiaGVhZGVyLWRyb3Bkb3duXCI+XG4gICAgICAgIDxjcWEtZHluYW1pYy1zZWxlY3QgW2Zvcm1dPVwid29ya3NwYWNlRm9ybVwiIFtjb25maWddPVwid29ya3NwYWNlQ29uZmlnXCIgKHNlbGVjdENsaWNrKT1cIndvcmtzcGFjZVNlbGVjdENsaWNrLmVtaXQoKVwiPlxuICAgICAgICA8L2NxYS1keW5hbWljLXNlbGVjdD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIEhlbHAgaWNvbiBidXR0b24gLS0+XG4gICAgICA8YnV0dG9uICpuZ0lmPVwic2hvd0hlbHBJY29uXCIgbWF0LWljb24tYnV0dG9uIGFyaWEtbGFiZWw9XCJIZWxwXCIgKGNsaWNrKT1cImhlbHBJY29uQ2xpY2suZW1pdCgpXCIgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxtYXQtaWNvbiBzdHlsZT1cImhlaWdodDogMzZweDsgd2lkdGg6IDM2cHg7XCI+XG4gICAgICAgICAgPHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICA8cGF0aCBkPVwiTTAgMThDMCA4LjA1ODg4IDguMDU4ODggMCAxOCAwQzI3Ljk0MTEgMCAzNiA4LjA1ODg4IDM2IDE4QzM2IDI3Ljk0MTEgMjcuOTQxMSAzNiAxOCAzNkM4LjA1ODg4IDM2IDAgMjcuOTQxMSAwIDE4WlwiIGZpbGw9XCIjRDhEOUZDXCIgZmlsbC1vcGFjaXR5PVwiMC4zXCIvPlxuICAgICAgICAgICAgPHBhdGggZD1cIk0xOC4wMDAxIDI4LjQxNjNDMjMuOTgzMiAyOC40MTYzIDI4LjgzMzQgMjMuNzUyNiAyOC44MzM0IDE3Ljk5OTdDMjguODMzNCAxMi4yNDY3IDIzLjk4MzIgNy41ODMwMSAxOC4wMDAxIDcuNTgzMDFDMTIuMDE3IDcuNTgzMDEgNy4xNjY3NSAxMi4yNDY3IDcuMTY2NzUgMTcuOTk5N0M3LjE2Njc1IDIzLjc1MjYgMTIuMDE3IDI4LjQxNjMgMTguMDAwMSAyOC40MTYzWlwiIHN0cm9rZT1cIiMzRjQzRUVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxuICAgICAgICAgICAgPHBhdGggZD1cIk0xNC44NDc0IDE0Ljg3NTFDMTUuMTAyMSAxNC4xNzg5IDE1LjYwNDggMTMuNTkxOSAxNi4yNjY1IDEzLjIxOEMxNi45MjgyIDEyLjg0NCAxNy43MDYyIDEyLjcwNzMgMTguNDYyNyAxMi44MzIxQzE5LjIxOTIgMTIuOTU2OSAxOS45MDUzIDEzLjMzNSAyMC4zOTk2IDEzLjg5OTZDMjAuODkzOSAxNC40NjQyIDIxLjE2NDQgMTUuMTc4OCAyMS4xNjMyIDE1LjkxNjhDMjEuMTYzMiAxOC4wMDAxIDE3LjkxMzIgMTkuMDQxOCAxNy45MTMyIDE5LjA0MThcIiBzdHJva2U9XCIjM0Y0M0VFXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTggMjMuMjA4SDE4LjAxXCIgc3Ryb2tlPVwiIzNGNDNFRVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
@@ -365,10 +365,10 @@ export class TableTemplateComponent {
|
|
|
365
365
|
}
|
|
366
366
|
}
|
|
367
367
|
TableTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TableTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
368
|
-
TableTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: TableTemplateComponent, selector: "cqa-table-template", inputs: { searchPlaceholder: "searchPlaceholder", searchValue: "searchValue", showClear: "showClear", showSearchBar: "showSearchBar", filterConfig: "filterConfig", showFilterPanel: "showFilterPanel", showFilterButton: "showFilterButton", otherButtonLabel: "otherButtonLabel", otherButtonVariant: "otherButtonVariant", showOtherButton: "showOtherButton", showActionButton: "showActionButton", showSettingsButton: "showSettingsButton", showAutoRefreshButton: "showAutoRefreshButton", data: "data", isEmptyState: "isEmptyState", emptyStateConfig: "emptyStateConfig", actions: "actions", chips: "chips", filterApplied: "filterApplied", columns: "columns", selectedAutoRefreshInterval: "selectedAutoRefreshInterval", pageIndex: "pageIndex", pageSize: "pageSize", serverSidePagination: "serverSidePagination", totalElements: "totalElements", isTableLoading: "isTableLoading", isTableDataLoading: "isTableDataLoading" }, outputs: { onSearchChange: "onSearchChange", onApplyFilterClick: "onApplyFilterClick", onResetFilterClick: "onResetFilterClick", onClearAll: "onClearAll", pageChange: "pageChange", onReload: "onReload", onAutoRefreshClick: "onAutoRefreshClick" }, usesOnChanges: true, ngImport: i0, template: "<div id=\"cqa-ui-root\">\n <div class=\"cqa-w-full cqa-flex cqa-flex-col cqa-relative\">\n <div class=\"cqa-w-full cqa-flex cqa-items-center cqa-
|
|
368
|
+
TableTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: TableTemplateComponent, selector: "cqa-table-template", inputs: { searchPlaceholder: "searchPlaceholder", searchValue: "searchValue", showClear: "showClear", showSearchBar: "showSearchBar", filterConfig: "filterConfig", showFilterPanel: "showFilterPanel", showFilterButton: "showFilterButton", otherButtonLabel: "otherButtonLabel", otherButtonVariant: "otherButtonVariant", showOtherButton: "showOtherButton", showActionButton: "showActionButton", showSettingsButton: "showSettingsButton", showAutoRefreshButton: "showAutoRefreshButton", data: "data", isEmptyState: "isEmptyState", emptyStateConfig: "emptyStateConfig", actions: "actions", chips: "chips", filterApplied: "filterApplied", columns: "columns", selectedAutoRefreshInterval: "selectedAutoRefreshInterval", pageIndex: "pageIndex", pageSize: "pageSize", serverSidePagination: "serverSidePagination", totalElements: "totalElements", isTableLoading: "isTableLoading", isTableDataLoading: "isTableDataLoading" }, outputs: { onSearchChange: "onSearchChange", onApplyFilterClick: "onApplyFilterClick", onResetFilterClick: "onResetFilterClick", onClearAll: "onClearAll", pageChange: "pageChange", onReload: "onReload", onAutoRefreshClick: "onAutoRefreshClick" }, usesOnChanges: true, ngImport: i0, template: "<div id=\"cqa-ui-root\">\n <div class=\"cqa-w-full cqa-flex cqa-flex-col cqa-relative\">\n <div [class]=\"!showSearchBar ? 'cqa-justify-end' : 'cqa-justify-between'\" class=\"cqa-w-full cqa-flex cqa-items-center cqa-gap-3 cqa-flex-wrap cqa-mb-3\">\n <cqa-search-bar\n *ngIf=\"showSearchBar\"\n [placeholder]=\"searchPlaceholder\"\n [value]=\"searchValue\"\n [showClear]=\"showClear\"\n (valueChange)=\"valueChange($event)\"\n (search)=\"search($event)\"\n (cleared)=\"cleared()\"\n ></cqa-search-bar>\n <div class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-flex-wrap\">\n <cqa-button\n *ngIf=\"showFilterButton\"\n variant=\"grey-solid\"\n icon=\"add\"\n [text]=\"'Filter'\"\n (clicked)=\"toggleFilter()\"\n >\n <span>Filter</span>\n </cqa-button>\n <cqa-column-visibility\n *ngIf=\"showSettingsButton\"\n [columns]=\"visibilityColumns\"\n [columnVisibility]=\"columnVisibility\"\n [selectedAutoRefreshInterval]=\"selectedAutoRefreshInterval\"\n (columnVisibilityChange)=\"onColumnVisibilityChange($event)\"\n (autoRefreshChange)=\"onAutoRefreshChange($event)\"\n ></cqa-column-visibility>\n <cqa-button *ngIf=\"showAutoRefreshButton\" variant=\"grey-solid\" icon=\"refresh\" (clicked)=\"handleRefreshClick()\"></cqa-button>\n <cqa-button *ngIf=\"showOtherButton\" [variant]=\"otherButtonVariant\" [text]=\"otherButtonLabel\"></cqa-button>\n </div>\n </div>\n\n <cqa-selected-filters \n *ngIf=\"showFilterPanel\"\n [filterApplied]=\"filterApplied\"\n [chips]=\"chips\"\n (removeChip)=\"onRemoveChip($event)\"\n (clearAll)=\"onClearAllChips()\"\n (onClearAll)=\"onClearAll.emit()\"\n >\n </cqa-selected-filters>\n\n <cqa-dynamic-filter\n *ngIf=\"showFilterPanel\"\n [config]=\"filterConfig\"\n [showFilterPanel]=\"showFilterPanel\"\n (filtersChanged)=\"onFiltersChanged($event)\"\n (filtersApplied)=\"onFiltersApplied($event)\"\n (onApplyFilterClick)=\"onApplyFilterClick.emit($event)\"\n (onResetFilterClick)=\"handleResetFilterClick()\"\n >\n </cqa-dynamic-filter>\n\n <div class=\"cqa-rounded-[7px] cqa-overflow-hidden cqa-border-t cqa-border-l cqa-border-r cqa-border-grey-200 cqa-relative\">\n <ng-container *ngIf=\"(isTableLoading || isTableDataLoading) || (!isEmptyState && pagedRows && pagedRows.length > 0); else storyEmptyTpl\">\n <app-dynamic-table\n [columns]=\"computedColumns\"\n [data]=\"pagedRows\"\n [isTableLoading]=\"isTableLoading\"\n [isTableDataLoading]=\"isTableDataLoading\">\n <ng-template #emptyTableTpl>\n <div class=\"cqa-flex cqa-flex-col cqa-items-center cqa-justify-center cqa-py-8\">\n <img src=\"/assets/illustrations/empty-state.svg\" alt=\"No data\" class=\"cqa-w-32 cqa-h-32 cqa-mb-4\" />\n <h3 class=\"cqa-text-lg cqa-font-semibold cqa-mb-2\">No test cases</h3>\n <p class=\"cqa-text-sm cqa-text-neutral-500 cqa-mb-4\">Try adjusting filters or create a new test case.</p>\n <cqa-button variant=\"filled\" (clicked)=\"toggleFilter()\">Show Filters</cqa-button>\n </div>\n </ng-template>\n </app-dynamic-table>\n </ng-container>\n\n <ng-template #storyEmptyTpl>\n <div class=\"cqa-p-6 cqa-flex cqa-flex-col cqa-items-center cqa-justify-center\">\n <cqa-empty-state\n *ngIf=\"isEmptyState\"\n [title]=\"emptyStateConfig.title\"\n [description]=\"emptyStateConfig.description\"\n [imageUrl]=\"emptyStateConfig.imageUrl\"\n [actions]=\"emptyStateConfig.actions\"\n (actionClick)=\"onEmptyAction($event)\"\n >\n </cqa-empty-state>\n </div>\n </ng-template>\n\n </div>\n\n <cqa-pagination\n [totalElements]=\"serverSidePagination ? totalElements : filteredRows.length\"\n [pageIndex]=\"pageIndex\"\n [pageSize]=\"pageSize\"\n [pageItemCount]=\"pagedRows.length\"\n (paginate)=\"onPaginate($event)\"\n (pageSizeChange)=\"onPageSizeChange($event)\"\n >\n </cqa-pagination>\n\n <div *ngIf=\"anyRowSelected\" class=\"cqa-absolute cqa-bottom-[18.75px] cqa-left-[50%] cqa-translate-x-[-50%] cqa-w-full lg:cqa-max-w-[68%] cqa-sm:max-w-[75%] cqa-max-w-[90%] cqa-z-[1]\" >\n <cqa-table-action-toolbar\n [selectedItems]=\"currentSelectedItems\"\n [actions]=\"actions\"\n (actionClick)=\"actionClick($event)\"\n ></cqa-table-action-toolbar>\n </div>\n \n </div>\n</div>\n\n", components: [{ type: i1.SearchBarComponent, selector: "cqa-search-bar", inputs: ["placeholder", "value", "disabled", "showClear", "ariaLabel", "autoFocus", "size", "fullWidth"], outputs: ["valueChange", "search", "cleared"] }, { type: i2.ButtonComponent, selector: "cqa-button", inputs: ["variant", "disabled", "icon", "iconPosition", "fullWidth", "iconColor", "type", "text", "customClass"], outputs: ["clicked"] }, { type: i3.ColumnVisibilityComponent, selector: "cqa-column-visibility", inputs: ["isStepGroup", "columns", "columnVisibility", "selectedAutoRefreshInterval"], outputs: ["columnVisibilityChange", "autoRefreshChange"] }, { type: i4.SelectedFiltersComponent, selector: "cqa-selected-filters", inputs: ["filterApplied", "chips", "defaultChips", "defaultChipClass"], outputs: ["removeChip", "clearAll", "onClearAll"] }, { type: i5.DynamicFilterComponent, selector: "cqa-dynamic-filter", inputs: ["config", "model", "showFilterPanel", "buttonLayout"], outputs: ["filtersApplied", "filtersChanged", "resetAction", "onApplyFilterClick", "onResetFilterClick"] }, { type: i6.DynamicTableComponent, selector: "app-dynamic-table", inputs: ["data", "columns", "emptyState", "gridTemplateColumns", "screenWidth", "enableSelectAll", "enableLocalSort", "isTableLoading", "isTableDataLoading"], outputs: ["sortChange"] }, { type: i7.EmptyStateComponent, selector: "cqa-empty-state", inputs: ["preset", "imageUrl", "title", "description", "actions"], outputs: ["actionClick"] }, { type: i8.PaginationComponent, selector: "cqa-pagination", inputs: ["totalElements", "totalPages", "pageIndex", "pageSize", "pageItemCount", "pageSizeOptions"], outputs: ["pageIndexChange", "pageSizeChange", "paginate"] }, { type: i9.TableActionToolbarComponent, selector: "cqa-table-action-toolbar", inputs: ["selectedItems", "actions"], outputs: ["actionClick"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
369
369
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TableTemplateComponent, decorators: [{
|
|
370
370
|
type: Component,
|
|
371
|
-
args: [{ selector: 'cqa-table-template', template: "<div id=\"cqa-ui-root\">\n <div class=\"cqa-w-full cqa-flex cqa-flex-col cqa-relative\">\n <div class=\"cqa-w-full cqa-flex cqa-items-center cqa-
|
|
371
|
+
args: [{ selector: 'cqa-table-template', template: "<div id=\"cqa-ui-root\">\n <div class=\"cqa-w-full cqa-flex cqa-flex-col cqa-relative\">\n <div [class]=\"!showSearchBar ? 'cqa-justify-end' : 'cqa-justify-between'\" class=\"cqa-w-full cqa-flex cqa-items-center cqa-gap-3 cqa-flex-wrap cqa-mb-3\">\n <cqa-search-bar\n *ngIf=\"showSearchBar\"\n [placeholder]=\"searchPlaceholder\"\n [value]=\"searchValue\"\n [showClear]=\"showClear\"\n (valueChange)=\"valueChange($event)\"\n (search)=\"search($event)\"\n (cleared)=\"cleared()\"\n ></cqa-search-bar>\n <div class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-flex-wrap\">\n <cqa-button\n *ngIf=\"showFilterButton\"\n variant=\"grey-solid\"\n icon=\"add\"\n [text]=\"'Filter'\"\n (clicked)=\"toggleFilter()\"\n >\n <span>Filter</span>\n </cqa-button>\n <cqa-column-visibility\n *ngIf=\"showSettingsButton\"\n [columns]=\"visibilityColumns\"\n [columnVisibility]=\"columnVisibility\"\n [selectedAutoRefreshInterval]=\"selectedAutoRefreshInterval\"\n (columnVisibilityChange)=\"onColumnVisibilityChange($event)\"\n (autoRefreshChange)=\"onAutoRefreshChange($event)\"\n ></cqa-column-visibility>\n <cqa-button *ngIf=\"showAutoRefreshButton\" variant=\"grey-solid\" icon=\"refresh\" (clicked)=\"handleRefreshClick()\"></cqa-button>\n <cqa-button *ngIf=\"showOtherButton\" [variant]=\"otherButtonVariant\" [text]=\"otherButtonLabel\"></cqa-button>\n </div>\n </div>\n\n <cqa-selected-filters \n *ngIf=\"showFilterPanel\"\n [filterApplied]=\"filterApplied\"\n [chips]=\"chips\"\n (removeChip)=\"onRemoveChip($event)\"\n (clearAll)=\"onClearAllChips()\"\n (onClearAll)=\"onClearAll.emit()\"\n >\n </cqa-selected-filters>\n\n <cqa-dynamic-filter\n *ngIf=\"showFilterPanel\"\n [config]=\"filterConfig\"\n [showFilterPanel]=\"showFilterPanel\"\n (filtersChanged)=\"onFiltersChanged($event)\"\n (filtersApplied)=\"onFiltersApplied($event)\"\n (onApplyFilterClick)=\"onApplyFilterClick.emit($event)\"\n (onResetFilterClick)=\"handleResetFilterClick()\"\n >\n </cqa-dynamic-filter>\n\n <div class=\"cqa-rounded-[7px] cqa-overflow-hidden cqa-border-t cqa-border-l cqa-border-r cqa-border-grey-200 cqa-relative\">\n <ng-container *ngIf=\"(isTableLoading || isTableDataLoading) || (!isEmptyState && pagedRows && pagedRows.length > 0); else storyEmptyTpl\">\n <app-dynamic-table\n [columns]=\"computedColumns\"\n [data]=\"pagedRows\"\n [isTableLoading]=\"isTableLoading\"\n [isTableDataLoading]=\"isTableDataLoading\">\n <ng-template #emptyTableTpl>\n <div class=\"cqa-flex cqa-flex-col cqa-items-center cqa-justify-center cqa-py-8\">\n <img src=\"/assets/illustrations/empty-state.svg\" alt=\"No data\" class=\"cqa-w-32 cqa-h-32 cqa-mb-4\" />\n <h3 class=\"cqa-text-lg cqa-font-semibold cqa-mb-2\">No test cases</h3>\n <p class=\"cqa-text-sm cqa-text-neutral-500 cqa-mb-4\">Try adjusting filters or create a new test case.</p>\n <cqa-button variant=\"filled\" (clicked)=\"toggleFilter()\">Show Filters</cqa-button>\n </div>\n </ng-template>\n </app-dynamic-table>\n </ng-container>\n\n <ng-template #storyEmptyTpl>\n <div class=\"cqa-p-6 cqa-flex cqa-flex-col cqa-items-center cqa-justify-center\">\n <cqa-empty-state\n *ngIf=\"isEmptyState\"\n [title]=\"emptyStateConfig.title\"\n [description]=\"emptyStateConfig.description\"\n [imageUrl]=\"emptyStateConfig.imageUrl\"\n [actions]=\"emptyStateConfig.actions\"\n (actionClick)=\"onEmptyAction($event)\"\n >\n </cqa-empty-state>\n </div>\n </ng-template>\n\n </div>\n\n <cqa-pagination\n [totalElements]=\"serverSidePagination ? totalElements : filteredRows.length\"\n [pageIndex]=\"pageIndex\"\n [pageSize]=\"pageSize\"\n [pageItemCount]=\"pagedRows.length\"\n (paginate)=\"onPaginate($event)\"\n (pageSizeChange)=\"onPageSizeChange($event)\"\n >\n </cqa-pagination>\n\n <div *ngIf=\"anyRowSelected\" class=\"cqa-absolute cqa-bottom-[18.75px] cqa-left-[50%] cqa-translate-x-[-50%] cqa-w-full lg:cqa-max-w-[68%] cqa-sm:max-w-[75%] cqa-max-w-[90%] cqa-z-[1]\" >\n <cqa-table-action-toolbar\n [selectedItems]=\"currentSelectedItems\"\n [actions]=\"actions\"\n (actionClick)=\"actionClick($event)\"\n ></cqa-table-action-toolbar>\n </div>\n \n </div>\n</div>\n\n", styles: [] }]
|
|
372
372
|
}], propDecorators: { searchPlaceholder: [{
|
|
373
373
|
type: Input
|
|
374
374
|
}], searchValue: [{
|
|
@@ -438,4 +438,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
438
438
|
}], onAutoRefreshClick: [{
|
|
439
439
|
type: Output
|
|
440
440
|
}] } });
|
|
441
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi90ZW1wbGF0ZXMvdGFibGUtdGVtcGxhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi90ZW1wbGF0ZXMvdGFibGUtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksR0FLYixNQUFNLGVBQWUsQ0FBQztBQU12QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7Ozs7O0FBTzdFLE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFNRSxvQkFBb0I7UUFDWCxzQkFBaUIsR0FBVyxtQkFBbUIsQ0FBQztRQUNoRCxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixjQUFTLEdBQVksSUFBSSxDQUFDO1FBQzFCLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBRXZDLHFCQUFxQjtRQUNYLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV0RCxpQkFBaUI7UUFDUCx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzdDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDOUMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFaEQsZ0JBQWdCO1FBQ1AsaUJBQVksR0FBd0IsRUFBRSxDQUFDO1FBQ3ZDLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLHFCQUFnQixHQUFZLElBQUksQ0FBQztRQUUxQyxxQkFBcUI7UUFDWixxQkFBZ0IsR0FBVyxjQUFjLENBQUM7UUFDMUMsdUJBQWtCLEdBQXlFLFFBQVEsQ0FBQztRQUNwRyxvQkFBZSxHQUFZLElBQUksQ0FBQztRQUV6QyxvREFBb0Q7UUFDM0MscUJBQWdCLEdBQVks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c0JBQXBCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBR0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUdHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFHRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUdHLElBQUk7c0JBQVosS0FBSztnQkFHRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFRRyxPQUFPO3NCQUFmLEtBQUs7Z0JBd0NHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLE9BQU87c0JBQWYsS0FBSztnQkFDRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU07Z0JBRUUsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBV0ksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEeW5hbWljRmlsdGVySXRlbSB9IGZyb20gJy4uL2ZpbHRlcnMvZHluYW1pYy1maWx0ZXIvZHluYW1pYy1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNUYWJsZUNvbHVtbiB9IGZyb20gJy4uL3RhYmxlL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29sdW1uVmlzaWJpbGl0eUNvbmZpZyB9IGZyb20gJy4uL2NvbHVtbi12aXNpYmlsaXR5L2NvbHVtbi12aXNpYmlsaXR5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZUFjdGlvbiB9IGZyb20gJy4uL3RhYmxlLWFjdGlvbi10b29sYmFyL3RhYmxlLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbXB0eVN0YXRlQ29uZmlnIH0gZnJvbSAnLi4vZW1wdHktc3RhdGUvZW1wdHktc3RhdGUtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBFTVBUWV9TVEFURV9JTUFHRVMgfSBmcm9tICcuLi9hc3NldHMvaW1hZ2VzL2ltYWdlLWFzc2V0cy5jb25zdGFudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtdGFibGUtdGVtcGxhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZVRlbXBsYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIC8vIFNlYXJjaCBiYXIgaW5wdXRzXG4gIEBJbnB1dCgpIHNlYXJjaFBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnU2VhcmNoIGNvbXBvbmVudHMnO1xuICBASW5wdXQoKSBzZWFyY2hWYWx1ZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHNob3dDbGVhcjogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHNob3dTZWFyY2hCYXI6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8vIFNlYXJjaCBiYXIgb3V0cHV0c1xuICBAT3V0cHV0KCkgb25TZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvLyBGaWx0ZXIgb3V0cHV0c1xuICBAT3V0cHV0KCkgb25BcHBseUZpbHRlckNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvblJlc2V0RmlsdGVyQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBvbkNsZWFyQWxsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8vIEZpbHRlciBpbnB1dHNcbiAgQElucHV0KCkgZmlsdGVyQ29uZmlnOiBEeW5hbWljRmlsdGVySXRlbVtdID0gW107XG4gIEBJbnB1dCgpIHNob3dGaWx0ZXJQYW5lbDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzaG93RmlsdGVyQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAvLyBPdGhlciBidXR0b24gaW5wdXRcbiAgQElucHV0KCkgb3RoZXJCdXR0b25MYWJlbDogc3RyaW5nID0gJ090aGVyIEJ1dHRvbic7XG4gIEBJbnB1dCgpIG90aGVyQnV0dG9uVmFyaWFudDogJ2ZpbGxlZCcgfCAnb3V0bGluZWQnIHwgJ3RleHQnIHwgJ2VsZXZhdGVkJyB8ICd0b25hbCcgfCAnZ3JleS1zb2xpZCcgPSAnZmlsbGVkJztcbiAgQElucHV0KCkgc2hvd090aGVyQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcbiAgXG4gIC8vIEFjdGlvbiBtZW51IGJ1dHRvbiAodGhyZWUtZG90IG1lbnUgaW4gdGFibGUgcm93cylcbiAgQElucHV0KCkgc2hvd0FjdGlvbkJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgLy8gU2V0dGluZ3MgYW5kIHJlZnJlc2ggYnV0dG9uc1xuICBASW5wdXQoKSBzaG93U2V0dGluZ3NCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBzaG93QXV0b1JlZnJlc2hCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8vIERhdGEgaW5wdXRcbiAgQElucHV0KCkgZGF0YTogYW55W10gPSBbXTtcblxuICAvLyBFbXB0eSBzdGF0ZSBpbnB1dHNcbiAgQElucHV0KCkgaXNFbXB0eVN0YXRlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVtcHR5U3RhdGVDb25maWc6IEVtcHR5U3RhdGVDb25maWcgPSB7XG4gICAgdGl0bGU6ICdObyBEYXRhIEF2YWlsYWJsZSBZZXQnLFxuICAgIGRlc2NyaXB0aW9uOiAnUnVuIG9yIHVwbG9hZCB5b3VyIGZpcnN0IHRlc3QgdG8gc2VlIHlvdXIgYW5hbHl0aWNzIGFuZCB0cmVuZHMgaGVyZS4gV2F0Y2ggeW91ciBxdWFsaXR5IG1ldHJpY3MgY29tZSB0byBsaWZlIHdpdGggcmVhbC10aW1lIGluc2lnaHRzLicsXG4gICAgaW1hZ2VVcmw6IEVNUFRZX1NUQVRFX0lNQUdFUy5EQVNIQk9BUkQsXG4gICAgYWN0aW9uczogW3sgbGFiZWw6ICdSdW4gVGVzdCBTdWl0ZScsIHZhcmlhbnQ6ICdmaWxsZWQnIH1dLFxuICB9O1xuXG4gIC8vIEFjdGlvbiBiYXIgaW5wdXRzXG4gIEBJbnB1dCgpIGFjdGlvbnM6IFRhYmxlQWN0aW9uW10gPSBbXG4gICAgeyBcbiAgICAgIGlkOiAnZGVsZXRlJywgXG4gICAgICBsYWJlbDogJ0RlbGV0ZScsIFxuICAgICAgaWNvbjogJ2RlbGV0ZScsIFxuICAgICAgdG9vbHRpcDogJ0RlbGV0ZSBzZWxlY3RlZCcsXG4gICAgICBvbkNsaWNrOiAoY29udGV4dCkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnRGVsZXRlIGFjdGlvbiBjbGlja2VkOicsIGNvbnRleHQpO1xuICAgICAgfVxuICAgIH0sXG4gICAgeyBcbiAgICAgIGlkOiAnZWRpdCcsIFxuICAgICAgbGFiZWw6ICdFZGl0JywgXG4gICAgICBpY29uOiAnZWRpdCcsIFxuICAgICAgdG9vbHRpcDogJ0VkaXQgc2VsZWN0ZWQnLFxuICAgICAgb25DbGljazogKGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ0VkaXQgYWN0aW9uIGNsaWNrZWQ6JywgY29udGV4dCk7XG4gICAgICB9XG4gICAgfSxcbiAgICB7IFxuICAgICAgaWQ6ICdhZGQtdGFnJywgXG4gICAgICBsYWJlbDogJ0FkZCBUYWcnLCBcbiAgICAgIGljb246ICdsb2NhbF9vZmZlcicsIFxuICAgICAgdG9vbHRpcDogJ0FkZCB0YWdzJyxcbiAgICAgIG9uQ2xpY2s6IChjb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdBZGQgdGFnIGFjdGlvbiBjbGlja2VkOicsIGNvbnRleHQpO1xuICAgICAgfVxuICAgIH0sXG4gICAgeyBcbiAgICAgIGlkOiAncmVtb3ZlLXRhZycsIFxuICAgICAgbGFiZWw6ICdSZW1vdmUgVGFnJywgXG4gICAgICBpY29uOiAnbGFiZWxfb2ZmJywgXG4gICAgICB0b29sdGlwOiAnUmVtb3ZlIHRhZ3MnLFxuICAgICAgb25DbGljazogKGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ1JlbW92ZSB0YWcgYWN0aW9uIGNsaWNrZWQ6JywgY29udGV4dCk7XG4gICAgICB9XG4gICAgfSxcbiAgXTtcblxuICAvLyBDaGlwcyBpbnB1dHNcbiAgQElucHV0KCkgY2hpcHM6IEFycmF5PHsga2V5Pzogc3RyaW5nOyBsYWJlbD86IHN0cmluZzsgdGV4dDogc3RyaW5nOyBmdWxsVGV4dD86IHN0cmluZzsgaGFzTW9yZT86IGJvb2xlYW4gfT4gPSBbXTtcbiAgQElucHV0KCkgZmlsdGVyQXBwbGllZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8vIFRhYmxlIGlucHV0c1xuICBASW5wdXQoKSBjb2x1bW5zOiBEeW5hbWljVGFibGVDb2x1bW5bXSA9IFtdO1xuICBASW5wdXQoKSBzZWxlY3RlZEF1dG9SZWZyZXNoSW50ZXJ2YWw6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIHBhZ2VJbmRleDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgcGFnZVNpemU6IG51bWJlciA9IDEwO1xuICAvLyBTZXJ2ZXItc2lkZSBwYWdpbmF0aW9uIGNvbnRyb2xzXG4gIEBJbnB1dCgpIHNlcnZlclNpZGVQYWdpbmF0aW9uOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRvdGFsRWxlbWVudHM6IG51bWJlciA9IDA7XG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7IHBhZ2VJbmRleDogbnVtYmVyOyBwYWdlU2l6ZTogbnVtYmVyIH0+KCk7XG4gIC8vIExvYWRlciBjb250cm9scyAocGFzc2VkIGRvd24gdG8gZHluYW1pYyB0YWJsZSlcbiAgQElucHV0KCkgaXNUYWJsZUxvYWRpbmc/OiBib29sZWFuO1xuICBASW5wdXQoKSBpc1RhYmxlRGF0YUxvYWRpbmc/OiBib29sZWFuO1xuICAvLyBCYWNrd2FyZC1jb21wYXRpYmlsaXR5IGZsYWc7IGlmIHByb3ZpZGVkLCBkeW5hbWljIHRhYmxlIHdpbGwgdXNlIGl0IHdoZW4gc3BlY2lmaWMgZmxhZ3MgYXJlIHVuZGVmaW5lZFxuXG4gIC8vIEludGVybmFsIHN0YXRlIGZvciBjb2x1bW4gdmlzaWJpbGl0eVxuICBwcml2YXRlIF9jb2x1bW5WaXNpYmlsaXR5OiBDb2x1bW5WaXNpYmlsaXR5Q29uZmlnID0ge307XG4gIHByaXZhdGUgX2NhY2hlZFZpc2liaWxpdHlDb2x1bW5zOiBBcnJheTx7IGlkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfT4gPSBbXTtcbiAgZmlsdGVyZWRSb3dzOiBhbnlbXSA9IFtdO1xuICBwYWdlZFJvd3M6IGFueVtdID0gW107XG4gIHByaXZhdGUgcGVuZGluZ0ZpbHRlcnM6IGFueTtcbiAgcHJpdmF0ZSBhcHBsaWVkRmlsdGVyczogYW55O1xuICBwcml2YXRlIGF1dG9SZWZyZXNoVGltZXI/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD47XG4gIEBPdXRwdXQoKSBvblJlbG9hZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIG9uQXV0b1JlZnJlc2hDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvLyBEZXJpdmVkIGNvbHVtbnMgd2l0aCB2aXNpYmlsaXR5IGFwcGxpZWQuIEF2b2lkIG11dGF0aW5nIEBJbnB1dCgpIGNvbHVtbnMgc28gcGFyZW50IGJpbmRpbmdzIGFyZW4ndCBvdmVycmlkZGVuLlxuICBnZXQgY29tcHV0ZWRDb2x1bW5zKCk6IER5bmFtaWNUYWJsZUNvbHVtbltdIHtcbiAgICBjb25zdCB2aXNpYmlsaXR5ID0gdGhpcy5fY29sdW1uVmlzaWJpbGl0eSB8fCB7fTtcbiAgICBjb25zdCBzb3VyY2UgPSB0aGlzLmNvbHVtbnMgfHwgW107XG4gICAgcmV0dXJuIHNvdXJjZS5tYXAoY29sID0+IHtcbiAgICAgIGlmIChbJ2NoZWNrYm94JywgJ2FjdGlvbnMnXS5pbmNsdWRlcyhjb2wuZmllbGRJZCkpIHtcbiAgICAgICAgcmV0dXJuIGNvbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHNob3cgPSB2aXNpYmlsaXR5W2NvbC5maWVsZElkXTtcbiAgICAgIHJldHVybiB7IC4uLmNvbCwgaXNTaG93OiBzaG93ICE9PSBmYWxzZSB9O1xuICAgIH0pO1xuICB9XG5cbiAgLy8gQXV0by1nZW5lcmF0ZWQgdmlzaWJpbGl0eSBjb2x1bW5zIGZyb20gY29sdW1ucyBpbnB1dCAoZXhjbHVkZXMgZGVmYXVsdCBjb2x1bW5zIGFuZCBjaGVja2JveC9hY3Rpb25zKVxuICAvLyBDYWNoZWQgdG8gYXZvaWQgY3JlYXRpbmcgbmV3IGFycmF5cyBvbiBldmVyeSBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlXG4gIGdldCB2aXNpYmlsaXR5Q29sdW1ucygpOiBBcnJheTx7IGlkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfT4ge1xuICAgIHJldHVybiB0aGlzLl9jYWNoZWRWaXNpYmlsaXR5Q29sdW1ucztcbiAgfVxuXG4gIC8vIEludGVybmFsIGNvbHVtbiB2aXNpYmlsaXR5IHN0YXRlXG4gIGdldCBjb2x1bW5WaXNpYmlsaXR5KCk6IENvbHVtblZpc2liaWxpdHlDb25maWcge1xuICAgIHJldHVybiB0aGlzLl9jb2x1bW5WaXNpYmlsaXR5O1xuICB9XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdGlhbGl6ZUNvbXBvbmVudCgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydkYXRhJ10gfHwgY2hhbmdlc1snaXNFbXB0eVN0YXRlJ10pIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUNvbXBvbmVudCgpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1snY29sdW1ucyddKSB7XG4gICAgICB0aGlzLmluaXRpYWxpemVDb2x1bW5WaXNpYmlsaXR5KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplQ29tcG9uZW50KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRW1wdHlTdGF0ZSkge1xuICAgICAgdGhpcy5maWx0ZXJlZFJvd3MgPSBbXTtcbiAgICAgIHRoaXMucGFnZWRSb3dzID0gW107XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gSW4gc2VydmVyLXNpZGUgbW9kZSwgYXNzdW1lIGluY29taW5nIGRhdGEgaXMgYWxyZWFkeSBhIHBhZ2Ugc2xpY2VcbiAgICBpZiAodGhpcy5zZXJ2ZXJTaWRlUGFnaW5hdGlvbikge1xuICAgICAgdGhpcy5maWx0ZXJlZFJvd3MgPSBbLi4udGhpcy5kYXRhXTtcbiAgICAgIHRoaXMucGFnZWRSb3dzID0gWy4uLnRoaXMuZmlsdGVyZWRSb3dzXTtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUNvbHVtblZpc2liaWxpdHkoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmZpbHRlcmVkUm93cyA9IFsuLi50aGlzLmRhdGFdO1xuICAgIHRoaXMuYXBwbHlQYWdpbmF0aW9uKCk7XG4gICAgdGhpcy5pbml0aWFsaXplQ29sdW1uVmlzaWJpbGl0eSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplQ29sdW1uVmlzaWJpbGl0eSgpOiB2b2lkIHtcbiAgICAvLyBDYWNoZSB2aXNpYmlsaXR5IGNvbHVtbnMgdG8gYXZvaWQgY3JlYXRpbmcgbmV3IGFycmF5cyBvbiBldmVyeSBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAgdGhpcy5fY2FjaGVkVmlzaWJpbGl0eUNvbHVtbnMgPSB0aGlzLm1hcFZpc2liaWxpdHlDb2x1bW5zKCk7XG4gICAgLy8gSW5pdGlhbGl6ZSB2aXNpYmlsaXR5IHN0YXRlIGZvciBhbGwgdmlzaWJpbGl0eSBjb2x1bW5zIChkZWZhdWx0IHRvIHRydWUpXG4gICAgZm9yIChjb25zdCBjb2wgb2YgdGhpcy5fY2FjaGVkVmlzaWJpbGl0eUNvbHVtbnMpIHtcbiAgICAgIGlmICh0aGlzLl9jb2x1bW5WaXNpYmlsaXR5W2NvbC5pZF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9jb2x1bW5WaXNpYmlsaXR5W2NvbC5pZF0gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBhbnlSb3dTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEodGhpcy5wYWdlZFJvd3MgJiYgdGhpcy5wYWdlZFJvd3Muc29tZShyID0+ICEhKHIgYXMgYW55KS5pc1NlbGVjdGVkKSk7XG4gIH1cblxuICBnZXQgY3VycmVudFNlbGVjdGVkSXRlbXMoKTogYW55W10ge1xuICAgIHJldHVybiAodGhpcy5wYWdlZFJvd3MgfHwgW10pLmZpbHRlcihyID0+ICEhKHIgYXMgYW55KS5pc1NlbGVjdGVkKTtcbiAgfVxuXG4gIGFjdGlvbkNsaWNrKGRhdGE6IGFueSkge1xuICAgIGNvbnNvbGUubG9nKCdhY3Rpb24gdG9vbGJhcicsIGRhdGEpO1xuICB9XG5cbiAgdmlldyhpZDogbnVtYmVyIHwgc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coJ1ZpZXcnLCBpZCk7XG4gIH1cblxuICBlZGl0KHJvdzogYW55KTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coJ0VkaXQnLCByb3cpO1xuICB9XG5cbiAgZGVsZXRlKHJvdzogYW55KTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coJ0RlbGV0ZScsIHJvdyk7XG4gIH1cblxuICB0b2dnbGVGaWx0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93RmlsdGVyUGFuZWwgPSAhdGhpcy5zaG93RmlsdGVyUGFuZWw7XG4gIH1cblxuICBvbkNvbHVtblZpc2liaWxpdHlDaGFuZ2UoY2ZnOiBDb2x1bW5WaXNpYmlsaXR5Q29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy5fY29sdW1uVmlzaWJpbGl0eSA9IHsgLi4uY2ZnIH07XG4gICAgLy8gRG8gbm90IG11dGF0ZSB0aGlzLmNvbHVtbnM7IGNvbXB1dGVkQ29sdW1ucyBnZXR0ZXIgd2lsbCByZWZsZWN0IGNoYW5nZXNcbiAgfVxuXG4gIG9uQXV0b1JlZnJlc2hDaGFuZ2UoaW50ZXJ2YWxNczogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEF1dG9SZWZyZXNoSW50ZXJ2YWwgPSBpbnRlcnZhbE1zO1xuICAgIHRoaXMuc2V0dXBBdXRvUmVmcmVzaChpbnRlcnZhbE1zKTtcbiAgICB0aGlzLnRyaWdnZXJSZWxvYWQoKTtcbiAgfVxuXG4gIHZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZygnVmFsdWUgY2hhbmdlZCcsIHZhbHVlKTtcbiAgICB0aGlzLm9uU2VhcmNoQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgc2VhcmNoKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZygnU2VhcmNoJywgdmFsdWUpO1xuICB9XG5cbiAgY2xlYXJlZCgpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZygnQ2xlYXJlZCcpO1xuICB9XG5cbiAgb25FbXB0eUFjdGlvbihhY3Rpb246IGFueSkge1xuICAgIGlmIChhY3Rpb24/LmxhYmVsID09PSAnU2hvdyBmaWx0ZXJzJykge1xuICAgICAgdGhpcy50b2dnbGVGaWx0ZXIoKTtcbiAgICB9XG4gIH1cblxuICBvbkZpbHRlcnNDaGFuZ2VkKGN1cnJlbnQ6IGFueSk6IHZvaWQge1xuICAgIC8vIERlZmVyIGFwcGx5aW5nIGZpbHRlcnMgYW5kIHVwZGF0aW5nIGNoaXBzIHVudGlsIEFwcGx5IEZpbHRlciBpcyBjbGlja2VkXG4gICAgdGhpcy5wZW5kaW5nRmlsdGVycyA9IGN1cnJlbnQ7XG4gIH1cblxuICBvbkZpbHRlcnNBcHBsaWVkKGFwcGxpZWQ6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGVmZmVjdGl2ZSA9IGFwcGxpZWQgPz8gdGhpcy5wZW5kaW5nRmlsdGVycyA/PyB7fTtcbiAgICB0aGlzLmFwcGxpZWRGaWx0ZXJzID0gZWZmZWN0aXZlO1xuICAgIHRoaXMuZmlsdGVyZWRSb3dzID0gdGhpcy5kYXRhLmZpbHRlcihyID0+IHRoaXMucGFzc0ZpbHRlcnMoZWZmZWN0aXZlLCByKSk7XG4gICAgdGhpcy5wYWdlSW5kZXggPSAwO1xuICAgIHRoaXMuYXBwbHlQYWdpbmF0aW9uKCk7XG4gICAgY29uc3QgY2hpcHM6IEFycmF5PHsga2V5Pzogc3RyaW5nOyBsYWJlbD86IHN0cmluZzsgdGV4dDogc3RyaW5nOyBmdWxsVGV4dD86IHN0cmluZzsgaGFzTW9yZT86IGJvb2xlYW4gfT4gPSBbXTtcbiAgICBpZiAoZWZmZWN0aXZlKSB7XG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhlZmZlY3RpdmUpKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gZWZmZWN0aXZlW2tleV07XG4gICAgICAgIGlmICh2YWx1ZSA9PSBudWxsIHx8IHZhbHVlID09PSAnJyB8fCAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID09PSAwKSkgY29udGludWU7XG4gICAgICAgIGxldCB0ZXh0ID0gJyc7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgIHRleHQgPSB2YWx1ZS5tYXAoKHY6IGFueSkgPT4gKHY/Lm5hbWUgPz8gdj8ubGFiZWwgPz8gdj8udmFsdWUgPz8gdikpLmpvaW4oJywgJyk7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIGlmICgnc3RhcnQnIGluIHZhbHVlIHx8ICdlbmQnIGluIHZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCBzID0gdmFsdWUuc3RhcnQgPyBuZXcgRGF0ZSh2YWx1ZS5zdGFydCkudG9Mb2NhbGVEYXRlU3RyaW5nKCkgOiAnJztcbiAgICAgICAgICAgIGNvbnN0IGUgPSB2YWx1ZS5lbmQgPyBuZXcgRGF0ZSh2YWx1ZS5lbmQpLnRvTG9jYWxlRGF0ZVN0cmluZygpIDogJyc7XG4gICAgICAgICAgICB0ZXh0ID0gW3MsIGVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgLSAnKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGV4dCA9ICh2YWx1ZT8ubmFtZSA/PyB2YWx1ZT8ubGFiZWwgPz8gdmFsdWU/LnZhbHVlID8/IEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRleHQgPSBTdHJpbmcodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGNoaXBzLnB1c2goeyBrZXksIHRleHQsIGZ1bGxUZXh0OiB0ZXh0LCBoYXNNb3JlOiB0ZXh0Lmxlbmd0aCA+IDMwIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNoaXBzID0gY2hpcHM7XG4gICAgdGhpcy5maWx0ZXJBcHBsaWVkID0gdGhpcy5jaGlwcy5sZW5ndGggPiAwO1xuICB9XG5cbiAgaGFuZGxlUmVzZXRGaWx0ZXJDbGljaygpOiB2b2lkIHtcbiAgICAvLyBDbGVhciBjaGlwcyBhbmQgcmVzZXQgZmlsdGVyZWQgZGF0YSB3aGVuIHJlc2V0IGlzIGNsaWNrZWRcbiAgICB0aGlzLnBlbmRpbmdGaWx0ZXJzID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuY2hpcHMgPSBbXTtcbiAgICB0aGlzLmZpbHRlckFwcGxpZWQgPSBmYWxzZTtcbiAgICB0aGlzLmZpbHRlcmVkUm93cyA9IFsuLi50aGlzLmRhdGFdO1xuICAgIHRoaXMucGFnZUluZGV4ID0gMDtcbiAgICB0aGlzLmFwcGx5UGFnaW5hdGlvbigpO1xuICAgIHRoaXMub25SZXNldEZpbHRlckNsaWNrLmVtaXQoKTtcbiAgfVxuXG4gIGhhbmRsZVJlZnJlc2hDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLm9uQXV0b1JlZnJlc2hDbGljay5lbWl0KCk7XG4gICAgdGhpcy50cmlnZ2VyUmVsb2FkKCk7XG4gIH1cblxuICBwcml2YXRlIHRyaWdnZXJSZWxvYWQoKTogdm9pZCB7XG4gICAgY29uc3QgZWZmZWN0aXZlID0gdGhpcy5hcHBsaWVkRmlsdGVycyA/PyB7fTtcbiAgICB0aGlzLmZpbHRlcmVkUm93cyA9IHRoaXMuZGF0YS5maWx0ZXIociA9PiB0aGlzLnBhc3NGaWx0ZXJzKGVmZmVjdGl2ZSwgcikpO1xuICAgIHRoaXMucGFnZUluZGV4ID0gMDtcbiAgICB0aGlzLmFwcGx5UGFnaW5hdGlvbigpO1xuICAgIHRoaXMub25SZWxvYWQuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEF1dG9SZWZyZXNoKGludGVydmFsTXM6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJBdXRvUmVmcmVzaCgpO1xuICAgIGlmIChpbnRlcnZhbE1zICYmIGludGVydmFsTXMgPiAwKSB7XG4gICAgICB0aGlzLmF1dG9SZWZyZXNoVGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIHRoaXMudHJpZ2dlclJlbG9hZCgpO1xuICAgICAgfSwgaW50ZXJ2YWxNcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckF1dG9SZWZyZXNoKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmF1dG9SZWZyZXNoVGltZXIpIHtcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5hdXRvUmVmcmVzaFRpbWVyKTtcbiAgICAgIHRoaXMuYXV0b1JlZnJlc2hUaW1lciA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyQXV0b1JlZnJlc2goKTtcbiAgfVxuXG4gIG9uUGFnaW5hdGUoZTogeyBwYWdlSW5kZXg6IG51bWJlcjsgcGFnZVNpemU6IG51bWJlciB9KTogdm9pZCB7XG4gICAgdGhpcy5wYWdlSW5kZXggPSBlLnBhZ2VJbmRleDtcbiAgICB0aGlzLnBhZ2VTaXplID0gZS5wYWdlU2l6ZTtcbiAgICBpZiAodGhpcy5zZXJ2ZXJTaWRlUGFnaW5hdGlvbikge1xuICAgICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQoeyBwYWdlSW5kZXg6IHRoaXMucGFnZUluZGV4LCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5hcHBseVBhZ2luYXRpb24oKTtcbiAgfVxuXG4gIG9uUGFnZVNpemVDaGFuZ2Uoc2l6ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5wYWdlU2l6ZSA9IHNpemU7XG4gICAgdGhpcy5wYWdlSW5kZXggPSAwO1xuICAgIGlmICh0aGlzLnNlcnZlclNpZGVQYWdpbmF0aW9uKSB7XG4gICAgICB0aGlzLnBhZ2VDaGFuZ2UuZW1pdCh7IHBhZ2VJbmRleDogdGhpcy5wYWdlSW5kZXgsIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmFwcGx5UGFnaW5hdGlvbigpO1xuICB9XG5cbiAgb25SZW1vdmVDaGlwKGNoaXA6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuY2hpcHMgPSB0aGlzLmNoaXBzLmZpbHRlcihjID0+IGMgIT09IGNoaXApO1xuICAgIHRoaXMuZmlsdGVyQXBwbGllZCA9IHRoaXMuY2hpcHMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIG9uQ2xlYXJBbGxDaGlwcygpOiB2b2lkIHtcbiAgICB0aGlzLmNoaXBzID0gW107XG4gICAgdGhpcy5maWx0ZXJBcHBsaWVkID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5UGFnaW5hdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZXJ2ZXJTaWRlUGFnaW5hdGlvbikge1xuICAgICAgLy8gU2VydmVyIG1vZGU6IHBhcmVudCBzdXBwbGllcyBhbHJlYWR5LXBhZ2luYXRlZCBkYXRhXG4gICAgICB0aGlzLnBhZ2VkUm93cyA9IFsuLi50aGlzLmZpbHRlcmVkUm93c107XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5wYWdlSW5kZXggKiB0aGlzLnBhZ2VTaXplO1xuICAgIGNvbnN0IGVuZCA9IHN0YXJ0ICsgdGhpcy5wYWdlU2l6ZTtcbiAgICB0aGlzLnBhZ2VkUm93cyA9IHRoaXMuZmlsdGVyZWRSb3dzLnNsaWNlKHN0YXJ0LCBlbmQpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBWaXNpYmlsaXR5Q29sdW1ucygpOiBBcnJheTx7IGlkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfT4ge1xuICAgIHJldHVybiAodGhpcy5jb2x1bW5zIHx8IFtdKVxuICAgICAgLmZpbHRlcihjID0+IGMuaXNEZWZhdWx0ID09PSBmYWxzZSlcbiAgICAgIC5tYXAoYyA9PiAoeyBpZDogYy5maWVsZElkLCBsYWJlbDogYy5maWVsZE5hbWUgfHwgYy5maWVsZElkIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplRGF0ZShkOiBhbnkpOiBudW1iZXIgfCBudWxsIHtcbiAgICBpZiAoIWQpIHJldHVybiBudWxsO1xuICAgIGNvbnN0IHRzID0gRGF0ZS5wYXJzZShkKTtcbiAgICByZXR1cm4gaXNOYU4odHMpID8gbnVsbCA6IHRzO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXNzRmlsdGVycyhmaWx0ZXJzOiBhbnksIHJvdzogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKCFmaWx0ZXJzKSByZXR1cm4gdHJ1ZTtcbiAgICBpZiAoZmlsdGVycy5zdGF0dXMgJiYgQXJyYXkuaXNBcnJheShmaWx0ZXJzLnN0YXR1cykgJiYgZmlsdGVycy5zdGF0dXMubGVuZ3RoKSB7XG4gICAgICBpZiAoIWZpbHRlcnMuc3RhdHVzLmluY2x1ZGVzKHJvdy5zdGF0dXMpKSByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChmaWx0ZXJzLnByaW9yaXR5ICYmIEFycmF5LmlzQXJyYXkoZmlsdGVycy5wcmlvcml0eSkgJiYgZmlsdGVycy5wcmlvcml0eS5sZW5ndGgpIHtcbiAgICAgIGlmICghZmlsdGVycy5wcmlvcml0eS5pbmNsdWRlcyhyb3cucHJpb3JpdHlOYW1lKSkgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoZmlsdGVycy50ZXN0VHlwZSAmJiBBcnJheS5pc0FycmF5KGZpbHRlcnMudGVzdFR5cGUpICYmIGZpbHRlcnMudGVzdFR5cGUubGVuZ3RoKSB7XG4gICAgICBpZiAoIWZpbHRlcnMudGVzdFR5cGUuaW5jbHVkZXMocm93LnRlc3RUeXBlKSkgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoZmlsdGVycy5jcmVhdGVkX2RhdGUgJiYgKGZpbHRlcnMuY3JlYXRlZF9kYXRlLnN0YXJ0IHx8IGZpbHRlcnMuY3JlYXRlZF9kYXRlLmVuZCkpIHtcbiAgICAgIGNvbnN0IHN0YXJ0VHMgPSB0aGlzLm5vcm1hbGl6ZURhdGUoZmlsdGVycy5jcmVhdGVkX2RhdGUuc3RhcnQpO1xuICAgICAgY29uc3QgZW5kVHMgPSB0aGlzLm5vcm1hbGl6ZURhdGUoZmlsdGVycy5jcmVhdGVkX2RhdGUuZW5kKTtcbiAgICAgIGNvbnN0IHJvd1RzID0gdGhpcy5ub3JtYWxpemVEYXRlKHJvdy5jcmVhdGVkQXQpO1xuICAgICAgaWYgKHJvd1RzICE9IG51bGwpIHtcbiAgICAgICAgaWYgKHN0YXJ0VHMgIT0gbnVsbCAmJiByb3dUcyA8IHN0YXJ0VHMpIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWYgKGVuZFRzICE9IG51bGwgJiYgcm93VHMgPiBlbmRUcykgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIiwiPGRpdiBpZD1cImNxYS11aS1yb290XCI+XG4gIDxkaXYgY2xhc3M9XCJjcWEtdy1mdWxsIGNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtcmVsYXRpdmVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLXctZnVsbCBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWJldHdlZW4gY3FhLWdhcC0zIGNxYS1mbGV4LXdyYXAgY3FhLW1iLTNcIj5cbiAgICAgIDxjcWEtc2VhcmNoLWJhclxuICAgICAgICAqbmdJZj1cInNob3dTZWFyY2hCYXJcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXJcIlxuICAgICAgICBbdmFsdWVdPVwic2VhcmNoVmFsdWVcIlxuICAgICAgICBbc2hvd0NsZWFyXT1cInNob3dDbGVhclwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJ2YWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKHNlYXJjaCk9XCJzZWFyY2goJGV2ZW50KVwiXG4gICAgICAgIChjbGVhcmVkKT1cImNsZWFyZWQoKVwiXG4gICAgICA+PC9jcWEtc2VhcmNoLWJhcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMiBjcWEtZmxleC13cmFwXCI+XG4gICAgICAgIDxjcWEtYnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJzaG93RmlsdGVyQnV0dG9uXCJcbiAgICAgICAgICB2YXJpYW50PVwiZ3JleS1zb2xpZFwiXG4gICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgW3RleHRdPVwiJ0ZpbHRlcidcIlxuICAgICAgICAgIChjbGlja2VkKT1cInRvZ2dsZUZpbHRlcigpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuPkZpbHRlcjwvc3Bhbj5cbiAgICAgICAgPC9jcWEtYnV0dG9uPlxuICAgICAgICA8Y3FhLWNvbHVtbi12aXNpYmlsaXR5XG4gICAgICAgICAgKm5nSWY9XCJzaG93U2V0dGluZ3NCdXR0b25cIlxuICAgICAgICAgIFtjb2x1bW5zXT1cInZpc2liaWxpdHlDb2x1bW5zXCJcbiAgICAgICAgICBbY29sdW1uVmlzaWJpbGl0eV09XCJjb2x1bW5WaXNpYmlsaXR5XCJcbiAgICAgICAgICBbc2VsZWN0ZWRBdXRvUmVmcmVzaEludGVydmFsXT1cInNlbGVjdGVkQXV0b1JlZnJlc2hJbnRlcnZhbFwiXG4gICAgICAgICAgKGNvbHVtblZpc2liaWxpdHlDaGFuZ2UpPVwib25Db2x1bW5WaXNpYmlsaXR5Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgIChhdXRvUmVmcmVzaENoYW5nZSk9XCJvbkF1dG9SZWZyZXNoQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+PC9jcWEtY29sdW1uLXZpc2liaWxpdHk+XG4gICAgICAgIDxjcWEtYnV0dG9uICpuZ0lmPVwic2hvd0F1dG9SZWZyZXNoQnV0dG9uXCIgdmFyaWFudD1cImdyZXktc29saWRcIiBpY29uPVwicmVmcmVzaFwiIChjbGlja2VkKT1cImhhbmRsZVJlZnJlc2hDbGljaygpXCI+PC9jcWEtYnV0dG9uPlxuICAgICAgICA8Y3FhLWJ1dHRvbiAqbmdJZj1cInNob3dPdGhlckJ1dHRvblwiIFt2YXJpYW50XT1cIm90aGVyQnV0dG9uVmFyaWFudFwiIFt0ZXh0XT1cIm90aGVyQnV0dG9uTGFiZWxcIj48L2NxYS1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxjcWEtc2VsZWN0ZWQtZmlsdGVycyBcbiAgICAgICpuZ0lmPVwic2hvd0ZpbHRlclBhbmVsXCJcbiAgICAgIFtmaWx0ZXJBcHBsaWVkXT1cImZpbHRlckFwcGxpZWRcIlxuICAgICAgW2NoaXBzXT1cImNoaXBzXCJcbiAgICAgIChyZW1vdmVDaGlwKT1cIm9uUmVtb3ZlQ2hpcCgkZXZlbnQpXCJcbiAgICAgIChjbGVhckFsbCk9XCJvbkNsZWFyQWxsQ2hpcHMoKVwiXG4gICAgICAob25DbGVhckFsbCk9XCJvbkNsZWFyQWxsLmVtaXQoKVwiXG4gICAgPlxuICAgIDwvY3FhLXNlbGVjdGVkLWZpbHRlcnM+XG5cbiAgICA8Y3FhLWR5bmFtaWMtZmlsdGVyXG4gICAgICAqbmdJZj1cInNob3dGaWx0ZXJQYW5lbFwiXG4gICAgICBbY29uZmlnXT1cImZpbHRlckNvbmZpZ1wiXG4gICAgICBbc2hvd0ZpbHRlclBhbmVsXT1cInNob3dGaWx0ZXJQYW5lbFwiXG4gICAgICAoZmlsdGVyc0NoYW5nZWQpPVwib25GaWx0ZXJzQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgIChmaWx0ZXJzQXBwbGllZCk9XCJvbkZpbHRlcnNBcHBsaWVkKCRldmVudClcIlxuICAgICAgKG9uQXBwbHlGaWx0ZXJDbGljayk9XCJvbkFwcGx5RmlsdGVyQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgIChvblJlc2V0RmlsdGVyQ2xpY2spPVwiaGFuZGxlUmVzZXRGaWx0ZXJDbGljaygpXCJcbiAgICA+XG4gICAgPC9jcWEtZHluYW1pYy1maWx0ZXI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLXJvdW5kZWQtWzdweF0gY3FhLW92ZXJmbG93LWhpZGRlbiBjcWEtYm9yZGVyLXQgY3FhLWJvcmRlci1sIGNxYS1ib3JkZXItciBjcWEtYm9yZGVyLWdyZXktMjAwIGNxYS1yZWxhdGl2ZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihpc1RhYmxlTG9hZGluZyB8fCBpc1RhYmxlRGF0YUxvYWRpbmcpIHx8ICghaXNFbXB0eVN0YXRlICYmIHBhZ2VkUm93cyAmJiBwYWdlZFJvd3MubGVuZ3RoID4gMCk7IGVsc2Ugc3RvcnlFbXB0eVRwbFwiPlxuICAgICAgICA8YXBwLWR5bmFtaWMtdGFibGVcbiAgICAgICAgICBbY29sdW1uc109XCJjb21wdXRlZENvbHVtbnNcIlxuICAgICAgICAgIFtkYXRhXT1cInBhZ2VkUm93c1wiXG4gICAgICAgICAgW2lzVGFibGVMb2FkaW5nXT1cImlzVGFibGVMb2FkaW5nXCJcbiAgICAgICAgICBbaXNUYWJsZURhdGFMb2FkaW5nXT1cImlzVGFibGVEYXRhTG9hZGluZ1wiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZW1wdHlUYWJsZVRwbD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLXB5LThcIj5cbiAgICAgICAgICAgICAgPGltZyBzcmM9XCIvYXNzZXRzL2lsbHVzdHJhdGlvbnMvZW1wdHktc3RhdGUuc3ZnXCIgYWx0PVwiTm8gZGF0YVwiIGNsYXNzPVwiY3FhLXctMzIgY3FhLWgtMzIgY3FhLW1iLTRcIiAvPlxuICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjcWEtdGV4dC1sZyBjcWEtZm9udC1zZW1pYm9sZCBjcWEtbWItMlwiPk5vIHRlc3QgY2FzZXM8L2gzPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cImNxYS10ZXh0LXNtIGNxYS10ZXh0LW5ldXRyYWwtNTAwIGNxYS1tYi00XCI+VHJ5IGFkanVzdGluZyBmaWx0ZXJzIG9yIGNyZWF0ZSBhIG5ldyB0ZXN0IGNhc2UuPC9wPlxuICAgICAgICAgICAgICA8Y3FhLWJ1dHRvbiB2YXJpYW50PVwiZmlsbGVkXCIgKGNsaWNrZWQpPVwidG9nZ2xlRmlsdGVyKClcIj5TaG93IEZpbHRlcnM8L2NxYS1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2FwcC1keW5hbWljLXRhYmxlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjc3RvcnlFbXB0eVRwbD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1wLTYgY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgICAgPGNxYS1lbXB0eS1zdGF0ZVxuICAgICAgICAgICAgKm5nSWY9XCJpc0VtcHR5U3RhdGVcIlxuICAgICAgICAgICAgW3RpdGxlXT1cImVtcHR5U3RhdGVDb25maWcudGl0bGVcIlxuICAgICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cImVtcHR5U3RhdGVDb25maWcuZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgW2ltYWdlVXJsXT1cImVtcHR5U3RhdGVDb25maWcuaW1hZ2VVcmxcIlxuICAgICAgICAgICAgW2FjdGlvbnNdPVwiZW1wdHlTdGF0ZUNvbmZpZy5hY3Rpb25zXCJcbiAgICAgICAgICAgIChhY3Rpb25DbGljayk9XCJvbkVtcHR5QWN0aW9uKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L2NxYS1lbXB0eS1zdGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPC9kaXY+XG5cbiAgICA8Y3FhLXBhZ2luYXRpb25cbiAgICAgIFt0b3RhbEVsZW1lbnRzXT1cInNlcnZlclNpZGVQYWdpbmF0aW9uID8gdG90YWxFbGVtZW50cyA6IGZpbHRlcmVkUm93cy5sZW5ndGhcIlxuICAgICAgW3BhZ2VJbmRleF09XCJwYWdlSW5kZXhcIlxuICAgICAgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCJcbiAgICAgIFtwYWdlSXRlbUNvdW50XT1cInBhZ2VkUm93cy5sZW5ndGhcIlxuICAgICAgKHBhZ2luYXRlKT1cIm9uUGFnaW5hdGUoJGV2ZW50KVwiXG4gICAgICAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9jcWEtcGFnaW5hdGlvbj5cblxuICAgIDxkaXYgKm5nSWY9XCJhbnlSb3dTZWxlY3RlZFwiIGNsYXNzPVwiY3FhLWFic29sdXRlIGNxYS1ib3R0b20tWzE4Ljc1cHhdIGNxYS1sZWZ0LVs1MCVdIGNxYS10cmFuc2xhdGUteC1bLTUwJV0gY3FhLXctZnVsbCBsZzpjcWEtbWF4LXctWzY4JV0gY3FhLXNtOm1heC13LVs3NSVdIGNxYS1tYXgtdy1bOTAlXSBjcWEtei1bMV1cIiA+XG4gICAgICA8Y3FhLXRhYmxlLWFjdGlvbi10b29sYmFyXG4gICAgICAgIFtzZWxlY3RlZEl0ZW1zXT1cImN1cnJlbnRTZWxlY3RlZEl0ZW1zXCJcbiAgICAgICAgW2FjdGlvbnNdPVwiYWN0aW9uc1wiXG4gICAgICAgIChhY3Rpb25DbGljayk9XCJhY3Rpb25DbGljaygkZXZlbnQpXCJcbiAgICAgID48L2NxYS10YWJsZS1hY3Rpb24tdG9vbGJhcj5cbiAgICA8L2Rpdj5cbiAgICBcbiAgPC9kaXY+XG48L2Rpdj5cblxuIl19
|
|
441
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi90ZW1wbGF0ZXMvdGFibGUtdGVtcGxhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi90ZW1wbGF0ZXMvdGFibGUtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksR0FLYixNQUFNLGVBQWUsQ0FBQztBQU12QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7Ozs7O0FBTzdFLE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFNRSxvQkFBb0I7UUFDWCxzQkFBaUIsR0FBVyxtQkFBbUIsQ0FBQztRQUNoRCxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixjQUFTLEdBQVksSUFBSSxDQUFDO1FBQzFCLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBRXZDLHFCQUFxQjtRQUNYLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV0RCxpQkFBaUI7UUFDUCx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzdDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDOUMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFaEQsZ0JBQWdCO1FBQ1AsaUJBQVksR0FBd0IsRUFBRSxDQUFDO1FBQ3ZDLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLHFCQUFnQixHQUFZLElBQUksQ0FBQztRQUUxQyxxQkFBcUI7UUFDWixxQkFBZ0IsR0FBVyxjQUFjLENBQUM7UUFDMUMsdUJBQWtCLEdBQXlFLFFBQVEsQ0FBQztRQUNwRyxvQkFBZSxHQUFZLElBQUksQ0FBQztRQUV6QyxvREFBb0Q7UUFDM0MscUJBQWdCLEdBQVks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c0JBQXBCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBR0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUdHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFHRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUdHLElBQUk7c0JBQVosS0FBSztnQkFHRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFRRyxPQUFPO3NCQUFmLEtBQUs7Z0JBd0NHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLE9BQU87c0JBQWYsS0FBSztnQkFDRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU07Z0JBRUUsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBV0ksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEeW5hbWljRmlsdGVySXRlbSB9IGZyb20gJy4uL2ZpbHRlcnMvZHluYW1pYy1maWx0ZXIvZHluYW1pYy1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNUYWJsZUNvbHVtbiB9IGZyb20gJy4uL3RhYmxlL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29sdW1uVmlzaWJpbGl0eUNvbmZpZyB9IGZyb20gJy4uL2NvbHVtbi12aXNpYmlsaXR5L2NvbHVtbi12aXNpYmlsaXR5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZUFjdGlvbiB9IGZyb20gJy4uL3RhYmxlLWFjdGlvbi10b29sYmFyL3RhYmxlLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbXB0eVN0YXRlQ29uZmlnIH0gZnJvbSAnLi4vZW1wdHktc3RhdGUvZW1wdHktc3RhdGUtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBFTVBUWV9TVEFURV9JTUFHRVMgfSBmcm9tICcuLi9hc3NldHMvaW1hZ2VzL2ltYWdlLWFzc2V0cy5jb25zdGFudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtdGFibGUtdGVtcGxhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZVRlbXBsYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIC8vIFNlYXJjaCBiYXIgaW5wdXRzXG4gIEBJbnB1dCgpIHNlYXJjaFBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnU2VhcmNoIGNvbXBvbmVudHMnO1xuICBASW5wdXQoKSBzZWFyY2hWYWx1ZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHNob3dDbGVhcjogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHNob3dTZWFyY2hCYXI6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8vIFNlYXJjaCBiYXIgb3V0cHV0c1xuICBAT3V0cHV0KCkgb25TZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvLyBGaWx0ZXIgb3V0cHV0c1xuICBAT3V0cHV0KCkgb25BcHBseUZpbHRlckNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvblJlc2V0RmlsdGVyQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBvbkNsZWFyQWxsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8vIEZpbHRlciBpbnB1dHNcbiAgQElucHV0KCkgZmlsdGVyQ29uZmlnOiBEeW5hbWljRmlsdGVySXRlbVtdID0gW107XG4gIEBJbnB1dCgpIHNob3dGaWx0ZXJQYW5lbDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzaG93RmlsdGVyQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAvLyBPdGhlciBidXR0b24gaW5wdXRcbiAgQElucHV0KCkgb3RoZXJCdXR0b25MYWJlbDogc3RyaW5nID0gJ090aGVyIEJ1dHRvbic7XG4gIEBJbnB1dCgpIG90aGVyQnV0dG9uVmFyaWFudDogJ2ZpbGxlZCcgfCAnb3V0bGluZWQnIHwgJ3RleHQnIHwgJ2VsZXZhdGVkJyB8ICd0b25hbCcgfCAnZ3JleS1zb2xpZCcgPSAnZmlsbGVkJztcbiAgQElucHV0KCkgc2hvd090aGVyQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcbiAgXG4gIC8vIEFjdGlvbiBtZW51IGJ1dHRvbiAodGhyZWUtZG90IG1lbnUgaW4gdGFibGUgcm93cylcbiAgQElucHV0KCkgc2hvd0FjdGlvbkJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgLy8gU2V0dGluZ3MgYW5kIHJlZnJlc2ggYnV0dG9uc1xuICBASW5wdXQoKSBzaG93U2V0dGluZ3NCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBzaG93QXV0b1JlZnJlc2hCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8vIERhdGEgaW5wdXRcbiAgQElucHV0KCkgZGF0YTogYW55W10gPSBbXTtcblxuICAvLyBFbXB0eSBzdGF0ZSBpbnB1dHNcbiAgQElucHV0KCkgaXNFbXB0eVN0YXRlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVtcHR5U3RhdGVDb25maWc6IEVtcHR5U3RhdGVDb25maWcgPSB7XG4gICAgdGl0bGU6ICdObyBEYXRhIEF2YWlsYWJsZSBZZXQnLFxuICAgIGRlc2NyaXB0aW9uOiAnUnVuIG9yIHVwbG9hZCB5b3VyIGZpcnN0IHRlc3QgdG8gc2VlIHlvdXIgYW5hbHl0aWNzIGFuZCB0cmVuZHMgaGVyZS4gV2F0Y2ggeW91ciBxdWFsaXR5IG1ldHJpY3MgY29tZSB0byBsaWZlIHdpdGggcmVhbC10aW1lIGluc2lnaHRzLicsXG4gICAgaW1hZ2VVcmw6IEVNUFRZX1NUQVRFX0lNQUdFUy5EQVNIQk9BUkQsXG4gICAgYWN0aW9uczogW3sgbGFiZWw6ICdSdW4gVGVzdCBTdWl0ZScsIHZhcmlhbnQ6ICdmaWxsZWQnIH1dLFxuICB9O1xuXG4gIC8vIEFjdGlvbiBiYXIgaW5wdXRzXG4gIEBJbnB1dCgpIGFjdGlvbnM6IFRhYmxlQWN0aW9uW10gPSBbXG4gICAgeyBcbiAgICAgIGlkOiAnZGVsZXRlJywgXG4gICAgICBsYWJlbDogJ0RlbGV0ZScsIFxuICAgICAgaWNvbjogJ2RlbGV0ZScsIFxuICAgICAgdG9vbHRpcDogJ0RlbGV0ZSBzZWxlY3RlZCcsXG4gICAgICBvbkNsaWNrOiAoY29udGV4dCkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnRGVsZXRlIGFjdGlvbiBjbGlja2VkOicsIGNvbnRleHQpO1xuICAgICAgfVxuICAgIH0sXG4gICAgeyBcbiAgICAgIGlkOiAnZWRpdCcsIFxuICAgICAgbGFiZWw6ICdFZGl0JywgXG4gICAgICBpY29uOiAnZWRpdCcsIFxuICAgICAgdG9vbHRpcDogJ0VkaXQgc2VsZWN0ZWQnLFxuICAgICAgb25DbGljazogKGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ0VkaXQgYWN0aW9uIGNsaWNrZWQ6JywgY29udGV4dCk7XG4gICAgICB9XG4gICAgfSxcbiAgICB7IFxuICAgICAgaWQ6ICdhZGQtdGFnJywgXG4gICAgICBsYWJlbDogJ0FkZCBUYWcnLCBcbiAgICAgIGljb246ICdsb2NhbF9vZmZlcicsIFxuICAgICAgdG9vbHRpcDogJ0FkZCB0YWdzJyxcbiAgICAgIG9uQ2xpY2s6IChjb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdBZGQgdGFnIGFjdGlvbiBjbGlja2VkOicsIGNvbnRleHQpO1xuICAgICAgfVxuICAgIH0sXG4gICAgeyBcbiAgICAgIGlkOiAncmVtb3ZlLXRhZycsIFxuICAgICAgbGFiZWw6ICdSZW1vdmUgVGFnJywgXG4gICAgICBpY29uOiAnbGFiZWxfb2ZmJywgXG4gICAgICB0b29sdGlwOiAnUmVtb3ZlIHRhZ3MnLFxuICAgICAgb25DbGljazogKGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ1JlbW92ZSB0YWcgYWN0aW9uIGNsaWNrZWQ6JywgY29udGV4dCk7XG4gICAgICB9XG4gICAgfSxcbiAgXTtcblxuICAvLyBDaGlwcyBpbnB1dHNcbiAgQElucHV0KCkgY2hpcHM6IEFycmF5PHsga2V5Pzogc3RyaW5nOyBsYWJlbD86IHN0cmluZzsgdGV4dDogc3RyaW5nOyBmdWxsVGV4dD86IHN0cmluZzsgaGFzTW9yZT86IGJvb2xlYW4gfT4gPSBbXTtcbiAgQElucHV0KCkgZmlsdGVyQXBwbGllZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8vIFRhYmxlIGlucHV0c1xuICBASW5wdXQoKSBjb2x1bW5zOiBEeW5hbWljVGFibGVDb2x1bW5bXSA9IFtdO1xuICBASW5wdXQoKSBzZWxlY3RlZEF1dG9SZWZyZXNoSW50ZXJ2YWw6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIHBhZ2VJbmRleDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgcGFnZVNpemU6IG51bWJlciA9IDEwO1xuICAvLyBTZXJ2ZXItc2lkZSBwYWdpbmF0aW9uIGNvbnRyb2xzXG4gIEBJbnB1dCgpIHNlcnZlclNpZGVQYWdpbmF0aW9uOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRvdGFsRWxlbWVudHM6IG51bWJlciA9IDA7XG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7IHBhZ2VJbmRleDogbnVtYmVyOyBwYWdlU2l6ZTogbnVtYmVyIH0+KCk7XG4gIC8vIExvYWRlciBjb250cm9scyAocGFzc2VkIGRvd24gdG8gZHluYW1pYyB0YWJsZSlcbiAgQElucHV0KCkgaXNUYWJsZUxvYWRpbmc/OiBib29sZWFuO1xuICBASW5wdXQoKSBpc1RhYmxlRGF0YUxvYWRpbmc/OiBib29sZWFuO1xuICAvLyBCYWNrd2FyZC1jb21wYXRpYmlsaXR5IGZsYWc7IGlmIHByb3ZpZGVkLCBkeW5hbWljIHRhYmxlIHdpbGwgdXNlIGl0IHdoZW4gc3BlY2lmaWMgZmxhZ3MgYXJlIHVuZGVmaW5lZFxuXG4gIC8vIEludGVybmFsIHN0YXRlIGZvciBjb2x1bW4gdmlzaWJpbGl0eVxuICBwcml2YXRlIF9jb2x1bW5WaXNpYmlsaXR5OiBDb2x1bW5WaXNpYmlsaXR5Q29uZmlnID0ge307XG4gIHByaXZhdGUgX2NhY2hlZFZpc2liaWxpdHlDb2x1bW5zOiBBcnJheTx7IGlkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfT4gPSBbXTtcbiAgZmlsdGVyZWRSb3dzOiBhbnlbXSA9IFtdO1xuICBwYWdlZFJvd3M6IGFueVtdID0gW107XG4gIHByaXZhdGUgcGVuZGluZ0ZpbHRlcnM6IGFueTtcbiAgcHJpdmF0ZSBhcHBsaWVkRmlsdGVyczogYW55O1xuICBwcml2YXRlIGF1dG9SZWZyZXNoVGltZXI/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD47XG4gIEBPdXRwdXQoKSBvblJlbG9hZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIG9uQXV0b1JlZnJlc2hDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvLyBEZXJpdmVkIGNvbHVtbnMgd2l0aCB2aXNpYmlsaXR5IGFwcGxpZWQuIEF2b2lkIG11dGF0aW5nIEBJbnB1dCgpIGNvbHVtbnMgc28gcGFyZW50IGJpbmRpbmdzIGFyZW4ndCBvdmVycmlkZGVuLlxuICBnZXQgY29tcHV0ZWRDb2x1bW5zKCk6IER5bmFtaWNUYWJsZUNvbHVtbltdIHtcbiAgICBjb25zdCB2aXNpYmlsaXR5ID0gdGhpcy5fY29sdW1uVmlzaWJpbGl0eSB8fCB7fTtcbiAgICBjb25zdCBzb3VyY2UgPSB0aGlzLmNvbHVtbnMgfHwgW107XG4gICAgcmV0dXJuIHNvdXJjZS5tYXAoY29sID0+IHtcbiAgICAgIGlmIChbJ2NoZWNrYm94JywgJ2FjdGlvbnMnXS5pbmNsdWRlcyhjb2wuZmllbGRJZCkpIHtcbiAgICAgICAgcmV0dXJuIGNvbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHNob3cgPSB2aXNpYmlsaXR5W2NvbC5maWVsZElkXTtcbiAgICAgIHJldHVybiB7IC4uLmNvbCwgaXNTaG93OiBzaG93ICE9PSBmYWxzZSB9O1xuICAgIH0pO1xuICB9XG5cbiAgLy8gQXV0by1nZW5lcmF0ZWQgdmlzaWJpbGl0eSBjb2x1bW5zIGZyb20gY29sdW1ucyBpbnB1dCAoZXhjbHVkZXMgZGVmYXVsdCBjb2x1bW5zIGFuZCBjaGVja2JveC9hY3Rpb25zKVxuICAvLyBDYWNoZWQgdG8gYXZvaWQgY3JlYXRpbmcgbmV3IGFycmF5cyBvbiBldmVyeSBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlXG4gIGdldCB2aXNpYmlsaXR5Q29sdW1ucygpOiBBcnJheTx7IGlkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfT4ge1xuICAgIHJldHVybiB0aGlzLl9jYWNoZWRWaXNpYmlsaXR5Q29sdW1ucztcbiAgfVxuXG4gIC8vIEludGVybmFsIGNvbHVtbiB2aXNpYmlsaXR5IHN0YXRlXG4gIGdldCBjb2x1bW5WaXNpYmlsaXR5KCk6IENvbHVtblZpc2liaWxpdHlDb25maWcge1xuICAgIHJldHVybiB0aGlzLl9jb2x1bW5WaXNpYmlsaXR5O1xuICB9XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdGlhbGl6ZUNvbXBvbmVudCgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydkYXRhJ10gfHwgY2hhbmdlc1snaXNFbXB0eVN0YXRlJ10pIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUNvbXBvbmVudCgpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1snY29sdW1ucyddKSB7XG4gICAgICB0aGlzLmluaXRpYWxpemVDb2x1bW5WaXNpYmlsaXR5KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplQ29tcG9uZW50KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRW1wdHlTdGF0ZSkge1xuICAgICAgdGhpcy5maWx0ZXJlZFJvd3MgPSBbXTtcbiAgICAgIHRoaXMucGFnZWRSb3dzID0gW107XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gSW4gc2VydmVyLXNpZGUgbW9kZSwgYXNzdW1lIGluY29taW5nIGRhdGEgaXMgYWxyZWFkeSBhIHBhZ2Ugc2xpY2VcbiAgICBpZiAodGhpcy5zZXJ2ZXJTaWRlUGFnaW5hdGlvbikge1xuICAgICAgdGhpcy5maWx0ZXJlZFJvd3MgPSBbLi4udGhpcy5kYXRhXTtcbiAgICAgIHRoaXMucGFnZWRSb3dzID0gWy4uLnRoaXMuZmlsdGVyZWRSb3dzXTtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUNvbHVtblZpc2liaWxpdHkoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmZpbHRlcmVkUm93cyA9IFsuLi50aGlzLmRhdGFdO1xuICAgIHRoaXMuYXBwbHlQYWdpbmF0aW9uKCk7XG4gICAgdGhpcy5pbml0aWFsaXplQ29sdW1uVmlzaWJpbGl0eSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplQ29sdW1uVmlzaWJpbGl0eSgpOiB2b2lkIHtcbiAgICAvLyBDYWNoZSB2aXNpYmlsaXR5IGNvbHVtbnMgdG8gYXZvaWQgY3JlYXRpbmcgbmV3IGFycmF5cyBvbiBldmVyeSBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAgdGhpcy5fY2FjaGVkVmlzaWJpbGl0eUNvbHVtbnMgPSB0aGlzLm1hcFZpc2liaWxpdHlDb2x1bW5zKCk7XG4gICAgLy8gSW5pdGlhbGl6ZSB2aXNpYmlsaXR5IHN0YXRlIGZvciBhbGwgdmlzaWJpbGl0eSBjb2x1bW5zIChkZWZhdWx0IHRvIHRydWUpXG4gICAgZm9yIChjb25zdCBjb2wgb2YgdGhpcy5fY2FjaGVkVmlzaWJpbGl0eUNvbHVtbnMpIHtcbiAgICAgIGlmICh0aGlzLl9jb2x1bW5WaXNpYmlsaXR5W2NvbC5pZF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9jb2x1bW5WaXNpYmlsaXR5W2NvbC5pZF0gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBhbnlSb3dTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEodGhpcy5wYWdlZFJvd3MgJiYgdGhpcy5wYWdlZFJvd3Muc29tZShyID0+ICEhKHIgYXMgYW55KS5pc1NlbGVjdGVkKSk7XG4gIH1cblxuICBnZXQgY3VycmVudFNlbGVjdGVkSXRlbXMoKTogYW55W10ge1xuICAgIHJldHVybiAodGhpcy5wYWdlZFJvd3MgfHwgW10pLmZpbHRlcihyID0+ICEhKHIgYXMgYW55KS5pc1NlbGVjdGVkKTtcbiAgfVxuXG4gIGFjdGlvbkNsaWNrKGRhdGE6IGFueSkge1xuICAgIGNvbnNvbGUubG9nKCdhY3Rpb24gdG9vbGJhcicsIGRhdGEpO1xuICB9XG5cbiAgdmlldyhpZDogbnVtYmVyIHwgc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coJ1ZpZXcnLCBpZCk7XG4gIH1cblxuICBlZGl0KHJvdzogYW55KTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coJ0VkaXQnLCByb3cpO1xuICB9XG5cbiAgZGVsZXRlKHJvdzogYW55KTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coJ0RlbGV0ZScsIHJvdyk7XG4gIH1cblxuICB0b2dnbGVGaWx0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93RmlsdGVyUGFuZWwgPSAhdGhpcy5zaG93RmlsdGVyUGFuZWw7XG4gIH1cblxuICBvbkNvbHVtblZpc2liaWxpdHlDaGFuZ2UoY2ZnOiBDb2x1bW5WaXNpYmlsaXR5Q29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy5fY29sdW1uVmlzaWJpbGl0eSA9IHsgLi4uY2ZnIH07XG4gICAgLy8gRG8gbm90IG11dGF0ZSB0aGlzLmNvbHVtbnM7IGNvbXB1dGVkQ29sdW1ucyBnZXR0ZXIgd2lsbCByZWZsZWN0IGNoYW5nZXNcbiAgfVxuXG4gIG9uQXV0b1JlZnJlc2hDaGFuZ2UoaW50ZXJ2YWxNczogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEF1dG9SZWZyZXNoSW50ZXJ2YWwgPSBpbnRlcnZhbE1zO1xuICAgIHRoaXMuc2V0dXBBdXRvUmVmcmVzaChpbnRlcnZhbE1zKTtcbiAgICB0aGlzLnRyaWdnZXJSZWxvYWQoKTtcbiAgfVxuXG4gIHZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZygnVmFsdWUgY2hhbmdlZCcsIHZhbHVlKTtcbiAgICB0aGlzLm9uU2VhcmNoQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgc2VhcmNoKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZygnU2VhcmNoJywgdmFsdWUpO1xuICB9XG5cbiAgY2xlYXJlZCgpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZygnQ2xlYXJlZCcpO1xuICB9XG5cbiAgb25FbXB0eUFjdGlvbihhY3Rpb246IGFueSkge1xuICAgIGlmIChhY3Rpb24/LmxhYmVsID09PSAnU2hvdyBmaWx0ZXJzJykge1xuICAgICAgdGhpcy50b2dnbGVGaWx0ZXIoKTtcbiAgICB9XG4gIH1cblxuICBvbkZpbHRlcnNDaGFuZ2VkKGN1cnJlbnQ6IGFueSk6IHZvaWQge1xuICAgIC8vIERlZmVyIGFwcGx5aW5nIGZpbHRlcnMgYW5kIHVwZGF0aW5nIGNoaXBzIHVudGlsIEFwcGx5IEZpbHRlciBpcyBjbGlja2VkXG4gICAgdGhpcy5wZW5kaW5nRmlsdGVycyA9IGN1cnJlbnQ7XG4gIH1cblxuICBvbkZpbHRlcnNBcHBsaWVkKGFwcGxpZWQ6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGVmZmVjdGl2ZSA9IGFwcGxpZWQgPz8gdGhpcy5wZW5kaW5nRmlsdGVycyA/PyB7fTtcbiAgICB0aGlzLmFwcGxpZWRGaWx0ZXJzID0gZWZmZWN0aXZlO1xuICAgIHRoaXMuZmlsdGVyZWRSb3dzID0gdGhpcy5kYXRhLmZpbHRlcihyID0+IHRoaXMucGFzc0ZpbHRlcnMoZWZmZWN0aXZlLCByKSk7XG4gICAgdGhpcy5wYWdlSW5kZXggPSAwO1xuICAgIHRoaXMuYXBwbHlQYWdpbmF0aW9uKCk7XG4gICAgY29uc3QgY2hpcHM6IEFycmF5PHsga2V5Pzogc3RyaW5nOyBsYWJlbD86IHN0cmluZzsgdGV4dDogc3RyaW5nOyBmdWxsVGV4dD86IHN0cmluZzsgaGFzTW9yZT86IGJvb2xlYW4gfT4gPSBbXTtcbiAgICBpZiAoZWZmZWN0aXZlKSB7XG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhlZmZlY3RpdmUpKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gZWZmZWN0aXZlW2tleV07XG4gICAgICAgIGlmICh2YWx1ZSA9PSBudWxsIHx8IHZhbHVlID09PSAnJyB8fCAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID09PSAwKSkgY29udGludWU7XG4gICAgICAgIGxldCB0ZXh0ID0gJyc7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgIHRleHQgPSB2YWx1ZS5tYXAoKHY6IGFueSkgPT4gKHY/Lm5hbWUgPz8gdj8ubGFiZWwgPz8gdj8udmFsdWUgPz8gdikpLmpvaW4oJywgJyk7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIGlmICgnc3RhcnQnIGluIHZhbHVlIHx8ICdlbmQnIGluIHZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCBzID0gdmFsdWUuc3RhcnQgPyBuZXcgRGF0ZSh2YWx1ZS5zdGFydCkudG9Mb2NhbGVEYXRlU3RyaW5nKCkgOiAnJztcbiAgICAgICAgICAgIGNvbnN0IGUgPSB2YWx1ZS5lbmQgPyBuZXcgRGF0ZSh2YWx1ZS5lbmQpLnRvTG9jYWxlRGF0ZVN0cmluZygpIDogJyc7XG4gICAgICAgICAgICB0ZXh0ID0gW3MsIGVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgLSAnKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGV4dCA9ICh2YWx1ZT8ubmFtZSA/PyB2YWx1ZT8ubGFiZWwgPz8gdmFsdWU/LnZhbHVlID8/IEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRleHQgPSBTdHJpbmcodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGNoaXBzLnB1c2goeyBrZXksIHRleHQsIGZ1bGxUZXh0OiB0ZXh0LCBoYXNNb3JlOiB0ZXh0Lmxlbmd0aCA+IDMwIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNoaXBzID0gY2hpcHM7XG4gICAgdGhpcy5maWx0ZXJBcHBsaWVkID0gdGhpcy5jaGlwcy5sZW5ndGggPiAwO1xuICB9XG5cbiAgaGFuZGxlUmVzZXRGaWx0ZXJDbGljaygpOiB2b2lkIHtcbiAgICAvLyBDbGVhciBjaGlwcyBhbmQgcmVzZXQgZmlsdGVyZWQgZGF0YSB3aGVuIHJlc2V0IGlzIGNsaWNrZWRcbiAgICB0aGlzLnBlbmRpbmdGaWx0ZXJzID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuY2hpcHMgPSBbXTtcbiAgICB0aGlzLmZpbHRlckFwcGxpZWQgPSBmYWxzZTtcbiAgICB0aGlzLmZpbHRlcmVkUm93cyA9IFsuLi50aGlzLmRhdGFdO1xuICAgIHRoaXMucGFnZUluZGV4ID0gMDtcbiAgICB0aGlzLmFwcGx5UGFnaW5hdGlvbigpO1xuICAgIHRoaXMub25SZXNldEZpbHRlckNsaWNrLmVtaXQoKTtcbiAgfVxuXG4gIGhhbmRsZVJlZnJlc2hDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLm9uQXV0b1JlZnJlc2hDbGljay5lbWl0KCk7XG4gICAgdGhpcy50cmlnZ2VyUmVsb2FkKCk7XG4gIH1cblxuICBwcml2YXRlIHRyaWdnZXJSZWxvYWQoKTogdm9pZCB7XG4gICAgY29uc3QgZWZmZWN0aXZlID0gdGhpcy5hcHBsaWVkRmlsdGVycyA/PyB7fTtcbiAgICB0aGlzLmZpbHRlcmVkUm93cyA9IHRoaXMuZGF0YS5maWx0ZXIociA9PiB0aGlzLnBhc3NGaWx0ZXJzKGVmZmVjdGl2ZSwgcikpO1xuICAgIHRoaXMucGFnZUluZGV4ID0gMDtcbiAgICB0aGlzLmFwcGx5UGFnaW5hdGlvbigpO1xuICAgIHRoaXMub25SZWxvYWQuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEF1dG9SZWZyZXNoKGludGVydmFsTXM6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJBdXRvUmVmcmVzaCgpO1xuICAgIGlmIChpbnRlcnZhbE1zICYmIGludGVydmFsTXMgPiAwKSB7XG4gICAgICB0aGlzLmF1dG9SZWZyZXNoVGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIHRoaXMudHJpZ2dlclJlbG9hZCgpO1xuICAgICAgfSwgaW50ZXJ2YWxNcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckF1dG9SZWZyZXNoKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmF1dG9SZWZyZXNoVGltZXIpIHtcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5hdXRvUmVmcmVzaFRpbWVyKTtcbiAgICAgIHRoaXMuYXV0b1JlZnJlc2hUaW1lciA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyQXV0b1JlZnJlc2goKTtcbiAgfVxuXG4gIG9uUGFnaW5hdGUoZTogeyBwYWdlSW5kZXg6IG51bWJlcjsgcGFnZVNpemU6IG51bWJlciB9KTogdm9pZCB7XG4gICAgdGhpcy5wYWdlSW5kZXggPSBlLnBhZ2VJbmRleDtcbiAgICB0aGlzLnBhZ2VTaXplID0gZS5wYWdlU2l6ZTtcbiAgICBpZiAodGhpcy5zZXJ2ZXJTaWRlUGFnaW5hdGlvbikge1xuICAgICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQoeyBwYWdlSW5kZXg6IHRoaXMucGFnZUluZGV4LCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5hcHBseVBhZ2luYXRpb24oKTtcbiAgfVxuXG4gIG9uUGFnZVNpemVDaGFuZ2Uoc2l6ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5wYWdlU2l6ZSA9IHNpemU7XG4gICAgdGhpcy5wYWdlSW5kZXggPSAwO1xuICAgIGlmICh0aGlzLnNlcnZlclNpZGVQYWdpbmF0aW9uKSB7XG4gICAgICB0aGlzLnBhZ2VDaGFuZ2UuZW1pdCh7IHBhZ2VJbmRleDogdGhpcy5wYWdlSW5kZXgsIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmFwcGx5UGFnaW5hdGlvbigpO1xuICB9XG5cbiAgb25SZW1vdmVDaGlwKGNoaXA6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuY2hpcHMgPSB0aGlzLmNoaXBzLmZpbHRlcihjID0+IGMgIT09IGNoaXApO1xuICAgIHRoaXMuZmlsdGVyQXBwbGllZCA9IHRoaXMuY2hpcHMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIG9uQ2xlYXJBbGxDaGlwcygpOiB2b2lkIHtcbiAgICB0aGlzLmNoaXBzID0gW107XG4gICAgdGhpcy5maWx0ZXJBcHBsaWVkID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5UGFnaW5hdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZXJ2ZXJTaWRlUGFnaW5hdGlvbikge1xuICAgICAgLy8gU2VydmVyIG1vZGU6IHBhcmVudCBzdXBwbGllcyBhbHJlYWR5LXBhZ2luYXRlZCBkYXRhXG4gICAgICB0aGlzLnBhZ2VkUm93cyA9IFsuLi50aGlzLmZpbHRlcmVkUm93c107XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5wYWdlSW5kZXggKiB0aGlzLnBhZ2VTaXplO1xuICAgIGNvbnN0IGVuZCA9IHN0YXJ0ICsgdGhpcy5wYWdlU2l6ZTtcbiAgICB0aGlzLnBhZ2VkUm93cyA9IHRoaXMuZmlsdGVyZWRSb3dzLnNsaWNlKHN0YXJ0LCBlbmQpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBWaXNpYmlsaXR5Q29sdW1ucygpOiBBcnJheTx7IGlkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfT4ge1xuICAgIHJldHVybiAodGhpcy5jb2x1bW5zIHx8IFtdKVxuICAgICAgLmZpbHRlcihjID0+IGMuaXNEZWZhdWx0ID09PSBmYWxzZSlcbiAgICAgIC5tYXAoYyA9PiAoeyBpZDogYy5maWVsZElkLCBsYWJlbDogYy5maWVsZE5hbWUgfHwgYy5maWVsZElkIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplRGF0ZShkOiBhbnkpOiBudW1iZXIgfCBudWxsIHtcbiAgICBpZiAoIWQpIHJldHVybiBudWxsO1xuICAgIGNvbnN0IHRzID0gRGF0ZS5wYXJzZShkKTtcbiAgICByZXR1cm4gaXNOYU4odHMpID8gbnVsbCA6IHRzO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXNzRmlsdGVycyhmaWx0ZXJzOiBhbnksIHJvdzogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKCFmaWx0ZXJzKSByZXR1cm4gdHJ1ZTtcbiAgICBpZiAoZmlsdGVycy5zdGF0dXMgJiYgQXJyYXkuaXNBcnJheShmaWx0ZXJzLnN0YXR1cykgJiYgZmlsdGVycy5zdGF0dXMubGVuZ3RoKSB7XG4gICAgICBpZiAoIWZpbHRlcnMuc3RhdHVzLmluY2x1ZGVzKHJvdy5zdGF0dXMpKSByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChmaWx0ZXJzLnByaW9yaXR5ICYmIEFycmF5LmlzQXJyYXkoZmlsdGVycy5wcmlvcml0eSkgJiYgZmlsdGVycy5wcmlvcml0eS5sZW5ndGgpIHtcbiAgICAgIGlmICghZmlsdGVycy5wcmlvcml0eS5pbmNsdWRlcyhyb3cucHJpb3JpdHlOYW1lKSkgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoZmlsdGVycy50ZXN0VHlwZSAmJiBBcnJheS5pc0FycmF5KGZpbHRlcnMudGVzdFR5cGUpICYmIGZpbHRlcnMudGVzdFR5cGUubGVuZ3RoKSB7XG4gICAgICBpZiAoIWZpbHRlcnMudGVzdFR5cGUuaW5jbHVkZXMocm93LnRlc3RUeXBlKSkgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoZmlsdGVycy5jcmVhdGVkX2RhdGUgJiYgKGZpbHRlcnMuY3JlYXRlZF9kYXRlLnN0YXJ0IHx8IGZpbHRlcnMuY3JlYXRlZF9kYXRlLmVuZCkpIHtcbiAgICAgIGNvbnN0IHN0YXJ0VHMgPSB0aGlzLm5vcm1hbGl6ZURhdGUoZmlsdGVycy5jcmVhdGVkX2RhdGUuc3RhcnQpO1xuICAgICAgY29uc3QgZW5kVHMgPSB0aGlzLm5vcm1hbGl6ZURhdGUoZmlsdGVycy5jcmVhdGVkX2RhdGUuZW5kKTtcbiAgICAgIGNvbnN0IHJvd1RzID0gdGhpcy5ub3JtYWxpemVEYXRlKHJvdy5jcmVhdGVkQXQpO1xuICAgICAgaWYgKHJvd1RzICE9IG51bGwpIHtcbiAgICAgICAgaWYgKHN0YXJ0VHMgIT0gbnVsbCAmJiByb3dUcyA8IHN0YXJ0VHMpIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWYgKGVuZFRzICE9IG51bGwgJiYgcm93VHMgPiBlbmRUcykgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIiwiPGRpdiBpZD1cImNxYS11aS1yb290XCI+XG4gIDxkaXYgY2xhc3M9XCJjcWEtdy1mdWxsIGNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtcmVsYXRpdmVcIj5cbiAgICA8ZGl2IFtjbGFzc109XCIhc2hvd1NlYXJjaEJhciA/ICdjcWEtanVzdGlmeS1lbmQnIDogJ2NxYS1qdXN0aWZ5LWJldHdlZW4nXCIgY2xhc3M9XCJjcWEtdy1mdWxsIGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0zIGNxYS1mbGV4LXdyYXAgY3FhLW1iLTNcIj5cbiAgICAgIDxjcWEtc2VhcmNoLWJhclxuICAgICAgICAqbmdJZj1cInNob3dTZWFyY2hCYXJcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXJcIlxuICAgICAgICBbdmFsdWVdPVwic2VhcmNoVmFsdWVcIlxuICAgICAgICBbc2hvd0NsZWFyXT1cInNob3dDbGVhclwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJ2YWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKHNlYXJjaCk9XCJzZWFyY2goJGV2ZW50KVwiXG4gICAgICAgIChjbGVhcmVkKT1cImNsZWFyZWQoKVwiXG4gICAgICA+PC9jcWEtc2VhcmNoLWJhcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMiBjcWEtZmxleC13cmFwXCI+XG4gICAgICAgIDxjcWEtYnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJzaG93RmlsdGVyQnV0dG9uXCJcbiAgICAgICAgICB2YXJpYW50PVwiZ3JleS1zb2xpZFwiXG4gICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgW3RleHRdPVwiJ0ZpbHRlcidcIlxuICAgICAgICAgIChjbGlja2VkKT1cInRvZ2dsZUZpbHRlcigpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuPkZpbHRlcjwvc3Bhbj5cbiAgICAgICAgPC9jcWEtYnV0dG9uPlxuICAgICAgICA8Y3FhLWNvbHVtbi12aXNpYmlsaXR5XG4gICAgICAgICAgKm5nSWY9XCJzaG93U2V0dGluZ3NCdXR0b25cIlxuICAgICAgICAgIFtjb2x1bW5zXT1cInZpc2liaWxpdHlDb2x1bW5zXCJcbiAgICAgICAgICBbY29sdW1uVmlzaWJpbGl0eV09XCJjb2x1bW5WaXNpYmlsaXR5XCJcbiAgICAgICAgICBbc2VsZWN0ZWRBdXRvUmVmcmVzaEludGVydmFsXT1cInNlbGVjdGVkQXV0b1JlZnJlc2hJbnRlcnZhbFwiXG4gICAgICAgICAgKGNvbHVtblZpc2liaWxpdHlDaGFuZ2UpPVwib25Db2x1bW5WaXNpYmlsaXR5Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgIChhdXRvUmVmcmVzaENoYW5nZSk9XCJvbkF1dG9SZWZyZXNoQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+PC9jcWEtY29sdW1uLXZpc2liaWxpdHk+XG4gICAgICAgIDxjcWEtYnV0dG9uICpuZ0lmPVwic2hvd0F1dG9SZWZyZXNoQnV0dG9uXCIgdmFyaWFudD1cImdyZXktc29saWRcIiBpY29uPVwicmVmcmVzaFwiIChjbGlja2VkKT1cImhhbmRsZVJlZnJlc2hDbGljaygpXCI+PC9jcWEtYnV0dG9uPlxuICAgICAgICA8Y3FhLWJ1dHRvbiAqbmdJZj1cInNob3dPdGhlckJ1dHRvblwiIFt2YXJpYW50XT1cIm90aGVyQnV0dG9uVmFyaWFudFwiIFt0ZXh0XT1cIm90aGVyQnV0dG9uTGFiZWxcIj48L2NxYS1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxjcWEtc2VsZWN0ZWQtZmlsdGVycyBcbiAgICAgICpuZ0lmPVwic2hvd0ZpbHRlclBhbmVsXCJcbiAgICAgIFtmaWx0ZXJBcHBsaWVkXT1cImZpbHRlckFwcGxpZWRcIlxuICAgICAgW2NoaXBzXT1cImNoaXBzXCJcbiAgICAgIChyZW1vdmVDaGlwKT1cIm9uUmVtb3ZlQ2hpcCgkZXZlbnQpXCJcbiAgICAgIChjbGVhckFsbCk9XCJvbkNsZWFyQWxsQ2hpcHMoKVwiXG4gICAgICAob25DbGVhckFsbCk9XCJvbkNsZWFyQWxsLmVtaXQoKVwiXG4gICAgPlxuICAgIDwvY3FhLXNlbGVjdGVkLWZpbHRlcnM+XG5cbiAgICA8Y3FhLWR5bmFtaWMtZmlsdGVyXG4gICAgICAqbmdJZj1cInNob3dGaWx0ZXJQYW5lbFwiXG4gICAgICBbY29uZmlnXT1cImZpbHRlckNvbmZpZ1wiXG4gICAgICBbc2hvd0ZpbHRlclBhbmVsXT1cInNob3dGaWx0ZXJQYW5lbFwiXG4gICAgICAoZmlsdGVyc0NoYW5nZWQpPVwib25GaWx0ZXJzQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgIChmaWx0ZXJzQXBwbGllZCk9XCJvbkZpbHRlcnNBcHBsaWVkKCRldmVudClcIlxuICAgICAgKG9uQXBwbHlGaWx0ZXJDbGljayk9XCJvbkFwcGx5RmlsdGVyQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgIChvblJlc2V0RmlsdGVyQ2xpY2spPVwiaGFuZGxlUmVzZXRGaWx0ZXJDbGljaygpXCJcbiAgICA+XG4gICAgPC9jcWEtZHluYW1pYy1maWx0ZXI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLXJvdW5kZWQtWzdweF0gY3FhLW92ZXJmbG93LWhpZGRlbiBjcWEtYm9yZGVyLXQgY3FhLWJvcmRlci1sIGNxYS1ib3JkZXItciBjcWEtYm9yZGVyLWdyZXktMjAwIGNxYS1yZWxhdGl2ZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihpc1RhYmxlTG9hZGluZyB8fCBpc1RhYmxlRGF0YUxvYWRpbmcpIHx8ICghaXNFbXB0eVN0YXRlICYmIHBhZ2VkUm93cyAmJiBwYWdlZFJvd3MubGVuZ3RoID4gMCk7IGVsc2Ugc3RvcnlFbXB0eVRwbFwiPlxuICAgICAgICA8YXBwLWR5bmFtaWMtdGFibGVcbiAgICAgICAgICBbY29sdW1uc109XCJjb21wdXRlZENvbHVtbnNcIlxuICAgICAgICAgIFtkYXRhXT1cInBhZ2VkUm93c1wiXG4gICAgICAgICAgW2lzVGFibGVMb2FkaW5nXT1cImlzVGFibGVMb2FkaW5nXCJcbiAgICAgICAgICBbaXNUYWJsZURhdGFMb2FkaW5nXT1cImlzVGFibGVEYXRhTG9hZGluZ1wiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZW1wdHlUYWJsZVRwbD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLXB5LThcIj5cbiAgICAgICAgICAgICAgPGltZyBzcmM9XCIvYXNzZXRzL2lsbHVzdHJhdGlvbnMvZW1wdHktc3RhdGUuc3ZnXCIgYWx0PVwiTm8gZGF0YVwiIGNsYXNzPVwiY3FhLXctMzIgY3FhLWgtMzIgY3FhLW1iLTRcIiAvPlxuICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjcWEtdGV4dC1sZyBjcWEtZm9udC1zZW1pYm9sZCBjcWEtbWItMlwiPk5vIHRlc3QgY2FzZXM8L2gzPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cImNxYS10ZXh0LXNtIGNxYS10ZXh0LW5ldXRyYWwtNTAwIGNxYS1tYi00XCI+VHJ5IGFkanVzdGluZyBmaWx0ZXJzIG9yIGNyZWF0ZSBhIG5ldyB0ZXN0IGNhc2UuPC9wPlxuICAgICAgICAgICAgICA8Y3FhLWJ1dHRvbiB2YXJpYW50PVwiZmlsbGVkXCIgKGNsaWNrZWQpPVwidG9nZ2xlRmlsdGVyKClcIj5TaG93IEZpbHRlcnM8L2NxYS1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2FwcC1keW5hbWljLXRhYmxlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjc3RvcnlFbXB0eVRwbD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1wLTYgY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgICAgPGNxYS1lbXB0eS1zdGF0ZVxuICAgICAgICAgICAgKm5nSWY9XCJpc0VtcHR5U3RhdGVcIlxuICAgICAgICAgICAgW3RpdGxlXT1cImVtcHR5U3RhdGVDb25maWcudGl0bGVcIlxuICAgICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cImVtcHR5U3RhdGVDb25maWcuZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgW2ltYWdlVXJsXT1cImVtcHR5U3RhdGVDb25maWcuaW1hZ2VVcmxcIlxuICAgICAgICAgICAgW2FjdGlvbnNdPVwiZW1wdHlTdGF0ZUNvbmZpZy5hY3Rpb25zXCJcbiAgICAgICAgICAgIChhY3Rpb25DbGljayk9XCJvbkVtcHR5QWN0aW9uKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L2NxYS1lbXB0eS1zdGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPC9kaXY+XG5cbiAgICA8Y3FhLXBhZ2luYXRpb25cbiAgICAgIFt0b3RhbEVsZW1lbnRzXT1cInNlcnZlclNpZGVQYWdpbmF0aW9uID8gdG90YWxFbGVtZW50cyA6IGZpbHRlcmVkUm93cy5sZW5ndGhcIlxuICAgICAgW3BhZ2VJbmRleF09XCJwYWdlSW5kZXhcIlxuICAgICAgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCJcbiAgICAgIFtwYWdlSXRlbUNvdW50XT1cInBhZ2VkUm93cy5sZW5ndGhcIlxuICAgICAgKHBhZ2luYXRlKT1cIm9uUGFnaW5hdGUoJGV2ZW50KVwiXG4gICAgICAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9jcWEtcGFnaW5hdGlvbj5cblxuICAgIDxkaXYgKm5nSWY9XCJhbnlSb3dTZWxlY3RlZFwiIGNsYXNzPVwiY3FhLWFic29sdXRlIGNxYS1ib3R0b20tWzE4Ljc1cHhdIGNxYS1sZWZ0LVs1MCVdIGNxYS10cmFuc2xhdGUteC1bLTUwJV0gY3FhLXctZnVsbCBsZzpjcWEtbWF4LXctWzY4JV0gY3FhLXNtOm1heC13LVs3NSVdIGNxYS1tYXgtdy1bOTAlXSBjcWEtei1bMV1cIiA+XG4gICAgICA8Y3FhLXRhYmxlLWFjdGlvbi10b29sYmFyXG4gICAgICAgIFtzZWxlY3RlZEl0ZW1zXT1cImN1cnJlbnRTZWxlY3RlZEl0ZW1zXCJcbiAgICAgICAgW2FjdGlvbnNdPVwiYWN0aW9uc1wiXG4gICAgICAgIChhY3Rpb25DbGljayk9XCJhY3Rpb25DbGljaygkZXZlbnQpXCJcbiAgICAgID48L2NxYS10YWJsZS1hY3Rpb24tdG9vbGJhcj5cbiAgICA8L2Rpdj5cbiAgICBcbiAgPC9kaXY+XG48L2Rpdj5cblxuIl19
|