UNPKG

ng-devui

Version:

DevUI components based on Angular

189 lines 45.7 kB
import { __decorate, __metadata } from "tslib"; import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, forwardRef, HostBinding, Input, Output, Renderer2, ViewChild } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import { I18nService } from 'ng-devui/i18n'; import { DevConfigService, WithConfig } from 'ng-devui/utils'; import { fromEvent, Subject } from 'rxjs'; import { debounceTime, filter, map, takeUntil } from 'rxjs/operators'; import * as i0 from "@angular/core"; import * as i1 from "ng-devui/i18n"; import * as i2 from "ng-devui/utils"; import * as i3 from "@angular/common"; import * as i4 from "ng-devui/common"; export class SearchComponent { get hasGlowStyle() { return this.showGlowStyle; } ; constructor(renderer, i18n, cdr, el, devConfigService) { this.renderer = renderer; this.i18n = i18n; this.cdr = cdr; this.el = el; this.devConfigService = devConfigService; this.maxLength = Number.MAX_SAFE_INTEGER; this.isKeyupSearch = false; this.delay = 300; this.disabled = false; this.iconPosition = 'right'; this.noBorder = false; this.autoFocus = false; this.styleType = 'default'; this.showGlowStyle = true; this.searchFn = new EventEmitter(); this.clearIconExit = false; this.destroy$ = new Subject(); this.onChange = (_) => null; this.onTouch = () => null; } ngOnInit() { this.setI18nText(); } registerOnChange(fn) { this.onChange = fn; } registerOnTouched(fn) { this.onTouch = fn; } writeValue(value = '') { this.renderer.setProperty(this.filterInputElement.nativeElement, 'value', value); this.renderClearIcon(); } setI18nText() { this.i18nCommonText = this.i18n.getI18nText().common; this.i18nSubscription = this.i18n .langChange() .pipe(takeUntil(this.destroy$)) .subscribe((data) => { this.i18nCommonText = data.common; this.cdr.markForCheck(); }); } clearText() { this.renderer.setProperty(this.filterInputElement.nativeElement, 'value', ''); if (this.onChange) { this.onChange(''); } this.searchFn.emit(''); this.filterInputElement.nativeElement.focus(); this.renderClearIcon(); } inputChange(value, event) { this.renderClearIcon(); // 此函数不能删除,需要给filterInput.value赋值,从而控制clear的显隐。因为registerFilterChange对clear的显隐控制不起作用。 } inputBlur() { this.onTouch(); } clickSearch(term) { if (!this.disabled) { this.searchFn.emit(term); } } registerFilterChange() { fromEvent(this.filterInputElement.nativeElement, 'input') .pipe(takeUntil(this.destroy$), map((e) => e.target.value), debounceTime(this.delay)) .subscribe((value) => { this.onChange(value); if (this.isKeyupSearch) { this.searchFn.emit(value); } }); fromEvent(this.filterInputElement.nativeElement, 'keydown') .pipe(takeUntil(this.destroy$), filter((keyEvent) => keyEvent.key === 'Enter'), debounceTime(this.delay)) .subscribe((keyEvent) => { this.searchFn.emit(this.filterInputElement.nativeElement.value); }); } ngAfterViewInit() { this.registerFilterChange(); this.renderClearIcon(); } renderClearIcon() { if (this.iconPosition === 'right') { if (this.filterInputElement.nativeElement.value && this.lineElement && this.clearIconElement) { this.clearIconExit = true; } else if (this.lineElement && this.clearIconElement) { this.clearIconExit = false; } } else { if (this.filterInputElement.nativeElement.value && this.clearIconElement) { this.clearIconExit = true; } else if (this.clearIconElement) { this.clearIconExit = false; } } this.cdr.markForCheck(); } ngOnDestroy() { this.destroy$.next(true); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchComponent, deps: [{ token: i0.Renderer2 }, { token: i1.I18nService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i2.DevConfigService }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SearchComponent, selector: "d-search", inputs: { size: "size", placeholder: "placeholder", maxLength: "maxLength", isKeyupSearch: "isKeyupSearch", delay: "delay", disabled: "disabled", cssClass: "cssClass", iconPosition: "iconPosition", noBorder: "noBorder", autoFocus: "autoFocus", styleType: "styleType", showGlowStyle: "showGlowStyle" }, outputs: { searchFn: "searchFn" }, host: { properties: { "class.devui-glow-style": "this.hasGlowStyle" } }, providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SearchComponent), multi: true, }, ], viewQueries: [{ propertyName: "filterInputElement", first: true, predicate: ["filterInput"], descendants: true, static: true }, { propertyName: "lineElement", first: true, predicate: ["line"], descendants: true }, { propertyName: "clearIconElement", first: true, predicate: ["clearIcon"], descendants: true }], exportAs: ["search"], ngImport: i0, template: "<div class=\"devui-search\" [class.devui-gray-style]=\"styleType === 'gray'\">\n <input\n #filterInput\n [dAutoFocus]=\"autoFocus\"\n [placeholder]=\"placeholder || i18nCommonText?.searchPlaceholder\"\n (change)=\"inputChange(filterInput.value, $event)\"\n (keyup)=\"inputChange(filterInput.value, $event)\"\n [attr.maxlength]=\"maxLength\"\n [disabled]=\"disabled\"\n (blur)=\"inputBlur()\"\n type=\"text\"\n class=\"devui-input {{ cssClass }}\"\n [ngClass]=\"{\n 'devui-input-sm': size === 'sm',\n 'devui-input-lg': size === 'lg',\n 'devui-clear-exit': clearIconExit,\n 'devui-icon-left': iconPosition === 'left',\n 'devui-search-no-border': noBorder === true\n }\"\n />\n <span\n class=\"devui-search-icon\"\n [ngClass]=\"{ 'devui-search-icon-sm': size === 'sm', 'devui-search-icon-lg': size === 'lg', 'devui-icon-left': iconPosition === 'left' }\"\n (click)=\"clickSearch(filterInput.value)\"\n >\n <svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n class=\"svg-icon-search\"\n >\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path\n d=\"M7.71295742,1.53283795 C11.0266659,1.53283795 13.7129574,4.21912945 13.7129574,7.53283795 C13.7129574,9.0690006 13.1356609,10.4703284 12.1861834,11.5317059 L14.5333041,13.8784875 C14.7285663,14.0737497 14.7285663,14.3903321 14.5333041,14.5855943 C14.3597378,14.7591606 14.0903134,14.7784458 13.8954453,14.6434497 L13.8261974,14.5855943 L11.4604434,12.2188804 C10.4336319,13.0411023 9.13072017,13.5328379 7.71295742,13.5328379 C4.39924893,13.5328379 1.71295742,10.8465464 1.71295742,7.53283795 C1.71295742,4.21912945 4.39924893,1.53283795 7.71295742,1.53283795 Z M7.71295742,2.53283795 C4.95153368,2.53283795 2.71295742,4.7714142 2.71295742,7.53283795 C2.71295742,10.2942617 4.95153368,12.5328379 7.71295742,12.5328379 C10.4743812,12.5328379 12.7129574,10.2942617 12.7129574,7.53283795 C12.7129574,4.7714142 10.4743812,2.53283795 7.71295742,2.53283795 Z\"\n fill-rule=\"nonzero\"\n ></path>\n </g>\n </svg>\n </span>\n <span\n #line\n *ngIf=\"iconPosition === 'right'\"\n class=\"devui-search-line\"\n [ngClass]=\"{ 'devui-search-line-sm': size === 'sm', 'devui-search-line-lg': size === 'lg', 'devui-clear-exit': clearIconExit }\"\n >\n </span>\n <span\n *ngIf=\"!disabled\"\n #clearIcon\n (click)=\"clearText()\"\n class=\"devui-search-clear\"\n [ngClass]=\"{\n 'devui-search-clear-sm': size === 'sm',\n 'devui-search-clear-lg': size === 'lg',\n 'devui-clear-exit': clearIconExit,\n 'devui-icon-left': iconPosition === 'left'\n }\"\n >\n <svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n class=\"svg-icon-clear\"\n >\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path\n d=\"M8,1 C11.8659932,1 15,4.13400675 15,8 C15,11.8659932 11.8659932,15 8,15 C4.13400675,15 1,11.8659932 1,8 C1,4.13400675 4.13400675,1 8,1 Z M5.87867966,5.17157288 C5.68341751,4.97631073 5.36683502,4.97631073 5.17157288,5.17157288 C4.99800652,5.34513923 4.97872137,5.61456363 5.11371742,5.80943177 L5.17157288,5.87867966 L7.29218611,7.99929289 L5.17157288,10.1213203 C4.97631073,10.3165825 4.97631073,10.633165 5.17157288,10.8284271 C5.34513923,11.0019935 5.61456363,11.0212786 5.80943177,10.8862826 L5.87867966,10.8284271 L7.99929289,8.70639967 L10.1213203,10.8284271 C10.3165825,11.0236893 10.633165,11.0236893 10.8284271,10.8284271 C11.0019935,10.6548608 11.0212786,10.3854364 10.8862826,10.1905682 L10.8284271,10.1213203 L8.70710678,8 L10.8284271,5.87867966 C11.0236893,5.68341751 11.0236893,5.36683502 10.8284271,5.17157288 C10.6548608,4.99800652 10.3854364,4.97872137 10.1905682,5.11371742 L10.1213203,5.17157288 L8,7.29289322 L5.87867966,5.17157288 Z\"\n fill=\"#D5D5DB\"\n fill-rule=\"nonzero\"\n ></path>\n </g>\n </svg>\n </span>\n</div>\n", styles: [".devui-font-size-base{font-size:var(--devui-font-size, 12px)}.devui-font-base{font-size:var(--devui-font-size, 12px);font-weight:var(--devui-font-content-weight, normal);line-height:var(--devui-line-height-base, 1.5)}.devui-font-size-modal-title{font-size:var(--devui-font-size-modal-title, 18px)}.devui-font-modal-title{font-size:var(--devui-font-size-modal-title, 18px);font-weight:var(--devui-font-title-weight, bold);line-height:var(--devui-line-height-base, 1.5)}.devui-font-size-page-title{font-size:var(--devui-font-size-page-title, 16px)}.devui-font-page-title{font-size:var(--devui-font-size-page-title, 16px);font-weight:var(--devui-font-title-weight, bold);line-height:var(--devui-line-height-base, 1.5)}.devui-font-size-secondary-title{font-size:var(--devui-font-size-card-title, 14px)}.devui-font-secondary-title{font-size:var(--devui-font-size-card-title, 14px);font-weight:var(--devui-font-title-weight, bold);line-height:var(--devui-line-height-base, 1.5)}.devui-search .devui-serach-line{border-color:var(--devui-dividing-line, #f0f0f0)}svg.svg-icon-search path{fill:var(--devui-icon-fill, #595959);transition:all var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1)) var(--devui-animation-duration-slow, .3s)}svg.svg-icon-search:hover path{fill:var(--devui-icon-fill-hover, #191919)}svg.svg-icon-clear{vertical-align:middle;position:relative;top:-.1em}svg.svg-icon-clear path{fill:var(--devui-shape-icon-fill, #c2c2c2);transition:all var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1)) var(--devui-animation-duration-slow, .3s)}svg.svg-icon-clear:hover path{fill:var(--devui-shape-icon-fill-hover, #808080)}:host{display:inline-block}.devui-search{position:relative}.devui-search .devui-input{height:28px;padding:4px 28px 4px 8px;font-size:var(--devui-font-size, 12px);text-overflow:ellipsis}.devui-search .devui-input.devui-icon-left{padding-left:32px}.devui-search .devui-input.devui-search-no-border:not(:focus,:active){background-color:unset}.devui-search .devui-input.devui-search-no-border:not(:hover,:focus,:active){border:1px solid transparent}.devui-search .devui-input.devui-clear-exit:not(.devui-icon-left){padding-right:60px}.devui-search .devui-input-sm{height:26px;padding:4px 24px 4px 8px;font-size:var(--devui-font-size, 12px)}.devui-search .devui-input-sm.devui-clear-exit:not(.devui-icon-left){padding-right:56px}.devui-search .devui-input-lg{height:46px;padding:12px 36px 12px 8px;font-size:var(--devui-font-size-lg, 14px);line-height:24px}.devui-search .devui-input-lg.devui-clear-exit:not(.devui-icon-left){padding-right:72px}.devui-search .devui-input::-ms-clear{display:none}.devui-search .devui-input:disabled{background-color:var(--devui-disabled-bg, #f3f3f3);border-color:var(--devui-disabled-line, #e6e6e6);color:var(--devui-disabled-text, #c2c2c2)}.devui-search .devui-input:disabled+.devui-search-icon svg path{fill:var(--devui-disabled-text, #c2c2c2)}.devui-search .icon{cursor:pointer}.devui-search .devui-search-icon{position:absolute;width:auto;pointer-events:all;cursor:pointer;height:100%;line-height:28px;padding:0 12px;top:0;right:0;z-index:2;text-align:center;display:flex;align-items:center;justify-content:center}.devui-search .devui-search-icon.devui-icon-left{left:8px;right:auto;padding-left:0}.devui-search .devui-search-icon>svg{height:16px;width:16px}.devui-search .devui-search-icon-sm{height:26px;line-height:26px;padding:0 12px}.devui-search .devui-search-icon-sm>svg{height:14px;width:14px}.devui-search .devui-search-icon-lg{height:46px;line-height:46px}.devui-search .devui-search-icon-lg>svg{height:18px;width:18px}.devui-search .devui-search-clear{position:absolute;width:auto;top:0;right:36px;padding:0 8px;pointer-events:all;cursor:pointer;height:100%;line-height:28px;font-size:var(--devui-font-size-lg, 14px);z-index:2;display:none}.devui-search .devui-search-clear.devui-icon-left{right:0}.devui-search .devui-search-clear.devui-clear-exit{display:block}.devui-search .devui-search-clear-sm{line-height:26px;padding:0 8px}.devui-search .devui-search-clear-sm>svg{height:14px;width:14px}.devui-search .devui-search-clear-lg{right:46px;line-height:46px;padding:0 8px}.devui-search .devui-search-clear-lg>svg{height:18px;width:18px}.devui-search .devui-search-line{position:absolute;right:36px;height:46%;top:27%;width:1px;border-left-width:1px;border-left-style:solid;border-color:var(--devui-line, #dbdbdb);line-height:28px;display:none}.devui-search .devui-search-line.devui-clear-exit{display:block}.devui-search .devui-search-line-sm{line-height:26px}.devui-search .devui-search-line-lg{line-height:46px;right:42px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.AutoFocusDirective, selector: "[dAutoFocus]", inputs: ["dAutoFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); } } __decorate([ WithConfig(), __metadata("design:type", Object) ], SearchComponent.prototype, "styleType", void 0); __decorate([ WithConfig(), __metadata("design:type", Object) ], SearchComponent.prototype, "showGlowStyle", void 0); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchComponent, decorators: [{ type: Component, args: [{ selector: 'd-search', exportAs: 'search', changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SearchComponent), multi: true, }, ], template: "<div class=\"devui-search\" [class.devui-gray-style]=\"styleType === 'gray'\">\n <input\n #filterInput\n [dAutoFocus]=\"autoFocus\"\n [placeholder]=\"placeholder || i18nCommonText?.searchPlaceholder\"\n (change)=\"inputChange(filterInput.value, $event)\"\n (keyup)=\"inputChange(filterInput.value, $event)\"\n [attr.maxlength]=\"maxLength\"\n [disabled]=\"disabled\"\n (blur)=\"inputBlur()\"\n type=\"text\"\n class=\"devui-input {{ cssClass }}\"\n [ngClass]=\"{\n 'devui-input-sm': size === 'sm',\n 'devui-input-lg': size === 'lg',\n 'devui-clear-exit': clearIconExit,\n 'devui-icon-left': iconPosition === 'left',\n 'devui-search-no-border': noBorder === true\n }\"\n />\n <span\n class=\"devui-search-icon\"\n [ngClass]=\"{ 'devui-search-icon-sm': size === 'sm', 'devui-search-icon-lg': size === 'lg', 'devui-icon-left': iconPosition === 'left' }\"\n (click)=\"clickSearch(filterInput.value)\"\n >\n <svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n class=\"svg-icon-search\"\n >\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path\n d=\"M7.71295742,1.53283795 C11.0266659,1.53283795 13.7129574,4.21912945 13.7129574,7.53283795 C13.7129574,9.0690006 13.1356609,10.4703284 12.1861834,11.5317059 L14.5333041,13.8784875 C14.7285663,14.0737497 14.7285663,14.3903321 14.5333041,14.5855943 C14.3597378,14.7591606 14.0903134,14.7784458 13.8954453,14.6434497 L13.8261974,14.5855943 L11.4604434,12.2188804 C10.4336319,13.0411023 9.13072017,13.5328379 7.71295742,13.5328379 C4.39924893,13.5328379 1.71295742,10.8465464 1.71295742,7.53283795 C1.71295742,4.21912945 4.39924893,1.53283795 7.71295742,1.53283795 Z M7.71295742,2.53283795 C4.95153368,2.53283795 2.71295742,4.7714142 2.71295742,7.53283795 C2.71295742,10.2942617 4.95153368,12.5328379 7.71295742,12.5328379 C10.4743812,12.5328379 12.7129574,10.2942617 12.7129574,7.53283795 C12.7129574,4.7714142 10.4743812,2.53283795 7.71295742,2.53283795 Z\"\n fill-rule=\"nonzero\"\n ></path>\n </g>\n </svg>\n </span>\n <span\n #line\n *ngIf=\"iconPosition === 'right'\"\n class=\"devui-search-line\"\n [ngClass]=\"{ 'devui-search-line-sm': size === 'sm', 'devui-search-line-lg': size === 'lg', 'devui-clear-exit': clearIconExit }\"\n >\n </span>\n <span\n *ngIf=\"!disabled\"\n #clearIcon\n (click)=\"clearText()\"\n class=\"devui-search-clear\"\n [ngClass]=\"{\n 'devui-search-clear-sm': size === 'sm',\n 'devui-search-clear-lg': size === 'lg',\n 'devui-clear-exit': clearIconExit,\n 'devui-icon-left': iconPosition === 'left'\n }\"\n >\n <svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n class=\"svg-icon-clear\"\n >\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path\n d=\"M8,1 C11.8659932,1 15,4.13400675 15,8 C15,11.8659932 11.8659932,15 8,15 C4.13400675,15 1,11.8659932 1,8 C1,4.13400675 4.13400675,1 8,1 Z M5.87867966,5.17157288 C5.68341751,4.97631073 5.36683502,4.97631073 5.17157288,5.17157288 C4.99800652,5.34513923 4.97872137,5.61456363 5.11371742,5.80943177 L5.17157288,5.87867966 L7.29218611,7.99929289 L5.17157288,10.1213203 C4.97631073,10.3165825 4.97631073,10.633165 5.17157288,10.8284271 C5.34513923,11.0019935 5.61456363,11.0212786 5.80943177,10.8862826 L5.87867966,10.8284271 L7.99929289,8.70639967 L10.1213203,10.8284271 C10.3165825,11.0236893 10.633165,11.0236893 10.8284271,10.8284271 C11.0019935,10.6548608 11.0212786,10.3854364 10.8862826,10.1905682 L10.8284271,10.1213203 L8.70710678,8 L10.8284271,5.87867966 C11.0236893,5.68341751 11.0236893,5.36683502 10.8284271,5.17157288 C10.6548608,4.99800652 10.3854364,4.97872137 10.1905682,5.11371742 L10.1213203,5.17157288 L8,7.29289322 L5.87867966,5.17157288 Z\"\n fill=\"#D5D5DB\"\n fill-rule=\"nonzero\"\n ></path>\n </g>\n </svg>\n </span>\n</div>\n", styles: [".devui-font-size-base{font-size:var(--devui-font-size, 12px)}.devui-font-base{font-size:var(--devui-font-size, 12px);font-weight:var(--devui-font-content-weight, normal);line-height:var(--devui-line-height-base, 1.5)}.devui-font-size-modal-title{font-size:var(--devui-font-size-modal-title, 18px)}.devui-font-modal-title{font-size:var(--devui-font-size-modal-title, 18px);font-weight:var(--devui-font-title-weight, bold);line-height:var(--devui-line-height-base, 1.5)}.devui-font-size-page-title{font-size:var(--devui-font-size-page-title, 16px)}.devui-font-page-title{font-size:var(--devui-font-size-page-title, 16px);font-weight:var(--devui-font-title-weight, bold);line-height:var(--devui-line-height-base, 1.5)}.devui-font-size-secondary-title{font-size:var(--devui-font-size-card-title, 14px)}.devui-font-secondary-title{font-size:var(--devui-font-size-card-title, 14px);font-weight:var(--devui-font-title-weight, bold);line-height:var(--devui-line-height-base, 1.5)}.devui-search .devui-serach-line{border-color:var(--devui-dividing-line, #f0f0f0)}svg.svg-icon-search path{fill:var(--devui-icon-fill, #595959);transition:all var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1)) var(--devui-animation-duration-slow, .3s)}svg.svg-icon-search:hover path{fill:var(--devui-icon-fill-hover, #191919)}svg.svg-icon-clear{vertical-align:middle;position:relative;top:-.1em}svg.svg-icon-clear path{fill:var(--devui-shape-icon-fill, #c2c2c2);transition:all var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1)) var(--devui-animation-duration-slow, .3s)}svg.svg-icon-clear:hover path{fill:var(--devui-shape-icon-fill-hover, #808080)}:host{display:inline-block}.devui-search{position:relative}.devui-search .devui-input{height:28px;padding:4px 28px 4px 8px;font-size:var(--devui-font-size, 12px);text-overflow:ellipsis}.devui-search .devui-input.devui-icon-left{padding-left:32px}.devui-search .devui-input.devui-search-no-border:not(:focus,:active){background-color:unset}.devui-search .devui-input.devui-search-no-border:not(:hover,:focus,:active){border:1px solid transparent}.devui-search .devui-input.devui-clear-exit:not(.devui-icon-left){padding-right:60px}.devui-search .devui-input-sm{height:26px;padding:4px 24px 4px 8px;font-size:var(--devui-font-size, 12px)}.devui-search .devui-input-sm.devui-clear-exit:not(.devui-icon-left){padding-right:56px}.devui-search .devui-input-lg{height:46px;padding:12px 36px 12px 8px;font-size:var(--devui-font-size-lg, 14px);line-height:24px}.devui-search .devui-input-lg.devui-clear-exit:not(.devui-icon-left){padding-right:72px}.devui-search .devui-input::-ms-clear{display:none}.devui-search .devui-input:disabled{background-color:var(--devui-disabled-bg, #f3f3f3);border-color:var(--devui-disabled-line, #e6e6e6);color:var(--devui-disabled-text, #c2c2c2)}.devui-search .devui-input:disabled+.devui-search-icon svg path{fill:var(--devui-disabled-text, #c2c2c2)}.devui-search .icon{cursor:pointer}.devui-search .devui-search-icon{position:absolute;width:auto;pointer-events:all;cursor:pointer;height:100%;line-height:28px;padding:0 12px;top:0;right:0;z-index:2;text-align:center;display:flex;align-items:center;justify-content:center}.devui-search .devui-search-icon.devui-icon-left{left:8px;right:auto;padding-left:0}.devui-search .devui-search-icon>svg{height:16px;width:16px}.devui-search .devui-search-icon-sm{height:26px;line-height:26px;padding:0 12px}.devui-search .devui-search-icon-sm>svg{height:14px;width:14px}.devui-search .devui-search-icon-lg{height:46px;line-height:46px}.devui-search .devui-search-icon-lg>svg{height:18px;width:18px}.devui-search .devui-search-clear{position:absolute;width:auto;top:0;right:36px;padding:0 8px;pointer-events:all;cursor:pointer;height:100%;line-height:28px;font-size:var(--devui-font-size-lg, 14px);z-index:2;display:none}.devui-search .devui-search-clear.devui-icon-left{right:0}.devui-search .devui-search-clear.devui-clear-exit{display:block}.devui-search .devui-search-clear-sm{line-height:26px;padding:0 8px}.devui-search .devui-search-clear-sm>svg{height:14px;width:14px}.devui-search .devui-search-clear-lg{right:46px;line-height:46px;padding:0 8px}.devui-search .devui-search-clear-lg>svg{height:18px;width:18px}.devui-search .devui-search-line{position:absolute;right:36px;height:46%;top:27%;width:1px;border-left-width:1px;border-left-style:solid;border-color:var(--devui-line, #dbdbdb);line-height:28px;display:none}.devui-search .devui-search-line.devui-clear-exit{display:block}.devui-search .devui-search-line-sm{line-height:26px}.devui-search .devui-search-line-lg{line-height:46px;right:42px}\n"] }] }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i1.I18nService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i2.DevConfigService }], propDecorators: { size: [{ type: Input }], placeholder: [{ type: Input }], maxLength: [{ type: Input }], isKeyupSearch: [{ type: Input }], delay: [{ type: Input }], disabled: [{ type: Input }], cssClass: [{ type: Input }], iconPosition: [{ type: Input }], noBorder: [{ type: Input }], autoFocus: [{ type: Input }], styleType: [{ type: Input }], showGlowStyle: [{ type: Input }], hasGlowStyle: [{ type: HostBinding, args: ['class.devui-glow-style'] }], searchFn: [{ type: Output }], filterInputElement: [{ type: ViewChild, args: ['filterInput', { static: true }] }], lineElement: [{ type: ViewChild, args: ['line'] }], clearIconElement: [{ type: ViewChild, args: ['clearIcon'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2RldnVpL3NlYXJjaC9zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZGV2dWkvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBaUIsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFpQnRFLE1BQU0sT0FBTyxlQUFlO0lBbUIxQixJQUEyQyxZQUFZO1FBQ3JELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBQUEsQ0FBQztJQWFGLFlBQ1UsUUFBbUIsRUFDbkIsSUFBaUIsRUFDakIsR0FBc0IsRUFDdEIsRUFBYyxFQUNkLGdCQUFrQztRQUpsQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUE5Qm5D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LE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDOzRCQUM5QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtnTUFNUSxJQUFJO3NCQUFaLEtBQUs7Z0JBSUcsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDaUIsU0FBUztzQkFBL0IsS0FBSztnQkFDaUIsYUFBYTtzQkFBbkMsS0FBSztnQkFDcUMsWUFBWTtzQkFBdEQsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBRzNCLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ3FDLGtCQUFrQjtzQkFBN0QsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUN2QixXQUFXO3NCQUE3QixTQUFTO3VCQUFDLE1BQU07Z0JBQ08sZ0JBQWdCO3NCQUF2QyxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSTE4bkludGVyZmFjZSwgSTE4blNlcnZpY2UgfSBmcm9tICduZy1kZXZ1aS9pMThuJztcbmltcG9ydCB7IERldkNvbmZpZ1NlcnZpY2UsIFdpdGhDb25maWcgfSBmcm9tICduZy1kZXZ1aS91dGlscyc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkLXNlYXJjaCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2guY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdzZWFyY2gnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VhcmNoQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8qKlxuICAgKiDjgJDlj6/pgInjgJHkuIvmi4npgInmoYblsLrlr7hcbiAgICovXG4gIEBJbnB1dCgpIHNpemU6ICcnIHwgJ3NtJyB8ICdsZyc7XG4gIC8qKlxuICAgKiDjgJDlj6/pgInjgJHkuIvmi4npu5jorqTmmL7npLrmloflrZdcbiAgICovXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1heExlbmd0aCA9IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSO1xuICBASW5wdXQoKSBpc0tleXVwU2VhcmNoID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRlbGF5ID0gMzAwO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBjc3NDbGFzczogc3RyaW5nO1xuICBASW5wdXQoKSBpY29uUG9zaXRpb24gPSAncmlnaHQnO1xuICBASW5wdXQoKSBub0JvcmRlciA9IGZhbHNlO1xuICBASW5wdXQoKSBhdXRvRm9jdXMgPSBmYWxzZTtcbiAgQElucHV0KCkgQFdpdGhDb25maWcoKSBzdHlsZVR5cGUgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIEBXaXRoQ29uZmlnKCkgc2hvd0dsb3dTdHlsZSA9IHRydWU7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZGV2dWktZ2xvdy1zdHlsZScpIGdldCBoYXNHbG93U3R5bGUgKCkge1xuICAgIHJldHVybiB0aGlzLnNob3dHbG93U3R5bGU7XG4gIH07XG4gIEBPdXRwdXQoKSBzZWFyY2hGbiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAVmlld0NoaWxkKCdmaWx0ZXJJbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pIGZpbHRlcklucHV0RWxlbWVudDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnbGluZScpIGxpbmVFbGVtZW50OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdjbGVhckljb24nKSBjbGVhckljb25FbGVtZW50OiBFbGVtZW50UmVmO1xuICBpMThuQ29tbW9uVGV4dDogSTE4bkludGVyZmFjZVsnY29tbW9uJ107XG4gIGkxOG5TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgY2xlYXJJY29uRXhpdCA9IGZhbHNlO1xuICB3aWR0aDogbnVtYmVyO1xuICBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgb25DaGFuZ2UgPSAoXzogYW55KSA9PiBudWxsO1xuICBwcml2YXRlIG9uVG91Y2ggPSAoKSA9PiBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGkxOG46IEkxOG5TZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgZGV2Q29uZmlnU2VydmljZTogRGV2Q29uZmlnU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRJMThuVGV4dCgpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55ID0gJycpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZmlsdGVySW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICd2YWx1ZScsIHZhbHVlKTtcbiAgICB0aGlzLnJlbmRlckNsZWFySWNvbigpO1xuICB9XG5cbiAgc2V0STE4blRleHQoKSB7XG4gICAgdGhpcy5pMThuQ29tbW9uVGV4dCA9IHRoaXMuaTE4bi5nZXRJMThuVGV4dCgpLmNvbW1vbjtcbiAgICB0aGlzLmkxOG5TdWJzY3JpcHRpb24gPSB0aGlzLmkxOG5cbiAgICAgIC5sYW5nQ2hhbmdlKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgdGhpcy5pMThuQ29tbW9uVGV4dCA9IGRhdGEuY29tbW9uO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgY2xlYXJUZXh0KCkge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5maWx0ZXJJbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgJycpO1xuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlKCcnKTtcbiAgICB9XG4gICAgdGhpcy5zZWFyY2hGbi5lbWl0KCcnKTtcbiAgICB0aGlzLmZpbHRlcklucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgdGhpcy5yZW5kZXJDbGVhckljb24oKTtcbiAgfVxuXG4gIGlucHV0Q2hhbmdlKHZhbHVlLCBldmVudD8pIHtcbiAgICB0aGlzLnJlbmRlckNsZWFySWNvbigpO1xuICAgIC8vIOatpOWHveaVsOS4jeiDveWIoOmZpO+8jOmcgOimgee7mWZpbHRlcklucHV0LnZhbHVl6LWL5YC877yM5LuO6ICM5o6n5Yi2Y2xlYXLnmoTmmL7pmpDjgILlm6DkuLpyZWdpc3RlckZpbHRlckNoYW5nZeWvuWNsZWFy55qE5pi+6ZqQ5o6n5Yi25LiN6LW35L2c55So44CCXG4gIH1cblxuICBpbnB1dEJsdXIoKSB7XG4gICAgdGhpcy5vblRvdWNoKCk7XG4gIH1cblxuICBjbGlja1NlYXJjaCh0ZXJtKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnNlYXJjaEZuLmVtaXQodGVybSk7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJGaWx0ZXJDaGFuZ2UoKSB7XG4gICAgZnJvbUV2ZW50KHRoaXMuZmlsdGVySW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdpbnB1dCcpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICBtYXAoKGU6IGFueSkgPT4gZS50YXJnZXQudmFsdWUpLFxuICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5kZWxheSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgICBpZiAodGhpcy5pc0tleXVwU2VhcmNoKSB7XG4gICAgICAgICAgdGhpcy5zZWFyY2hGbi5lbWl0KHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICBmcm9tRXZlbnQodGhpcy5maWx0ZXJJbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2tleWRvd24nKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgZmlsdGVyKChrZXlFdmVudDogS2V5Ym9hcmRFdmVudCkgPT4ga2V5RXZlbnQua2V5ID09PSAnRW50ZXInKSxcbiAgICAgICAgZGVib3VuY2VUaW1lKHRoaXMuZGVsYXkpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChrZXlFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLnNlYXJjaEZuLmVtaXQodGhpcy5maWx0ZXJJbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnJlZ2lzdGVyRmlsdGVyQ2hhbmdlKCk7XG4gICAgdGhpcy5yZW5kZXJDbGVhckljb24oKTtcbiAgfVxuXG4gIHJlbmRlckNsZWFySWNvbigpIHtcbiAgICBpZiAodGhpcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcbiAgICAgIGlmICh0aGlzLmZpbHRlcklucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlICYmIHRoaXMubGluZUVsZW1lbnQgJiYgdGhpcy5jbGVhckljb25FbGVtZW50KSB7XG4gICAgICAgIHRoaXMuY2xlYXJJY29uRXhpdCA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMubGluZUVsZW1lbnQgJiYgdGhpcy5jbGVhckljb25FbGVtZW50KSB7XG4gICAgICAgIHRoaXMuY2xlYXJJY29uRXhpdCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5maWx0ZXJJbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSAmJiB0aGlzLmNsZWFySWNvbkVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5jbGVhckljb25FeGl0ID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jbGVhckljb25FbGVtZW50KSB7XG4gICAgICAgIHRoaXMuY2xlYXJJY29uRXhpdCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRldnVpLXNlYXJjaFwiIFtjbGFzcy5kZXZ1aS1ncmF5LXN0eWxlXT1cInN0eWxlVHlwZSA9PT0gJ2dyYXknXCI+XG4gIDxpbnB1dFxuICAgICNmaWx0ZXJJbnB1dFxuICAgIFtkQXV0b0ZvY3VzXT1cImF1dG9Gb2N1c1wiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHx8IGkxOG5Db21tb25UZXh0Py5zZWFyY2hQbGFjZWhvbGRlclwiXG4gICAgKGNoYW5nZSk9XCJpbnB1dENoYW5nZShmaWx0ZXJJbnB1dC52YWx1ZSwgJGV2ZW50KVwiXG4gICAgKGtleXVwKT1cImlucHV0Q2hhbmdlKGZpbHRlcklucHV0LnZhbHVlLCAkZXZlbnQpXCJcbiAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4TGVuZ3RoXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIChibHVyKT1cImlucHV0Qmx1cigpXCJcbiAgICB0eXBlPVwidGV4dFwiXG4gICAgY2xhc3M9XCJkZXZ1aS1pbnB1dCB7eyBjc3NDbGFzcyB9fVwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ2RldnVpLWlucHV0LXNtJzogc2l6ZSA9PT0gJ3NtJyxcbiAgICAgICdkZXZ1aS1pbnB1dC1sZyc6IHNpemUgPT09ICdsZycsXG4gICAgICAnZGV2dWktY2xlYXItZXhpdCc6IGNsZWFySWNvbkV4aXQsXG4gICAgICAnZGV2dWktaWNvbi1sZWZ0JzogaWNvblBvc2l0aW9uID09PSAnbGVmdCcsXG4gICAgICAnZGV2dWktc2VhcmNoLW5vLWJvcmRlcic6IG5vQm9yZGVyID09PSB0cnVlXG4gICAgfVwiXG4gIC8+XG4gIDxzcGFuXG4gICAgY2xhc3M9XCJkZXZ1aS1zZWFyY2gtaWNvblwiXG4gICAgW25nQ2xhc3NdPVwieyAnZGV2dWktc2VhcmNoLWljb24tc20nOiBzaXplID09PSAnc20nLCAnZGV2dWktc2VhcmNoLWljb24tbGcnOiBzaXplID09PSAnbGcnLCAnZGV2dWktaWNvbi1sZWZ0JzogaWNvblBvc2l0aW9uID09PSAnbGVmdCcgfVwiXG4gICAgKGNsaWNrKT1cImNsaWNrU2VhcmNoKGZpbHRlcklucHV0LnZhbHVlKVwiXG4gID5cbiAgICA8c3ZnXG4gICAgICB3aWR0aD1cIjE2cHhcIlxuICAgICAgaGVpZ2h0PVwiMTZweFwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcbiAgICAgIHZlcnNpb249XCIxLjFcIlxuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIlxuICAgICAgY2xhc3M9XCJzdmctaWNvbi1zZWFyY2hcIlxuICAgID5cbiAgICAgIDxnIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIxXCIgZmlsbD1cIm5vbmVcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk03LjcxMjk1NzQyLDEuNTMyODM3OTUgQzExLjAyNjY2NTksMS41MzI4Mzc5NSAxMy43MTI5NTc0LDQuMjE5MTI5NDUgMTMuNzEyOTU3NCw3LjUzMjgzNzk1IEMxMy43MTI5NTc0LDkuMDY5MDAwNiAxMy4xMzU2NjA5LDEwLjQ3MDMyODQgMTIuMTg2MTgzNCwxMS41MzE3MDU5IEwxNC41MzMzMDQxLDEzLjg3ODQ4NzUgQzE0LjcyODU2NjMsMTQuMDczNzQ5NyAxNC43Mjg1NjYzLDE0LjM5MDMzMjEgMTQuNTMzMzA0MSwxNC41ODU1OTQzIEMxNC4zNTk3Mzc4LDE0Ljc1OTE2MDYgMTQuMDkwMzEzNCwxNC43Nzg0NDU4IDEzLjg5NTQ0NTMsMTQuNjQzNDQ5NyBMMTMuODI2MTk3NCwxNC41ODU1OTQzIEwxMS40NjA0NDM0LDEyLjIxODg4MDQgQzEwLjQzMzYzMTksMTMuMDQxMTAyMyA5LjEzMDcyMDE3LDEzLjUzMjgzNzkgNy43MTI5NTc0MiwxMy41MzI4Mzc5IEM0LjM5OTI0ODkzLDEzLjUzMjgzNzkgMS43MTI5NTc0MiwxMC44NDY1NDY0IDEuNzEyOTU3NDIsNy41MzI4Mzc5NSBDMS43MTI5NTc0Miw0LjIxOTEyOTQ1IDQuMzk5MjQ4OTMsMS41MzI4Mzc5NSA3LjcxMjk1NzQyLDEuNTMyODM3OTUgWiBNNy43MTI5NTc0MiwyLjUzMjgzNzk1IEM0Ljk1MTUzMzY4LDIuNTMyODM3OTUgMi43MTI5NTc0Miw0Ljc3MTQxNDIgMi43MTI5NTc0Miw3LjUzMjgzNzk1IEMyLjcxMjk1NzQyLDEwLjI5NDI2MTcgNC45NTE1MzM2OCwxMi41MzI4Mzc5IDcuNzEyOTU3NDIsMTIuNTMyODM3OSBDMTAuNDc0MzgxMiwxMi41MzI4Mzc5IDEyLjcxMjk1NzQsMTAuMjk0MjYxNyAxMi43MTI5NTc0LDcuNTMyODM3OTUgQzEyLjcxMjk1NzQsNC43NzE0MTQyIDEwLjQ3NDM4MTIsMi41MzI4Mzc5NSA3LjcxMjk1NzQyLDIuNTMyODM3OTUgWlwiXG4gICAgICAgICAgZmlsbC1ydWxlPVwibm9uemVyb1wiXG4gICAgICAgID48L3BhdGg+XG4gICAgICA8L2c+XG4gICAgPC9zdmc+XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAjbGluZVxuICAgICpuZ0lmPVwiaWNvblBvc2l0aW9uID09PSAncmlnaHQnXCJcbiAgICBjbGFzcz1cImRldnVpLXNlYXJjaC1saW5lXCJcbiAgICBbbmdDbGFzc109XCJ7ICdkZXZ1aS1zZWFyY2gtbGluZS1zbSc6IHNpemUgPT09ICdzbScsICdkZXZ1aS1zZWFyY2gtbGluZS1sZyc6IHNpemUgPT09ICdsZycsICdkZXZ1aS1jbGVhci1leGl0JzogY2xlYXJJY29uRXhpdCB9XCJcbiAgPlxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nSWY9XCIhZGlzYWJsZWRcIlxuICAgICNjbGVhckljb25cbiAgICAoY2xpY2spPVwiY2xlYXJUZXh0KClcIlxuICAgIGNsYXNzPVwiZGV2dWktc2VhcmNoLWNsZWFyXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnZGV2dWktc2VhcmNoLWNsZWFyLXNtJzogc2l6ZSA9PT0gJ3NtJyxcbiAgICAgICdkZXZ1aS1zZWFyY2gtY2xlYXItbGcnOiBzaXplID09PSAnbGcnLFxuICAgICAgJ2RldnVpLWNsZWFyLWV4aXQnOiBjbGVhckljb25FeGl0LFxuICAgICAgJ2RldnVpLWljb24tbGVmdCc6IGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXG4gICAgfVwiXG4gID5cbiAgICA8c3ZnXG4gICAgICB3aWR0aD1cIjE2cHhcIlxuICAgICAgaGVpZ2h0PVwiMTZweFwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcbiAgICAgIHZlcnNpb249XCIxLjFcIlxuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIlxuICAgICAgY2xhc3M9XCJzdmctaWNvbi1jbGVhclwiXG4gICAgPlxuICAgICAgPGcgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjFcIiBmaWxsPVwibm9uZVwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTgsMSBDMTEuODY1OTkzMiwxIDE1LDQuMTM0MDA2NzUgMTUsOCBDMTUsMTEuODY1OTkzMiAxMS44NjU5OTMyLDE1IDgsMTUgQzQuMTM0MDA2NzUsMTUgMSwxMS44NjU5OTMyIDEsOCBDMSw0LjEzNDAwNjc1IDQuMTM0MDA2NzUsMSA4LDEgWiBNNS44Nzg2Nzk2Niw1LjE3MTU3Mjg4IEM1LjY4MzQxNzUxLDQuOTc2MzEwNzMgNS4zNjY4MzUwMiw0Ljk3NjMxMDczIDUuMTcxNTcyODgsNS4xNzE1NzI4OCBDNC45OTgwMDY1Miw1LjM0NTEzOTIzIDQuOTc4NzIxMzcsNS42MTQ1NjM2MyA1LjExMzcxNzQyLDUuODA5NDMxNzcgTDUuMTcxNTcyODgsNS44Nzg2Nzk2NiBMNy4yOTIxODYxMSw3Ljk5OTI5Mjg5IEw1LjE3MTU3Mjg4LDEwLjEyMTMyMDMgQzQuOTc2MzEwNzMsMTAuMzE2NTgyNSA0Ljk3NjMxMDczLDEwLjYzMzE2NSA1LjE3MTU3Mjg4LDEwLjgyODQyNzEgQzUuMzQ1MTM5MjMsMTEuMDAxOTkzNSA1LjYxNDU2MzYzLDExLjAyMTI3ODYgNS44MDk0MzE3NywxMC44ODYyODI2IEw1Ljg3ODY3OTY2LDEwLjgyODQyNzEgTDcuOTk5MjkyODksOC43MDYzOTk2NyBMMTAuMTIxMzIwMywxMC44Mjg0MjcxIEMxMC4zMTY1ODI1LDExLjAyMzY4OTMgMTAuNjMzMTY1LDExLjAyMzY4OTMgMTAuODI4NDI3MSwxMC44Mjg0MjcxIEMxMS4wMDE5OTM1LDEwLjY1NDg2MDggMTEuMDIxMjc4NiwxMC4zODU0MzY0IDEwLjg4NjI4MjYsMTAuMTkwNTY4MiBMMTAuODI4NDI3MSwxMC4xMjEzMjAzIEw4LjcwNzEwNjc4LDggTDEwLjgyODQyNzEsNS44Nzg2Nzk2NiBDMTEuMDIzNjg5Myw1LjY4MzQxNzUxIDExLjAyMzY4OTMsNS4zNjY4MzUwMiAxMC44Mjg0MjcxLDUuMTcxNTcyODggQzEwLjY1NDg2MDgsNC45OTgwMDY1MiAxMC4zODU0MzY0LDQuOTc4NzIxMzcgMTAuMTkwNTY4Miw1LjExMzcxNzQyIEwxMC4xMjEzMjAzLDUuMTcxNTcyODggTDgsNy4yOTI4OTMyMiBMNS44Nzg2Nzk2Niw1LjE3MTU3Mjg4IFpcIlxuICAgICAgICAgIGZpbGw9XCIjRDVENURCXCJcbiAgICAgICAgICBmaWxsLXJ1bGU9XCJub256ZXJvXCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICAgIDwvZz5cbiAgICA8L3N2Zz5cbiAgPC9zcGFuPlxuPC9kaXY+XG4iXX0=