@bnsights/bbsf-utilities 1.0.42 → 1.0.44
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/README.md +87 -66
- package/bnsights-bbsf-utilities-1.0.44.tgz +0 -0
- package/{esm2020 → esm2022}/bnsights-bbsf-utilities.mjs +4 -4
- package/{esm2020 → esm2022}/lib/bbsf-utilities.module.mjs +59 -59
- package/esm2022/lib/shared/authentication/auth.service.mjs +211 -0
- package/{esm2020 → esm2022}/lib/shared/authentication/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/shared/config/environment.mjs +11 -11
- package/{esm2020 → esm2022}/lib/shared/config/word/constants.mjs +104 -104
- package/{esm2020 → esm2022}/lib/shared/config/word/docx-document.mjs +347 -347
- package/{esm2020 → esm2022}/lib/shared/config/word/helpers/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/shared/config/word/helpers/render-document-file.mjs +153 -153
- package/{esm2020 → esm2022}/lib/shared/config/word/helpers/xml-builder.mjs +1835 -1835
- package/{esm2020 → esm2022}/lib/shared/config/word/html-to-docx.mjs +186 -186
- package/{esm2020 → esm2022}/lib/shared/config/word/index.mjs +49 -49
- package/{esm2020 → esm2022}/lib/shared/config/word/namespaces.mjs +36 -36
- package/{esm2020 → esm2022}/lib/shared/config/word/schemas/content-types.mjs +2 -2
- package/{esm2020 → esm2022}/lib/shared/config/word/schemas/core.mjs +6 -6
- package/{esm2020 → esm2022}/lib/shared/config/word/schemas/document-rels.mjs +3 -3
- package/{esm2020 → esm2022}/lib/shared/config/word/schemas/document.template.mjs +17 -17
- package/{esm2020 → esm2022}/lib/shared/config/word/schemas/font-table.mjs +3 -3
- package/{esm2020 → esm2022}/lib/shared/config/word/schemas/generic-rels.mjs +2 -2
- package/{esm2020 → esm2022}/lib/shared/config/word/schemas/index.mjs +12 -12
- package/{esm2020 → esm2022}/lib/shared/config/word/schemas/numbering.mjs +3 -3
- package/{esm2020 → esm2022}/lib/shared/config/word/schemas/rels.mjs +3 -3
- package/{esm2020 → esm2022}/lib/shared/config/word/schemas/settings.mjs +3 -3
- package/{esm2020 → esm2022}/lib/shared/config/word/schemas/styles.mjs +4 -4
- package/{esm2020 → esm2022}/lib/shared/config/word/schemas/theme.mjs +3 -3
- package/{esm2020 → esm2022}/lib/shared/config/word/schemas/web-settings.mjs +3 -3
- package/{esm2020 → esm2022}/lib/shared/config/word/utils/color-conversion.mjs +59 -59
- package/{esm2020 → esm2022}/lib/shared/config/word/utils/list.mjs +50 -50
- package/{esm2020 → esm2022}/lib/shared/config/word/utils/unit-conversion.mjs +29 -29
- package/{esm2020 → esm2022}/lib/shared/config/word/utils/url.mjs +6 -6
- package/{esm2020 → esm2022}/lib/shared/config/word/utils/vnode.mjs +2 -2
- package/{esm2020 → esm2022}/lib/shared/config/word/word-work/templates/documentTemplate.mjs +12 -12
- package/{esm2020 → esm2022}/lib/shared/config/word/word-work/templates/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/shared/config/word/word-work/templates/mhtDocumentTemplate.mjs +4 -4
- package/{esm2020 → esm2022}/lib/shared/config/word/word-work/templates/mhtPartTemplate.mjs +3 -3
- package/{esm2020 → esm2022}/lib/shared/config/word/word-work/utils.mjs +25 -25
- package/{esm2020 → esm2022}/lib/shared/enums/authentication-modes-enums.mjs +7 -7
- package/{esm2020 → esm2022}/lib/shared/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/shared/models/UserModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/shared/models/area-model.mjs +2 -2
- package/{esm2020 → esm2022}/lib/shared/models/error-model.mjs +2 -2
- package/{esm2020 → esm2022}/lib/shared/models/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/shared/models/request-options-model.mjs +10 -10
- package/{esm2020 → esm2022}/lib/shared/models/word-document-model.mjs +7 -7
- package/{esm2020 → esm2022}/lib/shared/services/appearance-configuration.service.mjs +35 -35
- package/esm2022/lib/shared/services/configuration.service.mjs +24 -0
- package/{esm2020 → esm2022}/lib/shared/services/control-validation.service.mjs +173 -173
- package/esm2022/lib/shared/services/environment.service.mjs +75 -0
- package/{esm2020 → esm2022}/lib/shared/services/index.mjs +11 -11
- package/{esm2020 → esm2022}/lib/shared/services/master-layout.service.mjs +72 -72
- package/{esm2020 → esm2022}/lib/shared/services/request-handler.service.mjs +219 -199
- package/{esm2020 → esm2022}/lib/shared/services/styles-bundle.service.mjs +55 -55
- package/{esm2020 → esm2022}/lib/shared/services/translate.service.mjs +14 -14
- package/{esm2020 → esm2022}/lib/shared/services/translation-resolver.service.mjs +6 -6
- package/{esm2020 → esm2022}/lib/shared/services/utility.service.mjs +87 -87
- package/{esm2020 → esm2022}/lib/shared/services/word-document.service.mjs +38 -38
- package/{esm2020 → esm2022}/public-api.mjs +29 -29
- package/{fesm2020 → fesm2022}/bnsights-bbsf-utilities.mjs +3856 -3836
- package/fesm2022/bnsights-bbsf-utilities.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/bbsf-utilities.module.d.ts +10 -10
- package/lib/shared/authentication/auth.service.d.ts +52 -52
- package/lib/shared/authentication/index.d.ts +1 -1
- package/lib/shared/config/environment.d.ts +1 -1
- package/lib/shared/config/word/constants.d.ts +124 -124
- package/lib/shared/config/word/docx-document.d.ts +73 -73
- package/lib/shared/config/word/helpers/index.d.ts +1 -1
- package/lib/shared/config/word/helpers/render-document-file.d.ts +2 -2
- package/lib/shared/config/word/helpers/xml-builder.d.ts +16 -16
- package/lib/shared/config/word/html-to-docx.d.ts +1 -1
- package/lib/shared/config/word/index.d.ts +1 -1
- package/lib/shared/config/word/namespaces.d.ts +36 -36
- package/lib/shared/config/word/schemas/content-types.d.ts +1 -1
- package/lib/shared/config/word/schemas/core.d.ts +1 -1
- package/lib/shared/config/word/schemas/document-rels.d.ts +1 -1
- package/lib/shared/config/word/schemas/document.template.d.ts +4 -4
- package/lib/shared/config/word/schemas/font-table.d.ts +1 -1
- package/lib/shared/config/word/schemas/generic-rels.d.ts +1 -1
- package/lib/shared/config/word/schemas/index.d.ts +12 -12
- package/lib/shared/config/word/schemas/numbering.d.ts +1 -1
- package/lib/shared/config/word/schemas/rels.d.ts +1 -1
- package/lib/shared/config/word/schemas/settings.d.ts +1 -1
- package/lib/shared/config/word/schemas/styles.d.ts +1 -1
- package/lib/shared/config/word/schemas/theme.d.ts +1 -1
- package/lib/shared/config/word/schemas/web-settings.d.ts +1 -1
- package/lib/shared/config/word/utils/color-conversion.d.ts +7 -7
- package/lib/shared/config/word/utils/list.d.ts +6 -6
- package/lib/shared/config/word/utils/unit-conversion.d.ts +29 -29
- package/lib/shared/config/word/utils/url.d.ts +1 -1
- package/lib/shared/config/word/utils/vnode.d.ts +1 -1
- package/lib/shared/config/word/word-work/templates/documentTemplate.d.ts +12 -12
- package/lib/shared/config/word/word-work/templates/index.d.ts +3 -3
- package/lib/shared/config/word/word-work/templates/mhtDocumentTemplate.d.ts +1 -1
- package/lib/shared/config/word/word-work/templates/mhtPartTemplate.d.ts +1 -1
- package/lib/shared/config/word/word-work/utils.d.ts +1 -1
- package/lib/shared/enums/authentication-modes-enums.d.ts +6 -6
- package/lib/shared/index.d.ts +3 -3
- package/lib/shared/models/UserModel.d.ts +6 -6
- package/lib/shared/models/area-model.d.ts +4 -4
- package/lib/shared/models/error-model.d.ts +5 -5
- package/lib/shared/models/index.d.ts +4 -4
- package/lib/shared/models/request-options-model.d.ts +11 -11
- package/lib/shared/models/word-document-model.d.ts +16 -16
- package/lib/shared/services/appearance-configuration.service.d.ts +14 -14
- package/lib/shared/services/configuration.service.d.ts +10 -10
- package/lib/shared/services/control-validation.service.d.ts +23 -23
- package/lib/shared/services/environment.service.d.ts +25 -25
- package/lib/shared/services/index.d.ts +11 -11
- package/lib/shared/services/master-layout.service.d.ts +24 -24
- package/lib/shared/services/request-handler.service.d.ts +35 -33
- package/lib/shared/services/styles-bundle.service.d.ts +12 -12
- package/lib/shared/services/translate.service.d.ts +6 -6
- package/lib/shared/services/translation-resolver.service.d.ts +2 -2
- package/lib/shared/services/utility.service.d.ts +23 -23
- package/lib/shared/services/word-document.service.d.ts +8 -8
- package/package.json +28 -29
- package/public-api.d.ts +17 -17
- package/bnsights-bbsf-utilities-1.0.42.tgz +0 -0
- package/esm2020/lib/shared/authentication/auth.service.mjs +0 -211
- package/esm2020/lib/shared/services/configuration.service.mjs +0 -24
- package/esm2020/lib/shared/services/environment.service.mjs +0 -75
- package/fesm2015/bnsights-bbsf-utilities.mjs +0 -4555
- package/fesm2015/bnsights-bbsf-utilities.mjs.map +0 -1
- package/fesm2020/bnsights-bbsf-utilities.mjs.map +0 -1
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
import { HttpParams } from '@angular/common/http';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/router";
|
|
5
|
-
import * as i2 from ".";
|
|
6
|
-
import * as i3 from "../authentication";
|
|
7
|
-
import * as i4 from "@ngx-translate/core";
|
|
8
|
-
export class MasterLayoutService {
|
|
9
|
-
constructor(router, http, authService, stylesBundleService, translate, environmentService) {
|
|
10
|
-
this.router = router;
|
|
11
|
-
this.http = http;
|
|
12
|
-
this.authService = authService;
|
|
13
|
-
this.stylesBundleService = stylesBundleService;
|
|
14
|
-
this.translate = translate;
|
|
15
|
-
this.environmentService = environmentService;
|
|
16
|
-
this.apiUrl = '/api/Home/';
|
|
17
|
-
}
|
|
18
|
-
switchLang(lang, bundleEnglishName, bundleArabicName) {
|
|
19
|
-
this.changeLanguage(lang).subscribe((result) => {
|
|
20
|
-
this.updateUserInfo().subscribe((Value) => {
|
|
21
|
-
let UserInfoObject = Value;
|
|
22
|
-
this.authService.handleAccessToken(UserInfoObject.token);
|
|
23
|
-
this.stylesBundleService.loadThemes(lang, bundleEnglishName, bundleArabicName);
|
|
24
|
-
localStorage.setItem('language', lang);
|
|
25
|
-
this.translate.use(lang);
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
reloadComponent() {
|
|
30
|
-
let currentUrl = this.router.url;
|
|
31
|
-
this.router.routeReuseStrategy.shouldReuseRoute = () => false;
|
|
32
|
-
this.router.onSameUrlNavigation = 'reload';
|
|
33
|
-
this.router.navigate([currentUrl]);
|
|
34
|
-
}
|
|
35
|
-
changeLanguage(key) {
|
|
36
|
-
let params = new HttpParams();
|
|
37
|
-
params = params.append('UserId', this.authService.user.profile.id);
|
|
38
|
-
params = params.append('LanguageKey', key);
|
|
39
|
-
return this.http.post(this.apiUrl + 'UpdateLanguage', null, null, params);
|
|
40
|
-
}
|
|
41
|
-
logError(error) {
|
|
42
|
-
let params = new HttpParams();
|
|
43
|
-
params = params.append('error', error);
|
|
44
|
-
return this.http.post(this.apiUrl + 'LogError', null, null, params);
|
|
45
|
-
}
|
|
46
|
-
updateUserInfo() {
|
|
47
|
-
return this.http.get(this.apiUrl + 'UpdateUserInfo', null, null);
|
|
48
|
-
}
|
|
49
|
-
switchRole(permissionSetID) {
|
|
50
|
-
this.updateRole(permissionSetID).subscribe((result) => {
|
|
51
|
-
this.updateUserInfo().subscribe((Value) => {
|
|
52
|
-
let UserInfoObject = Value;
|
|
53
|
-
this.authService.handleAccessToken(UserInfoObject.token);
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
updateRole(permissionSetID) {
|
|
58
|
-
let params = new HttpParams();
|
|
59
|
-
params = params.append('UserId', this.authService.user.profile.id);
|
|
60
|
-
params = params.append('RoleID', permissionSetID);
|
|
61
|
-
return this.http.post(this.apiUrl + 'SwitchRole', null, null, params);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
67
|
-
type: Injectable,
|
|
68
|
-
args: [{
|
|
69
|
-
providedIn: 'root',
|
|
70
|
-
}]
|
|
71
|
-
}], ctorParameters:
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { HttpParams } from '@angular/common/http';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/router";
|
|
5
|
+
import * as i2 from ".";
|
|
6
|
+
import * as i3 from "../authentication";
|
|
7
|
+
import * as i4 from "@ngx-translate/core";
|
|
8
|
+
export class MasterLayoutService {
|
|
9
|
+
constructor(router, http, authService, stylesBundleService, translate, environmentService) {
|
|
10
|
+
this.router = router;
|
|
11
|
+
this.http = http;
|
|
12
|
+
this.authService = authService;
|
|
13
|
+
this.stylesBundleService = stylesBundleService;
|
|
14
|
+
this.translate = translate;
|
|
15
|
+
this.environmentService = environmentService;
|
|
16
|
+
this.apiUrl = '/api/Home/';
|
|
17
|
+
}
|
|
18
|
+
switchLang(lang, bundleEnglishName, bundleArabicName) {
|
|
19
|
+
this.changeLanguage(lang).subscribe((result) => {
|
|
20
|
+
this.updateUserInfo().subscribe((Value) => {
|
|
21
|
+
let UserInfoObject = Value;
|
|
22
|
+
this.authService.handleAccessToken(UserInfoObject.token);
|
|
23
|
+
this.stylesBundleService.loadThemes(lang, bundleEnglishName, bundleArabicName);
|
|
24
|
+
localStorage.setItem('language', lang);
|
|
25
|
+
this.translate.use(lang);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
reloadComponent() {
|
|
30
|
+
let currentUrl = this.router.url;
|
|
31
|
+
this.router.routeReuseStrategy.shouldReuseRoute = () => false;
|
|
32
|
+
this.router.onSameUrlNavigation = 'reload';
|
|
33
|
+
this.router.navigate([currentUrl]);
|
|
34
|
+
}
|
|
35
|
+
changeLanguage(key) {
|
|
36
|
+
let params = new HttpParams();
|
|
37
|
+
params = params.append('UserId', this.authService.user.profile.id);
|
|
38
|
+
params = params.append('LanguageKey', key);
|
|
39
|
+
return this.http.post(this.apiUrl + 'UpdateLanguage', null, null, params);
|
|
40
|
+
}
|
|
41
|
+
logError(error) {
|
|
42
|
+
let params = new HttpParams();
|
|
43
|
+
params = params.append('error', error);
|
|
44
|
+
return this.http.post(this.apiUrl + 'LogError', null, null, params);
|
|
45
|
+
}
|
|
46
|
+
updateUserInfo() {
|
|
47
|
+
return this.http.get(this.apiUrl + 'UpdateUserInfo', null, null);
|
|
48
|
+
}
|
|
49
|
+
switchRole(permissionSetID) {
|
|
50
|
+
this.updateRole(permissionSetID).subscribe((result) => {
|
|
51
|
+
this.updateUserInfo().subscribe((Value) => {
|
|
52
|
+
let UserInfoObject = Value;
|
|
53
|
+
this.authService.handleAccessToken(UserInfoObject.token);
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
updateRole(permissionSetID) {
|
|
58
|
+
let params = new HttpParams();
|
|
59
|
+
params = params.append('UserId', this.authService.user.profile.id);
|
|
60
|
+
params = params.append('RoleID', permissionSetID);
|
|
61
|
+
return this.http.post(this.apiUrl + 'SwitchRole', null, null, params);
|
|
62
|
+
}
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MasterLayoutService, deps: [{ token: i1.Router }, { token: i2.RequestHandlerService }, { token: i3.AuthService }, { token: i2.StylesBundleService }, { token: i4.TranslateService }, { token: i2.EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
64
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MasterLayoutService, providedIn: 'root' }); }
|
|
65
|
+
}
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MasterLayoutService, decorators: [{
|
|
67
|
+
type: Injectable,
|
|
68
|
+
args: [{
|
|
69
|
+
providedIn: 'root',
|
|
70
|
+
}]
|
|
71
|
+
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.RequestHandlerService }, { type: i3.AuthService }, { type: i2.StylesBundleService }, { type: i4.TranslateService }, { type: i2.EnvironmentService }] });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzdGVyLWxheW91dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi11dGlsaXRpZXMvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvbWFzdGVyLWxheW91dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFTM0MsTUFBTSxPQUFPLG1CQUFtQjtJQUk5QixZQUFvQixNQUFjLEVBQVUsSUFBMkIsRUFBVSxXQUF3QixFQUMvRixtQkFBd0MsRUFBVSxTQUEyQixFQUM3RSxrQkFBc0M7UUFGNUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLFNBQUksR0FBSixJQUFJLENBQXVCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDL0Ysd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzdFLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFKaEQsV0FBTSxHQUFHLFlBQVksQ0FBQztJQUk4QixDQUFDO0lBRXJELFVBQVUsQ0FBQyxJQUFZLEVBQUUsaUJBQXlCLEVBQUUsZ0JBQXdCO1FBQzFFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDN0MsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUN4QyxJQUFJLGNBQWMsR0FBRyxLQUFZLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFBO2dCQUN4RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUNqQyxJQUFJ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O2tIQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7MkZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UsIFJlcXVlc3RIYW5kbGVyU2VydmljZSwgU3R5bGVzQnVuZGxlU2VydmljZSB9IGZyb20gJy4nO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL2F1dGhlbnRpY2F0aW9uJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXN0ZXJMYXlvdXRTZXJ2aWNlIHtcclxuXHJcbiAgYXBpVXJsID0gJy9hcGkvSG9tZS8nO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGh0dHA6IFJlcXVlc3RIYW5kbGVyU2VydmljZSwgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHN0eWxlc0J1bmRsZVNlcnZpY2U6IFN0eWxlc0J1bmRsZVNlcnZpY2UsIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBlbnZpcm9ubWVudFNlcnZpY2U6IEVudmlyb25tZW50U2VydmljZSkgeyB9XHJcblxyXG4gIHN3aXRjaExhbmcobGFuZzogc3RyaW5nLCBidW5kbGVFbmdsaXNoTmFtZTogc3RyaW5nLCBidW5kbGVBcmFiaWNOYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuY2hhbmdlTGFuZ3VhZ2UobGFuZykuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgdGhpcy51cGRhdGVVc2VySW5mbygpLnN1YnNjcmliZSgoVmFsdWUpID0+IHtcclxuICAgICAgICBsZXQgVXNlckluZm9PYmplY3QgPSBWYWx1ZSBhcyBhbnk7XHJcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5oYW5kbGVBY2Nlc3NUb2tlbihVc2VySW5mb09iamVjdC50b2tlbilcclxuICAgICAgICB0aGlzLnN0eWxlc0J1bmRsZVNlcnZpY2UubG9hZFRoZW1lcyhcclxuICAgICAgICAgIGxhbmcsXHJcbiAgICAgICAgICBidW5kbGVFbmdsaXNoTmFtZSxcclxuICAgICAgICAgIGJ1bmRsZUFyYWJpY05hbWVcclxuICAgICAgICApO1xyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdsYW5ndWFnZScsIGxhbmcpO1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLnVzZShsYW5nKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlbG9hZENvbXBvbmVudCgpIHtcclxuICAgIGxldCBjdXJyZW50VXJsID0gdGhpcy5yb3V0ZXIudXJsO1xyXG4gICAgdGhpcy5yb3V0ZXIucm91dGVSZXVzZVN0cmF0ZWd5LnNob3VsZFJldXNlUm91dGUgPSAoKSA9PiBmYWxzZTtcclxuICAgIHRoaXMucm91dGVyLm9uU2FtZVVybE5hdmlnYXRpb24gPSAncmVsb2FkJztcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtjdXJyZW50VXJsXSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoYW5nZUxhbmd1YWdlKGtleTogc3RyaW5nKSB7XHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ1VzZXJJZCcsIHRoaXMuYXV0aFNlcnZpY2UudXNlci5wcm9maWxlLmlkKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ0xhbmd1YWdlS2V5Jywga2V5KTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmFwaVVybCArICdVcGRhdGVMYW5ndWFnZScsIG51bGwsIG51bGwsIHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBsb2dFcnJvcihlcnJvcjogc3RyaW5nKSB7XHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ2Vycm9yJywgZXJyb3IpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuYXBpVXJsICsgJ0xvZ0Vycm9yJywgbnVsbCwgbnVsbCwgcGFyYW1zKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlVXNlckluZm8oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmFwaVVybCArICdVcGRhdGVVc2VySW5mbycsIG51bGwsIG51bGwpO1xyXG5cclxuICB9XHJcblxyXG4gIHN3aXRjaFJvbGUocGVybWlzc2lvblNldElEOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudXBkYXRlUm9sZShwZXJtaXNzaW9uU2V0SUQpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgIHRoaXMudXBkYXRlVXNlckluZm8oKS5zdWJzY3JpYmUoKFZhbHVlKSA9PiB7XHJcbiAgICAgICAgbGV0IFVzZXJJbmZvT2JqZWN0ID0gVmFsdWUgYXMgYW55O1xyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuaGFuZGxlQWNjZXNzVG9rZW4oVXNlckluZm9PYmplY3QudG9rZW4pXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVJvbGUocGVybWlzc2lvblNldElEOiBzdHJpbmcpIHtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnVXNlcklkJywgdGhpcy5hdXRoU2VydmljZS51c2VyLnByb2ZpbGUuaWQpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnUm9sZUlEJywgcGVybWlzc2lvblNldElEKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmFwaVVybCArICdTd2l0Y2hSb2xlJywgbnVsbCwgbnVsbCwgcGFyYW1zKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|