@taiga-ui/kit
Version:
Taiga UI Angular main components kit
48 lines • 21.6 kB
JavaScript
import { ChangeDetectionStrategy, Component, Directive, inject, Input, ViewEncapsulation, } from '@angular/core';
import { toSignal } from '@angular/core/rxjs-interop';
import { ResizeObserverService } from '@ng-web-apis/resize-observer';
import { tuiWatch, tuiZonefull } from '@taiga-ui/cdk/observables';
import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
import { map } from 'rxjs';
import * as i0 from "@angular/core";
const rowsInSvg = 3;
class TuiSensitiveStyles {
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSensitiveStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSensitiveStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-sensitive-styles" }, ngImport: i0, template: '', isInline: true, styles: [".tui-sensitive{position:relative;line-height:1em;clip-path:inset(0 round .25rem)}.tui-sensitive:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";display:block!important;background:currentColor;border-radius:inherit;-webkit-mask:url('data:image/svg+xml,<svg width=\"360\" height=\"72\" preserveAspectRatio=\"none\" fill=\"black\" xmlns=\"http://www.w3.org/2000/svg\"><rect opacity=\"0.2\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"336\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"120\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"216\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"312\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"144\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"192\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"288\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"96\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"240\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.24\" x=\"72\" width=\"24\" height=\"24\"/><rect opacity=\"0.34\" x=\"264\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"168\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"336\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"120\" y=\"0\" width=\"24\" height=\"24\" /><rect opacity=\"0.3\" x=\"216\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"24\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"312\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"144\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"192\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"48\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"288\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.38\" x=\"96\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"240\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"72\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"264\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.32\" x=\"168\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"240\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"72\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"192\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"48\" y=\"48\" width=\"24\" height=\"24\"/> <rect opacity=\"0.34\" x=\"216\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"24\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"168\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.32\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"264\" y=\"48\" width=\"24\" height=\"24\"/> <rect opacity=\"0.31\" x=\"288\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"96\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"312\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.28\" x=\"144\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"336\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"120\" y=\"48\" width=\"24\" height=\"24\"/></svg>') var(--t-offset, 0) 0 / auto var(--t-mask-height);mask:url('data:image/svg+xml,<svg width=\"360\" height=\"72\" preserveAspectRatio=\"none\" fill=\"black\" xmlns=\"http://www.w3.org/2000/svg\"><rect opacity=\"0.2\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"336\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"120\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"216\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"312\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"144\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"192\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"288\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"96\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"240\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.24\" x=\"72\" width=\"24\" height=\"24\"/><rect opacity=\"0.34\" x=\"264\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"168\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"336\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"120\" y=\"0\" width=\"24\" height=\"24\" /><rect opacity=\"0.3\" x=\"216\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"24\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"312\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"144\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"192\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"48\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"288\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.38\" x=\"96\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"240\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"72\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"264\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.32\" x=\"168\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"240\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"72\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"192\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"48\" y=\"48\" width=\"24\" height=\"24\"/> <rect opacity=\"0.34\" x=\"216\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"24\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"168\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.32\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"264\" y=\"48\" width=\"24\" height=\"24\"/> <rect opacity=\"0.31\" x=\"288\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"96\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"312\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.28\" x=\"144\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"336\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"120\" y=\"48\" width=\"24\" height=\"24\"/></svg>') var(--t-offset, 0) 0 / auto var(--t-mask-height);margin:0!important}.tui-sensitive.tui-sensitive{-webkit-text-fill-color:transparent}span.tui-sensitive,a.tui-sensitive{display:inline-block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSensitiveStyles, decorators: [{
type: Component,
args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
class: 'tui-sensitive-styles',
}, styles: [".tui-sensitive{position:relative;line-height:1em;clip-path:inset(0 round .25rem)}.tui-sensitive:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";display:block!important;background:currentColor;border-radius:inherit;-webkit-mask:url('data:image/svg+xml,<svg width=\"360\" height=\"72\" preserveAspectRatio=\"none\" fill=\"black\" xmlns=\"http://www.w3.org/2000/svg\"><rect opacity=\"0.2\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"336\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"120\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"216\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"312\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"144\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"192\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"288\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"96\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"240\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.24\" x=\"72\" width=\"24\" height=\"24\"/><rect opacity=\"0.34\" x=\"264\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"168\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"336\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"120\" y=\"0\" width=\"24\" height=\"24\" /><rect opacity=\"0.3\" x=\"216\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"24\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"312\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"144\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"192\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"48\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"288\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.38\" x=\"96\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"240\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"72\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"264\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.32\" x=\"168\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"240\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"72\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"192\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"48\" y=\"48\" width=\"24\" height=\"24\"/> <rect opacity=\"0.34\" x=\"216\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"24\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"168\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.32\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"264\" y=\"48\" width=\"24\" height=\"24\"/> <rect opacity=\"0.31\" x=\"288\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"96\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"312\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.28\" x=\"144\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"336\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"120\" y=\"48\" width=\"24\" height=\"24\"/></svg>') var(--t-offset, 0) 0 / auto var(--t-mask-height);mask:url('data:image/svg+xml,<svg width=\"360\" height=\"72\" preserveAspectRatio=\"none\" fill=\"black\" xmlns=\"http://www.w3.org/2000/svg\"><rect opacity=\"0.2\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"336\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"120\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"216\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"312\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"144\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"192\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"288\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"96\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"240\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.24\" x=\"72\" width=\"24\" height=\"24\"/><rect opacity=\"0.34\" x=\"264\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"168\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"336\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"120\" y=\"0\" width=\"24\" height=\"24\" /><rect opacity=\"0.3\" x=\"216\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"24\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"312\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"144\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"192\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"48\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"288\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.38\" x=\"96\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"240\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"72\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"264\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.32\" x=\"168\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"240\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"72\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"192\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"48\" y=\"48\" width=\"24\" height=\"24\"/> <rect opacity=\"0.34\" x=\"216\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"24\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"168\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.32\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"264\" y=\"48\" width=\"24\" height=\"24\"/> <rect opacity=\"0.31\" x=\"288\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"96\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"312\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.28\" x=\"144\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"336\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"120\" y=\"48\" width=\"24\" height=\"24\"/></svg>') var(--t-offset, 0) 0 / auto var(--t-mask-height);margin:0!important}.tui-sensitive.tui-sensitive{-webkit-text-fill-color:transparent}span.tui-sensitive,a.tui-sensitive{display:inline-block}\n"] }]
}] });
class TuiSensitive {
constructor() {
this.nothing = tuiWithStyles(TuiSensitiveStyles);
this.offset = Math.round(Math.random() * 10) * 10;
this.height = toSignal(inject(ResizeObserverService, { self: true }).pipe(map((entry) => {
const height = entry[0]?.contentRect.height ?? 0;
return [Math.max(2, Math.floor(height / 16) + 1), height];
}), map(([rows, height]) => height * (rowsInSvg / rows)), tuiZonefull(), tuiWatch()));
this.tuiSensitive = false;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSensitive, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiSensitive, isStandalone: true, selector: "[tuiSensitive]", inputs: { tuiSensitive: "tuiSensitive" }, host: { properties: { "style.--t-offset.px": "offset", "style.--t-mask-height.px": "height()", "class.tui-sensitive": "tuiSensitive" } }, providers: [ResizeObserverService], ngImport: i0 }); }
}
export { TuiSensitive };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSensitive, decorators: [{
type: Directive,
args: [{
standalone: true,
selector: '[tuiSensitive]',
providers: [ResizeObserverService],
host: {
'[style.--t-offset.px]': 'offset',
'[style.--t-mask-height.px]': 'height()',
'[class.tui-sensitive]': 'tuiSensitive',
},
}]
}], propDecorators: { tuiSensitive: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vuc2l0aXZlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9kaXJlY3RpdmVzL3NlbnNpdGl2ZS9zZW5zaXRpdmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUNMLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDaEUsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7QUFFekIsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDO0FBRXBCLE1BVU0sa0JBQWtCOytHQUFsQixrQkFBa0I7bUdBQWxCLGtCQUFrQiwwSEFSVixFQUFFOzs0RkFRVixrQkFBa0I7a0JBVnZCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLEVBQUUsaUJBRUcsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDRixLQUFLLEVBQUUsc0JBQXNCO3FCQUNoQzs7QUFJTCxNQVVhLFlBQVk7SUFWekI7UUFXdUIsWUFBTyxHQUFHLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzVDLFdBQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFN0MsV0FBTSxHQUFHLFFBQVEsQ0FDaEMsTUFBTSxDQUFDLHFCQUFxQixFQUFFLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUMsSUFBSSxDQUM1QyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQW9CLEVBQUU7WUFDNUIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO1lBRWpELE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLEVBQ3BELFdBQVcsRUFBRSxFQUNiLFFBQVEsRUFBRSxDQUNiLENBQ0osQ0FBQztRQUdLLGlCQUFZLEdBQW1CLEtBQUssQ0FBQztLQUMvQzsrR0FuQlksWUFBWTttR0FBWixZQUFZLGlQQVBWLENBQUMscUJBQXFCLENBQUM7O1NBT3pCLFlBQVk7NEZBQVosWUFBWTtrQkFWeEIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsU0FBUyxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ2xDLElBQUksRUFBRTt3QkFDRix1QkFBdUIsRUFBRSxRQUFRO3dCQUNqQyw0QkFBNEIsRUFBRSxVQUFVO3dCQUN4Qyx1QkFBdUIsRUFBRSxjQUFjO3FCQUMxQztpQkFDSjs4QkFtQlUsWUFBWTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIERpcmVjdGl2ZSxcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtSZXNpemVPYnNlcnZlclNlcnZpY2V9IGZyb20gJ0BuZy13ZWItYXBpcy9yZXNpemUtb2JzZXJ2ZXInO1xuaW1wb3J0IHt0dWlXYXRjaCwgdHVpWm9uZWZ1bGx9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHt0dWlXaXRoU3R5bGVzfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMnO1xuXG5jb25zdCByb3dzSW5TdmcgPSAzO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZW5zaXRpdmUuc3R5bGUubGVzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3R1aS1zZW5zaXRpdmUtc3R5bGVzJyxcbiAgICB9LFxufSlcbmNsYXNzIFR1aVNlbnNpdGl2ZVN0eWxlcyB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aVNlbnNpdGl2ZV0nLFxuICAgIHByb3ZpZGVyczogW1Jlc2l6ZU9ic2VydmVyU2VydmljZV0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW3N0eWxlLi0tdC1vZmZzZXQucHhdJzogJ29mZnNldCcsXG4gICAgICAgICdbc3R5bGUuLS10LW1hc2staGVpZ2h0LnB4XSc6ICdoZWlnaHQoKScsXG4gICAgICAgICdbY2xhc3MudHVpLXNlbnNpdGl2ZV0nOiAndHVpU2Vuc2l0aXZlJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTZW5zaXRpdmUge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBub3RoaW5nID0gdHVpV2l0aFN0eWxlcyhUdWlTZW5zaXRpdmVTdHlsZXMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvZmZzZXQgPSBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxMCkgKiAxMDtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBoZWlnaHQgPSB0b1NpZ25hbChcbiAgICAgICAgaW5qZWN0KFJlc2l6ZU9ic2VydmVyU2VydmljZSwge3NlbGY6IHRydWV9KS5waXBlKFxuICAgICAgICAgICAgbWFwKChlbnRyeSk6IFtudW1iZXIsIG51bWJlcl0gPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IGVudHJ5WzBdPy5jb250ZW50UmVjdC5oZWlnaHQgPz8gMDtcblxuICAgICAgICAgICAgICAgIHJldHVybiBbTWF0aC5tYXgoMiwgTWF0aC5mbG9vcihoZWlnaHQgLyAxNikgKyAxKSwgaGVpZ2h0XTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbWFwKChbcm93cywgaGVpZ2h0XSkgPT4gaGVpZ2h0ICogKHJvd3NJblN2ZyAvIHJvd3MpKSxcbiAgICAgICAgICAgIHR1aVpvbmVmdWxsKCksXG4gICAgICAgICAgICB0dWlXYXRjaCgpLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0dWlTZW5zaXRpdmU6IGJvb2xlYW4gfCBudWxsID0gZmFsc2U7XG59XG4iXX0=