tin-spa 9.0.0 → 9.1.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.
- package/bundles/tin-spa.umd.js +4416 -1589
- package/bundles/tin-spa.umd.js.map +1 -1
- package/bundles/tin-spa.umd.min.js +2 -2
- package/bundles/tin-spa.umd.min.js.map +1 -1
- package/esm2015/lib/classes/Classes.js +58 -45
- package/esm2015/lib/classes/TinCore.js +137 -0
- package/esm2015/lib/components/activity/activity.component.js +84 -18
- package/esm2015/lib/components/attach/attach.component.js +101 -27
- package/esm2015/lib/components/change-password/change-password.component.js +122 -34
- package/esm2015/lib/components/check/check.component.js +39 -33
- package/esm2015/lib/components/chips/chips.component.js +75 -35
- package/esm2015/lib/components/create-account/create-account.component.js +124 -42
- package/esm2015/lib/components/date/date.component.js +54 -33
- package/esm2015/lib/components/datetime/datetime.component.js +43 -30
- package/esm2015/lib/components/filter/filter.component.js +64 -0
- package/esm2015/lib/components/html/html.component.js +30 -25
- package/esm2015/lib/components/label/label.component.js +109 -21
- package/esm2015/lib/components/loader/loader.component.js +43 -20
- package/esm2015/lib/components/login/login.component.js +194 -76
- package/esm2015/lib/components/logs/logs.component.js +180 -28
- package/esm2015/lib/components/message/messageDialog.component.js +128 -17
- package/esm2015/lib/components/money/currency-input-mask.directive.js +187 -0
- package/esm2015/lib/components/money/currency-input-mask.module.js +30 -0
- package/esm2015/lib/components/money/money.component.js +141 -39
- package/esm2015/lib/components/nav-menu/nav-menu.component.js +174 -21
- package/esm2015/lib/components/option/option.component.js +107 -40
- package/esm2015/lib/components/profile/profile.component.js +143 -53
- package/esm2015/lib/components/recover-account/recover-account.component.js +48 -26
- package/esm2015/lib/components/roles/addRoleDialog.component.js +99 -26
- package/esm2015/lib/components/roles/roles.component.js +153 -73
- package/esm2015/lib/components/select/select.component.js +108 -48
- package/esm2015/lib/components/settings/settings.component.js +76 -21
- package/esm2015/lib/components/signup/signup.component.js +107 -24
- package/esm2015/lib/components/steps/steps.component.js +47 -31
- package/esm2015/lib/components/table/table.component.js +301 -35
- package/esm2015/lib/components/text/text.component.js +146 -71
- package/esm2015/lib/components/tiles/tiles.component.js +75 -21
- package/esm2015/lib/components/timeout/timeout.component.js +65 -22
- package/esm2015/lib/components/tin-spa.component.js +19 -12
- package/esm2015/lib/components/users/users.component.js +308 -65
- package/esm2015/lib/components/viewer/viewer.component.js +64 -39
- package/esm2015/lib/components/viewer/viewerDialog.component.js +73 -18
- package/esm2015/lib/dnd.directive.js +30 -25
- package/esm2015/lib/modules/spa-admin.module.js +65 -51
- package/esm2015/lib/modules/spa-index.module.js +45 -20
- package/esm2015/lib/modules/spa-mat.module.js +40 -25
- package/esm2015/lib/modules/spa-user.module.js +43 -19
- package/esm2015/lib/services/auth.service.js +39 -50
- package/esm2015/lib/services/data.service.js +82 -49
- package/esm2015/lib/services/export.service.js +11 -11
- package/esm2015/lib/services/http.service.js +79 -0
- package/esm2015/lib/services/loader-interceptor.service.js +30 -30
- package/esm2015/lib/services/loader.service.js +11 -11
- package/esm2015/lib/services/log.service.js +12 -12
- package/esm2015/lib/services/message.service.js +11 -17
- package/esm2015/lib/services/storage.service.js +12 -11
- package/esm2015/lib/services/tin-spa.service.js +11 -11
- package/esm2015/lib/tin-spa.module.js +113 -48
- package/esm2015/public-api.js +4 -6
- package/esm2015/tin-spa.js +1 -5
- package/esm5/lib/classes/Classes.js +70 -55
- package/esm5/lib/classes/TinCore.js +164 -0
- package/esm5/lib/components/activity/activity.component.js +82 -15
- package/esm5/lib/components/attach/attach.component.js +100 -24
- package/esm5/lib/components/change-password/change-password.component.js +120 -31
- package/esm5/lib/components/check/check.component.js +37 -30
- package/esm5/lib/components/chips/chips.component.js +73 -32
- package/esm5/lib/components/create-account/create-account.component.js +122 -39
- package/esm5/lib/components/date/date.component.js +52 -30
- package/esm5/lib/components/datetime/datetime.component.js +41 -27
- package/esm5/lib/components/filter/filter.component.js +66 -0
- package/esm5/lib/components/html/html.component.js +28 -22
- package/esm5/lib/components/label/label.component.js +107 -18
- package/esm5/lib/components/loader/loader.component.js +41 -17
- package/esm5/lib/components/login/login.component.js +193 -74
- package/esm5/lib/components/logs/logs.component.js +178 -25
- package/esm5/lib/components/message/messageDialog.component.js +126 -14
- package/esm5/lib/components/money/currency-input-mask.directive.js +193 -0
- package/esm5/lib/components/money/currency-input-mask.module.js +34 -0
- package/esm5/lib/components/money/money.component.js +139 -36
- package/esm5/lib/components/nav-menu/nav-menu.component.js +172 -18
- package/esm5/lib/components/option/option.component.js +105 -37
- package/esm5/lib/components/profile/profile.component.js +141 -50
- package/esm5/lib/components/recover-account/recover-account.component.js +46 -23
- package/esm5/lib/components/roles/addRoleDialog.component.js +97 -23
- package/esm5/lib/components/roles/roles.component.js +152 -72
- package/esm5/lib/components/select/select.component.js +106 -45
- package/esm5/lib/components/settings/settings.component.js +74 -18
- package/esm5/lib/components/signup/signup.component.js +105 -21
- package/esm5/lib/components/steps/steps.component.js +46 -28
- package/esm5/lib/components/table/table.component.js +299 -32
- package/esm5/lib/components/text/text.component.js +144 -68
- package/esm5/lib/components/tiles/tiles.component.js +73 -18
- package/esm5/lib/components/timeout/timeout.component.js +63 -19
- package/esm5/lib/components/tin-spa.component.js +16 -8
- package/esm5/lib/components/users/users.component.js +307 -62
- package/esm5/lib/components/viewer/viewer.component.js +62 -36
- package/esm5/lib/components/viewer/viewerDialog.component.js +71 -15
- package/esm5/lib/dnd.directive.js +28 -22
- package/esm5/lib/modules/spa-admin.module.js +63 -48
- package/esm5/lib/modules/spa-index.module.js +43 -17
- package/esm5/lib/modules/spa-mat.module.js +38 -22
- package/esm5/lib/modules/spa-user.module.js +41 -16
- package/esm5/lib/services/auth.service.js +37 -47
- package/esm5/lib/services/data.service.js +89 -55
- package/esm5/lib/services/export.service.js +9 -8
- package/esm5/lib/services/http.service.js +81 -0
- package/esm5/lib/services/loader-interceptor.service.js +28 -27
- package/esm5/lib/services/loader.service.js +9 -8
- package/esm5/lib/services/log.service.js +11 -9
- package/esm5/lib/services/message.service.js +9 -14
- package/esm5/lib/services/storage.service.js +10 -8
- package/esm5/lib/services/tin-spa.service.js +9 -8
- package/esm5/lib/tin-spa.module.js +111 -45
- package/esm5/public-api.js +4 -6
- package/esm5/tin-spa.js +1 -5
- package/fesm2015/tin-spa.js +4418 -1612
- package/fesm2015/tin-spa.js.map +1 -1
- package/fesm5/tin-spa.js +4442 -1612
- package/fesm5/tin-spa.js.map +1 -1
- package/lib/classes/Classes.d.ts +55 -43
- package/lib/classes/TinCore.d.ts +27 -0
- package/lib/components/activity/activity.component.d.ts +3 -5
- package/lib/components/attach/attach.component.d.ts +3 -5
- package/lib/components/change-password/change-password.component.d.ts +11 -9
- package/lib/components/check/check.component.d.ts +3 -5
- package/lib/components/chips/chips.component.d.ts +3 -5
- package/lib/components/create-account/create-account.component.d.ts +13 -13
- package/lib/components/date/date.component.d.ts +6 -7
- package/lib/components/datetime/datetime.component.d.ts +3 -5
- package/lib/components/filter/filter.component.d.ts +15 -0
- package/lib/components/html/html.component.d.ts +3 -5
- package/lib/components/label/label.component.d.ts +3 -5
- package/lib/components/loader/loader.component.d.ts +3 -5
- package/lib/components/login/login.component.d.ts +12 -14
- package/lib/components/logs/logs.component.d.ts +5 -9
- package/lib/components/message/messageDialog.component.d.ts +3 -5
- package/lib/components/money/currency-input-mask.directive.d.ts +41 -0
- package/lib/components/money/currency-input-mask.module.d.ts +8 -0
- package/lib/components/money/money.component.d.ts +19 -8
- package/lib/components/nav-menu/nav-menu.component.d.ts +3 -5
- package/lib/components/option/option.component.d.ts +4 -5
- package/lib/components/profile/profile.component.d.ts +9 -11
- package/lib/components/recover-account/recover-account.component.d.ts +6 -8
- package/lib/components/roles/addRoleDialog.component.d.ts +5 -7
- package/lib/components/roles/roles.component.d.ts +6 -10
- package/lib/components/select/select.component.d.ts +4 -6
- package/lib/components/settings/settings.component.d.ts +5 -7
- package/lib/components/signup/signup.component.d.ts +6 -8
- package/lib/components/steps/steps.component.d.ts +3 -5
- package/lib/components/table/table.component.d.ts +3 -5
- package/lib/components/text/text.component.d.ts +4 -5
- package/lib/components/tiles/tiles.component.d.ts +3 -5
- package/lib/components/timeout/timeout.component.d.ts +3 -5
- package/lib/components/tin-spa.component.d.ts +3 -5
- package/lib/components/users/users.component.d.ts +8 -13
- package/lib/components/viewer/viewer.component.d.ts +3 -5
- package/lib/components/viewer/viewerDialog.component.d.ts +4 -6
- package/lib/dnd.directive.d.ts +3 -5
- package/lib/modules/spa-admin.module.d.ts +13 -19
- package/lib/modules/spa-index.module.d.ts +10 -11
- package/lib/modules/spa-mat.module.d.ts +30 -32
- package/lib/modules/spa-user.module.d.ts +9 -10
- package/lib/services/auth.service.d.ts +14 -14
- package/lib/services/data.service.d.ts +28 -17
- package/lib/services/export.service.d.ts +3 -4
- package/lib/services/http.service.d.ts +22 -0
- package/lib/services/loader-interceptor.service.d.ts +3 -5
- package/lib/services/loader.service.d.ts +3 -4
- package/lib/services/log.service.d.ts +3 -4
- package/lib/services/message.service.d.ts +3 -4
- package/lib/services/storage.service.d.ts +3 -4
- package/lib/services/tin-spa.service.d.ts +3 -4
- package/lib/tin-spa.module.d.ts +35 -35
- package/package.json +2 -10
- package/public-api.d.ts +3 -5
- package/tin-spa.d.ts +1 -6
- package/__ivy_ngcc__/fesm2015/tin-spa.js +0 -6813
- package/__ivy_ngcc__/fesm2015/tin-spa.js.map +0 -1
- package/esm2015/lib/components/profiles/profiles.component.js +0 -16
- package/esm2015/lib/components/roles/editRoleDialog.component.js +0 -57
- package/esm2015/lib/components/roles/viewRoleDialog.component.js +0 -38
- package/esm2015/lib/components/users/addUserDialog.component.js +0 -53
- package/esm2015/lib/components/users/editUserDialog.component.js +0 -96
- package/esm5/lib/components/profiles/profiles.component.js +0 -18
- package/esm5/lib/components/roles/editRoleDialog.component.js +0 -59
- package/esm5/lib/components/roles/viewRoleDialog.component.js +0 -39
- package/esm5/lib/components/users/addUserDialog.component.js +0 -55
- package/esm5/lib/components/users/editUserDialog.component.js +0 -99
- package/lib/components/activity/activity.component.d.ts.__ivy_ngcc_bak +0 -8
- package/lib/components/attach/attach.component.d.ts.__ivy_ngcc_bak +0 -39
- package/lib/components/change-password/change-password.component.d.ts.__ivy_ngcc_bak +0 -20
- package/lib/components/check/check.component.d.ts.__ivy_ngcc_bak +0 -16
- package/lib/components/chips/chips.component.d.ts.__ivy_ngcc_bak +0 -15
- package/lib/components/create-account/create-account.component.d.ts.__ivy_ngcc_bak +0 -25
- package/lib/components/date/date.component.d.ts.__ivy_ngcc_bak +0 -13
- package/lib/components/datetime/datetime.component.d.ts.__ivy_ngcc_bak +0 -12
- package/lib/components/html/html.component.d.ts.__ivy_ngcc_bak +0 -12
- package/lib/components/label/label.component.d.ts.__ivy_ngcc_bak +0 -8
- package/lib/components/loader/loader.component.d.ts.__ivy_ngcc_bak +0 -9
- package/lib/components/login/login.component.d.ts.__ivy_ngcc_bak +0 -29
- package/lib/components/logs/logs.component.d.ts.__ivy_ngcc_bak +0 -17
- package/lib/components/message/messageDialog.component.d.ts.__ivy_ngcc_bak +0 -12
- package/lib/components/money/money.component.d.ts.__ivy_ngcc_bak +0 -14
- package/lib/components/nav-menu/nav-menu.component.d.ts.__ivy_ngcc_bak +0 -17
- package/lib/components/option/option.component.d.ts.__ivy_ngcc_bak +0 -17
- package/lib/components/profile/profile.component.d.ts.__ivy_ngcc_bak +0 -30
- package/lib/components/profiles/profiles.component.d.ts +0 -10
- package/lib/components/profiles/profiles.component.d.ts.__ivy_ngcc_bak +0 -5
- package/lib/components/recover-account/recover-account.component.d.ts.__ivy_ngcc_bak +0 -15
- package/lib/components/roles/addRoleDialog.component.d.ts.__ivy_ngcc_bak +0 -19
- package/lib/components/roles/editRoleDialog.component.d.ts +0 -24
- package/lib/components/roles/editRoleDialog.component.d.ts.__ivy_ngcc_bak +0 -19
- package/lib/components/roles/roles.component.d.ts.__ivy_ngcc_bak +0 -29
- package/lib/components/roles/viewRoleDialog.component.d.ts +0 -20
- package/lib/components/roles/viewRoleDialog.component.d.ts.__ivy_ngcc_bak +0 -15
- package/lib/components/select/select.component.d.ts.__ivy_ngcc_bak +0 -20
- package/lib/components/settings/settings.component.d.ts.__ivy_ngcc_bak +0 -16
- package/lib/components/signup/signup.component.d.ts.__ivy_ngcc_bak +0 -20
- package/lib/components/steps/steps.component.d.ts.__ivy_ngcc_bak +0 -15
- package/lib/components/table/table.component.d.ts.__ivy_ngcc_bak +0 -25
- package/lib/components/text/text.component.d.ts.__ivy_ngcc_bak +0 -37
- package/lib/components/tiles/tiles.component.d.ts.__ivy_ngcc_bak +0 -11
- package/lib/components/timeout/timeout.component.d.ts.__ivy_ngcc_bak +0 -21
- package/lib/components/tin-spa.component.d.ts.__ivy_ngcc_bak +0 -5
- package/lib/components/users/addUserDialog.component.d.ts +0 -21
- package/lib/components/users/addUserDialog.component.d.ts.__ivy_ngcc_bak +0 -16
- package/lib/components/users/editUserDialog.component.d.ts +0 -32
- package/lib/components/users/editUserDialog.component.d.ts.__ivy_ngcc_bak +0 -27
- package/lib/components/users/users.component.d.ts.__ivy_ngcc_bak +0 -35
- package/lib/components/viewer/viewer.component.d.ts.__ivy_ngcc_bak +0 -16
- package/lib/components/viewer/viewerDialog.component.d.ts.__ivy_ngcc_bak +0 -19
- package/lib/dnd.directive.d.ts.__ivy_ngcc_bak +0 -8
- package/lib/modules/spa-admin.module.d.ts.__ivy_ngcc_bak +0 -2
- package/lib/modules/spa-index.module.d.ts.__ivy_ngcc_bak +0 -2
- package/lib/modules/spa-mat.module.d.ts.__ivy_ngcc_bak +0 -2
- package/lib/modules/spa-user.module.d.ts.__ivy_ngcc_bak +0 -2
- package/lib/services/auth.service.d.ts.__ivy_ngcc_bak +0 -45
- package/lib/services/data.service.d.ts.__ivy_ngcc_bak +0 -23
- package/lib/services/export.service.d.ts.__ivy_ngcc_bak +0 -7
- package/lib/services/loader-interceptor.service.d.ts.__ivy_ngcc_bak +0 -18
- package/lib/services/loader.service.d.ts.__ivy_ngcc_bak +0 -5
- package/lib/services/log.service.d.ts.__ivy_ngcc_bak +0 -16
- package/lib/services/message.service.d.ts.__ivy_ngcc_bak +0 -12
- package/lib/services/storage.service.d.ts.__ivy_ngcc_bak +0 -7
- package/lib/services/tin-spa.service.d.ts.__ivy_ngcc_bak +0 -3
- package/lib/tin-spa.module.d.ts.__ivy_ngcc_bak +0 -2
- package/tin-spa.d.ts.__ivy_ngcc_bak +0 -8
- package/tin-spa.metadata.json +0 -1
|
@@ -1,20 +1,79 @@
|
|
|
1
|
-
import {
|
|
2
|
-
//-----------------Change for Build and Reference purposes for SERVICES ONLY---------//
|
|
3
|
-
import { HttpService, ApiResponse, Core, Constants } from "tin-core";
|
|
4
|
-
// import { HttpService,ApiResponse, Core, Constants } from 'tin-core';
|
|
5
|
-
//----------------------------------------------------------------------------------//
|
|
6
|
-
import { MessageService } from "../../services/message.service";
|
|
7
|
-
import { StorageService } from "../../services/storage.service";
|
|
8
|
-
import { AuthService } from "../../services/auth.service";
|
|
9
|
-
import { Component, Input } from "@angular/core";
|
|
10
|
-
import { Router, ActivatedRoute } from "@angular/router";
|
|
11
|
-
import { DataService } from "../../services/data.service";
|
|
12
|
-
import { LogService } from "./../../services/log.service";
|
|
13
|
-
// import { AuthService } from "../services/auth.service";
|
|
14
|
-
// import { ApiResponse, Core } from "../classes/TinCore";
|
|
1
|
+
import { Component } from "@angular/core";
|
|
15
2
|
import { User, AppConfig } from "../../classes/Classes";
|
|
3
|
+
import { Constants } from "../../classes/TinCore";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../services/http.service";
|
|
6
|
+
import * as i2 from "../../services/storage.service";
|
|
7
|
+
import * as i3 from "@angular/router";
|
|
8
|
+
import * as i4 from "../../services/message.service";
|
|
9
|
+
import * as i5 from "../../services/data.service";
|
|
10
|
+
import * as i6 from "../../services/auth.service";
|
|
11
|
+
import * as i7 from "./../../services/log.service";
|
|
12
|
+
import * as i8 from "@angular/common";
|
|
13
|
+
import * as i9 from "@angular/material/card";
|
|
14
|
+
import * as i10 from "../text/text.component";
|
|
15
|
+
import * as i11 from "@angular/material/form-field";
|
|
16
|
+
import * as i12 from "@angular/material/input";
|
|
17
|
+
import * as i13 from "@angular/forms";
|
|
18
|
+
import * as i14 from "@angular/material/button";
|
|
19
|
+
import * as i15 from "@angular/material/icon";
|
|
20
|
+
function LoginComponent_div_1_img_1_Template(rf, ctx) { if (rf & 1) {
|
|
21
|
+
i0.ɵɵelement(0, "img", 21);
|
|
22
|
+
} if (rf & 2) {
|
|
23
|
+
var ctx_r4 = i0.ɵɵnextContext(2);
|
|
24
|
+
i0.ɵɵproperty("src", ctx_r4.appConfig.logo, i0.ɵɵsanitizeUrl);
|
|
25
|
+
} }
|
|
26
|
+
function LoginComponent_div_1_img_2_Template(rf, ctx) { if (rf & 1) {
|
|
27
|
+
i0.ɵɵelement(0, "img", 22);
|
|
28
|
+
} if (rf & 2) {
|
|
29
|
+
var ctx_r5 = i0.ɵɵnextContext(2);
|
|
30
|
+
i0.ɵɵproperty("src", ctx_r5.appConfig.logo, i0.ɵɵsanitizeUrl);
|
|
31
|
+
} }
|
|
32
|
+
function LoginComponent_div_1_img_3_Template(rf, ctx) { if (rf & 1) {
|
|
33
|
+
i0.ɵɵelement(0, "img", 23);
|
|
34
|
+
} if (rf & 2) {
|
|
35
|
+
var ctx_r6 = i0.ɵɵnextContext(2);
|
|
36
|
+
i0.ɵɵproperty("src", ctx_r6.appConfig.logo, i0.ɵɵsanitizeUrl);
|
|
37
|
+
} }
|
|
38
|
+
function LoginComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
39
|
+
i0.ɵɵelementStart(0, "div", 17);
|
|
40
|
+
i0.ɵɵtemplate(1, LoginComponent_div_1_img_1_Template, 1, 1, "img", 18);
|
|
41
|
+
i0.ɵɵtemplate(2, LoginComponent_div_1_img_2_Template, 1, 1, "img", 19);
|
|
42
|
+
i0.ɵɵtemplate(3, LoginComponent_div_1_img_3_Template, 1, 1, "img", 20);
|
|
43
|
+
i0.ɵɵelementEnd();
|
|
44
|
+
} if (rf & 2) {
|
|
45
|
+
var ctx_r0 = i0.ɵɵnextContext();
|
|
46
|
+
i0.ɵɵadvance(1);
|
|
47
|
+
i0.ɵɵproperty("ngIf", ctx_r0.appConfig.logoSize == "normal");
|
|
48
|
+
i0.ɵɵadvance(1);
|
|
49
|
+
i0.ɵɵproperty("ngIf", ctx_r0.appConfig.logoSize == "medium");
|
|
50
|
+
i0.ɵɵadvance(1);
|
|
51
|
+
i0.ɵɵproperty("ngIf", ctx_r0.appConfig.logoSize == "large");
|
|
52
|
+
} }
|
|
53
|
+
function LoginComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
54
|
+
i0.ɵɵelement(0, "div", 24);
|
|
55
|
+
} }
|
|
56
|
+
function LoginComponent_div_25_Template(rf, ctx) { if (rf & 1) {
|
|
57
|
+
var _r8 = i0.ɵɵgetCurrentView();
|
|
58
|
+
i0.ɵɵelementStart(0, "div", 13);
|
|
59
|
+
i0.ɵɵelementStart(1, "button", 25);
|
|
60
|
+
i0.ɵɵlistener("click", function LoginComponent_div_25_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r8); var ctx_r7 = i0.ɵɵnextContext(); return ctx_r7.signup(); });
|
|
61
|
+
i0.ɵɵtext(2, "Signup");
|
|
62
|
+
i0.ɵɵelementEnd();
|
|
63
|
+
i0.ɵɵelementEnd();
|
|
64
|
+
} }
|
|
65
|
+
function LoginComponent_div_26_Template(rf, ctx) { if (rf & 1) {
|
|
66
|
+
var _r10 = i0.ɵɵgetCurrentView();
|
|
67
|
+
i0.ɵɵelementStart(0, "div");
|
|
68
|
+
i0.ɵɵelement(1, "br");
|
|
69
|
+
i0.ɵɵelementStart(2, "a", 26);
|
|
70
|
+
i0.ɵɵlistener("click", function LoginComponent_div_26_Template_a_click_2_listener() { i0.ɵɵrestoreView(_r10); var ctx_r9 = i0.ɵɵnextContext(); return ctx_r9.recoverAccount(); });
|
|
71
|
+
i0.ɵɵtext(3, "Forgot your password ?");
|
|
72
|
+
i0.ɵɵelementEnd();
|
|
73
|
+
i0.ɵɵelementEnd();
|
|
74
|
+
} }
|
|
16
75
|
var LoginComponent = /** @class */ (function () {
|
|
17
|
-
function LoginComponent(httpService, storageService, router, messageService, dataService, authService, logService) {
|
|
76
|
+
function LoginComponent(httpService, storageService, router, messageService, dataService, authService, logService, route) {
|
|
18
77
|
this.httpService = httpService;
|
|
19
78
|
this.storageService = storageService;
|
|
20
79
|
this.router = router;
|
|
@@ -22,15 +81,24 @@ var LoginComponent = /** @class */ (function () {
|
|
|
22
81
|
this.dataService = dataService;
|
|
23
82
|
this.authService = authService;
|
|
24
83
|
this.logService = logService;
|
|
84
|
+
this.route = route;
|
|
25
85
|
this.user = new User();
|
|
26
86
|
this.hide = true;
|
|
27
87
|
this.isProcessing = false;
|
|
28
88
|
this.appConfig = new AppConfig();
|
|
29
89
|
}
|
|
30
90
|
LoginComponent.prototype.ngOnInit = function () {
|
|
31
|
-
this
|
|
32
|
-
this.authService.
|
|
91
|
+
var _this = this;
|
|
92
|
+
this.authService.Updateloggedin(false);
|
|
93
|
+
this.authService.UpdateRole(null);
|
|
33
94
|
this.storageService.clear();
|
|
95
|
+
this.dataService.appConfigObserv.subscribe(function (x) { return _this.appConfig = x; });
|
|
96
|
+
if (this.route.snapshot.queryParams.redirectTo != undefined) {
|
|
97
|
+
this.redirectPath = this.route.snapshot.queryParams.redirectTo;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
this.redirectPath = "home";
|
|
101
|
+
}
|
|
34
102
|
};
|
|
35
103
|
LoginComponent.prototype.signup = function () {
|
|
36
104
|
this.router.navigate(["signup"]);
|
|
@@ -40,44 +108,45 @@ var LoginComponent = /** @class */ (function () {
|
|
|
40
108
|
};
|
|
41
109
|
LoginComponent.prototype.login = function () {
|
|
42
110
|
var _this = this;
|
|
43
|
-
if (this.user.
|
|
111
|
+
if (this.user.userName == "" || this.user.password == "") {
|
|
44
112
|
this.messageService.toast("Please enter your credentials");
|
|
45
113
|
return;
|
|
46
114
|
}
|
|
47
115
|
this.logService.info("logging in");
|
|
48
116
|
this.isProcessing = true;
|
|
49
|
-
this.
|
|
117
|
+
this.user.userName = this.user.userName;
|
|
118
|
+
this.dataService.Login(this.user).subscribe(function (apiResponse) {
|
|
50
119
|
_this.isProcessing = false;
|
|
51
|
-
if (apiResponse.
|
|
52
|
-
if (apiResponse.
|
|
120
|
+
if (apiResponse.success) {
|
|
121
|
+
if (apiResponse.data.authType == 'local' && !_this.appConfig.localAuth) {
|
|
53
122
|
_this.messageService.toast("Contact Admin: Authentication Type error");
|
|
54
123
|
return;
|
|
55
124
|
}
|
|
56
|
-
if (apiResponse.
|
|
125
|
+
if (apiResponse.data.authType == 'AD' && !_this.appConfig.ADAuth) {
|
|
57
126
|
_this.messageService.toast("Contact Admin: Authentication Type error");
|
|
58
127
|
return;
|
|
59
128
|
}
|
|
60
|
-
_this.authService.
|
|
61
|
-
_this.authService.
|
|
62
|
-
_this.storageService.store(Constants.AUTH_TOKEN, apiResponse.
|
|
63
|
-
_this.authService.
|
|
64
|
-
_this.storageService.store(Constants.AUTH_TOKEN_EXPIRE, apiResponse.
|
|
65
|
-
_this.authService.
|
|
66
|
-
_this.storageService.store(Constants.AUTH_USER, _this.user.
|
|
67
|
-
_this.authService.updateLoggedUserFullName(apiResponse.
|
|
68
|
-
_this.storageService.store(Constants.AUTH_NAME, apiResponse.
|
|
69
|
-
_this.authService.
|
|
70
|
-
_this.storageService.store(Constants.AUTH_ROLES, JSON.stringify(apiResponse.
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
_this.router.navigate(["home/user/change-password"]);
|
|
129
|
+
_this.authService.Updateloggedin(true);
|
|
130
|
+
_this.authService.UpdateToken(apiResponse.data.token);
|
|
131
|
+
_this.storageService.store(Constants.AUTH_TOKEN, apiResponse.data.token);
|
|
132
|
+
_this.authService.UpdateTokenExpire(apiResponse.data.expiration);
|
|
133
|
+
_this.storageService.store(Constants.AUTH_TOKEN_EXPIRE, apiResponse.data.expiration);
|
|
134
|
+
_this.authService.UpdateCurrentUser(_this.user.userName);
|
|
135
|
+
_this.storageService.store(Constants.AUTH_USER, _this.user.userName);
|
|
136
|
+
_this.authService.updateLoggedUserFullName(apiResponse.data.firstName);
|
|
137
|
+
_this.storageService.store(Constants.AUTH_NAME, apiResponse.data.firstName);
|
|
138
|
+
_this.authService.UpdateRole(apiResponse.data.role);
|
|
139
|
+
_this.storageService.store(Constants.AUTH_ROLES, JSON.stringify(apiResponse.data.role));
|
|
140
|
+
_this.logService.info("logged in");
|
|
141
|
+
if (apiResponse.data.changePassword == true && apiResponse.data.authType == 'local') {
|
|
142
|
+
_this.router.navigate(["home/user/change-password"], {
|
|
143
|
+
queryParams: { redirectTo: _this.redirectPath },
|
|
144
|
+
queryParamsHandling: 'merge',
|
|
145
|
+
skipLocationChange: false
|
|
146
|
+
});
|
|
147
|
+
return;
|
|
80
148
|
}
|
|
149
|
+
_this.router.navigate([_this.redirectPath]);
|
|
81
150
|
}
|
|
82
151
|
else {
|
|
83
152
|
_this.messageService.toast("Error: " + apiResponse.message);
|
|
@@ -88,38 +157,88 @@ var LoginComponent = /** @class */ (function () {
|
|
|
88
157
|
_this.messageService.toast(_this.httpService.Error(error));
|
|
89
158
|
});
|
|
90
159
|
};
|
|
91
|
-
LoginComponent
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
160
|
+
LoginComponent.ɵfac = function LoginComponent_Factory(t) { return new (t || LoginComponent)(i0.ɵɵdirectiveInject(i1.HttpService), i0.ɵɵdirectiveInject(i2.StorageService), i0.ɵɵdirectiveInject(i3.Router), i0.ɵɵdirectiveInject(i4.MessageService), i0.ɵɵdirectiveInject(i5.DataServiceLib), i0.ɵɵdirectiveInject(i6.AuthService), i0.ɵɵdirectiveInject(i7.LogService), i0.ɵɵdirectiveInject(i3.ActivatedRoute)); };
|
|
161
|
+
LoginComponent.ɵcmp = i0.ɵɵdefineComponent({ type: LoginComponent, selectors: [["spa-login"]], decls: 27, vars: 12, consts: [[1, "tin-bg-login", "login-page"], ["class", "d-flex justify-content-center row align-items-center", "style", "margin-top:3em;margin-bottom:1em", 4, "ngIf"], ["style", "margin-top:2em", 4, "ngIf"], [1, "d-flex", "justify-content-center", "row", "align-items-center", 2, "margin-top", "3em"], [1, "d-none", "d-sm-block"], [2, "margin-left", "1em"], [1, "mat-elevation-z3", 2, "width", "400px"], [1, "tin-input", "mt-2"], ["id", "txtuserName", "display", "Username", 3, "value", "valueChange"], ["id", "txtPassword", "matInput", "", "autocomplete", "off", 3, "type", "ngModel", "keyup.enter", "ngModelChange"], ["mat-icon-button", "", "matSuffix", "", 3, "click"], [2, "font-size", "18px"], [1, "row"], [1, "col", "d-flex", "justify-content-center"], ["id", "btnLogin", "mat-raised-button", "", "color", "primary", 2, "width", "100px", 3, "disabled", "click"], ["class", "col d-flex justify-content-center", 4, "ngIf"], [4, "ngIf"], [1, "d-flex", "justify-content-center", "row", "align-items-center", 2, "margin-top", "3em", "margin-bottom", "1em"], ["style", "height:100px;margin-right:3em;margin-left:3em", 3, "src", 4, "ngIf"], ["style", "height:150px;margin-right:3em;margin-left:3em", 3, "src", 4, "ngIf"], ["style", "height:250px;margin-right:3em;margin-left:3em", 3, "src", 4, "ngIf"], [2, "height", "100px", "margin-right", "3em", "margin-left", "3em", 3, "src"], [2, "height", "150px", "margin-right", "3em", "margin-left", "3em", 3, "src"], [2, "height", "250px", "margin-right", "3em", "margin-left", "3em", 3, "src"], [2, "margin-top", "2em"], ["id", "btnSignup", "mat-stroked-button", "", "color", "primary", 2, "width", "100px", 3, "click"], ["mat-button", "", "id", "lnkRecover", 2, "margin-left", "1em", 3, "click"]], template: function LoginComponent_Template(rf, ctx) { if (rf & 1) {
|
|
162
|
+
i0.ɵɵelementStart(0, "div", 0);
|
|
163
|
+
i0.ɵɵtemplate(1, LoginComponent_div_1_Template, 4, 3, "div", 1);
|
|
164
|
+
i0.ɵɵtemplate(2, LoginComponent_div_2_Template, 1, 0, "div", 2);
|
|
165
|
+
i0.ɵɵelementStart(3, "div", 3);
|
|
166
|
+
i0.ɵɵelement(4, "div", 4);
|
|
167
|
+
i0.ɵɵelementStart(5, "div", 5);
|
|
168
|
+
i0.ɵɵelementStart(6, "mat-card", 6);
|
|
169
|
+
i0.ɵɵelementStart(7, "mat-card-header");
|
|
170
|
+
i0.ɵɵelementStart(8, "mat-card-title");
|
|
171
|
+
i0.ɵɵtext(9);
|
|
172
|
+
i0.ɵɵelementEnd();
|
|
173
|
+
i0.ɵɵelementEnd();
|
|
174
|
+
i0.ɵɵelementStart(10, "mat-card-content");
|
|
175
|
+
i0.ɵɵelementStart(11, "div", 7);
|
|
176
|
+
i0.ɵɵelementStart(12, "spa-text", 8);
|
|
177
|
+
i0.ɵɵlistener("valueChange", function LoginComponent_Template_spa_text_valueChange_12_listener($event) { return ctx.user.userName = $event; });
|
|
178
|
+
i0.ɵɵelementEnd();
|
|
179
|
+
i0.ɵɵelementStart(13, "mat-form-field");
|
|
180
|
+
i0.ɵɵelementStart(14, "mat-label");
|
|
181
|
+
i0.ɵɵtext(15, "Password");
|
|
182
|
+
i0.ɵɵelementEnd();
|
|
183
|
+
i0.ɵɵelementStart(16, "input", 9);
|
|
184
|
+
i0.ɵɵlistener("keyup.enter", function LoginComponent_Template_input_keyup_enter_16_listener() { return ctx.login(); })("ngModelChange", function LoginComponent_Template_input_ngModelChange_16_listener($event) { return ctx.user.password = $event; });
|
|
185
|
+
i0.ɵɵelementEnd();
|
|
186
|
+
i0.ɵɵelementStart(17, "button", 10);
|
|
187
|
+
i0.ɵɵlistener("click", function LoginComponent_Template_button_click_17_listener() { return ctx.hide = !ctx.hide; });
|
|
188
|
+
i0.ɵɵelementStart(18, "mat-icon", 11);
|
|
189
|
+
i0.ɵɵtext(19);
|
|
190
|
+
i0.ɵɵelementEnd();
|
|
191
|
+
i0.ɵɵelementEnd();
|
|
192
|
+
i0.ɵɵelementEnd();
|
|
193
|
+
i0.ɵɵelementEnd();
|
|
194
|
+
i0.ɵɵelementEnd();
|
|
195
|
+
i0.ɵɵelementStart(20, "mat-card-actions");
|
|
196
|
+
i0.ɵɵelementStart(21, "div", 12);
|
|
197
|
+
i0.ɵɵelementStart(22, "div", 13);
|
|
198
|
+
i0.ɵɵelementStart(23, "button", 14);
|
|
199
|
+
i0.ɵɵlistener("click", function LoginComponent_Template_button_click_23_listener() { return ctx.login(); });
|
|
200
|
+
i0.ɵɵtext(24, "Login");
|
|
201
|
+
i0.ɵɵelementEnd();
|
|
202
|
+
i0.ɵɵelementEnd();
|
|
203
|
+
i0.ɵɵtemplate(25, LoginComponent_div_25_Template, 3, 0, "div", 15);
|
|
204
|
+
i0.ɵɵelementEnd();
|
|
205
|
+
i0.ɵɵelementEnd();
|
|
206
|
+
i0.ɵɵelementEnd();
|
|
207
|
+
i0.ɵɵtemplate(26, LoginComponent_div_26_Template, 4, 0, "div", 16);
|
|
208
|
+
i0.ɵɵelementEnd();
|
|
209
|
+
i0.ɵɵelementEnd();
|
|
210
|
+
i0.ɵɵelementEnd();
|
|
211
|
+
} if (rf & 2) {
|
|
212
|
+
i0.ɵɵadvance(1);
|
|
213
|
+
i0.ɵɵproperty("ngIf", ctx.appConfig.logo != "");
|
|
214
|
+
i0.ɵɵadvance(1);
|
|
215
|
+
i0.ɵɵproperty("ngIf", ctx.appConfig.logo == "");
|
|
216
|
+
i0.ɵɵadvance(7);
|
|
217
|
+
i0.ɵɵtextInterpolate(ctx.appConfig.appName);
|
|
218
|
+
i0.ɵɵadvance(3);
|
|
219
|
+
i0.ɵɵproperty("value", ctx.user.userName);
|
|
220
|
+
i0.ɵɵadvance(4);
|
|
221
|
+
i0.ɵɵproperty("type", ctx.hide ? "password" : "text")("ngModel", ctx.user.password);
|
|
222
|
+
i0.ɵɵadvance(1);
|
|
223
|
+
i0.ɵɵattribute("aria-label", "Hide password")("aria-pressed", ctx.hide);
|
|
224
|
+
i0.ɵɵadvance(2);
|
|
225
|
+
i0.ɵɵtextInterpolate(ctx.hide ? "visibility_off" : "visibility");
|
|
226
|
+
i0.ɵɵadvance(4);
|
|
227
|
+
i0.ɵɵproperty("disabled", ctx.isProcessing);
|
|
228
|
+
i0.ɵɵadvance(2);
|
|
229
|
+
i0.ɵɵproperty("ngIf", ctx.appConfig.selfService);
|
|
230
|
+
i0.ɵɵadvance(1);
|
|
231
|
+
i0.ɵɵproperty("ngIf", ctx.appConfig.selfService);
|
|
232
|
+
} }, directives: [i8.NgIf, i9.MatCard, i9.MatCardHeader, i9.MatCardTitle, i9.MatCardContent, i10.TextComponent, i11.MatFormField, i11.MatLabel, i12.MatInput, i13.DefaultValueAccessor, i13.NgControlStatus, i13.NgModel, i14.MatButton, i11.MatSuffix, i15.MatIcon, i9.MatCardActions, i14.MatAnchor], styles: [".login-page[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0;bottom:0;overflow:auto}.tin-bg-login[_ngcontent-%COMP%]{background-image:url(~/assets/login-bg.jpg);background-size:100%}"] });
|
|
122
233
|
return LoginComponent;
|
|
123
234
|
}());
|
|
124
235
|
export { LoginComponent };
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsdUZBQXVGO0FBQ3ZGLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDckUsdUVBQXVFO0FBQ3ZFLHNGQUFzRjtBQUN0RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUQsMERBQTBEO0FBQzFELDBEQUEwRDtBQUMxRCxPQUFPLEVBQUUsSUFBSSxFQUFlLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBV3JFO0lBQ0Usd0JBQ1UsV0FBd0IsRUFDeEIsY0FBOEIsRUFDL0IsTUFBYyxFQUNiLGNBQThCLEVBQzlCLFdBQXdCLEVBQ3pCLFdBQXdCLEVBQ3ZCLFVBQXNCO1FBTnRCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUMvQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2IsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3pCLGdCQUFXLEdBQVgs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QUFRLEVBQUUsV0FBVztZQUNyQixrc0dBQXFDOztTQUV0QyxDQUFDO09BQ1csY0FBYyxDQW9IMUI7SUFBRCxxQkFBQztDQUFBLEFBcEhELElBb0hDO1NBcEhZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy0tLS0tLS0tLS0tLS0tLS0tQ2hhbmdlIGZvciBCdWlsZCBhbmQgUmVmZXJlbmNlIHB1cnBvc2VzIGZvciBTRVJWSUNFUyBPTkxZLS0tLS0tLS0tLy9cclxuaW1wb3J0IHsgSHR0cFNlcnZpY2UsIEFwaVJlc3BvbnNlLCBDb3JlLCBDb25zdGFudHMgfSBmcm9tIFwidGluLWNvcmVcIjtcclxuLy8gaW1wb3J0IHsgSHR0cFNlcnZpY2UsQXBpUmVzcG9uc2UsIENvcmUsIENvbnN0YW50cyB9IGZyb20gJ3Rpbi1jb3JlJztcclxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy9cclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvbWVzc2FnZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3N0b3JhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUm91dGVyLCBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyXCI7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2RhdGEuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSBcIi4vLi4vLi4vc2VydmljZXMvbG9nLnNlcnZpY2VcIjtcclxuLy8gaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XHJcbi8vIGltcG9ydCB7IEFwaVJlc3BvbnNlLCBDb3JlIH0gZnJvbSBcIi4uL2NsYXNzZXMvVGluQ29yZVwiO1xyXG5pbXBvcnQgeyBVc2VyLCBsb2dpbkNvbmZpZywgQXBwQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NsYXNzZXMvQ2xhc3Nlc1wiO1xyXG5pbXBvcnQgeyBDdXJyZW5jeVBpcGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbi8vIGltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3N0b3JhZ2Uuc2VydmljZVwiO1xyXG4vLyBpbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tIFwiLi4vLi4vY2xhc3Nlcy9UaW5TcGFcIjtcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInNwYS1sb2dpblwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vbG9naW4uY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vbG9naW4uY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2dpbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSxcclxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcclxuICAgIHB1YmxpYyBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGxvZ1NlcnZpY2U6IExvZ1NlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIHB1YmxpYyB1c2VyID0gbmV3IFVzZXIoKTtcclxuICBoaWRlID0gdHJ1ZTtcclxuICBpc1Byb2Nlc3Npbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBjb25maWc6IGxvZ2luQ29uZmlnO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2UudXBkYXRlbG9nZ2VkaW4oZmFsc2UpO1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS51cGRhdGVSb2xlKG51bGwpO1xyXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5jbGVhcigpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgYXBwQ29uZmlnID0gbmV3IEFwcENvbmZpZygpO1xyXG5cclxuICBwdWJsaWMgc2lnbnVwKCkge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wic2lnbnVwXCJdKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWNvdmVyQWNjb3VudCgpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcInJlY292ZXItYWNjb3VudFwiXSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9naW4oKSB7XHJcblxyXG4gICAgaWYgKHRoaXMudXNlci51c2VySUQgPT0gXCJcIiB8fCB0aGlzLnVzZXIucGFzc3dvcmQgPT0gXCJcIikge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiUGxlYXNlIGVudGVyIHlvdXIgY3JlZGVudGlhbHNcIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcblxyXG4gICAgdGhpcy5sb2dTZXJ2aWNlLmluZm8oXCJsb2dnaW5nIGluXCIpO1xyXG5cclxuICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLmxvZ2luKHRoaXMudXNlcikuc3Vic2NyaWJlKFxyXG4gICAgICAoYXBpUmVzcG9uc2U6IEFwaVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgaWYgKGFwaVJlc3BvbnNlLm1lc3NhZ2UgPT0gXCJzdWNjZXNzXCIpIHtcclxuXHJcblxyXG4gICAgICAgICAgaWYgKGFwaVJlc3BvbnNlLmRzLmR0VXNlclswXVtcImF1dGhUeXBlXCJdID09ICdsb2NhbCcgJiYgIXRoaXMuYXBwQ29uZmlnLmxvY2FsQXV0aCl7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJDb250YWN0IEFkbWluOiBBdXRoZW50aWNhdGlvbiBUeXBlIGVycm9yXCIpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKGFwaVJlc3BvbnNlLmRzLmR0VXNlclswXVtcImF1dGhUeXBlXCJdID09ICdBRCcgJiYgIXRoaXMuYXBwQ29uZmlnLkFEQXV0aCkge1xyXG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiQ29udGFjdCBBZG1pbjogQXV0aGVudGljYXRpb24gVHlwZSBlcnJvclwiKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLnVwZGF0ZWxvZ2dlZGluKHRydWUpO1xyXG5cclxuICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2UudXBkYXRlVG9rZW4oYXBpUmVzcG9uc2UuZHMuZHRVc2VyWzBdW1widG9rZW5cIl0pO1xyXG4gICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zdG9yZShDb25zdGFudHMuQVVUSF9UT0tFTiwgYXBpUmVzcG9uc2UuZHMuZHRVc2VyWzBdW1widG9rZW5cIl0pO1xyXG5cclxuICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2UudXBkYXRlVG9rZW5FeHBpcmUoYXBpUmVzcG9uc2UuZHMuZHRVc2VyWzBdW1widG9rZW5FeHBpcmVcIl0pO1xyXG4gICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zdG9yZShDb25zdGFudHMuQVVUSF9UT0tFTl9FWFBJUkUsIGFwaVJlc3BvbnNlLmRzLmR0VXNlclswXVtcInRva2VuRXhwaXJlXCJdKTtcclxuXHJcbiAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLnVwZGF0ZUN1cnJlbnRVc2VyKHRoaXMudXNlci51c2VySUQpO1xyXG4gICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zdG9yZShDb25zdGFudHMuQVVUSF9VU0VSLCB0aGlzLnVzZXIudXNlcklEKTtcclxuXHJcbiAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLnVwZGF0ZUxvZ2dlZFVzZXJGdWxsTmFtZSggYXBpUmVzcG9uc2UuZHMuZHRQcm9maWxlWzBdW1wiZmlyc3ROYW1lXCJdICk7XHJcbiAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnN0b3JlKENvbnN0YW50cy5BVVRIX05BTUUsIGFwaVJlc3BvbnNlLmRzLmR0UHJvZmlsZVswXVtcImZpcnN0TmFtZVwiXVxyXG4gICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLnVwZGF0ZVJvbGUoYXBpUmVzcG9uc2UuZHMuZHRSb2xlWzBdKTtcclxuICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc3RvcmUoQ29uc3RhbnRzLkFVVEhfUk9MRVMsIEpTT04uc3RyaW5naWZ5KGFwaVJlc3BvbnNlLmRzLmR0Um9sZVswXSkpO1xyXG4gICAgICAgICAgLy8gdGhpcy5zZXRSb2xlKGFwaVJlc3BvbnNlLmR0WzBdW1wiYWNjZXNzTGV2ZWxcIl0pO1xyXG5cclxuICAgICAgICAgIC8vIHRoaXMuc2V0Um9sZShcIjFcIik7XHJcblxyXG4gICAgICAgICAgaWYgKGFwaVJlc3BvbnNlLmRzLmR0VXNlclswXVtcImNoYW5nZVBhc3N3b3JkXCJdID09IFwiMFwiKSB7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcImhvbWVcIl0pO1xyXG4gICAgICAgICAgICAvLyB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiV2VsY29tZVwiKTtcclxuICAgICAgICAgICAgdGhpcy5sb2dTZXJ2aWNlLmluZm8oXCJsb2dnZWQgaW5cIik7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJob21lL3VzZXIvY2hhbmdlLXBhc3N3b3JkXCJdKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJFcnJvcjogXCIgKyBhcGlSZXNwb25zZS5tZXNzYWdlKTtcclxuICAgICAgICAgIHRoaXMudXNlci5wYXNzd29yZCA9IFwiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICB0aGlzLmlzUHJvY2Vzc2luZyA9IGZhbHNlO1xyXG5cclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KHRoaXMuaHR0cFNlcnZpY2UuRXJyb3IoZXJyb3IpKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHNldFJvbGUocm9sZUlEOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZGF0YVNlcnZpY2VcclxuICAgICAgLkdldFJvbGUoXCJpZFwiLCByb2xlSUQpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlOiBBcGlSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UudXBkYXRlUm9sZShhcGlSZXNwb25zZS5kdFswXSk7XHJcblxyXG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc3RvcmUoXHJcbiAgICAgICAgICBDb25zdGFudHMuQVVUSF9ST0xFUyxcclxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KGFwaVJlc3BvbnNlLmR0WzBdKVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
236
|
+
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(LoginComponent, [{
|
|
237
|
+
type: Component,
|
|
238
|
+
args: [{
|
|
239
|
+
selector: "spa-login",
|
|
240
|
+
templateUrl: "./login.component.html",
|
|
241
|
+
styleUrls: ["./login.component.scss"],
|
|
242
|
+
}]
|
|
243
|
+
}], function () { return [{ type: i1.HttpService }, { type: i2.StorageService }, { type: i3.Router }, { type: i4.MessageService }, { type: i5.DataServiceLib }, { type: i6.AuthService }, { type: i7.LogService }, { type: i3.ActivatedRoute }]; }, null); })();
|
|
244
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyIsImxpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBSXpELE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFeEQsT0FBTyxFQUFlLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNKekQsMEJBQ0E7OztJQUQyQyw2REFBc0I7OztJQUNqRSwwQkFDQTs7O0lBRDJDLDZEQUFzQjs7O0lBQ2pFLDBCQUVGOzs7SUFGNEMsNkRBQXNCOzs7SUFKbEUsK0JBRUU7SUFBQSxzRUFDQTtJQUFBLHNFQUNBO0lBQUEsc0VBRUY7SUFBQSxpQkFBTTs7O0lBSkMsZUFBb0M7SUFBcEMsNERBQW9DO0lBQ3BDLGVBQW9DO0lBQXBDLDREQUFvQztJQUNwQyxlQUFtQztJQUFuQywyREFBbUM7OztJQUsxQywwQkFFTTs7OztJQTJDSSwrQkFDRTtJQUFBLGtDQUFvRztJQUFuQiw2S0FBa0I7SUFBQyxzQkFBTTtJQUFBLGlCQUFTO0lBQ3JILGlCQUFNOzs7O0lBUVosMkJBQ0U7SUFBQSxxQkFDQTtJQUFBLDZCQUFtRjtJQUEzQixpTEFBMEI7SUFBQyxzQ0FBc0I7SUFBQSxpQkFBSTtJQUMvRyxpQkFBTTs7QUQzRGQ7SUFPRSx3QkFBb0IsV0FBd0IsRUFBVSxjQUE4QixFQUFTLE1BQWMsRUFBVSxjQUE4QixFQUFTLFdBQTJCLEVBQzlLLFdBQXdCLEVBQVUsVUFBc0IsRUFBVSxLQUFxQjtRQUQ1RSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFTLFdB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QkFBVztZQUVwRix1Q0FDRTtZQUFBLGtDQUFXO1lBQUEseUJBQVE7WUFBQSxpQkFBWTtZQUMvQixpQ0FDQTtZQURzRSx1R0FBZSxXQUFPLElBQUMsa0lBQUE7WUFBN0YsaUJBQ0E7WUFBQSxtQ0FDRTtZQURnQyxvSEFBc0I7WUFDdEQscUNBQW1DO1lBQUEsYUFBMEM7WUFBQSxpQkFBVztZQUMxRixpQkFBUztZQUNYLGlCQUFpQjtZQUVuQixpQkFBTTtZQUVSLGlCQUFtQjtZQUduQix5Q0FFRTtZQUFBLGdDQUVFO1lBQUEsZ0NBQ0U7WUFBQSxtQ0FBMkg7WUFBbEMsNEZBQVMsV0FBTyxJQUFDO1lBQWlCLHNCQUFLO1lBQUEsaUJBQVM7WUFDM0ksaUJBQU07WUFFTixrRUFDRTtZQUdKLGlCQUFNO1lBRVIsaUJBQW1CO1lBRXJCLGlCQUFXO1lBRVgsa0VBQ0U7WUFJSixpQkFBTTtZQUVSLGlCQUFNO1lBRVIsaUJBQU07O1lBekVDLGVBQTBCO1lBQTFCLCtDQUEwQjtZQVMxQixlQUEyQjtZQUEzQiwrQ0FBMkI7WUFlUixlQUFxQjtZQUFyQiwyQ0FBcUI7WUFPVyxlQUF5QjtZQUF6Qix5Q0FBeUI7WUFJcEMsZUFBbUM7WUFBbkMscURBQW1DLDhCQUFBO1lBQ1gsZUFBbUM7WUFBbkMsNkNBQW1DLDBCQUFBO1lBQ3ZELGVBQTBDO1lBQTFDLGdFQUEwQztZQWN0QyxlQUF5QjtZQUF6QiwyQ0FBeUI7WUFHckIsZUFBNkI7WUFBN0IsZ0RBQTZCO1lBVTdFLGVBQTZCO1lBQTdCLGdEQUE2Qjs7eUJEbkUxQztDQXNJQyxBQTNIRCxJQTJIQztTQXRIWSxjQUFjO2tEQUFkLGNBQWM7Y0FMMUIsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQixXQUFXLEVBQUUsd0JBQXdCO2dCQUNyQyxTQUFTLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQzthQUN0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlTGliIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2RhdGEuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSBcIi4vLi4vLi4vc2VydmljZXMvbG9nLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVXNlciwgQXBwQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NsYXNzZXMvQ2xhc3Nlc1wiO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9odHRwLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQXBpUmVzcG9uc2UsIENvbnN0YW50cyB9IGZyb20gXCIuLi8uLi9jbGFzc2VzL1RpbkNvcmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInNwYS1sb2dpblwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vbG9naW4uY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vbG9naW4uY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2dpbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cFNlcnZpY2U6IEh0dHBTZXJ2aWNlLCBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSwgcHVibGljIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSwgcHVibGljIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZUxpYixcclxuICAgIHB1YmxpYyBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIHByaXZhdGUgbG9nU2VydmljZTogTG9nU2VydmljZSwgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGVcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2UuVXBkYXRlbG9nZ2VkaW4oZmFsc2UpO1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5VcGRhdGVSb2xlKG51bGwpO1xyXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5jbGVhcigpO1xyXG5cclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuYXBwQ29uZmlnT2JzZXJ2LnN1YnNjcmliZSh4ID0+IHRoaXMuYXBwQ29uZmlnID0geCk7XHJcblxyXG4gICAgaWYgKHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMucmVkaXJlY3RUbyAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5yZWRpcmVjdFBhdGggPSB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLnJlZGlyZWN0VG9cclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLnJlZGlyZWN0UGF0aCA9IFwiaG9tZVwiXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgcmVkaXJlY3RQYXRoXHJcblxyXG4gIHB1YmxpYyB1c2VyID0gbmV3IFVzZXIoKTtcclxuICBoaWRlID0gdHJ1ZTtcclxuICBpc1Byb2Nlc3Npbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgYXBwQ29uZmlnID0gbmV3IEFwcENvbmZpZygpO1xyXG5cclxuICBwdWJsaWMgc2lnbnVwKCkge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wic2lnbnVwXCJdKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWNvdmVyQWNjb3VudCgpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcInJlY292ZXItYWNjb3VudFwiXSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9naW4oKSB7XHJcblxyXG4gICAgaWYgKHRoaXMudXNlci51c2VyTmFtZSA9PSBcIlwiIHx8IHRoaXMudXNlci5wYXNzd29yZCA9PSBcIlwiKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJQbGVhc2UgZW50ZXIgeW91ciBjcmVkZW50aWFsc1wiKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICB0aGlzLmxvZ1NlcnZpY2UuaW5mbyhcImxvZ2dpbmcgaW5cIik7XHJcblxyXG4gICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSB0cnVlO1xyXG5cclxuXHJcbiAgICB0aGlzLnVzZXIudXNlck5hbWUgPSB0aGlzLnVzZXIudXNlck5hbWVcclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuTG9naW4odGhpcy51c2VyKS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlOiBBcGlSZXNwb25zZSkgPT4ge1xyXG5cclxuICAgICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSBmYWxzZTtcclxuXHJcblxyXG4gICAgICBpZiAoYXBpUmVzcG9uc2Uuc3VjY2Vzcykge1xyXG5cclxuICAgICAgICBpZiAoYXBpUmVzcG9uc2UuZGF0YS5hdXRoVHlwZSA9PSAnbG9jYWwnICYmICF0aGlzLmFwcENvbmZpZy5sb2NhbEF1dGgpIHtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJDb250YWN0IEFkbWluOiBBdXRoZW50aWNhdGlvbiBUeXBlIGVycm9yXCIpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGFwaVJlc3BvbnNlLmRhdGEuYXV0aFR5cGUgPT0gJ0FEJyAmJiAhdGhpcy5hcHBDb25maWcuQURBdXRoKSB7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiQ29udGFjdCBBZG1pbjogQXV0aGVudGljYXRpb24gVHlwZSBlcnJvclwiKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLlVwZGF0ZWxvZ2dlZGluKHRydWUpO1xyXG5cclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLlVwZGF0ZVRva2VuKGFwaVJlc3BvbnNlLmRhdGEudG9rZW4pO1xyXG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc3RvcmUoQ29uc3RhbnRzLkFVVEhfVE9LRU4sIGFwaVJlc3BvbnNlLmRhdGEudG9rZW4pO1xyXG5cclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLlVwZGF0ZVRva2VuRXhwaXJlKGFwaVJlc3BvbnNlLmRhdGEuZXhwaXJhdGlvbik7XHJcbiAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zdG9yZShDb25zdGFudHMuQVVUSF9UT0tFTl9FWFBJUkUsIGFwaVJlc3BvbnNlLmRhdGEuZXhwaXJhdGlvbik7XHJcblxyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuVXBkYXRlQ3VycmVudFVzZXIodGhpcy51c2VyLnVzZXJOYW1lKTtcclxuICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnN0b3JlKENvbnN0YW50cy5BVVRIX1VTRVIsIHRoaXMudXNlci51c2VyTmFtZSk7XHJcblxyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UudXBkYXRlTG9nZ2VkVXNlckZ1bGxOYW1lKGFwaVJlc3BvbnNlLmRhdGEuZmlyc3ROYW1lKTtcclxuICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnN0b3JlKENvbnN0YW50cy5BVVRIX05BTUUsIGFwaVJlc3BvbnNlLmRhdGEuZmlyc3ROYW1lKTtcclxuXHJcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5VcGRhdGVSb2xlKGFwaVJlc3BvbnNlLmRhdGEucm9sZSk7XHJcbiAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zdG9yZShDb25zdGFudHMuQVVUSF9ST0xFUywgSlNPTi5zdHJpbmdpZnkoYXBpUmVzcG9uc2UuZGF0YS5yb2xlKSk7XHJcblxyXG5cclxuICAgICAgICB0aGlzLmxvZ1NlcnZpY2UuaW5mbyhcImxvZ2dlZCBpblwiKTtcclxuXHJcblxyXG4gICAgICAgIGlmIChhcGlSZXNwb25zZS5kYXRhLmNoYW5nZVBhc3N3b3JkID09IHRydWUgJiYgYXBpUmVzcG9uc2UuZGF0YS5hdXRoVHlwZSA9PSAnbG9jYWwnKSB7XHJcblxyXG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiaG9tZS91c2VyL2NoYW5nZS1wYXNzd29yZFwiXSwge1xyXG4gICAgICAgICAgICBxdWVyeVBhcmFtczogeyByZWRpcmVjdFRvOiB0aGlzLnJlZGlyZWN0UGF0aCB9LFxyXG4gICAgICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxyXG4gICAgICAgICAgICBza2lwTG9jYXRpb25DaGFuZ2U6IGZhbHNlXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHJldHVyblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMucmVkaXJlY3RQYXRoXSk7XHJcblxyXG5cclxuXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkVycm9yOiBcIiArIGFwaVJlc3BvbnNlLm1lc3NhZ2UpO1xyXG4gICAgICAgIHRoaXMudXNlci5wYXNzd29yZCA9IFwiXCI7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICAgIChlcnJvcikgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QodGhpcy5odHRwU2VydmljZS5FcnJvcihlcnJvcikpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiIsIlxyXG4gIDxkaXYgY2xhc3M9XCJ0aW4tYmctbG9naW4gbG9naW4tcGFnZVwiPlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJhcHBDb25maWcubG9nbyE9JydcIiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIiBzdHlsZT1cIm1hcmdpbi10b3A6M2VtO21hcmdpbi1ib3R0b206MWVtXCI+XHJcblxyXG4gICAgICA8aW1nICpuZ0lmPVwiYXBwQ29uZmlnLmxvZ29TaXplPT0nbm9ybWFsJ1wiICBbc3JjXT1cImFwcENvbmZpZy5sb2dvXCIgc3R5bGU9XCJoZWlnaHQ6MTAwcHg7bWFyZ2luLXJpZ2h0OjNlbTttYXJnaW4tbGVmdDozZW1cIiAvPlxyXG4gICAgICA8aW1nICpuZ0lmPVwiYXBwQ29uZmlnLmxvZ29TaXplPT0nbWVkaXVtJ1wiICBbc3JjXT1cImFwcENvbmZpZy5sb2dvXCIgc3R5bGU9XCJoZWlnaHQ6MTUwcHg7bWFyZ2luLXJpZ2h0OjNlbTttYXJnaW4tbGVmdDozZW1cIiAvPlxyXG4gICAgICA8aW1nICpuZ0lmPVwiYXBwQ29uZmlnLmxvZ29TaXplPT0nbGFyZ2UnXCIgIFtzcmNdPVwiYXBwQ29uZmlnLmxvZ29cIiBzdHlsZT1cImhlaWdodDoyNTBweDttYXJnaW4tcmlnaHQ6M2VtO21hcmdpbi1sZWZ0OjNlbVwiIC8+XHJcblxyXG4gICAgPC9kaXY+XHJcblxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJhcHBDb25maWcubG9nbyA9PScnXCIgc3R5bGU9XCJtYXJnaW4tdG9wOjJlbVwiPlxyXG4gICAgICAgIDwhLS0gQWRkIG1hcmdpbiB0b3Agd2hlbiB0aGVyZSBpcyBubyBsb2dvIC0tPlxyXG4gICAgPC9kaXY+XHJcblxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciByb3cgYWxpZ24taXRlbXMtY2VudGVyXCIgc3R5bGU9XCJtYXJnaW4tdG9wOjNlbVwiPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImQtbm9uZSBkLXNtLWJsb2NrXCI+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbi1sZWZ0OjFlbVwiPlxyXG5cclxuICAgICAgICA8bWF0LWNhcmQgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXozXCIgc3R5bGU9XCJ3aWR0aDo0MDBweDsgXCI+XHJcblxyXG4gICAgICAgICAgPG1hdC1jYXJkLWhlYWRlcj5cclxuICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlPnt7YXBwQ29uZmlnLmFwcE5hbWV9fTwvbWF0LWNhcmQtdGl0bGU+XHJcbiAgICAgICAgICA8L21hdC1jYXJkLWhlYWRlcj5cclxuXHJcbiAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW4taW5wdXQgbXQtMlwiPlxyXG5cclxuICAgICAgICAgICAgICA8c3BhLXRleHQgaWQ9XCJ0eHR1c2VyTmFtZVwiIGRpc3BsYXk9XCJVc2VybmFtZVwiIFsodmFsdWUpXT1cInVzZXIudXNlck5hbWVcIiA+PC9zcGEtdGV4dD5cclxuXHJcbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkID5cclxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+UGFzc3dvcmQ8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cInR4dFBhc3N3b3JkXCIgbWF0SW5wdXQgW3R5cGVdPVwiaGlkZSA/ICdwYXNzd29yZCcgOiAndGV4dCdcIiAgKGtleXVwLmVudGVyKT1cImxvZ2luKClcIiBbKG5nTW9kZWwpXT1cInVzZXIucGFzc3dvcmRcIiBhdXRvY29tcGxldGU9XCJvZmZcIiA+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXggKGNsaWNrKT1cImhpZGUgPSAhaGlkZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0hpZGUgcGFzc3dvcmQnXCIgW2F0dHIuYXJpYS1wcmVzc2VkXT1cImhpZGVcIj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIHN0eWxlPVwiZm9udC1zaXplOiAxOHB4O1wiPnt7aGlkZSA/ICd2aXNpYmlsaXR5X29mZicgOiAndmlzaWJpbGl0eSd9fTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG5cclxuXHJcbiAgICAgICAgICA8bWF0LWNhcmQtYWN0aW9ucz5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgXCI+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gaWQ9XCJidG5Mb2dpblwiICBtYXQtcmFpc2VkLWJ1dHRvbiBbZGlzYWJsZWRdPVwiaXNQcm9jZXNzaW5nXCIgc3R5bGU9XCJ3aWR0aDogMTAwcHg7XCIgKGNsaWNrKT1cImxvZ2luKClcIiBjb2xvcj1cInByaW1hcnlcIj5Mb2dpbjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCIgKm5nSWY9XCJhcHBDb25maWcuc2VsZlNlcnZpY2VcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gaWQ9XCJidG5TaWdudXBcIiBtYXQtc3Ryb2tlZC1idXR0b24gIGNvbG9yPVwicHJpbWFyeVwiIHN0eWxlPVwid2lkdGg6IDEwMHB4O1wiIChjbGljayk9XCJzaWdudXAoKVwiPlNpZ251cDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPC9tYXQtY2FyZC1hY3Rpb25zPlxyXG5cclxuICAgICAgICA8L21hdC1jYXJkPlxyXG5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiYXBwQ29uZmlnLnNlbGZTZXJ2aWNlXCI+XHJcbiAgICAgICAgICA8YnIgLz5cclxuICAgICAgICAgIDxhIG1hdC1idXR0b24gaWQ9XCJsbmtSZWNvdmVyXCIgIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDFlbVwiIChjbGljayk9XCJyZWNvdmVyQWNjb3VudCgpXCI+Rm9yZ290IHlvdXIgcGFzc3dvcmQgPzwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L2Rpdj5cclxuXHJcbiJdfQ==
|