UNPKG

ngx-slice-kit

Version:

[![npm version](https://badge.fury.io/js/ngx-slice-kit.svg)](https://badge.fury.io/js/ngx-slice-kit)

78 lines 16.7 kB
import { Component, forwardRef, HostBinding, Input } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; export class RadioComponent { constructor() { this.label = ''; this.tabindex = 0; this.small = false; this.required = false; this.disabled = false; this.error = undefined; this.value = undefined; } select(value) { this.writeValue(value); this.onTouched(); this.onChange(value); } writeValue(value) { const selected = this.data.find(el => el.value === value); if (selected) { this.value = selected.value; } } onChange(value) { } onTouched() { } registerOnChange(fn) { this.onChange = fn; } registerOnTouched(fn) { this.onTouched = fn; } setDisabledState(isDisabled) { this.disabled = isDisabled; } } RadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: RadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); RadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: RadioComponent, selector: "sdk-radio", inputs: { label: "label", data: "data", tabindex: "tabindex", small: "small", required: "required", disabled: "disabled", error: "error" }, host: { properties: { "class.disabled": "this.disabled", "class.sdk-input--warn": "this.error" } }, providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => RadioComponent), multi: true } ], ngImport: i0, template: "<label *ngIf=\"label\" class=\"sdk-radio__label\" [class.sdk-radio__label--small]=\"small\">{{label}}</label>\n<div class=\"sdk-radio__container\" [class.sdk-radio__container--small]=\"small\">\n <div class=\"sdk-radio__radio\"\n *ngFor=\"let item of data\"\n (click)=\"select(item.value)\"\n (keyup.enter)=\"select(item.value)\"\n [tabindex]=\"tabindex\">\n <div class=\"sdk-radio__indicator\" [class.sdk-radio__indicator--selected]='item.value === value'>\n <div class=\"sdk-radio__indicator-inner\"></div>\n </div>\n <span class=\"sdk-radio__text\">{{item.name}}</span>\n </div>\n</div>\n<div class=\"sdk-radio__error\" *ngIf=\"error\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M3.41421 0.585786C3.78929 0.210713 4.29799 0 4.82843 0H7.17157C7.70201 0 8.21071 0.210714 8.58579 0.585786L11.4142 3.41421C11.7893 3.78929 12 4.29799 12 4.82843V7.17157C12 7.70201 11.7893 8.21071 11.4142 8.58579L8.58579 11.4142C8.21071 11.7893 7.70201 12 7.17157 12H4.82843C4.29799 12 3.78929 11.7893 3.41421 11.4142L0.585786 8.58579C0.210713 8.21071 0 7.70201 0 7.17157V4.82843C0 4.29799 0.210714 3.78929 0.585786 3.41421L3.41421 0.585786ZM6 2C6.49981 2 6.90499 2.40518 6.90499 2.90499C6.90499 2.93506 6.90349 2.96511 6.9005 2.99504L6.54975 6.50248C6.52151 6.78492 6.28384 7 6 7C5.71616 7 5.47849 6.78492 5.45025 6.50248L5.0995 2.99504C5.04977 2.49771 5.41262 2.05422 5.90995 2.00449C5.93987 2.0015 5.96993 2 6 2ZM7 9C7 8.44771 6.55228 8 6 8C5.44772 8 5 8.44771 5 9C5 9.55229 5.44772 10 6 10C6.55228 10 7 9.55229 7 9Z\"\n fill=\"var(--warn)\"/>\n </svg>\n {{error ? error : ''}}\n</div>\n", styles: [".sdk-inputs-caption,.sdk-radio__error,.sdk-radio__caption{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;margin-left:4px;font-size:13px;line-height:14px;margin-top:4px;cursor:default}:host{display:flex;flex-direction:column}:host.disabled{pointer-events:none;cursor:default;opacity:.6}.sdk-radio__container{display:flex;flex-wrap:wrap;height:100%}.sdk-radio__radio{display:flex;align-items:center;cursor:pointer;flex:none;border:none;outline:none;margin-right:12px}.sdk-radio__indicator{display:flex;width:24px;height:24px;border:1px solid var(--base-a20);background-color:var(--background-a90);border-radius:50%;transition:background-image .2s}.sdk-radio__indicator.sdk-radio__indicator--selected{background-color:var(--primary);border-color:var(--primary)}.sdk-radio__indicator.sdk-radio__indicator--selected .sdk-radio__indicator-inner{transform:none}.sdk-radio__indicator .sdk-radio__indicator-inner{width:10px;height:10px;margin:auto;background-color:#fff;border-radius:50%;transform:scale(0);transition:transform .3s}.sdk-radio__container--small .sdk-radio__indicator{width:16px;height:16px}.sdk-radio__container--small .sdk-radio__indicator-inner{width:8px;height:8px}.sdk-radio__label{margin-bottom:2px;color:var(--base-a50)}.sdk-radio__text{margin-left:8px}.sdk-radio__label--small{font-size:15px}.sdk-radio__caption{color:var(--base-a90)}.sdk-radio__error{color:var(--warn)}.sdk-radio__error svg{margin-right:4px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: RadioComponent, decorators: [{ type: Component, args: [{ selector: 'sdk-radio', providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => RadioComponent), multi: true } ], template: "<label *ngIf=\"label\" class=\"sdk-radio__label\" [class.sdk-radio__label--small]=\"small\">{{label}}</label>\n<div class=\"sdk-radio__container\" [class.sdk-radio__container--small]=\"small\">\n <div class=\"sdk-radio__radio\"\n *ngFor=\"let item of data\"\n (click)=\"select(item.value)\"\n (keyup.enter)=\"select(item.value)\"\n [tabindex]=\"tabindex\">\n <div class=\"sdk-radio__indicator\" [class.sdk-radio__indicator--selected]='item.value === value'>\n <div class=\"sdk-radio__indicator-inner\"></div>\n </div>\n <span class=\"sdk-radio__text\">{{item.name}}</span>\n </div>\n</div>\n<div class=\"sdk-radio__error\" *ngIf=\"error\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M3.41421 0.585786C3.78929 0.210713 4.29799 0 4.82843 0H7.17157C7.70201 0 8.21071 0.210714 8.58579 0.585786L11.4142 3.41421C11.7893 3.78929 12 4.29799 12 4.82843V7.17157C12 7.70201 11.7893 8.21071 11.4142 8.58579L8.58579 11.4142C8.21071 11.7893 7.70201 12 7.17157 12H4.82843C4.29799 12 3.78929 11.7893 3.41421 11.4142L0.585786 8.58579C0.210713 8.21071 0 7.70201 0 7.17157V4.82843C0 4.29799 0.210714 3.78929 0.585786 3.41421L3.41421 0.585786ZM6 2C6.49981 2 6.90499 2.40518 6.90499 2.90499C6.90499 2.93506 6.90349 2.96511 6.9005 2.99504L6.54975 6.50248C6.52151 6.78492 6.28384 7 6 7C5.71616 7 5.47849 6.78492 5.45025 6.50248L5.0995 2.99504C5.04977 2.49771 5.41262 2.05422 5.90995 2.00449C5.93987 2.0015 5.96993 2 6 2ZM7 9C7 8.44771 6.55228 8 6 8C5.44772 8 5 8.44771 5 9C5 9.55229 5.44772 10 6 10C6.55228 10 7 9.55229 7 9Z\"\n fill=\"var(--warn)\"/>\n </svg>\n {{error ? error : ''}}\n</div>\n", styles: [".sdk-inputs-caption,.sdk-radio__error,.sdk-radio__caption{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;margin-left:4px;font-size:13px;line-height:14px;margin-top:4px;cursor:default}:host{display:flex;flex-direction:column}:host.disabled{pointer-events:none;cursor:default;opacity:.6}.sdk-radio__container{display:flex;flex-wrap:wrap;height:100%}.sdk-radio__radio{display:flex;align-items:center;cursor:pointer;flex:none;border:none;outline:none;margin-right:12px}.sdk-radio__indicator{display:flex;width:24px;height:24px;border:1px solid var(--base-a20);background-color:var(--background-a90);border-radius:50%;transition:background-image .2s}.sdk-radio__indicator.sdk-radio__indicator--selected{background-color:var(--primary);border-color:var(--primary)}.sdk-radio__indicator.sdk-radio__indicator--selected .sdk-radio__indicator-inner{transform:none}.sdk-radio__indicator .sdk-radio__indicator-inner{width:10px;height:10px;margin:auto;background-color:#fff;border-radius:50%;transform:scale(0);transition:transform .3s}.sdk-radio__container--small .sdk-radio__indicator{width:16px;height:16px}.sdk-radio__container--small .sdk-radio__indicator-inner{width:8px;height:8px}.sdk-radio__label{margin-bottom:2px;color:var(--base-a50)}.sdk-radio__text{margin-left:8px}.sdk-radio__label--small{font-size:15px}.sdk-radio__caption{color:var(--base-a90)}.sdk-radio__error{color:var(--warn)}.sdk-radio__error svg{margin-right:4px}\n"] }] }], ctorParameters: function () { return []; }, propDecorators: { label: [{ type: Input }], data: [{ type: Input }], tabindex: [{ type: Input }], small: [{ type: Input }], required: [{ type: Input }], disabled: [{ type: Input }, { type: HostBinding, args: ['class.disabled'] }], error: [{ type: Input }, { type: HostBinding, args: ['class.sdk-input--warn'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3gtc2xpY2Uta2l0L3NyYy9saWIvaW5wdXRzL3JhZGlvL3JhZGlvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmd4LXNsaWNlLWtpdC9zcmMvbGliL2lucHV0cy9yYWRpby9yYWRpby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBY3pFLE1BQU0sT0FBTyxjQUFjO0lBY3ZCO1FBWmdCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFFbkIsYUFBUSxHQUFXLENBQUMsQ0FBQztRQUNyQixVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFbkMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQixVQUFLLEdBQVcsU0FBUyxDQUFDO1FBRTFCLFVBQUssR0FBUSxTQUFTLENBQUM7SUFHOUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLO1FBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQUs7UUFDbkIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQzFELElBQUksUUFBUSxFQUFFO1lBQ1YsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDO1NBQy9CO0lBQ0wsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFLO0lBQ3JCLENBQUM7SUFFTSxTQUFTO0lBQ2hCLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxFQUFFO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxFQUFFO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDOzsyR0E5Q1EsY0FBYzsrRkFBZCxjQUFjLG9SQVJaO1FBQ1A7WUFDSSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDO1lBQzdDLEtBQUssRUFBRSxJQUFJO1NBQ2Q7S0FDSiwwQkNiTCxpeERBcUJBOzJGRE5hLGNBQWM7a0JBWjFCLFNBQVM7K0JBQ0ksV0FBVyxhQUdWO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGVBQWUsQ0FBQzs0QkFDN0MsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7MEVBSWUsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUVDLFFBQVE7c0JBRGQsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBRy9CLEtBQUs7c0JBRFgsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Nkay1yYWRpbycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yYWRpby5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJhZGlvQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gICAgQElucHV0KCkgcHVibGljIGxhYmVsOiBzdHJpbmcgPSAnJztcbiAgICBASW5wdXQoKSBwdWJsaWMgZGF0YTogYW55O1xuICAgIEBJbnB1dCgpIHB1YmxpYyB0YWJpbmRleDogbnVtYmVyID0gMDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc21hbGw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2NsYXNzLmRpc2FibGVkJylcbiAgICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2NsYXNzLnNkay1pbnB1dC0td2FybicpXG4gICAgcHVibGljIGVycm9yOiBzdHJpbmcgPSB1bmRlZmluZWQ7XG5cbiAgICBwdWJsaWMgdmFsdWU6IGFueSA9IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3QodmFsdWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWUpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLmRhdGEuZmluZChlbCA9PiBlbC52YWx1ZSA9PT0gdmFsdWUpO1xuICAgICAgICBpZiAoc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBzZWxlY3RlZC52YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvbkNoYW5nZSh2YWx1ZSk6IHZvaWQge1xuICAgIH1cblxuICAgIHB1YmxpYyBvblRvdWNoZWQoKTogdm9pZCB7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbik6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cbn1cbiIsIjxsYWJlbCAqbmdJZj1cImxhYmVsXCIgY2xhc3M9XCJzZGstcmFkaW9fX2xhYmVsXCIgW2NsYXNzLnNkay1yYWRpb19fbGFiZWwtLXNtYWxsXT1cInNtYWxsXCI+e3tsYWJlbH19PC9sYWJlbD5cbjxkaXYgY2xhc3M9XCJzZGstcmFkaW9fX2NvbnRhaW5lclwiIFtjbGFzcy5zZGstcmFkaW9fX2NvbnRhaW5lci0tc21hbGxdPVwic21hbGxcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2RrLXJhZGlvX19yYWRpb1wiXG4gICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhXCJcbiAgICAgICAgIChjbGljayk9XCJzZWxlY3QoaXRlbS52YWx1ZSlcIlxuICAgICAgICAgKGtleXVwLmVudGVyKT1cInNlbGVjdChpdGVtLnZhbHVlKVwiXG4gICAgICAgICBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNkay1yYWRpb19faW5kaWNhdG9yXCIgW2NsYXNzLnNkay1yYWRpb19faW5kaWNhdG9yLS1zZWxlY3RlZF09J2l0ZW0udmFsdWUgPT09IHZhbHVlJz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZGstcmFkaW9fX2luZGljYXRvci1pbm5lclwiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGstcmFkaW9fX3RleHRcIj57e2l0ZW0ubmFtZX19PC9zcGFuPlxuICAgIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwic2RrLXJhZGlvX19lcnJvclwiICpuZ0lmPVwiZXJyb3JcIj5cbiAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICBkPVwiTTMuNDE0MjEgMC41ODU3ODZDMy43ODkyOSAwLjIxMDcxMyA0LjI5Nzk5IDAgNC44Mjg0MyAwSDcuMTcxNTdDNy43MDIwMSAwIDguMjEwNzEgMC4yMTA3MTQgOC41ODU3OSAwLjU4NTc4NkwxMS40MTQyIDMuNDE0MjFDMTEuNzg5MyAzLjc4OTI5IDEyIDQuMjk3OTkgMTIgNC44Mjg0M1Y3LjE3MTU3QzEyIDcuNzAyMDEgMTEuNzg5MyA4LjIxMDcxIDExLjQxNDIgOC41ODU3OUw4LjU4NTc5IDExLjQxNDJDOC4yMTA3MSAxMS43ODkzIDcuNzAyMDEgMTIgNy4xNzE1NyAxMkg0LjgyODQzQzQuMjk3OTkgMTIgMy43ODkyOSAxMS43ODkzIDMuNDE0MjEgMTEuNDE0MkwwLjU4NTc4NiA4LjU4NTc5QzAuMjEwNzEzIDguMjEwNzEgMCA3LjcwMjAxIDAgNy4xNzE1N1Y0LjgyODQzQzAgNC4yOTc5OSAwLjIxMDcxNCAzLjc4OTI5IDAuNTg1Nzg2IDMuNDE0MjFMMy40MTQyMSAwLjU4NTc4NlpNNiAyQzYuNDk5ODEgMiA2LjkwNDk5IDIuNDA1MTggNi45MDQ5OSAyLjkwNDk5QzYuOTA0OTkgMi45MzUwNiA2LjkwMzQ5IDIuOTY1MTEgNi45MDA1IDIuOTk1MDRMNi41NDk3NSA2LjUwMjQ4QzYuNTIxNTEgNi43ODQ5MiA2LjI4Mzg0IDcgNiA3QzUuNzE2MTYgNyA1LjQ3ODQ5IDYuNzg0OTIgNS40NTAyNSA2LjUwMjQ4TDUuMDk5NSAyLjk5NTA0QzUuMDQ5NzcgMi40OTc3MSA1LjQxMjYyIDIuMDU0MjIgNS45MDk5NSAyLjAwNDQ5QzUuOTM5ODcgMi4wMDE1IDUuOTY5OTMgMiA2IDJaTTcgOUM3IDguNDQ3NzEgNi41NTIyOCA4IDYgOEM1LjQ0NzcyIDggNSA4LjQ0NzcxIDUgOUM1IDkuNTUyMjkgNS40NDc3MiAxMCA2IDEwQzYuNTUyMjggMTAgNyA5LjU1MjI5IDcgOVpcIlxuICAgICAgICAgICAgICBmaWxsPVwidmFyKC0td2FybilcIi8+XG4gICAgPC9zdmc+XG4gICAge3tlcnJvciA/IGVycm9yIDogJyd9fVxuPC9kaXY+XG4iXX0=