@gouvfr-anct/mediation-numerique
Version:
📚 Bibliothèque pour la cartographie de l’offre de médiation numérique.
48 lines • 49 kB
JavaScript
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { ButtonType } from './buttonType.enum';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "@angular/flex-layout/flex";
import * as i3 from "@angular/flex-layout/extended";
import * as i4 from "../svg-icon/svg-icon.component";
export class ButtonComponent {
constructor() {
this.style = ButtonType.Regular;
this.iconType = 'ico';
this.iconPos = 'left';
this.disabled = false;
this.active = false;
this.action = new EventEmitter();
this.buttonTypeEnum = ButtonType;
}
doAction() {
this.action.emit();
}
}
ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: ButtonComponent, selector: "app-button", inputs: { style: "style", text: "text", type: "type", iconType: "iconType", iconBtn: "iconBtn", iconPos: "iconPos", extraClass: "extraClass", disabled: "disabled", active: "active" }, outputs: { action: "action" }, ngImport: i0, template: "<ng-container *ngIf=\"style === buttonTypeEnum.Regular\">\n <button class=\"btn-regular\" type=\"{{ type }}\" (click)=\"doAction()\" [disabled]=\"disabled\">\n <div *ngIf=\"!iconBtn\" class=\"text\">{{ text }}</div>\n <div\n *ngIf=\"iconBtn && iconPos === 'left'\"\n fxLayout=\"row center\"\n class=\"text withIcon left\"\n fxLayoutAlign=\"space-around center\">\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n <span>{{ text }}</span>\n </div>\n <div\n *ngIf=\"iconBtn && iconPos === 'right'\"\n fxLayout=\"row center\"\n class=\"text withIcon right\"\n fxLayoutAlign=\"space-around center\">\n <span>{{ text }}</span>\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n </div>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"style === buttonTypeEnum.searchIcon\">\n <button class=\"searchIcon\" type=\"{{ type }}\" (click)=\"doAction()\">\n <div fxLayout=\"row center\" class=\"searchIcon withIcon\" fxLayoutAlign=\"space-between center\">\n <app-svg-icon [type]=\"'ico'\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\" [iconClass]=\"'icon-30'\"></app-svg-icon>\n </div>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"style === buttonTypeEnum.Primary\">\n <button class=\"btn-regular primary\" type=\"{{ type }}\" (click)=\"doAction()\" [disabled]=\"disabled\" [ngClass]=\"extraClass\">\n <div *ngIf=\"!iconBtn\" class=\"text\">{{ text }}</div>\n <div\n *ngIf=\"iconBtn && iconPos === 'left'\"\n fxLayout=\"row center\"\n class=\"text withIcon left\"\n fxLayoutAlign=\"space-around center\">\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n <span [ngClass]=\"extraClass\">{{ text }}</span>\n </div>\n <div\n *ngIf=\"iconBtn && iconPos === 'right'\"\n fxLayout=\"row center\"\n class=\"text withIcon right\"\n fxLayoutAlign=\"space-around center\">\n <span [ngClass]=\"extraClass\">{{ text }}</span>\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n </div>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"style === buttonTypeEnum.modalPrimary\">\n <button class=\"btn-regular modal-primary\" type=\"{{ type }}\" (click)=\"doAction()\" [disabled]=\"disabled\">\n <div *ngIf=\"!iconBtn\" class=\"text\">{{ text }}</div>\n <div *ngIf=\"iconBtn && iconPos === 'left'\" fxLayout=\"row center\" class=\"text\" fxLayoutAlign=\"space-around center\">\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n <span>{{ text }}</span>\n </div>\n <div *ngIf=\"iconBtn && iconPos === 'right'\" fxLayout=\"row center\" class=\"text\" fxLayoutAlign=\"space-around center\">\n <span>{{ text }}</span>\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n </div>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"style === buttonTypeEnum.modalSecondary\">\n <button\n class=\"btn-regular modal-secondary\"\n type=\"{{ type }}\"\n (click)=\"doAction()\"\n [disabled]=\"disabled\"\n [ngClass]=\"{ disabled: disabled }\">\n <div *ngIf=\"!iconBtn\" class=\"text\">{{ text }}</div>\n <div *ngIf=\"iconBtn && iconPos === 'left'\" fxLayout=\"row center\" class=\"text\" fxLayoutAlign=\"space-around center\">\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n <span>{{ text }}</span>\n </div>\n <div *ngIf=\"iconBtn && iconPos === 'right'\" fxLayout=\"row center\" class=\"text\" fxLayoutAlign=\"space-around center\">\n <span>{{ text }}</span>\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n </div>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"style === buttonTypeEnum.Secondary || style === buttonTypeEnum.SecondaryWide\">\n <button\n [ngClass]=\"{\n 'btn-regular secondary': true,\n wide: style === buttonTypeEnum.SecondaryWide\n }\"\n type=\"{{ type }}\"\n (click)=\"doAction()\"\n [disabled]=\"disabled\">\n <div *ngIf=\"!iconBtn\" [ngClass]=\"extraClass\" class=\"text\">{{ text }}</div>\n <div\n *ngIf=\"iconBtn && iconPos === 'left'\"\n fxLayout=\"row center\"\n class=\"text withIcon left\"\n fxLayoutAlign=\"space-around center\">\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n <span>{{ text }}</span>\n </div>\n <div\n *ngIf=\"iconBtn && iconPos === 'right'\"\n fxLayout=\"row center\"\n class=\"text withIcon right\"\n fxLayoutAlign=\"space-around center\">\n <span>{{ text }}</span>\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n </div>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"style === buttonTypeEnum.SecondaryUltraWide\">\n <button class=\"btn-regular secondary ultrawide\" type=\"{{ type }}\" (click)=\"doAction()\" [disabled]=\"disabled\">\n <div *ngIf=\"!iconBtn\" [ngClass]=\"extraClass\" class=\"text\">{{ text }}</div>\n <div *ngIf=\"iconBtn && iconPos === 'left'\" fxLayout=\"row center\" class=\"text withIcon left\" fxLayoutAlign=\"center center\">\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n <span>{{ text }}</span>\n </div>\n <div *ngIf=\"iconBtn && iconPos === 'right'\" fxLayout=\"row center\" class=\"text withIcon right\" fxLayoutAlign=\"center center\">\n <span>{{ text }}</span>\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n </div>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"style === buttonTypeEnum.SecondaryOnlyIcon\">\n <button class=\"btn-regular secondary\" type=\"{{ type }}\" (click)=\"doAction()\" [disabled]=\"disabled\">\n <div *ngIf=\"iconBtn\" fxLayout=\"row center\" class=\"text withIcon center\" fxLayoutAlign=\"space-around center\">\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n </div>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"style === buttonTypeEnum.ButtonPhone\">\n <button [disabled]=\"disabled\" class=\"btn-switch-phone\" type=\"{{ type }}\" (click)=\"doAction()\">\n <div *ngIf=\"!iconBtn\" class=\"text\">{{ text }}</div>\n <div *ngIf=\"iconBtn\" fxLayout=\"row center\" class=\"text withIcon\" fxLayoutAlign=\"space-around center\" fxLayoutGap=\"13px\">\n <app-svg-icon\n class=\"iconBtn\"\n [type]=\"'ico'\"\n [iconClass]=\"'icon-32'\"\n [icon]=\"iconBtn\"\n [iconColor]=\"'currentColor'\"></app-svg-icon>\n {{ text }}\n </div>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"style === buttonTypeEnum.Filter\">\n <button\n [disabled]=\"disabled\"\n class=\"btn-filter-phone\"\n type=\"{{ type }}\"\n (click)=\"doAction()\"\n [ngClass]=\"{ disabled: disabled }\">\n <div *ngIf=\"!iconBtn\" class=\"text\">{{ text }}</div>\n <div *ngIf=\"iconBtn\" fxLayout=\"row center\" class=\"text withIcon\" fxLayoutAlign=\"space-around center\" fxLayoutGap=\"13px\">\n <app-svg-icon [type]=\"'ico'\" [iconClass]=\"'icon-32'\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n {{ text }}\n </div>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"style === buttonTypeEnum.Tertiary\">\n <button class=\"btn-regular tertiary\" type=\"{{ type }}\" (click)=\"doAction()\" [disabled]=\"disabled\" [ngClass]=\"extraClass\">\n <div>{{ text }}</div>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"style === buttonTypeEnum.CheckButton\">\n <button\n class=\"btn-regular tertiary checkButton\"\n type=\"{{ type }}\"\n (click)=\"doAction()\"\n [disabled]=\"disabled\"\n [ngClass]=\"extraClass\">\n <div fxLayout=\"row center\" fxLayoutAlign=\"space-around center\" fxLayoutGap=\"13px\">\n <app-svg-icon\n *ngIf=\"extraClass\"\n [type]=\"'ico'\"\n [icon]=\"'validate'\"\n [iconClass]=\"'icon-28'\"\n [iconColor]=\"'currentColor'\"></app-svg-icon>\n {{ text }}\n </div>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"style === buttonTypeEnum.IconOnly\">\n <button\n class=\"btn-regular icon-only\"\n type=\"{{ type }}\"\n (click)=\"doAction()\"\n [disabled]=\"disabled\"\n [ngClass]=\"{ active: active }\">\n <div *ngIf=\"iconBtn\" class=\"text withIcon\">\n <app-svg-icon\n *ngIf=\"iconBtn\"\n [type]=\"iconType\"\n [icon]=\"iconBtn\"\n [iconColor]=\"\"\n [iconClass]=\"'icon-28'\"\n [iconColor]=\"active ? 'green' : 'currentColor'\"></app-svg-icon>\n </div>\n </button>\n</ng-container>\n<ng-container *ngIf=\"style === buttonTypeEnum.TagCloudButton\">\n <button class=\"btn-tags-cloud\" fxLayout=\"row\" (click)=\"doAction()\">\n <span>{{ text }}</span>\n <app-svg-icon [type]=\"'ico'\" [iconClass]=\"'icon-centered'\" [icon]=\"'tagDelete'\" [iconColor]=\"'white'\"></app-svg-icon>\n </button>\n</ng-container>\n", styles: ["html,body,p,span,label,h1,h2,h3,h4,h5,h6,.card-header-text,.welcome-message,.user-name,.profile-user-name,.project-name,.annuaire-label,.event_title,.objective_title{font-family:Lato,Helvetica,sans-serif}button{outline:none;border-radius:4px;cursor:pointer;border:1px solid;padding:0}.searchIcon{background:transparent;border:none}.searchIcon>svg{width:30px;height:30px}.btnSearch{background:#4f4f4f!important;border-color:#bdbdbd;padding:0 0 4px 4px}.btnSearch .body-wrap{background-color:#fff}.btn-regular{background:#f8f8f8;border-radius:5px 5px 4px;border:0}.btn-regular div:first-child{width:125px}.btn-regular:hover{background:#333333!important;padding:0}.btn-regular:hover .body-wrap{background-color:#fff}.btn-regular:focus{border-color:#da3635}.btn-regular:active{background:none;border-color:#f8f8f8}.btn-regular .searchButton{background:#e9e9e9}.btn-regular.primary{border:0;font-family:Lato,Helvetica,sans-serif;font-style:normal;font-weight:700;font-size:.813em;line-height:18px}.btn-regular.primary .text{background:#da3635;border:1px solid #333333;line-height:15px;color:#fff}.btn-regular.primary .text.withIcon{color:#fff}.btn-regular.modal-primary{border:none;width:100%;font-family:Lato,Helvetica,sans-serif;font-style:normal;font-weight:700;font-size:.813em;line-height:18px}.btn-regular.modal-primary .text{display:flex;align-items:center;justify-content:center;background:#da3635;text-align:center;margin:auto;color:#fff;width:auto}.btn-regular.modal-primary .text.withIcon{color:#fff}.btn-regular.modal-secondary{border:none;width:100%;font-family:Lato,Helvetica,sans-serif;font-style:normal;font-weight:400;font-size:.813em;line-height:19px}.btn-regular.modal-secondary .text{display:flex;align-items:center;justify-content:center;text-align:center;margin:auto;color:#333;width:auto}.btn-regular.modal-secondary .text.withIcon{color:#333}.btn-regular.secondary{border:0;background:white;font-family:Lato,Helvetica,sans-serif;font-style:normal;font-weight:400;font-size:.813em;line-height:19px}.btn-regular.secondary div:first-child{width:unset}.btn-regular.secondary .text{background:white;border:1px solid #333333;color:#333;font-size:14px}.btn-regular.secondary .text.withIcon{color:#333}.btn-regular.secondary.wide div:first-child{min-width:50px;width:184px}.btn-regular.secondary.ultrawide div:first-child{min-width:50px;width:400px}@media only screen and (max-width : 980px){.btn-regular.secondary.ultrawide div:first-child{width:200px}}.btn-regular.secondary.ultrawide div:first-child span{padding-inline:4px}.btn-regular.secondary .small-text{height:22px!important}.btn-regular.tertiary{border:1px solid transparent;background:#f4f4f4;height:36px;color:#000;padding:0 16px;border-radius:20px;min-width:50px;font-family:Lato,Helvetica,sans-serif;font-style:normal;font-weight:400;font-size:.813em;line-height:19px}.btn-regular.tertiary div:first-child{min-width:50px;width:unset}.btn-regular.tertiary:hover{border:1px solid #bdbdbd;box-sizing:border-box;background:#f4f4f4!important}.btn-regular.tertiary.selected{background-color:#47c562!important;color:#fff!important}.btn-regular.tertiary.selected:hover{background-color:#47c562!important}.btn-regular.tertiary.checkButton{padding:0 14px;font-weight:700}.btn-regular.tertiary.checkButton div:first-child{padding:0 14px}.btn-regular.tertiary.checkButton.selected{padding:unset}.btn-regular.icon-only div:first-child{width:unset}.btn-regular.icon-only.active .text{border-color:#47c562}.btn-regular.icon-only.active:hover{background:unset!important}.btn-regular .text{position:relative;top:-1px;right:-1px;border:1px solid #333333;background:white;height:31px;color:#333;padding:3px 15px;display:table-cell;vertical-align:middle;border-radius:4px;font-size:14px}.btn-regular .text.withIcon{color:#000;height:36px}.btn-regular .text.withIcon.left{padding-left:8px!important}.btn-regular .text.withIcon.right{padding-right:8px!important}.btn-regular .text.withIcon.center{padding-left:6px!important;padding-right:6px!important}.btn-switch-phone{background:#000000;height:40px;width:124px;color:#fff;padding:4px 28px;border-radius:20px}.btn-switch-phone .iconBtn{margin-right:6px}.btn-filter-phone{background:white;height:40px;color:#333;padding:4px 37px;border-color:#bdbdbd;font-family:Lato,Helvetica,sans-serif;font-style:normal;font-weight:400;font-size:1em;line-height:19px}.btn-filter-phone.containCheckedFilters{border-color:#da3635}.fullButton{width:125px!important}.fullWidth{width:100%!important}.bigButton{width:280px!important}.bigButton .text{width:inherit!important}.btn-tags-cloud{-webkit-appearance:none;appearance:none;font-family:Lato,Helvetica,sans-serif;font-style:normal;font-weight:400;font-size:.75em;justify-content:center;align-items:center;box-sizing:border-box;height:25px;border-radius:20px;padding:5px 10px 5px 15px;max-width:150px;color:#f8f8f8;border-style:none;margin-top:5px;background:#333333;text-overflow:ellipsis}.btn-tags-cloud span{text-overflow:ellipsis;max-width:130px;overflow:hidden;display:inline-block;white-space:nowrap}.btn-tags-cloud.unchecked{background:#333333}button:disabled{opacity:.4;cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i3.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i4.SvgIconComponent, selector: "app-svg-icon", inputs: ["icon", "iconClass", "type", "iconColor", "title"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ButtonComponent, decorators: [{
type: Component,
args: [{ selector: 'app-button', template: "<ng-container *ngIf=\"style === buttonTypeEnum.Regular\">\n <button class=\"btn-regular\" type=\"{{ type }}\" (click)=\"doAction()\" [disabled]=\"disabled\">\n <div *ngIf=\"!iconBtn\" class=\"text\">{{ text }}</div>\n <div\n *ngIf=\"iconBtn && iconPos === 'left'\"\n fxLayout=\"row center\"\n class=\"text withIcon left\"\n fxLayoutAlign=\"space-around center\">\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n <span>{{ text }}</span>\n </div>\n <div\n *ngIf=\"iconBtn && iconPos === 'right'\"\n fxLayout=\"row center\"\n class=\"text withIcon right\"\n fxLayoutAlign=\"space-around center\">\n <span>{{ text }}</span>\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n </div>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"style === buttonTypeEnum.searchIcon\">\n <button class=\"searchIcon\" type=\"{{ type }}\" (click)=\"doAction()\">\n <div fxLayout=\"row center\" class=\"searchIcon withIcon\" fxLayoutAlign=\"space-between center\">\n <app-svg-icon [type]=\"'ico'\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\" [iconClass]=\"'icon-30'\"></app-svg-icon>\n </div>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"style === buttonTypeEnum.Primary\">\n <button class=\"btn-regular primary\" type=\"{{ type }}\" (click)=\"doAction()\" [disabled]=\"disabled\" [ngClass]=\"extraClass\">\n <div *ngIf=\"!iconBtn\" class=\"text\">{{ text }}</div>\n <div\n *ngIf=\"iconBtn && iconPos === 'left'\"\n fxLayout=\"row center\"\n class=\"text withIcon left\"\n fxLayoutAlign=\"space-around center\">\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n <span [ngClass]=\"extraClass\">{{ text }}</span>\n </div>\n <div\n *ngIf=\"iconBtn && iconPos === 'right'\"\n fxLayout=\"row center\"\n class=\"text withIcon right\"\n fxLayoutAlign=\"space-around center\">\n <span [ngClass]=\"extraClass\">{{ text }}</span>\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n </div>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"style === buttonTypeEnum.modalPrimary\">\n <button class=\"btn-regular modal-primary\" type=\"{{ type }}\" (click)=\"doAction()\" [disabled]=\"disabled\">\n <div *ngIf=\"!iconBtn\" class=\"text\">{{ text }}</div>\n <div *ngIf=\"iconBtn && iconPos === 'left'\" fxLayout=\"row center\" class=\"text\" fxLayoutAlign=\"space-around center\">\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n <span>{{ text }}</span>\n </div>\n <div *ngIf=\"iconBtn && iconPos === 'right'\" fxLayout=\"row center\" class=\"text\" fxLayoutAlign=\"space-around center\">\n <span>{{ text }}</span>\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n </div>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"style === buttonTypeEnum.modalSecondary\">\n <button\n class=\"btn-regular modal-secondary\"\n type=\"{{ type }}\"\n (click)=\"doAction()\"\n [disabled]=\"disabled\"\n [ngClass]=\"{ disabled: disabled }\">\n <div *ngIf=\"!iconBtn\" class=\"text\">{{ text }}</div>\n <div *ngIf=\"iconBtn && iconPos === 'left'\" fxLayout=\"row center\" class=\"text\" fxLayoutAlign=\"space-around center\">\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n <span>{{ text }}</span>\n </div>\n <div *ngIf=\"iconBtn && iconPos === 'right'\" fxLayout=\"row center\" class=\"text\" fxLayoutAlign=\"space-around center\">\n <span>{{ text }}</span>\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n </div>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"style === buttonTypeEnum.Secondary || style === buttonTypeEnum.SecondaryWide\">\n <button\n [ngClass]=\"{\n 'btn-regular secondary': true,\n wide: style === buttonTypeEnum.SecondaryWide\n }\"\n type=\"{{ type }}\"\n (click)=\"doAction()\"\n [disabled]=\"disabled\">\n <div *ngIf=\"!iconBtn\" [ngClass]=\"extraClass\" class=\"text\">{{ text }}</div>\n <div\n *ngIf=\"iconBtn && iconPos === 'left'\"\n fxLayout=\"row center\"\n class=\"text withIcon left\"\n fxLayoutAlign=\"space-around center\">\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n <span>{{ text }}</span>\n </div>\n <div\n *ngIf=\"iconBtn && iconPos === 'right'\"\n fxLayout=\"row center\"\n class=\"text withIcon right\"\n fxLayoutAlign=\"space-around center\">\n <span>{{ text }}</span>\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n </div>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"style === buttonTypeEnum.SecondaryUltraWide\">\n <button class=\"btn-regular secondary ultrawide\" type=\"{{ type }}\" (click)=\"doAction()\" [disabled]=\"disabled\">\n <div *ngIf=\"!iconBtn\" [ngClass]=\"extraClass\" class=\"text\">{{ text }}</div>\n <div *ngIf=\"iconBtn && iconPos === 'left'\" fxLayout=\"row center\" class=\"text withIcon left\" fxLayoutAlign=\"center center\">\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n <span>{{ text }}</span>\n </div>\n <div *ngIf=\"iconBtn && iconPos === 'right'\" fxLayout=\"row center\" class=\"text withIcon right\" fxLayoutAlign=\"center center\">\n <span>{{ text }}</span>\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n </div>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"style === buttonTypeEnum.SecondaryOnlyIcon\">\n <button class=\"btn-regular secondary\" type=\"{{ type }}\" (click)=\"doAction()\" [disabled]=\"disabled\">\n <div *ngIf=\"iconBtn\" fxLayout=\"row center\" class=\"text withIcon center\" fxLayoutAlign=\"space-around center\">\n <app-svg-icon [type]=\"iconType\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n </div>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"style === buttonTypeEnum.ButtonPhone\">\n <button [disabled]=\"disabled\" class=\"btn-switch-phone\" type=\"{{ type }}\" (click)=\"doAction()\">\n <div *ngIf=\"!iconBtn\" class=\"text\">{{ text }}</div>\n <div *ngIf=\"iconBtn\" fxLayout=\"row center\" class=\"text withIcon\" fxLayoutAlign=\"space-around center\" fxLayoutGap=\"13px\">\n <app-svg-icon\n class=\"iconBtn\"\n [type]=\"'ico'\"\n [iconClass]=\"'icon-32'\"\n [icon]=\"iconBtn\"\n [iconColor]=\"'currentColor'\"></app-svg-icon>\n {{ text }}\n </div>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"style === buttonTypeEnum.Filter\">\n <button\n [disabled]=\"disabled\"\n class=\"btn-filter-phone\"\n type=\"{{ type }}\"\n (click)=\"doAction()\"\n [ngClass]=\"{ disabled: disabled }\">\n <div *ngIf=\"!iconBtn\" class=\"text\">{{ text }}</div>\n <div *ngIf=\"iconBtn\" fxLayout=\"row center\" class=\"text withIcon\" fxLayoutAlign=\"space-around center\" fxLayoutGap=\"13px\">\n <app-svg-icon [type]=\"'ico'\" [iconClass]=\"'icon-32'\" [icon]=\"iconBtn\" [iconColor]=\"'currentColor'\"></app-svg-icon>\n {{ text }}\n </div>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"style === buttonTypeEnum.Tertiary\">\n <button class=\"btn-regular tertiary\" type=\"{{ type }}\" (click)=\"doAction()\" [disabled]=\"disabled\" [ngClass]=\"extraClass\">\n <div>{{ text }}</div>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"style === buttonTypeEnum.CheckButton\">\n <button\n class=\"btn-regular tertiary checkButton\"\n type=\"{{ type }}\"\n (click)=\"doAction()\"\n [disabled]=\"disabled\"\n [ngClass]=\"extraClass\">\n <div fxLayout=\"row center\" fxLayoutAlign=\"space-around center\" fxLayoutGap=\"13px\">\n <app-svg-icon\n *ngIf=\"extraClass\"\n [type]=\"'ico'\"\n [icon]=\"'validate'\"\n [iconClass]=\"'icon-28'\"\n [iconColor]=\"'currentColor'\"></app-svg-icon>\n {{ text }}\n </div>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"style === buttonTypeEnum.IconOnly\">\n <button\n class=\"btn-regular icon-only\"\n type=\"{{ type }}\"\n (click)=\"doAction()\"\n [disabled]=\"disabled\"\n [ngClass]=\"{ active: active }\">\n <div *ngIf=\"iconBtn\" class=\"text withIcon\">\n <app-svg-icon\n *ngIf=\"iconBtn\"\n [type]=\"iconType\"\n [icon]=\"iconBtn\"\n [iconColor]=\"\"\n [iconClass]=\"'icon-28'\"\n [iconColor]=\"active ? 'green' : 'currentColor'\"></app-svg-icon>\n </div>\n </button>\n</ng-container>\n<ng-container *ngIf=\"style === buttonTypeEnum.TagCloudButton\">\n <button class=\"btn-tags-cloud\" fxLayout=\"row\" (click)=\"doAction()\">\n <span>{{ text }}</span>\n <app-svg-icon [type]=\"'ico'\" [iconClass]=\"'icon-centered'\" [icon]=\"'tagDelete'\" [iconColor]=\"'white'\"></app-svg-icon>\n </button>\n</ng-container>\n", styles: ["html,body,p,span,label,h1,h2,h3,h4,h5,h6,.card-header-text,.welcome-message,.user-name,.profile-user-name,.project-name,.annuaire-label,.event_title,.objective_title{font-family:Lato,Helvetica,sans-serif}button{outline:none;border-radius:4px;cursor:pointer;border:1px solid;padding:0}.searchIcon{background:transparent;border:none}.searchIcon>svg{width:30px;height:30px}.btnSearch{background:#4f4f4f!important;border-color:#bdbdbd;padding:0 0 4px 4px}.btnSearch .body-wrap{background-color:#fff}.btn-regular{background:#f8f8f8;border-radius:5px 5px 4px;border:0}.btn-regular div:first-child{width:125px}.btn-regular:hover{background:#333333!important;padding:0}.btn-regular:hover .body-wrap{background-color:#fff}.btn-regular:focus{border-color:#da3635}.btn-regular:active{background:none;border-color:#f8f8f8}.btn-regular .searchButton{background:#e9e9e9}.btn-regular.primary{border:0;font-family:Lato,Helvetica,sans-serif;font-style:normal;font-weight:700;font-size:.813em;line-height:18px}.btn-regular.primary .text{background:#da3635;border:1px solid #333333;line-height:15px;color:#fff}.btn-regular.primary .text.withIcon{color:#fff}.btn-regular.modal-primary{border:none;width:100%;font-family:Lato,Helvetica,sans-serif;font-style:normal;font-weight:700;font-size:.813em;line-height:18px}.btn-regular.modal-primary .text{display:flex;align-items:center;justify-content:center;background:#da3635;text-align:center;margin:auto;color:#fff;width:auto}.btn-regular.modal-primary .text.withIcon{color:#fff}.btn-regular.modal-secondary{border:none;width:100%;font-family:Lato,Helvetica,sans-serif;font-style:normal;font-weight:400;font-size:.813em;line-height:19px}.btn-regular.modal-secondary .text{display:flex;align-items:center;justify-content:center;text-align:center;margin:auto;color:#333;width:auto}.btn-regular.modal-secondary .text.withIcon{color:#333}.btn-regular.secondary{border:0;background:white;font-family:Lato,Helvetica,sans-serif;font-style:normal;font-weight:400;font-size:.813em;line-height:19px}.btn-regular.secondary div:first-child{width:unset}.btn-regular.secondary .text{background:white;border:1px solid #333333;color:#333;font-size:14px}.btn-regular.secondary .text.withIcon{color:#333}.btn-regular.secondary.wide div:first-child{min-width:50px;width:184px}.btn-regular.secondary.ultrawide div:first-child{min-width:50px;width:400px}@media only screen and (max-width : 980px){.btn-regular.secondary.ultrawide div:first-child{width:200px}}.btn-regular.secondary.ultrawide div:first-child span{padding-inline:4px}.btn-regular.secondary .small-text{height:22px!important}.btn-regular.tertiary{border:1px solid transparent;background:#f4f4f4;height:36px;color:#000;padding:0 16px;border-radius:20px;min-width:50px;font-family:Lato,Helvetica,sans-serif;font-style:normal;font-weight:400;font-size:.813em;line-height:19px}.btn-regular.tertiary div:first-child{min-width:50px;width:unset}.btn-regular.tertiary:hover{border:1px solid #bdbdbd;box-sizing:border-box;background:#f4f4f4!important}.btn-regular.tertiary.selected{background-color:#47c562!important;color:#fff!important}.btn-regular.tertiary.selected:hover{background-color:#47c562!important}.btn-regular.tertiary.checkButton{padding:0 14px;font-weight:700}.btn-regular.tertiary.checkButton div:first-child{padding:0 14px}.btn-regular.tertiary.checkButton.selected{padding:unset}.btn-regular.icon-only div:first-child{width:unset}.btn-regular.icon-only.active .text{border-color:#47c562}.btn-regular.icon-only.active:hover{background:unset!important}.btn-regular .text{position:relative;top:-1px;right:-1px;border:1px solid #333333;background:white;height:31px;color:#333;padding:3px 15px;display:table-cell;vertical-align:middle;border-radius:4px;font-size:14px}.btn-regular .text.withIcon{color:#000;height:36px}.btn-regular .text.withIcon.left{padding-left:8px!important}.btn-regular .text.withIcon.right{padding-right:8px!important}.btn-regular .text.withIcon.center{padding-left:6px!important;padding-right:6px!important}.btn-switch-phone{background:#000000;height:40px;width:124px;color:#fff;padding:4px 28px;border-radius:20px}.btn-switch-phone .iconBtn{margin-right:6px}.btn-filter-phone{background:white;height:40px;color:#333;padding:4px 37px;border-color:#bdbdbd;font-family:Lato,Helvetica,sans-serif;font-style:normal;font-weight:400;font-size:1em;line-height:19px}.btn-filter-phone.containCheckedFilters{border-color:#da3635}.fullButton{width:125px!important}.fullWidth{width:100%!important}.bigButton{width:280px!important}.bigButton .text{width:inherit!important}.btn-tags-cloud{-webkit-appearance:none;appearance:none;font-family:Lato,Helvetica,sans-serif;font-style:normal;font-weight:400;font-size:.75em;justify-content:center;align-items:center;box-sizing:border-box;height:25px;border-radius:20px;padding:5px 10px 5px 15px;max-width:150px;color:#f8f8f8;border-style:none;margin-top:5px;background:#333333;text-overflow:ellipsis}.btn-tags-cloud span{text-overflow:ellipsis;max-width:130px;overflow:hidden;display:inline-block;white-space:nowrap}.btn-tags-cloud.unchecked{background:#333333}button:disabled{opacity:.4;cursor:not-allowed}\n"] }]
}], propDecorators: { style: [{
type: Input
}], text: [{
type: Input
}], type: [{
type: Input
}], iconType: [{
type: Input
}], iconBtn: [{
type: Input
}], iconPos: [{
type: Input
}], extraClass: [{
type: Input
}], disabled: [{
type: Input
}], active: [{
type: Input
}], action: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL0Bnb3V2ZnItYW5jdC9tZWRpYXRpb24tbnVtZXJpcXVlL3NoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9AZ291dmZyLWFuY3QvbWVkaWF0aW9uLW51bWVyaXF1ZS9zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7OztBQU8vQyxNQUFNLE9BQU8sZUFBZTtJQUw1QjtRQU1rQixVQUFLLEdBQWUsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUd2QyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLFlBQU8sR0FBRyxNQUFNLENBQUM7UUFFakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2QsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdEMsbUJBQWMsR0FBRyxVQUFVLENBQUM7S0FLcEM7SUFIUSxRQUFRO1FBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDOzs0R0FoQlUsZUFBZTtnR0FBZixlQUFlLHlRQ1I1Qiw0clNBdU5BOzJGRC9NYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFlBQVk7OEJBS04sS0FBSztzQkFBcEIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1csTUFBTTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCdXR0b25UeXBlIH0gZnJvbSAnLi9idXR0b25UeXBlLmVudW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBzdHlsZTogQnV0dG9uVHlwZSA9IEJ1dHRvblR5cGUuUmVndWxhcjtcbiAgQElucHV0KCkgcHVibGljIHRleHQ6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIHR5cGU6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGljb25UeXBlID0gJ2ljbyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpY29uQnRuOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpY29uUG9zID0gJ2xlZnQnO1xuICBASW5wdXQoKSBwdWJsaWMgZXh0cmFDbGFzczogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGFjdGl2ZSA9IGZhbHNlO1xuICBAT3V0cHV0KCkgcHVibGljIGFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgYnV0dG9uVHlwZUVudW0gPSBCdXR0b25UeXBlO1xuXG4gIHB1YmxpYyBkb0FjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGlvbi5lbWl0KCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzdHlsZSA9PT0gYnV0dG9uVHlwZUVudW0uUmVndWxhclwiPlxuICA8YnV0dG9uIGNsYXNzPVwiYnRuLXJlZ3VsYXJcIiB0eXBlPVwie3sgdHlwZSB9fVwiIChjbGljayk9XCJkb0FjdGlvbigpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgPGRpdiAqbmdJZj1cIiFpY29uQnRuXCIgY2xhc3M9XCJ0ZXh0XCI+e3sgdGV4dCB9fTwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiaWNvbkJ0biAmJiBpY29uUG9zID09PSAnbGVmdCdcIlxuICAgICAgZnhMYXlvdXQ9XCJyb3cgY2VudGVyXCJcbiAgICAgIGNsYXNzPVwidGV4dCB3aXRoSWNvbiBsZWZ0XCJcbiAgICAgIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1hcm91bmQgY2VudGVyXCI+XG4gICAgICA8YXBwLXN2Zy1pY29uIFt0eXBlXT1cImljb25UeXBlXCIgW2ljb25dPVwiaWNvbkJ0blwiIFtpY29uQ29sb3JdPVwiJ2N1cnJlbnRDb2xvcidcIj48L2FwcC1zdmctaWNvbj5cbiAgICAgIDxzcGFuPnt7IHRleHQgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJpY29uQnRuICYmIGljb25Qb3MgPT09ICdyaWdodCdcIlxuICAgICAgZnhMYXlvdXQ9XCJyb3cgY2VudGVyXCJcbiAgICAgIGNsYXNzPVwidGV4dCB3aXRoSWNvbiByaWdodFwiXG4gICAgICBmeExheW91dEFsaWduPVwic3BhY2UtYXJvdW5kIGNlbnRlclwiPlxuICAgICAgPHNwYW4+e3sgdGV4dCB9fTwvc3Bhbj5cbiAgICAgIDxhcHAtc3ZnLWljb24gW3R5cGVdPVwiaWNvblR5cGVcIiBbaWNvbl09XCJpY29uQnRuXCIgW2ljb25Db2xvcl09XCInY3VycmVudENvbG9yJ1wiPjwvYXBwLXN2Zy1pY29uPlxuICAgIDwvZGl2PlxuICA8L2J1dHRvbj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwic3R5bGUgPT09IGJ1dHRvblR5cGVFbnVtLnNlYXJjaEljb25cIj5cbiAgPGJ1dHRvbiBjbGFzcz1cInNlYXJjaEljb25cIiB0eXBlPVwie3sgdHlwZSB9fVwiIChjbGljayk9XCJkb0FjdGlvbigpXCI+XG4gICAgPGRpdiBmeExheW91dD1cInJvdyBjZW50ZXJcIiBjbGFzcz1cInNlYXJjaEljb24gd2l0aEljb25cIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBjZW50ZXJcIj5cbiAgICAgIDxhcHAtc3ZnLWljb24gW3R5cGVdPVwiJ2ljbydcIiBbaWNvbl09XCJpY29uQnRuXCIgW2ljb25Db2xvcl09XCInY3VycmVudENvbG9yJ1wiIFtpY29uQ2xhc3NdPVwiJ2ljb24tMzAnXCI+PC9hcHAtc3ZnLWljb24+XG4gICAgPC9kaXY+XG4gIDwvYnV0dG9uPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJzdHlsZSA9PT0gYnV0dG9uVHlwZUVudW0uUHJpbWFyeVwiPlxuICA8YnV0dG9uIGNsYXNzPVwiYnRuLXJlZ3VsYXIgcHJpbWFyeVwiIHR5cGU9XCJ7eyB0eXBlIH19XCIgKGNsaWNrKT1cImRvQWN0aW9uKClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbbmdDbGFzc109XCJleHRyYUNsYXNzXCI+XG4gICAgPGRpdiAqbmdJZj1cIiFpY29uQnRuXCIgY2xhc3M9XCJ0ZXh0XCI+e3sgdGV4dCB9fTwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiaWNvbkJ0biAmJiBpY29uUG9zID09PSAnbGVmdCdcIlxuICAgICAgZnhMYXlvdXQ9XCJyb3cgY2VudGVyXCJcbiAgICAgIGNsYXNzPVwidGV4dCB3aXRoSWNvbiBsZWZ0XCJcbiAgICAgIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1hcm91bmQgY2VudGVyXCI+XG4gICAgICA8YXBwLXN2Zy1pY29uIFt0eXBlXT1cImljb25UeXBlXCIgW2ljb25dPVwiaWNvbkJ0blwiIFtpY29uQ29sb3JdPVwiJ2N1cnJlbnRDb2xvcidcIj48L2FwcC1zdmctaWNvbj5cbiAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cImV4dHJhQ2xhc3NcIj57eyB0ZXh0IH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiaWNvbkJ0biAmJiBpY29uUG9zID09PSAncmlnaHQnXCJcbiAgICAgIGZ4TGF5b3V0PVwicm93IGNlbnRlclwiXG4gICAgICBjbGFzcz1cInRleHQgd2l0aEljb24gcmlnaHRcIlxuICAgICAgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWFyb3VuZCBjZW50ZXJcIj5cbiAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cImV4dHJhQ2xhc3NcIj57eyB0ZXh0IH19PC9zcGFuPlxuICAgICAgPGFwcC1zdmctaWNvbiBbdHlwZV09XCJpY29uVHlwZVwiIFtpY29uXT1cImljb25CdG5cIiBbaWNvbkNvbG9yXT1cIidjdXJyZW50Q29sb3InXCI+PC9hcHAtc3ZnLWljb24+XG4gICAgPC9kaXY+XG4gIDwvYnV0dG9uPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJzdHlsZSA9PT0gYnV0dG9uVHlwZUVudW0ubW9kYWxQcmltYXJ5XCI+XG4gIDxidXR0b24gY2xhc3M9XCJidG4tcmVndWxhciBtb2RhbC1wcmltYXJ5XCIgdHlwZT1cInt7IHR5cGUgfX1cIiAoY2xpY2spPVwiZG9BY3Rpb24oKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgIDxkaXYgKm5nSWY9XCIhaWNvbkJ0blwiIGNsYXNzPVwidGV4dFwiPnt7IHRleHQgfX08L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiaWNvbkJ0biAmJiBpY29uUG9zID09PSAnbGVmdCdcIiBmeExheW91dD1cInJvdyBjZW50ZXJcIiBjbGFzcz1cInRleHRcIiBmeExheW91dEFsaWduPVwic3BhY2UtYXJvdW5kIGNlbnRlclwiPlxuICAgICAgPGFwcC1zdmctaWNvbiBbdHlwZV09XCJpY29uVHlwZVwiIFtpY29uXT1cImljb25CdG5cIiBbaWNvbkNvbG9yXT1cIidjdXJyZW50Q29sb3InXCI+PC9hcHAtc3ZnLWljb24+XG4gICAgICA8c3Bhbj57eyB0ZXh0IH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJpY29uQnRuICYmIGljb25Qb3MgPT09ICdyaWdodCdcIiBmeExheW91dD1cInJvdyBjZW50ZXJcIiBjbGFzcz1cInRleHRcIiBmeExheW91dEFsaWduPVwic3BhY2UtYXJvdW5kIGNlbnRlclwiPlxuICAgICAgPHNwYW4+e3sgdGV4dCB9fTwvc3Bhbj5cbiAgICAgIDxhcHAtc3ZnLWljb24gW3R5cGVdPVwiaWNvblR5cGVcIiBbaWNvbl09XCJpY29uQnRuXCIgW2ljb25Db2xvcl09XCInY3VycmVudENvbG9yJ1wiPjwvYXBwLXN2Zy1pY29uPlxuICAgIDwvZGl2PlxuICA8L2J1dHRvbj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwic3R5bGUgPT09IGJ1dHRvblR5cGVFbnVtLm1vZGFsU2Vjb25kYXJ5XCI+XG4gIDxidXR0b25cbiAgICBjbGFzcz1cImJ0bi1yZWd1bGFyIG1vZGFsLXNlY29uZGFyeVwiXG4gICAgdHlwZT1cInt7IHR5cGUgfX1cIlxuICAgIChjbGljayk9XCJkb0FjdGlvbigpXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGRpc2FibGVkIH1cIj5cbiAgICA8ZGl2ICpuZ0lmPVwiIWljb25CdG5cIiBjbGFzcz1cInRleHRcIj57eyB0ZXh0IH19PC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImljb25CdG4gJiYgaWNvblBvcyA9PT0gJ2xlZnQnXCIgZnhMYXlvdXQ9XCJyb3cgY2VudGVyXCIgY2xhc3M9XCJ0ZXh0XCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWFyb3VuZCBjZW50ZXJcIj5cbiAgICAgIDxhcHAtc3ZnLWljb24gW3R5cGVdPVwiaWNvblR5cGVcIiBbaWNvbl09XCJpY29uQnRuXCIgW2ljb25Db2xvcl09XCInY3VycmVudENvbG9yJ1wiPjwvYXBwLXN2Zy1pY29uPlxuICAgICAgPHNwYW4+e3sgdGV4dCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiaWNvbkJ0biAmJiBpY29uUG9zID09PSAncmlnaHQnXCIgZnhMYXlvdXQ9XCJyb3cgY2VudGVyXCIgY2xhc3M9XCJ0ZXh0XCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWFyb3VuZCBjZW50ZXJcIj5cbiAgICAgIDxzcGFuPnt7IHRleHQgfX08L3NwYW4+XG4gICAgICA8YXBwLXN2Zy1pY29uIFt0eXBlXT1cImljb25UeXBlXCIgW2ljb25dPVwiaWNvbkJ0blwiIFtpY29uQ29sb3JdPVwiJ2N1cnJlbnRDb2xvcidcIj48L2FwcC1zdmctaWNvbj5cbiAgICA8L2Rpdj5cbiAgPC9idXR0b24+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0eWxlID09PSBidXR0b25UeXBlRW51bS5TZWNvbmRhcnkgfHwgc3R5bGUgPT09IGJ1dHRvblR5cGVFbnVtLlNlY29uZGFyeVdpZGVcIj5cbiAgPGJ1dHRvblxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdidG4tcmVndWxhciBzZWNvbmRhcnknOiB0cnVlLFxuICAgICAgd2lkZTogc3R5bGUgPT09IGJ1dHRvblR5cGVFbnVtLlNlY29uZGFyeVdpZGVcbiAgICB9XCJcbiAgICB0eXBlPVwie3sgdHlwZSB9fVwiXG4gICAgKGNsaWNrKT1cImRvQWN0aW9uKClcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgIDxkaXYgKm5nSWY9XCIhaWNvbkJ0blwiIFtuZ0NsYXNzXT1cImV4dHJhQ2xhc3NcIiBjbGFzcz1cInRleHRcIj57eyB0ZXh0IH19PC9kaXY+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJpY29uQnRuICYmIGljb25Qb3MgPT09ICdsZWZ0J1wiXG4gICAgICBmeExheW91dD1cInJvdyBjZW50ZXJcIlxuICAgICAgY2xhc3M9XCJ0ZXh0IHdpdGhJY29uIGxlZnRcIlxuICAgICAgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWFyb3VuZCBjZW50ZXJcIj5cbiAgICAgIDxhcHAtc3ZnLWljb24gW3R5cGVdPVwiaWNvblR5cGVcIiBbaWNvbl09XCJpY29uQnRuXCIgW2ljb25Db2xvcl09XCInY3VycmVudENvbG9yJ1wiPjwvYXBwLXN2Zy1pY29uPlxuICAgICAgPHNwYW4+e3sgdGV4dCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImljb25CdG4gJiYgaWNvblBvcyA9PT0gJ3JpZ2h0J1wiXG4gICAgICBmeExheW91dD1cInJvdyBjZW50ZXJcIlxuICAgICAgY2xhc3M9XCJ0ZXh0IHdpdGhJY29uIHJpZ2h0XCJcbiAgICAgIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1hcm91bmQgY2VudGVyXCI+XG4gICAgICA8c3Bhbj57eyB0ZXh0IH19PC9zcGFuPlxuICAgICAgPGFwcC1zdmctaWNvbiBbdHlwZV09XCJpY29uVHlwZVwiIFtpY29uXT1cImljb25CdG5cIiBbaWNvbkNvbG9yXT1cIidjdXJyZW50Q29sb3InXCI+PC9hcHAtc3ZnLWljb24+XG4gICAgPC9kaXY+XG4gIDwvYnV0dG9uPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJzdHlsZSA9PT0gYnV0dG9uVHlwZUVudW0uU2Vjb25kYXJ5VWx0cmFXaWRlXCI+XG4gIDxidXR0b24gY2xhc3M9XCJidG4tcmVndWxhciBzZWNvbmRhcnkgdWx0cmF3aWRlXCIgdHlwZT1cInt7IHR5cGUgfX1cIiAoY2xpY2spPVwiZG9BY3Rpb24oKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgIDxkaXYgKm5nSWY9XCIhaWNvbkJ0blwiIFtuZ0NsYXNzXT1cImV4dHJhQ2xhc3NcIiBjbGFzcz1cInRleHRcIj57eyB0ZXh0IH19PC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImljb25CdG4gJiYgaWNvblBvcyA9PT0gJ2xlZnQnXCIgZnhMYXlvdXQ9XCJyb3cgY2VudGVyXCIgY2xhc3M9XCJ0ZXh0IHdpdGhJY29uIGxlZnRcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICAgICAgPGFwcC1zdmctaWNvbiBbdHlwZV09XCJpY29uVHlwZVwiIFtpY29uXT1cImljb25CdG5cIiBbaWNvbkNvbG9yXT1cIidjdXJyZW50Q29sb3InXCI+PC9hcHAtc3ZnLWljb24+XG4gICAgICA8c3Bhbj57eyB0ZXh0IH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJpY29uQnRuICYmIGljb25Qb3MgPT09ICdyaWdodCdcIiBmeExheW91dD1cInJvdyBjZW50ZXJcIiBjbGFzcz1cInRleHQgd2l0aEljb24gcmlnaHRcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICAgICAgPHNwYW4+e3sgdGV4dCB9fTwvc3Bhbj5cbiAgICAgIDxhcHAtc3ZnLWljb24gW3R5cGVdPVwiaWNvblR5cGVcIiBbaWNvbl09XCJpY29uQnRuXCIgW2ljb25Db2xvcl09XCInY3VycmVudENvbG9yJ1wiPjwvYXBwLXN2Zy1pY29uPlxuICAgIDwvZGl2PlxuICA8L2J1dHRvbj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwic3R5bGUgPT09IGJ1dHRvblR5cGVFbnVtLlNlY29uZGFyeU9ubHlJY29uXCI+XG4gIDxidXR0b24gY2xhc3M9XCJidG4tcmVndWxhciBzZWNvbmRhcnlcIiB0eXBlPVwie3sgdHlwZSB9fVwiIChjbGljayk9XCJkb0FjdGlvbigpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgPGRpdiAqbmdJZj1cImljb25CdG5cIiBmeExheW91dD1cInJvdyBjZW50ZXJcIiBjbGFzcz1cInRleHQgd2l0aEljb24gY2VudGVyXCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWFyb3VuZCBjZW50ZXJcIj5cbiAgICAgIDxhcHAtc3ZnLWljb24gW3R5cGVdPVwiaWNvblR5cGVcIiBbaWNvbl09XCJpY29uQnRuXCIgW2ljb25Db2xvcl09XCInY3VycmVudENvbG9yJ1wiPjwvYXBwLXN2Zy1pY29uPlxuICAgIDwvZGl2PlxuICA8L2J1dHRvbj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwic3R5bGUgPT09IGJ1dHRvblR5cGVFbnVtLkJ1dHRvblBob25lXCI+XG4gIDxidXR0b24gW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgY2xhc3M9XCJidG4tc3dpdGNoLXBob25lXCIgdHlwZT1cInt7IHR5cGUgfX1cIiAoY2xpY2spPVwiZG9BY3Rpb24oKVwiPlxuICAgIDxkaXYgKm5nSWY9XCIhaWNvbkJ0blwiIGNsYXNzPVwidGV4dFwiPnt7IHRleHQgfX08L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiaWNvbkJ0blwiIGZ4TGF5b3V0PVwicm93IGNlbnRlclwiIGNsYXNzPVwidGV4dCB3aXRoSWNvblwiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1hcm91bmQgY2VudGVyXCIgZnhMYXlvdXRHYXA9XCIxM3B4XCI+XG4gICAgICA8YXBwLXN2Zy1pY29uXG4gICAgICAgIGNsYXNzPVwiaWNvbkJ0blwiXG4gICAgICAgIFt0eXBlXT1cIidpY28nXCJcbiAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi0zMidcIlxuICAgICAgICBbaWNvbl09XCJpY29uQnRuXCJcbiAgICAgICAgW2ljb25Db2xvcl09XCInY3VycmVudENvbG9yJ1wiPjwvYXBwLXN2Zy1pY29uPlxuICAgICAge3sgdGV4dCB9fVxuICAgIDwvZGl2PlxuICA8L2J1dHRvbj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwic3R5bGUgPT09IGJ1dHRvblR5cGVFbnVtLkZpbHRlclwiPlxuICA8YnV0dG9uXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBjbGFzcz1cImJ0bi1maWx0ZXItcGhvbmVcIlxuICAgIHR5cGU9XCJ7eyB0eXBlIH19XCJcbiAgICAoY2xpY2spPVwiZG9BY3Rpb24oKVwiXG4gICAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogZGlzYWJsZWQgfVwiPlxuICAgIDxkaXYgKm5nSWY9XCIhaWNvbkJ0blwiIGNsYXNzPVwidGV4dFwiPnt7IHRleHQgfX08L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiaWNvbkJ0blwiIGZ4TGF5b3V0PVwicm93IGNlbnRlclwiIGNsYXNzPVwidGV4dCB3aXRoSWNvblwiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1hcm91bmQgY2VudGVyXCIgZnhMYXlvdXRHYXA9XCIxM3B4XCI+XG4gICAgICA8YXBwLXN2Zy1pY29uIFt0eXBlXT1cIidpY28nXCIgW2ljb25DbGFzc109XCInaWNvbi0zMidcIiBbaWNvbl09XCJpY29uQnRuXCIgW2ljb25Db2xvcl09XCInY3VycmVudENvbG9yJ1wiPjwvYXBwLXN2Zy1pY29uPlxuICAgICAge3sgdGV4dCB9fVxuICAgIDwvZGl2PlxuICA8L2J1dHRvbj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwic3R5bGUgPT09IGJ1dHRvblR5cGVFbnVtLlRlcnRpYXJ5XCI+XG4gIDxidXR0b24gY2xhc3M9XCJidG4tcmVndWxhciB0ZXJ0aWFyeVwiIHR5cGU9XCJ7eyB0eXBlIH19XCIgKGNsaWNrKT1cImRvQWN0aW9uKClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbbmdDbGFzc109XCJleHRyYUNsYXNzXCI+XG4gICAgPGRpdj57eyB0ZXh0IH19PC9kaXY+XG4gIDwvYnV0dG9uPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJzdHlsZSA9PT0gYnV0dG9uVHlwZUVudW0uQ2hlY2tCdXR0b25cIj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnRuLXJlZ3VsYXIgdGVydGlhcnkgY2hlY2tCdXR0b25cIlxuICAgIHR5cGU9XCJ7eyB0eXBlIH19XCJcbiAgICAoY2xpY2spPVwiZG9BY3Rpb24oKVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbbmdDbGFzc109XCJleHRyYUNsYXNzXCI+XG4gICAgPGRpdiBmeExheW91dD1cInJvdyBjZW50ZXJcIiBmeExheW91dEFsaWduPVwic3BhY2UtYXJvdW5kIGNlbnRlclwiIGZ4TGF5b3V0R2FwPVwiMTNweFwiPlxuICAgICAgPGFwcC1zdmctaWNvblxuICAgICAgICAqbmdJZj1cImV4dHJhQ2xhc3NcIlxuICAgICAgICBbdHlwZV09XCInaWNvJ1wiXG4gICAgICAgIFtpY29uXT1cIid2YWxpZGF0ZSdcIlxuICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLTI4J1wiXG4gICAgICAgIFtpY29uQ29sb3JdPVwiJ2N1cnJlbnRDb2xvcidcIj48L2FwcC1zdmctaWNvbj5cbiAgICAgIHt7IHRleHQgfX1cbiAgICA8L2Rpdj5cbiAgPC9idXR0b24+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0eWxlID09PSBidXR0b25UeXBlRW51bS5JY29uT25seVwiPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJidG4tcmVndWxhciBpY29uLW9ubHlcIlxuICAgIHR5cGU9XCJ7eyB0eXBlIH19XCJcbiAgICAoY2xpY2spPVwiZG9BY3Rpb24oKVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogYWN0aXZlIH1cIj5cbiAgICA8ZGl2ICpuZ0lmPVwiaWNvbkJ0blwiIGNsYXNzPVwidGV4dCB3aXRoSWNvblwiPlxuICAgICAgPGFwcC1zdmctaWNvblxuICAgICAgICAqbmdJZj1cImljb25CdG5cIlxuICAgICAgICBbdHlwZV09XCJpY29uVHlwZVwiXG4gICAgICAgIFtpY29uXT1cImljb25CdG5cIlxuICAgICAgICBbaWNvbkNvbG9yXT1cIlwiXG4gICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tMjgnXCJcbiAgICAgICAgW2ljb25Db2xvcl09XCJhY3RpdmUgPyAnZ3JlZW4nIDogJ2N1cnJlbnRDb2xvcidcIj48L2FwcC1zdmctaWNvbj5cbiAgICA8L2Rpdj5cbiAgPC9idXR0b24+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJzdHlsZSA9PT0gYnV0dG9uVHlwZUVudW0uVGFnQ2xvdWRCdXR0b25cIj5cbiAgPGJ1dHRvbiBjbGFzcz1cImJ0bi10YWdzLWNsb3VkXCIgZnhMYXlvdXQ9XCJyb3dcIiAoY2xpY2spPVwiZG9BY3Rpb24oKVwiPlxuICAgIDxzcGFuPnt7IHRleHQgfX08L3NwYW4+XG4gICAgPGFwcC1zdmctaWNvbiBbdHlwZV09XCInaWNvJ1wiIFtpY29uQ2xhc3NdPVwiJ2ljb24tY2VudGVyZWQnXCIgW2ljb25dPVwiJ3RhZ0RlbGV0ZSdcIiBbaWNvbkNvbG9yXT1cIid3aGl0ZSdcIj48L2FwcC1zdmctaWNvbj5cbiAgPC9idXR0b24+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==