ngx-techlify-core 18.7.2 → 18.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,51 +1,28 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { Component } from '@angular/core';
3
- import { Validators } from '@angular/forms';
4
- import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
5
- import { debounceTime, finalize } from 'rxjs/operators';
3
+ import { UntilDestroy } from '@ngneat/until-destroy';
4
+ import { UserTypeEnum } from '../user/user-type.enum';
6
5
  import * as i0 from "@angular/core";
7
6
  import * as i1 from "../core";
8
7
  import * as i2 from "@angular/router";
9
8
  import * as i3 from "../user";
10
- import * as i4 from "@angular/forms";
11
- import * as i5 from "../user-config";
12
- import * as i6 from "@angular/common";
13
- import * as i7 from "@angular/material/button";
14
- import * as i8 from "@angular/material/form-field";
15
- import * as i9 from "@angular/material/input";
16
- import * as i10 from "@angular/material/card";
17
- import * as i11 from "@angular/material/list";
18
- import * as i12 from "@angular/flex-layout/flex";
19
- const errorMessages = {
20
- email: {
21
- required: 'Email is required',
22
- email: 'Invalid email'
23
- },
24
- password: {
25
- required: 'Password is required'
26
- }
27
- };
9
+ import * as i4 from "../user-config";
10
+ import * as i5 from "@angular/common";
11
+ import * as i6 from "@angular/material/button";
12
+ import * as i7 from "@angular/material/card";
13
+ import * as i8 from "./login-form-fields/login-form-fields.component";
28
14
  let LoginComponent = class LoginComponent {
29
- constructor(http, alerter, router, authService, config, currentUserService, errorService, storage, credentialService, fb, formValidatorService, route, userConfigService) {
30
- this.http = http;
15
+ constructor(alerter, router, authService, currentUserService, storage, credentialService, route, userConfigService) {
31
16
  this.alerter = alerter;
32
17
  this.router = router;
33
18
  this.authService = authService;
34
- this.config = config;
35
19
  this.currentUserService = currentUserService;
36
- this.errorService = errorService;
37
20
  this.storage = storage;
38
21
  this.credentialService = credentialService;
39
- this.fb = fb;
40
- this.formValidatorService = formValidatorService;
41
22
  this.route = route;
42
23
  this.userConfigService = userConfigService;
43
24
  this.isWorking = false;
44
- this.loginForm = fb.group({
45
- email: ['', [Validators.required, Validators.email]],
46
- password: ['', Validators.required],
47
- selected_client: [''],
48
- });
25
+ this.userType = UserTypeEnum;
49
26
  this.userConfig = this.userConfigService.getConfig();
50
27
  }
51
28
  ngOnInit() {
@@ -61,47 +38,15 @@ let LoginComponent = class LoginComponent {
61
38
  this.loadUser();
62
39
  }
63
40
  });
64
- if (this.credentialService.isAuthenticated) {
65
- this.router.navigate(['/dashboard']);
66
- }
67
41
  /* Lets clear all localstorage items */
68
42
  this.storage.removeItem('currentModule');
69
43
  this.storage.removeItem('currentUser');
70
- // listen for selected_client change and submit the form.
71
- this.loginForm.get('selected_client').valueChanges
72
- .pipe(debounceTime(500))
73
- .subscribe(() => this.login());
74
- }
75
- login() {
76
- if (!this.loginForm.valid) {
77
- return;
78
- }
79
- this.isWorking = true;
80
- // reset login error
81
- this.loginError = null;
82
- const data = {
83
- client_id: 2,
84
- client_secret: this.config.getAuthClientSecret(),
85
- grant_type: this.config.getAuthGrantType(),
86
- username: this.loginForm.value.email,
87
- password: this.loginForm.value.password,
88
- selected_client: this.loginForm.value.selected_client?.toString(),
89
- remember: true
90
- };
91
- this.credentialService.setCredentials();
92
- const login$ = this.authService.login(data);
93
- login$.pipe(finalize(() => this.isWorking = false), untilDestroyed(this)).subscribe(credentials => {
94
- this.currentUserService.updateCurrentUser(credentials?.user);
95
- this.router.navigate([this.route.snapshot.queryParams.redirect || 'dashboard'], { replaceUrl: true });
96
- }, error => {
97
- this.handleLoginErrors(error);
98
- });
99
44
  }
100
45
  loadUser() {
101
46
  /* Lets load the current user */
102
47
  this.currentUserService.getUserObservable(true).subscribe(user => {
103
48
  if (!this.userConfig.allowAllUsersToLogin) {
104
- if ((!this.userConfig.allowAppAdminLogin && user.user_type_id == 1) || (this.userConfig.allowAppAdminLogin && user.user_type_id != 1)) {
49
+ if ((!this.userConfig.allowAppAdminLogin && user.user_type_id == this.userType.ADMIN) || (this.userConfig.allowAppAdminLogin && user.user_type_id != this.userType.ADMIN)) {
105
50
  this.alerter.addAlert('Sorry, you\'re not allowed access to this app. ', 'warning');
106
51
  this.authService.logout();
107
52
  return;
@@ -121,39 +66,16 @@ let LoginComponent = class LoginComponent {
121
66
  else if (this.user.is_temporary_password) {
122
67
  this.router.navigate(['/user/change-password']);
123
68
  }
69
+ else if (this.user.user_type_id == this.userType.ADMIN) {
70
+ this.router.navigate(['/app-admin']);
71
+ }
124
72
  else {
125
73
  this.router.navigate(['/dashboard']);
126
74
  }
127
75
  });
128
76
  }
129
- redirect(provider) {
130
- window.location.href = this.userConfig.socialLoginRedirectUrl + provider;
131
- }
132
- /** Method to evaluate form fields*/
133
- isFieldValid(field) {
134
- return this.formValidatorService.isFieldValid(field, this.loginForm);
135
- }
136
- /** Method to find error in form fields*/
137
- getErrorMessage(field) {
138
- return this.formValidatorService.getErrorMessage(field, this.loginForm, errorMessages);
139
- }
140
- /**
141
- * Handle the login errors.
142
- *
143
- * @param errorObj
144
- * @private
145
- */
146
- handleLoginErrors(errorObj) {
147
- const { error, error_description, user_clients } = errorObj?.error;
148
- this.loginError = { type: error, message: error_description };
149
- this.userClients = user_clients;
150
- }
151
- backToLogin() {
152
- this.userClients = null;
153
- this.loginError = null;
154
- }
155
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginComponent, deps: [{ token: i1.HttpService }, { token: i1.AlertService }, { token: i2.Router }, { token: i1.AuthenticationService }, { token: i1.ConfigService }, { token: i3.CurrentUserService }, { token: i1.ErrorHandlerService }, { token: i1.StorageService }, { token: i1.CredentialsService }, { token: i4.UntypedFormBuilder }, { token: i1.FormValidatorService }, { token: i2.ActivatedRoute }, { token: i5.UserConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
156
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LoginComponent, selector: "login", ngImport: i0, template: "<div class=\"h-100 d-flex justify-content-center align-items-center w-100\" style=\"background: #fafafa;\">\n <div class=\"row w-100\">\n <div class=\"col-lg-4 col-md-6 col-sm-8 col-xs-10 col-12 mx-auto\">\n <mat-card class=\"mb-3 mt-3 w-100\">\n <header class=\"branding-block mb-0 mt-4\">\n <div class=\"branding text-center\">\n <a *ngIf=\"userConfig.appLogoUrl\" href=\"{{userConfig.appUrl}}\" target=\"_blank\">\n <img class=\"techlify-logo d-inline-block\" [src]=\"userConfig.appLogoUrl\" alt=\"Logo\"/>\n </a>\n </div>\n <div class=\"product-info text-center mt-2\">\n <h3 class=\"product-name\">{{ userConfig.appName }}</h3>\n </div>\n </header>\n\n <div id=\"login-form-wrapper\">\n <h4 class=\"section-title text-center mt-4\">\n {{ userClients ? 'SELECT CLIENT TO LOGIN WITH' : 'LOGIN' }}\n </h4>\n <form\n [formGroup]=\"loginForm\"\n (ngSubmit)=\"login()\"\n >\n <div *ngIf=\"!userClients\" fxLayout=\"column\" fxLayoutAlign=\"start\" fxLayoutGap=\"10px\">\n <mat-form-field>\n <mat-label>Email</mat-label>\n <input matInput\n formControlName=\"email\"\n placeholder=\"Email\"\n type=\"email\"\n autocomplete=\"off\"\n required />\n <mat-error *ngIf=\"isFieldValid('email')\">{{getErrorMessage('email')}}</mat-error>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Password</mat-label>\n <input matInput\n formControlName=\"password\"\n placeholder=\"Password\"\n type=\"password\"\n autocomplete=\"off\"\n required />\n <mat-error *ngIf=\"isFieldValid('password')\">{{getErrorMessage('password')}}</mat-error>\n </mat-form-field>\n\n <div class=\"alert alert-danger\" *ngIf=\"loginError\">\n <p class=\"mb-0\">{{ loginError?.message }}</p>\n </div>\n\n <button mat-raised-button color=\"primary\" class=\"w-100\" type=\"submit\" [disabled]=\"isWorking\">\n LOGIN\n </button>\n\n <div class=\"mt-2\" *ngIf=\"userConfig.showSocialLogin\">\n <button class=\"w-100 google-button mb-2\"\n mat-raised-button type=\"button\"\n (click)=\"redirect('google')\">Google</button>\n\n <button class=\"w-100 facebook-button\"\n mat-raised-button type=\"button\"\n (click)=\"redirect('facebook')\">Facebook</button>\n </div>\n <div class=\"mt-2 mb-4 text-center\"\n *ngIf=\"userConfig.showForgotPassword\">\n <a href=\"javascript:;\" [routerLink]=\"['/forgot-password']\">Forgot password?</a>\n </div>\n </div>\n\n <div *ngIf=\"userClients\" fxLayout=\"column\" fxLayoutAlign=\"start\" fxLayoutGap=\"10px\">\n <mat-selection-list formControlName=\"selected_client\" [multiple]=\"false\">\n <mat-list-option\n *ngFor=\"let userClient of userClients\"\n [value]=\"userClient?.client_id\"\n [disabled]=\"!userClient?.is_enabled || isWorking\"\n >\n {{ userClient?.client?.name }}\n </mat-list-option>\n </mat-selection-list>\n\n <div class=\"mt-2 mb-4 text-center\"\n *ngIf=\"userConfig.showForgotPassword\">\n <a href=\"javascript:;\" (click)=\"backToLogin()\">Back to Login</a>\n </div>\n </div>\n\n </form>\n </div>\n\n <div class=\"mt-3 p-0 mr-0 ml-0\" *ngIf=\"userConfig.showSignup\">\n <p>New to {{ userConfig.appName }}?</p>\n <button mat-raised-button class=\"w-100\" color=\"accent\" type=\"button\"\n [routerLink]=\"['/signup']\">\n Create an account\n </button>\n </div>\n </mat-card>\n </div>\n </div>\n</div>\n", styles: ["#login-form-wrapper{margin-top:40px}#login-form-wrapper .branding-block{margin-bottom:60px}#login-form-wrapper .techlify-logo{height:40px;padding-right:10px;bottom:10px;position:relative}#login-form-wrapper .company-name{margin-bottom:0}#login-form-wrapper .google-button{background:#ce1d1d;color:#fff}#login-form-wrapper .facebook-button{background:#38388e;color:#fff}:host{width:100%}.white-box{background-color:#fff;padding:10px}mat-selection-list{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}mat-list-option{border:1px solid #ccc;text-align:center;border-radius:4px;padding:10px;cursor:pointer}mat-list-option:hover{background-color:#f0f0f0}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i11.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i11.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i12.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i12.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i12.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }] }); }
77
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginComponent, deps: [{ token: i1.AlertService }, { token: i2.Router }, { token: i1.AuthenticationService }, { token: i3.CurrentUserService }, { token: i1.StorageService }, { token: i1.CredentialsService }, { token: i2.ActivatedRoute }, { token: i4.UserConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
78
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LoginComponent, selector: "login", ngImport: i0, template: "<div class=\"h-100 d-flex justify-content-center align-items-center w-100\" style=\"background: #fafafa;\">\n <div class=\"row w-100\">\n <div class=\"col-lg-4 col-md-6 col-sm-8 col-xs-10 col-12 mx-auto\">\n <mat-card class=\"mb-3 mt-3 w-100\">\n <header class=\"branding-block mb-0 mt-4\">\n <div class=\"branding text-center\">\n <a *ngIf=\"userConfig.appLogoUrl\" href=\"{{userConfig.appUrl}}\" target=\"_blank\">\n <img class=\"techlify-logo d-inline-block\" [src]=\"userConfig.appLogoUrl\" alt=\"Logo\" />\n </a>\n </div>\n <div class=\"product-info text-center mt-2\">\n <h3 class=\"product-name\">{{ userConfig.appName }}</h3>\n </div>\n </header>\n\n <div id=\"login-form-wrapper\">\n <app-login-form-fields [userConfig]=\"userConfig\"></app-login-form-fields>\n </div>\n\n <div class=\"mt-3 p-0 mr-0 ml-0\" *ngIf=\"userConfig.showSignup\">\n <p>New to {{ userConfig.appName }}?</p>\n <button mat-raised-button class=\"w-100\" color=\"accent\" type=\"button\" [routerLink]=\"['/signup']\">\n Create an account\n </button>\n </div>\n </mat-card>\n </div>\n </div>\n</div>", styles: ["#login-form-wrapper{margin-top:40px}#login-form-wrapper .branding-block{margin-bottom:60px}#login-form-wrapper .techlify-logo{height:40px;padding-right:10px;bottom:10px;position:relative}#login-form-wrapper .company-name{margin-bottom:0}#login-form-wrapper .google-button{background:#ce1d1d;color:#fff}#login-form-wrapper .facebook-button{background:#38388e;color:#fff}:host{width:100%}.white-box{background-color:#fff;padding:10px}mat-selection-list{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}mat-list-option{border:1px solid #ccc;text-align:center;border-radius:4px;padding:10px;cursor:pointer}mat-list-option:hover{background-color:#f0f0f0}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i8.LoginFormFieldsComponent, selector: "app-login-form-fields", inputs: ["userConfig"] }] }); }
157
79
  };
158
80
  LoginComponent = __decorate([
159
81
  UntilDestroy()
@@ -161,6 +83,6 @@ LoginComponent = __decorate([
161
83
  export { LoginComponent };
162
84
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginComponent, decorators: [{
163
85
  type: Component,
164
- args: [{ selector: 'login', template: "<div class=\"h-100 d-flex justify-content-center align-items-center w-100\" style=\"background: #fafafa;\">\n <div class=\"row w-100\">\n <div class=\"col-lg-4 col-md-6 col-sm-8 col-xs-10 col-12 mx-auto\">\n <mat-card class=\"mb-3 mt-3 w-100\">\n <header class=\"branding-block mb-0 mt-4\">\n <div class=\"branding text-center\">\n <a *ngIf=\"userConfig.appLogoUrl\" href=\"{{userConfig.appUrl}}\" target=\"_blank\">\n <img class=\"techlify-logo d-inline-block\" [src]=\"userConfig.appLogoUrl\" alt=\"Logo\"/>\n </a>\n </div>\n <div class=\"product-info text-center mt-2\">\n <h3 class=\"product-name\">{{ userConfig.appName }}</h3>\n </div>\n </header>\n\n <div id=\"login-form-wrapper\">\n <h4 class=\"section-title text-center mt-4\">\n {{ userClients ? 'SELECT CLIENT TO LOGIN WITH' : 'LOGIN' }}\n </h4>\n <form\n [formGroup]=\"loginForm\"\n (ngSubmit)=\"login()\"\n >\n <div *ngIf=\"!userClients\" fxLayout=\"column\" fxLayoutAlign=\"start\" fxLayoutGap=\"10px\">\n <mat-form-field>\n <mat-label>Email</mat-label>\n <input matInput\n formControlName=\"email\"\n placeholder=\"Email\"\n type=\"email\"\n autocomplete=\"off\"\n required />\n <mat-error *ngIf=\"isFieldValid('email')\">{{getErrorMessage('email')}}</mat-error>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Password</mat-label>\n <input matInput\n formControlName=\"password\"\n placeholder=\"Password\"\n type=\"password\"\n autocomplete=\"off\"\n required />\n <mat-error *ngIf=\"isFieldValid('password')\">{{getErrorMessage('password')}}</mat-error>\n </mat-form-field>\n\n <div class=\"alert alert-danger\" *ngIf=\"loginError\">\n <p class=\"mb-0\">{{ loginError?.message }}</p>\n </div>\n\n <button mat-raised-button color=\"primary\" class=\"w-100\" type=\"submit\" [disabled]=\"isWorking\">\n LOGIN\n </button>\n\n <div class=\"mt-2\" *ngIf=\"userConfig.showSocialLogin\">\n <button class=\"w-100 google-button mb-2\"\n mat-raised-button type=\"button\"\n (click)=\"redirect('google')\">Google</button>\n\n <button class=\"w-100 facebook-button\"\n mat-raised-button type=\"button\"\n (click)=\"redirect('facebook')\">Facebook</button>\n </div>\n <div class=\"mt-2 mb-4 text-center\"\n *ngIf=\"userConfig.showForgotPassword\">\n <a href=\"javascript:;\" [routerLink]=\"['/forgot-password']\">Forgot password?</a>\n </div>\n </div>\n\n <div *ngIf=\"userClients\" fxLayout=\"column\" fxLayoutAlign=\"start\" fxLayoutGap=\"10px\">\n <mat-selection-list formControlName=\"selected_client\" [multiple]=\"false\">\n <mat-list-option\n *ngFor=\"let userClient of userClients\"\n [value]=\"userClient?.client_id\"\n [disabled]=\"!userClient?.is_enabled || isWorking\"\n >\n {{ userClient?.client?.name }}\n </mat-list-option>\n </mat-selection-list>\n\n <div class=\"mt-2 mb-4 text-center\"\n *ngIf=\"userConfig.showForgotPassword\">\n <a href=\"javascript:;\" (click)=\"backToLogin()\">Back to Login</a>\n </div>\n </div>\n\n </form>\n </div>\n\n <div class=\"mt-3 p-0 mr-0 ml-0\" *ngIf=\"userConfig.showSignup\">\n <p>New to {{ userConfig.appName }}?</p>\n <button mat-raised-button class=\"w-100\" color=\"accent\" type=\"button\"\n [routerLink]=\"['/signup']\">\n Create an account\n </button>\n </div>\n </mat-card>\n </div>\n </div>\n</div>\n", styles: ["#login-form-wrapper{margin-top:40px}#login-form-wrapper .branding-block{margin-bottom:60px}#login-form-wrapper .techlify-logo{height:40px;padding-right:10px;bottom:10px;position:relative}#login-form-wrapper .company-name{margin-bottom:0}#login-form-wrapper .google-button{background:#ce1d1d;color:#fff}#login-form-wrapper .facebook-button{background:#38388e;color:#fff}:host{width:100%}.white-box{background-color:#fff;padding:10px}mat-selection-list{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}mat-list-option{border:1px solid #ccc;text-align:center;border-radius:4px;padding:10px;cursor:pointer}mat-list-option:hover{background-color:#f0f0f0}\n"] }]
165
- }], ctorParameters: () => [{ type: i1.HttpService }, { type: i1.AlertService }, { type: i2.Router }, { type: i1.AuthenticationService }, { type: i1.ConfigService }, { type: i3.CurrentUserService }, { type: i1.ErrorHandlerService }, { type: i1.StorageService }, { type: i1.CredentialsService }, { type: i4.UntypedFormBuilder }, { type: i1.FormValidatorService }, { type: i2.ActivatedRoute }, { type: i5.UserConfigService }] });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9sb2dpbi9sb2dpbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2xvZ2luL2xvZ2luLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFPbEQsT0FBTyxFQUF3QyxVQUFVLEVBQXNCLE1BQU0sZ0JBQWdCLENBQUM7QUFLdEcsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQUl4RCxNQUFNLGFBQWEsR0FBUTtJQUN6QixLQUFLLEVBQUU7UUFDTCxRQUFRLEVBQUUsbUJBQW1CO1FBQzdCLEtBQUssRUFBRSxlQUFlO0tBQ3ZCO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLHNCQUFzQjtLQUNqQztDQUNGLENBQUM7QUFTSyxJQUFNLGNBQWMsR0FBcEIsTUFBTSxjQUFjO0lBUXpCLFlBQ1UsSUFBaUIsRUFDakIsT0FBcUIsRUFDckIsTUFBYyxFQUNkLFdBQWtDLEVBQ2xDLE1BQXFCLEVBQ3RCLGtCQUFzQyxFQUNyQyxZQUFpQyxFQUNqQyxPQUF1QixFQUN2QixpQkFBcUMsRUFDckMsRUFBc0IsRUFDdEIsb0JBQTBDLEVBQzFDLEtBQXFCLEVBQ3RCLGlCQUFvQztRQVpuQyxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLFlBQU8sR0FBUCxPQUFPLENBQWM7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGdCQUFXLEdBQVgsV0FBVyxDQUF1QjtRQUNsQyxXQUFNLEdBQU4sTUFB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LFlBQVksRUFBRTtHQU9GLGNBQWMsQ0F3SjFCOzs0RkF4SlksY0FBYztrQkFOMUIsU0FBUzsrQkFFRSxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlLCBGb3JtVmFsaWRhdG9yU2VydmljZSB9IGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL2NvcmUnO1xuXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwLCBVbnR5cGVkRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMsIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgVXNlckNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi91c2VyLWNvbmZpZyc7XG5pbXBvcnQgeyBNdWx0aVVzZXJDb25maWcgfSBmcm9tICcuLi91c2VyLWNvbmZpZyc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UsIENyZWRlbnRpYWxzU2VydmljZSwgRXJyb3JIYW5kbGVyU2VydmljZSwgSHR0cFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaW5hbGl6ZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi91c2VyJztcbmltcG9ydCB7IEN1cnJlbnRVc2VyU2VydmljZSB9IGZyb20gJy4uL3VzZXInO1xuXG5jb25zdCBlcnJvck1lc3NhZ2VzOiBhbnkgPSB7XG4gIGVtYWlsOiB7XG4gICAgcmVxdWlyZWQ6ICdFbWFpbCBpcyByZXF1aXJlZCcsXG4gICAgZW1haWw6ICdJbnZhbGlkIGVtYWlsJ1xuICB9LFxuICBwYXNzd29yZDoge1xuICAgIHJlcXVpcmVkOiAnUGFzc3dvcmQgaXMgcmVxdWlyZWQnXG4gIH1cbn07XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdsb2dpbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbG9naW4uc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgdXNlcjogVXNlcjtcbiAgaXNXb3JraW5nID0gZmFsc2U7XG4gIGxvZ2luRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgdXNlckNvbmZpZzogTXVsdGlVc2VyQ29uZmlnO1xuICBsb2dpbkVycm9yOiB7IHR5cGU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nIH07XG4gIHVzZXJDbGllbnRzITogYW55W107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0ZXI6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZzogQ29uZmlnU2VydmljZSxcbiAgICBwdWJsaWMgY3VycmVudFVzZXJTZXJ2aWNlOiBDdXJyZW50VXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlcnJvclNlcnZpY2U6IEVycm9ySGFuZGxlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yYWdlOiBTdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGNyZWRlbnRpYWxTZXJ2aWNlOiBDcmVkZW50aWFsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgZm9ybVZhbGlkYXRvclNlcnZpY2U6IEZvcm1WYWxpZGF0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHB1YmxpYyB1c2VyQ29uZmlnU2VydmljZTogVXNlckNvbmZpZ1NlcnZpY2UsXG4gICkge1xuICAgIHRoaXMubG9naW5Gb3JtID0gZmIuZ3JvdXAoe1xuICAgICAgZW1haWw6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdXSxcbiAgICAgIHBhc3N3b3JkOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgc2VsZWN0ZWRfY2xpZW50OiBbJyddLFxuICAgIH0pO1xuICAgIHRoaXMudXNlckNvbmZpZyA9IHRoaXMudXNlckNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZShcbiAgICAgIHBhcmFtcyA9PiB7XG4gICAgICAgIGlmIChwYXJhbXMuYWNjZXNzX3Rva2VuKSB7XG4gICAgICAgICAgY29uc3QgYXV0aERhdGEgPSB7XG4gICAgICAgICAgICBhY2Nlc3NfdG9rZW46IHBhcmFtcy5hY2Nlc3NfdG9rZW4sXG4gICAgICAgICAgICBleHBpcmVzX2luOiBwYXJhbXMuZXhwaXJlc19pbixcbiAgICAgICAgICAgIHJlZnJlc2hfdG9rZW46ICcnXG4gICAgICAgICAgfTtcbiAgICAgICAgICBhdXRoRGF0YS5leHBpcmVzX2luID0gYXV0aERhdGEuZXhwaXJlc19pbiAqIDEwMDA7XG4gICAgICAgICAgdGhpcy5jcmVkZW50aWFsU2VydmljZS5zZXRDcmVkZW50aWFscyh7IHVzZXI6IHt9LCB0b2tlbjogYXV0aERhdGEgfSwgdHJ1ZSk7XG4gICAgICAgICAgdGhpcy5sb2FkVXNlcigpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgICBpZiAodGhpcy5jcmVkZW50aWFsU2VydmljZS5pc0F1dGhlbnRpY2F0ZWQpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2Rhc2hib2FyZCddKTtcbiAgICB9XG4gICAgLyogTGV0cyBjbGVhciBhbGwgbG9jYWxzdG9yYWdlIGl0ZW1zICovXG4gICAgdGhpcy5zdG9yYWdlLnJlbW92ZUl0ZW0oJ2N1cnJlbnRNb2R1bGUnKTtcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlSXRlbSgnY3VycmVudFVzZXInKTtcblxuICAgIC8vIGxpc3RlbiBmb3Igc2VsZWN0ZWRfY2xpZW50IGNoYW5nZSBhbmQgc3VibWl0IHRoZSBmb3JtLlxuICAgIHRoaXMubG9naW5Gb3JtLmdldCgnc2VsZWN0ZWRfY2xpZW50JykudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoNTAwKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5sb2dpbigpKTtcbiAgfVxuXG4gIGxvZ2luKCkge1xuICAgIGlmICghdGhpcy5sb2dpbkZvcm0udmFsaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pc1dvcmtpbmcgPSB0cnVlO1xuICAgIC8vIHJlc2V0IGxvZ2luIGVycm9yXG4gICAgdGhpcy5sb2dpbkVycm9yID0gbnVsbDtcblxuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBjbGllbnRfaWQ6IDIsXG4gICAgICBjbGllbnRfc2VjcmV0OiB0aGlzLmNvbmZpZy5nZXRBdXRoQ2xpZW50U2VjcmV0KCksXG4gICAgICBncmFudF90eXBlOiB0aGlzLmNvbmZpZy5nZXRBdXRoR3JhbnRUeXBlKCksXG4gICAgICB1c2VybmFtZTogdGhpcy5sb2dpbkZvcm0udmFsdWUuZW1haWwsXG4gICAgICBwYXNzd29yZDogdGhpcy5sb2dpbkZvcm0udmFsdWUucGFzc3dvcmQsXG4gICAgICBzZWxlY3RlZF9jbGllbnQ6IHRoaXMubG9naW5Gb3JtLnZhbHVlLnNlbGVjdGVkX2NsaWVudD8udG9TdHJpbmcoKSxcbiAgICAgIHJlbWVtYmVyOiB0cnVlXG4gICAgfTtcbiAgICB0aGlzLmNyZWRlbnRpYWxTZXJ2aWNlLnNldENyZWRlbnRpYWxzKCk7XG4gICAgY29uc3QgbG9naW4kID0gdGhpcy5hdXRoU2VydmljZS5sb2dpbihkYXRhKTtcbiAgICBsb2dpbiQucGlwZShcbiAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMuaXNXb3JraW5nID0gZmFsc2UpLFxuICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICApLnN1YnNjcmliZShjcmVkZW50aWFscyA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRVc2VyU2VydmljZS51cGRhdGVDdXJyZW50VXNlcihjcmVkZW50aWFscz8udXNlcik7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcy5yZWRpcmVjdCB8fCAnZGFzaGJvYXJkJ10sIHsgcmVwbGFjZVVybDogdHJ1ZSB9KTtcbiAgICB9LFxuICAgICAgZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZUxvZ2luRXJyb3JzKGVycm9yKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbG9hZFVzZXIoKSB7XG4gICAgLyogTGV0cyBsb2FkIHRoZSBjdXJyZW50IHVzZXIgKi9cbiAgICB0aGlzLmN1cnJlbnRVc2VyU2VydmljZS5nZXRVc2VyT2JzZXJ2YWJsZSh0cnVlKS5zdWJzY3JpYmUoXG4gICAgICB1c2VyID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLnVzZXJDb25maWcuYWxsb3dBbGxVc2Vyc1RvTG9naW4pIHtcbiAgICAgICAgICBpZiAoKCF0aGlzLnVzZXJDb25maWcuYWxsb3dBcHBBZG1pbkxvZ2luICYmIHVzZXIudXNlcl90eXBlX2lkID09IDEpIHx8ICh0aGlzLnVzZXJDb25maWcuYWxsb3dBcHBBZG1pbkxvZ2luICYmIHVzZXIudXNlcl90eXBlX2lkICE9IDEpKSB7XG4gICAgICAgICAgICB0aGlzLmFsZXJ0ZXIuYWRkQWxlcnQoJ1NvcnJ5LCB5b3VcXCdyZSBub3QgYWxsb3dlZCBhY2Nlc3MgdG8gdGhpcyBhcHAuICcsICd3YXJuaW5nJyk7XG4gICAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dCgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWxlcnRlci5hZGRBbGVydCgnU3VjY2Vzc2Z1bGx5IExvZ2dlZCBJbi4gWW91IHdpbGwgYmUgdGFrZW4gdG8gdGhlIGRhc2hib2FyZCBpbiBhIG1vbWVudC4gJywgJ3N1Y2Nlc3MnKTtcbiAgICAgICAgY29uc3QgY3JlZGVudGlhbHMgPSB0aGlzLmNyZWRlbnRpYWxTZXJ2aWNlLmNyZWRlbnRpYWxzO1xuICAgICAgICBjcmVkZW50aWFscy51c2VyID0gdXNlcjtcbiAgICAgICAgdGhpcy5jcmVkZW50aWFsU2VydmljZS5zZXRDcmVkZW50aWFscyhjcmVkZW50aWFscywgdHJ1ZSk7XG4gICAgICAgIHRoaXMudXNlciA9IHVzZXI7XG4gICAgICAgIGlmICgoIXRoaXMudXNlckNvbmZpZy5sb2dpbldpdGhvdXRTdWJzY3JpcHRpb24pICYmICF0aGlzLnVzZXIuY2xpZW50LnN1YnNjcmlwdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbW9kdWxlL3N1YnNjcmlwdGlvbnMnXSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodGhpcy51c2VyLnRlbXBvcmFyaWx5X2ludml0ZWQpIHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9wcm9maWxlLWVkaXQnXSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodGhpcy51c2VyLmlzX3RlbXBvcmFyeV9wYXNzd29yZCkge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL3VzZXIvY2hhbmdlLXBhc3N3b3JkJ10pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2Rhc2hib2FyZCddKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICByZWRpcmVjdChwcm92aWRlcikge1xuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdGhpcy51c2VyQ29uZmlnLnNvY2lhbExvZ2luUmVkaXJlY3RVcmwgKyBwcm92aWRlcjtcbiAgfVxuXG4gIC8qKiBNZXRob2QgdG8gZXZhbHVhdGUgZm9ybSBmaWVsZHMqL1xuICBpc0ZpZWxkVmFsaWQoZmllbGQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmZvcm1WYWxpZGF0b3JTZXJ2aWNlLmlzRmllbGRWYWxpZChmaWVsZCwgdGhpcy5sb2dpbkZvcm0pO1xuICB9XG5cbiAgLyoqIE1ldGhvZCB0byBmaW5kIGVycm9yIGluIGZvcm0gZmllbGRzKi9cbiAgZ2V0RXJyb3JNZXNzYWdlKGZpZWxkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtVmFsaWRhdG9yU2VydmljZS5nZXRFcnJvck1lc3NhZ2UoZmllbGQsIHRoaXMubG9naW5Gb3JtLCBlcnJvck1lc3NhZ2VzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgdGhlIGxvZ2luIGVycm9ycy5cbiAgICpcbiAgICogQHBhcmFtIGVycm9yT2JqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGhhbmRsZUxvZ2luRXJyb3JzKGVycm9yT2JqOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCB7IGVycm9yLCBlcnJvcl9kZXNjcmlwdGlvbiwgdXNlcl9jbGllbnRzIH0gPSBlcnJvck9iaj8uZXJyb3I7XG4gICAgdGhpcy5sb2dpbkVycm9yID0geyB0eXBlOiBlcnJvciwgbWVzc2FnZTogZXJyb3JfZGVzY3JpcHRpb24gfTtcbiAgICB0aGlzLnVzZXJDbGllbnRzID0gdXNlcl9jbGllbnRzO1xuICB9XG5cbiAgYmFja1RvTG9naW4oKTogdm9pZCB7XG4gICAgdGhpcy51c2VyQ2xpZW50cyA9IG51bGw7XG4gICAgdGhpcy5sb2dpbkVycm9yID0gbnVsbDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImgtMTAwIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciB3LTEwMFwiIHN0eWxlPVwiYmFja2dyb3VuZDogI2ZhZmFmYTtcIj5cbiAgPGRpdiBjbGFzcz1cInJvdyB3LTEwMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctNCBjb2wtbWQtNiBjb2wtc20tOCBjb2wteHMtMTAgY29sLTEyIG14LWF1dG9cIj5cbiAgICAgIDxtYXQtY2FyZCBjbGFzcz1cIm1iLTMgbXQtMyB3LTEwMFwiPlxuICAgICAgICA8aGVhZGVyIGNsYXNzPVwiYnJhbmRpbmctYmxvY2sgbWItMCBtdC00XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJyYW5kaW5nIHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICA8YSAqbmdJZj1cInVzZXJDb25maWcuYXBwTG9nb1VybFwiIGhyZWY9XCJ7e3VzZXJDb25maWcuYXBwVXJsfX1cIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInRlY2hsaWZ5LWxvZ28gZC1pbmxpbmUtYmxvY2tcIiBbc3JjXT1cInVzZXJDb25maWcuYXBwTG9nb1VybFwiIGFsdD1cIkxvZ29cIi8+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInByb2R1Y3QtaW5mbyB0ZXh0LWNlbnRlciBtdC0yXCI+XG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJwcm9kdWN0LW5hbWVcIj57eyB1c2VyQ29uZmlnLmFwcE5hbWUgfX08L2gzPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2hlYWRlcj5cblxuICAgICAgICA8ZGl2IGlkPVwibG9naW4tZm9ybS13cmFwcGVyXCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwic2VjdGlvbi10aXRsZSB0ZXh0LWNlbnRlciBtdC00XCI+XG4gICAgICAgICAgICB7eyB1c2VyQ2xpZW50cyA/ICdTRUxFQ1QgQ0xJRU5UIFRPIExPR0lOIFdJVEgnIDogJ0xPR0lOJyB9fVxuICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAgPGZvcm1cbiAgICAgICAgICAgIFtmb3JtR3JvdXBdPVwibG9naW5Gb3JtXCJcbiAgICAgICAgICAgIChuZ1N1Ym1pdCk9XCJsb2dpbigpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXVzZXJDbGllbnRzXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3RhcnRcIiBmeExheW91dEdhcD1cIjEwcHhcIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+RW1haWw8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkVtYWlsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImVtYWlsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQgLz5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCdlbWFpbCcpXCI+e3tnZXRFcnJvck1lc3NhZ2UoJ2VtYWlsJyl9fTwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5QYXNzd29yZDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiUGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZCAvPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpc0ZpZWxkVmFsaWQoJ3Bhc3N3b3JkJylcIj57e2dldEVycm9yTWVzc2FnZSgncGFzc3dvcmQnKX19PC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWRhbmdlclwiICpuZ0lmPVwibG9naW5FcnJvclwiPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibWItMFwiPnt7IGxvZ2luRXJyb3I/Lm1lc3NhZ2UgfX08L3A+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgY2xhc3M9XCJ3LTEwMFwiIHR5cGU9XCJzdWJtaXRcIiBbZGlzYWJsZWRdPVwiaXNXb3JraW5nXCI+XG4gICAgICAgICAgICAgICAgTE9HSU5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTJcIiAqbmdJZj1cInVzZXJDb25maWcuc2hvd1NvY2lhbExvZ2luXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInctMTAwIGdvb2dsZS1idXR0b24gbWItMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZWRpcmVjdCgnZ29vZ2xlJylcIj5Hb29nbGU8L2J1dHRvbj5cblxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJ3LTEwMCBmYWNlYm9vay1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXJhaXNlZC1idXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVkaXJlY3QoJ2ZhY2Vib29rJylcIj5GYWNlYm9vazwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTIgbWItNCB0ZXh0LWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ1c2VyQ29uZmlnLnNob3dGb3Jnb3RQYXNzd29yZFwiPlxuICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiBbcm91dGVyTGlua109XCJbJy9mb3Jnb3QtcGFzc3dvcmQnXVwiPkZvcmdvdCBwYXNzd29yZD88L2E+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ1c2VyQ2xpZW50c1wiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0XCIgZnhMYXlvdXRHYXA9XCIxMHB4XCI+XG4gICAgICAgICAgICAgIDxtYXQtc2VsZWN0aW9uLWxpc3QgZm9ybUNvbnRyb2xOYW1lPVwic2VsZWN0ZWRfY2xpZW50XCIgW211bHRpcGxlXT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1saXN0LW9wdGlvblxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHVzZXJDbGllbnQgb2YgdXNlckNsaWVudHNcIlxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInVzZXJDbGllbnQ/LmNsaWVudF9pZFwiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIXVzZXJDbGllbnQ/LmlzX2VuYWJsZWQgfHwgaXNXb3JraW5nXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyB1c2VyQ2xpZW50Py5jbGllbnQ/Lm5hbWUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1saXN0LW9wdGlvbj5cbiAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0aW9uLWxpc3Q+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTIgbWItNCB0ZXh0LWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ1c2VyQ29uZmlnLnNob3dGb3Jnb3RQYXNzd29yZFwiPlxuICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiAoY2xpY2spPVwiYmFja1RvTG9naW4oKVwiPkJhY2sgdG8gTG9naW48L2E+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zIHAtMCBtci0wIG1sLTBcIiAqbmdJZj1cInVzZXJDb25maWcuc2hvd1NpZ251cFwiPlxuICAgICAgICAgIDxwPk5ldyB0byB7eyB1c2VyQ29uZmlnLmFwcE5hbWUgfX0/PC9wPlxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY2xhc3M9XCJ3LTEwMFwiIGNvbG9yPVwiYWNjZW50XCIgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy9zaWdudXAnXVwiPlxuICAgICAgICAgICAgQ3JlYXRlIGFuIGFjY291bnRcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC1jYXJkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
86
+ args: [{ selector: 'login', template: "<div class=\"h-100 d-flex justify-content-center align-items-center w-100\" style=\"background: #fafafa;\">\n <div class=\"row w-100\">\n <div class=\"col-lg-4 col-md-6 col-sm-8 col-xs-10 col-12 mx-auto\">\n <mat-card class=\"mb-3 mt-3 w-100\">\n <header class=\"branding-block mb-0 mt-4\">\n <div class=\"branding text-center\">\n <a *ngIf=\"userConfig.appLogoUrl\" href=\"{{userConfig.appUrl}}\" target=\"_blank\">\n <img class=\"techlify-logo d-inline-block\" [src]=\"userConfig.appLogoUrl\" alt=\"Logo\" />\n </a>\n </div>\n <div class=\"product-info text-center mt-2\">\n <h3 class=\"product-name\">{{ userConfig.appName }}</h3>\n </div>\n </header>\n\n <div id=\"login-form-wrapper\">\n <app-login-form-fields [userConfig]=\"userConfig\"></app-login-form-fields>\n </div>\n\n <div class=\"mt-3 p-0 mr-0 ml-0\" *ngIf=\"userConfig.showSignup\">\n <p>New to {{ userConfig.appName }}?</p>\n <button mat-raised-button class=\"w-100\" color=\"accent\" type=\"button\" [routerLink]=\"['/signup']\">\n Create an account\n </button>\n </div>\n </mat-card>\n </div>\n </div>\n</div>", styles: ["#login-form-wrapper{margin-top:40px}#login-form-wrapper .branding-block{margin-bottom:60px}#login-form-wrapper .techlify-logo{height:40px;padding-right:10px;bottom:10px;position:relative}#login-form-wrapper .company-name{margin-bottom:0}#login-form-wrapper .google-button{background:#ce1d1d;color:#fff}#login-form-wrapper .facebook-button{background:#38388e;color:#fff}:host{width:100%}.white-box{background-color:#fff;padding:10px}mat-selection-list{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}mat-list-option{border:1px solid #ccc;text-align:center;border-radius:4px;padding:10px;cursor:pointer}mat-list-option:hover{background-color:#f0f0f0}\n"] }]
87
+ }], ctorParameters: () => [{ type: i1.AlertService }, { type: i2.Router }, { type: i1.AuthenticationService }, { type: i3.CurrentUserService }, { type: i1.StorageService }, { type: i1.CredentialsService }, { type: i2.ActivatedRoute }, { type: i4.UserConfigService }] });
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9sb2dpbi9sb2dpbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2xvZ2luL2xvZ2luLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFXbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7OztBQVMvQyxJQUFNLGNBQWMsR0FBcEIsTUFBTSxjQUFjO0lBU3pCLFlBQ1UsT0FBcUIsRUFDckIsTUFBYyxFQUNkLFdBQWtDLEVBQ25DLGtCQUFzQyxFQUNyQyxPQUF1QixFQUN2QixpQkFBcUMsRUFDckMsS0FBcUIsRUFDdEIsaUJBQW9DO1FBUG5DLFlBQU8sR0FBUCxPQUFPLENBQWM7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGdCQUFXLEdBQVgsV0FBVyxDQUF1QjtRQUNuQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3JDLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBb0I7UUFDckMsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDdEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQWY3QyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBS2xCLGFBQVEsR0FBd0IsWUFBWSxDQUFDO1FBWTNDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxX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Z0JBQ3ZELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUN2QyxDQUFDO2lCQUNJLENBQUM7Z0JBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBN0VVLGNBQWM7bUdBQWQsY0FBYyw2Q0N2QjNCLHF2Q0E0Qk07O0FETE8sY0FBYztJQVAxQixZQUFZLEVBQUU7R0FPRixjQUFjLENBOEUxQjs7NEZBOUVZLGNBQWM7a0JBTjFCLFNBQVM7K0JBRUUsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL2NvcmUnO1xuXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBVc2VyQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL3VzZXItY29uZmlnJztcbmltcG9ydCB7IE11bHRpVXNlckNvbmZpZyB9IGZyb20gJy4uL3VzZXItY29uZmlnJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSwgQ3JlZGVudGlhbHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3kgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXInO1xuaW1wb3J0IHsgQ3VycmVudFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vdXNlcic7XG5pbXBvcnQgeyBVc2VyVHlwZUVudW0gfSBmcm9tICcuLi91c2VyL3VzZXItdHlwZS5lbnVtJztcblxuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2xvZ2luJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sb2dpbi5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTG9naW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICB1c2VyOiBVc2VyO1xuICBpc1dvcmtpbmcgPSBmYWxzZTtcbiAgbG9naW5Gb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICB1c2VyQ29uZmlnOiBNdWx0aVVzZXJDb25maWc7XG4gIGxvZ2luRXJyb3I6IHsgdHlwZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcgfTtcblxuICB1c2VyVHlwZTogdHlwZW9mIFVzZXJUeXBlRW51bSA9IFVzZXJUeXBlRW51bTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFsZXJ0ZXI6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSxcbiAgICBwdWJsaWMgY3VycmVudFVzZXJTZXJ2aWNlOiBDdXJyZW50VXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yYWdlOiBTdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGNyZWRlbnRpYWxTZXJ2aWNlOiBDcmVkZW50aWFsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHVibGljIHVzZXJDb25maWdTZXJ2aWNlOiBVc2VyQ29uZmlnU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy51c2VyQ29uZmlnID0gdGhpcy51c2VyQ29uZmlnU2VydmljZS5nZXRDb25maWcoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKFxuICAgICAgcGFyYW1zID0+IHtcbiAgICAgICAgaWYgKHBhcmFtcy5hY2Nlc3NfdG9rZW4pIHtcbiAgICAgICAgICBjb25zdCBhdXRoRGF0YSA9IHtcbiAgICAgICAgICAgIGFjY2Vzc190b2tlbjogcGFyYW1zLmFjY2Vzc190b2tlbixcbiAgICAgICAgICAgIGV4cGlyZXNfaW46IHBhcmFtcy5leHBpcmVzX2luLFxuICAgICAgICAgICAgcmVmcmVzaF90b2tlbjogJydcbiAgICAgICAgICB9O1xuICAgICAgICAgIGF1dGhEYXRhLmV4cGlyZXNfaW4gPSBhdXRoRGF0YS5leHBpcmVzX2luICogMTAwMDtcbiAgICAgICAgICB0aGlzLmNyZWRlbnRpYWxTZXJ2aWNlLnNldENyZWRlbnRpYWxzKHsgdXNlcjoge30sIHRva2VuOiBhdXRoRGF0YSB9LCB0cnVlKTtcbiAgICAgICAgICB0aGlzLmxvYWRVc2VyKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuICAgIC8qIExldHMgY2xlYXIgYWxsIGxvY2Fsc3RvcmFnZSBpdGVtcyAqL1xuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmVJdGVtKCdjdXJyZW50TW9kdWxlJyk7XG4gICAgdGhpcy5zdG9yYWdlLnJlbW92ZUl0ZW0oJ2N1cnJlbnRVc2VyJyk7XG4gIH1cblxuXG5cbiAgbG9hZFVzZXIoKSB7XG4gICAgLyogTGV0cyBsb2FkIHRoZSBjdXJyZW50IHVzZXIgKi9cbiAgICB0aGlzLmN1cnJlbnRVc2VyU2VydmljZS5nZXRVc2VyT2JzZXJ2YWJsZSh0cnVlKS5zdWJzY3JpYmUoXG4gICAgICB1c2VyID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLnVzZXJDb25maWcuYWxsb3dBbGxVc2Vyc1RvTG9naW4pIHtcbiAgICAgICAgICBpZiAoKCF0aGlzLnVzZXJDb25maWcuYWxsb3dBcHBBZG1pbkxvZ2luICYmIHVzZXIudXNlcl90eXBlX2lkID09IHRoaXMudXNlclR5cGUuQURNSU4pIHx8ICh0aGlzLnVzZXJDb25maWcuYWxsb3dBcHBBZG1pbkxvZ2luICYmIHVzZXIudXNlcl90eXBlX2lkICE9IHRoaXMudXNlclR5cGUuQURNSU4pKSB7XG4gICAgICAgICAgICB0aGlzLmFsZXJ0ZXIuYWRkQWxlcnQoJ1NvcnJ5LCB5b3VcXCdyZSBub3QgYWxsb3dlZCBhY2Nlc3MgdG8gdGhpcyBhcHAuICcsICd3YXJuaW5nJyk7XG4gICAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dCgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWxlcnRlci5hZGRBbGVydCgnU3VjY2Vzc2Z1bGx5IExvZ2dlZCBJbi4gWW91IHdpbGwgYmUgdGFrZW4gdG8gdGhlIGRhc2hib2FyZCBpbiBhIG1vbWVudC4gJywgJ3N1Y2Nlc3MnKTtcbiAgICAgICAgY29uc3QgY3JlZGVudGlhbHMgPSB0aGlzLmNyZWRlbnRpYWxTZXJ2aWNlLmNyZWRlbnRpYWxzO1xuICAgICAgICBjcmVkZW50aWFscy51c2VyID0gdXNlcjtcbiAgICAgICAgdGhpcy5jcmVkZW50aWFsU2VydmljZS5zZXRDcmVkZW50aWFscyhjcmVkZW50aWFscywgdHJ1ZSk7XG4gICAgICAgIHRoaXMudXNlciA9IHVzZXI7XG4gICAgICAgIGlmICgoIXRoaXMudXNlckNvbmZpZy5sb2dpbldpdGhvdXRTdWJzY3JpcHRpb24pICYmICF0aGlzLnVzZXIuY2xpZW50LnN1YnNjcmlwdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbW9kdWxlL3N1YnNjcmlwdGlvbnMnXSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodGhpcy51c2VyLnRlbXBvcmFyaWx5X2ludml0ZWQpIHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9wcm9maWxlLWVkaXQnXSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodGhpcy51c2VyLmlzX3RlbXBvcmFyeV9wYXNzd29yZCkge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL3VzZXIvY2hhbmdlLXBhc3N3b3JkJ10pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHRoaXMudXNlci51c2VyX3R5cGVfaWQgPT0gdGhpcy51c2VyVHlwZS5BRE1JTikge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2FwcC1hZG1pbiddKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9kYXNoYm9hcmQnXSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaC0xMDAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIHctMTAwXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiAjZmFmYWZhO1wiPlxuICA8ZGl2IGNsYXNzPVwicm93IHctMTAwXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbC1sZy00IGNvbC1tZC02IGNvbC1zbS04IGNvbC14cy0xMCBjb2wtMTIgbXgtYXV0b1wiPlxuICAgICAgPG1hdC1jYXJkIGNsYXNzPVwibWItMyBtdC0zIHctMTAwXCI+XG4gICAgICAgIDxoZWFkZXIgY2xhc3M9XCJicmFuZGluZy1ibG9jayBtYi0wIG10LTRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnJhbmRpbmcgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxhICpuZ0lmPVwidXNlckNvbmZpZy5hcHBMb2dvVXJsXCIgaHJlZj1cInt7dXNlckNvbmZpZy5hcHBVcmx9fVwiIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidGVjaGxpZnktbG9nbyBkLWlubGluZS1ibG9ja1wiIFtzcmNdPVwidXNlckNvbmZpZy5hcHBMb2dvVXJsXCIgYWx0PVwiTG9nb1wiIC8+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInByb2R1Y3QtaW5mbyB0ZXh0LWNlbnRlciBtdC0yXCI+XG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJwcm9kdWN0LW5hbWVcIj57eyB1c2VyQ29uZmlnLmFwcE5hbWUgfX08L2gzPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2hlYWRlcj5cblxuICAgICAgICA8ZGl2IGlkPVwibG9naW4tZm9ybS13cmFwcGVyXCI+XG4gICAgICAgICAgPGFwcC1sb2dpbi1mb3JtLWZpZWxkcyBbdXNlckNvbmZpZ109XCJ1c2VyQ29uZmlnXCI+PC9hcHAtbG9naW4tZm9ybS1maWVsZHM+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zIHAtMCBtci0wIG1sLTBcIiAqbmdJZj1cInVzZXJDb25maWcuc2hvd1NpZ251cFwiPlxuICAgICAgICAgIDxwPk5ldyB0byB7eyB1c2VyQ29uZmlnLmFwcE5hbWUgfX0/PC9wPlxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY2xhc3M9XCJ3LTEwMFwiIGNvbG9yPVwiYWNjZW50XCIgdHlwZT1cImJ1dHRvblwiIFtyb3V0ZXJMaW5rXT1cIlsnL3NpZ251cCddXCI+XG4gICAgICAgICAgICBDcmVhdGUgYW4gYWNjb3VudFxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWF0LWNhcmQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+Il19
@@ -8,6 +8,7 @@ import { MatFormFieldModule } from '@angular/material/form-field';
8
8
  import { MatButtonModule } from '@angular/material/button';
9
9
  import { FlexModule } from '@angular/flex-layout';
10
10
  import { MatCardModule } from '@angular/material/card';
11
+ import { LoginFormFieldsComponent } from './login-form-fields/login-form-fields.component';
11
12
  import * as i0 from "@angular/core";
12
13
  export class LoginModule {
13
14
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -18,7 +19,8 @@ export class LoginModule {
18
19
  MatFormFieldModule,
19
20
  MatButtonModule,
20
21
  FlexModule,
21
- MatCardModule] }); }
22
+ MatCardModule,
23
+ LoginFormFieldsComponent], exports: [LoginComponent] }); }
22
24
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginModule, imports: [CommonModule,
23
25
  ReactiveFormsModule,
24
26
  MaterialModule,
@@ -26,7 +28,8 @@ export class LoginModule {
26
28
  MatFormFieldModule,
27
29
  MatButtonModule,
28
30
  FlexModule,
29
- MatCardModule] }); }
31
+ MatCardModule,
32
+ LoginFormFieldsComponent] }); }
30
33
  }
31
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginModule, decorators: [{
32
35
  type: NgModule,
@@ -39,12 +42,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
39
42
  MatFormFieldModule,
40
43
  MatButtonModule,
41
44
  FlexModule,
42
- MatCardModule
45
+ MatCardModule,
46
+ LoginFormFieldsComponent
43
47
  ],
44
48
  declarations: [
45
49
  LoginComponent
46
50
  ],
51
+ exports: [
52
+ LoginComponent
53
+ ],
47
54
  providers: [],
48
55
  }]
49
56
  }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9sb2dpbi9sb2dpbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7QUFrQnJELE1BQU0sT0FBTyxXQUFXOytHQUFYLFdBQVc7Z0hBQVgsV0FBVyxpQkFMcEIsY0FBYyxhQVZkLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsY0FBYztZQUNkLGtCQUFrQjtZQUNsQixrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLFVBQVU7WUFDVixhQUFhO2dIQVFKLFdBQVcsWUFmcEIsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2Qsa0JBQWtCO1lBQ2xCLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsVUFBVTtZQUNWLGFBQWE7OzRGQVFKLFdBQVc7a0JBakJ2QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixVQUFVO3dCQUNWLGFBQWE7cUJBQ2Q7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLGNBQWM7cUJBQ2Y7b0JBQ0QsU0FBUyxFQUFFLEVBQ1Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBMb2dpblJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL2xvZ2luLXJvdXRpbmcubW9kdWxlJztcbmltcG9ydCB7IExvZ2luQ29tcG9uZW50IH0gZnJvbSAnLi9sb2dpbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge0ZsZXhNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcbmltcG9ydCB7TWF0Q2FyZE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0ZXJpYWxNb2R1bGUsXG4gICAgTG9naW5Sb3V0aW5nTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgRmxleE1vZHVsZSxcbiAgICBNYXRDYXJkTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIExvZ2luQ29tcG9uZW50XG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBMb2dpbk1vZHVsZSB7IH1cbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9sb2dpbi9sb2dpbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7QUFzQjNGLE1BQU0sT0FBTyxXQUFXOytHQUFYLFdBQVc7Z0hBQVgsV0FBVyxpQkFScEIsY0FBYyxhQVhkLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsY0FBYztZQUNkLGtCQUFrQjtZQUNsQixrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLFVBQVU7WUFDVixhQUFhO1lBQ2Isd0JBQXdCLGFBTXhCLGNBQWM7Z0hBS0wsV0FBVyxZQW5CcEIsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2Qsa0JBQWtCO1lBQ2xCLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsVUFBVTtZQUNWLGFBQWE7WUFDYix3QkFBd0I7OzRGQVdmLFdBQVc7a0JBckJ2QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixVQUFVO3dCQUNWLGFBQWE7d0JBQ2Isd0JBQXdCO3FCQUN6QjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osY0FBYztxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsY0FBYztxQkFDZjtvQkFDRCxTQUFTLEVBQUUsRUFDVjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IExvZ2luUm91dGluZ01vZHVsZSB9IGZyb20gJy4vbG9naW4tcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHsgTG9naW5Db21wb25lbnQgfSBmcm9tICcuL2xvZ2luLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uL21hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQge01hdEZvcm1GaWVsZE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQge01hdEJ1dHRvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7RmxleE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xuaW1wb3J0IHtNYXRDYXJkTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcbmltcG9ydCB7IExvZ2luRm9ybUZpZWxkc0NvbXBvbmVudCB9IGZyb20gJy4vbG9naW4tZm9ybS1maWVsZHMvbG9naW4tZm9ybS1maWVsZHMuY29tcG9uZW50JztcbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICBMb2dpblJvdXRpbmdNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBGbGV4TW9kdWxlLFxuICAgIE1hdENhcmRNb2R1bGUsXG4gICAgTG9naW5Gb3JtRmllbGRzQ29tcG9uZW50XG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIExvZ2luQ29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBMb2dpbkNvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTG9naW5Nb2R1bGUgeyB9XG4iXX0=
@@ -129,4 +129,10 @@ export * from './lib/number-input-button';
129
129
  export * from './lib/column-selector';
130
130
  export * from './lib/reset-password';
131
131
  export * from './lib/reset-password/reset-password.module';
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsWUFBWSxDQUFDO0FBRTNCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsOEJBQThCLENBQUM7QUFFN0MsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDREQUE0RCxDQUFDO0FBRTNFLGNBQWMsaUZBQWlGLENBQUM7QUFDaEcsY0FBYyx5RkFBeUYsQ0FBQztBQUN4RyxjQUFjLG1IQUFtSCxDQUFDO0FBQ2xJLGNBQWMsMkhBQTJILENBQUM7QUFDMUksY0FBYyxtSEFBbUgsQ0FBQztBQUNsSSxjQUFjLDJIQUEySCxD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QkFBMEIsQ0FBQztBQUN6QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGlDQUFpQyxDQUFDO0FBRWhELGNBQWMsc0ZBQXNGLENBQUM7QUFDckcsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsdUJBQXVCLENBQUM7QUFFdEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDRDQUE0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtdGVjaGxpZnktY29yZVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2FjdGlvbi1wb3B1cCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXNlLW1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtdGFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZG9jdW1lbnQtdmlld2VyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VudGl0eS1maWxlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWxlLWRyb3BwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbm90ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWFyY2hhYmxlLXNlbGVjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGltZWxpbmUtZmlsdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xvYWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbWF0ZXJpYWwubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvY29yZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWN0aW9uLXBvcHVwL2FjdGlvbi1wb3B1cC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS10YWJsZS9kYXRhLXRhYmxlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kb2N1bWVudC12aWV3ZXIvZG9jdW1lbnQtdmlld2VyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbnRpdHktZmlsZXMvZW50aXR5LWZpbGVzLXZpZXctYWxsLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWxlLWRyb3BwZXIvZmlsZS1kcm9wcGVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub3RlL25vdGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlYXJjaGFibGUtc2VsZWN0b3Ivc2VhcmNoYWJsZS1zZWxlY3Rvci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbGl0eS91dGlsaXR5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90aW1lbGluZS1maWx0ZXIvdGltZWxpbmUtZmlsdGVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2FkZXIvbG9hZGVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90ZWNobGlmeS1ub3RpZmljYXRpb25zJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi1yb3V0aW5nLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2VtYWlsLXN1YnNjcmlwdGlvbi9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyLXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VtYWlsLXN1YnNjcmlwdGlvbi9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci1mb3JtL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyLWZvcm0ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VtYWlsLXN1YnNjcmlwdGlvbi9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci1mb3JtL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyLWZvcm0tcm91dGluZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyLWxpc3QvZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItbGlzdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyLWxpc3QvZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItbGlzdC1yb3V0aW5nLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLXVzZXIvZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItbGlzdC1maWx0ZXIvZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItbGlzdC1maWx0ZXItcm91dGluZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyLWxpc3QtZmlsdGVyL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyLWxpc3QtZmlsdGVyLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2VtYWlsLXN1YnNjcmlwdGlvbi9lbWFpbC1zdWJzY3JpcHRpb24tdHlwZS9lbWFpbC1zdWJzY3JpcHRpb24tdHlwZS1yb3V0aW5nLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLXR5cGUvZW1haWwtc3Vic2NyaXB0aW9uLXR5cGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VtYWlsLXN1YnNjcmlwdGlvbi9lbWFpbC1zdWJzY3JpcHRpb24tdHlwZS9lbWFpbC1zdWJzY3JpcHRpb24tdHlwZS1mb3JtL2VtYWlsLXN1YnNjcmlwdGlvbi10eXBlLWZvcm0tcm91dGluZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi10eXBlL2VtYWlsLXN1YnNjcmlwdGlvbi10eXBlLWZvcm0vZW1haWwtc3Vic2NyaXB0aW9uLXR5cGUtZm9ybS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi10eXBlL2VtYWlsLXN1YnNjcmlwdGlvbi10eXBlLWxpc3QvZW1haWwtc3Vic2NyaXB0aW9uLXR5cGUtbGlzdC1yb3V0aW5nLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLXR5cGUvZW1haWwtc3Vic2NyaXB0aW9uLXR5cGUtbGlzdC9lbWFpbC1zdWJzY3JpcHRpb24tdHlwZS1saXN0Lm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2VtYWlsLXN1YnNjcmlwdGlvbi9lbWFpbC1zdWJzY3JpcHRpb24tZm9yLXVzZXIvZW1haWwtc3Vic2NyaXB0aW9uLWZvci11c2VyLXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VtYWlsLXN1YnNjcmlwdGlvbi9lbWFpbC1zdWJzY3JpcHRpb24tZm9yLXVzZXIvZW1haWwtc3Vic2NyaXB0aW9uLWZvci11c2VyLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2VtYWlsLXN1YnNjcmlwdGlvbi9lbWFpbC1zdWJzY3JpcHRpb24tZm9yLXVzZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi10eXBlL2VtYWlsLXN1YnNjcmlwdGlvbi10eXBlLWZvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi10eXBlL2VtYWlsLXN1YnNjcmlwdGlvbi10eXBlLWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyLWZvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyLWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyLWxpc3QtZmlsdGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGVjaGxpZnktdXBkYXRlL3RlY2hsaWZ5LXVwZGF0ZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGVjaGxpZnktdXBkYXRlL3RlY2hsaWZ5LXVwZGF0ZS1oaXN0b3J5L3RlY2hsaWZ5LXVwZGF0ZS1oaXN0b3J5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90ZWNobGlmeS11cGRhdGUvdXBkYXRlLW5vdGlmaWVyL3VwZGF0ZS1ub3RpZmllci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGVjaGxpZnktdXBkYXRlL3VwZGF0ZS1ub3RpZmllci91cGRhdGUtbm90aWZpZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RlY2hsaWZ5LXVwZGF0ZS90ZWNobGlmeS11cGRhdGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90ZWNobGlmeS11cGRhdGUvdGVjaGxpZnktdXBkYXRlcy10ZWFzZXIvdGVjaGxpZnktdXBkYXRlcy10ZWFzZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RlY2hsaWZ5LXVwZGF0ZS90ZWNobGlmeS11cGRhdGVzLXRlYXNlci90ZWNobGlmeS11cGRhdGVzLXRlYXNlci5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9leHBvcnQtZXhjZWwvZXhwb3J0LWV4Y2VsLWJ1dHRvbi9leHBvcnQtZXhjZWwtYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9leHBvcnQtZXhjZWwvZXhwb3J0LWV4Y2VsLm1vZHVsZSc7XG5cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXVkaXQtbG9nL2F1ZGl0LWxvZy1mb3ItbW9kZWwvYXVkaXQtbG9nLWZvci1tb2RlbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXVkaXQtbG9nL2F1ZGl0LWxvZy1mb3ItbW9kZWwvYXVkaXQtbG9nLWZvci1tb2RlbC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXVkaXQtbG9nL2F1ZGl0LWxvZy1mb3ItbW9kZWwvYXVkaXQtbG9nLWZvci1tb2RlbC1yb3V0aW5nLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1ZGl0LWxvZy9hdWRpdC1sb2ctbGlzdC9hdWRpdC1sb2ctbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXVkaXQtbG9nL2F1ZGl0LWxvZy1saXN0L2F1ZGl0LWxvZy1saXN0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLWxpc3QvYXVkaXQtbG9nLWxpc3Qtcm91dGluZy5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLWxpc3QtZmlsdGVyL2F1ZGl0LWxvZy1saXN0LWZpbHRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXVkaXQtbG9nL2F1ZGl0LWxvZy1saXN0LWZpbHRlci9hdWRpdC1sb2ctbGlzdC1maWx0ZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1ZGl0LWxvZy9hdWRpdC1sb2ctbGlzdC1maWx0ZXIvYXVkaXQtbG9nLWxpc3QtZmlsdGVyLXJvdXRpbmcubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXVkaXQtbG9nL2F1ZGl0LWxvZy12aWV3L2F1ZGl0LWxvZy12aWV3LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLXZpZXcvYXVkaXQtbG9nLXZpZXcubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1ZGl0LWxvZy9hdWRpdC1sb2ctdmlldy9hdWRpdC1sb2ctdmlldy1yb3V0aW5nLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1ZGl0LWxvZy9hdWRpdC1sb2ctdmlldy1tb2RlbC9hdWRpdC1sb2ctdmlldy1tb2RlbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXVkaXQtbG9nL2F1ZGl0LWxvZy12aWV3LW1vZGVsL2F1ZGl0LWxvZy12aWV3LW1vZGVsLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLXZpZXctbW9kZWwvYXVkaXQtbG9nLXZpZXctbW9kZWwtcm91dGluZy5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9ncy12aWV3LW1vZGVsL2F1ZGl0LWxvZ3Mtdmlldy1tb2RlbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXVkaXQtbG9nL2F1ZGl0LWxvZ3Mtdmlldy1tb2RlbC9hdWRpdC1sb2dzLXZpZXctbW9kZWwubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1ZGl0LWxvZy9hdWRpdC1sb2dzLXZpZXctbW9kZWwvYXVkaXQtbG9ncy12aWV3LW1vZGVsLXJvdXRpbmcubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXVkaXQtbG9nL2F1ZGl0LWxvZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXVkaXQtbG9nL2F1ZGl0LWxvZy1yb3V0aW5nLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtdmFsaWRhdG9yJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvaW1wb3J0LWNzdi9pbXBvcnQtY3N2Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbXBvcnQtY3N2L2ltcG9ydC1jc3YuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ltcG9ydC1jc3YvaW1wb3J0LWNzdi1jb25maWcnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2dpbi1oaXN0b3J5LWZvci11c2VyL2xvZ2luLWhpc3RvcnktZm9yLXVzZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xvZ2luLWhpc3RvcnktZm9yLXVzZXIvbG9naW4taGlzdG9yeS1mb3ItdXNlci1yb3V0aW5nLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2dpbi1oaXN0b3J5LWZvci11c2VyL2xvZ2luLWhpc3RvcnktZm9yLXVzZXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGVjaGxpZnktdGFnZ2VyLXRhZy1mb3JtLWZpZWxkL3RlY2hsaWZ5LXRhZ2dlci10YWctZm9ybS1jb25maWcubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGVjaGxpZnktdGFnZ2VyLXRhZy1mb3JtLWZpZWxkL3RlY2hsaWZ5LXRhZ2dlci10YWctZm9ybS1maWVsZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGVjaGxpZnktdGFnZ2VyLXRhZy1mb3JtLWZpZWxkL3RlY2hsaWZ5LXRhZ2dlci10YWctZm9ybS1maWVsZC5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi90ZWNobGlmeS10YWdnZXItdGFnLXNlbGVjdG9yL3RlY2hsaWZ5LXRhZ2dlci10YWctc2VsZWN0b3IubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RlY2hsaWZ5LXRhZ2dlci10YWctc2VsZWN0b3IvdGVjaGxpZnktdGFnZ2VyLXRhZy1zZWxlY3Rvci5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWFkLW1vcmUvcmVhZC1tb3JlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWFkLW1vcmUvcmVhZC1tb3JlLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3RlY2hsaWZ5LWZlYXR1cmUvdGVjaGxpZnktZmVhdHVyZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGVjaGxpZnktZmVhdHVyZS90ZWNobGlmeS1mZWF0dXJlLnJvdXRpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGVjaGxpZnktZmVhdHVyZS90ZWNobGlmeS1mZWF0dXJlLWxpc3RpbmcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RlY2hsaWZ5LWZlYXR1cmUvdGVjaGxpZnktZmVhdHVyZS1lbmFibGVkLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlcXVlc3QtaGVscGVyL3JlcXVlc3QtaGVscGVyLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jnb3QtcGFzc3dvcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9naW4nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvZmlsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yb2xlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NpZ251cCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91c2VyLWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91c2VyLXNlbGVjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS10YWJsZS9kYXRhLXRhYmxlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VzZXIvdXNlci1lbmFibGUtYnV0dG9uLWNvbXBvbmVudC91c2VyLWVuYWJsZS1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VzZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9yZ290LXBhc3N3b3JkL2ZvcmdvdC1wYXNzd29yZC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9naW4vbG9naW4ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Byb2ZpbGUvcHJvZmlsZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcm9sZS9yb2xlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yb2xlL3Blcm1pc3Npb24vcGVybWlzc2lvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2lnbnVwL3NpZ251cC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXNlci1zZWxlY3Rvci91c2VyLXNlbGVjdG9yLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91c2VyL3VzZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FjY2Vzcy1jb250cm9sLWNvbmZpZy9hY2Nlc3MtY29udHJvbC1jb25maWcubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC10ZWNobGlmeS11c2Vycy9uZ3gtdGVjaGxpZnktdXNlcnMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc3RyaWN0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RlY2hsaWZ5LWNvbXBhbnktc3dpdGNoZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWxlLWRyYWdkcm9wLXVwbG9hZGVyL2ZpbGUtZHJhZ2Ryb3AtdXBsb2FkZXIvZmlsZS1kcmFnZHJvcC11cGxvYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsZS1kcmFnZHJvcC11cGxvYWRlci9maWxlLWRyYWdkcm9wLXVwbG9hZGVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9udW1iZXItaW5wdXQtYnV0dG9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbHVtbi1zZWxlY3Rvcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc2V0LXBhc3N3b3JkJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc2V0LXBhc3N3b3JkL3Jlc2V0LXBhc3N3b3JkLm1vZHVsZSc7XG4iXX0=
132
+ export * from './lib/company-information/company-information/company-information.component';
133
+ export * from './lib/company-information/company-info-display/company-info-display.component';
134
+ export * from './lib/company-information/client.service';
135
+ // Export login module
136
+ export * from './lib/login/login.module';
137
+ export * from './lib/login/login-form-fields/login-form-fields.component';
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsWUFBWSxDQUFDO0FBRTNCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsOEJBQThCLENBQUM7QUFFN0MsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDREQUE0RCxDQUFDO0FBRTNFLGNBQWMsaUZBQWlGLENBQUM7QUFDaEcsY0FBYyx5RkFBeUYsQ0FBQztBQUN4RyxjQUFjLG1IQUFtSCxDQUFDO0FBQ2xJLGNBQWMsMkhBQTJILENBQUM7QUFDMUksY0FBYyxtSEFBbUgsQ0FBQztBQUNsSSxjQUFjLDJIQUEySCxD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QkFBMEIsQ0FBQztBQUN6QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGlDQUFpQyxDQUFDO0FBRWhELGNBQWMsc0ZBQXNGLENBQUM7QUFDckcsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsdUJBQXVCLENBQUM7QUFFdEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDRDQUE0QyxDQUFDO0FBRTNELGNBQWMsNkVBQTZFLENBQUM7QUFDNUYsY0FBYywrRUFBK0UsQ0FBQztBQUM5RixjQUFjLDBDQUEwQyxDQUFDO0FBRXpELHNCQUFzQjtBQUN0QixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMkRBQTJELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5neC10ZWNobGlmeS1jb3JlXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYWN0aW9uLXBvcHVwJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhc2UtbW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS10YWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kb2N1bWVudC12aWV3ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW50aXR5LWZpbGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbGUtZHJvcHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub3RlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlYXJjaGFibGUtc2VsZWN0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbGl0eSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90aW1lbGluZS1maWx0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9hZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYXRlcmlhbC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9jb3JlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY3Rpb24tcG9wdXAvYWN0aW9uLXBvcHVwLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLXRhYmxlL2RhdGEtdGFibGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RvY3VtZW50LXZpZXdlci9kb2N1bWVudC12aWV3ZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VudGl0eS1maWxlcy9lbnRpdHktZmlsZXMtdmlldy1hbGwubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbGUtZHJvcHBlci9maWxlLWRyb3BwZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25vdGUvbm90ZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VhcmNoYWJsZS1zZWxlY3Rvci9zZWFyY2hhYmxlLXNlbGVjdG9yLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlsaXR5L3V0aWxpdHkubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RpbWVsaW5lLWZpbHRlci90aW1lbGluZS1maWx0ZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xvYWRlci9sb2FkZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLXJvdXRpbmcubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLXVzZXIvZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItcm91dGluZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyLWZvcm0vZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItZm9ybS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyLWZvcm0vZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItZm9ybS1yb3V0aW5nLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLXVzZXIvZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItbGlzdC9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci1saXN0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLXVzZXIvZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItbGlzdC9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci1saXN0LXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VtYWlsLXN1YnNjcmlwdGlvbi9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci1saXN0LWZpbHRlci9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci1saXN0LWZpbHRlci1yb3V0aW5nLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLXVzZXIvZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItbGlzdC1maWx0ZXIvZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItbGlzdC1maWx0ZXIubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi10eXBlL2VtYWlsLXN1YnNjcmlwdGlvbi10eXBlLXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VtYWlsLXN1YnNjcmlwdGlvbi9lbWFpbC1zdWJzY3JpcHRpb24tdHlwZS9lbWFpbC1zdWJzY3JpcHRpb24tdHlwZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi10eXBlL2VtYWlsLXN1YnNjcmlwdGlvbi10eXBlLWZvcm0vZW1haWwtc3Vic2NyaXB0aW9uLXR5cGUtZm9ybS1yb3V0aW5nLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLXR5cGUvZW1haWwtc3Vic2NyaXB0aW9uLXR5cGUtZm9ybS9lbWFpbC1zdWJzY3JpcHRpb24tdHlwZS1mb3JtLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLXR5cGUvZW1haWwtc3Vic2NyaXB0aW9uLXR5cGUtbGlzdC9lbWFpbC1zdWJzY3JpcHRpb24tdHlwZS1saXN0LXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VtYWlsLXN1YnNjcmlwdGlvbi9lbWFpbC1zdWJzY3JpcHRpb24tdHlwZS9lbWFpbC1zdWJzY3JpcHRpb24tdHlwZS1saXN0L2VtYWlsLXN1YnNjcmlwdGlvbi10eXBlLWxpc3QubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi1mb3ItdXNlci9lbWFpbC1zdWJzY3JpcHRpb24tZm9yLXVzZXItcm91dGluZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi1mb3ItdXNlci9lbWFpbC1zdWJzY3JpcHRpb24tZm9yLXVzZXIubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi1mb3ItdXNlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLXR5cGUvZW1haWwtc3Vic2NyaXB0aW9uLXR5cGUtZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLXR5cGUvZW1haWwtc3Vic2NyaXB0aW9uLXR5cGUtbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLXVzZXIvZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLXVzZXIvZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLXVzZXIvZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItbGlzdC1maWx0ZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi90ZWNobGlmeS11cGRhdGUvdGVjaGxpZnktdXBkYXRlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90ZWNobGlmeS11cGRhdGUvdGVjaGxpZnktdXBkYXRlLWhpc3RvcnkvdGVjaGxpZnktdXBkYXRlLWhpc3RvcnkubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RlY2hsaWZ5LXVwZGF0ZS91cGRhdGUtbm90aWZpZXIvdXBkYXRlLW5vdGlmaWVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90ZWNobGlmeS11cGRhdGUvdXBkYXRlLW5vdGlmaWVyL3VwZGF0ZS1ub3RpZmllci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGVjaGxpZnktdXBkYXRlL3RlY2hsaWZ5LXVwZGF0ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RlY2hsaWZ5LXVwZGF0ZS90ZWNobGlmeS11cGRhdGVzLXRlYXNlci90ZWNobGlmeS11cGRhdGVzLXRlYXNlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGVjaGxpZnktdXBkYXRlL3RlY2hsaWZ5LXVwZGF0ZXMtdGVhc2VyL3RlY2hsaWZ5LXVwZGF0ZXMtdGVhc2VyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2V4cG9ydC1leGNlbC9leHBvcnQtZXhjZWwtYnV0dG9uL2V4cG9ydC1leGNlbC1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2V4cG9ydC1leGNlbC9leHBvcnQtZXhjZWwubW9kdWxlJztcblxuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLWZvci1tb2RlbC9hdWRpdC1sb2ctZm9yLW1vZGVsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLWZvci1tb2RlbC9hdWRpdC1sb2ctZm9yLW1vZGVsLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLWZvci1tb2RlbC9hdWRpdC1sb2ctZm9yLW1vZGVsLXJvdXRpbmcubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXVkaXQtbG9nL2F1ZGl0LWxvZy1saXN0L2F1ZGl0LWxvZy1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLWxpc3QvYXVkaXQtbG9nLWxpc3QubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1ZGl0LWxvZy9hdWRpdC1sb2ctbGlzdC9hdWRpdC1sb2ctbGlzdC1yb3V0aW5nLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1ZGl0LWxvZy9hdWRpdC1sb2ctbGlzdC1maWx0ZXIvYXVkaXQtbG9nLWxpc3QtZmlsdGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLWxpc3QtZmlsdGVyL2F1ZGl0LWxvZy1saXN0LWZpbHRlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXVkaXQtbG9nL2F1ZGl0LWxvZy1saXN0LWZpbHRlci9hdWRpdC1sb2ctbGlzdC1maWx0ZXItcm91dGluZy5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLXZpZXcvYXVkaXQtbG9nLXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1ZGl0LWxvZy9hdWRpdC1sb2ctdmlldy9hdWRpdC1sb2ctdmlldy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXVkaXQtbG9nL2F1ZGl0LWxvZy12aWV3L2F1ZGl0LWxvZy12aWV3LXJvdXRpbmcubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXVkaXQtbG9nL2F1ZGl0LWxvZy12aWV3LW1vZGVsL2F1ZGl0LWxvZy12aWV3LW1vZGVsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLXZpZXctbW9kZWwvYXVkaXQtbG9nLXZpZXctbW9kZWwubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1ZGl0LWxvZy9hdWRpdC1sb2ctdmlldy1tb2RlbC9hdWRpdC1sb2ctdmlldy1tb2RlbC1yb3V0aW5nLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1ZGl0LWxvZy9hdWRpdC1sb2dzLXZpZXctbW9kZWwvYXVkaXQtbG9ncy12aWV3LW1vZGVsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9ncy12aWV3LW1vZGVsL2F1ZGl0LWxvZ3Mtdmlldy1tb2RlbC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXVkaXQtbG9nL2F1ZGl0LWxvZ3Mtdmlldy1tb2RlbC9hdWRpdC1sb2dzLXZpZXctbW9kZWwtcm91dGluZy5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLXJvdXRpbmcubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS12YWxpZGF0b3InO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbXBvcnQtY3N2L2ltcG9ydC1jc3YubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ltcG9ydC1jc3YvaW1wb3J0LWNzdi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW1wb3J0LWNzdi9pbXBvcnQtY3N2LWNvbmZpZyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2xvZ2luLWhpc3RvcnktZm9yLXVzZXIvbG9naW4taGlzdG9yeS1mb3ItdXNlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9naW4taGlzdG9yeS1mb3ItdXNlci9sb2dpbi1oaXN0b3J5LWZvci11c2VyLXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xvZ2luLWhpc3RvcnktZm9yLXVzZXIvbG9naW4taGlzdG9yeS1mb3ItdXNlci5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi90ZWNobGlmeS10YWdnZXItdGFnLWZvcm0tZmllbGQvdGVjaGxpZnktdGFnZ2VyLXRhZy1mb3JtLWNvbmZpZy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90ZWNobGlmeS10YWdnZXItdGFnLWZvcm0tZmllbGQvdGVjaGxpZnktdGFnZ2VyLXRhZy1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90ZWNobGlmeS10YWdnZXItdGFnLWZvcm0tZmllbGQvdGVjaGxpZnktdGFnZ2VyLXRhZy1mb3JtLWZpZWxkLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3RlY2hsaWZ5LXRhZ2dlci10YWctc2VsZWN0b3IvdGVjaGxpZnktdGFnZ2VyLXRhZy1zZWxlY3Rvci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGVjaGxpZnktdGFnZ2VyLXRhZy1zZWxlY3Rvci90ZWNobGlmeS10YWdnZXItdGFnLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlYWQtbW9yZS9yZWFkLW1vcmUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlYWQtbW9yZS9yZWFkLW1vcmUuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGVjaGxpZnktZmVhdHVyZS90ZWNobGlmeS1mZWF0dXJlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90ZWNobGlmeS1mZWF0dXJlL3RlY2hsaWZ5LWZlYXR1cmUucm91dGluZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90ZWNobGlmeS1mZWF0dXJlL3RlY2hsaWZ5LWZlYXR1cmUtbGlzdGluZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGVjaGxpZnktZmVhdHVyZS90ZWNobGlmeS1mZWF0dXJlLWVuYWJsZWQuZGlyZWN0aXZlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVxdWVzdC1oZWxwZXIvcmVxdWVzdC1oZWxwZXIuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZvcmdvdC1wYXNzd29yZCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2dpbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcm9maWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JvbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2lnbnVwJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VzZXItY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VzZXItc2VsZWN0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS10YWJsZS9kYXRhLXRhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLXRhYmxlL2RhdGEtdGFibGUubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXNlci91c2VyLWVuYWJsZS1idXR0b24tY29tcG9uZW50L3VzZXItZW5hYmxlLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXNlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jnb3QtcGFzc3dvcmQvZm9yZ290LXBhc3N3b3JkLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2dpbi9sb2dpbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvZmlsZS9wcm9maWxlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yb2xlL3JvbGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JvbGUvcGVybWlzc2lvbi9wZXJtaXNzaW9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaWdudXAvc2lnbnVwLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91c2VyLXNlbGVjdG9yL3VzZXItc2VsZWN0b3IubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VzZXIvdXNlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWNjZXNzLWNvbnRyb2wtY29uZmlnL2FjY2Vzcy1jb250cm9sLWNvbmZpZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmd4LXRlY2hsaWZ5LXVzZXJzL25neC10ZWNobGlmeS11c2Vycy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzdHJpY3RvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGVjaGxpZnktY29tcGFueS1zd2l0Y2hlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbGUtZHJhZ2Ryb3AtdXBsb2FkZXIvZmlsZS1kcmFnZHJvcC11cGxvYWRlci9maWxlLWRyYWdkcm9wLXVwbG9hZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWxlLWRyYWdkcm9wLXVwbG9hZGVyL2ZpbGUtZHJhZ2Ryb3AtdXBsb2FkZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL251bWJlci1pbnB1dC1idXR0b24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sdW1uLXNlbGVjdG9yJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzZXQtcGFzc3dvcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzZXQtcGFzc3dvcmQvcmVzZXQtcGFzc3dvcmQubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcGFueS1pbmZvcm1hdGlvbi9jb21wYW55LWluZm9ybWF0aW9uL2NvbXBhbnktaW5mb3JtYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBhbnktaW5mb3JtYXRpb24vY29tcGFueS1pbmZvLWRpc3BsYXkvY29tcGFueS1pbmZvLWRpc3BsYXkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBhbnktaW5mb3JtYXRpb24vY2xpZW50LnNlcnZpY2UnO1xuXG4vLyBFeHBvcnQgbG9naW4gbW9kdWxlXG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2dpbi9sb2dpbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9naW4vbG9naW4tZm9ybS1maWVsZHMvbG9naW4tZm9ybS1maWVsZHMuY29tcG9uZW50JztcbiJdfQ==