@snabcentr/client-ui 3.53.0 → 3.53.4

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.
@@ -1,2 +1,3 @@
1
+ export * from './sc-brand-list-item';
1
2
  export * from './sc-brands-list.component';
2
3
  export * from './sc-brands-list.module';
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Элемент списка брендов.
3
+ */
4
+ export interface ScBrandListItem {
5
+ /**
6
+ * URL изображения бренда.
7
+ */
8
+ src: string;
9
+ /**
10
+ * Альтернативный текст изображения.
11
+ */
12
+ alt: string;
13
+ /**
14
+ * Ширина изображения в пикселях.
15
+ */
16
+ width: number;
17
+ /**
18
+ * Высота изображения в пикселях.
19
+ */
20
+ height: number;
21
+ }
@@ -1,3 +1,4 @@
1
+ import { ScBrandListItem } from './sc-brand-list-item';
1
2
  import * as i0 from "@angular/core";
2
3
  /**
3
4
  * Компонент списка брэндов.
@@ -6,10 +7,7 @@ export declare class ScBrandsListComponent {
6
7
  /**
7
8
  * Список элементов брендов.
8
9
  */
9
- items: Array<{
10
- src: string;
11
- alt: string;
12
- }>;
10
+ items: ScBrandListItem[];
13
11
  static ɵfac: i0.ɵɵFactoryDeclaration<ScBrandsListComponent, never>;
14
12
  static ɵcmp: i0.ɵɵComponentDeclaration<ScBrandsListComponent, "sc-brands-list", never, { "items": { "alias": "items"; "required": false; }; }, {}, never, never, false, never>;
15
13
  }
@@ -1,3 +1,4 @@
1
+ export * from './sc-brand-list-item';
1
2
  export * from './sc-brands-list.component';
2
3
  export * from './sc-brands-list.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvYnJhbmRzLWxpc3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zYy1icmFuZHMtbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1icmFuZHMtbGlzdC5tb2R1bGUnO1xuIl19
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvYnJhbmRzLWxpc3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NjLWJyYW5kLWxpc3QtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWJyYW5kcy1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWJyYW5kcy1saXN0Lm1vZHVsZSc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYnJhbmQtbGlzdC1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2JyYW5kcy1saXN0L3NjLWJyYW5kLWxpc3QtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDQrdC70LXQvNC10L3RgiDRgdC/0LjRgdC60LAg0LHRgNC10L3QtNC+0LIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NCcmFuZExpc3RJdGVtIHtcbiAgICAvKipcbiAgICAgKiBVUkwg0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDQsdGA0LXQvdC00LAuXG4gICAgICovXG4gICAgc3JjOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQkNC70YzRgtC10YDQvdCw0YLQuNCy0L3Ri9C5INGC0LXQutGB0YIg0LjQt9C+0LHRgNCw0LbQtdC90LjRjy5cbiAgICAgKi9cbiAgICBhbHQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCo0LjRgNC40L3QsCDQuNC30L7QsdGA0LDQttC10L3QuNGPINCyINC/0LjQutGB0LXQu9GP0YUuXG4gICAgICovXG4gICAgd2lkdGg6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCS0YvRgdC+0YLQsCDQuNC30L7QsdGA0LDQttC10L3QuNGPINCyINC/0LjQutGB0LXQu9GP0YUuXG4gICAgICovXG4gICAgaGVpZ2h0OiBudW1iZXI7XG59XG4iXX0=
@@ -13,12 +13,12 @@ export class ScBrandsListComponent {
13
13
  this.items = [];
14
14
  }
15
15
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScBrandsListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ScBrandsListComponent, selector: "sc-brands-list", inputs: { items: "items" }, ngImport: i0, template: "<!-- TODO: TASK:[#9893] \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u043D\u0430 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0441\u0442\u0440\u043E\u043A \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439, \u043F\u0440\u0438 \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u0438 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0431\u0440\u0435\u043D\u0434\u043E\u0432. -->\n<div class=\"flex flex-col gap-4\">\n <div class=\"relative\">\n <div class=\"absolute -left-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-tui-base-01 to-transparent\"></div>\n <div class=\"flex select-none items-center justify-center gap-12 overflow-hidden contrast-150 saturate-0\">\n <div\n *ngFor=\"let _ of [].constructor(3)\"\n class=\"animate-scroll-slow scroll-slow-revert flex shrink-0 items-center gap-16\"\n >\n <div\n *tuiRepeatTimes=\"let index of items.length - (items.length - (items.length % 2)) / 2\"\n class=\"flex items-center justify-center\"\n >\n <img\n [src]=\"items[index + (items.length - (items.length % 2)) / 2].src\"\n [alt]=\"items[index].alt\"\n />\n </div>\n </div>\n </div>\n <div class=\"absolute -right-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-transparent to-tui-base-01\"></div>\n </div>\n <div class=\"relative\">\n <div class=\"absolute -left-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-tui-base-01 to-transparent\"></div>\n <div class=\"flex select-none items-center justify-center gap-12 overflow-hidden contrast-150 saturate-0\">\n <div\n *ngFor=\"let _ of [].constructor(3)\"\n class=\"animate-scroll-slow flex shrink-0 items-center gap-16\"\n >\n <div\n *tuiRepeatTimes=\"let index of (items.length - (items.length % 2)) / 2\"\n class=\"flex items-center justify-center\"\n >\n <img\n [src]=\"items[index].src\"\n [alt]=\"items[index].alt\"\n />\n </div>\n </div>\n </div>\n <div class=\"absolute -right-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-transparent to-tui-base-01\"></div>\n </div>\n</div>\n", styles: [".scroll-slow-revert{animation-direction:reverse!important;animation-delay:-15s!important}@keyframes scroll-slow{0%{transform:translate(0)}to{transform:translate(calc(-100% - 3rem))}}.animate-scroll-slow{animation:scroll-slow 30s linear infinite}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ScBrandsListComponent, selector: "sc-brands-list", inputs: { items: "items" }, ngImport: i0, template: "<!-- TODO: TASK:[#9893] \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u043D\u0430 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0441\u0442\u0440\u043E\u043A \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439, \u043F\u0440\u0438 \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u0438 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0431\u0440\u0435\u043D\u0434\u043E\u0432. -->\n<div class=\"flex flex-col gap-4\">\n <div class=\"relative\">\n <div class=\"absolute -left-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-tui-base-01 to-transparent\"></div>\n <div class=\"flex select-none items-center justify-center gap-12 overflow-hidden contrast-150 saturate-0\">\n <div\n *ngFor=\"let _ of [].constructor(3)\"\n class=\"animate-scroll-slow scroll-slow-revert flex shrink-0 items-center gap-16\"\n >\n <div\n *tuiRepeatTimes=\"let index of items.length - (items.length - (items.length % 2)) / 2\"\n class=\"flex items-center justify-center\"\n >\n @let brandItem = items[index + (items.length - (items.length % 2)) / 2];\n <img\n [src]=\"brandItem.src\"\n [alt]=\"items[index].alt\"\n [attr.width]=\"brandItem.width\"\n [attr.height]=\"brandItem.height\"\n />\n </div>\n </div>\n </div>\n <div class=\"absolute -right-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-transparent to-tui-base-01\"></div>\n </div>\n <div class=\"relative\">\n <div class=\"absolute -left-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-tui-base-01 to-transparent\"></div>\n <div class=\"flex select-none items-center justify-center gap-12 overflow-hidden contrast-150 saturate-0\">\n <div\n *ngFor=\"let _ of [].constructor(3)\"\n class=\"animate-scroll-slow flex shrink-0 items-center gap-16\"\n >\n <div\n *tuiRepeatTimes=\"let index of (items.length - (items.length % 2)) / 2\"\n class=\"flex items-center justify-center\"\n >\n @let brandItem = items[index];\n <img\n [src]=\"brandItem.src\"\n [alt]=\"brandItem.alt\"\n [attr.width]=\"brandItem.width\"\n [attr.height]=\"brandItem.height\"\n />\n </div>\n </div>\n </div>\n <div class=\"absolute -right-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-transparent to-tui-base-01\"></div>\n </div>\n</div>\n", styles: [".scroll-slow-revert{animation-direction:reverse!important;animation-delay:-15s!important}@keyframes scroll-slow{0%{transform:translate(0)}to{transform:translate(calc(-100% - 3rem))}}.animate-scroll-slow{animation:scroll-slow 30s linear infinite}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17
17
  }
18
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScBrandsListComponent, decorators: [{
19
19
  type: Component,
20
- args: [{ selector: 'sc-brands-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- TODO: TASK:[#9893] \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u043D\u0430 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0441\u0442\u0440\u043E\u043A \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439, \u043F\u0440\u0438 \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u0438 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0431\u0440\u0435\u043D\u0434\u043E\u0432. -->\n<div class=\"flex flex-col gap-4\">\n <div class=\"relative\">\n <div class=\"absolute -left-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-tui-base-01 to-transparent\"></div>\n <div class=\"flex select-none items-center justify-center gap-12 overflow-hidden contrast-150 saturate-0\">\n <div\n *ngFor=\"let _ of [].constructor(3)\"\n class=\"animate-scroll-slow scroll-slow-revert flex shrink-0 items-center gap-16\"\n >\n <div\n *tuiRepeatTimes=\"let index of items.length - (items.length - (items.length % 2)) / 2\"\n class=\"flex items-center justify-center\"\n >\n <img\n [src]=\"items[index + (items.length - (items.length % 2)) / 2].src\"\n [alt]=\"items[index].alt\"\n />\n </div>\n </div>\n </div>\n <div class=\"absolute -right-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-transparent to-tui-base-01\"></div>\n </div>\n <div class=\"relative\">\n <div class=\"absolute -left-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-tui-base-01 to-transparent\"></div>\n <div class=\"flex select-none items-center justify-center gap-12 overflow-hidden contrast-150 saturate-0\">\n <div\n *ngFor=\"let _ of [].constructor(3)\"\n class=\"animate-scroll-slow flex shrink-0 items-center gap-16\"\n >\n <div\n *tuiRepeatTimes=\"let index of (items.length - (items.length % 2)) / 2\"\n class=\"flex items-center justify-center\"\n >\n <img\n [src]=\"items[index].src\"\n [alt]=\"items[index].alt\"\n />\n </div>\n </div>\n </div>\n <div class=\"absolute -right-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-transparent to-tui-base-01\"></div>\n </div>\n</div>\n", styles: [".scroll-slow-revert{animation-direction:reverse!important;animation-delay:-15s!important}@keyframes scroll-slow{0%{transform:translate(0)}to{transform:translate(calc(-100% - 3rem))}}.animate-scroll-slow{animation:scroll-slow 30s linear infinite}\n"] }]
20
+ args: [{ selector: 'sc-brands-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- TODO: TASK:[#9893] \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u043D\u0430 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0441\u0442\u0440\u043E\u043A \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439, \u043F\u0440\u0438 \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u0438 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0431\u0440\u0435\u043D\u0434\u043E\u0432. -->\n<div class=\"flex flex-col gap-4\">\n <div class=\"relative\">\n <div class=\"absolute -left-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-tui-base-01 to-transparent\"></div>\n <div class=\"flex select-none items-center justify-center gap-12 overflow-hidden contrast-150 saturate-0\">\n <div\n *ngFor=\"let _ of [].constructor(3)\"\n class=\"animate-scroll-slow scroll-slow-revert flex shrink-0 items-center gap-16\"\n >\n <div\n *tuiRepeatTimes=\"let index of items.length - (items.length - (items.length % 2)) / 2\"\n class=\"flex items-center justify-center\"\n >\n @let brandItem = items[index + (items.length - (items.length % 2)) / 2];\n <img\n [src]=\"brandItem.src\"\n [alt]=\"items[index].alt\"\n [attr.width]=\"brandItem.width\"\n [attr.height]=\"brandItem.height\"\n />\n </div>\n </div>\n </div>\n <div class=\"absolute -right-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-transparent to-tui-base-01\"></div>\n </div>\n <div class=\"relative\">\n <div class=\"absolute -left-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-tui-base-01 to-transparent\"></div>\n <div class=\"flex select-none items-center justify-center gap-12 overflow-hidden contrast-150 saturate-0\">\n <div\n *ngFor=\"let _ of [].constructor(3)\"\n class=\"animate-scroll-slow flex shrink-0 items-center gap-16\"\n >\n <div\n *tuiRepeatTimes=\"let index of (items.length - (items.length % 2)) / 2\"\n class=\"flex items-center justify-center\"\n >\n @let brandItem = items[index];\n <img\n [src]=\"brandItem.src\"\n [alt]=\"brandItem.alt\"\n [attr.width]=\"brandItem.width\"\n [attr.height]=\"brandItem.height\"\n />\n </div>\n </div>\n </div>\n <div class=\"absolute -right-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-transparent to-tui-base-01\"></div>\n </div>\n</div>\n", styles: [".scroll-slow-revert{animation-direction:reverse!important;animation-delay:-15s!important}@keyframes scroll-slow{0%{transform:translate(0)}to{transform:translate(calc(-100% - 3rem))}}.animate-scroll-slow{animation:scroll-slow 30s linear infinite}\n"] }]
21
21
  }], propDecorators: { items: [{
22
22
  type: Input
23
23
  }] } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYnJhbmRzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2JyYW5kcy1saXN0L3NjLWJyYW5kcy1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9icmFuZHMtbGlzdC9zYy1icmFuZHMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUUxRTs7R0FFRztBQU9ILE1BQU0sT0FBTyxxQkFBcUI7SUFObEM7UUFPSTs7V0FFRztRQUVJLFVBQUssR0FHUCxFQUFFLENBQUM7S0FDWDsrR0FUWSxxQkFBcUI7bUdBQXJCLHFCQUFxQixrRkNYbEMsMGlGQTJDQTs7NEZEaENhLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDSSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTTs4QkFPeEMsS0FBSztzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0YHQv9C40YHQutCwINCx0YDRjdC90LTQvtCyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLWJyYW5kcy1saXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtYnJhbmRzLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NjLWJyYW5kcy1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjQnJhbmRzTGlzdENvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INGN0LvQtdC80LXQvdGC0L7QsiDQsdGA0LXQvdC00L7Qsi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpdGVtczogQXJyYXk8e1xuICAgICAgICBzcmM6IHN0cmluZztcbiAgICAgICAgYWx0OiBzdHJpbmc7XG4gICAgfT4gPSBbXTtcbn1cbiIsIjwhLS0gVE9ETzogVEFTSzpbIzk4OTNdINCU0L7QsdCw0LLQuNGC0Ywg0YDQsNC30LTQtdC70LXQvdC40LUg0L3QsCDQvdC10YHQutC+0LvRjNC60L4g0YHRgtGA0L7QuiDQuNC30L7QsdGA0LDQttC10L3QuNC5LCDQv9GA0Lgg0YPQstC10LvQuNGH0LXQvdC40Lgg0LrQvtC70LjRh9C10YHRgtCy0LAg0LHRgNC10L3QtNC+0LIuIC0tPlxuPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTRcIj5cbiAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFic29sdXRlIC1sZWZ0LTEgdG9wLTAgei0xMCBibG9jayBoLWZ1bGwgdy0xMiBiZy1ncmFkaWVudC10by1yIGZyb20tdHVpLWJhc2UtMDEgdG8tdHJhbnNwYXJlbnRcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggc2VsZWN0LW5vbmUgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0xMiBvdmVyZmxvdy1oaWRkZW4gY29udHJhc3QtMTUwIHNhdHVyYXRlLTBcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgXyBvZiBbXS5jb25zdHJ1Y3RvcigzKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhbmltYXRlLXNjcm9sbC1zbG93IHNjcm9sbC1zbG93LXJldmVydCBmbGV4IHNocmluay0wIGl0ZW1zLWNlbnRlciBnYXAtMTZcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgKnR1aVJlcGVhdFRpbWVzPVwibGV0IGluZGV4IG9mIGl0ZW1zLmxlbmd0aCAtIChpdGVtcy5sZW5ndGggLSAoaXRlbXMubGVuZ3RoICUgMikpIC8gMlwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtc1tpbmRleCArIChpdGVtcy5sZW5ndGggLSAoaXRlbXMubGVuZ3RoICUgMikpIC8gMl0uc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbXNbaW5kZXhdLmFsdFwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSAtcmlnaHQtMSB0b3AtMCB6LTEwIGJsb2NrIGgtZnVsbCB3LTEyIGJnLWdyYWRpZW50LXRvLXIgZnJvbS10cmFuc3BhcmVudCB0by10dWktYmFzZS0wMVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWJzb2x1dGUgLWxlZnQtMSB0b3AtMCB6LTEwIGJsb2NrIGgtZnVsbCB3LTEyIGJnLWdyYWRpZW50LXRvLXIgZnJvbS10dWktYmFzZS0wMSB0by10cmFuc3BhcmVudFwiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBzZWxlY3Qtbm9uZSBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTEyIG92ZXJmbG93LWhpZGRlbiBjb250cmFzdC0xNTAgc2F0dXJhdGUtMFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBfIG9mIFtdLmNvbnN0cnVjdG9yKDMpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFuaW1hdGUtc2Nyb2xsLXNsb3cgZmxleCBzaHJpbmstMCBpdGVtcy1jZW50ZXIgZ2FwLTE2XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICp0dWlSZXBlYXRUaW1lcz1cImxldCBpbmRleCBvZiAoaXRlbXMubGVuZ3RoIC0gKGl0ZW1zLmxlbmd0aCAlIDIpKSAvIDJcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaXRlbXNbaW5kZXhdLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cIml0ZW1zW2luZGV4XS5hbHRcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWJzb2x1dGUgLXJpZ2h0LTEgdG9wLTAgei0xMCBibG9jayBoLWZ1bGwgdy0xMiBiZy1ncmFkaWVudC10by1yIGZyb20tdHJhbnNwYXJlbnQgdG8tdHVpLWJhc2UtMDFcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYnJhbmRzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2JyYW5kcy1saXN0L3NjLWJyYW5kcy1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9icmFuZHMtbGlzdC9zYy1icmFuZHMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUkxRTs7R0FFRztBQU9ILE1BQU0sT0FBTyxxQkFBcUI7SUFObEM7UUFPSTs7V0FFRztRQUVJLFVBQUssR0FBc0IsRUFBRSxDQUFDO0tBQ3hDOytHQU5ZLHFCQUFxQjttR0FBckIscUJBQXFCLGtGQ2JsQyxxM0ZBaURBOzs0RkRwQ2EscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNJLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNOzhCQU94QyxLQUFLO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTY0JyYW5kTGlzdEl0ZW0gfSBmcm9tICcuL3NjLWJyYW5kLWxpc3QtaXRlbSc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINGB0L/QuNGB0LrQsCDQsdGA0Y3QvdC00L7Qsi5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1icmFuZHMtbGlzdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLWJyYW5kcy1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zYy1icmFuZHMtbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY0JyYW5kc0xpc3RDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDRjdC70LXQvNC10L3RgtC+0LIg0LHRgNC10L3QtNC+0LIuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXRlbXM6IFNjQnJhbmRMaXN0SXRlbVtdID0gW107XG59XG4iLCI8IS0tIFRPRE86IFRBU0s6WyM5ODkzXSDQlNC+0LHQsNCy0LjRgtGMINGA0LDQt9C00LXQu9C10L3QuNC1INC90LAg0L3QtdGB0LrQvtC70YzQutC+INGB0YLRgNC+0Log0LjQt9C+0LHRgNCw0LbQtdC90LjQuSwg0L/RgNC4INGD0LLQtdC70LjRh9C10L3QuNC4INC60L7Qu9C40YfQtdGB0YLQstCwINCx0YDQtdC90LTQvtCyLiAtLT5cbjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC00XCI+XG4gICAgPGRpdiBjbGFzcz1cInJlbGF0aXZlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSAtbGVmdC0xIHRvcC0wIHotMTAgYmxvY2sgaC1mdWxsIHctMTIgYmctZ3JhZGllbnQtdG8tciBmcm9tLXR1aS1iYXNlLTAxIHRvLXRyYW5zcGFyZW50XCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHNlbGVjdC1ub25lIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMTIgb3ZlcmZsb3ctaGlkZGVuIGNvbnRyYXN0LTE1MCBzYXR1cmF0ZS0wXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IF8gb2YgW10uY29uc3RydWN0b3IoMylcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYW5pbWF0ZS1zY3JvbGwtc2xvdyBzY3JvbGwtc2xvdy1yZXZlcnQgZmxleCBzaHJpbmstMCBpdGVtcy1jZW50ZXIgZ2FwLTE2XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICp0dWlSZXBlYXRUaW1lcz1cImxldCBpbmRleCBvZiBpdGVtcy5sZW5ndGggLSAoaXRlbXMubGVuZ3RoIC0gKGl0ZW1zLmxlbmd0aCAlIDIpKSAvIDJcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEBsZXQgYnJhbmRJdGVtID0gaXRlbXNbaW5kZXggKyAoaXRlbXMubGVuZ3RoIC0gKGl0ZW1zLmxlbmd0aCAlIDIpKSAvIDJdO1xuICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImJyYW5kSXRlbS5zcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJpdGVtc1tpbmRleF0uYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLndpZHRoXT1cImJyYW5kSXRlbS53aWR0aFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5oZWlnaHRdPVwiYnJhbmRJdGVtLmhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSAtcmlnaHQtMSB0b3AtMCB6LTEwIGJsb2NrIGgtZnVsbCB3LTEyIGJnLWdyYWRpZW50LXRvLXIgZnJvbS10cmFuc3BhcmVudCB0by10dWktYmFzZS0wMVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWJzb2x1dGUgLWxlZnQtMSB0b3AtMCB6LTEwIGJsb2NrIGgtZnVsbCB3LTEyIGJnLWdyYWRpZW50LXRvLXIgZnJvbS10dWktYmFzZS0wMSB0by10cmFuc3BhcmVudFwiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBzZWxlY3Qtbm9uZSBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTEyIG92ZXJmbG93LWhpZGRlbiBjb250cmFzdC0xNTAgc2F0dXJhdGUtMFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBfIG9mIFtdLmNvbnN0cnVjdG9yKDMpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFuaW1hdGUtc2Nyb2xsLXNsb3cgZmxleCBzaHJpbmstMCBpdGVtcy1jZW50ZXIgZ2FwLTE2XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICp0dWlSZXBlYXRUaW1lcz1cImxldCBpbmRleCBvZiAoaXRlbXMubGVuZ3RoIC0gKGl0ZW1zLmxlbmd0aCAlIDIpKSAvIDJcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEBsZXQgYnJhbmRJdGVtID0gaXRlbXNbaW5kZXhdO1xuICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImJyYW5kSXRlbS5zcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJicmFuZEl0ZW0uYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLndpZHRoXT1cImJyYW5kSXRlbS53aWR0aFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5oZWlnaHRdPVwiYnJhbmRJdGVtLmhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSAtcmlnaHQtMSB0b3AtMCB6LTEwIGJsb2NrIGgtZnVsbCB3LTEyIGJnLWdyYWRpZW50LXRvLXIgZnJvbS10cmFuc3BhcmVudCB0by10dWktYmFzZS0wMVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -19,7 +19,7 @@ export class ScFrequentlyAskedQuestionsComponent {
19
19
  */
20
20
  this.showLoading = input(false);
21
21
  /**
22
- * Признак что приложение запущено на сервере.
22
+ * Признак, что приложение запущено на сервере.
23
23
  */
24
24
  this.isServer = inject(IS_SERVER);
25
25
  }
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
46
46
  },
47
47
  ], host: { ngSkipHydration: 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<tui-loader\n [showLoader]=\"showLoading()\"\n [overlay]=\"true\"\n>\n <tui-accordion\n class=\"accordion\"\n [closeOthers]=\"false\"\n >\n @for (item of items(); track item.id) {\n <button\n [tuiAccordion]=\"isServer\"\n class=\"!whitespace-normal !text-body-m-bold\"\n >\n {{ item.question }}\n </button>\n <tui-expand>\n <div [innerHTML]=\"item.answer\"></div>\n </tui-expand>\n }\n </tui-accordion>\n</tui-loader>\n", styles: [".accordion{border-radius:0}.accordion,.accordion[data-size=s],.accordion[data-size=m],.accordion[data-size=l],.accordion .tui-list{font:inherit}.accordion [tuiAccordion]{border-block:1px solid var(--tui-border-normal);border-block-end-color:#fff!important;font-weight:400;border-color:var(--tui-border-normal);mask:none;block-size:auto;padding-block:.5rem;min-block-size:var(--t-size)}.accordion [tuiAccordion]._open{border-block-end-color:var(--tui-border-normal)!important}.accordion tui-expand,.accordion [tuiAccordion]{box-shadow:none;white-space:normal}\n"] }]
48
48
  }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZnJlcXVlbnRseS1hc2tlZC1xdWVzdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3BhZ2VzL2ZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zL3NjLWZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9wYWdlcy9mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucy9zYy1mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLFNBQVMsRUFBYSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFFdEQ7O0dBRUc7QUFtQkgsTUFBTSxPQUFPLG1DQUFtQztJQWxCaEQ7UUFtQkk7O1dBRUc7UUFDYSxVQUFLLEdBQTZCLEtBQUssQ0FBQyxRQUFRLEVBQWUsQ0FBQztRQUVoRjs7V0FFRztRQUNhLGdCQUFXLEdBQXlCLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUUxRTs7V0FFRztRQUNnQixhQUFRLEdBQXNCLE1BQU0sQ0FBVSxTQUFTLENBQUMsQ0FBQztLQUMvRTsrR0FmWSxtQ0FBbUM7bUdBQW5DLG1DQUFtQyw4WUFaakM7WUFDUDtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixRQUFRLEVBQUU7b0JBQ04sR0FBRywwQkFBMEI7b0JBQzdCLElBQUksRUFBRSxHQUFHO2lCQUNaO2FBQ0o7U0FDSiwwQkN0QkwsbWtCQXFCQSwwOEJEUjRCLFNBQVM7OzRGQWF4QixtQ0FBbUM7a0JBbEIvQyxTQUFTO2lDQUNNLElBQUksWUFDTiwrQkFBK0IsV0FHaEMsQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLGFBQ3ZCO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFFBQVEsRUFBRTtnQ0FDTixHQUFHLDBCQUEwQjtnQ0FDN0IsSUFBSSxFQUFFLEdBQUc7NkJBQ1o7eUJBQ0o7cUJBQ0osUUFDSyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsbUJBQ2hCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0LCBJbnB1dFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVNfU0VSVkVSLCBTY0ZhcUl0ZW0gfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFRVSV9CVVRUT05fREVGQVVMVF9PUFRJT05TLCBUVUlfQlVUVE9OX09QVElPTlMsIFR1aUxvYWRlciB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFR1aUFjY29yZGlvbiB9IGZyb20gJ0B0YWlnYS11aS9leHBlcmltZW50YWwnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDRh9Cw0YHRgtC+INC30LDQtNCw0LLQsNC10LzRi9GFINCy0L7Qv9GA0L7RgdC+0LIuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdzYy1mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucycsXG4gICAgc3R5bGVVcmw6ICcuL3NjLWZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zLmNvbXBvbmVudC5zY3NzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtZnJlcXVlbnRseS1hc2tlZC1xdWVzdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICAgIGltcG9ydHM6IFtUdWlBY2NvcmRpb24sIFR1aUxvYWRlcl0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9CVVRUT05fT1BUSU9OUyxcbiAgICAgICAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgICAgICAgICAgLi4uVFVJX0JVVFRPTl9ERUZBVUxUX09QVElPTlMsXG4gICAgICAgICAgICAgICAgc2l6ZTogJ2wnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3Q6IHsgbmdTa2lwSHlkcmF0aW9uOiAndHJ1ZScgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqIHtAbGluayBJbnB1dFNpZ25hbH0g0YHQv9C40YHQutCwINCz0YDRg9C/0L/RiyDRh9Cw0YHRgtC+INC30LDQtNCw0LLQsNC10LzRi9GFINCy0L7Qv9GA0L7RgdC+0LIuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGl0ZW1zOiBJbnB1dFNpZ25hbDxTY0ZhcUl0ZW1bXT4gPSBpbnB1dC5yZXF1aXJlZDxTY0ZhcUl0ZW1bXT4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBJbnB1dFNpZ25hbH0g0L7RgtC+0LHRgNCw0LbQtdC90LjRjyDQt9Cw0LPRgNGD0LfQutC4LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBzaG93TG9hZGluZzogSW5wdXRTaWduYWw8Ym9vbGVhbj4gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiDRh9GC0L4g0L/RgNC40LvQvtC20LXQvdC40LUg0LfQsNC/0YPRidC10L3QviDQvdCwINGB0LXRgNCy0LXRgNC1LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc1NlcnZlcjogUmVhZG9ubHk8Ym9vbGVhbj4gPSBpbmplY3Q8Ym9vbGVhbj4oSVNfU0VSVkVSKTtcbn1cbiIsIjx0dWktbG9hZGVyXG4gICAgW3Nob3dMb2FkZXJdPVwic2hvd0xvYWRpbmcoKVwiXG4gICAgW292ZXJsYXldPVwidHJ1ZVwiXG4+XG4gICAgPHR1aS1hY2NvcmRpb25cbiAgICAgICAgY2xhc3M9XCJhY2NvcmRpb25cIlxuICAgICAgICBbY2xvc2VPdGhlcnNdPVwiZmFsc2VcIlxuICAgID5cbiAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtcygpOyB0cmFjayBpdGVtLmlkKSB7XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgW3R1aUFjY29yZGlvbl09XCJpc1NlcnZlclwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCIhd2hpdGVzcGFjZS1ub3JtYWwgIXRleHQtYm9keS1tLWJvbGRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0ucXVlc3Rpb24gfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPHR1aS1leHBhbmQ+XG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cIml0ZW0uYW5zd2VyXCI+PC9kaXY+XG4gICAgICAgICAgICA8L3R1aS1leHBhbmQ+XG4gICAgICAgIH1cbiAgICA8L3R1aS1hY2NvcmRpb24+XG48L3R1aS1sb2FkZXI+XG4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZnJlcXVlbnRseS1hc2tlZC1xdWVzdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3BhZ2VzL2ZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zL3NjLWZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9wYWdlcy9mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucy9zYy1mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLFNBQVMsRUFBYSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFFdEQ7O0dBRUc7QUFtQkgsTUFBTSxPQUFPLG1DQUFtQztJQWxCaEQ7UUFtQkk7O1dBRUc7UUFDYSxVQUFLLEdBQTZCLEtBQUssQ0FBQyxRQUFRLEVBQWUsQ0FBQztRQUVoRjs7V0FFRztRQUNhLGdCQUFXLEdBQXlCLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUUxRTs7V0FFRztRQUNnQixhQUFRLEdBQXNCLE1BQU0sQ0FBVSxTQUFTLENBQUMsQ0FBQztLQUMvRTsrR0FmWSxtQ0FBbUM7bUdBQW5DLG1DQUFtQyw4WUFaakM7WUFDUDtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixRQUFRLEVBQUU7b0JBQ04sR0FBRywwQkFBMEI7b0JBQzdCLElBQUksRUFBRSxHQUFHO2lCQUNaO2FBQ0o7U0FDSiwwQkN0QkwsbWtCQXFCQSwwOEJEUjRCLFNBQVM7OzRGQWF4QixtQ0FBbUM7a0JBbEIvQyxTQUFTO2lDQUNNLElBQUksWUFDTiwrQkFBK0IsV0FHaEMsQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLGFBQ3ZCO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFFBQVEsRUFBRTtnQ0FDTixHQUFHLDBCQUEwQjtnQ0FDN0IsSUFBSSxFQUFFLEdBQUc7NkJBQ1o7eUJBQ0o7cUJBQ0osUUFDSyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsbUJBQ2hCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0LCBJbnB1dFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVNfU0VSVkVSLCBTY0ZhcUl0ZW0gfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFRVSV9CVVRUT05fREVGQVVMVF9PUFRJT05TLCBUVUlfQlVUVE9OX09QVElPTlMsIFR1aUxvYWRlciB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFR1aUFjY29yZGlvbiB9IGZyb20gJ0B0YWlnYS11aS9leHBlcmltZW50YWwnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDRh9Cw0YHRgtC+INC30LDQtNCw0LLQsNC10LzRi9GFINCy0L7Qv9GA0L7RgdC+0LIuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdzYy1mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucycsXG4gICAgc3R5bGVVcmw6ICcuL3NjLWZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zLmNvbXBvbmVudC5zY3NzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtZnJlcXVlbnRseS1hc2tlZC1xdWVzdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICAgIGltcG9ydHM6IFtUdWlBY2NvcmRpb24sIFR1aUxvYWRlcl0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9CVVRUT05fT1BUSU9OUyxcbiAgICAgICAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgICAgICAgICAgLi4uVFVJX0JVVFRPTl9ERUZBVUxUX09QVElPTlMsXG4gICAgICAgICAgICAgICAgc2l6ZTogJ2wnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3Q6IHsgbmdTa2lwSHlkcmF0aW9uOiAndHJ1ZScgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqIHtAbGluayBJbnB1dFNpZ25hbH0g0YHQv9C40YHQutCwINCz0YDRg9C/0L/RiyDRh9Cw0YHRgtC+INC30LDQtNCw0LLQsNC10LzRi9GFINCy0L7Qv9GA0L7RgdC+0LIuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGl0ZW1zOiBJbnB1dFNpZ25hbDxTY0ZhcUl0ZW1bXT4gPSBpbnB1dC5yZXF1aXJlZDxTY0ZhcUl0ZW1bXT4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBJbnB1dFNpZ25hbH0g0L7RgtC+0LHRgNCw0LbQtdC90LjRjyDQt9Cw0LPRgNGD0LfQutC4LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBzaG93TG9hZGluZzogSW5wdXRTaWduYWw8Ym9vbGVhbj4gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INC/0YDQuNC70L7QttC10L3QuNC1INC30LDQv9GD0YnQtdC90L4g0L3QsCDRgdC10YDQstC10YDQtS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNTZXJ2ZXI6IFJlYWRvbmx5PGJvb2xlYW4+ID0gaW5qZWN0PGJvb2xlYW4+KElTX1NFUlZFUik7XG59XG4iLCI8dHVpLWxvYWRlclxuICAgIFtzaG93TG9hZGVyXT1cInNob3dMb2FkaW5nKClcIlxuICAgIFtvdmVybGF5XT1cInRydWVcIlxuPlxuICAgIDx0dWktYWNjb3JkaW9uXG4gICAgICAgIGNsYXNzPVwiYWNjb3JkaW9uXCJcbiAgICAgICAgW2Nsb3NlT3RoZXJzXT1cImZhbHNlXCJcbiAgICA+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgaXRlbXMoKTsgdHJhY2sgaXRlbS5pZCkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIFt0dWlBY2NvcmRpb25dPVwiaXNTZXJ2ZXJcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiIXdoaXRlc3BhY2Utbm9ybWFsICF0ZXh0LWJvZHktbS1ib2xkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBpdGVtLnF1ZXN0aW9uIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDx0dWktZXhwYW5kPlxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJpdGVtLmFuc3dlclwiPjwvZGl2PlxuICAgICAgICAgICAgPC90dWktZXhwYW5kPlxuICAgICAgICB9XG4gICAgPC90dWktYWNjb3JkaW9uPlxuPC90dWktbG9hZGVyPlxuIl19
@@ -1,11 +1,12 @@
1
1
  import { AsyncPipe, NgIf } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, inject, output } from '@angular/core';
3
3
  import { toSignal } from '@angular/core/rxjs-interop';
4
- import { ScConvertersService, ScFrequentlyAskedQuestionsService } from '@snabcentr/client-core';
4
+ import { Router } from '@angular/router';
5
+ import { ScConvertersService, ScFrequentlyAskedQuestionsService, SchemaOrgFactory, ScSeoService, } from '@snabcentr/client-core';
5
6
  import { TUI_WINDOW_SIZE, tuiIsFalsy, tuiIsPresent } from '@taiga-ui/cdk';
6
7
  import { TuiButton } from '@taiga-ui/core';
7
8
  import { TuiPagination } from '@taiga-ui/kit';
8
- import { BehaviorSubject, combineLatest, debounceTime, filter, map, of, shareReplay, startWith, Subject, switchMap } from 'rxjs';
9
+ import { BehaviorSubject, combineLatest, debounceTime, filter, map, of, shareReplay, startWith, Subject, switchMap, tap } from 'rxjs';
9
10
  import { ScFrequentlyAskedQuestionsComponent, ScFrequentlyAskedQuestionsGroupSelectorComponent } from '..';
10
11
  import { SC_PAGE_SIZE_OPTIONS } from '../frequently-asked-questions/sc-page-size-options';
11
12
  import * as i0 from "@angular/core";
@@ -22,6 +23,18 @@ export class ScFrequentlyAskedQuestionsWithGroupsComponent {
22
23
  * Сервис конвертации данных.
23
24
  */
24
25
  this.convertersService = inject(ScConvertersService);
26
+ /**
27
+ * Сервис установки SEO-данных приложения.
28
+ */
29
+ this.seoService = inject(ScSeoService);
30
+ /**
31
+ * Фабрика для создания данных Schema.org.
32
+ */
33
+ this.schemaOrgFactory = inject(SchemaOrgFactory);
34
+ /**
35
+ * Сервис маршрутизации.
36
+ */
37
+ this.router = inject(Router);
25
38
  /**
26
39
  * Индекс первой страницы.
27
40
  */
@@ -58,7 +71,12 @@ export class ScFrequentlyAskedQuestionsWithGroupsComponent {
58
71
  // Нулевой debounceTime для случая, когда меняются направление и поле сортировки одновременно.
59
72
  debounceTime(0), switchMap((value) => this.frequentlyAskedQuestionsService
60
73
  .getFrequentlyAskedQuestions$(this.convertersService.removeNull(value))
61
- .pipe(startWith(null))), shareReplay({ refCount: true, bufferSize: 1 }));
74
+ .pipe(startWith(null))), tap((data) => {
75
+ if (data) {
76
+ const pageTitle = 'Часто задаваемые вопросы - FAQ';
77
+ this.seoService.setByDefault(pageTitle, undefined, this.schemaOrgFactory.generateForFaqPage(data.data, this.router.url, pageTitle));
78
+ }
79
+ }), shareReplay({ refCount: true, bufferSize: 1 }));
62
80
  /**
63
81
  * {@link Observable} изменения общего количества страниц пагинации.
64
82
  */
@@ -104,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
104
122
  type: Component,
105
123
  args: [{ standalone: true, selector: 'sc-frequently-asked-questions-with-groups', imports: [AsyncPipe, NgIf, ScFrequentlyAskedQuestionsGroupSelectorComponent, TuiButton, ScFrequentlyAskedQuestionsComponent, TuiPagination], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let items = data$ | async;\n@let pageCount = pageCount$ | async;\n@let viewMode = viewMode$ | async;\n\n<div\n *ngIf=\"viewMode\"\n class=\"flex gap-6\"\n [class.flex-col]=\"viewMode === 'select'\"\n>\n <div class=\"flex flex-col gap-7\">\n <sc-frequently-asked-questions-group-selector\n (groupIdChange)=\"groupIdChange($event)\"\n [viewMode]=\"viewMode\"\n class=\"shrink-0\"\n [class.w-64]=\"viewMode !== 'select'\"\n />\n\n <button\n *ngIf=\"viewMode === 'list'\"\n tuiButton\n size=\"m\"\n type=\"button\"\n iconStart=\"@tui.circle-help\"\n appearance=\"secondary\"\n (click)=\"clickSendQuestion.emit()\"\n class=\"self-center\"\n >\n \u0417\u0430\u0434\u0430\u0442\u044C \u0432\u043E\u043F\u0440\u043E\u0441\n </button>\n </div>\n\n <div class=\"grow\">\n @if (items && items.length) {\n <sc-frequently-asked-questions\n [items]=\"items\"\n [showLoading]=\"isLoading()\"\n />\n\n <tui-pagination\n *ngIf=\"pageCount && pageCount > 1\"\n [length]=\"pageCount\"\n [index]=\"(currentPage$ | async) ?? 0\"\n (indexChange)=\"paginationChange($event)\"\n class=\"mt-4 !justify-items-center\"\n />\n } @else {\n <p class=\"text-body-s-bold\">\u0421\u043F\u0438\u0441\u043E\u043A \u0432\u043E\u043F\u0440\u043E\u0441\u043E\u0432 \u043F\u0443\u0441\u0442</p>\n }\n </div>\n</div>\n" }]
106
124
  }] });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZnJlcXVlbnRseS1hc2tlZC1xdWVzdGlvbnMtd2l0aC1ncm91cHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3BhZ2VzL2ZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zLXdpdGgtZ3JvdXBzL3NjLWZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zLXdpdGgtZ3JvdXBzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9wYWdlcy9mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucy13aXRoLWdyb3Vwcy9zYy1mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucy13aXRoLWdyb3Vwcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxtQkFBbUIsRUFBYSxpQ0FBaUMsRUFBNEQsTUFBTSx3QkFBd0IsQ0FBQztBQUNySyxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0s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QUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBb0JySjtJQWxCRzs7OztPQUlHO0lBQ08sZ0JBQWdCLENBQUMsU0FBaUI7UUFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7OztPQUlHO0lBQ08sYUFBYSxDQUFDLEVBQVU7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7K0dBaEhRLDZDQUE2QzttR0FBN0MsNkNBQTZDLDBKQ3RCMUQsNm5EQWtEQSx1Q0QvQmMsU0FBUyw4Q0FBRSxJQUFJLDZGQUFFLGdEQUFnRCwySUFBRSxTQUFTLG9JQUFFLG1DQUFtQyw0R0FBRSxhQUFhOzs0RkFHakksNkNBQTZDO2tCQVB6RCxTQUFTO2lDQUNNLElBQUksWUFDTiwyQ0FBMkMsV0FFNUMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLGdEQUFnRCxFQUFFLFNBQVMsRUFBRSxtQ0FBbUMsRUFBRSxhQUFhLENBQUMsbUJBQzFILHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBvdXRwdXQsIE91dHB1dEVtaXR0ZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgU2NDb252ZXJ0ZXJzU2VydmljZSwgU2NGYXFJdGVtLCBTY0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc1NlcnZpY2UsIFNjSUZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc1BhZ2luYXRpb25QYXJhbXMsIFNjSVBhZ2luYXRlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUVUlfV0lORE9XX1NJWkUsIHR1aUlzRmFsc3ksIHR1aUlzUHJlc2VudCB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgVHVpQnV0dG9uIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgVHVpUGFnaW5hdGlvbiB9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCwgU3ViamVjdCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zQ29tcG9uZW50LCBTY0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc0dyb3VwU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLic7XG5pbXBvcnQgeyBTQ19QQUdFX1NJWkVfT1BUSU9OUyB9IGZyb20gJy4uL2ZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zL3NjLXBhZ2Utc2l6ZS1vcHRpb25zJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0YfQsNGB0YLQviDQt9Cw0LTQsNCy0LDQtdC80YvRhSDQstC+0L/RgNC+0YHQvtCyINGBINCy0L7Qt9C80L7QttC90L7RgdGC0YzRjiDQstGL0LHQvtGA0LAg0LPRgNGD0L/Qv9GLINCy0L7Qv9GA0L7RgdC+0LIuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdzYy1mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucy13aXRoLWdyb3VwcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLWZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zLXdpdGgtZ3JvdXBzLmNvbXBvbmVudC5odG1sJyxcbiAgICBpbXBvcnRzOiBbQXN5bmNQaXBlLCBOZ0lmLCBTY0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc0dyb3VwU2VsZWN0b3JDb21wb25lbnQsIFR1aUJ1dHRvbiwgU2NGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNDb21wb25lbnQsIFR1aVBhZ2luYXRpb25dLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc1dpdGhHcm91cHNDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8gRW1haWwg0LTQu9GPINGB0LLRj9C30Lgg0L/QviDQstC+0L/RgNC+0YHQsNC8INGA0LXQutC70LDQvNCw0YbQuNC5LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBmcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNTZXJ2aWNlOiBTY0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc1NlcnZpY2UgPSBpbmplY3QoU2NGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQutC+0L3QstC10YDRgtCw0YbQuNC4INC00LDQvdC90YvRhS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnZlcnRlcnNTZXJ2aWNlOiBTY0NvbnZlcnRlcnNTZXJ2aWNlID0gaW5qZWN0KFNjQ29udmVydGVyc1NlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC00LXQutGBINC/0LXRgNCy0L7QuSDRgdGC0YDQsNC90LjRhtGLLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmlyc3RQYWdlSW5kZXg6IG51bWJlciA9IDE7XG5cbiAgICAvKipcbiAgICAgKiDQmtC+0LvQuNGH0LXRgdGC0LLQviDQt9Cw0L/QuNGB0LXQuSDQvdCwINGB0YLRgNCw0L3QuNGG0LUg0L/QsNCz0LjQvdCw0YbQuNC4LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFnZVNpemVPcHRpb25zOiBudW1iZXJbXSA9IGluamVjdChTQ19QQUdFX1NJWkVfT1BUSU9OUyk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgQmVoYXZpb3JTdWJqZWN0fSDQuNC30LzQtdC90LXQvdC40Y8g0LrQvtC70LjRh9C10YHRgtCy0LAg0LfQsNC/0LjRgdC10Lkg0L3QsCDRgdGC0YDQsNC90LjRhtC1LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcGVyUGFnZSQ6IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KHRoaXMucGFnZVNpemVPcHRpb25zWzBdKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBCZWhhdmlvclN1YmplY3R9INC40LfQvNC10L3QtdC90LjRjyDQvdC+0LzQtdGA0LAg0YHRgtGA0LDQvdC40YbRiy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhZ2UkOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPih0aGlzLmZpcnN0UGFnZUluZGV4KTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBCZWhhdmlvclN1YmplY3R9INC40LfQvNC10L3QtdC90LjRjyDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNCwINCz0YDRg9C/0L/Riy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZ3JvdXBJZCQ6IFN1YmplY3Q8bnVtYmVyPiA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0LjQs9C90LDQuyDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyBcItCX0LDQtNCw0YLRjCDQstC+0L/RgNC+0YFcIi5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgY2xpY2tTZW5kUXVlc3Rpb246IE91dHB1dEVtaXR0ZXJSZWY8dm9pZD4gPSBvdXRwdXQoKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQtNCw0L3QvdGL0YUg0YHQv9C40YHQutCwINC30LDQutCw0LfQvtCyLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVxdWVzdCQ6IE9ic2VydmFibGU8U2NJUGFnaW5hdGU8U2NGYXFJdGVtPiB8IG51bGw+ID0gY29tYmluZUxhdGVzdCh7XG4gICAgICAgIHBhZ2U6IHRoaXMucGFnZSQsXG4gICAgICAgIHBlclBhZ2U6IHRoaXMucGVyUGFnZSQsXG4gICAgICAgIGdyb3VwOiB0aGlzLmdyb3VwSWQkLFxuICAgICAgICBwYWdpbmF0ZTogb2YodHJ1ZSksXG4gICAgfSkucGlwZShcbiAgICAgICAgLy8g0J3Rg9C70LXQstC+0LkgZGVib3VuY2VUaW1lINC00LvRjyDRgdC70YPRh9Cw0Y8sINC60L7Qs9C00LAg0LzQtdC90Y/RjtGC0YHRjyDQvdCw0L/RgNCw0LLQu9C10L3QuNC1INC4INC/0L7Qu9C1INGB0L7RgNGC0LjRgNC+0LLQutC4INC+0LTQvdC+0LLRgNC10LzQtdC90L3Qvi5cbiAgICAgICAgZGVib3VuY2VUaW1lKDApLFxuICAgICAgICBzd2l0Y2hNYXAoKHZhbHVlOiBTY0lGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNQYWdpbmF0aW9uUGFyYW1zKSA9PlxuICAgICAgICAgICAgdGhpcy5mcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLmdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyQodGhpcy5jb252ZXJ0ZXJzU2VydmljZS5yZW1vdmVOdWxsPFNjSUZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc1BhZ2luYXRpb25QYXJhbXM+KHZhbHVlKSlcbiAgICAgICAgICAgICAgICAucGlwZShzdGFydFdpdGgobnVsbCkpXG4gICAgICAgICksXG4gICAgICAgIHNoYXJlUmVwbGF5KHsgcmVmQ291bnQ6IHRydWUsIGJ1ZmZlclNpemU6IDEgfSlcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDQvtCx0YnQtdCz0L4g0LrQvtC70LjRh9C10YHRgtCy0LAg0YHRgtGA0LDQvdC40YYg0L/QsNCz0LjQvdCw0YbQuNC4LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBwYWdlQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj4gPSB0aGlzLnJlcXVlc3QkLnBpcGUoXG4gICAgICAgIGZpbHRlcih0dWlJc1ByZXNlbnQpLFxuICAgICAgICBtYXAoKHsgbWV0YSB9KSA9PiBtZXRhLmxhc3RQYWdlKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINC90L7QvNC10YDQsCDRgdGC0YDQsNC90LjRhtGLINC/0LDQs9C40L3QsNGG0LjQuCDQuNC3INC00LDQvdC90YvRhSDQv9Cw0LPQuNC90LDRhtC40Lgg0LfQsNC/0YDQvtGB0LAuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGN1cnJlbnRQYWdlJDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gdGhpcy5yZXF1ZXN0JC5waXBlKFxuICAgICAgICBmaWx0ZXIodHVpSXNQcmVzZW50KSxcbiAgICAgICAgbWFwKCh7IG1ldGEgfSkgPT4gbWV0YS5jdXJyZW50UGFnZSAtIDEpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGB0YLQvtGP0L3QuNGPINC30LDQs9GA0YPQt9C60Lgg0LTQsNC90L3Ri9GFLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc0xvYWRpbmcgPSB0b1NpZ25hbCh0aGlzLnJlcXVlc3QkLnBpcGUobWFwKHR1aUlzRmFsc3kpKSwgeyBpbml0aWFsVmFsdWU6IGZhbHNlIH0pO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDRgdC/0LjRgdC60LAg0LfQsNC60LDQt9C+0LIg0YHRgtGA0LDQvdC40YbRiyDQv9Cw0LPQuNC90LDRhtC40LguXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRhdGEkOiBPYnNlcnZhYmxlPFNjRmFxSXRlbVtdIHwgbnVsbD4gPSB0aGlzLnJlcXVlc3QkLnBpcGUoXG4gICAgICAgIGZpbHRlcih0dWlJc1ByZXNlbnQpLFxuICAgICAgICBtYXAoKGRhdGEpID0+IGRhdGEuZGF0YSksXG4gICAgICAgIHN0YXJ0V2l0aChudWxsKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGE0L7RgNC80LDRgtCwINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0YTQuNC70YzRgtGA0LAg0LPRgNGD0L/Qvy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmlld01vZGUkOiBPYnNlcnZhYmxlPCdsaXN0JyB8ICdzZWxlY3QnPiA9IGluamVjdChUVUlfV0lORE9XX1NJWkUpLnBpcGUobWFwKChyZWN0KSA9PiAocmVjdC53aWR0aCA+IDc2OCA/ICdsaXN0JyA6ICdzZWxlY3QnKSkpO1xuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0LTQsNC90L3Ri9C1INC/0LDQs9C40L3QsNGG0LjQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYWdlSW5kZXgg0JjQvdC00LXQutGBINGB0YLRgNCw0L3QuNGG0YsuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHBhZ2luYXRpb25DaGFuZ2UocGFnZUluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYWdlJC5uZXh0KHBhZ2VJbmRleCArIDEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINCz0YDRg9C/0L/Riy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQs9GA0YPQv9C/0YsuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdyb3VwSWRDaGFuZ2UoaWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmdyb3VwSWQkLm5leHQoaWQpO1xuICAgICAgICB0aGlzLnBhZ2luYXRpb25DaGFuZ2UoMCk7XG4gICAgfVxufVxuIiwiQGxldCBpdGVtcyA9IGRhdGEkIHwgYXN5bmM7XG5AbGV0IHBhZ2VDb3VudCA9IHBhZ2VDb3VudCQgfCBhc3luYztcbkBsZXQgdmlld01vZGUgPSB2aWV3TW9kZSQgfCBhc3luYztcblxuPGRpdlxuICAgICpuZ0lmPVwidmlld01vZGVcIlxuICAgIGNsYXNzPVwiZmxleCBnYXAtNlwiXG4gICAgW2NsYXNzLmZsZXgtY29sXT1cInZpZXdNb2RlID09PSAnc2VsZWN0J1wiXG4+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTdcIj5cbiAgICAgICAgPHNjLWZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zLWdyb3VwLXNlbGVjdG9yXG4gICAgICAgICAgICAoZ3JvdXBJZENoYW5nZSk9XCJncm91cElkQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgW3ZpZXdNb2RlXT1cInZpZXdNb2RlXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2hyaW5rLTBcIlxuICAgICAgICAgICAgW2NsYXNzLnctNjRdPVwidmlld01vZGUgIT09ICdzZWxlY3QnXCJcbiAgICAgICAgLz5cblxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cInZpZXdNb2RlID09PSAnbGlzdCdcIlxuICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuY2lyY2xlLWhlbHBcIlxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tTZW5kUXVlc3Rpb24uZW1pdCgpXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2VsZi1jZW50ZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgICDQl9Cw0LTQsNGC0Ywg0LLQvtC/0YDQvtGBXG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImdyb3dcIj5cbiAgICAgICAgQGlmIChpdGVtcyAmJiBpdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIDxzYy1mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9uc1xuICAgICAgICAgICAgICAgIFtpdGVtc109XCJpdGVtc1wiXG4gICAgICAgICAgICAgICAgW3Nob3dMb2FkaW5nXT1cImlzTG9hZGluZygpXCJcbiAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgIDx0dWktcGFnaW5hdGlvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwicGFnZUNvdW50ICYmIHBhZ2VDb3VudCA+IDFcIlxuICAgICAgICAgICAgICAgIFtsZW5ndGhdPVwicGFnZUNvdW50XCJcbiAgICAgICAgICAgICAgICBbaW5kZXhdPVwiKGN1cnJlbnRQYWdlJCB8IGFzeW5jKSA/PyAwXCJcbiAgICAgICAgICAgICAgICAoaW5kZXhDaGFuZ2UpPVwicGFnaW5hdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm10LTQgIWp1c3RpZnktaXRlbXMtY2VudGVyXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LWJvZHktcy1ib2xkXCI+0KHQv9C40YHQvtC6INCy0L7Qv9GA0L7RgdC+0LIg0L/Rg9GB0YI8L3A+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZnJlcXVlbnRseS1hc2tlZC1xdWVzdGlvbnMtd2l0aC1ncm91cHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3BhZ2VzL2ZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zLXdpdGgtZ3JvdXBzL3NjLWZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zLXdpdGgtZ3JvdXBzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9wYWdlcy9mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucy13aXRoLWdyb3Vwcy9zYy1mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucy13aXRoLWdyb3Vwcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsbUJBQW1CLEVBRW5CLGlDQUFpQyxFQUNqQyxnQkFBZ0IsRUFHaEIsWUFBWSxHQUNmLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FB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QTZDLDBKQy9CMUQsNm5EQWtEQSx1Q0R0QmMsU0FBUyw4Q0FBRSxJQUFJLDZGQUFFLGdEQUFnRCwySUFBRSxTQUFTLG9JQUFFLG1DQUFtQyw0R0FBRSxhQUFhOzs0RkFHakksNkNBQTZDO2tCQVB6RCxTQUFTO2lDQUNNLElBQUksWUFDTiwyQ0FBMkMsV0FFNUMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLGdEQUFnRCxFQUFFLFNBQVMsRUFBRSxtQ0FBbUMsRUFBRSxhQUFhLENBQUMsbUJBQzFILHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBvdXRwdXQsIE91dHB1dEVtaXR0ZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gICAgU2NDb252ZXJ0ZXJzU2VydmljZSxcbiAgICBTY0ZhcUl0ZW0sXG4gICAgU2NGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNTZXJ2aWNlLFxuICAgIFNjaGVtYU9yZ0ZhY3RvcnksXG4gICAgU2NJRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zUGFnaW5hdGlvblBhcmFtcyxcbiAgICBTY0lQYWdpbmF0ZSxcbiAgICBTY1Nlb1NlcnZpY2UsXG59IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgVFVJX1dJTkRPV19TSVpFLCB0dWlJc0ZhbHN5LCB0dWlJc1ByZXNlbnQgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IFR1aUJ1dHRvbiB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFR1aVBhZ2luYXRpb24gfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGgsIFN1YmplY3QsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zQ29tcG9uZW50LCBTY0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc0dyb3VwU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLic7XG5pbXBvcnQgeyBTQ19QQUdFX1NJWkVfT1BUSU9OUyB9IGZyb20gJy4uL2ZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zL3NjLXBhZ2Utc2l6ZS1vcHRpb25zJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0YfQsNGB0YLQviDQt9Cw0LTQsNCy0LDQtdC80YvRhSDQstC+0L/RgNC+0YHQvtCyINGBINCy0L7Qt9C80L7QttC90L7RgdGC0YzRjiDQstGL0LHQvtGA0LAg0LPRgNGD0L/Qv9GLINCy0L7Qv9GA0L7RgdC+0LIuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdzYy1mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucy13aXRoLWdyb3VwcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLWZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zLXdpdGgtZ3JvdXBzLmNvbXBvbmVudC5odG1sJyxcbiAgICBpbXBvcnRzOiBbQXN5bmNQaXBlLCBOZ0lmLCBTY0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc0dyb3VwU2VsZWN0b3JDb21wb25lbnQsIFR1aUJ1dHRvbiwgU2NGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNDb21wb25lbnQsIFR1aVBhZ2luYXRpb25dLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc1dpdGhHcm91cHNDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8gRW1haWwg0LTQu9GPINGB0LLRj9C30Lgg0L/QviDQstC+0L/RgNC+0YHQsNC8INGA0LXQutC70LDQvNCw0YbQuNC5LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBmcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNTZXJ2aWNlOiBTY0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc1NlcnZpY2UgPSBpbmplY3QoU2NGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQutC+0L3QstC10YDRgtCw0YbQuNC4INC00LDQvdC90YvRhS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnZlcnRlcnNTZXJ2aWNlOiBTY0NvbnZlcnRlcnNTZXJ2aWNlID0gaW5qZWN0KFNjQ29udmVydGVyc1NlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINGD0YHRgtCw0L3QvtCy0LrQuCBTRU8t0LTQsNC90L3Ri9GFINC/0YDQuNC70L7QttC10L3QuNGPLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VvU2VydmljZTogU2NTZW9TZXJ2aWNlID0gaW5qZWN0KFNjU2VvU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiDQpNCw0LHRgNC40LrQsCDQtNC70Y8g0YHQvtC30LTQsNC90LjRjyDQtNCw0L3QvdGL0YUgU2NoZW1hLm9yZy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjaGVtYU9yZ0ZhY3Rvcnk6IFNjaGVtYU9yZ0ZhY3RvcnkgPSBpbmplY3QoU2NoZW1hT3JnRmFjdG9yeSk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LzQsNGA0YjRgNGD0YLQuNC30LDRhtC40LguXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC00LXQutGBINC/0LXRgNCy0L7QuSDRgdGC0YDQsNC90LjRhtGLLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmlyc3RQYWdlSW5kZXg6IG51bWJlciA9IDE7XG5cbiAgICAvKipcbiAgICAgKiDQmtC+0LvQuNGH0LXRgdGC0LLQviDQt9Cw0L/QuNGB0LXQuSDQvdCwINGB0YLRgNCw0L3QuNGG0LUg0L/QsNCz0LjQvdCw0YbQuNC4LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFnZVNpemVPcHRpb25zOiBudW1iZXJbXSA9IGluamVjdChTQ19QQUdFX1NJWkVfT1BUSU9OUyk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgQmVoYXZpb3JTdWJqZWN0fSDQuNC30LzQtdC90LXQvdC40Y8g0LrQvtC70LjRh9C10YHRgtCy0LAg0LfQsNC/0LjRgdC10Lkg0L3QsCDRgdGC0YDQsNC90LjRhtC1LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcGVyUGFnZSQ6IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KHRoaXMucGFnZVNpemVPcHRpb25zWzBdKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBCZWhhdmlvclN1YmplY3R9INC40LfQvNC10L3QtdC90LjRjyDQvdC+0LzQtdGA0LAg0YHRgtGA0LDQvdC40YbRiy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhZ2UkOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPih0aGlzLmZpcnN0UGFnZUluZGV4KTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBCZWhhdmlvclN1YmplY3R9INC40LfQvNC10L3QtdC90LjRjyDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNCwINCz0YDRg9C/0L/Riy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZ3JvdXBJZCQ6IFN1YmplY3Q8bnVtYmVyPiA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0LjQs9C90LDQuyDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyBcItCX0LDQtNCw0YLRjCDQstC+0L/RgNC+0YFcIi5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgY2xpY2tTZW5kUXVlc3Rpb246IE91dHB1dEVtaXR0ZXJSZWY8dm9pZD4gPSBvdXRwdXQoKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQtNCw0L3QvdGL0YUg0YHQv9C40YHQutCwINC30LDQutCw0LfQvtCyLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVxdWVzdCQ6IE9ic2VydmFibGU8U2NJUGFnaW5hdGU8U2NGYXFJdGVtPiB8IG51bGw+ID0gY29tYmluZUxhdGVzdCh7XG4gICAgICAgIHBhZ2U6IHRoaXMucGFnZSQsXG4gICAgICAgIHBlclBhZ2U6IHRoaXMucGVyUGFnZSQsXG4gICAgICAgIGdyb3VwOiB0aGlzLmdyb3VwSWQkLFxuICAgICAgICBwYWdpbmF0ZTogb2YodHJ1ZSksXG4gICAgfSkucGlwZShcbiAgICAgICAgLy8g0J3Rg9C70LXQstC+0LkgZGVib3VuY2VUaW1lINC00LvRjyDRgdC70YPRh9Cw0Y8sINC60L7Qs9C00LAg0LzQtdC90Y/RjtGC0YHRjyDQvdCw0L/RgNCw0LLQu9C10L3QuNC1INC4INC/0L7Qu9C1INGB0L7RgNGC0LjRgNC+0LLQutC4INC+0LTQvdC+0LLRgNC10LzQtdC90L3Qvi5cbiAgICAgICAgZGVib3VuY2VUaW1lKDApLFxuICAgICAgICBzd2l0Y2hNYXAoKHZhbHVlOiBTY0lGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNQYWdpbmF0aW9uUGFyYW1zKSA9PlxuICAgICAgICAgICAgdGhpcy5mcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLmdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyQodGhpcy5jb252ZXJ0ZXJzU2VydmljZS5yZW1vdmVOdWxsPFNjSUZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc1BhZ2luYXRpb25QYXJhbXM+KHZhbHVlKSlcbiAgICAgICAgICAgICAgICAucGlwZShzdGFydFdpdGgobnVsbCkpXG4gICAgICAgICksXG4gICAgICAgIHRhcCgoZGF0YSkgPT4ge1xuICAgICAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYWdlVGl0bGUgPSAn0KfQsNGB0YLQviDQt9Cw0LTQsNCy0LDQtdC80YvQtSDQstC+0L/RgNC+0YHRiyAtIEZBUSc7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnNlb1NlcnZpY2Uuc2V0QnlEZWZhdWx0KHBhZ2VUaXRsZSwgdW5kZWZpbmVkLCB0aGlzLnNjaGVtYU9yZ0ZhY3RvcnkuZ2VuZXJhdGVGb3JGYXFQYWdlKGRhdGEuZGF0YSwgdGhpcy5yb3V0ZXIudXJsLCBwYWdlVGl0bGUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIHNoYXJlUmVwbGF5KHsgcmVmQ291bnQ6IHRydWUsIGJ1ZmZlclNpemU6IDEgfSlcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDQvtCx0YnQtdCz0L4g0LrQvtC70LjRh9C10YHRgtCy0LAg0YHRgtGA0LDQvdC40YYg0L/QsNCz0LjQvdCw0YbQuNC4LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBwYWdlQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj4gPSB0aGlzLnJlcXVlc3QkLnBpcGUoXG4gICAgICAgIGZpbHRlcih0dWlJc1ByZXNlbnQpLFxuICAgICAgICBtYXAoKHsgbWV0YSB9KSA9PiBtZXRhLmxhc3RQYWdlKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINC90L7QvNC10YDQsCDRgdGC0YDQsNC90LjRhtGLINC/0LDQs9C40L3QsNGG0LjQuCDQuNC3INC00LDQvdC90YvRhSDQv9Cw0LPQuNC90LDRhtC40Lgg0LfQsNC/0YDQvtGB0LAuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGN1cnJlbnRQYWdlJDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gdGhpcy5yZXF1ZXN0JC5waXBlKFxuICAgICAgICBmaWx0ZXIodHVpSXNQcmVzZW50KSxcbiAgICAgICAgbWFwKCh7IG1ldGEgfSkgPT4gbWV0YS5jdXJyZW50UGFnZSAtIDEpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGB0YLQvtGP0L3QuNGPINC30LDQs9GA0YPQt9C60Lgg0LTQsNC90L3Ri9GFLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc0xvYWRpbmcgPSB0b1NpZ25hbCh0aGlzLnJlcXVlc3QkLnBpcGUobWFwKHR1aUlzRmFsc3kpKSwgeyBpbml0aWFsVmFsdWU6IGZhbHNlIH0pO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDRgdC/0LjRgdC60LAg0LfQsNC60LDQt9C+0LIg0YHRgtGA0LDQvdC40YbRiyDQv9Cw0LPQuNC90LDRhtC40LguXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRhdGEkOiBPYnNlcnZhYmxlPFNjRmFxSXRlbVtdIHwgbnVsbD4gPSB0aGlzLnJlcXVlc3QkLnBpcGUoXG4gICAgICAgIGZpbHRlcih0dWlJc1ByZXNlbnQpLFxuICAgICAgICBtYXAoKGRhdGEpID0+IGRhdGEuZGF0YSksXG4gICAgICAgIHN0YXJ0V2l0aChudWxsKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGE0L7RgNC80LDRgtCwINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0YTQuNC70YzRgtGA0LAg0LPRgNGD0L/Qvy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmlld01vZGUkOiBPYnNlcnZhYmxlPCdsaXN0JyB8ICdzZWxlY3QnPiA9IGluamVjdChUVUlfV0lORE9XX1NJWkUpLnBpcGUobWFwKChyZWN0KSA9PiAocmVjdC53aWR0aCA+IDc2OCA/ICdsaXN0JyA6ICdzZWxlY3QnKSkpO1xuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0LTQsNC90L3Ri9C1INC/0LDQs9C40L3QsNGG0LjQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYWdlSW5kZXgg0JjQvdC00LXQutGBINGB0YLRgNCw0L3QuNGG0YsuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHBhZ2luYXRpb25DaGFuZ2UocGFnZUluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYWdlJC5uZXh0KHBhZ2VJbmRleCArIDEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINCz0YDRg9C/0L/Riy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQs9GA0YPQv9C/0YsuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdyb3VwSWRDaGFuZ2UoaWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmdyb3VwSWQkLm5leHQoaWQpO1xuICAgICAgICB0aGlzLnBhZ2luYXRpb25DaGFuZ2UoMCk7XG4gICAgfVxufVxuIiwiQGxldCBpdGVtcyA9IGRhdGEkIHwgYXN5bmM7XG5AbGV0IHBhZ2VDb3VudCA9IHBhZ2VDb3VudCQgfCBhc3luYztcbkBsZXQgdmlld01vZGUgPSB2aWV3TW9kZSQgfCBhc3luYztcblxuPGRpdlxuICAgICpuZ0lmPVwidmlld01vZGVcIlxuICAgIGNsYXNzPVwiZmxleCBnYXAtNlwiXG4gICAgW2NsYXNzLmZsZXgtY29sXT1cInZpZXdNb2RlID09PSAnc2VsZWN0J1wiXG4+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTdcIj5cbiAgICAgICAgPHNjLWZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zLWdyb3VwLXNlbGVjdG9yXG4gICAgICAgICAgICAoZ3JvdXBJZENoYW5nZSk9XCJncm91cElkQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgW3ZpZXdNb2RlXT1cInZpZXdNb2RlXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2hyaW5rLTBcIlxuICAgICAgICAgICAgW2NsYXNzLnctNjRdPVwidmlld01vZGUgIT09ICdzZWxlY3QnXCJcbiAgICAgICAgLz5cblxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cInZpZXdNb2RlID09PSAnbGlzdCdcIlxuICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuY2lyY2xlLWhlbHBcIlxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tTZW5kUXVlc3Rpb24uZW1pdCgpXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2VsZi1jZW50ZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgICDQl9Cw0LTQsNGC0Ywg0LLQvtC/0YDQvtGBXG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImdyb3dcIj5cbiAgICAgICAgQGlmIChpdGVtcyAmJiBpdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIDxzYy1mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9uc1xuICAgICAgICAgICAgICAgIFtpdGVtc109XCJpdGVtc1wiXG4gICAgICAgICAgICAgICAgW3Nob3dMb2FkaW5nXT1cImlzTG9hZGluZygpXCJcbiAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgIDx0dWktcGFnaW5hdGlvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwicGFnZUNvdW50ICYmIHBhZ2VDb3VudCA+IDFcIlxuICAgICAgICAgICAgICAgIFtsZW5ndGhdPVwicGFnZUNvdW50XCJcbiAgICAgICAgICAgICAgICBbaW5kZXhdPVwiKGN1cnJlbnRQYWdlJCB8IGFzeW5jKSA/PyAwXCJcbiAgICAgICAgICAgICAgICAoaW5kZXhDaGFuZ2UpPVwicGFnaW5hdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm10LTQgIWp1c3RpZnktaXRlbXMtY2VudGVyXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LWJvZHktcy1ib2xkXCI+0KHQv9C40YHQvtC6INCy0L7Qv9GA0L7RgdC+0LIg0L/Rg9GB0YI8L3A+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, inject, Injectable, NgZone, signal, EventEmitter, ChangeDetectorRef, Directive, Input, Output, Pipe, ElementRef, HostListener, Renderer2, ContentChildren, NgModule, input, computed, Component, ChangeDetectionStrategy, Inject, HostBinding, model, output, SkipSelf, DestroyRef, effect, ContentChild, ViewChild, viewChild, Optional, contentChild, TemplateRef, forwardRef } from '@angular/core';
3
3
  import * as i1 from '@snabcentr/client-core';
4
- import { ScContactsService, ScUserService, ScLocationsService, ScAuthService, SEARCH_TERM, ScUnitsHelper, ScImageHelper, SC_PATH_IMAGE_NOT_FOUND, ScImage, ScPhoneService, ScUserMetrikaService, ScUserMetrikaGoalsEnum, IS_RUNNING_ON_TERMINAL, ScVCardService, ScVerificationService, ScISuggestionType, SC_MIN_LENGTH_SEARCH_TERM, ScConvertersService, ScOpfList, ScReferencesService, ScContragentService, ScBannerService, ScMediaImageTransformerPipe, ScCartService, ScUploadedFile, loadingPlaceholder, SC_ORDER_LOADER, ScMimeTypes, ScCatalogService, SC_URLS, IS_SERVER, ScWarehouseService, SEARCH_TERM_PROVIDERS, ScPaginationService, SC_NEXT_PAGE_PAGINATION_CLICK, SC_PRODUCT_PAGINATION_OPTIONS, ScCatalogFilterService, ScIdOrSlugPipe, SC_CATEGORY_INFO, ScConfiguratorService, RESPONSE, ScIconTypesEnum, ScDocumentInfoTypesEnum, ScOrderDraftsService, ScRouteKeys, ScSeoService, scOrderIsLoaded, ScFrequentlyAskedQuestionsService, SC_COMPANY_INFO, ScFeedbackService } from '@snabcentr/client-core';
4
+ import { ScContactsService, ScUserService, ScLocationsService, ScAuthService, SEARCH_TERM, ScUnitsHelper, ScImageHelper, SC_PATH_IMAGE_NOT_FOUND, ScImage, ScPhoneService, ScUserMetrikaService, ScUserMetrikaGoalsEnum, IS_RUNNING_ON_TERMINAL, ScVCardService, ScVerificationService, ScISuggestionType, SC_MIN_LENGTH_SEARCH_TERM, ScConvertersService, ScOpfList, ScReferencesService, ScContragentService, ScBannerService, ScMediaImageTransformerPipe, ScCartService, ScUploadedFile, loadingPlaceholder, SC_ORDER_LOADER, ScMimeTypes, ScCatalogService, SC_URLS, IS_SERVER, ScWarehouseService, SEARCH_TERM_PROVIDERS, ScPaginationService, SC_NEXT_PAGE_PAGINATION_CLICK, SC_PRODUCT_PAGINATION_OPTIONS, ScCatalogFilterService, ScIdOrSlugPipe, SC_CATEGORY_INFO, ScConfiguratorService, RESPONSE, ScIconTypesEnum, ScDocumentInfoTypesEnum, ScOrderDraftsService, ScRouteKeys, ScSeoService, scOrderIsLoaded, ScFrequentlyAskedQuestionsService, SchemaOrgFactory, SC_COMPANY_INFO, ScFeedbackService } from '@snabcentr/client-core';
5
5
  import * as i5$1 from 'rxjs';
6
6
  import { EMPTY, BehaviorSubject, switchMap, of, shareReplay, map, Subject, filter, tap, catchError, finalize, startWith, share, timer, scan, takeWhile, endWith, distinctUntilChanged, debounceTime, throwError, combineLatest, Observable, pairwise, Subscription, merge, skip, from, concatMap, noop, first } from 'rxjs';
7
7
  import { WA_WINDOW } from '@ng-web-apis/common';
@@ -8057,11 +8057,11 @@ class ScBrandsListComponent {
8057
8057
  this.items = [];
8058
8058
  }
8059
8059
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScBrandsListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8060
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ScBrandsListComponent, selector: "sc-brands-list", inputs: { items: "items" }, ngImport: i0, template: "<!-- TODO: TASK:[#9893] \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u043D\u0430 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0441\u0442\u0440\u043E\u043A \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439, \u043F\u0440\u0438 \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u0438 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0431\u0440\u0435\u043D\u0434\u043E\u0432. -->\n<div class=\"flex flex-col gap-4\">\n <div class=\"relative\">\n <div class=\"absolute -left-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-tui-base-01 to-transparent\"></div>\n <div class=\"flex select-none items-center justify-center gap-12 overflow-hidden contrast-150 saturate-0\">\n <div\n *ngFor=\"let _ of [].constructor(3)\"\n class=\"animate-scroll-slow scroll-slow-revert flex shrink-0 items-center gap-16\"\n >\n <div\n *tuiRepeatTimes=\"let index of items.length - (items.length - (items.length % 2)) / 2\"\n class=\"flex items-center justify-center\"\n >\n <img\n [src]=\"items[index + (items.length - (items.length % 2)) / 2].src\"\n [alt]=\"items[index].alt\"\n />\n </div>\n </div>\n </div>\n <div class=\"absolute -right-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-transparent to-tui-base-01\"></div>\n </div>\n <div class=\"relative\">\n <div class=\"absolute -left-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-tui-base-01 to-transparent\"></div>\n <div class=\"flex select-none items-center justify-center gap-12 overflow-hidden contrast-150 saturate-0\">\n <div\n *ngFor=\"let _ of [].constructor(3)\"\n class=\"animate-scroll-slow flex shrink-0 items-center gap-16\"\n >\n <div\n *tuiRepeatTimes=\"let index of (items.length - (items.length % 2)) / 2\"\n class=\"flex items-center justify-center\"\n >\n <img\n [src]=\"items[index].src\"\n [alt]=\"items[index].alt\"\n />\n </div>\n </div>\n </div>\n <div class=\"absolute -right-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-transparent to-tui-base-01\"></div>\n </div>\n</div>\n", styles: [".scroll-slow-revert{animation-direction:reverse!important;animation-delay:-15s!important}@keyframes scroll-slow{0%{transform:translate(0)}to{transform:translate(calc(-100% - 3rem))}}.animate-scroll-slow{animation:scroll-slow 30s linear infinite}\n"], dependencies: [{ kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$1.TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8060
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ScBrandsListComponent, selector: "sc-brands-list", inputs: { items: "items" }, ngImport: i0, template: "<!-- TODO: TASK:[#9893] \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u043D\u0430 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0441\u0442\u0440\u043E\u043A \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439, \u043F\u0440\u0438 \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u0438 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0431\u0440\u0435\u043D\u0434\u043E\u0432. -->\n<div class=\"flex flex-col gap-4\">\n <div class=\"relative\">\n <div class=\"absolute -left-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-tui-base-01 to-transparent\"></div>\n <div class=\"flex select-none items-center justify-center gap-12 overflow-hidden contrast-150 saturate-0\">\n <div\n *ngFor=\"let _ of [].constructor(3)\"\n class=\"animate-scroll-slow scroll-slow-revert flex shrink-0 items-center gap-16\"\n >\n <div\n *tuiRepeatTimes=\"let index of items.length - (items.length - (items.length % 2)) / 2\"\n class=\"flex items-center justify-center\"\n >\n @let brandItem = items[index + (items.length - (items.length % 2)) / 2];\n <img\n [src]=\"brandItem.src\"\n [alt]=\"items[index].alt\"\n [attr.width]=\"brandItem.width\"\n [attr.height]=\"brandItem.height\"\n />\n </div>\n </div>\n </div>\n <div class=\"absolute -right-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-transparent to-tui-base-01\"></div>\n </div>\n <div class=\"relative\">\n <div class=\"absolute -left-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-tui-base-01 to-transparent\"></div>\n <div class=\"flex select-none items-center justify-center gap-12 overflow-hidden contrast-150 saturate-0\">\n <div\n *ngFor=\"let _ of [].constructor(3)\"\n class=\"animate-scroll-slow flex shrink-0 items-center gap-16\"\n >\n <div\n *tuiRepeatTimes=\"let index of (items.length - (items.length % 2)) / 2\"\n class=\"flex items-center justify-center\"\n >\n @let brandItem = items[index];\n <img\n [src]=\"brandItem.src\"\n [alt]=\"brandItem.alt\"\n [attr.width]=\"brandItem.width\"\n [attr.height]=\"brandItem.height\"\n />\n </div>\n </div>\n </div>\n <div class=\"absolute -right-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-transparent to-tui-base-01\"></div>\n </div>\n</div>\n", styles: [".scroll-slow-revert{animation-direction:reverse!important;animation-delay:-15s!important}@keyframes scroll-slow{0%{transform:translate(0)}to{transform:translate(calc(-100% - 3rem))}}.animate-scroll-slow{animation:scroll-slow 30s linear infinite}\n"], dependencies: [{ kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$1.TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8061
8061
  }
8062
8062
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScBrandsListComponent, decorators: [{
8063
8063
  type: Component,
8064
- args: [{ selector: 'sc-brands-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- TODO: TASK:[#9893] \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u043D\u0430 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0441\u0442\u0440\u043E\u043A \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439, \u043F\u0440\u0438 \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u0438 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0431\u0440\u0435\u043D\u0434\u043E\u0432. -->\n<div class=\"flex flex-col gap-4\">\n <div class=\"relative\">\n <div class=\"absolute -left-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-tui-base-01 to-transparent\"></div>\n <div class=\"flex select-none items-center justify-center gap-12 overflow-hidden contrast-150 saturate-0\">\n <div\n *ngFor=\"let _ of [].constructor(3)\"\n class=\"animate-scroll-slow scroll-slow-revert flex shrink-0 items-center gap-16\"\n >\n <div\n *tuiRepeatTimes=\"let index of items.length - (items.length - (items.length % 2)) / 2\"\n class=\"flex items-center justify-center\"\n >\n <img\n [src]=\"items[index + (items.length - (items.length % 2)) / 2].src\"\n [alt]=\"items[index].alt\"\n />\n </div>\n </div>\n </div>\n <div class=\"absolute -right-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-transparent to-tui-base-01\"></div>\n </div>\n <div class=\"relative\">\n <div class=\"absolute -left-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-tui-base-01 to-transparent\"></div>\n <div class=\"flex select-none items-center justify-center gap-12 overflow-hidden contrast-150 saturate-0\">\n <div\n *ngFor=\"let _ of [].constructor(3)\"\n class=\"animate-scroll-slow flex shrink-0 items-center gap-16\"\n >\n <div\n *tuiRepeatTimes=\"let index of (items.length - (items.length % 2)) / 2\"\n class=\"flex items-center justify-center\"\n >\n <img\n [src]=\"items[index].src\"\n [alt]=\"items[index].alt\"\n />\n </div>\n </div>\n </div>\n <div class=\"absolute -right-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-transparent to-tui-base-01\"></div>\n </div>\n</div>\n", styles: [".scroll-slow-revert{animation-direction:reverse!important;animation-delay:-15s!important}@keyframes scroll-slow{0%{transform:translate(0)}to{transform:translate(calc(-100% - 3rem))}}.animate-scroll-slow{animation:scroll-slow 30s linear infinite}\n"] }]
8064
+ args: [{ selector: 'sc-brands-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- TODO: TASK:[#9893] \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u043D\u0430 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0441\u0442\u0440\u043E\u043A \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439, \u043F\u0440\u0438 \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u0438 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0431\u0440\u0435\u043D\u0434\u043E\u0432. -->\n<div class=\"flex flex-col gap-4\">\n <div class=\"relative\">\n <div class=\"absolute -left-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-tui-base-01 to-transparent\"></div>\n <div class=\"flex select-none items-center justify-center gap-12 overflow-hidden contrast-150 saturate-0\">\n <div\n *ngFor=\"let _ of [].constructor(3)\"\n class=\"animate-scroll-slow scroll-slow-revert flex shrink-0 items-center gap-16\"\n >\n <div\n *tuiRepeatTimes=\"let index of items.length - (items.length - (items.length % 2)) / 2\"\n class=\"flex items-center justify-center\"\n >\n @let brandItem = items[index + (items.length - (items.length % 2)) / 2];\n <img\n [src]=\"brandItem.src\"\n [alt]=\"items[index].alt\"\n [attr.width]=\"brandItem.width\"\n [attr.height]=\"brandItem.height\"\n />\n </div>\n </div>\n </div>\n <div class=\"absolute -right-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-transparent to-tui-base-01\"></div>\n </div>\n <div class=\"relative\">\n <div class=\"absolute -left-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-tui-base-01 to-transparent\"></div>\n <div class=\"flex select-none items-center justify-center gap-12 overflow-hidden contrast-150 saturate-0\">\n <div\n *ngFor=\"let _ of [].constructor(3)\"\n class=\"animate-scroll-slow flex shrink-0 items-center gap-16\"\n >\n <div\n *tuiRepeatTimes=\"let index of (items.length - (items.length % 2)) / 2\"\n class=\"flex items-center justify-center\"\n >\n @let brandItem = items[index];\n <img\n [src]=\"brandItem.src\"\n [alt]=\"brandItem.alt\"\n [attr.width]=\"brandItem.width\"\n [attr.height]=\"brandItem.height\"\n />\n </div>\n </div>\n </div>\n <div class=\"absolute -right-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-transparent to-tui-base-01\"></div>\n </div>\n</div>\n", styles: [".scroll-slow-revert{animation-direction:reverse!important;animation-delay:-15s!important}@keyframes scroll-slow{0%{transform:translate(0)}to{transform:translate(calc(-100% - 3rem))}}.animate-scroll-slow{animation:scroll-slow 30s linear infinite}\n"] }]
8065
8065
  }], propDecorators: { items: [{
8066
8066
  type: Input
8067
8067
  }] } });
@@ -8872,7 +8872,7 @@ class ScFrequentlyAskedQuestionsComponent {
8872
8872
  */
8873
8873
  this.showLoading = input(false);
8874
8874
  /**
8875
- * Признак что приложение запущено на сервере.
8875
+ * Признак, что приложение запущено на сервере.
8876
8876
  */
8877
8877
  this.isServer = inject(IS_SERVER);
8878
8878
  }
@@ -8964,6 +8964,18 @@ class ScFrequentlyAskedQuestionsWithGroupsComponent {
8964
8964
  * Сервис конвертации данных.
8965
8965
  */
8966
8966
  this.convertersService = inject(ScConvertersService);
8967
+ /**
8968
+ * Сервис установки SEO-данных приложения.
8969
+ */
8970
+ this.seoService = inject(ScSeoService);
8971
+ /**
8972
+ * Фабрика для создания данных Schema.org.
8973
+ */
8974
+ this.schemaOrgFactory = inject(SchemaOrgFactory);
8975
+ /**
8976
+ * Сервис маршрутизации.
8977
+ */
8978
+ this.router = inject(Router);
8967
8979
  /**
8968
8980
  * Индекс первой страницы.
8969
8981
  */
@@ -9000,7 +9012,12 @@ class ScFrequentlyAskedQuestionsWithGroupsComponent {
9000
9012
  // Нулевой debounceTime для случая, когда меняются направление и поле сортировки одновременно.
9001
9013
  debounceTime(0), switchMap((value) => this.frequentlyAskedQuestionsService
9002
9014
  .getFrequentlyAskedQuestions$(this.convertersService.removeNull(value))
9003
- .pipe(startWith(null))), shareReplay({ refCount: true, bufferSize: 1 }));
9015
+ .pipe(startWith(null))), tap((data) => {
9016
+ if (data) {
9017
+ const pageTitle = 'Часто задаваемые вопросы - FAQ';
9018
+ this.seoService.setByDefault(pageTitle, undefined, this.schemaOrgFactory.generateForFaqPage(data.data, this.router.url, pageTitle));
9019
+ }
9020
+ }), shareReplay({ refCount: true, bufferSize: 1 }));
9004
9021
  /**
9005
9022
  * {@link Observable} изменения общего количества страниц пагинации.
9006
9023
  */