sidesys-generic-ui 0.0.11 → 0.0.13

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.
@@ -45,10 +45,10 @@ export class SCardComponent {
45
45
  }
46
46
  }
47
47
  SCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: SCardComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
48
- SCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: SCardComponent, selector: "s-card", inputs: { title: "title", subtitle: "subtitle", menu: "menu", check: "check", showHorizontal: "showHorizontal", image: "image", fullimage: "fullimage", icon: "icon", size: "size", label: "label", style: "style" }, outputs: { clickEvent: "clickEvent", checkEvent: "checkEvent" }, ngImport: i0, template: "<div class=\"card {{size}}\" attr.style=\"{{style}}\">\r\n <div *ngIf=\"!showHorizontal && check\" class=\"card-check\">\r\n <s-checkbox class=\"card-check-component\" [value]=\"check.value\" [model]=\"check.model\" [disable]=\"check.disable\"\r\n [isUndefined]=\"check.undefined\" (emitSelection)=\"onCheckEvent($event)\"></s-checkbox>\r\n </div>\r\n <div *ngIf=\"!showHorizontal && image\" class=\"card-img\">\r\n <img [src]=\"localImage\" class=\"card-image\" alt=\"card-image\" [ngClass]=\"{'full-image': fullimage}\">\r\n </div>\r\n <div *ngIf=\"!showHorizontal && !image && icon\" class=\"card-icon\">\r\n <s-icon-mat [style]=\"'font-size: 150px;'\">{{icon}}</s-icon-mat>\r\n </div>\r\n <div class=\"card-title\" [ngClass]=\"{'card-title-horizontal': showHorizontal}\">\r\n <div class=\"card-check-horizontal\" *ngIf=\"showHorizontal && check\">\r\n <s-checkbox *ngIf=\"showHorizontal && check\" [value]=\"check.value\" [model]=\"check.model\"\r\n [disable]=\"check.disable\" [isUndefined]=\"check.undefined\" (emitSelection)=\"onCheckEvent($event)\"></s-checkbox>\r\n </div>\r\n <h6 *ngIf=\"title\">{{title}}</h6>\r\n <span *ngIf=\"!showHorizontal && subtitle\" class=\"s-caption\">{{subtitle}}</span>\r\n <div *ngIf=\"buttons && buttons.length > 0\" class=\"card-title-menu-section\">\r\n <s-icon-mat class=\"card-title-menu\" *ngIf=\"menu\" (click)=\"showDropDown()\">more_vert</s-icon-mat>\r\n <s-drop-down [display]=\"showDropDownCard\" [right]=\"true\" [buttons]=\"buttons\"\r\n (buttonClick)=\"onClickEvent($event)\">\r\n </s-drop-down>\r\n </div>\r\n <ng-content *ngIf=\"!showHorizontal\"></ng-content>\r\n <s-tag *ngIf=\"label\" type=\"success\">{{label}}</s-tag>\r\n </div>\r\n</div>", styles: [".card{color:var(--secondary-700);min-width:0;word-wrap:break-word;background-color:var(--neutrals-1200);border-radius:.25rem;display:inline-block;box-shadow:0 0 20px #0000001a}.card.sm{width:calc(25% - 5px)}.card.md{width:calc(50% - 5px)}.card.lg{width:calc(75% - 5px)}.card.full{width:calc(100% - 5px)}.card-check{position:relative}.card-check-component{position:absolute;top:10px;left:10px}.card-check-horizontal{display:inline-block;display:flex;flex-direction:column;justify-content:center;padding:5px 20px 0 0}.card-img,.card-icon{line-height:0;text-align:center;border-radius:.25rem .25rem 0 0}.card-image{max-width:100%;height:200px;border-radius:.25rem .25rem 0 0}.full-image{width:100%}.card-title{padding:16px;position:relative;display:flex;flex-direction:column;background-clip:border-box}.card-title-horizontal{flex-direction:row}.card-title-menu-section{position:absolute;right:16px}.card-title-menu{cursor:pointer}\n"], components: [{ type: i2.SCheckboxComponent, selector: "s-checkbox", inputs: ["value", "model", "disable", "isUndefined", "label"], outputs: ["emitSelection"] }, { type: i3.SIconMaterialComponent, selector: "s-icon-mat", inputs: ["size", "color", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { type: i4.SDropDownComponent, selector: "s-drop-down", inputs: ["display", "buttons", "right"], outputs: ["buttonClick"] }, { type: i5.STagComponent, selector: "s-tag", inputs: ["type", "size", "disabled", "close"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None });
48
+ SCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: SCardComponent, selector: "s-card", inputs: { title: "title", subtitle: "subtitle", menu: "menu", check: "check", showHorizontal: "showHorizontal", image: "image", fullimage: "fullimage", icon: "icon", size: "size", label: "label", style: "style" }, outputs: { clickEvent: "clickEvent", checkEvent: "checkEvent" }, ngImport: i0, template: "<div class=\"card {{size}}\" attr.style=\"{{style}}\">\r\n <div *ngIf=\"!showHorizontal && check\" class=\"card-check\">\r\n <s-checkbox class=\"card-check-component\" [value]=\"check.value\" [model]=\"check.model\" [disable]=\"check.disable\"\r\n [isUndefined]=\"check.undefined\" (emitSelection)=\"onCheckEvent($event)\"></s-checkbox>\r\n </div>\r\n <div *ngIf=\"!showHorizontal && image\" class=\"card-img\">\r\n <img [src]=\"localImage\" class=\"card-image\" alt=\"card-image\" [ngClass]=\"{'full-image': fullimage}\">\r\n </div>\r\n <div *ngIf=\"!showHorizontal && !image && icon\" class=\"card-icon\">\r\n <s-icon-mat [style]=\"'font-size: 150px;'\">{{icon}}</s-icon-mat>\r\n </div>\r\n <div class=\"card-title\" [ngClass]=\"{'card-title-horizontal': showHorizontal}\">\r\n <div class=\"card-check-horizontal\" *ngIf=\"showHorizontal && check\">\r\n <s-checkbox *ngIf=\"showHorizontal && check\" [value]=\"check.value\" [model]=\"check.model\"\r\n [disable]=\"check.disable\" [isUndefined]=\"check.undefined\" (emitSelection)=\"onCheckEvent($event)\"></s-checkbox>\r\n </div>\r\n <h6 *ngIf=\"title\">{{title}}</h6>\r\n <span *ngIf=\"!showHorizontal && subtitle\" class=\"s-caption\">{{subtitle}}</span>\r\n <div *ngIf=\"buttons && buttons.length > 0\" class=\"card-title-menu-section\">\r\n <s-icon-mat class=\"card-title-menu\" *ngIf=\"menu\" (click)=\"showDropDown()\">more_vert</s-icon-mat>\r\n <s-drop-down [display]=\"showDropDownCard\" [right]=\"true\" [buttons]=\"buttons\"\r\n (buttonClick)=\"onClickEvent($event)\">\r\n </s-drop-down>\r\n </div>\r\n <ng-content *ngIf=\"!showHorizontal\"></ng-content>\r\n <s-tag *ngIf=\"label\" type=\"success\">{{label}}</s-tag>\r\n </div>\r\n</div>", styles: [".card{color:var(--secondary-700);min-width:0;word-wrap:break-word;background-color:var(--neutrals-1200);border-radius:.25rem;display:inline-block;margin-bottom:.5rem;box-shadow:0 0 20px #0000001a}.card.sm{width:calc(25% - 5px)}.card.md{width:calc(50% - 5px)}.card.lg{width:calc(75% - 5px)}.card.full{width:calc(100% - 5px)}.card-check{position:relative}.card-check-component{position:absolute;top:10px;left:10px}.card-check-horizontal{display:inline-block;display:flex;flex-direction:column;justify-content:center;padding:5px 20px 0 0}.card-img,.card-icon{line-height:0;text-align:center;border-radius:.25rem .25rem 0 0}.card-image{max-width:100%;height:200px;border-radius:.25rem .25rem 0 0}.full-image{width:100%}.card-title{padding:16px;position:relative;display:flex;flex-direction:column;background-clip:border-box}.card-title-horizontal{flex-direction:row}.card-title-menu-section{position:absolute;right:16px}.card-title-menu{cursor:pointer}\n"], components: [{ type: i2.SCheckboxComponent, selector: "s-checkbox", inputs: ["value", "model", "disable", "isUndefined", "label"], outputs: ["emitSelection"] }, { type: i3.SIconMaterialComponent, selector: "s-icon-mat", inputs: ["size", "color", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { type: i4.SDropDownComponent, selector: "s-drop-down", inputs: ["display", "buttons", "right"], outputs: ["buttonClick"] }, { type: i5.STagComponent, selector: "s-tag", inputs: ["type", "size", "disabled", "close"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None });
49
49
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: SCardComponent, decorators: [{
50
50
  type: Component,
51
- args: [{ selector: 's-card', encapsulation: ViewEncapsulation.None, template: "<div class=\"card {{size}}\" attr.style=\"{{style}}\">\r\n <div *ngIf=\"!showHorizontal && check\" class=\"card-check\">\r\n <s-checkbox class=\"card-check-component\" [value]=\"check.value\" [model]=\"check.model\" [disable]=\"check.disable\"\r\n [isUndefined]=\"check.undefined\" (emitSelection)=\"onCheckEvent($event)\"></s-checkbox>\r\n </div>\r\n <div *ngIf=\"!showHorizontal && image\" class=\"card-img\">\r\n <img [src]=\"localImage\" class=\"card-image\" alt=\"card-image\" [ngClass]=\"{'full-image': fullimage}\">\r\n </div>\r\n <div *ngIf=\"!showHorizontal && !image && icon\" class=\"card-icon\">\r\n <s-icon-mat [style]=\"'font-size: 150px;'\">{{icon}}</s-icon-mat>\r\n </div>\r\n <div class=\"card-title\" [ngClass]=\"{'card-title-horizontal': showHorizontal}\">\r\n <div class=\"card-check-horizontal\" *ngIf=\"showHorizontal && check\">\r\n <s-checkbox *ngIf=\"showHorizontal && check\" [value]=\"check.value\" [model]=\"check.model\"\r\n [disable]=\"check.disable\" [isUndefined]=\"check.undefined\" (emitSelection)=\"onCheckEvent($event)\"></s-checkbox>\r\n </div>\r\n <h6 *ngIf=\"title\">{{title}}</h6>\r\n <span *ngIf=\"!showHorizontal && subtitle\" class=\"s-caption\">{{subtitle}}</span>\r\n <div *ngIf=\"buttons && buttons.length > 0\" class=\"card-title-menu-section\">\r\n <s-icon-mat class=\"card-title-menu\" *ngIf=\"menu\" (click)=\"showDropDown()\">more_vert</s-icon-mat>\r\n <s-drop-down [display]=\"showDropDownCard\" [right]=\"true\" [buttons]=\"buttons\"\r\n (buttonClick)=\"onClickEvent($event)\">\r\n </s-drop-down>\r\n </div>\r\n <ng-content *ngIf=\"!showHorizontal\"></ng-content>\r\n <s-tag *ngIf=\"label\" type=\"success\">{{label}}</s-tag>\r\n </div>\r\n</div>", styles: [".card{color:var(--secondary-700);min-width:0;word-wrap:break-word;background-color:var(--neutrals-1200);border-radius:.25rem;display:inline-block;box-shadow:0 0 20px #0000001a}.card.sm{width:calc(25% - 5px)}.card.md{width:calc(50% - 5px)}.card.lg{width:calc(75% - 5px)}.card.full{width:calc(100% - 5px)}.card-check{position:relative}.card-check-component{position:absolute;top:10px;left:10px}.card-check-horizontal{display:inline-block;display:flex;flex-direction:column;justify-content:center;padding:5px 20px 0 0}.card-img,.card-icon{line-height:0;text-align:center;border-radius:.25rem .25rem 0 0}.card-image{max-width:100%;height:200px;border-radius:.25rem .25rem 0 0}.full-image{width:100%}.card-title{padding:16px;position:relative;display:flex;flex-direction:column;background-clip:border-box}.card-title-horizontal{flex-direction:row}.card-title-menu-section{position:absolute;right:16px}.card-title-menu{cursor:pointer}\n"] }]
51
+ args: [{ selector: 's-card', encapsulation: ViewEncapsulation.None, template: "<div class=\"card {{size}}\" attr.style=\"{{style}}\">\r\n <div *ngIf=\"!showHorizontal && check\" class=\"card-check\">\r\n <s-checkbox class=\"card-check-component\" [value]=\"check.value\" [model]=\"check.model\" [disable]=\"check.disable\"\r\n [isUndefined]=\"check.undefined\" (emitSelection)=\"onCheckEvent($event)\"></s-checkbox>\r\n </div>\r\n <div *ngIf=\"!showHorizontal && image\" class=\"card-img\">\r\n <img [src]=\"localImage\" class=\"card-image\" alt=\"card-image\" [ngClass]=\"{'full-image': fullimage}\">\r\n </div>\r\n <div *ngIf=\"!showHorizontal && !image && icon\" class=\"card-icon\">\r\n <s-icon-mat [style]=\"'font-size: 150px;'\">{{icon}}</s-icon-mat>\r\n </div>\r\n <div class=\"card-title\" [ngClass]=\"{'card-title-horizontal': showHorizontal}\">\r\n <div class=\"card-check-horizontal\" *ngIf=\"showHorizontal && check\">\r\n <s-checkbox *ngIf=\"showHorizontal && check\" [value]=\"check.value\" [model]=\"check.model\"\r\n [disable]=\"check.disable\" [isUndefined]=\"check.undefined\" (emitSelection)=\"onCheckEvent($event)\"></s-checkbox>\r\n </div>\r\n <h6 *ngIf=\"title\">{{title}}</h6>\r\n <span *ngIf=\"!showHorizontal && subtitle\" class=\"s-caption\">{{subtitle}}</span>\r\n <div *ngIf=\"buttons && buttons.length > 0\" class=\"card-title-menu-section\">\r\n <s-icon-mat class=\"card-title-menu\" *ngIf=\"menu\" (click)=\"showDropDown()\">more_vert</s-icon-mat>\r\n <s-drop-down [display]=\"showDropDownCard\" [right]=\"true\" [buttons]=\"buttons\"\r\n (buttonClick)=\"onClickEvent($event)\">\r\n </s-drop-down>\r\n </div>\r\n <ng-content *ngIf=\"!showHorizontal\"></ng-content>\r\n <s-tag *ngIf=\"label\" type=\"success\">{{label}}</s-tag>\r\n </div>\r\n</div>", styles: [".card{color:var(--secondary-700);min-width:0;word-wrap:break-word;background-color:var(--neutrals-1200);border-radius:.25rem;display:inline-block;margin-bottom:.5rem;box-shadow:0 0 20px #0000001a}.card.sm{width:calc(25% - 5px)}.card.md{width:calc(50% - 5px)}.card.lg{width:calc(75% - 5px)}.card.full{width:calc(100% - 5px)}.card-check{position:relative}.card-check-component{position:absolute;top:10px;left:10px}.card-check-horizontal{display:inline-block;display:flex;flex-direction:column;justify-content:center;padding:5px 20px 0 0}.card-img,.card-icon{line-height:0;text-align:center;border-radius:.25rem .25rem 0 0}.card-image{max-width:100%;height:200px;border-radius:.25rem .25rem 0 0}.full-image{width:100%}.card-title{padding:16px;position:relative;display:flex;flex-direction:column;background-clip:border-box}.card-title-horizontal{flex-direction:row}.card-title-menu-section{position:absolute;right:16px}.card-title-menu{cursor:pointer}\n"] }]
52
52
  }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { title: [{
53
53
  type: Input
54
54
  }], subtitle: [{
@@ -104,7 +104,7 @@ export class SFormComponent {
104
104
  }
105
105
  }
106
106
  SFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: SFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
107
- SFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: SFormComponent, selector: "s-form", inputs: { controls: "controls", submitClick: "submitClick", requiredMessage: "requiredMessage", emailMessage: "emailMessage", dafaultMessage: "dafaultMessage" }, outputs: { controlsChangeEvent: "controlsChangeEvent", submitEvent: "submitEvent", changeSelectEvent: "changeSelectEvent", clickButtonEvent: "clickButtonEvent" }, usesOnChanges: true, ngImport: i0, template: "<form *ngIf=\"form && controls\" [formGroup]=\"form\">\r\n <div class=\"form-control\" [ngStyle]=\"{width: c.width + '%', display: c.width < 100 ? 'inline-block' : 'initial'}\"\r\n *ngFor=\"let c of controls\">\r\n <div *ngIf=\"c.show && enabledTypes.indexOf(c.inputType) != -1\">\r\n <div *ngIf=\"c.inputType != 'button' && c.inputType != 'select' && c.inputType != 'checkbox'\">\r\n <input [id]=\"c.formControlName\" [type]=\"c.inputType\" [disabled]=\"c.disabled\"\r\n [formControlName]=\"c.formControlName\" style=\"display: none;\">\r\n <div class=\"form-group\">\r\n <label class=\"label\">{{c.label}}</label>\r\n <s-input-text [type]=\"c.inputType\" [text]=\"c.value\" [disabled]=\"c.disabled\"\r\n [theme]=\"checkErrors(c.formControlName) ? 'red' : 'default'\" [placeHolder]=\"c.inputPlaceHolder\"\r\n [name]=\"c.formControlName + c.inputType\"\r\n (textChangeEvent)=\"changeControl(c.formControlName, $event)\"\r\n [title]=\"c.inputPlaceHolder\"></s-input-text>\r\n <s-error-control [theme]=\"checkErrors(c.formControlName) ? 'red' : 'default'\">\r\n <span *ngIf=\"checkErrors(c.formControlName)\">\r\n {{getErrorMessage(c.formControlName)}}\r\n </span>\r\n </s-error-control>\r\n </div>\r\n </div>\r\n <div *ngIf=\"c.inputType == 'button' && c.button != undefined\">\r\n <div class=\"form-group\">\r\n <s-button [pill]=\"c.button.pill\" [invert]=\"c.button.invert\" [type]=\"c.button.type\" size=\"sm\"\r\n [title]=\"c.inputPlaceHolder\" [class]=\"c.button.class\" [size]=\"c.button.size ? c.button.size : 'md' \" (click)=\"buttonClick(c.formControlName)\">\r\n {{c.label}}\r\n <s-icon-mat *ngIf=\"c.button.icon\">{{c.button.icon}}</s-icon-mat>\r\n </s-button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"c.inputType == 'checkbox'\">\r\n <input [id]=\"c.formControlName\" [type]=\"c.inputType\" [disabled]=\"c.disabled\"\r\n [formControlName]=\"c.formControlName\" style=\"display: none;\">\r\n <div class=\"form-group\">\r\n <s-checkbox [value]=\"c.value\" [label]=\"c.label\" (emitSelection)=\"changeControl(c.formControlName, $event.event.toString())\"></s-checkbox>\r\n <s-error-control [theme]=\"checkErrors(c.formControlName) ? 'red' : 'default'\">\r\n <span *ngIf=\"checkErrors(c.formControlName)\">\r\n {{getErrorMessage(c.formControlName)}}\r\n </span>\r\n </s-error-control>\r\n </div>\r\n </div>\r\n <div *ngIf=\"c.inputType == 'select'\">\r\n <select [id]=\"c.formControlName\" [name]=\"c.formControlName\" [formControlName]=\"c.formControlName\" style=\"display: none;\">\r\n <option *ngFor=\"let o of c.selectModel\" [value]=\"o.key\" [selected]=\"o.key == c.value\">{{o.value}}\r\n </option>\r\n </select>\r\n <div class=\"form-group\">\r\n <label class=\"label\">{{c.label}}</label>\r\n <s-select-simple [options]=\"c.selectModel\" (selectEvent)=\"changeSelect($event, c.formControlName)\" [title]=\"c.inputPlaceHolder\" [selectedValue]=\"c.value\"></s-select-simple>\r\n <s-error-control [theme]=\"checkErrors(c.formControlName) ? 'red' : 'default'\">\r\n <span *ngIf=\"checkErrors(c.formControlName)\">\r\n {{getErrorMessage(c.formControlName)}}\r\n </span>\r\n </s-error-control>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</form>", styles: [".form-control{vertical-align:middle}.button .primary .round-sm .sm{width:100%!important}\n"], components: [{ type: i1.SInputTextComponent, selector: "s-input-text", inputs: ["text", "name", "placeHolder", "disabled", "theme", "type", "classAdd", "help", "size"], outputs: ["textChangeEvent", "clickHelpIconEvent"] }, { type: i2.SErrorControl, selector: "s-error-control", inputs: ["theme", "icon", "iconCustom", "size"] }, { type: i3.SButtonComponent, selector: "s-button", inputs: ["disabled", "class", "rounded", "pill", "size", "invert", "selected", "type", "border", "loading", "position", "theme"] }, { type: i4.SIconMaterialComponent, selector: "s-icon-mat", inputs: ["size", "color", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { type: i5.SCheckboxComponent, selector: "s-checkbox", inputs: ["value", "model", "disable", "isUndefined", "label"], outputs: ["emitSelection"] }, { type: i6.SSelectSimpleComponent, selector: "s-select-simple", inputs: ["placeholder", "options", "selectedValue", "selectLabel", "display", "size"], outputs: ["selectEvent"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i8.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i8.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i8.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }], encapsulation: i0.ViewEncapsulation.None });
107
+ SFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: SFormComponent, selector: "s-form", inputs: { controls: "controls", submitClick: "submitClick", requiredMessage: "requiredMessage", emailMessage: "emailMessage", dafaultMessage: "dafaultMessage" }, outputs: { controlsChangeEvent: "controlsChangeEvent", submitEvent: "submitEvent", changeSelectEvent: "changeSelectEvent", clickButtonEvent: "clickButtonEvent" }, usesOnChanges: true, ngImport: i0, template: "<form *ngIf=\"form && controls\" [formGroup]=\"form\">\r\n <div class=\"form-control\" [ngStyle]=\"{width: c.width + '%', display: c.width < 100 ? 'inline-block' : 'initial'}\"\r\n *ngFor=\"let c of controls\">\r\n <div *ngIf=\"c.show && enabledTypes.indexOf(c.inputType) != -1\">\r\n <div *ngIf=\"c.inputType != 'button' && c.inputType != 'select' && c.inputType != 'checkbox'\">\r\n <input [id]=\"c.formControlName\" [type]=\"c.inputType\" [disabled]=\"c.disabled\"\r\n [formControlName]=\"c.formControlName\" style=\"display: none;\">\r\n <div class=\"form-group\">\r\n <label class=\"label\">{{c.label}}</label>\r\n <s-input-text [type]=\"c.inputType\" [text]=\"c.value\" [disabled]=\"c.disabled\"\r\n [theme]=\"checkErrors(c.formControlName) ? 'red' : 'default'\" [placeHolder]=\"c.inputPlaceHolder\"\r\n [name]=\"c.formControlName + c.inputType\"\r\n (textChangeEvent)=\"changeControl(c.formControlName, $event)\"\r\n [title]=\"c.inputPlaceHolder\"></s-input-text>\r\n <s-error-control [theme]=\"checkErrors(c.formControlName) ? 'red' : 'default'\">\r\n <span *ngIf=\"checkErrors(c.formControlName)\">\r\n {{getErrorMessage(c.formControlName)}}\r\n </span>\r\n </s-error-control>\r\n </div>\r\n </div>\r\n <div *ngIf=\"c.inputType == 'button' && c.button != undefined\">\r\n <div class=\"form-group\">\r\n <s-button [pill]=\"c.button.pill\" [invert]=\"c.button.invert\" [type]=\"c.button.type\" size=\"sm\"\r\n [title]=\"c.inputPlaceHolder\" [class]=\"c.button.class\" [size]=\"c.button.size ? c.button.size : 'md' \" (click)=\"buttonClick(c.formControlName)\">\r\n {{c.label}}\r\n <s-icon-mat *ngIf=\"c.button.icon\">{{c.button.icon}}</s-icon-mat>\r\n </s-button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"c.inputType == 'checkbox'\">\r\n <input [id]=\"c.formControlName\" [type]=\"c.inputType\" [disabled]=\"c.disabled\"\r\n [formControlName]=\"c.formControlName\" style=\"display: none;\">\r\n <div class=\"form-group\">\r\n <s-checkbox [value]=\"c.value\" [label]=\"c.label\" (emitSelection)=\"changeControl(c.formControlName, $event.event.toString())\"></s-checkbox>\r\n <s-error-control [theme]=\"checkErrors(c.formControlName) ? 'red' : 'default'\">\r\n <span *ngIf=\"checkErrors(c.formControlName)\">\r\n {{getErrorMessage(c.formControlName)}}\r\n </span>\r\n </s-error-control>\r\n </div>\r\n </div>\r\n <div *ngIf=\"c.inputType == 'select'\">\r\n <select [id]=\"c.formControlName\" [name]=\"c.formControlName\" [formControlName]=\"c.formControlName\" style=\"display: none;\">\r\n <option *ngFor=\"let o of c.selectModel\" [value]=\"o.key\" [selected]=\"o.key == c.value\">{{o.value}}\r\n </option>\r\n </select>\r\n <div class=\"form-group\">\r\n <label class=\"label\">{{c.label}}</label>\r\n <s-select-simple [options]=\"c.selectModel\" (selectEvent)=\"changeSelect($event, c.formControlName)\" [title]=\"c.inputPlaceHolder\" [selectedValue]=\"c.value\"></s-select-simple>\r\n <s-error-control [theme]=\"checkErrors(c.formControlName) ? 'red' : 'default'\">\r\n <span *ngIf=\"checkErrors(c.formControlName)\">\r\n {{getErrorMessage(c.formControlName)}}\r\n </span>\r\n </s-error-control>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</form>", styles: [".form-control{vertical-align:middle}.button .primary .round-sm .sm{width:100%!important}\n"], components: [{ type: i1.SInputTextComponent, selector: "s-input-text", inputs: ["text", "name", "placeHolder", "disabled", "max", "min", "step", "theme", "type", "classAdd", "help", "size"], outputs: ["textChangeEvent", "clickHelpIconEvent"] }, { type: i2.SErrorControl, selector: "s-error-control", inputs: ["theme", "icon", "iconCustom", "size"] }, { type: i3.SButtonComponent, selector: "s-button", inputs: ["disabled", "class", "rounded", "pill", "size", "invert", "selected", "type", "border", "loading", "position", "theme"] }, { type: i4.SIconMaterialComponent, selector: "s-icon-mat", inputs: ["size", "color", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { type: i5.SCheckboxComponent, selector: "s-checkbox", inputs: ["value", "model", "disable", "isUndefined", "label"], outputs: ["emitSelection"] }, { type: i6.SSelectSimpleComponent, selector: "s-select-simple", inputs: ["placeholder", "options", "selectedValue", "selectLabel", "display", "size"], outputs: ["selectEvent"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i8.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i8.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i8.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }], encapsulation: i0.ViewEncapsulation.None });
108
108
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: SFormComponent, decorators: [{
109
109
  type: Component,
110
110
  args: [{ selector: 's-form', encapsulation: ViewEncapsulation.None, template: "<form *ngIf=\"form && controls\" [formGroup]=\"form\">\r\n <div class=\"form-control\" [ngStyle]=\"{width: c.width + '%', display: c.width < 100 ? 'inline-block' : 'initial'}\"\r\n *ngFor=\"let c of controls\">\r\n <div *ngIf=\"c.show && enabledTypes.indexOf(c.inputType) != -1\">\r\n <div *ngIf=\"c.inputType != 'button' && c.inputType != 'select' && c.inputType != 'checkbox'\">\r\n <input [id]=\"c.formControlName\" [type]=\"c.inputType\" [disabled]=\"c.disabled\"\r\n [formControlName]=\"c.formControlName\" style=\"display: none;\">\r\n <div class=\"form-group\">\r\n <label class=\"label\">{{c.label}}</label>\r\n <s-input-text [type]=\"c.inputType\" [text]=\"c.value\" [disabled]=\"c.disabled\"\r\n [theme]=\"checkErrors(c.formControlName) ? 'red' : 'default'\" [placeHolder]=\"c.inputPlaceHolder\"\r\n [name]=\"c.formControlName + c.inputType\"\r\n (textChangeEvent)=\"changeControl(c.formControlName, $event)\"\r\n [title]=\"c.inputPlaceHolder\"></s-input-text>\r\n <s-error-control [theme]=\"checkErrors(c.formControlName) ? 'red' : 'default'\">\r\n <span *ngIf=\"checkErrors(c.formControlName)\">\r\n {{getErrorMessage(c.formControlName)}}\r\n </span>\r\n </s-error-control>\r\n </div>\r\n </div>\r\n <div *ngIf=\"c.inputType == 'button' && c.button != undefined\">\r\n <div class=\"form-group\">\r\n <s-button [pill]=\"c.button.pill\" [invert]=\"c.button.invert\" [type]=\"c.button.type\" size=\"sm\"\r\n [title]=\"c.inputPlaceHolder\" [class]=\"c.button.class\" [size]=\"c.button.size ? c.button.size : 'md' \" (click)=\"buttonClick(c.formControlName)\">\r\n {{c.label}}\r\n <s-icon-mat *ngIf=\"c.button.icon\">{{c.button.icon}}</s-icon-mat>\r\n </s-button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"c.inputType == 'checkbox'\">\r\n <input [id]=\"c.formControlName\" [type]=\"c.inputType\" [disabled]=\"c.disabled\"\r\n [formControlName]=\"c.formControlName\" style=\"display: none;\">\r\n <div class=\"form-group\">\r\n <s-checkbox [value]=\"c.value\" [label]=\"c.label\" (emitSelection)=\"changeControl(c.formControlName, $event.event.toString())\"></s-checkbox>\r\n <s-error-control [theme]=\"checkErrors(c.formControlName) ? 'red' : 'default'\">\r\n <span *ngIf=\"checkErrors(c.formControlName)\">\r\n {{getErrorMessage(c.formControlName)}}\r\n </span>\r\n </s-error-control>\r\n </div>\r\n </div>\r\n <div *ngIf=\"c.inputType == 'select'\">\r\n <select [id]=\"c.formControlName\" [name]=\"c.formControlName\" [formControlName]=\"c.formControlName\" style=\"display: none;\">\r\n <option *ngFor=\"let o of c.selectModel\" [value]=\"o.key\" [selected]=\"o.key == c.value\">{{o.value}}\r\n </option>\r\n </select>\r\n <div class=\"form-group\">\r\n <label class=\"label\">{{c.label}}</label>\r\n <s-select-simple [options]=\"c.selectModel\" (selectEvent)=\"changeSelect($event, c.formControlName)\" [title]=\"c.inputPlaceHolder\" [selectedValue]=\"c.value\"></s-select-simple>\r\n <s-error-control [theme]=\"checkErrors(c.formControlName) ? 'red' : 'default'\">\r\n <span *ngIf=\"checkErrors(c.formControlName)\">\r\n {{getErrorMessage(c.formControlName)}}\r\n </span>\r\n </s-error-control>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</form>", styles: [".form-control{vertical-align:middle}.button .primary .round-sm .sm{width:100%!important}\n"] }]
@@ -2,8 +2,9 @@ import { Component, EventEmitter, Input, Output, ViewEncapsulation, forwardRef }
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "../../../icon-material/s-icon-material.component";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@angular/forms";
5
+ import * as i2 from "../../../button/components/button/s-button.component";
6
+ import * as i3 from "@angular/common";
7
+ import * as i4 from "@angular/forms";
7
8
  export class SInputTextComponent {
8
9
  constructor() {
9
10
  this.onChange = (_) => { };
@@ -12,10 +13,14 @@ export class SInputTextComponent {
12
13
  this.name = '';
13
14
  this.placeHolder = '';
14
15
  this.disabled = false;
16
+ this.max = 1000000;
17
+ this.min = 0;
18
+ this.step = 1;
15
19
  this.classAdd = '';
16
20
  this.help = false;
17
21
  this.size = 'md';
18
22
  this.inputText = '';
23
+ this.inputNumber = 0;
19
24
  this._type = 'text';
20
25
  this._theme = 'default';
21
26
  this.disabledstyle = '';
@@ -35,6 +40,9 @@ export class SInputTextComponent {
35
40
  }
36
41
  ;
37
42
  ngOnInit() {
43
+ if (this.text && this.type == 'number') {
44
+ this.inputNumber = Number(this.text);
45
+ }
38
46
  if (this._type == 'color' && this.text == '') {
39
47
  this.text = '#000000';
40
48
  }
@@ -103,9 +111,26 @@ export class SInputTextComponent {
103
111
  colorClick() {
104
112
  document.getElementById(this.name)?.click();
105
113
  }
114
+ numberDecrease() {
115
+ if (this.min < this.inputNumber) {
116
+ this.inputNumber -= this.step;
117
+ }
118
+ this.inputText = this.inputNumber.toString();
119
+ this.onTouch();
120
+ this.onChange(this.inputText);
121
+ }
122
+ numberIncrement() {
123
+ if (this.max && this.max > this.inputNumber) {
124
+ this.inputNumber += this.step;
125
+ }
126
+ this.inputText = this.inputNumber.toString();
127
+ this.onTouch();
128
+ this.onChange(this.inputText);
129
+ }
106
130
  writeValue(value) {
107
131
  if (value) {
108
132
  this.inputText = value;
133
+ this.inputNumber = value;
109
134
  }
110
135
  }
111
136
  registerOnChange(fn) {
@@ -116,13 +141,13 @@ export class SInputTextComponent {
116
141
  }
117
142
  }
118
143
  SInputTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: SInputTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
119
- SInputTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: SInputTextComponent, selector: "s-input-text", inputs: { text: "text", name: "name", placeHolder: "placeHolder", disabled: "disabled", theme: "theme", type: "type", classAdd: "classAdd", help: "help", size: "size" }, outputs: { textChangeEvent: "textChangeEvent", clickHelpIconEvent: "clickHelpIconEvent" }, providers: [
144
+ SInputTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: SInputTextComponent, selector: "s-input-text", inputs: { text: "text", name: "name", placeHolder: "placeHolder", disabled: "disabled", max: "max", min: "min", step: "step", theme: "theme", type: "type", classAdd: "classAdd", help: "help", size: "size" }, outputs: { textChangeEvent: "textChangeEvent", clickHelpIconEvent: "clickHelpIconEvent" }, providers: [
120
145
  {
121
146
  provide: NG_VALUE_ACCESSOR,
122
147
  useExisting: forwardRef(() => SInputTextComponent),
123
148
  multi: true
124
149
  }
125
- ], usesOnChanges: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\r\n <!-- El switch case con cada caso por input ['text', 'password', 'email' , 'phone' , 'url' , 'search']-->\r\n\r\n <!-- case text -->\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-text {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <!-- <div class=\"content-left\">\r\n <s-icon-mat class=\"icon\">email</s-icon-mat>\r\n </div> -->\r\n <div class=\"content-center\">\r\n <input \r\n [disabled]=\"disabled\" \r\n [type]=\"type\" \r\n [id]=\"name\" \r\n [name]=\"name\" \r\n autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\"\r\n [(ngModel)]=\"inputText\"\r\n (ngModelChange)=\"onTextChange()\"\r\n >\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- case password -->\r\n <ng-container *ngSwitchCase=\"'password'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-password {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-left\">\r\n <s-icon-mat class=\"icon\">vpn_key</s-icon-mat>\r\n </div>\r\n <div class=\"content-center\">\r\n <input type=\"{{visibility ? 'text' : 'password'}}\" [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\"\r\n (ngModelChange)=\"onTextChange()\">\r\n </div>\r\n <div class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon cursor\"\r\n (click)=\"visibility = !visibility\">{{visibility ? 'visibility' :\r\n 'visibility_off'}}</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- case email -->\r\n <ng-container *ngSwitchCase=\"'email'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-email {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-left\">\r\n <s-icon-mat class=\"icon\">mail_outline</s-icon-mat>\r\n </div>\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" (ngModelChange)=\"onTextChange()\">\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <!-- case phone -->\r\n <ng-container *ngSwitchCase=\"'phone'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-phone {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-left\">\r\n <s-icon-mat class=\"icon\">phone</s-icon-mat>\r\n </div>\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" (ngModelChange)=\"onTextChange()\">\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <!-- case url -->\r\n <ng-container *ngSwitchCase=\"'url'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-url {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-left\">\r\n http://\r\n </div>\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" (ngModelChange)=\"onTextChange()\">\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <!-- case search -->\r\n <ng-container *ngSwitchCase=\"'search'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-search {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-left\">\r\n <s-icon-mat class=\"icon\">search</s-icon-mat>\r\n </div>\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" (ngModelChange)=\"onTextChange()\">\r\n </div>\r\n <!-- <div class=\"content-right\">\r\n <s-icon-mat class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div> -->\r\n </div>\r\n </ng-container>\r\n\r\n <!-- case color -->\r\n <ng-container *ngSwitchCase=\"'color'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-color {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-left\">\r\n <input #color [id]=\"name\" [name]=\"name\" type=\"color\" [disabled]=\"disabled\" [(ngModel)]=\"inputText\"\r\n (ngModelChange)=\"onTextChange()\" style=\"width: 40px; padding: 0;\">\r\n </div>\r\n <div class=\"content-center\" (click)=\"this.color.click()\">\r\n <input [type]=\"text\" autocomplete=\"off\" [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" [disabled]=\"disabled\">\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- case date -->\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-text {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" (ngModelChange)=\"onTextChangeVal($event)\"\r\n [ngModel]=\"inputText | date:'yyyy-MM-dd' : 'UTC'\">\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- case default -->\r\n <ng-container *ngSwitchDefault>\r\n <div\r\n class=\"content-input-main-626 content-input-main-text {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <!-- <div class=\"content-left\">\r\n <s-icon-mat class=\"icon\">email</s-icon-mat>\r\n </div> -->\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" (ngModelChange)=\"onTextChange()\">\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n</ng-container>", styles: [".content-input-main-626:has(input:focus){border:1px solid var(--primary-600);box-shadow:0 0 0 4px #0091fe26,0 1px 2px #1018280d}.content-input-main-626.theme-green:has(input:focus){border:1px solid var(--green-500);box-shadow:0 0 0 4px #36b37e26,0 1px 2px #1018280d}.content-input-main-626.theme-yellow:has(input:focus){border:1px solid var(--yellow-500);box-shadow:0 0 0 4px #ffab0026,0 1px 2px #1018280d}.content-input-main-626.theme-red:has(input:focus){border:1px solid var(--red-500);box-shadow:0 0 0 4px #ff563026,0 1px 2px #1018280d}.content-input-main-626.sm input{height:22px;font-size:.75rem}.content-input-main-626.sm .icon{width:20px;cursor:default}.content-input-main-626.sm .icon span{font-size:1.2em;display:flex}.content-input-main-626{display:flex;border:1px solid var(--secondary-500);border-radius:4px;padding:0 8px;margin:3px 0;background-color:var(--neutrals-1200)}.content-input-main-626 input{width:100%;border:0px;color:var(--secondary-600);writing-mode:unset;height:36px;font-size:inherit;background-color:var(--neutrals-1200)}.content-input-main-626 input:focus,.content-input-main-626 input:focus-visible{outline:none}.content-input-main-626 .icon{width:20px;cursor:default}.content-input-main-626 .icon span{display:flex}.content-input-main-626 .content-center{width:100%;background-color:var(--neutrals-1200)}.content-input-main-626 .content-left{display:flex;align-items:center;justify-content:space-evenly;margin-right:8px;color:var(--primary-600)}.content-input-main-626 .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:8px;color:var(--secondary-600)}.disabled-active{background-color:var(--neutrals-1100)}.theme-red{border:1px solid var(--red-500)}.theme-red .icon.report span{color:var(--red-600)}.theme-green{border:1px solid var(--green-500)}.theme-green .icon.report span{color:var(--green-600)}.theme-yellow{border:1px solid var(--yellow-500)}.theme-yellow .icon.report span{color:var(--yellow-600)}.content-input-main-626.content-input-main-password .content-right .icon span{color:var(--secondary-500)}.content-input-main-url .content-left,.content-input-main-color .content-left{border-right:1px solid var(--secondary-500);padding-right:8px;color:var(--secondary-500);font-size:.9rem;padding-left:8px}.content-input-main-url,.content-input-main-color{padding-left:0}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px var(--neutrals-1200) inset!important}\n"], components: [{ type: i1.SIconMaterialComponent, selector: "s-icon-mat", inputs: ["size", "color", "fill", "weight", "grade", "opticalSize", "style", "type"] }], directives: [{ type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "date": i2.DatePipe }, encapsulation: i0.ViewEncapsulation.None });
150
+ ], usesOnChanges: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\r\n <!-- El switch case con cada caso por input ['text', 'password', 'email' , 'phone' , 'url' , 'search']-->\r\n\r\n <!-- case text -->\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-text {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <!-- <div class=\"content-left\">\r\n <s-icon-mat class=\"icon\">email</s-icon-mat>\r\n </div> -->\r\n <div class=\"content-center\">\r\n <input \r\n [disabled]=\"disabled\" \r\n [type]=\"type\" \r\n [id]=\"name\" \r\n [name]=\"name\" \r\n autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\"\r\n [(ngModel)]=\"inputText\"\r\n (ngModelChange)=\"onTextChange()\"\r\n >\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- case password -->\r\n <ng-container *ngSwitchCase=\"'password'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-password {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-left\">\r\n <s-icon-mat class=\"icon\">vpn_key</s-icon-mat>\r\n </div>\r\n <div class=\"content-center\">\r\n <input type=\"{{visibility ? 'text' : 'password'}}\" [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\"\r\n (ngModelChange)=\"onTextChange()\">\r\n </div>\r\n <div class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon cursor\"\r\n (click)=\"visibility = !visibility\">{{visibility ? 'visibility' :\r\n 'visibility_off'}}</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- case email -->\r\n <ng-container *ngSwitchCase=\"'email'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-email {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-left\">\r\n <s-icon-mat class=\"icon\">mail_outline</s-icon-mat>\r\n </div>\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" (ngModelChange)=\"onTextChange()\">\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <!-- case phone -->\r\n <ng-container *ngSwitchCase=\"'phone'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-phone {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-left\">\r\n <s-icon-mat class=\"icon\">phone</s-icon-mat>\r\n </div>\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" (ngModelChange)=\"onTextChange()\">\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <!-- case url -->\r\n <ng-container *ngSwitchCase=\"'url'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-url {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-left\">\r\n http://\r\n </div>\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" (ngModelChange)=\"onTextChange()\">\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <!-- case search -->\r\n <ng-container *ngSwitchCase=\"'search'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-search {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-left\">\r\n <s-icon-mat class=\"icon\">search</s-icon-mat>\r\n </div>\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" (ngModelChange)=\"onTextChange()\">\r\n </div>\r\n <!-- <div class=\"content-right\">\r\n <s-icon-mat class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div> -->\r\n </div>\r\n </ng-container>\r\n\r\n <!-- case color -->\r\n <ng-container *ngSwitchCase=\"'color'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-color {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-left\">\r\n <input #color [id]=\"name\" [name]=\"name\" type=\"color\" [disabled]=\"disabled\" [(ngModel)]=\"inputText\"\r\n (ngModelChange)=\"onTextChange()\" style=\"width: 40px; padding: 0;\">\r\n </div>\r\n <div class=\"content-center\" (click)=\"this.color.click()\">\r\n <input [type]=\"text\" autocomplete=\"off\" [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" [disabled]=\"disabled\">\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- case date -->\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-text {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" (ngModelChange)=\"onTextChangeVal($event)\"\r\n [ngModel]=\"inputText | date:'yyyy-MM-dd' : 'UTC'\">\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- case number -->\r\n <ng-container *ngSwitchCase=\"'number'\">\r\n <div class=\"fx fx-x\">\r\n \r\n <div class=\"content-left mr-1\">\r\n <s-button (click)=\"numberDecrease()\" [size]=\"size\" [pill]=\"true\" [invert]=\"true\" class=\"button-input-626\"><s-icon-mat>remove</s-icon-mat></s-button>\r\n </div>\r\n <div class=\"content-input-main-626 content-input-main-text content-input-main-number {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}} w-100\">\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" (ngModelChange)=\"onTextChange()\"\r\n [max]=\"max\"\r\n [min]=\"min\"\r\n [step]=\"step\"\r\n >\r\n </div>\r\n\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n <div class=\"content-left ml-1\">\r\n <s-button (click)=\"numberIncrement()\" [size]=\"size\" [pill]=\"true\" [invert]=\"true\" class=\"button-input-626\"><s-icon-mat>add</s-icon-mat></s-button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- case default -->\r\n <ng-container *ngSwitchDefault>\r\n <div\r\n class=\"content-input-main-626 content-input-main-text {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <!-- <div class=\"content-left\">\r\n <s-icon-mat class=\"icon\">email</s-icon-mat>\r\n </div> -->\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" (ngModelChange)=\"onTextChange()\">\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n</ng-container>", styles: [".content-input-main-626:has(input:focus){border:1px solid var(--primary-600);box-shadow:0 0 0 4px #0091fe26,0 1px 2px #1018280d}.content-input-main-626.theme-green:has(input:focus){border:1px solid var(--green-500);box-shadow:0 0 0 4px #36b37e26,0 1px 2px #1018280d}.content-input-main-626.theme-yellow:has(input:focus){border:1px solid var(--yellow-500);box-shadow:0 0 0 4px #ffab0026,0 1px 2px #1018280d}.content-input-main-626.theme-red:has(input:focus){border:1px solid var(--red-500);box-shadow:0 0 0 4px #ff563026,0 1px 2px #1018280d}.content-input-main-626.sm input{height:22px;font-size:.75rem}.content-input-main-626.sm .icon{width:20px;cursor:default}.content-input-main-626.sm .icon span{font-size:1.2em;display:flex}.content-input-main-626{display:flex;border:1px solid var(--secondary-500);border-radius:4px;padding:0 8px;margin:3px 0;background-color:var(--neutrals-1200)}.content-input-main-626 input{width:100%;border:0px;color:var(--secondary-600);writing-mode:unset;height:36px;font-size:inherit;background-color:var(--neutrals-1200)}.content-input-main-626 input:focus,.content-input-main-626 input:focus-visible{outline:none}.content-input-main-626 .icon{width:20px;cursor:default}.content-input-main-626 .icon span{display:flex}.content-input-main-626 .content-center{width:100%;background-color:var(--neutrals-1200)}.content-input-main-626 .content-left{display:flex;align-items:center;justify-content:space-evenly;margin-right:8px;color:var(--primary-600)}.content-input-main-626 .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:8px;color:var(--secondary-600)}.disabled-active{background-color:var(--neutrals-1100)}.theme-red{border:1px solid var(--red-500)}.theme-red .icon.report span{color:var(--red-600)}.theme-green{border:1px solid var(--green-500)}.theme-green .icon.report span{color:var(--green-600)}.theme-yellow{border:1px solid var(--yellow-500)}.theme-yellow .icon.report span{color:var(--yellow-600)}.content-input-main-626.content-input-main-password .content-right .icon span{color:var(--secondary-500)}.content-input-main-url .content-left,.content-input-main-color .content-left{border-right:1px solid var(--secondary-500);padding-right:8px;color:var(--secondary-500);font-size:.9rem;padding-left:8px}.content-input-main-url,.content-input-main-color{padding-left:0}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px var(--neutrals-1200) inset!important}.content-input-main-626.content-input-main-number input::-webkit-outer-spin-button,.content-input-main-626.content-input-main-number input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.content-input-main-626.content-input-main-number input[type=number]{-moz-appearance:textfield}.button-input-626{font-size:15px;font-weight:700}\n"], components: [{ type: i1.SIconMaterialComponent, selector: "s-icon-mat", inputs: ["size", "color", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { type: i2.SButtonComponent, selector: "s-button", inputs: ["disabled", "class", "rounded", "pill", "size", "invert", "selected", "type", "border", "loading", "position", "theme"] }], directives: [{ type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "date": i3.DatePipe }, encapsulation: i0.ViewEncapsulation.None });
126
151
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: SInputTextComponent, decorators: [{
127
152
  type: Component,
128
153
  args: [{ selector: 's-input-text', encapsulation: ViewEncapsulation.None, providers: [
@@ -131,7 +156,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
131
156
  useExisting: forwardRef(() => SInputTextComponent),
132
157
  multi: true
133
158
  }
134
- ], template: "<ng-container [ngSwitch]=\"type\">\r\n <!-- El switch case con cada caso por input ['text', 'password', 'email' , 'phone' , 'url' , 'search']-->\r\n\r\n <!-- case text -->\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-text {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <!-- <div class=\"content-left\">\r\n <s-icon-mat class=\"icon\">email</s-icon-mat>\r\n </div> -->\r\n <div class=\"content-center\">\r\n <input \r\n [disabled]=\"disabled\" \r\n [type]=\"type\" \r\n [id]=\"name\" \r\n [name]=\"name\" \r\n autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\"\r\n [(ngModel)]=\"inputText\"\r\n (ngModelChange)=\"onTextChange()\"\r\n >\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- case password -->\r\n <ng-container *ngSwitchCase=\"'password'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-password {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-left\">\r\n <s-icon-mat class=\"icon\">vpn_key</s-icon-mat>\r\n </div>\r\n <div class=\"content-center\">\r\n <input type=\"{{visibility ? 'text' : 'password'}}\" [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\"\r\n (ngModelChange)=\"onTextChange()\">\r\n </div>\r\n <div class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon cursor\"\r\n (click)=\"visibility = !visibility\">{{visibility ? 'visibility' :\r\n 'visibility_off'}}</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- case email -->\r\n <ng-container *ngSwitchCase=\"'email'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-email {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-left\">\r\n <s-icon-mat class=\"icon\">mail_outline</s-icon-mat>\r\n </div>\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" (ngModelChange)=\"onTextChange()\">\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <!-- case phone -->\r\n <ng-container *ngSwitchCase=\"'phone'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-phone {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-left\">\r\n <s-icon-mat class=\"icon\">phone</s-icon-mat>\r\n </div>\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" (ngModelChange)=\"onTextChange()\">\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <!-- case url -->\r\n <ng-container *ngSwitchCase=\"'url'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-url {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-left\">\r\n http://\r\n </div>\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" (ngModelChange)=\"onTextChange()\">\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <!-- case search -->\r\n <ng-container *ngSwitchCase=\"'search'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-search {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-left\">\r\n <s-icon-mat class=\"icon\">search</s-icon-mat>\r\n </div>\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" (ngModelChange)=\"onTextChange()\">\r\n </div>\r\n <!-- <div class=\"content-right\">\r\n <s-icon-mat class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div> -->\r\n </div>\r\n </ng-container>\r\n\r\n <!-- case color -->\r\n <ng-container *ngSwitchCase=\"'color'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-color {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-left\">\r\n <input #color [id]=\"name\" [name]=\"name\" type=\"color\" [disabled]=\"disabled\" [(ngModel)]=\"inputText\"\r\n (ngModelChange)=\"onTextChange()\" style=\"width: 40px; padding: 0;\">\r\n </div>\r\n <div class=\"content-center\" (click)=\"this.color.click()\">\r\n <input [type]=\"text\" autocomplete=\"off\" [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" [disabled]=\"disabled\">\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- case date -->\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-text {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" (ngModelChange)=\"onTextChangeVal($event)\"\r\n [ngModel]=\"inputText | date:'yyyy-MM-dd' : 'UTC'\">\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- case default -->\r\n <ng-container *ngSwitchDefault>\r\n <div\r\n class=\"content-input-main-626 content-input-main-text {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <!-- <div class=\"content-left\">\r\n <s-icon-mat class=\"icon\">email</s-icon-mat>\r\n </div> -->\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" (ngModelChange)=\"onTextChange()\">\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n</ng-container>", styles: [".content-input-main-626:has(input:focus){border:1px solid var(--primary-600);box-shadow:0 0 0 4px #0091fe26,0 1px 2px #1018280d}.content-input-main-626.theme-green:has(input:focus){border:1px solid var(--green-500);box-shadow:0 0 0 4px #36b37e26,0 1px 2px #1018280d}.content-input-main-626.theme-yellow:has(input:focus){border:1px solid var(--yellow-500);box-shadow:0 0 0 4px #ffab0026,0 1px 2px #1018280d}.content-input-main-626.theme-red:has(input:focus){border:1px solid var(--red-500);box-shadow:0 0 0 4px #ff563026,0 1px 2px #1018280d}.content-input-main-626.sm input{height:22px;font-size:.75rem}.content-input-main-626.sm .icon{width:20px;cursor:default}.content-input-main-626.sm .icon span{font-size:1.2em;display:flex}.content-input-main-626{display:flex;border:1px solid var(--secondary-500);border-radius:4px;padding:0 8px;margin:3px 0;background-color:var(--neutrals-1200)}.content-input-main-626 input{width:100%;border:0px;color:var(--secondary-600);writing-mode:unset;height:36px;font-size:inherit;background-color:var(--neutrals-1200)}.content-input-main-626 input:focus,.content-input-main-626 input:focus-visible{outline:none}.content-input-main-626 .icon{width:20px;cursor:default}.content-input-main-626 .icon span{display:flex}.content-input-main-626 .content-center{width:100%;background-color:var(--neutrals-1200)}.content-input-main-626 .content-left{display:flex;align-items:center;justify-content:space-evenly;margin-right:8px;color:var(--primary-600)}.content-input-main-626 .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:8px;color:var(--secondary-600)}.disabled-active{background-color:var(--neutrals-1100)}.theme-red{border:1px solid var(--red-500)}.theme-red .icon.report span{color:var(--red-600)}.theme-green{border:1px solid var(--green-500)}.theme-green .icon.report span{color:var(--green-600)}.theme-yellow{border:1px solid var(--yellow-500)}.theme-yellow .icon.report span{color:var(--yellow-600)}.content-input-main-626.content-input-main-password .content-right .icon span{color:var(--secondary-500)}.content-input-main-url .content-left,.content-input-main-color .content-left{border-right:1px solid var(--secondary-500);padding-right:8px;color:var(--secondary-500);font-size:.9rem;padding-left:8px}.content-input-main-url,.content-input-main-color{padding-left:0}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px var(--neutrals-1200) inset!important}\n"] }]
159
+ ], template: "<ng-container [ngSwitch]=\"type\">\r\n <!-- El switch case con cada caso por input ['text', 'password', 'email' , 'phone' , 'url' , 'search']-->\r\n\r\n <!-- case text -->\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-text {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <!-- <div class=\"content-left\">\r\n <s-icon-mat class=\"icon\">email</s-icon-mat>\r\n </div> -->\r\n <div class=\"content-center\">\r\n <input \r\n [disabled]=\"disabled\" \r\n [type]=\"type\" \r\n [id]=\"name\" \r\n [name]=\"name\" \r\n autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\"\r\n [(ngModel)]=\"inputText\"\r\n (ngModelChange)=\"onTextChange()\"\r\n >\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- case password -->\r\n <ng-container *ngSwitchCase=\"'password'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-password {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-left\">\r\n <s-icon-mat class=\"icon\">vpn_key</s-icon-mat>\r\n </div>\r\n <div class=\"content-center\">\r\n <input type=\"{{visibility ? 'text' : 'password'}}\" [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\"\r\n (ngModelChange)=\"onTextChange()\">\r\n </div>\r\n <div class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon cursor\"\r\n (click)=\"visibility = !visibility\">{{visibility ? 'visibility' :\r\n 'visibility_off'}}</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- case email -->\r\n <ng-container *ngSwitchCase=\"'email'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-email {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-left\">\r\n <s-icon-mat class=\"icon\">mail_outline</s-icon-mat>\r\n </div>\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" (ngModelChange)=\"onTextChange()\">\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <!-- case phone -->\r\n <ng-container *ngSwitchCase=\"'phone'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-phone {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-left\">\r\n <s-icon-mat class=\"icon\">phone</s-icon-mat>\r\n </div>\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" (ngModelChange)=\"onTextChange()\">\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <!-- case url -->\r\n <ng-container *ngSwitchCase=\"'url'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-url {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-left\">\r\n http://\r\n </div>\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" (ngModelChange)=\"onTextChange()\">\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <!-- case search -->\r\n <ng-container *ngSwitchCase=\"'search'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-search {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-left\">\r\n <s-icon-mat class=\"icon\">search</s-icon-mat>\r\n </div>\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" (ngModelChange)=\"onTextChange()\">\r\n </div>\r\n <!-- <div class=\"content-right\">\r\n <s-icon-mat class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div> -->\r\n </div>\r\n </ng-container>\r\n\r\n <!-- case color -->\r\n <ng-container *ngSwitchCase=\"'color'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-color {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-left\">\r\n <input #color [id]=\"name\" [name]=\"name\" type=\"color\" [disabled]=\"disabled\" [(ngModel)]=\"inputText\"\r\n (ngModelChange)=\"onTextChange()\" style=\"width: 40px; padding: 0;\">\r\n </div>\r\n <div class=\"content-center\" (click)=\"this.color.click()\">\r\n <input [type]=\"text\" autocomplete=\"off\" [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" [disabled]=\"disabled\">\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- case date -->\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <div\r\n class=\"content-input-main-626 content-input-main-text {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" (ngModelChange)=\"onTextChangeVal($event)\"\r\n [ngModel]=\"inputText | date:'yyyy-MM-dd' : 'UTC'\">\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- case number -->\r\n <ng-container *ngSwitchCase=\"'number'\">\r\n <div class=\"fx fx-x\">\r\n \r\n <div class=\"content-left mr-1\">\r\n <s-button (click)=\"numberDecrease()\" [size]=\"size\" [pill]=\"true\" [invert]=\"true\" class=\"button-input-626\"><s-icon-mat>remove</s-icon-mat></s-button>\r\n </div>\r\n <div class=\"content-input-main-626 content-input-main-text content-input-main-number {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}} w-100\">\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" (ngModelChange)=\"onTextChange()\"\r\n [max]=\"max\"\r\n [min]=\"min\"\r\n [step]=\"step\"\r\n >\r\n </div>\r\n\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n <div class=\"content-left ml-1\">\r\n <s-button (click)=\"numberIncrement()\" [size]=\"size\" [pill]=\"true\" [invert]=\"true\" class=\"button-input-626\"><s-icon-mat>add</s-icon-mat></s-button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- case default -->\r\n <ng-container *ngSwitchDefault>\r\n <div\r\n class=\"content-input-main-626 content-input-main-text {{size}} theme-{{theme}} {{classAdd}} {{disabledstyle}}\">\r\n <!-- <div class=\"content-left\">\r\n <s-icon-mat class=\"icon\">email</s-icon-mat>\r\n </div> -->\r\n <div class=\"content-center\">\r\n <input [disabled]=\"disabled\" [type]=\"type\" [id]=\"name\" [name]=\"name\" autocomplete=\"off\"\r\n [placeholder]=\"placeHolder\" [(ngModel)]=\"inputText\" (ngModelChange)=\"onTextChange()\">\r\n </div>\r\n <div *ngIf=\"theme != 'default'\" class=\"content-right\">\r\n <s-icon-mat [type]=\"inconSymbol?'symbol':'icon'\" class=\"icon report\">{{iconName}}</s-icon-mat>\r\n </div>\r\n\r\n <div *ngIf=\"theme == 'default' && help\" class=\"content-right\">\r\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">help_outline</s-icon-mat>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n</ng-container>", styles: [".content-input-main-626:has(input:focus){border:1px solid var(--primary-600);box-shadow:0 0 0 4px #0091fe26,0 1px 2px #1018280d}.content-input-main-626.theme-green:has(input:focus){border:1px solid var(--green-500);box-shadow:0 0 0 4px #36b37e26,0 1px 2px #1018280d}.content-input-main-626.theme-yellow:has(input:focus){border:1px solid var(--yellow-500);box-shadow:0 0 0 4px #ffab0026,0 1px 2px #1018280d}.content-input-main-626.theme-red:has(input:focus){border:1px solid var(--red-500);box-shadow:0 0 0 4px #ff563026,0 1px 2px #1018280d}.content-input-main-626.sm input{height:22px;font-size:.75rem}.content-input-main-626.sm .icon{width:20px;cursor:default}.content-input-main-626.sm .icon span{font-size:1.2em;display:flex}.content-input-main-626{display:flex;border:1px solid var(--secondary-500);border-radius:4px;padding:0 8px;margin:3px 0;background-color:var(--neutrals-1200)}.content-input-main-626 input{width:100%;border:0px;color:var(--secondary-600);writing-mode:unset;height:36px;font-size:inherit;background-color:var(--neutrals-1200)}.content-input-main-626 input:focus,.content-input-main-626 input:focus-visible{outline:none}.content-input-main-626 .icon{width:20px;cursor:default}.content-input-main-626 .icon span{display:flex}.content-input-main-626 .content-center{width:100%;background-color:var(--neutrals-1200)}.content-input-main-626 .content-left{display:flex;align-items:center;justify-content:space-evenly;margin-right:8px;color:var(--primary-600)}.content-input-main-626 .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:8px;color:var(--secondary-600)}.disabled-active{background-color:var(--neutrals-1100)}.theme-red{border:1px solid var(--red-500)}.theme-red .icon.report span{color:var(--red-600)}.theme-green{border:1px solid var(--green-500)}.theme-green .icon.report span{color:var(--green-600)}.theme-yellow{border:1px solid var(--yellow-500)}.theme-yellow .icon.report span{color:var(--yellow-600)}.content-input-main-626.content-input-main-password .content-right .icon span{color:var(--secondary-500)}.content-input-main-url .content-left,.content-input-main-color .content-left{border-right:1px solid var(--secondary-500);padding-right:8px;color:var(--secondary-500);font-size:.9rem;padding-left:8px}.content-input-main-url,.content-input-main-color{padding-left:0}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px var(--neutrals-1200) inset!important}.content-input-main-626.content-input-main-number input::-webkit-outer-spin-button,.content-input-main-626.content-input-main-number input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.content-input-main-626.content-input-main-number input[type=number]{-moz-appearance:textfield}.button-input-626{font-size:15px;font-weight:700}\n"] }]
135
160
  }], ctorParameters: function () { return []; }, propDecorators: { text: [{
136
161
  type: Input
137
162
  }], name: [{
@@ -140,6 +165,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
140
165
  type: Input
141
166
  }], disabled: [{
142
167
  type: Input
168
+ }], max: [{
169
+ type: Input
170
+ }], min: [{
171
+ type: Input
172
+ }], step: [{
173
+ type: Input
143
174
  }], theme: [{
144
175
  type: Input
145
176
  }], type: [{
@@ -155,4 +186,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
155
186
  }], clickHelpIconEvent: [{
156
187
  type: Output
157
188
  }] } });
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicy1pbnB1dC10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpZGVzeXMtZ2VuZXJpYy11aS9zcmMvbGliL2lucHV0L2NvbXBvbmVudHMvaW5wdXQtdGV4dC9zLWlucHV0LXRleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvaW5wdXQvY29tcG9uZW50cy9pbnB1dC10ZXh0L3MtaW5wdXQtdGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hJLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFlekUsTUFBTSxPQUFPLG1CQUFtQjtJQW9DOUI7UUFsQ0EsYUFBUSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDM0IsWUFBTyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVYLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQixnQkFBVyxHQUFZLEVBQUUsQ0FBQztRQUMxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBWTFCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUN0QixTQUFJLEdBQWdCLElBQUksQ0FBQztRQUdsQyxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLFVBQUssR0FBVyxNQUFNLENBQUM7UUFDdkIsV0FBTSxHQUFXLFNBQVMsQ0FBQztRQUMzQixrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUMzQixlQUFVLEdBQUcsS0FB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cEIsQ0FBQzs7Z0hBeElVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLDRTQVJuQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO1lBQ2xELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRiwrQ0NkSCx1eFRBa01lOzJGRGxMRixtQkFBbUI7a0JBYi9CLFNBQVM7K0JBQ0UsY0FBYyxpQkFHVCxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDOzRCQUNsRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjswRUFPUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFHRixLQUFLO3NCQURSLEtBQUs7Z0JBTUYsSUFBSTtzQkFEUCxLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFXSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24sIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzLWlucHV0LXRleHQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zLWlucHV0LXRleHQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3MtaW5wdXQtdGV4dC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTSW5wdXRUZXh0Q29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWVcclxuICAgIH1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTSW5wdXRUZXh0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yICB7XHJcblxyXG4gIG9uQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xyXG4gIG9uVG91Y2ggPSAoKSA9PiB7IH07XHJcblxyXG4gIEBJbnB1dCgpIHRleHQ6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIHBsYWNlSG9sZGVyPzogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBcclxuICBASW5wdXQoKVxyXG4gIGdldCB0aGVtZSgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fdGhlbWU7IH1cclxuICBzZXQgdGhlbWUodmFsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3RoZW1lID0gWydkZWZhdWx0JywgJ2dyZWVuJywgJ3llbGxvdycsICdyZWQnXS5pbmRleE9mKHZhbCkgIT0gLTEgPyB2YWwgOiAnZGVmYXVsdCc7XHJcbiAgfTtcclxuICBASW5wdXQoKVxyXG4gIGdldCB0eXBlKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLl90eXBlOyB9XHJcbiAgc2V0IHR5cGUodmFsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3R5cGUgPSBbJ3RleHQnLCAncGFzc3dvcmQnLCAnZW1haWwnLCAncGhvbmUnLCAndXJsJywgJ3NlYXJjaCcsICdudW1iZXInLCAnY29sb3InLCAnZGF0ZSddLmluZGV4T2YodmFsKSAhPSAtMSA/IHZhbCA6ICd0ZXh0JztcclxuICB9O1xyXG4gIEBJbnB1dCgpIGNsYXNzQWRkOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBoZWxwOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2l6ZTogJ3NtJyB8ICdtZCcgPSAnbWQnO1xyXG5cclxuICBpbnB1dFRpbWVvdXQ/OiBhbnk7XHJcbiAgaW5wdXRUZXh0OiBzdHJpbmcgPSAnJztcclxuICBfdHlwZTogc3RyaW5nID0gJ3RleHQnO1xyXG4gIF90aGVtZTogc3RyaW5nID0gJ2RlZmF1bHQnO1xyXG4gIGRpc2FibGVkc3R5bGU6IHN0cmluZyA9ICcnO1xyXG4gIHZpc2liaWxpdHkgPSBmYWxzZTtcclxuICBpY29uTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIGluY29uU3ltYm9sOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKSB0ZXh0Q2hhbmdlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgY2xpY2tIZWxwSWNvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgXHJcbiAgICBcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX3R5cGUgPT0gJ2NvbG9yJyAmJiB0aGlzLnRleHQgPT0gJycpIHtcclxuICAgICAgdGhpcy50ZXh0ID0gJyMwMDAwMDAnXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pbnB1dFRleHQgPSB0aGlzLnRleHQ7XHJcblxyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgdGhpcy5kaXNhYmxlZHN0eWxlID0gXCJkaXNhYmxlZC1hY3RpdmVcIlxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubG9hZFRoZW1lKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1sndGhlbWUnXSkge1xyXG4gICAgICB0aGlzLmxvYWRUaGVtZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkVGhlbWUoKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMudGhlbWUpIHtcclxuICAgICAgY2FzZSBcImRlZmF1bHRcIjpcclxuICAgICAgICB0aGlzLmljb25OYW1lID0gXCJcIlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFwicmVkXCI6XHJcbiAgICAgICAgdGhpcy5pY29uTmFtZSA9IFwiZXJyb3Jfb3V0bGluZVwiXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgXCJncmVlblwiOlxyXG4gICAgICAgIHRoaXMuaWNvbk5hbWUgPSBcImNoZWNrX2NpcmNsZV9vdXRsaW5lXCJcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBcInllbGxvd1wiOlxyXG4gICAgICAgIHRoaXMuaW5jb25TeW1ib2wgPSB0cnVlXHJcbiAgICAgICAgdGhpcy5pY29uTmFtZSA9IFwid2FybmluZ1wiXHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRoaXMuaWNvbk5hbWUgPSBcIlwiXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblRleHRDaGFuZ2UoKSB7XHJcblxyXG4gICAgdGhpcy5vblRvdWNoKCk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuaW5wdXRUZXh0KTtcclxuXHJcbiAgICBpZiAodGhpcy5pbnB1dFRpbWVvdXQpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuaW5wdXRUaW1lb3V0KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmlucHV0VGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnRleHRDaGFuZ2VFdmVudC5uZXh0KHRoaXMuaW5wdXRUZXh0KTtcclxuICAgIH0sIDUwMCwgbnVsbCk7XHJcbiAgfVxyXG5cclxuICBvblRleHRDaGFuZ2VWYWwodmFsOiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLmlucHV0VGltZW91dCkge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5pbnB1dFRpbWVvdXQpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaW5wdXRUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGlmICh2YWwpIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2goKTtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbCk7XHJcbiAgICAgICAgdGhpcy50ZXh0Q2hhbmdlRXZlbnQubmV4dCh2YWwpO1xyXG4gICAgICAgIHRoaXMuaW5wdXRUZXh0ID0gdmFsO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMub25Ub3VjaCgpO1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsKTtcclxuICAgICAgICB0aGlzLnRleHRDaGFuZ2VFdmVudC5uZXh0KHRoaXMuaW5wdXRUZXh0KTtcclxuICAgICAgfVxyXG4gICAgfSwgNTAwLCBudWxsKTtcclxuICB9XHJcblxyXG4gIGNsaWNrSWNvbigpIHtcclxuICAgIHRoaXMuY2xpY2tIZWxwSWNvbkV2ZW50Lm5leHQoKTtcclxuICB9XHJcblxyXG4gIGNvbG9yQ2xpY2soKSB7XHJcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLm5hbWUpPy5jbGljaygpO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5pbnB1dFRleHQgPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInR5cGVcIj5cclxuICAgIDwhLS0gRWwgc3dpdGNoIGNhc2UgY29uIGNhZGEgY2FzbyBwb3IgaW5wdXQgIFsndGV4dCcsICdwYXNzd29yZCcsICdlbWFpbCcgLCAncGhvbmUnICwgJ3VybCcgLCAnc2VhcmNoJ10tLT5cclxuXHJcbiAgICA8IS0tIGNhc2UgdGV4dCAtLT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid0ZXh0J1wiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJjb250ZW50LWlucHV0LW1haW4tNjI2IGNvbnRlbnQtaW5wdXQtbWFpbi10ZXh0IHt7c2l6ZX19IHRoZW1lLXt7dGhlbWV9fSB7e2NsYXNzQWRkfX0ge3tkaXNhYmxlZHN0eWxlfX1cIj5cclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY29udGVudC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCBjbGFzcz1cImljb25cIj5lbWFpbDwvcy1pY29uLW1hdD5cclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFxyXG4gICAgICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiIFxyXG4gICAgICAgICAgICAgICAgW2lkXT1cIm5hbWVcIiBcclxuICAgICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIiBcclxuICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2VIb2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dFRleHRcIlxyXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25UZXh0Q2hhbmdlKClcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRoZW1lICE9ICdkZWZhdWx0J1wiIGNsYXNzPVwiY29udGVudC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgW3R5cGVdPVwiaW5jb25TeW1ib2w/J3N5bWJvbCc6J2ljb24nXCIgY2xhc3M9XCJpY29uIHJlcG9ydFwiPnt7aWNvbk5hbWV9fTwvcy1pY29uLW1hdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhlbWUgPT0gJ2RlZmF1bHQnICYmIGhlbHBcIiBjbGFzcz1cImNvbnRlbnQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgIDxzLWljb24tbWF0IChjbGljayk9XCJjbGlja0ljb24oKVwiIGNsYXNzPVwiaWNvbiBjdXJzb3JcIj5oZWxwX291dGxpbmU8L3MtaWNvbi1tYXQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPCEtLSBjYXNlIHBhc3N3b3JkIC0tPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3Bhc3N3b3JkJ1wiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJjb250ZW50LWlucHV0LW1haW4tNjI2IGNvbnRlbnQtaW5wdXQtbWFpbi1wYXNzd29yZCB7e3NpemV9fSB0aGVtZS17e3RoZW1lfX0ge3tjbGFzc0FkZH19IHt7ZGlzYWJsZWRzdHlsZX19XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWxlZnRcIj5cclxuICAgICAgICAgICAgICAgIDxzLWljb24tbWF0IGNsYXNzPVwiaWNvblwiPnZwbl9rZXk8L3MtaWNvbi1tYXQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwie3t2aXNpYmlsaXR5ID8gJ3RleHQnIDogJ3Bhc3N3b3JkJ319XCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyXCIgWyhuZ01vZGVsKV09XCJpbnB1dFRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVGV4dENoYW5nZSgpXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgW3R5cGVdPVwiaW5jb25TeW1ib2w/J3N5bWJvbCc6J2ljb24nXCIgY2xhc3M9XCJpY29uIGN1cnNvclwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInZpc2liaWxpdHkgPSAhdmlzaWJpbGl0eVwiPnt7dmlzaWJpbGl0eSA/ICd2aXNpYmlsaXR5JyA6XHJcbiAgICAgICAgICAgICAgICAgICAgJ3Zpc2liaWxpdHlfb2ZmJ319PC9zLWljb24tbWF0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDwhLS0gY2FzZSBlbWFpbCAtLT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidlbWFpbCdcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiY29udGVudC1pbnB1dC1tYWluLTYyNiBjb250ZW50LWlucHV0LW1haW4tZW1haWwge3tzaXplfX0gdGhlbWUte3t0aGVtZX19IHt7Y2xhc3NBZGR9fSB7e2Rpc2FibGVkc3R5bGV9fVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCBjbGFzcz1cImljb25cIj5tYWlsX291dGxpbmU8L3MtaWNvbi1tYXQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbdHlwZV09XCJ0eXBlXCIgW2lkXT1cIm5hbWVcIiBbbmFtZV09XCJuYW1lXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2VIb2xkZXJcIiBbKG5nTW9kZWwpXT1cImlucHV0VGV4dFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVGV4dENoYW5nZSgpXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhlbWUgIT0gJ2RlZmF1bHQnXCIgY2xhc3M9XCJjb250ZW50LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCBbdHlwZV09XCJpbmNvblN5bWJvbD8nc3ltYm9sJzonaWNvbidcIiBjbGFzcz1cImljb24gcmVwb3J0XCI+e3tpY29uTmFtZX19PC9zLWljb24tbWF0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aGVtZSA9PSAnZGVmYXVsdCcgJiYgaGVscFwiIGNsYXNzPVwiY29udGVudC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgKGNsaWNrKT1cImNsaWNrSWNvbigpXCIgY2xhc3M9XCJpY29uIGN1cnNvclwiPmhlbHBfb3V0bGluZTwvcy1pY29uLW1hdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcblxyXG4gICAgPCEtLSBjYXNlIHBob25lIC0tPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3Bob25lJ1wiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJjb250ZW50LWlucHV0LW1haW4tNjI2IGNvbnRlbnQtaW5wdXQtbWFpbi1waG9uZSB7e3NpemV9fSB0aGVtZS17e3RoZW1lfX0ge3tjbGFzc0FkZH19IHt7ZGlzYWJsZWRzdHlsZX19XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWxlZnRcIj5cclxuICAgICAgICAgICAgICAgIDxzLWljb24tbWF0IGNsYXNzPVwiaWNvblwiPnBob25lPC9zLWljb24tbWF0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3R5cGVdPVwidHlwZVwiIFtpZF09XCJuYW1lXCIgW25hbWVdPVwibmFtZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyXCIgWyhuZ01vZGVsKV09XCJpbnB1dFRleHRcIiAobmdNb2RlbENoYW5nZSk9XCJvblRleHRDaGFuZ2UoKVwiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRoZW1lICE9ICdkZWZhdWx0J1wiIGNsYXNzPVwiY29udGVudC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgW3R5cGVdPVwiaW5jb25TeW1ib2w/J3N5bWJvbCc6J2ljb24nXCIgY2xhc3M9XCJpY29uIHJlcG9ydFwiPnt7aWNvbk5hbWV9fTwvcy1pY29uLW1hdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhlbWUgPT0gJ2RlZmF1bHQnICYmIGhlbHBcIiBjbGFzcz1cImNvbnRlbnQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgIDxzLWljb24tbWF0IChjbGljayk9XCJjbGlja0ljb24oKVwiIGNsYXNzPVwiaWNvbiBjdXJzb3JcIj5oZWxwX291dGxpbmU8L3MtaWNvbi1tYXQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG5cclxuICAgIDwhLS0gY2FzZSB1cmwgLS0+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndXJsJ1wiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJjb250ZW50LWlucHV0LW1haW4tNjI2IGNvbnRlbnQtaW5wdXQtbWFpbi11cmwge3tzaXplfX0gdGhlbWUte3t0aGVtZX19IHt7Y2xhc3NBZGR9fSB7e2Rpc2FibGVkc3R5bGV9fVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICBodHRwOi8vXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbdHlwZV09XCJ0eXBlXCIgW2lkXT1cIm5hbWVcIiBbbmFtZV09XCJuYW1lXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2VIb2xkZXJcIiBbKG5nTW9kZWwpXT1cImlucHV0VGV4dFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVGV4dENoYW5nZSgpXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhlbWUgIT0gJ2RlZmF1bHQnXCIgY2xhc3M9XCJjb250ZW50LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCBbdHlwZV09XCJpbmNvblN5bWJvbD8nc3ltYm9sJzonaWNvbidcIiBjbGFzcz1cImljb24gcmVwb3J0XCI+e3tpY29uTmFtZX19PC9zLWljb24tbWF0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aGVtZSA9PSAnZGVmYXVsdCcgJiYgaGVscFwiIGNsYXNzPVwiY29udGVudC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgKGNsaWNrKT1cImNsaWNrSWNvbigpXCIgY2xhc3M9XCJpY29uIGN1cnNvclwiPmhlbHBfb3V0bGluZTwvcy1pY29uLW1hdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcblxyXG4gICAgPCEtLSBjYXNlIHNlYXJjaCAtLT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidzZWFyY2gnXCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cImNvbnRlbnQtaW5wdXQtbWFpbi02MjYgY29udGVudC1pbnB1dC1tYWluLXNlYXJjaCB7e3NpemV9fSB0aGVtZS17e3RoZW1lfX0ge3tjbGFzc0FkZH19IHt7ZGlzYWJsZWRzdHlsZX19XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWxlZnRcIj5cclxuICAgICAgICAgICAgICAgIDxzLWljb24tbWF0IGNsYXNzPVwiaWNvblwiPnNlYXJjaDwvcy1pY29uLW1hdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFt0eXBlXT1cInR5cGVcIiBbaWRdPVwibmFtZVwiIFtuYW1lXT1cIm5hbWVcIiBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZUhvbGRlclwiIFsobmdNb2RlbCldPVwiaW5wdXRUZXh0XCIgKG5nTW9kZWxDaGFuZ2UpPVwib25UZXh0Q2hhbmdlKClcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNvbnRlbnQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgIDxzLWljb24tbWF0IGNsYXNzPVwiaWNvbiBjdXJzb3JcIj5oZWxwX291dGxpbmU8L3MtaWNvbi1tYXQ+XHJcbiAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDwhLS0gY2FzZSBjb2xvciAtLT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidjb2xvcidcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiY29udGVudC1pbnB1dC1tYWluLTYyNiBjb250ZW50LWlucHV0LW1haW4tY29sb3Ige3tzaXplfX0gdGhlbWUte3t0aGVtZX19IHt7Y2xhc3NBZGR9fSB7e2Rpc2FibGVkc3R5bGV9fVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgICNjb2xvciBbaWRdPVwibmFtZVwiIFtuYW1lXT1cIm5hbWVcIiB0eXBlPVwiY29sb3JcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbKG5nTW9kZWwpXT1cImlucHV0VGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25UZXh0Q2hhbmdlKClcIiBzdHlsZT1cIndpZHRoOiA0MHB4OyBwYWRkaW5nOiAwO1wiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtY2VudGVyXCIgKGNsaWNrKT1cInRoaXMuY29sb3IuY2xpY2soKVwiPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IFt0eXBlXT1cInRleHRcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2VIb2xkZXJcIiBbKG5nTW9kZWwpXT1cImlucHV0VGV4dFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRoZW1lICE9ICdkZWZhdWx0J1wiIGNsYXNzPVwiY29udGVudC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgW3R5cGVdPVwiaW5jb25TeW1ib2w/J3N5bWJvbCc6J2ljb24nXCIgY2xhc3M9XCJpY29uIHJlcG9ydFwiPnt7aWNvbk5hbWV9fTwvcy1pY29uLW1hdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhlbWUgPT0gJ2RlZmF1bHQnICYmIGhlbHBcIiBjbGFzcz1cImNvbnRlbnQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgIDxzLWljb24tbWF0IChjbGljayk9XCJjbGlja0ljb24oKVwiIGNsYXNzPVwiaWNvbiBjdXJzb3JcIj5oZWxwX291dGxpbmU8L3MtaWNvbi1tYXQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPCEtLSBjYXNlIGRhdGUgLS0+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGF0ZSdcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiY29udGVudC1pbnB1dC1tYWluLTYyNiBjb250ZW50LWlucHV0LW1haW4tdGV4dCB7e3NpemV9fSB0aGVtZS17e3RoZW1lfX0ge3tjbGFzc0FkZH19IHt7ZGlzYWJsZWRzdHlsZX19XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFt0eXBlXT1cInR5cGVcIiBbaWRdPVwibmFtZVwiIFtuYW1lXT1cIm5hbWVcIiBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZUhvbGRlclwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVGV4dENoYW5nZVZhbCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJpbnB1dFRleHQgfCBkYXRlOid5eXl5LU1NLWRkJyA6ICdVVEMnXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhlbWUgIT0gJ2RlZmF1bHQnXCIgY2xhc3M9XCJjb250ZW50LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCBbdHlwZV09XCJpbmNvblN5bWJvbD8nc3ltYm9sJzonaWNvbidcIiBjbGFzcz1cImljb24gcmVwb3J0XCI+e3tpY29uTmFtZX19PC9zLWljb24tbWF0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRoZW1lID09ICdkZWZhdWx0JyAmJiBoZWxwXCIgY2xhc3M9XCJjb250ZW50LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCAoY2xpY2spPVwiY2xpY2tJY29uKClcIiBjbGFzcz1cImljb24gY3Vyc29yXCI+aGVscF9vdXRsaW5lPC9zLWljb24tbWF0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDwhLS0gY2FzZSBkZWZhdWx0IC0tPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJjb250ZW50LWlucHV0LW1haW4tNjI2IGNvbnRlbnQtaW5wdXQtbWFpbi10ZXh0IHt7c2l6ZX19IHRoZW1lLXt7dGhlbWV9fSB7e2NsYXNzQWRkfX0ge3tkaXNhYmxlZHN0eWxlfX1cIj5cclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY29udGVudC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCBjbGFzcz1cImljb25cIj5lbWFpbDwvcy1pY29uLW1hdD5cclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbdHlwZV09XCJ0eXBlXCIgW2lkXT1cIm5hbWVcIiBbbmFtZV09XCJuYW1lXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2VIb2xkZXJcIiBbKG5nTW9kZWwpXT1cImlucHV0VGV4dFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVGV4dENoYW5nZSgpXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhlbWUgIT0gJ2RlZmF1bHQnXCIgY2xhc3M9XCJjb250ZW50LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCBbdHlwZV09XCJpbmNvblN5bWJvbD8nc3ltYm9sJzonaWNvbidcIiBjbGFzcz1cImljb24gcmVwb3J0XCI+e3tpY29uTmFtZX19PC9zLWljb24tbWF0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aGVtZSA9PSAnZGVmYXVsdCcgJiYgaGVscFwiIGNsYXNzPVwiY29udGVudC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgKGNsaWNrKT1cImNsaWNrSWNvbigpXCIgY2xhc3M9XCJpY29uIGN1cnNvclwiPmhlbHBfb3V0bGluZTwvcy1pY29uLW1hdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbjwvbmctY29udGFpbmVyPiJdfQ==
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicy1pbnB1dC10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpZGVzeXMtZ2VuZXJpYy11aS9zcmMvbGliL2lucHV0L2NvbXBvbmVudHMvaW5wdXQtdGV4dC9zLWlucHV0LXRleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvaW5wdXQvY29tcG9uZW50cy9pbnB1dC10ZXh0L3MtaW5wdXQtdGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hJLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBZXpFLE1BQU0sT0FBTyxtQkFBbUI7SUF3QzlCO1FBdENBLGFBQVEsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLFlBQU8sR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFWCxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBQ2xCLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsZ0JBQVcsR0FBWSxFQUFFLENBQUM7UUFDMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixRQUFHLEdBQVcsT0FBTyxDQUFDO1FBQ3RCLFFBQUcsR0FBVyxDQUFDLENBQUM7UUFDaEIsU0FBSSxHQUFXLENBQUMsQ0FBQztRQVlqQixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLFNBQUksR0FBWSxLQUFLLENBQUM7UUFDdEIsU0FBSSxHQUFnQixJQUFJLENBQUM7UUFHbEMsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUN2QixnQkFBVyxHQUFXLENB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QUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztZQUNsRCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsK0NDZEgseWdYQWlPZTsyRkRqTkYsbUJBQW1CO2tCQWIvQixTQUFTOytCQUNFLGNBQWMsaUJBR1QsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQzs0QkFDbEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7MEVBT1EsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0YsS0FBSztzQkFEUixLQUFLO2dCQU1GLElBQUk7c0JBRFAsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBWUksZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdFbmNhcHN1bGF0aW9uLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncy1pbnB1dC10ZXh0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcy1pbnB1dC10ZXh0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zLWlucHV0LXRleHQuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU0lucHV0VGV4dENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU0lucHV0VGV4dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3NvciAge1xyXG5cclxuICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHsgfTtcclxuICBvblRvdWNoID0gKCkgPT4geyB9O1xyXG5cclxuICBASW5wdXQoKSB0ZXh0OiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBuYW1lOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBwbGFjZUhvbGRlcj86IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbWF4OiBudW1iZXIgPSAxMDAwMDAwO1xyXG4gIEBJbnB1dCgpIG1pbjogbnVtYmVyID0gMDtcclxuICBASW5wdXQoKSBzdGVwOiBudW1iZXIgPSAxO1xyXG4gIFxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHRoZW1lKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLl90aGVtZTsgfVxyXG4gIHNldCB0aGVtZSh2YWw6IHN0cmluZykge1xyXG4gICAgdGhpcy5fdGhlbWUgPSBbJ2RlZmF1bHQnLCAnZ3JlZW4nLCAneWVsbG93JywgJ3JlZCddLmluZGV4T2YodmFsKSAhPSAtMSA/IHZhbCA6ICdkZWZhdWx0JztcclxuICB9O1xyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHR5cGUoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuX3R5cGU7IH1cclxuICBzZXQgdHlwZSh2YWw6IHN0cmluZykge1xyXG4gICAgdGhpcy5fdHlwZSA9IFsndGV4dCcsICdwYXNzd29yZCcsICdlbWFpbCcsICdwaG9uZScsICd1cmwnLCAnc2VhcmNoJywgJ251bWJlcicsICdjb2xvcicsICdkYXRlJ10uaW5kZXhPZih2YWwpICE9IC0xID8gdmFsIDogJ3RleHQnO1xyXG4gIH07XHJcbiAgQElucHV0KCkgY2xhc3NBZGQ6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIGhlbHA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaXplOiAnc20nIHwgJ21kJyA9ICdtZCc7XHJcblxyXG4gIGlucHV0VGltZW91dD86IGFueTtcclxuICBpbnB1dFRleHQ6IHN0cmluZyA9ICcnO1xyXG4gIGlucHV0TnVtYmVyOiBudW1iZXIgPSAwO1xyXG4gIF90eXBlOiBzdHJpbmcgPSAndGV4dCc7XHJcbiAgX3RoZW1lOiBzdHJpbmcgPSAnZGVmYXVsdCc7XHJcbiAgZGlzYWJsZWRzdHlsZTogc3RyaW5nID0gJyc7XHJcbiAgdmlzaWJpbGl0eSA9IGZhbHNlO1xyXG4gIGljb25OYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgaW5jb25TeW1ib2w6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIHRleHRDaGFuZ2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBjbGlja0hlbHBJY29uRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyBcclxuICAgIFxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBcclxuICAgIGlmKHRoaXMudGV4dCAmJiB0aGlzLnR5cGUgPT0gJ251bWJlcicpe1xyXG4gICAgICAgIHRoaXMuaW5wdXROdW1iZXIgPSBOdW1iZXIodGhpcy50ZXh0KVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLl90eXBlID09ICdjb2xvcicgJiYgdGhpcy50ZXh0ID09ICcnKSB7XHJcbiAgICAgIHRoaXMudGV4dCA9ICcjMDAwMDAwJ1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaW5wdXRUZXh0ID0gdGhpcy50ZXh0O1xyXG5cclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuZGlzYWJsZWRzdHlsZSA9IFwiZGlzYWJsZWQtYWN0aXZlXCJcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxvYWRUaGVtZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ3RoZW1lJ10pIHtcclxuICAgICAgdGhpcy5sb2FkVGhlbWUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9hZFRoZW1lKCkge1xyXG4gICAgc3dpdGNoICh0aGlzLnRoZW1lKSB7XHJcbiAgICAgIGNhc2UgXCJkZWZhdWx0XCI6XHJcbiAgICAgICAgdGhpcy5pY29uTmFtZSA9IFwiXCJcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBcInJlZFwiOlxyXG4gICAgICAgIHRoaXMuaWNvbk5hbWUgPSBcImVycm9yX291dGxpbmVcIlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFwiZ3JlZW5cIjpcclxuICAgICAgICB0aGlzLmljb25OYW1lID0gXCJjaGVja19jaXJjbGVfb3V0bGluZVwiXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgXCJ5ZWxsb3dcIjpcclxuICAgICAgICB0aGlzLmluY29uU3ltYm9sID0gdHJ1ZVxyXG4gICAgICAgIHRoaXMuaWNvbk5hbWUgPSBcIndhcm5pbmdcIlxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aGlzLmljb25OYW1lID0gXCJcIlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25UZXh0Q2hhbmdlKCkge1xyXG5cclxuICAgIHRoaXMub25Ub3VjaCgpO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLmlucHV0VGV4dCk7XHJcblxyXG4gICAgaWYgKHRoaXMuaW5wdXRUaW1lb3V0KSB7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmlucHV0VGltZW91dCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pbnB1dFRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy50ZXh0Q2hhbmdlRXZlbnQubmV4dCh0aGlzLmlucHV0VGV4dCk7XHJcbiAgICB9LCA1MDAsIG51bGwpO1xyXG4gIH1cclxuXHJcbiAgb25UZXh0Q2hhbmdlVmFsKHZhbDogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5pbnB1dFRpbWVvdXQpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuaW5wdXRUaW1lb3V0KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmlucHV0VGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAodmFsKSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoKCk7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWwpO1xyXG4gICAgICAgIHRoaXMudGV4dENoYW5nZUV2ZW50Lm5leHQodmFsKTtcclxuICAgICAgICB0aGlzLmlucHV0VGV4dCA9IHZhbDtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2goKTtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbCk7XHJcbiAgICAgICAgdGhpcy50ZXh0Q2hhbmdlRXZlbnQubmV4dCh0aGlzLmlucHV0VGV4dCk7XHJcbiAgICAgIH1cclxuICAgIH0sIDUwMCwgbnVsbCk7XHJcbiAgfVxyXG5cclxuICBjbGlja0ljb24oKSB7XHJcbiAgICB0aGlzLmNsaWNrSGVscEljb25FdmVudC5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBjb2xvckNsaWNrKCkge1xyXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5uYW1lKT8uY2xpY2soKTtcclxuICB9XHJcblxyXG4gIG51bWJlckRlY3JlYXNlKCl7XHJcbiAgICBpZih0aGlzLm1pbiA8IHRoaXMuaW5wdXROdW1iZXIpe1xyXG4gICAgICB0aGlzLmlucHV0TnVtYmVyLT10aGlzLnN0ZXBcclxuICAgIH1cclxuICAgIHRoaXMuaW5wdXRUZXh0ID0gdGhpcy5pbnB1dE51bWJlci50b1N0cmluZygpXHJcbiAgICB0aGlzLm9uVG91Y2goKTtcclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy5pbnB1dFRleHQpO1xyXG4gIH1cclxuXHJcbiAgbnVtYmVySW5jcmVtZW50KCl7XHJcbiAgICBpZih0aGlzLm1heCAmJiB0aGlzLm1heCA+IHRoaXMuaW5wdXROdW1iZXIpe1xyXG4gICAgICB0aGlzLmlucHV0TnVtYmVyKz10aGlzLnN0ZXBcclxuICAgIH1cclxuICAgIHRoaXMuaW5wdXRUZXh0ID0gdGhpcy5pbnB1dE51bWJlci50b1N0cmluZygpXHJcbiAgICB0aGlzLm9uVG91Y2goKTtcclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy5pbnB1dFRleHQpO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5pbnB1dFRleHQgPSB2YWx1ZTtcclxuICAgICAgdGhpcy5pbnB1dE51bWJlciA9IHZhbHVlXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJ0eXBlXCI+XHJcbiAgICA8IS0tIEVsIHN3aXRjaCBjYXNlIGNvbiBjYWRhIGNhc28gcG9yIGlucHV0ICBbJ3RleHQnLCAncGFzc3dvcmQnLCAnZW1haWwnICwgJ3Bob25lJyAsICd1cmwnICwgJ3NlYXJjaCddLS0+XHJcblxyXG4gICAgPCEtLSBjYXNlIHRleHQgLS0+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGV4dCdcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiY29udGVudC1pbnB1dC1tYWluLTYyNiBjb250ZW50LWlucHV0LW1haW4tdGV4dCB7e3NpemV9fSB0aGVtZS17e3RoZW1lfX0ge3tjbGFzc0FkZH19IHt7ZGlzYWJsZWRzdHlsZX19XCI+XHJcbiAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNvbnRlbnQtbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgY2xhc3M9XCJpY29uXCI+ZW1haWw8L3MtaWNvbi1tYXQ+XHJcbiAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBcclxuICAgICAgICAgICAgICAgIFt0eXBlXT1cInR5cGVcIiBcclxuICAgICAgICAgICAgICAgIFtpZF09XCJuYW1lXCIgXHJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lXCIgXHJcbiAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaW5wdXRUZXh0XCJcclxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVGV4dENoYW5nZSgpXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aGVtZSAhPSAnZGVmYXVsdCdcIiBjbGFzcz1cImNvbnRlbnQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgIDxzLWljb24tbWF0IFt0eXBlXT1cImluY29uU3ltYm9sPydzeW1ib2wnOidpY29uJ1wiIGNsYXNzPVwiaWNvbiByZXBvcnRcIj57e2ljb25OYW1lfX08L3MtaWNvbi1tYXQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRoZW1lID09ICdkZWZhdWx0JyAmJiBoZWxwXCIgY2xhc3M9XCJjb250ZW50LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCAoY2xpY2spPVwiY2xpY2tJY29uKClcIiBjbGFzcz1cImljb24gY3Vyc29yXCI+aGVscF9vdXRsaW5lPC9zLWljb24tbWF0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDwhLS0gY2FzZSBwYXNzd29yZCAtLT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidwYXNzd29yZCdcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiY29udGVudC1pbnB1dC1tYWluLTYyNiBjb250ZW50LWlucHV0LW1haW4tcGFzc3dvcmQge3tzaXplfX0gdGhlbWUte3t0aGVtZX19IHt7Y2xhc3NBZGR9fSB7e2Rpc2FibGVkc3R5bGV9fVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCBjbGFzcz1cImljb25cIj52cG5fa2V5PC9zLWljb24tbWF0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInt7dmlzaWJpbGl0eSA/ICd0ZXh0JyA6ICdwYXNzd29yZCd9fVwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZUhvbGRlclwiIFsobmdNb2RlbCldPVwiaW5wdXRUZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblRleHRDaGFuZ2UoKVwiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgIDxzLWljb24tbWF0IFt0eXBlXT1cImluY29uU3ltYm9sPydzeW1ib2wnOidpY29uJ1wiIGNsYXNzPVwiaWNvbiBjdXJzb3JcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ2aXNpYmlsaXR5ID0gIXZpc2liaWxpdHlcIj57e3Zpc2liaWxpdHkgPyAndmlzaWJpbGl0eScgOlxyXG4gICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5X29mZid9fTwvcy1pY29uLW1hdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8IS0tIGNhc2UgZW1haWwgLS0+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZW1haWwnXCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cImNvbnRlbnQtaW5wdXQtbWFpbi02MjYgY29udGVudC1pbnB1dC1tYWluLWVtYWlsIHt7c2l6ZX19IHRoZW1lLXt7dGhlbWV9fSB7e2NsYXNzQWRkfX0ge3tkaXNhYmxlZHN0eWxlfX1cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgY2xhc3M9XCJpY29uXCI+bWFpbF9vdXRsaW5lPC9zLWljb24tbWF0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3R5cGVdPVwidHlwZVwiIFtpZF09XCJuYW1lXCIgW25hbWVdPVwibmFtZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyXCIgWyhuZ01vZGVsKV09XCJpbnB1dFRleHRcIiAobmdNb2RlbENoYW5nZSk9XCJvblRleHRDaGFuZ2UoKVwiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRoZW1lICE9ICdkZWZhdWx0J1wiIGNsYXNzPVwiY29udGVudC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgW3R5cGVdPVwiaW5jb25TeW1ib2w/J3N5bWJvbCc6J2ljb24nXCIgY2xhc3M9XCJpY29uIHJlcG9ydFwiPnt7aWNvbk5hbWV9fTwvcy1pY29uLW1hdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhlbWUgPT0gJ2RlZmF1bHQnICYmIGhlbHBcIiBjbGFzcz1cImNvbnRlbnQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgIDxzLWljb24tbWF0IChjbGljayk9XCJjbGlja0ljb24oKVwiIGNsYXNzPVwiaWNvbiBjdXJzb3JcIj5oZWxwX291dGxpbmU8L3MtaWNvbi1tYXQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG5cclxuICAgIDwhLS0gY2FzZSBwaG9uZSAtLT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidwaG9uZSdcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiY29udGVudC1pbnB1dC1tYWluLTYyNiBjb250ZW50LWlucHV0LW1haW4tcGhvbmUge3tzaXplfX0gdGhlbWUte3t0aGVtZX19IHt7Y2xhc3NBZGR9fSB7e2Rpc2FibGVkc3R5bGV9fVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCBjbGFzcz1cImljb25cIj5waG9uZTwvcy1pY29uLW1hdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFt0eXBlXT1cInR5cGVcIiBbaWRdPVwibmFtZVwiIFtuYW1lXT1cIm5hbWVcIiBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZUhvbGRlclwiIFsobmdNb2RlbCldPVwiaW5wdXRUZXh0XCIgKG5nTW9kZWxDaGFuZ2UpPVwib25UZXh0Q2hhbmdlKClcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aGVtZSAhPSAnZGVmYXVsdCdcIiBjbGFzcz1cImNvbnRlbnQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgIDxzLWljb24tbWF0IFt0eXBlXT1cImluY29uU3ltYm9sPydzeW1ib2wnOidpY29uJ1wiIGNsYXNzPVwiaWNvbiByZXBvcnRcIj57e2ljb25OYW1lfX08L3MtaWNvbi1tYXQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRoZW1lID09ICdkZWZhdWx0JyAmJiBoZWxwXCIgY2xhc3M9XCJjb250ZW50LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCAoY2xpY2spPVwiY2xpY2tJY29uKClcIiBjbGFzcz1cImljb24gY3Vyc29yXCI+aGVscF9vdXRsaW5lPC9zLWljb24tbWF0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuXHJcbiAgICA8IS0tIGNhc2UgdXJsIC0tPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3VybCdcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiY29udGVudC1pbnB1dC1tYWluLTYyNiBjb250ZW50LWlucHV0LW1haW4tdXJsIHt7c2l6ZX19IHRoZW1lLXt7dGhlbWV9fSB7e2NsYXNzQWRkfX0ge3tkaXNhYmxlZHN0eWxlfX1cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgaHR0cDovL1xyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3R5cGVdPVwidHlwZVwiIFtpZF09XCJuYW1lXCIgW25hbWVdPVwibmFtZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyXCIgWyhuZ01vZGVsKV09XCJpbnB1dFRleHRcIiAobmdNb2RlbENoYW5nZSk9XCJvblRleHRDaGFuZ2UoKVwiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRoZW1lICE9ICdkZWZhdWx0J1wiIGNsYXNzPVwiY29udGVudC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgW3R5cGVdPVwiaW5jb25TeW1ib2w/J3N5bWJvbCc6J2ljb24nXCIgY2xhc3M9XCJpY29uIHJlcG9ydFwiPnt7aWNvbk5hbWV9fTwvcy1pY29uLW1hdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhlbWUgPT0gJ2RlZmF1bHQnICYmIGhlbHBcIiBjbGFzcz1cImNvbnRlbnQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgIDxzLWljb24tbWF0IChjbGljayk9XCJjbGlja0ljb24oKVwiIGNsYXNzPVwiaWNvbiBjdXJzb3JcIj5oZWxwX291dGxpbmU8L3MtaWNvbi1tYXQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG5cclxuICAgIDwhLS0gY2FzZSBzZWFyY2ggLS0+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc2VhcmNoJ1wiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJjb250ZW50LWlucHV0LW1haW4tNjI2IGNvbnRlbnQtaW5wdXQtbWFpbi1zZWFyY2gge3tzaXplfX0gdGhlbWUte3t0aGVtZX19IHt7Y2xhc3NBZGR9fSB7e2Rpc2FibGVkc3R5bGV9fVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCBjbGFzcz1cImljb25cIj5zZWFyY2g8L3MtaWNvbi1tYXQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbdHlwZV09XCJ0eXBlXCIgW2lkXT1cIm5hbWVcIiBbbmFtZV09XCJuYW1lXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2VIb2xkZXJcIiBbKG5nTW9kZWwpXT1cImlucHV0VGV4dFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVGV4dENoYW5nZSgpXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJjb250ZW50LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCBjbGFzcz1cImljb24gY3Vyc29yXCI+aGVscF9vdXRsaW5lPC9zLWljb24tbWF0PlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8IS0tIGNhc2UgY29sb3IgLS0+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY29sb3InXCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cImNvbnRlbnQtaW5wdXQtbWFpbi02MjYgY29udGVudC1pbnB1dC1tYWluLWNvbG9yIHt7c2l6ZX19IHRoZW1lLXt7dGhlbWV9fSB7e2NsYXNzQWRkfX0ge3tkaXNhYmxlZHN0eWxlfX1cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0ICAjY29sb3IgW2lkXT1cIm5hbWVcIiBbbmFtZV09XCJuYW1lXCIgdHlwZT1cImNvbG9yXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgWyhuZ01vZGVsKV09XCJpbnB1dFRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVGV4dENoYW5nZSgpXCIgc3R5bGU9XCJ3aWR0aDogNDBweDsgcGFkZGluZzogMDtcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWNlbnRlclwiIChjbGljayk9XCJ0aGlzLmNvbG9yLmNsaWNrKClcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBbdHlwZV09XCJ0ZXh0XCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyXCIgWyhuZ01vZGVsKV09XCJpbnB1dFRleHRcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aGVtZSAhPSAnZGVmYXVsdCdcIiBjbGFzcz1cImNvbnRlbnQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgIDxzLWljb24tbWF0IFt0eXBlXT1cImluY29uU3ltYm9sPydzeW1ib2wnOidpY29uJ1wiIGNsYXNzPVwiaWNvbiByZXBvcnRcIj57e2ljb25OYW1lfX08L3MtaWNvbi1tYXQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRoZW1lID09ICdkZWZhdWx0JyAmJiBoZWxwXCIgY2xhc3M9XCJjb250ZW50LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCAoY2xpY2spPVwiY2xpY2tJY29uKClcIiBjbGFzcz1cImljb24gY3Vyc29yXCI+aGVscF9vdXRsaW5lPC9zLWljb24tbWF0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDwhLS0gY2FzZSBkYXRlIC0tPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cImNvbnRlbnQtaW5wdXQtbWFpbi02MjYgY29udGVudC1pbnB1dC1tYWluLXRleHQge3tzaXplfX0gdGhlbWUte3t0aGVtZX19IHt7Y2xhc3NBZGR9fSB7e2Rpc2FibGVkc3R5bGV9fVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbdHlwZV09XCJ0eXBlXCIgW2lkXT1cIm5hbWVcIiBbbmFtZV09XCJuYW1lXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2VIb2xkZXJcIiAobmdNb2RlbENoYW5nZSk9XCJvblRleHRDaGFuZ2VWYWwoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiaW5wdXRUZXh0IHwgZGF0ZToneXl5eS1NTS1kZCcgOiAnVVRDJ1wiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRoZW1lICE9ICdkZWZhdWx0J1wiIGNsYXNzPVwiY29udGVudC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgW3R5cGVdPVwiaW5jb25TeW1ib2w/J3N5bWJvbCc6J2ljb24nXCIgY2xhc3M9XCJpY29uIHJlcG9ydFwiPnt7aWNvbk5hbWV9fTwvcy1pY29uLW1hdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aGVtZSA9PSAnZGVmYXVsdCcgJiYgaGVscFwiIGNsYXNzPVwiY29udGVudC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgKGNsaWNrKT1cImNsaWNrSWNvbigpXCIgY2xhc3M9XCJpY29uIGN1cnNvclwiPmhlbHBfb3V0bGluZTwvcy1pY29uLW1hdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8IS0tIGNhc2UgbnVtYmVyIC0tPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ251bWJlcidcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZnggZngteFwiPlxyXG4gICAgICAgICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1sZWZ0IG1yLTFcIj5cclxuICAgICAgICAgICAgICAgIDxzLWJ1dHRvbiAoY2xpY2spPVwibnVtYmVyRGVjcmVhc2UoKVwiIFtzaXplXT1cInNpemVcIiBbcGlsbF09XCJ0cnVlXCIgW2ludmVydF09XCJ0cnVlXCIgY2xhc3M9XCJidXR0b24taW5wdXQtNjI2XCI+PHMtaWNvbi1tYXQ+cmVtb3ZlPC9zLWljb24tbWF0Pjwvcy1idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1pbnB1dC1tYWluLTYyNiBjb250ZW50LWlucHV0LW1haW4tdGV4dCBjb250ZW50LWlucHV0LW1haW4tbnVtYmVyIHt7c2l6ZX19IHRoZW1lLXt7dGhlbWV9fSB7e2NsYXNzQWRkfX0ge3tkaXNhYmxlZHN0eWxlfX0gdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbdHlwZV09XCJ0eXBlXCIgW2lkXT1cIm5hbWVcIiBbbmFtZV09XCJuYW1lXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyXCIgWyhuZ01vZGVsKV09XCJpbnB1dFRleHRcIiAobmdNb2RlbENoYW5nZSk9XCJvblRleHRDaGFuZ2UoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXhdPVwibWF4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW21pbl09XCJtaW5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3RlcF09XCJzdGVwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRoZW1lICE9ICdkZWZhdWx0J1wiIGNsYXNzPVwiY29udGVudC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzLWljb24tbWF0IFt0eXBlXT1cImluY29uU3ltYm9sPydzeW1ib2wnOidpY29uJ1wiIGNsYXNzPVwiaWNvbiByZXBvcnRcIj57e2ljb25OYW1lfX08L3MtaWNvbi1tYXQ+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhlbWUgPT0gJ2RlZmF1bHQnICYmIGhlbHBcIiBjbGFzcz1cImNvbnRlbnQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCAoY2xpY2spPVwiY2xpY2tJY29uKClcIiBjbGFzcz1cImljb24gY3Vyc29yXCI+aGVscF9vdXRsaW5lPC9zLWljb24tbWF0PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1sZWZ0IG1sLTFcIj5cclxuICAgICAgICAgICAgICAgIDxzLWJ1dHRvbiAoY2xpY2spPVwibnVtYmVySW5jcmVtZW50KClcIiBbc2l6ZV09XCJzaXplXCIgW3BpbGxdPVwidHJ1ZVwiIFtpbnZlcnRdPVwidHJ1ZVwiIGNsYXNzPVwiYnV0dG9uLWlucHV0LTYyNlwiPjxzLWljb24tbWF0PmFkZDwvcy1pY29uLW1hdD48L3MtYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDwhLS0gY2FzZSBkZWZhdWx0IC0tPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJjb250ZW50LWlucHV0LW1haW4tNjI2IGNvbnRlbnQtaW5wdXQtbWFpbi10ZXh0IHt7c2l6ZX19IHRoZW1lLXt7dGhlbWV9fSB7e2NsYXNzQWRkfX0ge3tkaXNhYmxlZHN0eWxlfX1cIj5cclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY29udGVudC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCBjbGFzcz1cImljb25cIj5lbWFpbDwvcy1pY29uLW1hdD5cclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbdHlwZV09XCJ0eXBlXCIgW2lkXT1cIm5hbWVcIiBbbmFtZV09XCJuYW1lXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2VIb2xkZXJcIiBbKG5nTW9kZWwpXT1cImlucHV0VGV4dFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVGV4dENoYW5nZSgpXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhlbWUgIT0gJ2RlZmF1bHQnXCIgY2xhc3M9XCJjb250ZW50LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICA8cy1pY29uLW1hdCBbdHlwZV09XCJpbmNvblN5bWJvbD8nc3ltYm9sJzonaWNvbidcIiBjbGFzcz1cImljb24gcmVwb3J0XCI+e3tpY29uTmFtZX19PC9zLWljb24tbWF0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aGVtZSA9PSAnZGVmYXVsdCcgJiYgaGVscFwiIGNsYXNzPVwiY29udGVudC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgKGNsaWNrKT1cImNsaWNrSWNvbigpXCIgY2xhc3M9XCJpY29uIGN1cnNvclwiPmhlbHBfb3V0bGluZTwvcy1pY29uLW1hdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbjwvbmctY29udGFpbmVyPiJdfQ==
@@ -5,6 +5,7 @@ import { SErrorControl } from './components/error-control/s-error-control.compon
5
5
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
6
6
  import { SIconMaterialModule } from '../icon-material/s-icon-material.module';
7
7
  import { SInputTextAreaComponent } from './components/input-textarea/s-input-textarea.component';
8
+ import { SButtonModule } from '../button/button.module';
8
9
  import * as i0 from "@angular/core";
9
10
  export class SInputModule {
10
11
  }
@@ -14,14 +15,16 @@ SInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
14
15
  SErrorControl], imports: [CommonModule,
15
16
  FormsModule,
16
17
  ReactiveFormsModule,
17
- SIconMaterialModule], exports: [SInputTextComponent,
18
+ SIconMaterialModule,
19
+ SButtonModule], exports: [SInputTextComponent,
18
20
  SInputTextAreaComponent,
19
21
  SErrorControl] });
20
22
  SInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: SInputModule, imports: [[
21
23
  CommonModule,
22
24
  FormsModule,
23
25
  ReactiveFormsModule,
24
- SIconMaterialModule
26
+ SIconMaterialModule,
27
+ SButtonModule
25
28
  ]] });
26
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: SInputModule, decorators: [{
27
30
  type: NgModule,
@@ -35,7 +38,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
35
38
  CommonModule,
36
39
  FormsModule,
37
40
  ReactiveFormsModule,
38
- SIconMaterialModule
41
+ SIconMaterialModule,
42
+ SButtonModule
39
43
  ],
40
44
  exports: [
41
45
  SInputTextComponent,
@@ -44,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
44
48
  ]
45
49
  }]
46
50
  }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvaW5wdXQvaW5wdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0RBQXdELENBQUM7O0FBcUJqRyxNQUFNLE9BQU8sWUFBWTs7eUdBQVosWUFBWTswR0FBWixZQUFZLGlCQWhCckIsbUJBQW1CO1FBQ25CLHVCQUF1QjtRQUN2QixhQUFhLGFBR2IsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsbUJBQW1CLGFBR25CLG1CQUFtQjtRQUNuQix1QkFBdUI7UUFDdkIsYUFBYTswR0FHSixZQUFZLFlBWmQ7WUFDUCxZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixtQkFBbUI7U0FDcEI7MkZBT1UsWUFBWTtrQkFsQnhCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2QixhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsYUFBYTtxQkFDZDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFNJbnB1dFRleHRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQtdGV4dC9zLWlucHV0LXRleHQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU0Vycm9yQ29udHJvbCB9IGZyb20gJy4vY29tcG9uZW50cy9lcnJvci1jb250cm9sL3MtZXJyb3ItY29udHJvbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU0ljb25NYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uL2ljb24tbWF0ZXJpYWwvcy1pY29uLW1hdGVyaWFsLm1vZHVsZSdcclxuaW1wb3J0IHsgU0lucHV0VGV4dEFyZWFDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQtdGV4dGFyZWEvcy1pbnB1dC10ZXh0YXJlYS5jb21wb25lbnQnO1xyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTSW5wdXRUZXh0Q29tcG9uZW50LFxyXG4gICAgU0lucHV0VGV4dEFyZWFDb21wb25lbnQsXHJcbiAgICBTRXJyb3JDb250cm9sXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBTSWNvbk1hdGVyaWFsTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTSW5wdXRUZXh0Q29tcG9uZW50LFxyXG4gICAgU0lucHV0VGV4dEFyZWFDb21wb25lbnQsXHJcbiAgICBTRXJyb3JDb250cm9sXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU0lucHV0TW9kdWxlIHsgfVxyXG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvaW5wdXQvaW5wdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDakcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQXNCeEQsTUFBTSxPQUFPLFlBQVk7O3lHQUFaLFlBQVk7MEdBQVosWUFBWSxpQkFqQnJCLG1CQUFtQjtRQUNuQix1QkFBdUI7UUFDdkIsYUFBYSxhQUdiLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLG1CQUFtQjtRQUNuQixhQUFhLGFBR2IsbUJBQW1CO1FBQ25CLHVCQUF1QjtRQUN2QixhQUFhOzBHQUdKLFlBQVksWUFiZDtZQUNQLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixhQUFhO1NBQ2Q7MkZBT1UsWUFBWTtrQkFuQnhCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2QixhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2QixhQUFhO3FCQUNkO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgU0lucHV0VGV4dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC10ZXh0L3MtaW5wdXQtdGV4dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTRXJyb3JDb250cm9sIH0gZnJvbSAnLi9jb21wb25lbnRzL2Vycm9yLWNvbnRyb2wvcy1lcnJvci1jb250cm9sLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTSWNvbk1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi4vaWNvbi1tYXRlcmlhbC9zLWljb24tbWF0ZXJpYWwubW9kdWxlJ1xyXG5pbXBvcnQgeyBTSW5wdXRUZXh0QXJlYUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC10ZXh0YXJlYS9zLWlucHV0LXRleHRhcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLm1vZHVsZSc7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNJbnB1dFRleHRDb21wb25lbnQsXHJcbiAgICBTSW5wdXRUZXh0QXJlYUNvbXBvbmVudCxcclxuICAgIFNFcnJvckNvbnRyb2xcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIFNJY29uTWF0ZXJpYWxNb2R1bGUsXHJcbiAgICBTQnV0dG9uTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTSW5wdXRUZXh0Q29tcG9uZW50LFxyXG4gICAgU0lucHV0VGV4dEFyZWFDb21wb25lbnQsXHJcbiAgICBTRXJyb3JDb250cm9sXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU0lucHV0TW9kdWxlIHsgfVxyXG4iXX0=