@snabcentr/client-ui 1.18.1 → 1.19.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,14 +1,13 @@
1
- import { EventEmitter, OnInit } from '@angular/core';
1
+ import { EventEmitter } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
- import { ScAuthService, ScUserMetrikaService } from '@snabcentr/client-core';
3
+ import { ScAuthService } from '@snabcentr/client-core';
4
4
  import { Observable, Subject } from 'rxjs';
5
5
  import * as i0 from "@angular/core";
6
6
  /**
7
7
  * Компонент аутентификации по адресу электронной почты и паролю.
8
8
  */
9
- export declare class ScSignInFormByEmailComponent implements OnInit {
9
+ export declare class ScSignInFormByEmailComponent {
10
10
  private readonly authService;
11
- private readonly userMetrikaService;
12
11
  /**
13
12
  * Группа полей ввода для формы «Вход на сайт».
14
13
  */
@@ -33,11 +32,8 @@ export declare class ScSignInFormByEmailComponent implements OnInit {
33
32
  * Инициализирует экземпляр класса {@link ScSignInFormByEmailComponent}.
34
33
  *
35
34
  * @param authService Сервис аутентификации.
36
- * @param userMetrikaService Сервис для сбора метрик о действиях пользователей.
37
35
  */
38
- constructor(authService: ScAuthService, userMetrikaService: ScUserMetrikaService);
39
- /** @inheritDoc */
40
- ngOnInit(): void;
36
+ constructor(authService: ScAuthService);
41
37
  static ɵfac: i0.ɵɵFactoryDeclaration<ScSignInFormByEmailComponent, never>;
42
38
  static ɵcmp: i0.ɵɵComponentDeclaration<ScSignInFormByEmailComponent, "sc-sign-in-form-by-email", never, {}, { "forgotPassword": "forgotPassword"; }, never, never, false>;
43
39
  }
@@ -1,14 +1,12 @@
1
- import { OnInit } from '@angular/core';
2
1
  import { FormControl, FormGroup } from '@angular/forms';
3
- import { ScAuthService, ScUserMetrikaService } from '@snabcentr/client-core';
2
+ import { ScAuthService } from '@snabcentr/client-core';
4
3
  import { Observable, Subject } from 'rxjs';
5
4
  import * as i0 from "@angular/core";
6
5
  /**
7
6
  * Компонент аутентификации по номеру телефона и коду подтверждения.
8
7
  */
9
- export declare class ScSignInFormByPhoneComponent implements OnInit {
8
+ export declare class ScSignInFormByPhoneComponent {
10
9
  private readonly authService;
11
- private readonly userMetrikaService;
12
10
  /**
13
11
  * Наличие кода подтверждения у пользователя.
14
12
  */
@@ -36,11 +34,8 @@ export declare class ScSignInFormByPhoneComponent implements OnInit {
36
34
  * Инициализирует экземпляр класса {@link ScSignInFormByPhoneComponent}.
37
35
  *
38
36
  * @param authService Сервис аутентификации.
39
- * @param userMetrikaService Сервис для сбора метрик о действиях пользователей.
40
37
  */
41
- constructor(authService: ScAuthService, userMetrikaService: ScUserMetrikaService);
42
- /** @inheritDoc */
43
- ngOnInit(): void;
38
+ constructor(authService: ScAuthService);
44
39
  static ɵfac: i0.ɵɵFactoryDeclaration<ScSignInFormByPhoneComponent, never>;
45
40
  static ɵcmp: i0.ɵɵComponentDeclaration<ScSignInFormByPhoneComponent, "sc-sign-in-form-by-phone", never, {}, {}, never, never, false>;
46
41
  }
@@ -1,13 +1,14 @@
1
- import { EventEmitter } from '@angular/core';
2
- import { ScAuthService } from '@snabcentr/client-core';
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import { ScAuthService, ScUserMetrikaService } from '@snabcentr/client-core';
3
3
  import { Observable } from 'rxjs';
4
4
  import { AuthMethod } from '../enums/auth-method';
5
5
  import * as i0 from "@angular/core";
6
6
  /**
7
7
  * Компонент аутентификации пользователя.
8
8
  */
9
- export declare class ScSignInFormComponent {
9
+ export declare class ScSignInFormComponent implements OnInit {
10
10
  private readonly authService;
11
+ private readonly userMetrikaService;
11
12
  /**
12
13
  * Выбранный способ аутентификации.
13
14
  */
@@ -32,8 +33,11 @@ export declare class ScSignInFormComponent {
32
33
  * Инициализирует экземпляр класса {@link ScSignInFormComponent}.
33
34
  *
34
35
  * @param authService Сервис аутентификации.
36
+ * @param userMetrikaService Сервис для сбора метрик о действиях пользователей.
35
37
  */
36
- constructor(authService: ScAuthService);
38
+ constructor(authService: ScAuthService, userMetrikaService: ScUserMetrikaService);
39
+ /** @inheritDoc */
40
+ ngOnInit(): void;
37
41
  /**
38
42
  * Осуществляет переключение способов аутентификации.
39
43
  *
@@ -1,6 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';
2
2
  import { FormControl, FormGroup, Validators } from '@angular/forms';
3
- import { ScUserMetrikaGoalsEnum } from '@snabcentr/client-core';
4
3
  import { tuiIsFalsy } from '@taiga-ui/cdk';
5
4
  import { catchError, filter, map, of, share, startWith, Subject, switchMap } from 'rxjs';
6
5
  import * as i0 from "@angular/core";
@@ -17,11 +16,9 @@ export class ScSignInFormByEmailComponent {
17
16
  * Инициализирует экземпляр класса {@link ScSignInFormByEmailComponent}.
18
17
  *
19
18
  * @param authService Сервис аутентификации.
20
- * @param userMetrikaService Сервис для сбора метрик о действиях пользователей.
21
19
  */
22
- constructor(authService, userMetrikaService) {
20
+ constructor(authService) {
23
21
  this.authService = authService;
24
- this.userMetrikaService = userMetrikaService;
25
22
  /**
26
23
  * Группа полей ввода для формы «Вход на сайт».
27
24
  */
@@ -55,22 +52,13 @@ export class ScSignInFormByEmailComponent {
55
52
  */
56
53
  this.forgotPassword = new EventEmitter();
57
54
  }
58
- /** @inheritDoc */
59
- ngOnInit() {
60
- this.userMetrikaService.emitUserMetrikaEvent({
61
- target: ScUserMetrikaGoalsEnum.signInShow,
62
- params: {
63
- type: 'email',
64
- },
65
- });
66
- }
67
55
  }
68
- ScSignInFormByEmailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScSignInFormByEmailComponent, deps: [{ token: i1.ScAuthService }, { token: i1.ScUserMetrikaService }], target: i0.ɵɵFactoryTarget.Component });
56
+ ScSignInFormByEmailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScSignInFormByEmailComponent, deps: [{ token: i1.ScAuthService }], target: i0.ɵɵFactoryTarget.Component });
69
57
  ScSignInFormByEmailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScSignInFormByEmailComponent, selector: "sc-sign-in-form-by-email", outputs: { forgotPassword: "forgotPassword" }, ngImport: i0, template: "<form [formGroup]=\"formByEmail\" (ngSubmit)=\"onSubmit.next()\">\n <div class=\"flex flex-col gap-4 mb-8\">\n <label tuiLabel=\"\u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\">\n <tui-input formControlName=\"login\">\n \u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <input tuiTextfield autocomplete=\"email\" />\n </tui-input>\n <tui-error formControlName=\"login\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n <label tuiLabel=\"\u041F\u0430\u0440\u043E\u043B\u044C\">\n <tui-input-password formControlName=\"password\">\n \u041F\u0430\u0440\u043E\u043B\u044C\n <input tuiTextfield autocomplete=\"current-password\" />\n </tui-input-password>\n <tui-error formControlName=\"password\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n <tui-error [error]=\"[] | tuiFieldError | async\"></tui-error>\n </div>\n <div class=\"flex flex-col gap-4 items-center mb-4\">\n <a tuiLink [pseudo]=\"true\" (click)=\"forgotPassword.emit()\" class=\"text-base\">\u0417\u0430\u0431\u044B\u043B\u0438 \u043F\u0430\u0440\u043E\u043B\u044C?</a>\n <button tuiButton type=\"submit\" [showLoader]=\"!!(loadingEmailAuth$ | async)\" [disabled]=\"formByEmail.invalid || !!(loadingEmailAuth$ | async)\" icon=\"scIconLogIn\">\n \u0412\u043E\u0439\u0442\u0438\n </button>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.TuiInputPasswordComponent, selector: "tui-input-password" }, { kind: "directive", type: i3.TuiInputPasswordDirective, selector: "tui-input-password" }, { kind: "component", type: i4.TuiTextfieldComponent, selector: "input[tuiTextfield], textarea[tuiTextfield]" }, { kind: "component", type: i3.TuiInputComponent, selector: "tui-input" }, { kind: "directive", type: i3.TuiInputDirective, selector: "tui-input" }, { kind: "component", type: i4.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }, { kind: "component", type: i4.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { kind: "component", type: i4.TuiLabelComponent, selector: "label[tuiLabel]", inputs: ["tuiLabel", "context"] }, { kind: "component", type: i4.TuiErrorComponent, selector: "tui-error", inputs: ["error"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TuiFieldErrorPipe, name: "tuiFieldError" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
70
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScSignInFormByEmailComponent, decorators: [{
71
59
  type: Component,
72
60
  args: [{ selector: 'sc-sign-in-form-by-email', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"formByEmail\" (ngSubmit)=\"onSubmit.next()\">\n <div class=\"flex flex-col gap-4 mb-8\">\n <label tuiLabel=\"\u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\">\n <tui-input formControlName=\"login\">\n \u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <input tuiTextfield autocomplete=\"email\" />\n </tui-input>\n <tui-error formControlName=\"login\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n <label tuiLabel=\"\u041F\u0430\u0440\u043E\u043B\u044C\">\n <tui-input-password formControlName=\"password\">\n \u041F\u0430\u0440\u043E\u043B\u044C\n <input tuiTextfield autocomplete=\"current-password\" />\n </tui-input-password>\n <tui-error formControlName=\"password\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n <tui-error [error]=\"[] | tuiFieldError | async\"></tui-error>\n </div>\n <div class=\"flex flex-col gap-4 items-center mb-4\">\n <a tuiLink [pseudo]=\"true\" (click)=\"forgotPassword.emit()\" class=\"text-base\">\u0417\u0430\u0431\u044B\u043B\u0438 \u043F\u0430\u0440\u043E\u043B\u044C?</a>\n <button tuiButton type=\"submit\" [showLoader]=\"!!(loadingEmailAuth$ | async)\" [disabled]=\"formByEmail.invalid || !!(loadingEmailAuth$ | async)\" icon=\"scIconLogIn\">\n \u0412\u043E\u0439\u0442\u0438\n </button>\n </div>\n</form>\n" }]
73
- }], ctorParameters: function () { return [{ type: i1.ScAuthService }, { type: i1.ScUserMetrikaService }]; }, propDecorators: { forgotPassword: [{
61
+ }], ctorParameters: function () { return [{ type: i1.ScAuthService }]; }, propDecorators: { forgotPassword: [{
74
62
  type: Output
75
63
  }] } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc2lnbi1pbi1mb3JtLWJ5LWVtYWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9hdXRoL3NjLXNpZ24taW4tZm9ybS9zYy1zaWduLWluLWZvcm0tYnktZW1haWwvc2Mtc2lnbi1pbi1mb3JtLWJ5LWVtYWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9hdXRoL3NjLXNpZ24taW4tZm9ybS9zYy1zaWduLWluLWZvcm0tYnktZW1haWwvc2Mtc2lnbi1pbi1mb3JtLWJ5LWVtYWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQXFDLHNCQUFzQixFQUF3QixNQUFNLHdCQUF3QixDQUFDO0FBQ3pILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFJckc7O0dBRUc7QUFNSCxNQUFNLE9BQU8sNEJBQTRCO0lBb0RyQzs7Ozs7T0FLRztJQUNILFlBQ3FCLFdBQTBCLEVBQzFCLGtCQUF3QztRQUR4QyxnQkFBVyxHQUFYLFdBQVcsQ0FBZTtRQUMxQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXNCO1FBM0Q3RDs7V0FFRztRQUNhLGdCQUFXLEdBQWMsSUFBSSxTQUFTLENBQUM7WUFDbkQsS0FBSyxFQUFFLElBQUksV0FBVyxDQUFnQixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwRixRQUFRLEVBQUUsSUFBSSxXQUFXLENBQWdCLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3RFLENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ2EsYUFBUSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRTlEOztXQUVHO1FBQ2Msa0JBQWEsR0FBa0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQzlFLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUNwQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFlLENBQUMsRUFDM0MsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUNuQyxVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUU7WUFDcEMsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLEtBQXlCLENBQUM7WUFFdEQsS0FBSyxNQUFNLEdBQUcsSUFBSSxhQUFhLENBQUMsTUFBTSxFQUFFO2dCQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsRUFBRSxjQUFjLEVBQUUsYUFBYSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDdkY7WUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sSUFBSSxhQUFhLENBQUMsT0FBTyxFQUFFO2dCQUNoRCxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDM0U7WUFFRCxPQUFPLEVBQUUsQ0FBQyxFQUFnQixDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUNsQixDQUNKLEVBQ0QsS0FBSyxFQUFFLENBQ1YsQ0FBQztRQUVGOztXQUVHO1FBQ2Esc0JBQWlCLEdBQXdCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBRWxHOztXQUVHO1FBRWEsbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQVczRSxDQUFDO0lBRUosa0JBQWtCO0lBQ1gsUUFBUTtRQUNYLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQztZQUN6QyxNQUFNLEVBQUUsc0JBQXNCLENBQUMsVUFBVTtZQUN6QyxNQUFNLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLE9BQU87YUFDaEI7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDOzt5SEF2RVEsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsK0dDbkJ6Qywwb0RBeUJBOzJGRE5hLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDSSwwQkFBMEIsbUJBRW5CLHVCQUF1QixDQUFDLE1BQU07dUlBb0QvQixjQUFjO3NCQUQ3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kICovXG5cbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElBdXRoVG9rZW4sIElMb2dpbiwgU2NBdXRoU2VydmljZSwgU2NVc2VyTWV0cmlrYUdvYWxzRW51bSwgU2NVc2VyTWV0cmlrYVNlcnZpY2UgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IHR1aUlzRmFsc3kgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc2hhcmUsIHN0YXJ0V2l0aCwgU3ViamVjdCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFwaUVycm9yUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0FwaUVycm9yUmVzcG9uc2UnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L4g0LDQtNGA0LXRgdGDINGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLRiyDQuCDQv9Cw0YDQvtC70Y4uXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2Mtc2lnbi1pbi1mb3JtLWJ5LWVtYWlsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2Mtc2lnbi1pbi1mb3JtLWJ5LWVtYWlsLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NTaWduSW5Gb3JtQnlFbWFpbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqXG4gICAgICog0JPRgNGD0L/Qv9CwINC/0L7Qu9C10Lkg0LLQstC+0LTQsCDQtNC70Y8g0YTQvtGA0LzRiyDCq9CS0YXQvtC0INC90LAg0YHQsNC50YLCuy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZm9ybUJ5RW1haWw6IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBsb2dpbjogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsXSksXG4gICAgICAgIHBhc3N3b3JkOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgU3ViamVjdH0g0YHQvtCx0YvRgtC40Y8g0L7RgtC/0YDQsNCy0LrQuCDRhNC+0YDQvNGLLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBvblN1Ym1pdDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LfQsNC/0YDQvtGB0LAg0LTQsNC90L3Ri9GFINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40LguXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbWFpbFJlcXVlc3QkOiBPYnNlcnZhYmxlPElBdXRoVG9rZW4gfCBudWxsPiA9IHRoaXMub25TdWJtaXQucGlwZShcbiAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuZm9ybUJ5RW1haWwudmFsaWQpLFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5mb3JtQnlFbWFpbC52YWx1ZSBhcyBJTG9naW4pLFxuICAgICAgICBzd2l0Y2hNYXAoKHZhbHVlKSA9PlxuICAgICAgICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRTaWduSW4kKHZhbHVlKS5waXBlKFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvclJlc3BvbnNlID0gZXJyb3IuZXJyb3IgYXMgQXBpRXJyb3JSZXNwb25zZTtcblxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBlcnJvclJlc3BvbnNlLmVycm9ycykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQnlFbWFpbC5nZXQoa2V5KT8uc2V0RXJyb3JzKHsgc2VydmVyUmVzcG9uc2U6IGVycm9yUmVzcG9uc2UuZXJyb3JzW2tleV0gfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoIWVycm9yUmVzcG9uc2UuZXJyb3JzICYmIGVycm9yUmVzcG9uc2UubWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQnlFbWFpbC5zZXRFcnJvcnMoeyBzZXJ2ZXJSZXNwb25zZTogW2Vycm9yUmVzcG9uc2UubWVzc2FnZV0gfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2Yoe30gYXMgSUF1dGhUb2tlbik7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwpXG4gICAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIHNoYXJlKClcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDRgdC+0YHRgtC+0Y/QvdC40Y8g0LfQsNCz0YDRg9C30LrQuCDQtNCw0L3QvdGL0YUg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuCDQv9C+IGVtYWlsLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBsb2FkaW5nRW1haWxBdXRoJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuZW1haWxSZXF1ZXN0JC5waXBlKG1hcCh0dWlJc0ZhbHN5KSk7XG5cbiAgICAvKipcbiAgICAgKiDQodC40LPQvdCw0Lsg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMgXCLQl9Cw0LHRi9C70Lgg0L/QsNGA0L7Qu9GMXCIuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGZvcmdvdFBhc3N3b3JkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjU2lnbkluRm9ybUJ5RW1haWxDb21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGF1dGhTZXJ2aWNlINCh0LXRgNCy0LjRgSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqIEBwYXJhbSB1c2VyTWV0cmlrYVNlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LvRjyDRgdCx0L7RgNCwINC80LXRgtGA0LjQuiDQviDQtNC10LnRgdGC0LLQuNGP0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LkuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBTY0F1dGhTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJNZXRyaWthU2VydmljZTogU2NVc2VyTWV0cmlrYVNlcnZpY2VcbiAgICApIHt9XG5cbiAgICAvKiogQGluaGVyaXREb2MgKi9cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5zaWduSW5TaG93LFxuICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ2VtYWlsJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUJ5RW1haWxcIiAobmdTdWJtaXQpPVwib25TdWJtaXQubmV4dCgpXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTQgbWItOFwiPlxuICAgICAgICA8bGFiZWwgdHVpTGFiZWw9XCLQkNC00YDQtdGBINGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLRi1wiPlxuICAgICAgICAgICAgPHR1aS1pbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJsb2dpblwiPlxuICAgICAgICAgICAgICAgINCQ0LTRgNC10YEg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLXG4gICAgICAgICAgICAgICAgPGlucHV0IHR1aVRleHRmaWVsZCBhdXRvY29tcGxldGU9XCJlbWFpbFwiIC8+XG4gICAgICAgICAgICA8L3R1aS1pbnB1dD5cbiAgICAgICAgICAgIDx0dWktZXJyb3IgZm9ybUNvbnRyb2xOYW1lPVwibG9naW5cIiBbZXJyb3JdPVwiW10gfCB0dWlGaWVsZEVycm9yIHwgYXN5bmNcIj48L3R1aS1lcnJvcj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPGxhYmVsIHR1aUxhYmVsPVwi0J/QsNGA0L7Qu9GMXCI+XG4gICAgICAgICAgICA8dHVpLWlucHV0LXBhc3N3b3JkIGZvcm1Db250cm9sTmFtZT1cInBhc3N3b3JkXCI+XG4gICAgICAgICAgICAgICAg0J/QsNGA0L7Qu9GMXG4gICAgICAgICAgICAgICAgPGlucHV0IHR1aVRleHRmaWVsZCBhdXRvY29tcGxldGU9XCJjdXJyZW50LXBhc3N3b3JkXCIgLz5cbiAgICAgICAgICAgIDwvdHVpLWlucHV0LXBhc3N3b3JkPlxuICAgICAgICAgICAgPHR1aS1lcnJvciBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiIFtlcnJvcl09XCJbXSB8IHR1aUZpZWxkRXJyb3IgfCBhc3luY1wiPjwvdHVpLWVycm9yPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8dHVpLWVycm9yIFtlcnJvcl09XCJbXSB8IHR1aUZpZWxkRXJyb3IgfCBhc3luY1wiPjwvdHVpLWVycm9yPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC00IGl0ZW1zLWNlbnRlciBtYi00XCI+XG4gICAgICAgIDxhIHR1aUxpbmsgW3BzZXVkb109XCJ0cnVlXCIgKGNsaWNrKT1cImZvcmdvdFBhc3N3b3JkLmVtaXQoKVwiIGNsYXNzPVwidGV4dC1iYXNlXCI+0JfQsNCx0YvQu9C4INC/0LDRgNC+0LvRjD88L2E+XG4gICAgICAgIDxidXR0b24gdHVpQnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBbc2hvd0xvYWRlcl09XCIhIShsb2FkaW5nRW1haWxBdXRoJCB8IGFzeW5jKVwiIFtkaXNhYmxlZF09XCJmb3JtQnlFbWFpbC5pbnZhbGlkIHx8ICEhKGxvYWRpbmdFbWFpbEF1dGgkIHwgYXN5bmMpXCIgaWNvbj1cInNjSWNvbkxvZ0luXCI+XG4gICAgICAgICAgICDQktC+0LnRgtC4XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9mb3JtPlxuIl19
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc2lnbi1pbi1mb3JtLWJ5LWVtYWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9hdXRoL3NjLXNpZ24taW4tZm9ybS9zYy1zaWduLWluLWZvcm0tYnktZW1haWwvc2Mtc2lnbi1pbi1mb3JtLWJ5LWVtYWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9hdXRoL3NjLXNpZ24taW4tZm9ybS9zYy1zaWduLWluLWZvcm0tYnktZW1haWwvc2Mtc2lnbi1pbi1mb3JtLWJ5LWVtYWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBSXJHOztHQUVHO0FBTUgsTUFBTSxPQUFPLDRCQUE0QjtJQW1EckM7Ozs7T0FJRztJQUNILFlBQW9DLFdBQTBCO1FBQTFCLGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBdkQ5RDs7V0FFRztRQUNhLGdCQUFXLEdBQWMsSUFBSSxTQUFTLENBQUM7WUFDbkQsS0FBSyxFQUFFLElBQUksV0FBVyxDQUFnQixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwRixRQUFRLEVBQUUsSUFBSSxXQUFXLENBQWdCLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3RFLENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ2EsYUFBUSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRTlEOztXQUVHO1FBQ2Msa0JBQWEsR0FBa0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQzlFLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUNwQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFlLENBQUMsRUFDM0MsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUNuQyxVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUU7WUFDcEMsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLEtBQXlCLENBQUM7WUFFdEQsS0FBSyxNQUFNLEdBQUcsSUFBSSxhQUFhLENBQUMsTUFBTSxFQUFFO2dCQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsRUFBRSxjQUFjLEVBQUUsYUFBYSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDdkY7WUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sSUFBSSxhQUFhLENBQUMsT0FBTyxFQUFFO2dCQUNoRCxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDM0U7WUFFRCxPQUFPLEVBQUUsQ0FBQyxFQUFnQixDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUNsQixDQUNKLEVBQ0QsS0FBSyxFQUFFLENBQ1YsQ0FBQztRQUVGOztXQUVHO1FBQ2Esc0JBQWlCLEdBQXdCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBRWxHOztXQUVHO1FBQ3VCLG1CQUFjLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFPdkIsQ0FBQzs7eUhBeER6RCw0QkFBNEI7NkdBQTVCLDRCQUE0QiwrR0NuQnpDLDBvREF5QkE7MkZETmEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNJLDBCQUEwQixtQkFFbkIsdUJBQXVCLENBQUMsTUFBTTtvR0FtRHJCLGNBQWM7c0JBQXZDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvdW5ib3VuZC1tZXRob2QgKi9cblxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElBdXRoVG9rZW4sIElMb2dpbiwgU2NBdXRoU2VydmljZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgdHVpSXNGYWxzeSB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIG9mLCBzaGFyZSwgc3RhcnRXaXRoLCBTdWJqZWN0LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQXBpRXJyb3JSZXNwb25zZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQXBpRXJyb3JSZXNwb25zZSc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40Lgg0L/QviDQsNC00YDQtdGB0YMg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLINC4INC/0LDRgNC+0LvRji5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1zaWduLWluLWZvcm0tYnktZW1haWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1zaWduLWluLWZvcm0tYnktZW1haWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY1NpZ25JbkZvcm1CeUVtYWlsQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQk9GA0YPQv9C/0LAg0L/QvtC70LXQuSDQstCy0L7QtNCwINC00LvRjyDRhNC+0YDQvNGLIMKr0JLRhdC+0LQg0L3QsCDRgdCw0LnRgsK7LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBmb3JtQnlFbWFpbDogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgIGxvZ2luOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdKSxcbiAgICAgICAgcGFzc3dvcmQ6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBTdWJqZWN0fSDRgdC+0LHRi9GC0LjRjyDQvtGC0L/RgNCw0LLQutC4INGE0L7RgNC80YsuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IG9uU3VibWl0OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQtNCw0L3QvdGL0YUg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGVtYWlsUmVxdWVzdCQ6IE9ic2VydmFibGU8SUF1dGhUb2tlbiB8IG51bGw+ID0gdGhpcy5vblN1Ym1pdC5waXBlKFxuICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5mb3JtQnlFbWFpbC52YWxpZCksXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLmZvcm1CeUVtYWlsLnZhbHVlIGFzIElMb2dpbiksXG4gICAgICAgIHN3aXRjaE1hcCgodmFsdWUpID0+XG4gICAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldFNpZ25JbiQodmFsdWUpLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yUmVzcG9uc2UgPSBlcnJvci5lcnJvciBhcyBBcGlFcnJvclJlc3BvbnNlO1xuXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGVycm9yUmVzcG9uc2UuZXJyb3JzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1CeUVtYWlsLmdldChrZXkpPy5zZXRFcnJvcnMoeyBzZXJ2ZXJSZXNwb25zZTogZXJyb3JSZXNwb25zZS5lcnJvcnNba2V5XSB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmICghZXJyb3JSZXNwb25zZS5lcnJvcnMgJiYgZXJyb3JSZXNwb25zZS5tZXNzYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1CeUVtYWlsLnNldEVycm9ycyh7IHNlcnZlclJlc3BvbnNlOiBbZXJyb3JSZXNwb25zZS5tZXNzYWdlXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih7fSBhcyBJQXV0aFRva2VuKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbClcbiAgICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgc2hhcmUoKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGB0L7RgdGC0L7Rj9C90LjRjyDQt9Cw0LPRgNGD0LfQutC4INC00LDQvdC90YvRhSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L4gZW1haWwuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmdFbWFpbEF1dGgkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5lbWFpbFJlcXVlc3QkLnBpcGUobWFwKHR1aUlzRmFsc3kpKTtcblxuICAgIC8qKlxuICAgICAqINCh0LjQs9C90LDQuyDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyBcItCX0LDQsdGL0LvQuCDQv9Cw0YDQvtC70YxcIi5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IGZvcmdvdFBhc3N3b3JkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjU2lnbkluRm9ybUJ5RW1haWxDb21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGF1dGhTZXJ2aWNlINCh0LXRgNCy0LjRgSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBTY0F1dGhTZXJ2aWNlKSB7fVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtQnlFbWFpbFwiIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdC5uZXh0KClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtNCBtYi04XCI+XG4gICAgICAgIDxsYWJlbCB0dWlMYWJlbD1cItCQ0LTRgNC10YEg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLXCI+XG4gICAgICAgICAgICA8dHVpLWlucHV0IGZvcm1Db250cm9sTmFtZT1cImxvZ2luXCI+XG4gICAgICAgICAgICAgICAg0JDQtNGA0LXRgSDRjdC70LXQutGC0YDQvtC90L3QvtC5INC/0L7Rh9GC0YtcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHVpVGV4dGZpZWxkIGF1dG9jb21wbGV0ZT1cImVtYWlsXCIgLz5cbiAgICAgICAgICAgIDwvdHVpLWlucHV0PlxuICAgICAgICAgICAgPHR1aS1lcnJvciBmb3JtQ29udHJvbE5hbWU9XCJsb2dpblwiIFtlcnJvcl09XCJbXSB8IHR1aUZpZWxkRXJyb3IgfCBhc3luY1wiPjwvdHVpLWVycm9yPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8bGFiZWwgdHVpTGFiZWw9XCLQn9Cw0YDQvtC70YxcIj5cbiAgICAgICAgICAgIDx0dWktaW5wdXQtcGFzc3dvcmQgZm9ybUNvbnRyb2xOYW1lPVwicGFzc3dvcmRcIj5cbiAgICAgICAgICAgICAgICDQn9Cw0YDQvtC70YxcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHVpVGV4dGZpZWxkIGF1dG9jb21wbGV0ZT1cImN1cnJlbnQtcGFzc3dvcmRcIiAvPlxuICAgICAgICAgICAgPC90dWktaW5wdXQtcGFzc3dvcmQ+XG4gICAgICAgICAgICA8dHVpLWVycm9yIGZvcm1Db250cm9sTmFtZT1cInBhc3N3b3JkXCIgW2Vycm9yXT1cIltdIHwgdHVpRmllbGRFcnJvciB8IGFzeW5jXCI+PC90dWktZXJyb3I+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDx0dWktZXJyb3IgW2Vycm9yXT1cIltdIHwgdHVpRmllbGRFcnJvciB8IGFzeW5jXCI+PC90dWktZXJyb3I+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTQgaXRlbXMtY2VudGVyIG1iLTRcIj5cbiAgICAgICAgPGEgdHVpTGluayBbcHNldWRvXT1cInRydWVcIiAoY2xpY2spPVwiZm9yZ290UGFzc3dvcmQuZW1pdCgpXCIgY2xhc3M9XCJ0ZXh0LWJhc2VcIj7Ql9Cw0LHRi9C70Lgg0L/QsNGA0L7Qu9GMPzwvYT5cbiAgICAgICAgPGJ1dHRvbiB0dWlCdXR0b24gdHlwZT1cInN1Ym1pdFwiIFtzaG93TG9hZGVyXT1cIiEhKGxvYWRpbmdFbWFpbEF1dGgkIHwgYXN5bmMpXCIgW2Rpc2FibGVkXT1cImZvcm1CeUVtYWlsLmludmFsaWQgfHwgISEobG9hZGluZ0VtYWlsQXV0aCQgfCBhc3luYylcIiBpY29uPVwic2NJY29uTG9nSW5cIj5cbiAgICAgICAgICAgINCS0L7QudGC0LhcbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
@@ -1,6 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component } from '@angular/core';
2
2
  import { FormControl, FormGroup, Validators } from '@angular/forms';
3
- import { ScUserMetrikaGoalsEnum } from '@snabcentr/client-core';
4
3
  import { tuiIsFalsy } from '@taiga-ui/cdk';
5
4
  import { catchError, filter, map, of, share, startWith, Subject, switchMap } from 'rxjs';
6
5
  import * as i0 from "@angular/core";
@@ -18,11 +17,9 @@ export class ScSignInFormByPhoneComponent {
18
17
  * Инициализирует экземпляр класса {@link ScSignInFormByPhoneComponent}.
19
18
  *
20
19
  * @param authService Сервис аутентификации.
21
- * @param userMetrikaService Сервис для сбора метрик о действиях пользователей.
22
20
  */
23
- constructor(authService, userMetrikaService) {
21
+ constructor(authService) {
24
22
  this.authService = authService;
25
- this.userMetrikaService = userMetrikaService;
26
23
  /**
27
24
  * Наличие кода подтверждения у пользователя.
28
25
  */
@@ -56,20 +53,11 @@ export class ScSignInFormByPhoneComponent {
56
53
  */
57
54
  this.loading$ = this.request$.pipe(map(tuiIsFalsy));
58
55
  }
59
- /** @inheritDoc */
60
- ngOnInit() {
61
- this.userMetrikaService.emitUserMetrikaEvent({
62
- target: ScUserMetrikaGoalsEnum.signInShow,
63
- params: {
64
- type: 'phone',
65
- },
66
- });
67
- }
68
56
  }
69
- ScSignInFormByPhoneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScSignInFormByPhoneComponent, deps: [{ token: i1.ScAuthService }, { token: i1.ScUserMetrikaService }], target: i0.ɵɵFactoryTarget.Component });
57
+ ScSignInFormByPhoneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScSignInFormByPhoneComponent, deps: [{ token: i1.ScAuthService }], target: i0.ɵɵFactoryTarget.Component });
70
58
  ScSignInFormByPhoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScSignInFormByPhoneComponent, selector: "sc-sign-in-form-by-phone", ngImport: i0, template: "<form [formGroup]=\"form\" *tuiLet=\"!!(loading$ | async) as loading\" (ngSubmit)=\"onSubmit.next()\" class=\"flex flex-col gap-4 items-center mb-4\">\n <sc-verification-phone-check-form [(haveCode)]=\"haveCode\" [shouldBeBusy]=\"true\" [shouldBeConfirmed]=\"true\" class=\"w-full\"></sc-verification-phone-check-form>\n <button *ngIf=\"haveCode\" tuiButton type=\"submit\" [showLoader]=\"loading\" [disabled]=\"form.invalid || loading\" icon=\"scIconLogIn\">\u0412\u043E\u0439\u0442\u0438</button>\n</form>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { kind: "directive", type: i5.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "component", type: i6.ScVerificationPhoneCheckFormComponent, selector: "sc-verification-phone-check-form", inputs: ["showCodeFields", "readOnly", "shouldBeBusy", "shouldBeConfirmed", "haveCode"], outputs: ["haveCodeChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
71
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScSignInFormByPhoneComponent, decorators: [{
72
60
  type: Component,
73
61
  args: [{ selector: 'sc-sign-in-form-by-phone', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"form\" *tuiLet=\"!!(loading$ | async) as loading\" (ngSubmit)=\"onSubmit.next()\" class=\"flex flex-col gap-4 items-center mb-4\">\n <sc-verification-phone-check-form [(haveCode)]=\"haveCode\" [shouldBeBusy]=\"true\" [shouldBeConfirmed]=\"true\" class=\"w-full\"></sc-verification-phone-check-form>\n <button *ngIf=\"haveCode\" tuiButton type=\"submit\" [showLoader]=\"loading\" [disabled]=\"form.invalid || loading\" icon=\"scIconLogIn\">\u0412\u043E\u0439\u0442\u0438</button>\n</form>\n" }]
74
- }], ctorParameters: function () { return [{ type: i1.ScAuthService }, { type: i1.ScUserMetrikaService }]; } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc2lnbi1pbi1mb3JtLWJ5LXBob25lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9hdXRoL3NjLXNpZ24taW4tZm9ybS9zYy1zaWduLWluLWZvcm0tYnktcGhvbmUvc2Mtc2lnbi1pbi1mb3JtLWJ5LXBob25lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9hdXRoL3NjLXNpZ24taW4tZm9ybS9zYy1zaWduLWluLWZvcm0tYnktcGhvbmUvc2Mtc2lnbi1pbi1mb3JtLWJ5LXBob25lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUEwQyxzQkFBc0IsRUFBd0IsTUFBTSx3QkFBd0IsQ0FBQztBQUM5SCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQUlyRzs7R0FFRztBQU1ILE1BQU0sT0FBTyw0QkFBNEI7SUFtRHJDOzs7OztPQUtHO0lBQ0gsWUFDcUIsV0FBMEIsRUFDMUIsa0JBQXdDO1FBRHhDLGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBQzFCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBc0I7UUExRDdEOztXQUVHO1FBQ0ksYUFBUSxHQUFZLEtBQUssQ0FBQztRQUVqQzs7V0FFRztRQUNhLFNBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUNqQyxLQUFLLEVBQUUsSUFBSSxXQUFXLENBQWdCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzVGLGdCQUFnQixFQUFFLElBQUksV0FBVyxDQUFnQixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6RyxDQUFDLENBQUM7UUFFSDs7V0FFRztRQUNhLGFBQVEsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUU5RDs7V0FFRztRQUNjLGFBQVEsR0FBa0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3pFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUMxQixNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQXdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUN4RCxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQ25DLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRTtZQUNwQyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsS0FBeUIsQ0FBQztZQUV0RCxLQUFLLE1BQU0sR0FBRyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNoRjtZQUVELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxJQUFJLGFBQWEsQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNwRTtZQUVELE9BQU8sRUFBRSxDQUFDLEVBQWdCLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLENBQ2xCLENBQ0osRUFDRCxLQUFLLEVBQUUsQ0FDVixDQUFDO1FBRUY7O1dBRUc7UUFDYSxhQUFRLEdBQXdCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBV2pGLENBQUM7SUFFSixrQkFBa0I7SUFDWCxRQUFRO1FBQ1gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDO1lBQ3pDLE1BQU0sRUFBRSxzQkFBc0IsQ0FBQyxVQUFVO1lBQ3pDLE1BQU0sRUFBRTtnQkFDSixJQUFJLEVBQUUsT0FBTzthQUNoQjtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7O3lIQXRFUSw0QkFBNEI7NkdBQTVCLDRCQUE0QixnRUNuQnpDLHFnQkFJQTsyRkRlYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0ksMEJBQTBCLG1CQUVuQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kICovXG5cbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSUF1dGhUb2tlbiwgSVBob25lTG9naW4sIFNjQXV0aFNlcnZpY2UsIFNjVXNlck1ldHJpa2FHb2Fsc0VudW0sIFNjVXNlck1ldHJpa2FTZXJ2aWNlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyB0dWlJc0ZhbHN5IH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlLCBzdGFydFdpdGgsIFN1YmplY3QsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBcGlFcnJvclJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9BcGlFcnJvclJlc3BvbnNlJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuCDQv9C+INC90L7QvNC10YDRgyDRgtC10LvQtdGE0L7QvdCwINC4INC60L7QtNGDINC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXNpZ24taW4tZm9ybS1ieS1waG9uZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLXNpZ24taW4tZm9ybS1ieS1waG9uZS5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjU2lnbkluRm9ybUJ5UGhvbmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKlxuICAgICAqINCd0LDQu9C40YfQuNC1INC60L7QtNCwINC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPINGDINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgaGF2ZUNvZGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqINCT0YDRg9C/0L/QsCDQv9C+0LvQtdC5INCy0LLQvtC00LAg0LTQu9GPINGE0L7RgNC80YsgwqvQktGF0L7QtCDQvdCwINGB0LDQudGCwrsuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgcGhvbmU6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoMTIpXSksXG4gICAgICAgIHZlcmlmaWNhdGlvbkNvZGU6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoNildKSxcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBTdWJqZWN0fSDRgdC+0LHRi9GC0LjRjyDQvtGC0L/RgNCw0LLQutC4INGE0L7RgNC80YsuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IG9uU3VibWl0OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQtNCw0L3QvdGL0YUg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlcXVlc3QkOiBPYnNlcnZhYmxlPElBdXRoVG9rZW4gfCBudWxsPiA9IHRoaXMub25TdWJtaXQucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHRoaXMuZm9ybS52YWx1ZSksXG4gICAgICAgIGZpbHRlcigodmFsdWUpOiB2YWx1ZSBpcyBJUGhvbmVMb2dpbiA9PiB0aGlzLmZvcm0udmFsaWQpLFxuICAgICAgICBzd2l0Y2hNYXAoKHZhbHVlKSA9PlxuICAgICAgICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRTaWduSW4kKHZhbHVlKS5waXBlKFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvclJlc3BvbnNlID0gZXJyb3IuZXJyb3IgYXMgQXBpRXJyb3JSZXNwb25zZTtcblxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBlcnJvclJlc3BvbnNlLmVycm9ycykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLmdldChrZXkpPy5zZXRFcnJvcnMoeyBzZXJ2ZXJSZXNwb25zZTogZXJyb3JSZXNwb25zZS5lcnJvcnNba2V5XSB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmICghZXJyb3JSZXNwb25zZS5lcnJvcnMgJiYgZXJyb3JSZXNwb25zZS5tZXNzYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0uc2V0RXJyb3JzKHsgc2VydmVyUmVzcG9uc2U6IFtlcnJvclJlc3BvbnNlLm1lc3NhZ2VdIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHt9IGFzIElBdXRoVG9rZW4pO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKVxuICAgICAgICAgICAgKVxuICAgICAgICApLFxuICAgICAgICBzaGFyZSgpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGB0YLQvtGP0L3QuNGPINC30LDQs9GA0YPQt9C60Lgg0LTQsNC90L3Ri9GFINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40Lgg0L/QviDQvdC+0LzQtdGA0YMg0YLQtdC70LXRhNC+0L3QsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgbG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLnJlcXVlc3QkLnBpcGUobWFwKHR1aUlzRmFsc3kpKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NTaWduSW5Gb3JtQnlQaG9uZUNvbXBvbmVudH0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXV0aFNlcnZpY2Ug0KHQtdGA0LLQuNGBINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40LguXG4gICAgICogQHBhcmFtIHVzZXJNZXRyaWthU2VydmljZSDQodC10YDQstC40YEg0LTQu9GPINGB0LHQvtGA0LAg0LzQtdGC0YDQuNC6INC+INC00LXQudGB0YLQstC40Y/RhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IFNjQXV0aFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlck1ldHJpa2FTZXJ2aWNlOiBTY1VzZXJNZXRyaWthU2VydmljZVxuICAgICkge31cblxuICAgIC8qKiBAaW5oZXJpdERvYyAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51c2VyTWV0cmlrYVNlcnZpY2UuZW1pdFVzZXJNZXRyaWthRXZlbnQoe1xuICAgICAgICAgICAgdGFyZ2V0OiBTY1VzZXJNZXRyaWthR29hbHNFbnVtLnNpZ25JblNob3csXG4gICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAncGhvbmUnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKnR1aUxldD1cIiEhKGxvYWRpbmckIHwgYXN5bmMpIGFzIGxvYWRpbmdcIiAobmdTdWJtaXQpPVwib25TdWJtaXQubmV4dCgpXCIgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC00IGl0ZW1zLWNlbnRlciBtYi00XCI+XG4gICAgPHNjLXZlcmlmaWNhdGlvbi1waG9uZS1jaGVjay1mb3JtIFsoaGF2ZUNvZGUpXT1cImhhdmVDb2RlXCIgW3Nob3VsZEJlQnVzeV09XCJ0cnVlXCIgW3Nob3VsZEJlQ29uZmlybWVkXT1cInRydWVcIiBjbGFzcz1cInctZnVsbFwiPjwvc2MtdmVyaWZpY2F0aW9uLXBob25lLWNoZWNrLWZvcm0+XG4gICAgPGJ1dHRvbiAqbmdJZj1cImhhdmVDb2RlXCIgdHVpQnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBbc2hvd0xvYWRlcl09XCJsb2FkaW5nXCIgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZCB8fCBsb2FkaW5nXCIgaWNvbj1cInNjSWNvbkxvZ0luXCI+0JLQvtC50YLQuDwvYnV0dG9uPlxuPC9mb3JtPlxuIl19
62
+ }], ctorParameters: function () { return [{ type: i1.ScAuthService }]; } });
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc2lnbi1pbi1mb3JtLWJ5LXBob25lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9hdXRoL3NjLXNpZ24taW4tZm9ybS9zYy1zaWduLWluLWZvcm0tYnktcGhvbmUvc2Mtc2lnbi1pbi1mb3JtLWJ5LXBob25lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9hdXRoL3NjLXNpZ24taW4tZm9ybS9zYy1zaWduLWluLWZvcm0tYnktcGhvbmUvc2Mtc2lnbi1pbi1mb3JtLWJ5LXBob25lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFJckc7O0dBRUc7QUFNSCxNQUFNLE9BQU8sNEJBQTRCO0lBbURyQzs7OztPQUlHO0lBQ0gsWUFBb0MsV0FBMEI7UUFBMUIsZ0JBQVcsR0FBWCxXQUFXLENBQWU7UUF2RDlEOztXQUVHO1FBQ0ksYUFBUSxHQUFZLEtBQUssQ0FBQztRQUVqQzs7V0FFRztRQUNhLFNBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUNqQyxLQUFLLEVBQUUsSUFBSSxXQUFXLENBQWdCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzVGLGdCQUFnQixFQUFFLElBQUksV0FBVyxDQUFnQixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6RyxDQUFDLENBQUM7UUFFSDs7V0FFRztRQUNhLGFBQVEsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUU5RDs7V0FFRztRQUNjLGFBQVEsR0FBa0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3pFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUMxQixNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQXdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUN4RCxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQ25DLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRTtZQUNwQyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsS0FBeUIsQ0FBQztZQUV0RCxLQUFLLE1BQU0sR0FBRyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNoRjtZQUVELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxJQUFJLGFBQWEsQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNwRTtZQUVELE9BQU8sRUFBRSxDQUFDLEVBQWdCLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLENBQ2xCLENBQ0osRUFDRCxLQUFLLEVBQUUsQ0FDVixDQUFDO1FBRUY7O1dBRUc7UUFDYSxhQUFRLEdBQXdCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBT25CLENBQUM7O3lIQXhEekQsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsZ0VDbkJ6QyxxZ0JBSUE7MkZEZWEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNJLDBCQUEwQixtQkFFbkIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC91bmJvdW5kLW1ldGhvZCAqL1xuXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJQXV0aFRva2VuLCBJUGhvbmVMb2dpbiwgU2NBdXRoU2VydmljZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgdHVpSXNGYWxzeSB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIG9mLCBzaGFyZSwgc3RhcnRXaXRoLCBTdWJqZWN0LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQXBpRXJyb3JSZXNwb25zZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQXBpRXJyb3JSZXNwb25zZSc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40Lgg0L/QviDQvdC+0LzQtdGA0YMg0YLQtdC70LXRhNC+0L3QsCDQuCDQutC+0LTRgyDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjy5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1zaWduLWluLWZvcm0tYnktcGhvbmUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1zaWduLWluLWZvcm0tYnktcGhvbmUuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY1NpZ25JbkZvcm1CeVBob25lQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQndCw0LvQuNGH0LjQtSDQutC+0LTQsCDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjyDRgyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICovXG4gICAgcHVibGljIGhhdmVDb2RlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDQk9GA0YPQv9C/0LAg0L/QvtC70LXQuSDQstCy0L7QtNCwINC00LvRjyDRhNC+0YDQvNGLIMKr0JLRhdC+0LQg0L3QsCDRgdCw0LnRgsK7LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBmb3JtID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgIHBob25lOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDEyKV0pLFxuICAgICAgICB2ZXJpZmljYXRpb25Db2RlOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDYpXSksXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgU3ViamVjdH0g0YHQvtCx0YvRgtC40Y8g0L7RgtC/0YDQsNCy0LrQuCDRhNC+0YDQvNGLLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBvblN1Ym1pdDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LfQsNC/0YDQvtGB0LAg0LTQsNC90L3Ri9GFINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40LguXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXF1ZXN0JDogT2JzZXJ2YWJsZTxJQXV0aFRva2VuIHwgbnVsbD4gPSB0aGlzLm9uU3VibWl0LnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLmZvcm0udmFsdWUpLFxuICAgICAgICBmaWx0ZXIoKHZhbHVlKTogdmFsdWUgaXMgSVBob25lTG9naW4gPT4gdGhpcy5mb3JtLnZhbGlkKSxcbiAgICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT5cbiAgICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0U2lnbkluJCh2YWx1ZSkucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3JSZXNwb25zZSA9IGVycm9yLmVycm9yIGFzIEFwaUVycm9yUmVzcG9uc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gZXJyb3JSZXNwb25zZS5lcnJvcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5nZXQoa2V5KT8uc2V0RXJyb3JzKHsgc2VydmVyUmVzcG9uc2U6IGVycm9yUmVzcG9uc2UuZXJyb3JzW2tleV0gfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoIWVycm9yUmVzcG9uc2UuZXJyb3JzICYmIGVycm9yUmVzcG9uc2UubWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnNldEVycm9ycyh7IHNlcnZlclJlc3BvbnNlOiBbZXJyb3JSZXNwb25zZS5tZXNzYWdlXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih7fSBhcyBJQXV0aFRva2VuKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbClcbiAgICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgc2hhcmUoKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGB0L7RgdGC0L7Rj9C90LjRjyDQt9Cw0LPRgNGD0LfQutC4INC00LDQvdC90YvRhSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L4g0L3QvtC80LXRgNGDINGC0LXQu9C10YTQvtC90LAuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5yZXF1ZXN0JC5waXBlKG1hcCh0dWlJc0ZhbHN5KSk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjU2lnbkluRm9ybUJ5UGhvbmVDb21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGF1dGhTZXJ2aWNlINCh0LXRgNCy0LjRgSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBTY0F1dGhTZXJ2aWNlKSB7fVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKnR1aUxldD1cIiEhKGxvYWRpbmckIHwgYXN5bmMpIGFzIGxvYWRpbmdcIiAobmdTdWJtaXQpPVwib25TdWJtaXQubmV4dCgpXCIgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC00IGl0ZW1zLWNlbnRlciBtYi00XCI+XG4gICAgPHNjLXZlcmlmaWNhdGlvbi1waG9uZS1jaGVjay1mb3JtIFsoaGF2ZUNvZGUpXT1cImhhdmVDb2RlXCIgW3Nob3VsZEJlQnVzeV09XCJ0cnVlXCIgW3Nob3VsZEJlQ29uZmlybWVkXT1cInRydWVcIiBjbGFzcz1cInctZnVsbFwiPjwvc2MtdmVyaWZpY2F0aW9uLXBob25lLWNoZWNrLWZvcm0+XG4gICAgPGJ1dHRvbiAqbmdJZj1cImhhdmVDb2RlXCIgdHVpQnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBbc2hvd0xvYWRlcl09XCJsb2FkaW5nXCIgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZCB8fCBsb2FkaW5nXCIgaWNvbj1cInNjSWNvbkxvZ0luXCI+0JLQvtC50YLQuDwvYnV0dG9uPlxuPC9mb3JtPlxuIl19
@@ -1,4 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { ScUserMetrikaGoalsEnum } from '@snabcentr/client-core';
2
3
  import { filter } from 'rxjs';
3
4
  import { AuthMethod } from '../enums/auth-method';
4
5
  import * as i0 from "@angular/core";
@@ -15,9 +16,11 @@ export class ScSignInFormComponent {
15
16
  * Инициализирует экземпляр класса {@link ScSignInFormComponent}.
16
17
  *
17
18
  * @param authService Сервис аутентификации.
19
+ * @param userMetrikaService Сервис для сбора метрик о действиях пользователей.
18
20
  */
19
- constructor(authService) {
21
+ constructor(authService, userMetrikaService) {
20
22
  this.authService = authService;
23
+ this.userMetrikaService = userMetrikaService;
21
24
  /**
22
25
  * Выбранный способ аутентификации.
23
26
  */
@@ -39,6 +42,15 @@ export class ScSignInFormComponent {
39
42
  */
40
43
  this.successAuth = this.authService.getAuthChange().pipe(filter((state) => state));
41
44
  }
45
+ /** @inheritDoc */
46
+ ngOnInit() {
47
+ this.userMetrikaService.emitUserMetrikaEvent({
48
+ target: ScUserMetrikaGoalsEnum.signInShow,
49
+ params: {
50
+ type: this.authMethod,
51
+ },
52
+ });
53
+ }
42
54
  /**
43
55
  * Осуществляет переключение способов аутентификации.
44
56
  *
@@ -46,6 +58,12 @@ export class ScSignInFormComponent {
46
58
  */
47
59
  switchAuth(authMethod) {
48
60
  this.authMethod = authMethod;
61
+ this.userMetrikaService.emitUserMetrikaEvent({
62
+ target: ScUserMetrikaGoalsEnum.signInShow,
63
+ params: {
64
+ type: authMethod,
65
+ },
66
+ });
49
67
  }
50
68
  /**
51
69
  * Обрабатывает нажатие на кнопку "Забыли пароль" и выдает сигнал об этом.
@@ -54,12 +72,12 @@ export class ScSignInFormComponent {
54
72
  this.forgotPassword.emit();
55
73
  }
56
74
  }
57
- ScSignInFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScSignInFormComponent, deps: [{ token: i1.ScAuthService }], target: i0.ɵɵFactoryTarget.Component });
58
- ScSignInFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScSignInFormComponent, selector: "sc-sign-in-form", inputs: { authMethod: "authMethod" }, outputs: { forgotPassword: "forgotPassword", signUp: "signUp", successAuth: "successAuth" }, ngImport: i0, template: "<div class=\"flex justify-center mb-4\">\n <button\n tuiButton\n [tuiMode]=\"authMethod === 'by_phone' ? null : 'onLight'\"\n [appearance]=\"authMethod === 'by_phone' ? 'primary' : 'secondary'\"\n (click)=\"switchAuth(method.byPhone)\"\n class=\"tui-space_right-3 tui-space_bottom-3 !font-bold\"\n >\n \u041F\u043E \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443\n </button>\n\n <button\n tuiButton\n [tuiMode]=\"authMethod === 'by_email' ? null : 'onLight'\"\n [appearance]=\"authMethod === 'by_email' ? 'primary' : 'secondary'\"\n (click)=\"switchAuth(method.byEmail)\"\n class=\"tui-space_left-3 tui-space_bottom-3 !font-bold\"\n >\n \u041F\u043E e-mail\n </button>\n</div>\n\n<sc-sign-in-form-by-email *ngIf=\"authMethod === 'by_email'\" (forgotPassword)=\"onForgotPassword()\"></sc-sign-in-form-by-email>\n\n<sc-sign-in-form-by-phone [class.hidden]=\"authMethod !== 'by_phone'\"></sc-sign-in-form-by-phone>\n\n<div class=\"flex flex-col gap-4 items-center\">\n <span class=\"font-medium text-tui-text-02\">\u0415\u0449\u0435 \u043D\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u044B?</span>\n <button tuiButton tuiMode=\"onLight\" (click)=\"signUp.emit()\" type=\"button\" icon=\"scIconAddProfile\" appearance=\"secondary\">\u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C\u0441\u044F</button>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { kind: "directive", type: i3.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { kind: "component", type: i4.ScSignInFormByPhoneComponent, selector: "sc-sign-in-form-by-phone" }, { kind: "component", type: i5.ScSignInFormByEmailComponent, selector: "sc-sign-in-form-by-email", outputs: ["forgotPassword"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
75
+ ScSignInFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScSignInFormComponent, deps: [{ token: i1.ScAuthService }, { token: i1.ScUserMetrikaService }], target: i0.ɵɵFactoryTarget.Component });
76
+ ScSignInFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScSignInFormComponent, selector: "sc-sign-in-form", inputs: { authMethod: "authMethod" }, outputs: { forgotPassword: "forgotPassword", signUp: "signUp", successAuth: "successAuth" }, ngImport: i0, template: "<div class=\"mb-4 flex justify-center\">\n <button\n tuiButton\n [tuiMode]=\"authMethod === 'by_phone' ? null : 'onLight'\"\n [appearance]=\"authMethod === 'by_phone' ? 'primary' : 'secondary'\"\n (click)=\"switchAuth(method.byPhone)\"\n class=\"tui-space_right-3 tui-space_bottom-3 !font-bold\"\n >\n \u041F\u043E \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443\n </button>\n\n <button\n tuiButton\n [tuiMode]=\"authMethod === 'by_email' ? null : 'onLight'\"\n [appearance]=\"authMethod === 'by_email' ? 'primary' : 'secondary'\"\n (click)=\"switchAuth(method.byEmail)\"\n class=\"tui-space_left-3 tui-space_bottom-3 !font-bold\"\n >\n \u041F\u043E e-mail\n </button>\n</div>\n\n<sc-sign-in-form-by-email\n *ngIf=\"authMethod === 'by_email'\"\n (forgotPassword)=\"onForgotPassword()\"\n></sc-sign-in-form-by-email>\n\n<sc-sign-in-form-by-phone [class.hidden]=\"authMethod !== 'by_phone'\"></sc-sign-in-form-by-phone>\n\n<div class=\"flex flex-col items-center gap-4\">\n <span class=\"font-medium text-tui-text-02\">\u0415\u0449\u0435 \u043D\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u044B?</span>\n <button\n tuiButton\n tuiMode=\"onLight\"\n (click)=\"signUp.emit()\"\n type=\"button\"\n icon=\"scIconAddProfile\"\n appearance=\"secondary\"\n >\n \u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C\u0441\u044F\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { kind: "directive", type: i3.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { kind: "component", type: i4.ScSignInFormByPhoneComponent, selector: "sc-sign-in-form-by-phone" }, { kind: "component", type: i5.ScSignInFormByEmailComponent, selector: "sc-sign-in-form-by-email", outputs: ["forgotPassword"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
59
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScSignInFormComponent, decorators: [{
60
78
  type: Component,
61
- args: [{ selector: 'sc-sign-in-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex justify-center mb-4\">\n <button\n tuiButton\n [tuiMode]=\"authMethod === 'by_phone' ? null : 'onLight'\"\n [appearance]=\"authMethod === 'by_phone' ? 'primary' : 'secondary'\"\n (click)=\"switchAuth(method.byPhone)\"\n class=\"tui-space_right-3 tui-space_bottom-3 !font-bold\"\n >\n \u041F\u043E \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443\n </button>\n\n <button\n tuiButton\n [tuiMode]=\"authMethod === 'by_email' ? null : 'onLight'\"\n [appearance]=\"authMethod === 'by_email' ? 'primary' : 'secondary'\"\n (click)=\"switchAuth(method.byEmail)\"\n class=\"tui-space_left-3 tui-space_bottom-3 !font-bold\"\n >\n \u041F\u043E e-mail\n </button>\n</div>\n\n<sc-sign-in-form-by-email *ngIf=\"authMethod === 'by_email'\" (forgotPassword)=\"onForgotPassword()\"></sc-sign-in-form-by-email>\n\n<sc-sign-in-form-by-phone [class.hidden]=\"authMethod !== 'by_phone'\"></sc-sign-in-form-by-phone>\n\n<div class=\"flex flex-col gap-4 items-center\">\n <span class=\"font-medium text-tui-text-02\">\u0415\u0449\u0435 \u043D\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u044B?</span>\n <button tuiButton tuiMode=\"onLight\" (click)=\"signUp.emit()\" type=\"button\" icon=\"scIconAddProfile\" appearance=\"secondary\">\u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C\u0441\u044F</button>\n</div>\n" }]
62
- }], ctorParameters: function () { return [{ type: i1.ScAuthService }]; }, propDecorators: { authMethod: [{
79
+ args: [{ selector: 'sc-sign-in-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mb-4 flex justify-center\">\n <button\n tuiButton\n [tuiMode]=\"authMethod === 'by_phone' ? null : 'onLight'\"\n [appearance]=\"authMethod === 'by_phone' ? 'primary' : 'secondary'\"\n (click)=\"switchAuth(method.byPhone)\"\n class=\"tui-space_right-3 tui-space_bottom-3 !font-bold\"\n >\n \u041F\u043E \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443\n </button>\n\n <button\n tuiButton\n [tuiMode]=\"authMethod === 'by_email' ? null : 'onLight'\"\n [appearance]=\"authMethod === 'by_email' ? 'primary' : 'secondary'\"\n (click)=\"switchAuth(method.byEmail)\"\n class=\"tui-space_left-3 tui-space_bottom-3 !font-bold\"\n >\n \u041F\u043E e-mail\n </button>\n</div>\n\n<sc-sign-in-form-by-email\n *ngIf=\"authMethod === 'by_email'\"\n (forgotPassword)=\"onForgotPassword()\"\n></sc-sign-in-form-by-email>\n\n<sc-sign-in-form-by-phone [class.hidden]=\"authMethod !== 'by_phone'\"></sc-sign-in-form-by-phone>\n\n<div class=\"flex flex-col items-center gap-4\">\n <span class=\"font-medium text-tui-text-02\">\u0415\u0449\u0435 \u043D\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u044B?</span>\n <button\n tuiButton\n tuiMode=\"onLight\"\n (click)=\"signUp.emit()\"\n type=\"button\"\n icon=\"scIconAddProfile\"\n appearance=\"secondary\"\n >\n \u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C\u0441\u044F\n </button>\n</div>\n" }]
80
+ }], ctorParameters: function () { return [{ type: i1.ScAuthService }, { type: i1.ScUserMetrikaService }]; }, propDecorators: { authMethod: [{
63
81
  type: Input
64
82
  }], forgotPassword: [{
65
83
  type: Output
@@ -68,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
68
86
  }], successAuth: [{
69
87
  type: Output
70
88
  }] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc2lnbi1pbi1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9hdXRoL3NjLXNpZ24taW4tZm9ybS9zYy1zaWduLWluLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2F1dGgvc2Mtc2lnbi1pbi1mb3JtL3NjLXNpZ24taW4tZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhHLE9BQU8sRUFBRSxNQUFNLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBRWxEOztHQUVHO0FBTUgsTUFBTSxPQUFPLHFCQUFxQjtJQThCOUI7Ozs7T0FJRztJQUNILFlBQW9DLFdBQTBCO1FBQTFCLGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBbEM5RDs7V0FFRztRQUVJLGVBQVUsR0FBZSxVQUFVLENBQUMsT0FBTyxDQUFDO1FBRW5EOztXQUVHO1FBQ0ksV0FBTSxHQUFzQixVQUFVLENBQUM7UUFFOUM7O1dBRUc7UUFFYSxtQkFBYyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRTlFOztXQUVHO1FBRWEsV0FBTSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXRFOztXQUVHO1FBRWEsZ0JBQVcsR0FBd0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBT2xELENBQUM7SUFFbEU7Ozs7T0FJRztJQUNJLFVBQVUsQ0FBQyxVQUFzQjtRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxnQkFBZ0I7UUFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDOztrSEFuRFEscUJBQXFCO3NHQUFyQixxQkFBcUIsMExDZGxDLCsrQ0E4QkE7MkZEaEJhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDSSxpQkFBaUIsbUJBRVYsdUJBQXVCLENBQUMsTUFBTTtvR0FPeEMsVUFBVTtzQkFEaEIsS0FBSztnQkFZVSxjQUFjO3NCQUQ3QixNQUFNO2dCQU9TLE1BQU07c0JBRHJCLE1BQU07Z0JBT1MsV0FBVztzQkFEMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2NBdXRoU2VydmljZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgZmlsdGVyLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEF1dGhNZXRob2QgfSBmcm9tICcuLi9lbnVtcy9hdXRoLW1ldGhvZCc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXNpZ24taW4tZm9ybScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLXNpZ24taW4tZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjU2lnbkluRm9ybUNvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICog0JLRi9Cx0YDQsNC90L3Ri9C5INGB0L/QvtGB0L7QsSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGF1dGhNZXRob2Q6IEF1dGhNZXRob2QgPSBBdXRoTWV0aG9kLmJ5RW1haWw7XG5cbiAgICAvKipcbiAgICAgKiDQn9C10YDQtdGH0LjRgdC70LXQvdC40LUg0YHQv9C+0YHQvtCx0L7QsiDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBtZXRob2Q6IHR5cGVvZiBBdXRoTWV0aG9kID0gQXV0aE1ldGhvZDtcblxuICAgIC8qKlxuICAgICAqINCh0LjQs9C90LDQuyDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyBcItCX0LDQsdGL0LvQuCDQv9Cw0YDQvtC70YxcIi5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgZm9yZ290UGFzc3dvcmQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0LjQs9C90LDQuyDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyBcItCX0LDRgNC10LPQuNGB0YLRgNC40YDQvtCy0LDRgtGM0YHRj1wiLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSBzaWduVXA6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0LjQs9C90LDQuyDRgdC+0LHRi9GC0LjRjyDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSBzdWNjZXNzQXV0aDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aENoYW5nZSgpLnBpcGUoZmlsdGVyKChzdGF0ZSkgPT4gc3RhdGUpKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NTaWduSW5Gb3JtQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhdXRoU2VydmljZSDQodC10YDQstC40YEg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZTogU2NBdXRoU2VydmljZSkge31cblxuICAgIC8qKlxuICAgICAqINCe0YHRg9GJ0LXRgdGC0LLQu9GP0LXRgiDQv9C10YDQtdC60LvRjtGH0LXQvdC40LUg0YHQv9C+0YHQvtCx0L7QsiDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqXG4gICAgICogQHBhcmFtIGF1dGhNZXRob2Qg0JLRi9Cx0YDQsNC90L3Ri9C5INGB0L/QvtGB0L7QsSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBzd2l0Y2hBdXRoKGF1dGhNZXRob2Q6IEF1dGhNZXRob2QpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hdXRoTWV0aG9kID0gYXV0aE1ldGhvZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YDQsNCx0LDRgtGL0LLQsNC10YIg0L3QsNC20LDRgtC40LUg0L3QsCDQutC90L7Qv9C60YMgXCLQl9Cw0LHRi9C70Lgg0L/QsNGA0L7Qu9GMXCIg0Lgg0LLRi9C00LDQtdGCINGB0LjQs9C90LDQuyDQvtCxINGN0YLQvtC8LlxuICAgICAqL1xuICAgIHB1YmxpYyBvbkZvcmdvdFBhc3N3b3JkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcmdvdFBhc3N3b3JkLmVtaXQoKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNlbnRlciBtYi00XCI+XG4gICAgPGJ1dHRvblxuICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgW3R1aU1vZGVdPVwiYXV0aE1ldGhvZCA9PT0gJ2J5X3Bob25lJyA/IG51bGwgOiAnb25MaWdodCdcIlxuICAgICAgICBbYXBwZWFyYW5jZV09XCJhdXRoTWV0aG9kID09PSAnYnlfcGhvbmUnID8gJ3ByaW1hcnknIDogJ3NlY29uZGFyeSdcIlxuICAgICAgICAoY2xpY2spPVwic3dpdGNoQXV0aChtZXRob2QuYnlQaG9uZSlcIlxuICAgICAgICBjbGFzcz1cInR1aS1zcGFjZV9yaWdodC0zIHR1aS1zcGFjZV9ib3R0b20tMyAhZm9udC1ib2xkXCJcbiAgICA+XG4gICAgICAgINCf0L4g0YLQtdC70LXRhNC+0L3Rg1xuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvblxuICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgW3R1aU1vZGVdPVwiYXV0aE1ldGhvZCA9PT0gJ2J5X2VtYWlsJyA/IG51bGwgOiAnb25MaWdodCdcIlxuICAgICAgICBbYXBwZWFyYW5jZV09XCJhdXRoTWV0aG9kID09PSAnYnlfZW1haWwnID8gJ3ByaW1hcnknIDogJ3NlY29uZGFyeSdcIlxuICAgICAgICAoY2xpY2spPVwic3dpdGNoQXV0aChtZXRob2QuYnlFbWFpbClcIlxuICAgICAgICBjbGFzcz1cInR1aS1zcGFjZV9sZWZ0LTMgdHVpLXNwYWNlX2JvdHRvbS0zICFmb250LWJvbGRcIlxuICAgID5cbiAgICAgICAg0J/QviBlLW1haWxcbiAgICA8L2J1dHRvbj5cbjwvZGl2PlxuXG48c2Mtc2lnbi1pbi1mb3JtLWJ5LWVtYWlsICpuZ0lmPVwiYXV0aE1ldGhvZCA9PT0gJ2J5X2VtYWlsJ1wiIChmb3Jnb3RQYXNzd29yZCk9XCJvbkZvcmdvdFBhc3N3b3JkKClcIj48L3NjLXNpZ24taW4tZm9ybS1ieS1lbWFpbD5cblxuPHNjLXNpZ24taW4tZm9ybS1ieS1waG9uZSBbY2xhc3MuaGlkZGVuXT1cImF1dGhNZXRob2QgIT09ICdieV9waG9uZSdcIj48L3NjLXNpZ24taW4tZm9ybS1ieS1waG9uZT5cblxuPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTQgaXRlbXMtY2VudGVyXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJmb250LW1lZGl1bSB0ZXh0LXR1aS10ZXh0LTAyXCI+0JXRidC1INC90LUg0LfQsNGA0LXQs9C40YHRgtGA0LjRgNC+0LLQsNC90Ys/PC9zcGFuPlxuICAgIDxidXR0b24gdHVpQnV0dG9uIHR1aU1vZGU9XCJvbkxpZ2h0XCIgKGNsaWNrKT1cInNpZ25VcC5lbWl0KClcIiB0eXBlPVwiYnV0dG9uXCIgaWNvbj1cInNjSWNvbkFkZFByb2ZpbGVcIiBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCI+0JfQsNGA0LXQs9C40YHRgtGA0LjRgNC+0LLQsNGC0YzRgdGPPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc2lnbi1pbi1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9hdXRoL3NjLXNpZ24taW4tZm9ybS9zYy1zaWduLWluLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2F1dGgvc2Mtc2lnbi1pbi1mb3JtL3NjLXNpZ24taW4tZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBaUIsc0JBQXNCLEVBQXdCLE1BQU0sd0JBQXdCLENBQUM7QUFDckcsT0FBTyxFQUFFLE1BQU0sRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUUxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFFbEQ7O0dBRUc7QUFNSCxNQUFNLE9BQU8scUJBQXFCO0lBMEI5Qjs7Ozs7T0FLRztJQUNILFlBQ3FCLFdBQTBCLEVBQzFCLGtCQUF3QztRQUR4QyxnQkFBVyxHQUFYLFdBQVcsQ0FBZTtRQUMxQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXNCO1FBakM3RDs7V0FFRztRQUNhLGVBQVUsR0FBZSxVQUFVLENBQUMsT0FBTyxDQUFDO1FBRTVEOztXQUVHO1FBQ0ksV0FBTSxHQUFzQixVQUFVLENBQUM7UUFFOUM7O1dBRUc7UUFDdUIsbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV4Rjs7V0FFRztRQUN1QixXQUFNLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFaEY7O1dBRUc7UUFDdUIsZ0JBQVcsR0FBd0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBVzFILENBQUM7SUFFSixrQkFBa0I7SUFDWCxRQUFRO1FBQ1gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDO1lBQ3pDLE1BQU0sRUFBRSxzQkFBc0IsQ0FBQyxVQUFVO1lBQ3pDLE1BQU0sRUFBRTtnQkFDSixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7YUFDeEI7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFVBQVUsQ0FBQyxVQUFzQjtRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUU3QixJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUM7WUFDekMsTUFBTSxFQUFFLHNCQUFzQixDQUFDLFVBQVU7WUFDekMsTUFBTSxFQUFFO2dCQUNKLElBQUksRUFBRSxVQUFVO2FBQ25CO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ0ksZ0JBQWdCO1FBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7a0hBcEVRLHFCQUFxQjtzR0FBckIscUJBQXFCLDBMQ2RsQyx1a0RBMENBOzJGRDVCYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0ksaUJBQWlCLG1CQUVWLHVCQUF1QixDQUFDLE1BQU07dUlBTS9CLFVBQVU7c0JBQXpCLEtBQUs7Z0JBVW9CLGNBQWM7c0JBQXZDLE1BQU07Z0JBS21CLE1BQU07c0JBQS9CLE1BQU07Z0JBS21CLFdBQVc7c0JBQXBDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2NBdXRoU2VydmljZSwgU2NVc2VyTWV0cmlrYUdvYWxzRW51bSwgU2NVc2VyTWV0cmlrYVNlcnZpY2UgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IGZpbHRlciwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBdXRoTWV0aG9kIH0gZnJvbSAnLi4vZW51bXMvYXV0aC1tZXRob2QnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1zaWduLWluLWZvcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1zaWduLWluLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY1NpZ25JbkZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKlxuICAgICAqINCS0YvQsdGA0LDQvdC90YvQuSDRgdC/0L7RgdC+0LEg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgYXV0aE1ldGhvZDogQXV0aE1ldGhvZCA9IEF1dGhNZXRob2QuYnlFbWFpbDtcblxuICAgIC8qKlxuICAgICAqINCf0LXRgNC10YfQuNGB0LvQtdC90LjQtSDRgdC/0L7RgdC+0LHQvtCyINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIG1ldGhvZDogdHlwZW9mIEF1dGhNZXRob2QgPSBBdXRoTWV0aG9kO1xuXG4gICAgLyoqXG4gICAgICog0KHQuNCz0L3QsNC7INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDIFwi0JfQsNCx0YvQu9C4INC/0LDRgNC+0LvRjFwiLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgZm9yZ290UGFzc3dvcmQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0LjQs9C90LDQuyDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyBcItCX0LDRgNC10LPQuNGB0YLRgNC40YDQvtCy0LDRgtGM0YHRj1wiLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgc2lnblVwOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC40LPQvdCw0Lsg0YHQvtCx0YvRgtC40Y8g0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IHN1Y2Nlc3NBdXRoOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5hdXRoU2VydmljZS5nZXRBdXRoQ2hhbmdlKCkucGlwZShmaWx0ZXIoKHN0YXRlKSA9PiBzdGF0ZSkpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY1NpZ25JbkZvcm1Db21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGF1dGhTZXJ2aWNlINCh0LXRgNCy0LjRgSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqIEBwYXJhbSB1c2VyTWV0cmlrYVNlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LvRjyDRgdCx0L7RgNCwINC80LXRgtGA0LjQuiDQviDQtNC10LnRgdGC0LLQuNGP0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LkuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBTY0F1dGhTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJNZXRyaWthU2VydmljZTogU2NVc2VyTWV0cmlrYVNlcnZpY2VcbiAgICApIHt9XG5cbiAgICAvKiogQGluaGVyaXREb2MgKi9cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5zaWduSW5TaG93LFxuICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogdGhpcy5hdXRoTWV0aG9kLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7RgdGD0YnQtdGB0YLQstC70Y/QtdGCINC/0LXRgNC10LrQu9GO0YfQtdC90LjQtSDRgdC/0L7RgdC+0LHQvtCyINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40LguXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXV0aE1ldGhvZCDQktGL0LHRgNCw0L3QvdGL0Lkg0YHQv9C+0YHQvtCxINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIHN3aXRjaEF1dGgoYXV0aE1ldGhvZDogQXV0aE1ldGhvZCk6IHZvaWQge1xuICAgICAgICB0aGlzLmF1dGhNZXRob2QgPSBhdXRoTWV0aG9kO1xuXG4gICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5zaWduSW5TaG93LFxuICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogYXV0aE1ldGhvZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0LHRgNCw0LHQsNGC0YvQstCw0LXRgiDQvdCw0LbQsNGC0LjQtSDQvdCwINC60L3QvtC/0LrRgyBcItCX0LDQsdGL0LvQuCDQv9Cw0YDQvtC70YxcIiDQuCDQstGL0LTQsNC10YIg0YHQuNCz0L3QsNC7INC+0LEg0Y3RgtC+0LwuXG4gICAgICovXG4gICAgcHVibGljIG9uRm9yZ290UGFzc3dvcmQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9yZ290UGFzc3dvcmQuZW1pdCgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtYi00IGZsZXgganVzdGlmeS1jZW50ZXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgIHR1aUJ1dHRvblxuICAgICAgICBbdHVpTW9kZV09XCJhdXRoTWV0aG9kID09PSAnYnlfcGhvbmUnID8gbnVsbCA6ICdvbkxpZ2h0J1wiXG4gICAgICAgIFthcHBlYXJhbmNlXT1cImF1dGhNZXRob2QgPT09ICdieV9waG9uZScgPyAncHJpbWFyeScgOiAnc2Vjb25kYXJ5J1wiXG4gICAgICAgIChjbGljayk9XCJzd2l0Y2hBdXRoKG1ldGhvZC5ieVBob25lKVwiXG4gICAgICAgIGNsYXNzPVwidHVpLXNwYWNlX3JpZ2h0LTMgdHVpLXNwYWNlX2JvdHRvbS0zICFmb250LWJvbGRcIlxuICAgID5cbiAgICAgICAg0J/QviDRgtC10LvQtdGE0L7QvdGDXG4gICAgPC9idXR0b24+XG5cbiAgICA8YnV0dG9uXG4gICAgICAgIHR1aUJ1dHRvblxuICAgICAgICBbdHVpTW9kZV09XCJhdXRoTWV0aG9kID09PSAnYnlfZW1haWwnID8gbnVsbCA6ICdvbkxpZ2h0J1wiXG4gICAgICAgIFthcHBlYXJhbmNlXT1cImF1dGhNZXRob2QgPT09ICdieV9lbWFpbCcgPyAncHJpbWFyeScgOiAnc2Vjb25kYXJ5J1wiXG4gICAgICAgIChjbGljayk9XCJzd2l0Y2hBdXRoKG1ldGhvZC5ieUVtYWlsKVwiXG4gICAgICAgIGNsYXNzPVwidHVpLXNwYWNlX2xlZnQtMyB0dWktc3BhY2VfYm90dG9tLTMgIWZvbnQtYm9sZFwiXG4gICAgPlxuICAgICAgICDQn9C+IGUtbWFpbFxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjxzYy1zaWduLWluLWZvcm0tYnktZW1haWxcbiAgICAqbmdJZj1cImF1dGhNZXRob2QgPT09ICdieV9lbWFpbCdcIlxuICAgIChmb3Jnb3RQYXNzd29yZCk9XCJvbkZvcmdvdFBhc3N3b3JkKClcIlxuPjwvc2Mtc2lnbi1pbi1mb3JtLWJ5LWVtYWlsPlxuXG48c2Mtc2lnbi1pbi1mb3JtLWJ5LXBob25lIFtjbGFzcy5oaWRkZW5dPVwiYXV0aE1ldGhvZCAhPT0gJ2J5X3Bob25lJ1wiPjwvc2Mtc2lnbi1pbi1mb3JtLWJ5LXBob25lPlxuXG48ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgZ2FwLTRcIj5cbiAgICA8c3BhbiBjbGFzcz1cImZvbnQtbWVkaXVtIHRleHQtdHVpLXRleHQtMDJcIj7QldGJ0LUg0L3QtSDQt9Cw0YDQtdCz0LjRgdGC0YDQuNGA0L7QstCw0L3Riz88L3NwYW4+XG4gICAgPGJ1dHRvblxuICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgdHVpTW9kZT1cIm9uTGlnaHRcIlxuICAgICAgICAoY2xpY2spPVwic2lnblVwLmVtaXQoKVwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBpY29uPVwic2NJY29uQWRkUHJvZmlsZVwiXG4gICAgICAgIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIlxuICAgID5cbiAgICAgICAg0JfQsNGA0LXQs9C40YHRgtGA0LjRgNC+0LLQsNGC0YzRgdGPXG4gICAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -168,7 +168,9 @@ let ScBannerComponent = class ScBannerComponent {
168
168
  onClick(banner) {
169
169
  this.userMetrikaService.emitUserMetrikaEvent({
170
170
  target: ScUserMetrikaGoalsEnum.bannerClick,
171
- params: { banner_id: banner.id },
171
+ params: {
172
+ banner_id: banner.id,
173
+ },
172
174
  });
173
175
  if (banner.url) {
174
176
  this.clickBannerEvent.emit(banner);
@@ -229,4 +231,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
229
231
  type: HostListener,
230
232
  args: ['mouseleave']
231
233
  }] } });
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9iYW5uZXIvc2MtYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9iYW5uZXIvc2MtYmFubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUdOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JFLE9BQU8sRUFBNkIsc0JBQXNCLEVBQXdCLE1BQU0sd0JBQXdCLENBQUM7QUFDakgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBYyxXQUFXLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFJMUc7O0dBRUc7QUFVSSxJQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUFpQjtJQTZJMUI7Ozs7Ozs7OztPQVNHO0lBQ0gsWUFDcUIsR0FBc0IsRUFDdEIsYUFBOEIsRUFDTyxRQUFxQyxFQUN0RCxPQUE0QixFQUN6RCxXQUEwQixFQUNqQixrQkFBd0M7UUFMeEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWlCO1FBQ08sYUFBUSxHQUFSLFFBQVEsQ0FBNkI7UUFDdEQsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFDekQsZ0JBQVcsR0FBWCxXQUFXLENBQWU7UUFDakIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFzQjtRQTVKN0Q7O1dBRUc7UUFFSSxtQkFBYyxHQUFZLElBQUksQ0FBQztRQUV0Qzs7V0FFRztRQUVJLG1CQUFjLEdBQVcsSUFBSSxDQUFDO1FBRXJDOztXQUVHO1FBRUksYUFBUSxHQUFZLEtBQUssQ0FBQztRQVFqQzs7V0FFRztRQUVJLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFFakM7O1dBRUc7UUFFSSxxQkFBZ0IsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUUzRTs7V0FFRztRQUVJLHFCQUFnQixHQUEyQixJQUFJLFlBQVksRUFBWSxDQUFDO1FBYy9FOztXQUVHO1FBQ0ksb0JBQWUsR0FBVyxDQUFDLENBQUM7UUFFbkM7O1dBRUc7UUFDYSxpQkFBWSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBRXhFOztXQUVHO1FBQ0ksZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFFcEM7O1dBRUc7UUFDYSxhQUFRLEdBQTJCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDL0UsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUMvRixHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNaLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3BCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtvQkFDaEIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7aUJBQ3ZCO3FCQUFNO29CQUNILElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztvQkFDbEUsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO2lCQUNuRTtnQkFFRCxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssTUFBTSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2hFLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO2dCQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNoQztZQUVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDakIsQ0FBQztRQUVGOztXQUVHO1FBQ0ksWUFBTyxHQUFnQixFQUFFLENBQUM7UUFVakM7O1dBRUc7UUFFSSxXQUFNLEdBQVcsTUFBTSxDQUFDO1FBRS9COztXQUVHO1FBRUksVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUUxQjs7V0FFRztRQUVJLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBRWhDOztXQUVHO1FBRUssc0JBQWlCLEdBQWUsR0FBRyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQztRQUVGOztXQUVHO1FBRUssc0JBQWlCLEdBQWUsR0FBRyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQztJQW1CQyxDQUFDO0lBM0RKOztPQUVHO0lBQ0gsSUFDWSxRQUFRO1FBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBdURELGtCQUFrQjtJQUNYLGVBQWU7UUFDbEIsSUFBSSxDQUFDLFlBQVk7YUFDWixJQUFJLENBQ0QsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFDMUIsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUNqRixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxTQUFTLEtBQUssT0FBTyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUNqSCxjQUFjLENBQUMsSUFBSSxDQUFDLENBQ3ZCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztRQUVQLDhEQUE4RDtRQUM5RCxtSEFBbUg7UUFDbkgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3pILElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxnQkFBZ0I7UUFDbkIsTUFBTSxRQUFRLEdBQVcsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBRTlHLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksWUFBWTtRQUNmLE1BQU0sSUFBSSxHQUFXLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRXBHLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksWUFBWTtRQUNmLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE9BQU8sQ0FBQyxNQUFnQjtRQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUM7WUFDekMsTUFBTSxFQUFFLHNCQUFzQixDQUFDLFdBQVc7WUFDMUMsTUFBTSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUU7U0FDbkMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN0QztJQUNMLENBQUM7OzhHQS9OUSxpQkFBaUIsa0ZBMEpkLDJCQUEyQixhQUMzQixVQUFVO2tHQTNKYixpQkFBaUIsd2hCQUpmLENBQUMsMkJBQTJCLENBQUMseU1DakM1QyxvL0ZBdURBLGk5Q0RyQmdCLENBQUMsU0FBUyxDQUFDO0FBR2QsaUJBQWlCO0lBRDdCLFlBQVksQ0FBQyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQztHQUMzQixpQkFBaUIsQ0FnTzdCO1NBaE9ZLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQVQ3QixTQUFTOytCQUNJLFdBQVcsbUJBR0osdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLDJCQUEyQixDQUFDLGNBQzVCLENBQUMsU0FBUyxDQUFDOzswQkE2SmxCLE1BQU07MkJBQUMsMkJBQTJCOzswQkFDbEMsTUFBTTsyQkFBQyxVQUFVOzJHQXRKZixjQUFjO3NCQURwQixLQUFLO2dCQU9DLGNBQWM7c0JBRHBCLEtBQUs7Z0JBT0MsUUFBUTtzQkFEZCxLQUFLO2dCQU9DLGNBQWM7c0JBRHBCLEtBQUs7Z0JBT0MsU0FBUztzQkFEZixLQUFLO2dCQU9DLGdCQUFnQjtzQkFEdEIsTUFBTTtnQkFPQSxnQkFBZ0I7c0JBRHRCLE1BQU07Z0JBT0EsY0FBYztzQkFEcEIsZUFBZTt1QkFBQyxRQUFRO2dCQU9qQixRQUFRO3NCQURmLFNBQVM7dUJBQUMsYUFBYTtnQkFtRFosUUFBUTtzQkFEbkIsV0FBVzt1QkFBQyxlQUFlO2dCQVNyQixNQUFNO3NCQURaLFdBQVc7dUJBQUMsY0FBYztnQkFPcEIsS0FBSztzQkFEWCxXQUFXO3VCQUFDLGFBQWE7Z0JBT25CLFdBQVc7c0JBRGpCLFdBQVc7dUJBQUMsb0JBQW9CO2dCQU96QixpQkFBaUI7c0JBRHhCLFlBQVk7dUJBQUMsWUFBWTtnQkFTbEIsaUJBQWlCO3NCQUR4QixZQUFZO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEludGVyc2VjdGlvbk9ic2VydmVyU2VydmljZSB9IGZyb20gJ0BuZy13ZWItYXBpcy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXInO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBTY0Jhbm5lciwgU2NCYW5uZXJTZXJ2aWNlLCBTY1VzZXJNZXRyaWthR29hbHNFbnVtLCBTY1VzZXJNZXRyaWthU2VydmljZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgdHVpRmFkZUluIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyLCBpbnRlcnZhbCwgbWFwLCBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY1B4Q29udmVydGVyIH0gZnJvbSAnLi4vaGVscGVycyc7XG5cbi8qKlxuICog0JHQsNC90L3QtdGAINGBINC/0YDQvtC60YDRg9GC0LrQvtC5INC/0LXRgNC10LTQsNC90L3Ri9GFIHtAbGluayBUZW1wbGF0ZVJlZn0g0Y3Qu9C10LzQtdC90YLQvtCyLCDQuCDQsdCw0L3QvdC10YDQvtCyINC70L7QutCw0YbQuNC4LlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLWJhbm5lcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLWJhbm5lci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2MtYmFubmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbSW50ZXJzZWN0aW9uT2JzZXJ2ZXJTZXJ2aWNlXSxcbiAgICBhbmltYXRpb25zOiBbdHVpRmFkZUluXSxcbn0pXG5AVW50aWxEZXN0cm95KHsgY2hlY2tQcm9wZXJ0aWVzOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgU2NCYW5uZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INC90LXQvtCx0YXQvtC00LjQvNC+INC/0L7QutCw0LfRi9Cy0LDRgtGMINC60L3QvtC/0LrQuCDQvdCw0LLQuNCz0LDRhtC40LguXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbmF2aWdhdGVCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdGC0LXRgNCy0LDQuyDQv9C+0LrQsNC30LAg0YHQu9Cw0LnQtNC+0LIg0LIg0LzQuNC70LvQuNGB0LXQutGD0L3QtNCw0YUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGxheWVySW50ZXJ2YWw6IG51bWJlciA9IDUwMDA7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INC/0YDQvtC60YDRg9GC0LrQsCDQstGL0LrQu9GO0YfQtdC90LAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqINCc0LXRgdGC0L7Qv9C+0LvQvtC20LXQvdC40LUg0LHQsNC90L3QtdGA0LAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYmFubmVyTG9jYXRpb24/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INC60L7QvNC/0L7QvdC10L3RgiDQtNC+0LvQttC10L0g0YDQsNGB0YLRj9Cz0LjQstCw0YLRjNGB0Y8uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmVzaXphYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC30LDQs9GA0YPQt9C60Lgg0LHQsNC90L3QtdGA0L7QsiDRgSDQutC+0LvQuNGH0LXRgdGC0LLQvtC8INC/0L7Qu9GD0YfQtdC90L3Ri9GFINCx0LDQvdC90LXRgNC+0LIuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGxvYWRCYW5uZXJzRXZlbnQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC40LfQvtCx0YDQsNC20LXQvdC40LUg0LHQsNC90L3QtdGA0LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsaWNrQmFubmVyRXZlbnQ6IEV2ZW50RW1pdHRlcjxTY0Jhbm5lcj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjQmFubmVyPigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INGB0YHRi9C70L7QuiDQvdCwINGN0LvQtdC80LXQvdGCINC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNC5INGI0LDQsdC70L7QvdC+0LIuXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZHJlbignYmFubmVyJylcbiAgICBwdWJsaWMgYmFubmVyc0xpc3RSZWY6IFF1ZXJ5TGlzdDxUZW1wbGF0ZVJlZjxhbnk+PjtcblxuICAgIC8qKlxuICAgICAqINCh0YHRi9C70LrQsCDQvdCwIHtAbGluayBIVE1MVmlkZW9FbGVtZW50fSDRjdC70LXQvNC10L3RgtCwINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0LLQuNC00LXQvi5cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCd2aWRlb1BsYXllcicpXG4gICAgcHJpdmF0ZSB2aWRlb1JlZjogRWxlbWVudFJlZjxIVE1MVmlkZW9FbGVtZW50PjtcblxuICAgIC8qKlxuICAgICAqINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGC0LXQutGD0YnQtdCz0L4g0LHQsNC90L3QtdGA0LAuXG4gICAgICovXG4gICAgcHVibGljIGN1cnJlbnRCYW5uZXJJZDogbnVtYmVyID0gMDtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBTdWJqZWN0fSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGB0YLQvtGP0L3QuNGPINGC0LDQudC80LXRgNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSB0b2dnbGVUaW1lciQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQvdC10L7QsdGF0L7QtNC40LzQviDQv9C+0LrQsNC30YvQstCw0YLRjCDQutC90L7Qv9C60Lgg0YHRgtCw0YDRgtCwINCy0LjQtNC10L4g0LHQsNC90L3QtdGA0LAuXG4gICAgICovXG4gICAgcHVibGljIHNob3dQbGF5QnRuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0L7QsdC90L7QstC70LXQvdC40Y8g0YHQv9C40YHQutCwINCx0LDQvdC90LXRgNC+0LIuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGJhbm5lcnMkOiBPYnNlcnZhYmxlPFNjQmFubmVyW10+ID0gdGhpcy5iYW5uZXJTZXJ2aWNlLmJhbm5lcnMkLnBpcGUoXG4gICAgICAgIG1hcCgoYmFubmVycykgPT4gYmFubmVycy5maWx0ZXIoKGJhbm5lcikgPT4gYmFubmVyLmxvY2F0aW9uID09PSB0aGlzLmJhbm5lckxvY2F0aW9uKS5yZXZlcnNlKCkpLFxuICAgICAgICB0YXAoKGJhbm5lcnMpID0+IHtcbiAgICAgICAgICAgIGlmIChiYW5uZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5yZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53aWR0aCA9ICcxMDAlJztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhlaWdodCA9IGAke3RoaXMucHhDb252ZXJ0ZXIucHhUb1JlbShiYW5uZXJzWzBdLmhlaWdodCl9cmVtYDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53aWR0aCA9IGAke3RoaXMucHhDb252ZXJ0ZXIucHhUb1JlbShiYW5uZXJzWzBdLndpZHRoKX1yZW1gO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuYXNwZWN0UmF0aW8gPSBgJHtiYW5uZXJzWzBdLndpZHRofSAvICR7YmFubmVyc1swXS5oZWlnaHR9YDtcbiAgICAgICAgICAgICAgICB0aGlzLmJhbm5lcnMgPSBiYW5uZXJzO1xuICAgICAgICAgICAgICAgIHRoaXMudG9nZ2xlVGltZXIkLm5leHQodHJ1ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMubG9hZEJhbm5lcnNFdmVudC5lbWl0KGJhbm5lcnMubGVuZ3RoKTtcbiAgICAgICAgfSksXG4gICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDQsdCw0L3QvdC10YDQvtCyLlxuICAgICAqL1xuICAgIHB1YmxpYyBiYW5uZXJzPzogU2NCYW5uZXJbXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICog0KHQstC+0LnRgdGC0LLQviwg0L7RgiDQutC+0YLQvtGA0L7Qs9C+INC30LDQstC40YHQuNGCINC90LDQu9C40YfQuNC1INC60LvQsNGB0YHQsCBgIWhpZGRlbmAg0YMgYDpob3N0YCDQutC+0LzQv9C+0L3QtdC90YLQsC5cbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLiFoaWRkZW4nKVxuICAgIHByaXZhdGUgZ2V0IGlzSGlkZGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuYmFubmVycyB8fCB0aGlzLmJhbm5lcnNMaXN0UmVmLmxlbmd0aCArIHRoaXMuYmFubmVycy5sZW5ndGggPT09IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQstC+0LnRgdGC0LLQviwg0L7RgiDQutC+0YLQvtGA0L7Qs9C+INC30LDQstC40YHQuNGCINCy0YvRgdC+0YLQsCBgOmhvc3RgINC60L7QvNC/0L7QvdC10L3RgtCwLlxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0JylcbiAgICBwdWJsaWMgaGVpZ2h0OiBzdHJpbmcgPSAnYXV0byc7XG5cbiAgICAvKipcbiAgICAgKiDQodCy0L7QudGB0YLQstC+LCDQvtGCINC60L7RgtC+0YDQvtCz0L4g0LfQsNCy0LjRgdC40YIg0YjQuNGA0LjQvdCwIGA6aG9zdGAg0LrQvtC80L/QvtC90LXQvdGC0LAuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpXG4gICAgcHVibGljIHdpZHRoOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqINCh0LLQvtC50YHRgtCy0L4sINC+0YIg0LrQvtGC0L7RgNC+0LPQviDQt9Cw0LLQuNGB0LjRgiDRgdC+0L7RgtC90L7RiNC10L3QuNC1IGA6aG9zdGAg0LrQvtC80L/QvtC90LXQvdGC0LAuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5hc3BlY3QtcmF0aW8nKVxuICAgIHB1YmxpYyBhc3BlY3RSYXRpbzogc3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YDQsNCx0L7RgtGH0LjQuiDRgdC+0LHRi9GC0LjRjyBtb3VzZWVudGVyLlxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKVxuICAgIHByaXZhdGUgbW91c2VFbnRlckhhbmRsZXI6ICgpID0+IHZvaWQgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMudG9nZ2xlVGltZXIkLm5leHQoZmFsc2UpO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YDQsNCx0L7RgtGH0LjQuiDRgdC+0LHRi9GC0LjRjyBtb3VzZWxlYXZlLlxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxuICAgIHByaXZhdGUgbW91c2VMZWF2ZUhhbmRsZXI6ICgpID0+IHZvaWQgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMudG9nZ2xlVGltZXIkLm5leHQodHJ1ZSk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NCYW5uZXJDb21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGNkciDQntCx0YrQtdC60YIg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQvtCx0L3QsNGA0YPQttC10L3QuNC10Lwg0LjQt9C80LXQvdC10L3QuNC5LlxuICAgICAqIEBwYXJhbSBiYW5uZXJTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINCx0LDQvdC90LXRgNCw0LzQuC5cbiAgICAgKiBAcGFyYW0gZW50cmllcyRcbiAgICAgKiBAcGFyYW0gZWxlbWVudCDQrdC70LXQvNC10L3RgiDQsdCw0L3QvdC10YDQsC5cbiAgICAgKiBAcGFyYW0gcHhDb252ZXJ0ZXIg0K3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsC3Qv9C+0LzQvtGJ0L3QuNC60LAg0LTQu9GPINC60L7QvdCy0LXRgNGC0LDRhtC40Lgg0L/QuNC60YHQtdC70LXQuS5cbiAgICAgKiBAcGFyYW0gdXNlck1ldHJpa2FTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNC70Y8g0YHQsdC+0YDQsCDQvNC10YLRgNC40Log0L4g0LTQtdC50YHRgtCy0LjRj9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGJhbm5lclNlcnZpY2U6IFNjQmFubmVyU2VydmljZSxcbiAgICAgICAgQEluamVjdChJbnRlcnNlY3Rpb25PYnNlcnZlclNlcnZpY2UpIHByaXZhdGUgcmVhZG9ubHkgZW50cmllcyQ6IEludGVyc2VjdGlvbk9ic2VydmVyU2VydmljZSxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQ6IEVsZW1lbnRSZWY8RWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgcHhDb252ZXJ0ZXI6IFNjUHhDb252ZXJ0ZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlck1ldHJpa2FTZXJ2aWNlOiBTY1VzZXJNZXRyaWthU2VydmljZVxuICAgICkge31cblxuICAgIC8qKiBAaW5oZXJpdERvYyAqL1xuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudG9nZ2xlVGltZXIkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKHRvZ2dsZSkgPT4gdG9nZ2xlKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gaW50ZXJ2YWwodGhpcy5wbGF5ZXJJbnRlcnZhbCkucGlwZSh0YWtlVW50aWwodGhpcy50b2dnbGVUaW1lciQpKSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+ICF0aGlzLmRpc2FibGVkICYmICh0aGlzLmJhbm5lcnM/Llt0aGlzLmN1cnJlbnRCYW5uZXJJZF0/Lm1lZGlhVHlwZSA9PT0gJ2ltYWdlJyB8fCB0aGlzLnNob3dQbGF5QnRuKSksXG4gICAgICAgICAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25OZXh0QmFubmVyKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAvLyDQntGC0YHQu9C10LbQuNCy0LDQvdC40LUg0L/QtdGA0LXRgdC10YfQtdC90LjRjyDQutC+0LzQv9C+0L3QtdC90YLQsCDRgSDRjdC60YDQsNC90L7QvCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICAgIC8vINCV0YHQu9C4INCx0LDQvdC90LXRgNCwINC90LUg0L3QsNGF0L7QtNC40YLRgdGPINCyINC/0L7Qu9C1INCy0LjQtNC40LzQvtGB0YLQuCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8sINGC0L4g0L7QvSDQv9C10YDQtdGB0YLQsNGR0YIg0L/QtdGA0LXQutC70Y7Rh9Cw0YLRjNGB0Y8sINCwINCy0LjQtNC10L4g0L7RgdGC0LDQvdCw0LLQu9C40LLQsNC10YLRgdGPLlxuICAgICAgICB0aGlzLmVudHJpZXMkLnBpcGUobWFwKChlbnRyaWVzKSA9PiBlbnRyaWVzLmZpbmQoKGl0ZW0pID0+IGl0ZW0udGFyZ2V0ID09PSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCkpKS5zdWJzY3JpYmUoKGVudHJ5KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZVRpbWVyJC5uZXh0KCEhZW50cnk/LmlzSW50ZXJzZWN0aW5nKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J/QtdGA0LXQutC70Y7Rh9Cw0LXRgiDQvdCwINC/0YDQtdC00YvQtNGD0YnQuNC5INCx0LDQvdC90LXRgC5cbiAgICAgKi9cbiAgICBwdWJsaWMgb25QcmV2aW91c0Jhbm5lcigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJldmlvdXM6IG51bWJlciA9IHRoaXMuY3VycmVudEJhbm5lcklkIC0gMTtcbiAgICAgICAgdGhpcy5jdXJyZW50QmFubmVySWQgPSBwcmV2aW91cyA8IDAgPyB0aGlzLmJhbm5lcnNMaXN0UmVmLmxlbmd0aCArICh0aGlzLmJhbm5lcnM/Lmxlbmd0aCA/PyAwKSAtIDEgOiBwcmV2aW91cztcblxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQn9C10YDQtdC60LvRjtGH0LDQtdGCINC90LAg0YHQu9C10LTRg9GO0YnQuNC5INCx0LDQvdC90LXRgC5cbiAgICAgKi9cbiAgICBwdWJsaWMgb25OZXh0QmFubmVyKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXh0OiBudW1iZXIgPSB0aGlzLmN1cnJlbnRCYW5uZXJJZCArIDE7XG4gICAgICAgIHRoaXMuY3VycmVudEJhbm5lcklkID0gbmV4dCA9PT0gdGhpcy5iYW5uZXJzTGlzdFJlZi5sZW5ndGggKyAodGhpcy5iYW5uZXJzPy5sZW5ndGggPz8gMCkgPyAwIDogbmV4dDtcblxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQn9C10YDQtdC60LvRjtGH0LDQtdGCINC90LAg0YHQu9C10LTRg9GO0YnQuNC5INCx0LDQvdC90LXRgC5cbiAgICAgKi9cbiAgICBwdWJsaWMgb25FbmRlZFZpZGVvKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uTmV4dEJhbm5lcigpO1xuICAgICAgICB0aGlzLnRvZ2dsZVRpbWVyJC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLnNob3dQbGF5QnRuID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YDQsNCx0L7RgtGH0LjQuiDQvdCw0LbQsNGC0LjRjyDQvdCwINCx0LDQvdC90LXRgCwg0LPQtdC90LXRgNC40YDRg9GO0YnQuNC5INGB0L7QsdGL0YLQuNC1IHtAbGluayBjbGlja0Jhbm5lckltZ0V2ZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBiYW5uZXIg0JHQsNC90L3QtdGALCDQv9C+INGB0YHRi9C70LrQtSDQutC+0YLQvtGA0L7Qs9C+INGB0L7QstC10YDRiNGR0L0g0L/QtdGA0LXRhdC+0LQuXG4gICAgICovXG4gICAgcHVibGljIG9uQ2xpY2soYmFubmVyOiBTY0Jhbm5lcik6IHZvaWQge1xuICAgICAgICB0aGlzLnVzZXJNZXRyaWthU2VydmljZS5lbWl0VXNlck1ldHJpa2FFdmVudCh7XG4gICAgICAgICAgICB0YXJnZXQ6IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0uYmFubmVyQ2xpY2ssXG4gICAgICAgICAgICBwYXJhbXM6IHsgYmFubmVyX2lkOiBiYW5uZXIuaWQgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGJhbm5lci51cmwpIHtcbiAgICAgICAgICAgIHRoaXMuY2xpY2tCYW5uZXJFdmVudC5lbWl0KGJhbm5lcik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICp0dWlMZXQ9XCJiYW5uZXJzJCB8IGFzeW5jXCI+XG4gICAgPHR1aS1jYXJvdXNlbCBjbGFzcz1cImJnLXdoaXRlIHctZnVsbCBoLWZ1bGwgc2hhZG93LXNjLTIgcm91bmRlZC14bCBvdmVyZmxvdy1oaWRkZW5cIiBbKGluZGV4KV09XCJjdXJyZW50QmFubmVySWRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYmFubmVyIG9mIGJhbm5lcnM7IGxldCBpbmRleCA9IGluZGV4XCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICp0dWlJdGVtXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soYmFubmVyKVwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmFzcGVjdC1yYXRpb109XCJhc3BlY3RSYXRpb1wiXG4gICAgICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJiYW5uZXIudXJsID8gYmFubmVyLnVybCA6IG51bGxcIlxuICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cImJhbm5lci50aXRsZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJyZWxhdGl2ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiYmFubmVyLm1lZGlhVHlwZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndmlkZW8nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dmlkZW9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjdmlkZW9QbGF5ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3VzcGVuZCk9XCJzaG93UGxheUJ0biA9IHRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwbGF5KT1cInNob3dQbGF5QnRuID0gZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiYmFubmVyLm1lZGlhRmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVuZGVkKT1cIm9uRW5kZWRWaWRlbygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW91c2VvdmVyKT1cInZpZGVvUGxheWVyLnBhdXNlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZW91dCk9XCJ2aWRlb1BsYXllci5wbGF5KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwib2JqZWN0LWNvdmVyIGgtZnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXV0ZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvcGxheVxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvdmlkZW8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93UGxheUJ0blwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtAdHVpRmFkZUluXT1cIjIwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0UmlwcGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyB2aWRlb1BsYXllci5wbGF5KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIiFhYnNvbHV0ZSBsZWZ0LTggYm90dG9tLTRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbi1yZWZyZXNoIHRleHQtYmxhY2tcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdTd2l0Y2hDYXNlPVwiJ2ltYWdlJ1wiIFtzcmNdPVwiYmFubmVyLm1lZGlhRmlsZVwiIGFsdD1cItCR0LDQvdC90LXRgFwiIGNsYXNzPVwib2JqZWN0LWNvdmVyIGgtZnVsbFwiIC8+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGJhbm5lcnNMaXN0UmVmXCI+XG4gICAgICAgICAgICA8ZGl2ICp0dWlJdGVtIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0XCIgW3N0eWxlLndpZHRoXT1cIndpZHRoXCIgW3N0eWxlLmFzcGVjdC1yYXRpb109XCJhc3BlY3RSYXRpb1wiIGNsYXNzPVwib3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90dWktY2Fyb3VzZWw+XG48L25nLWNvbnRhaW5lcj5cbjxkaXYgKm5nSWY9XCJuYXZpZ2F0ZUJ1dHRvbiAmJiAhZGlzYWJsZWQgJiYgdGhpcy5iYW5uZXJzICYmICh0aGlzLmJhbm5lcnNMaXN0UmVmLmxlbmd0aCArIHRoaXMuYmFubmVycy5sZW5ndGgpID4gMVwiIHR1aU1vZGU9XCJvbkxpZ2h0XCIgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgIDxidXR0b24gdHVpSWNvbkJ1dHRvbiBpY29uPVwidHVpSWNvbkNoZXZyb25MZWZ0TGFyZ2VcIiBzaXplPVwibVwiIHNoYXBlPVwicm91bmRlZFwiIGFwcGVhcmFuY2U9XCJmbGF0XCIgKGNsaWNrKT1cIm9uUHJldmlvdXNCYW5uZXIoKVwiIGNsYXNzPVwiIWFic29sdXRlIGxlZnQtMlwiPjwvYnV0dG9uPlxuICAgIDxidXR0b24gdHVpSWNvbkJ1dHRvbiBpY29uPVwidHVpSWNvbkNoZXZyb25SaWdodExhcmdlXCIgc2l6ZT1cIm1cIiBzaGFwZT1cInJvdW5kZWRcIiBhcHBlYXJhbmNlPVwiZmxhdFwiIChjbGljayk9XCJvbk5leHRCYW5uZXIoKVwiIGNsYXNzPVwiIWFic29sdXRlIHJpZ2h0LTJcIj48L2J1dHRvbj5cbjwvZGl2PlxuIl19
234
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9iYW5uZXIvc2MtYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9iYW5uZXIvc2MtYmFubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUdOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JFLE9BQU8sRUFBNkIsc0JBQXNCLEVBQXdCLE1BQU0sd0JBQXdCLENBQUM7QUFDakgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBYyxXQUFXLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFJMUc7O0dBRUc7QUFVSSxJQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUFpQjtJQTZJMUI7Ozs7Ozs7OztPQVNHO0lBQ0gsWUFDcUIsR0FBc0IsRUFDdEIsYUFBOEIsRUFDTyxRQUFxQyxFQUN0RCxPQUE0QixFQUN6RCxXQUEwQixFQUNqQixrQkFBd0M7UUFMeEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWlCO1FBQ08sYUFBUSxHQUFSLFFBQVEsQ0FBNkI7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QUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnRlcnNlY3Rpb25PYnNlcnZlclNlcnZpY2UgfSBmcm9tICdAbmctd2ViLWFwaXMvaW50ZXJzZWN0aW9uLW9ic2VydmVyJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgU2NCYW5uZXIsIFNjQmFubmVyU2VydmljZSwgU2NVc2VyTWV0cmlrYUdvYWxzRW51bSwgU2NVc2VyTWV0cmlrYVNlcnZpY2UgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IHR1aUZhZGVJbiB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IGZpbHRlciwgaW50ZXJ2YWwsIG1hcCwgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXksIFN1YmplY3QsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2NQeENvbnZlcnRlciB9IGZyb20gJy4uL2hlbHBlcnMnO1xuXG4vKipcbiAqINCR0LDQvdC90LXRgCDRgSDQv9GA0L7QutGA0YPRgtC60L7QuSDQv9C10YDQtdC00LDQvdC90YvRhSB7QGxpbmsgVGVtcGxhdGVSZWZ9INGN0LvQtdC80LXQvdGC0L7Qsiwg0Lgg0LHQsNC90L3QtdGA0L7QsiDQu9C+0LrQsNGG0LjQuC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1iYW5uZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1iYW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NjLWJhbm5lci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW0ludGVyc2VjdGlvbk9ic2VydmVyU2VydmljZV0sXG4gICAgYW5pbWF0aW9uczogW3R1aUZhZGVJbl0sXG59KVxuQFVudGlsRGVzdHJveSh7IGNoZWNrUHJvcGVydGllczogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIFNjQmFubmVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQvdC10L7QsdGF0L7QtNC40LzQviDQv9C+0LrQsNC30YvQstCw0YLRjCDQutC90L7Qv9C60Lgg0L3QsNCy0LjQs9Cw0YbQuNC4LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG5hdmlnYXRlQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqINCY0L3RgtC10YDQstCw0Lsg0L/QvtC60LDQt9CwINGB0LvQsNC50LTQvtCyINCyINC80LjQu9C70LjRgdC10LrRg9C90LTQsNGFLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHBsYXllckludGVydmFsOiBudW1iZXIgPSA1MDAwO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQv9GA0L7QutGA0YPRgtC60LAg0LLRi9C60LvRjtGH0LXQvdCwLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDQnNC10YHRgtC+0L/QvtC70L7QttC10L3QuNC1INCx0LDQvdC90LXRgNCwLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGJhbm5lckxvY2F0aW9uPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQutC+0LzQv9C+0L3QtdC90YIg0LTQvtC70LbQtdC9INGA0LDRgdGC0Y/Qs9C40LLQsNGC0YzRgdGPLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJlc2l6YWJsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQt9Cw0LPRgNGD0LfQutC4INCx0LDQvdC90LXRgNC+0LIg0YEg0LrQvtC70LjRh9C10YHRgtCy0L7QvCDQv9C+0LvRg9GH0LXQvdC90YvRhSDQsdCw0L3QvdC10YDQvtCyLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBsb2FkQmFubmVyc0V2ZW50OiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQuNC30L7QsdGA0LDQttC10L3QuNC1INCx0LDQvdC90LXRgNCwLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjbGlja0Jhbm5lckV2ZW50OiBFdmVudEVtaXR0ZXI8U2NCYW5uZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0Jhbm5lcj4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDRgdGB0YvQu9C+0Log0L3QsCDRjdC70LXQvNC10L3RgiDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjQuSDRiNCw0LHQu9C+0L3QvtCyLlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oJ2Jhbm5lcicpXG4gICAgcHVibGljIGJhbm5lcnNMaXN0UmVmOiBRdWVyeUxpc3Q8VGVtcGxhdGVSZWY8YW55Pj47XG5cbiAgICAvKipcbiAgICAgKiDQodGB0YvQu9C60LAg0L3QsCB7QGxpbmsgSFRNTFZpZGVvRWxlbWVudH0g0Y3Qu9C10LzQtdC90YLQsCDQvtGC0L7QsdGA0LDQttC10L3QuNGPINCy0LjQtNC10L4uXG4gICAgICovXG4gICAgQFZpZXdDaGlsZCgndmlkZW9QbGF5ZXInKVxuICAgIHByaXZhdGUgdmlkZW9SZWY6IEVsZW1lbnRSZWY8SFRNTFZpZGVvRWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgtC10LrRg9GJ0LXQs9C+INCx0LDQvdC90LXRgNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBjdXJyZW50QmFubmVySWQ6IG51bWJlciA9IDA7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgU3ViamVjdH0g0LjQt9C80LXQvdC10L3QuNGPINGB0L7RgdGC0L7Rj9C90LjRjyDRgtCw0LnQvNC10YDQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgdG9nZ2xlVGltZXIkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0L/QvtC60LDQt9GL0LLQsNGC0Ywg0LrQvdC+0L/QutC4INGB0YLQsNGA0YLQsCDQstC40LTQtdC+INCx0LDQvdC90LXRgNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93UGxheUJ0bjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC+0LHQvdC+0LLQu9C10L3QuNGPINGB0L/QuNGB0LrQsCDQsdCw0L3QvdC10YDQvtCyLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBiYW5uZXJzJDogT2JzZXJ2YWJsZTxTY0Jhbm5lcltdPiA9IHRoaXMuYmFubmVyU2VydmljZS5iYW5uZXJzJC5waXBlKFxuICAgICAgICBtYXAoKGJhbm5lcnMpID0+IGJhbm5lcnMuZmlsdGVyKChiYW5uZXIpID0+IGJhbm5lci5sb2NhdGlvbiA9PT0gdGhpcy5iYW5uZXJMb2NhdGlvbikucmV2ZXJzZSgpKSxcbiAgICAgICAgdGFwKChiYW5uZXJzKSA9PiB7XG4gICAgICAgICAgICBpZiAoYmFubmVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMud2lkdGggPSAnMTAwJSc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oZWlnaHQgPSBgJHt0aGlzLnB4Q29udmVydGVyLnB4VG9SZW0oYmFubmVyc1swXS5oZWlnaHQpfXJlbWA7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMud2lkdGggPSBgJHt0aGlzLnB4Q29udmVydGVyLnB4VG9SZW0oYmFubmVyc1swXS53aWR0aCl9cmVtYDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLmFzcGVjdFJhdGlvID0gYCR7YmFubmVyc1swXS53aWR0aH0gLyAke2Jhbm5lcnNbMF0uaGVpZ2h0fWA7XG4gICAgICAgICAgICAgICAgdGhpcy5iYW5uZXJzID0gYmFubmVycztcbiAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZVRpbWVyJC5uZXh0KHRydWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmxvYWRCYW5uZXJzRXZlbnQuZW1pdChiYW5uZXJzLmxlbmd0aCk7XG4gICAgICAgIH0pLFxuICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiDQodC/0LjRgdC+0Log0LHQsNC90L3QtdGA0L7Qsi5cbiAgICAgKi9cbiAgICBwdWJsaWMgYmFubmVycz86IFNjQmFubmVyW10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqINCh0LLQvtC50YHRgtCy0L4sINC+0YIg0LrQvtGC0L7RgNC+0LPQviDQt9Cw0LLQuNGB0LjRgiDQvdCw0LvQuNGH0LjQtSDQutC70LDRgdGB0LAgYCFoaWRkZW5gINGDIGA6aG9zdGAg0LrQvtC80L/QvtC90LXQvdGC0LAuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy4haGlkZGVuJylcbiAgICBwcml2YXRlIGdldCBpc0hpZGRlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmJhbm5lcnMgfHwgdGhpcy5iYW5uZXJzTGlzdFJlZi5sZW5ndGggKyB0aGlzLmJhbm5lcnMubGVuZ3RoID09PSAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0LLQvtC50YHRgtCy0L4sINC+0YIg0LrQvtGC0L7RgNC+0LPQviDQt9Cw0LLQuNGB0LjRgiDQstGL0YHQvtGC0LAgYDpob3N0YCDQutC+0LzQv9C+0L3QtdC90YLQsC5cbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpXG4gICAgcHVibGljIGhlaWdodDogc3RyaW5nID0gJ2F1dG8nO1xuXG4gICAgLyoqXG4gICAgICog0KHQstC+0LnRgdGC0LLQviwg0L7RgiDQutC+0YLQvtGA0L7Qs9C+INC30LDQstC40YHQuNGCINGI0LjRgNC40L3QsCBgOmhvc3RgINC60L7QvNC/0L7QvdC10L3RgtCwLlxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKVxuICAgIHB1YmxpYyB3aWR0aDogc3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiDQodCy0L7QudGB0YLQstC+LCDQvtGCINC60L7RgtC+0YDQvtCz0L4g0LfQsNCy0LjRgdC40YIg0YHQvtC+0YLQvdC+0YjQtdC90LjQtSBgOmhvc3RgINC60L7QvNC/0L7QvdC10L3RgtCwLlxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUuYXNwZWN0LXJhdGlvJylcbiAgICBwdWJsaWMgYXNwZWN0UmF0aW86IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqXG4gICAgICog0J7QsdGA0LDQsdC+0YLRh9C40Log0YHQvtCx0YvRgtC40Y8gbW91c2VlbnRlci5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJylcbiAgICBwcml2YXRlIG1vdXNlRW50ZXJIYW5kbGVyOiAoKSA9PiB2b2lkID0gKCkgPT4ge1xuICAgICAgICB0aGlzLnRvZ2dsZVRpbWVyJC5uZXh0KGZhbHNlKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICog0J7QsdGA0LDQsdC+0YLRh9C40Log0YHQvtCx0YvRgtC40Y8gbW91c2VsZWF2ZS5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcbiAgICBwcml2YXRlIG1vdXNlTGVhdmVIYW5kbGVyOiAoKSA9PiB2b2lkID0gKCkgPT4ge1xuICAgICAgICB0aGlzLnRvZ2dsZVRpbWVyJC5uZXh0KHRydWUpO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjQmFubmVyQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjZHIg0J7QsdGK0LXQutGCINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEg0L7QsdC90LDRgNGD0LbQtdC90LjQtdC8INC40LfQvNC10L3QtdC90LjQuS5cbiAgICAgKiBAcGFyYW0gYmFubmVyU2VydmljZSDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQsdCw0L3QvdC10YDQsNC80LguXG4gICAgICogQHBhcmFtIGVudHJpZXMkXG4gICAgICogQHBhcmFtIGVsZW1lbnQg0K3Qu9C10LzQtdC90YIg0LHQsNC90L3QtdGA0LAuXG4gICAgICogQHBhcmFtIHB4Q29udmVydGVyINCt0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAt0L/QvtC80L7RidC90LjQutCwINC00LvRjyDQutC+0L3QstC10YDRgtCw0YbQuNC4INC/0LjQutGB0LXQu9C10LkuXG4gICAgICogQHBhcmFtIHVzZXJNZXRyaWthU2VydmljZSDQodC10YDQstC40YEg0LTQu9GPINGB0LHQvtGA0LAg0LzQtdGC0YDQuNC6INC+INC00LXQudGB0YLQstC40Y/RhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBiYW5uZXJTZXJ2aWNlOiBTY0Jhbm5lclNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoSW50ZXJzZWN0aW9uT2JzZXJ2ZXJTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IGVudHJpZXMkOiBJbnRlcnNlY3Rpb25PYnNlcnZlclNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBFbGVtZW50UmVmPEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIHB4Q29udmVydGVyOiBTY1B4Q29udmVydGVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJNZXRyaWthU2VydmljZTogU2NVc2VyTWV0cmlrYVNlcnZpY2VcbiAgICApIHt9XG5cbiAgICAvKiogQGluaGVyaXREb2MgKi9cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRvZ2dsZVRpbWVyJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKCh0b2dnbGUpID0+IHRvZ2dsZSksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IGludGVydmFsKHRoaXMucGxheWVySW50ZXJ2YWwpLnBpcGUodGFrZVVudGlsKHRoaXMudG9nZ2xlVGltZXIkKSkpLFxuICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiAhdGhpcy5kaXNhYmxlZCAmJiAodGhpcy5iYW5uZXJzPy5bdGhpcy5jdXJyZW50QmFubmVySWRdPy5tZWRpYVR5cGUgPT09ICdpbWFnZScgfHwgdGhpcy5zaG93UGxheUJ0bikpLFxuICAgICAgICAgICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uTmV4dEJhbm5lcigpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgLy8g0J7RgtGB0LvQtdC20LjQstCw0L3QuNC1INC/0LXRgNC10YHQtdGH0LXQvdC40Y8g0LrQvtC80L/QvtC90LXQvdGC0LAg0YEg0Y3QutGA0LDQvdC+0Lwg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAgICAvLyDQldGB0LvQuCDQsdCw0L3QvdC10YDQsCDQvdC1INC90LDRhdC+0LTQuNGC0YHRjyDQsiDQv9C+0LvQtSDQstC40LTQuNC80L7RgdGC0Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLCDRgtC+INC+0L0g0L/QtdGA0LXRgdGC0LDRkdGCINC/0LXRgNC10LrQu9GO0YfQsNGC0YzRgdGPLCDQsCDQstC40LTQtdC+INC+0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGC0YHRjy5cbiAgICAgICAgdGhpcy5lbnRyaWVzJC5waXBlKG1hcCgoZW50cmllcykgPT4gZW50cmllcy5maW5kKChpdGVtKSA9PiBpdGVtLnRhcmdldCA9PT0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpKSkuc3Vic2NyaWJlKChlbnRyeSkgPT4ge1xuICAgICAgICAgICAgdGhpcy50b2dnbGVUaW1lciQubmV4dCghIWVudHJ5Py5pc0ludGVyc2VjdGluZyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCf0LXRgNC10LrQu9GO0YfQsNC10YIg0L3QsCDQv9GA0LXQtNGL0LTRg9GJ0LjQuSDQsdCw0L3QvdC10YAuXG4gICAgICovXG4gICAgcHVibGljIG9uUHJldmlvdXNCYW5uZXIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzOiBudW1iZXIgPSB0aGlzLmN1cnJlbnRCYW5uZXJJZCAtIDE7XG4gICAgICAgIHRoaXMuY3VycmVudEJhbm5lcklkID0gcHJldmlvdXMgPCAwID8gdGhpcy5iYW5uZXJzTGlzdFJlZi5sZW5ndGggKyAodGhpcy5iYW5uZXJzPy5sZW5ndGggPz8gMCkgLSAxIDogcHJldmlvdXM7XG5cbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J/QtdGA0LXQutC70Y7Rh9Cw0LXRgiDQvdCwINGB0LvQtdC00YPRjtGJ0LjQuSDQsdCw0L3QvdC10YAuXG4gICAgICovXG4gICAgcHVibGljIG9uTmV4dEJhbm5lcigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmV4dDogbnVtYmVyID0gdGhpcy5jdXJyZW50QmFubmVySWQgKyAxO1xuICAgICAgICB0aGlzLmN1cnJlbnRCYW5uZXJJZCA9IG5leHQgPT09IHRoaXMuYmFubmVyc0xpc3RSZWYubGVuZ3RoICsgKHRoaXMuYmFubmVycz8ubGVuZ3RoID8/IDApID8gMCA6IG5leHQ7XG5cbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J/QtdGA0LXQutC70Y7Rh9Cw0LXRgiDQvdCwINGB0LvQtdC00YPRjtGJ0LjQuSDQsdCw0L3QvdC10YAuXG4gICAgICovXG4gICAgcHVibGljIG9uRW5kZWRWaWRlbygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbk5leHRCYW5uZXIoKTtcbiAgICAgICAgdGhpcy50b2dnbGVUaW1lciQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5zaG93UGxheUJ0biA9IHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7QsdGA0LDQsdC+0YLRh9C40Log0L3QsNC20LDRgtC40Y8g0L3QsCDQsdCw0L3QvdC10YAsINCz0LXQvdC10YDQuNGA0YPRjtGJ0LjQuSDRgdC+0LHRi9GC0LjQtSB7QGxpbmsgY2xpY2tCYW5uZXJJbWdFdmVudH0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYmFubmVyINCR0LDQvdC90LXRgCwg0L/QviDRgdGB0YvQu9C60LUg0LrQvtGC0L7RgNC+0LPQviDRgdC+0LLQtdGA0YjRkdC9INC/0LXRgNC10YXQvtC0LlxuICAgICAqL1xuICAgIHB1YmxpYyBvbkNsaWNrKGJhbm5lcjogU2NCYW5uZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51c2VyTWV0cmlrYVNlcnZpY2UuZW1pdFVzZXJNZXRyaWthRXZlbnQoe1xuICAgICAgICAgICAgdGFyZ2V0OiBTY1VzZXJNZXRyaWthR29hbHNFbnVtLmJhbm5lckNsaWNrLFxuICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgYmFubmVyX2lkOiBiYW5uZXIuaWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoYmFubmVyLnVybCkge1xuICAgICAgICAgICAgdGhpcy5jbGlja0Jhbm5lckV2ZW50LmVtaXQoYmFubmVyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKnR1aUxldD1cImJhbm5lcnMkIHwgYXN5bmNcIj5cbiAgICA8dHVpLWNhcm91c2VsIGNsYXNzPVwiYmctd2hpdGUgdy1mdWxsIGgtZnVsbCBzaGFkb3ctc2MtMiByb3VuZGVkLXhsIG92ZXJmbG93LWhpZGRlblwiIFsoaW5kZXgpXT1cImN1cnJlbnRCYW5uZXJJZFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBiYW5uZXIgb2YgYmFubmVyczsgbGV0IGluZGV4ID0gaW5kZXhcIj5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgKnR1aUl0ZW1cbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljayhiYW5uZXIpXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuYXNwZWN0LXJhdGlvXT1cImFzcGVjdFJhdGlvXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5ocmVmXT1cImJhbm5lci51cmwgPyBiYW5uZXIudXJsIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiYmFubmVyLnRpdGxlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInJlbGF0aXZlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJiYW5uZXIubWVkaWFUeXBlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid2aWRlbydcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx2aWRlb1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN2aWRlb1BsYXllclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdXNwZW5kKT1cInNob3dQbGF5QnRuID0gdHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBsYXkpPVwic2hvd1BsYXlCdG4gPSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJiYW5uZXIubWVkaWFGaWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZW5kZWQpPVwib25FbmRlZFZpZGVvKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZW92ZXIpPVwidmlkZW9QbGF5ZXIucGF1c2UoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vdXNlb3V0KT1cInZpZGVvUGxheWVyLnBsYXkoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJvYmplY3QtY292ZXIgaC1mdWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdXRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9wbGF5XG4gICAgICAgICAgICAgICAgICAgICAgICA+PC92aWRlbz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dQbGF5QnRuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW0B0dWlGYWRlSW5dPVwiMjAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRSaXBwbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IHZpZGVvUGxheWVyLnBsYXkoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiIWFic29sdXRlIGxlZnQtOCBib3R0b20tNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uLXJlZnJlc2ggdGV4dC1ibGFja1wiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICA8aW1nICpuZ1N3aXRjaENhc2U9XCInaW1hZ2UnXCIgW3NyY109XCJiYW5uZXIubWVkaWFGaWxlXCIgYWx0PVwi0JHQsNC90L3QtdGAXCIgY2xhc3M9XCJvYmplY3QtY292ZXIgaC1mdWxsXCIgLz5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgYmFubmVyc0xpc3RSZWZcIj5cbiAgICAgICAgICAgIDxkaXYgKnR1aUl0ZW0gW3N0eWxlLmhlaWdodF09XCJoZWlnaHRcIiBbc3R5bGUud2lkdGhdPVwid2lkdGhcIiBbc3R5bGUuYXNwZWN0LXJhdGlvXT1cImFzcGVjdFJhdGlvXCIgY2xhc3M9XCJvdmVyZmxvdy1oaWRkZW5cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3R1aS1jYXJvdXNlbD5cbjwvbmctY29udGFpbmVyPlxuPGRpdiAqbmdJZj1cIm5hdmlnYXRlQnV0dG9uICYmICFkaXNhYmxlZCAmJiB0aGlzLmJhbm5lcnMgJiYgKHRoaXMuYmFubmVyc0xpc3RSZWYubGVuZ3RoICsgdGhpcy5iYW5uZXJzLmxlbmd0aCkgPiAxXCIgdHVpTW9kZT1cIm9uTGlnaHRcIiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgPGJ1dHRvbiB0dWlJY29uQnV0dG9uIGljb249XCJ0dWlJY29uQ2hldnJvbkxlZnRMYXJnZVwiIHNpemU9XCJtXCIgc2hhcGU9XCJyb3VuZGVkXCIgYXBwZWFyYW5jZT1cImZsYXRcIiAoY2xpY2spPVwib25QcmV2aW91c0Jhbm5lcigpXCIgY2xhc3M9XCIhYWJzb2x1dGUgbGVmdC0yXCI+PC9idXR0b24+XG4gICAgPGJ1dHRvbiB0dWlJY29uQnV0dG9uIGljb249XCJ0dWlJY29uQ2hldnJvblJpZ2h0TGFyZ2VcIiBzaXplPVwibVwiIHNoYXBlPVwicm91bmRlZFwiIGFwcGVhcmFuY2U9XCJmbGF0XCIgKGNsaWNrKT1cIm9uTmV4dEJhbm5lcigpXCIgY2xhc3M9XCIhYWJzb2x1dGUgcmlnaHQtMlwiPjwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=