@bnsights/bbsf-admin-portal 1.0.0 → 1.0.5
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/bnsights-bbsf-admin-portal-1.0.5.tgz +0 -0
- package/bundles/bnsights-bbsf-admin-portal.umd.js +19694 -20386
- package/bundles/bnsights-bbsf-admin-portal.umd.js.map +1 -1
- package/esm2015/lib/Pages/_layout/components/aside/aside-menu/aside-menu.component.js +2 -2
- package/esm2015/lib/Pages/account/account-routing.module.js +3 -1
- package/esm2015/lib/Pages/account/account.component.js +15 -6
- package/esm2015/lib/Pages/account/account.module.js +16 -8
- package/esm2015/lib/Pages/account/forgot-password/forgot-password.component.js +48 -0
- package/esm2015/lib/Pages/configurations/configuration/configuration.component.js +392 -387
- package/esm2015/lib/Pages/core/authentication/auth.service.js +1 -2
- package/esm2015/lib/Pages/departments/department/department.component.js +59 -98
- package/esm2015/lib/Pages/departments/department-info/department-info.component.js +85 -94
- package/esm2015/lib/Pages/departments/departments.module.js +4 -1
- package/esm2015/lib/Pages/helpCenter/help-center/help-center.component.js +224 -223
- package/esm2015/lib/Pages/helpCenter/help-center-secondlevel/help-center-secondlevel.component.js +137 -146
- package/esm2015/lib/Pages/helpCenter/help-center-thirdlevel/help-center-thirdlevel.component.js +136 -153
- package/esm2015/lib/Pages/home/home.component.js +32 -26
- package/esm2015/lib/Pages/home/home.module.js +5 -10
- package/esm2015/lib/Pages/impersonation-rules/impersonation-rules/impersonation-rules.component.js +336 -317
- package/esm2015/lib/Pages/jobs/jobs/jobs.component.js +168 -227
- package/esm2015/lib/Pages/license/license/license.component.js +68 -99
- package/esm2015/lib/Pages/localizations/localizations.component.js +378 -341
- package/esm2015/lib/Pages/logs/log/log.component.js +18 -27
- package/esm2015/lib/Pages/lookups/lookup/lookup.component.js +297 -288
- package/esm2015/lib/Pages/lookups/lookup-group/lookup-group.component.js +143 -165
- package/esm2015/lib/Pages/lookups/lookup-item/lookup-item.component.js +234 -233
- package/esm2015/lib/Pages/lookups/lookups-routing.module.js +2 -2
- package/esm2015/lib/Pages/notifications/add/add.component.js +83 -76
- package/esm2015/lib/Pages/notifications/edit/edit.component.js +60 -63
- package/esm2015/lib/Pages/notifications/edit-email/edit-email.component.js +128 -126
- package/esm2015/lib/Pages/notifications/edit-sms/edit-sms.component.js +87 -85
- package/esm2015/lib/Pages/notifications/master-layouts/master-layouts.component.js +57 -58
- package/esm2015/lib/Pages/notifications/notifications-routing.module.js +1 -3
- package/esm2015/lib/Pages/notifications/notifications.module.js +3 -4
- package/esm2015/lib/Pages/notifications/template-info/template-info.component.js +232 -228
- package/esm2015/lib/Pages/notifications/templates/templates.component.js +347 -310
- package/esm2015/lib/Pages/providers/provider/provider.component.js +54 -52
- package/esm2015/lib/Pages/publicHolidays/public-holiday/public-holiday.component.js +268 -270
- package/esm2015/lib/Pages/roles/permission-set-info/permission-set-info.component.js +136 -152
- package/esm2015/lib/Pages/roles/permissions/permissions.component.js +182 -218
- package/esm2015/lib/Pages/roles/permissionsets/permissionsets.component.js +219 -254
- package/esm2015/lib/Pages/sectors/department-info/department-info.component.js +134 -142
- package/esm2015/lib/Pages/sectors/sector/sector.component.js +127 -144
- package/esm2015/lib/Pages/sectors/sector-info/sector-info.component.js +123 -139
- package/esm2015/lib/Pages/shared/Enums/ConfigurationScope.js +8 -0
- package/esm2015/lib/Pages/shared/Enums/ConfigurationType.js +8 -0
- package/esm2015/lib/Pages/shared/Enums/ConfigurationValueSource.js +6 -0
- package/esm2015/lib/Pages/shared/Enums/ParticipantType.js +8 -0
- package/esm2015/lib/Pages/shared/Services/AccountService.service.js +21 -0
- package/esm2015/lib/Pages/shared/Services/ConfigurationsService.service.js +15 -12
- package/esm2015/lib/Pages/shared/Services/DepartmentService.service.js +5 -8
- package/esm2015/lib/Pages/shared/Services/EmailHeaderAndFooterTemplateService.Service.js +10 -9
- package/esm2015/lib/Pages/shared/Services/HelpCenterService.service.js +10 -7
- package/esm2015/lib/Pages/shared/Services/ImpersonationRuleService.service.js +14 -8
- package/esm2015/lib/Pages/shared/Services/LicenseService.service.js +3 -3
- package/esm2015/lib/Pages/shared/Services/LogsService.js +1 -1
- package/esm2015/lib/Pages/shared/Services/LookupGroupsService.service.js +11 -5
- package/esm2015/lib/Pages/shared/Services/LookupService.service.js +31 -15
- package/esm2015/lib/Pages/shared/Services/PermissionSetService.service.js +18 -8
- package/esm2015/lib/Pages/shared/Services/PermissionsService.service.js +12 -9
- package/esm2015/lib/Pages/shared/Services/PublicHolidayService.service.js +9 -3
- package/esm2015/lib/Pages/shared/Services/SectorService.service.js +18 -13
- package/esm2015/lib/Pages/shared/Services/TemplateService.service.js +36 -29
- package/esm2015/lib/Pages/shared/Services/localizationsService.service .js +23 -13
- package/esm2015/lib/Pages/shared/Services/provider.service.js +5 -7
- package/esm2015/lib/Pages/shared/Services/userService.service.js +10 -2
- package/esm2015/lib/Pages/shared/models/AccountModels/forgotPasswordModel.js +6 -0
- package/esm2015/lib/Pages/shared/models/ConfigurationModels/ConfigurationModel.js +1 -1
- package/esm2015/lib/Pages/shared/models/DepartmentModels/DepartmentUsersIDRequestModel.js +1 -1
- package/esm2015/lib/Pages/shared/models/ImpersonationRuleModels/ImpersonationRuleModel.js +1 -1
- package/esm2015/lib/Pages/shared/models/Lookups/LookupItem.js +1 -1
- package/esm2015/lib/Pages/shared/models/Lookups/LookupModel.js +1 -2
- package/esm2015/lib/Pages/shared/models/PermissionsModels/PermissionSetUsersIDRequestModel.js +1 -1
- package/esm2015/lib/Pages/shared/models/SectorModels/SectorDepartmentModel.js +1 -1
- package/esm2015/lib/Pages/users/users.component.js +398 -409
- package/esm2015/lib/masterlayout-routing.module.js +5 -4
- package/esm2015/lib/masterlayout.component.js +22 -32
- package/esm2015/lib/masterlayout.module.js +25 -19
- package/fesm2015/bnsights-bbsf-admin-portal.js +17295 -17401
- package/fesm2015/bnsights-bbsf-admin-portal.js.map +1 -1
- package/lib/Pages/account/account.component.d.ts +5 -1
- package/lib/Pages/account/account.module.d.ts +8 -6
- package/lib/Pages/account/forgot-password/forgot-password.component.d.ts +20 -0
- package/lib/Pages/configurations/configuration/configuration.component.d.ts +39 -31
- package/lib/Pages/departments/department/department.component.d.ts +19 -15
- package/lib/Pages/departments/department-info/department-info.component.d.ts +31 -28
- package/lib/Pages/helpCenter/help-center/help-center.component.d.ts +34 -32
- package/lib/Pages/helpCenter/help-center-secondlevel/help-center-secondlevel.component.d.ts +31 -34
- package/lib/Pages/helpCenter/help-center-thirdlevel/help-center-thirdlevel.component.d.ts +30 -35
- package/lib/Pages/home/home.component.d.ts +4 -4
- package/lib/Pages/impersonation-rules/impersonation-rules/impersonation-rules.component.d.ts +43 -42
- package/lib/Pages/jobs/jobs/jobs.component.d.ts +56 -62
- package/lib/Pages/license/license/license.component.d.ts +25 -23
- package/lib/Pages/localizations/localizations.component.d.ts +77 -65
- package/lib/Pages/logs/log/log.component.d.ts +7 -11
- package/lib/Pages/lookups/lookup/lookup.component.d.ts +64 -59
- package/lib/Pages/lookups/lookup-group/lookup-group.component.d.ts +44 -45
- package/lib/Pages/lookups/lookup-item/lookup-item.component.d.ts +62 -56
- package/lib/Pages/notifications/add/add.component.d.ts +13 -11
- package/lib/Pages/notifications/edit/edit.component.d.ts +14 -14
- package/lib/Pages/notifications/edit-email/edit-email.component.d.ts +18 -20
- package/lib/Pages/notifications/edit-sms/edit-sms.component.d.ts +15 -16
- package/lib/Pages/notifications/master-layouts/master-layouts.component.d.ts +24 -25
- package/lib/Pages/notifications/notifications.module.d.ts +15 -16
- package/lib/Pages/notifications/template-info/template-info.component.d.ts +32 -32
- package/lib/Pages/notifications/templates/templates.component.d.ts +54 -46
- package/lib/Pages/providers/provider/provider.component.d.ts +13 -12
- package/lib/Pages/publicHolidays/public-holiday/public-holiday.component.d.ts +29 -27
- package/lib/Pages/roles/permission-set-info/permission-set-info.component.d.ts +39 -40
- package/lib/Pages/roles/permissions/permissions.component.d.ts +49 -54
- package/lib/Pages/roles/permissionsets/permissionsets.component.d.ts +53 -55
- package/lib/Pages/sectors/department-info/department-info.component.d.ts +41 -44
- package/lib/Pages/sectors/sector/sector.component.d.ts +35 -33
- package/lib/Pages/sectors/sector-info/sector-info.component.d.ts +40 -44
- package/lib/Pages/shared/Enums/ConfigurationScope.d.ts +5 -0
- package/lib/Pages/shared/Enums/ConfigurationType.d.ts +6 -0
- package/lib/Pages/shared/Enums/ConfigurationValueSource.d.ts +4 -0
- package/lib/Pages/shared/Enums/ParticipantType.d.ts +6 -0
- package/lib/Pages/shared/Services/AccountService.service.d.ts +10 -0
- package/lib/Pages/shared/Services/ConfigurationsService.service.d.ts +7 -8
- package/lib/Pages/shared/Services/DepartmentService.service.d.ts +2 -2
- package/lib/Pages/shared/Services/EmailHeaderAndFooterTemplateService.Service.d.ts +5 -5
- package/lib/Pages/shared/Services/HelpCenterService.service.d.ts +2 -1
- package/lib/Pages/shared/Services/ImpersonationRuleService.service.d.ts +5 -5
- package/lib/Pages/shared/Services/LicenseService.service.d.ts +2 -2
- package/lib/Pages/shared/Services/LookupGroupsService.service.d.ts +4 -4
- package/lib/Pages/shared/Services/LookupService.service.d.ts +14 -11
- package/lib/Pages/shared/Services/PermissionSetService.service.d.ts +8 -7
- package/lib/Pages/shared/Services/PermissionsService.service.d.ts +5 -6
- package/lib/Pages/shared/Services/PublicHolidayService.service.d.ts +2 -2
- package/lib/Pages/shared/Services/SectorService.service.d.ts +7 -7
- package/lib/Pages/shared/Services/TemplateService.service.d.ts +20 -19
- package/lib/Pages/shared/Services/localizationsService.service .d.ts +12 -11
- package/lib/Pages/shared/Services/provider.service.d.ts +1 -1
- package/lib/Pages/shared/Services/userService.service.d.ts +2 -0
- package/lib/Pages/shared/models/AccountModels/forgotPasswordModel.d.ts +3 -0
- package/lib/Pages/shared/models/ConfigurationModels/ConfigurationModel.d.ts +0 -1
- package/lib/Pages/shared/models/DepartmentModels/DepartmentUsersIDRequestModel.d.ts +1 -1
- package/lib/Pages/shared/models/ImpersonationRuleModels/ImpersonationRuleModel.d.ts +0 -2
- package/lib/Pages/shared/models/Lookups/LookupModel.d.ts +1 -1
- package/lib/Pages/shared/models/PermissionsModels/PermissionSetUsersIDRequestModel.d.ts +1 -1
- package/lib/Pages/shared/models/SectorModels/SectorDepartmentModel.d.ts +1 -1
- package/lib/Pages/users/users.component.d.ts +54 -68
- package/lib/masterlayout.component.d.ts +4 -5
- package/lib/masterlayout.module.d.ts +8 -9
- package/package.json +5 -3
- package/src/lib/assets/sass/core/components/_variables.scss +1 -1
- package/src/lib/assets/sass/custom-styles-rtl.scss +5 -0
- package/src/lib/assets/sass/custom-styles.scss +153 -0
- package/src/lib/assets/sass/style-rtl.scss +2 -0
- package/src/lib/assets/sass/style.scss +2 -2
- package/bnsights-bbsf-admin-portal-0.0.1.tgz +0 -0
- package/bnsights-bbsf-admin-portal-1.0.0.tgz +0 -0
- package/esm2015/lib/Pages/notifications/edit-template/edit-template.component.js +0 -35
- package/lib/Pages/notifications/edit-template/edit-template.component.d.ts +0 -35
|
@@ -1,164 +1,166 @@
|
|
|
1
|
-
import { __awaiter
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
2
|
import { Component } from '@angular/core';
|
|
3
3
|
import { FormGroup } from '@angular/forms';
|
|
4
|
-
import { ForceDirection, HtmlEditorOptions, InputType, TextBoxOptions } from '@bnsights/bbsf-controls';
|
|
5
|
-
import { BlockUI } from 'ng-block-ui';
|
|
4
|
+
import { ForceDirection, FormOptions, HtmlEditorOptions, InputType, TextBoxOptions } from '@bnsights/bbsf-controls';
|
|
6
5
|
import { PageInfoService } from '../../../_metronic/core/services/page-info.service';
|
|
7
6
|
import { TemplateEditViewModel } from './../../shared/models/NotificationsModels/TemplateEditViewModel';
|
|
8
7
|
import * as i0 from "@angular/core";
|
|
9
8
|
import * as i1 from "../../../_metronic/core/services/page-info.service";
|
|
10
9
|
import * as i2 from "@bnsights/bbsf-utilities";
|
|
11
|
-
import * as i3 from "
|
|
12
|
-
import * as i4 from "
|
|
13
|
-
import * as i5 from "
|
|
14
|
-
import * as i6 from "@
|
|
15
|
-
import * as i7 from "
|
|
16
|
-
import * as i8 from "@bnsights/bbsf-controls";
|
|
17
|
-
import * as i9 from "@angular/common";
|
|
18
|
-
import * as i10 from "@angular/forms";
|
|
10
|
+
import * as i3 from "../../shared/Services/TemplateService.service";
|
|
11
|
+
import * as i4 from "@angular/router";
|
|
12
|
+
import * as i5 from "ng-block-ui";
|
|
13
|
+
import * as i6 from "@bnsights/bbsf-controls";
|
|
14
|
+
import * as i7 from "@angular/common";
|
|
19
15
|
export class EditEmailComponent {
|
|
20
|
-
constructor(pageInfoService,
|
|
16
|
+
constructor(pageInfoService, utilityService, bbsfTranslateService, templateService, activatedRoute, router, requestHandlerService) {
|
|
21
17
|
this.pageInfoService = pageInfoService;
|
|
22
|
-
this.authService = authService;
|
|
23
18
|
this.utilityService = utilityService;
|
|
24
19
|
this.bbsfTranslateService = bbsfTranslateService;
|
|
25
|
-
this.environmentService = environmentService;
|
|
26
|
-
this._clipboardService = _clipboardService;
|
|
27
|
-
this.dataServices = dataServices;
|
|
28
20
|
this.templateService = templateService;
|
|
29
21
|
this.activatedRoute = activatedRoute;
|
|
30
22
|
this.router = router;
|
|
31
|
-
this.
|
|
32
|
-
|
|
23
|
+
this.requestHandlerService = requestHandlerService;
|
|
24
|
+
//Page Requirements
|
|
25
|
+
this.TemplateIdEnc = "";
|
|
33
26
|
this.Lang = "";
|
|
27
|
+
//Initialize form and controls
|
|
34
28
|
this.EditEmailForm = new FormGroup({});
|
|
35
|
-
this.
|
|
29
|
+
this.EditEmailFormOptions = new FormOptions;
|
|
30
|
+
this.getEditEmailModel = () => {
|
|
31
|
+
let paramArray = [];
|
|
32
|
+
let ResultModel = this.EditEmailForm.value;
|
|
33
|
+
let EditModel = new TemplateEditViewModel();
|
|
34
|
+
EditModel.ID = Number(this.TemplateId);
|
|
35
|
+
EditModel.IDEncrypted = this.TemplateInfo.idEncrypted;
|
|
36
|
+
EditModel.IsEmail = true;
|
|
37
|
+
EditModel.IsSms = false;
|
|
38
|
+
EditModel.TemplateName = this.TemplateInfo.templateName;
|
|
39
|
+
EditModel.Language = this.Lang;
|
|
40
|
+
EditModel.emailtemplateinfo.ID = this.TemplateInfo.emailtemplateinfo.id;
|
|
41
|
+
EditModel.emailtemplateinfo.EmailBody.Arabic = ResultModel.EmailBodyInArabic;
|
|
42
|
+
EditModel.emailtemplateinfo.EmailBody.English = ResultModel.EmailBodyInEnglish;
|
|
43
|
+
EditModel.emailtemplateinfo.EmailSubject.Arabic = ResultModel.EmailSubjectInArabic;
|
|
44
|
+
EditModel.emailtemplateinfo.EmailSubject.English = ResultModel.EmailSubjectInEnglish;
|
|
45
|
+
EditModel.emailtemplateinfo.EmailHtmlBodyTagAttributes.Arabic = ResultModel.HtmlBodyTagAttributesArabic;
|
|
46
|
+
EditModel.emailtemplateinfo.EmailHtmlBodyTagAttributes.English = ResultModel.HtmlBodyTagAttributesEnglish;
|
|
47
|
+
EditModel.emailtemplateinfo.EmailHtmlHeadSection.Arabic = ResultModel.HTMLHeadSectionInArabic;
|
|
48
|
+
EditModel.emailtemplateinfo.EmailHtmlHeadSection.English = ResultModel.HTMLHeadSectionInEnglish;
|
|
49
|
+
paramArray.push(EditModel);
|
|
50
|
+
return paramArray;
|
|
51
|
+
};
|
|
52
|
+
this.getEditEmailFunction = (EditModel) => {
|
|
53
|
+
return this.templateService.editEmailTemplateByLang(EditModel);
|
|
54
|
+
};
|
|
55
|
+
this.onEditEmailSuccess = (result) => {
|
|
56
|
+
this.cancelEdit();
|
|
57
|
+
};
|
|
36
58
|
this.activatedRoute.params.subscribe(params => {
|
|
37
|
-
this.
|
|
59
|
+
this.TemplateIdEnc = params['id'];
|
|
38
60
|
this.Lang = params['lang'];
|
|
39
61
|
});
|
|
40
62
|
}
|
|
41
63
|
ngOnInit() {
|
|
42
64
|
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
this.IsAEditFormLoaded = false;
|
|
44
65
|
this.bbsfTranslateService.onLangChange.subscribe((event) => {
|
|
45
|
-
this.language = event.lang;
|
|
46
66
|
this.ngOnInit();
|
|
47
67
|
});
|
|
48
|
-
this.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
this.
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
68
|
+
this.initializePage();
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
initializePage() {
|
|
72
|
+
this.templateService.getTemplateInfoByLang(this.TemplateIdEnc, this.Lang).subscribe((result) => {
|
|
73
|
+
let Result = result;
|
|
74
|
+
this.TemplateInfo = Result.val;
|
|
75
|
+
let TemplateName = this.TemplateInfo.emailtemplateinfo.emailSubjectStr;
|
|
76
|
+
if (TemplateName == null || TemplateName == undefined)
|
|
77
|
+
TemplateName = "";
|
|
78
|
+
PageInfoService.PageTitle = this.utilityService.getResourceValue("Edit");
|
|
79
|
+
PageInfoService.PageBreadcrumbs = [
|
|
80
|
+
{ title: this.utilityService.getResourceValue("Home"), path: '/Admin/Home', isSeparator: false, isActive: false },
|
|
81
|
+
{ title: '', path: '', isSeparator: true, isActive: false },
|
|
82
|
+
{ title: this.utilityService.getResourceValue("Templates"), path: '/Admin/Notifications/Templates', isSeparator: false, isActive: false },
|
|
83
|
+
{ title: '', path: '', isSeparator: true, isActive: false },
|
|
84
|
+
{ title: TemplateName != "" ? this.utilityService.getResourceValue(TemplateName) : "", path: "/Admin/Notifications/TemplateInfo/" + this.TemplateInfo.idEncrypted, isSeparator: false, isActive: false },
|
|
85
|
+
{ title: '', path: '', isSeparator: true, isActive: false }
|
|
86
|
+
];
|
|
87
|
+
this.pageInfoService.calculateTitle();
|
|
88
|
+
this.pageInfoService.calculateBreadcrumbs();
|
|
89
|
+
//Initialize form and controls
|
|
90
|
+
this.EditEmailForm = new FormGroup({});
|
|
91
|
+
this.EditEmailFormOptions = new FormOptions();
|
|
92
|
+
this.EditEmailFormOptions.FormGroup = this.EditEmailForm;
|
|
93
|
+
this.EditEmailFormOptions.GetModelFunction = this.getEditEmailModel;
|
|
94
|
+
this.EditEmailFormOptions.ServiceSubmitFunction = this.getEditEmailFunction;
|
|
95
|
+
this.EditEmailFormOptions.OnSuccessHandler = this.onEditEmailSuccess;
|
|
96
|
+
this.TemplateId = this.TemplateInfo.id;
|
|
97
|
+
this.EmailBodyInEnglish = new HtmlEditorOptions();
|
|
98
|
+
this.EmailBodyInEnglish.Name = "EmailBodyInEnglish";
|
|
99
|
+
this.EmailBodyInEnglish.LabelKey = "EmailBodyInEnglish";
|
|
100
|
+
this.EmailBodyInEnglish.IsRequired = true;
|
|
101
|
+
this.EmailBodyInEnglish.Value = this.TemplateInfo.emailtemplateinfo.emailBody.english;
|
|
102
|
+
this.EmailBodyInArabic = new HtmlEditorOptions();
|
|
103
|
+
this.EmailBodyInArabic.Name = "EmailBodyInArabic";
|
|
104
|
+
this.EmailBodyInArabic.LabelKey = "EmailBodyInArabic";
|
|
105
|
+
this.EmailBodyInArabic.IsRequired = true;
|
|
106
|
+
this.EmailBodyInArabic.ForceDirection = ForceDirection.Arabic;
|
|
107
|
+
this.EmailBodyInArabic.Value = this.TemplateInfo.emailtemplateinfo.emailBody.arabic;
|
|
108
|
+
this.EmailSubjectInEnglish = new TextBoxOptions();
|
|
109
|
+
this.EmailSubjectInEnglish.Name = "EmailSubjectInEnglish";
|
|
110
|
+
this.EmailSubjectInEnglish.LabelValue = "EmailSubjectInEnglish";
|
|
111
|
+
this.EmailSubjectInEnglish.LabelKey = "EmailSubjectInEnglish";
|
|
112
|
+
this.EmailSubjectInEnglish.Type = InputType.Text;
|
|
113
|
+
this.EmailSubjectInEnglish.Value = this.TemplateInfo.emailtemplateinfo.emailSubject.english;
|
|
114
|
+
this.EmailSubjectInArabic = new TextBoxOptions();
|
|
115
|
+
this.EmailSubjectInArabic.Name = "EmailSubjectInArabic";
|
|
116
|
+
this.EmailSubjectInArabic.LabelKey = "EmailSubjectInArabic";
|
|
117
|
+
this.EmailSubjectInArabic.Type = InputType.Text;
|
|
118
|
+
this.EmailSubjectInArabic.ForceDirection = ForceDirection.Arabic;
|
|
119
|
+
this.EmailSubjectInArabic.Value = this.TemplateInfo.emailtemplateinfo.emailSubject.arabic;
|
|
120
|
+
this.HtmlBodyTagAttributesEnglish = new TextBoxOptions();
|
|
121
|
+
this.HtmlBodyTagAttributesEnglish.Name = "HtmlBodyTagAttributesEnglish";
|
|
122
|
+
this.HtmlBodyTagAttributesEnglish.LabelKey = "HtmlBodyTagAttributesEnglish";
|
|
123
|
+
this.HtmlBodyTagAttributesEnglish.Type = InputType.Text;
|
|
124
|
+
this.HtmlBodyTagAttributesEnglish.Value = this.TemplateInfo.emailtemplateinfo.emailHtmlBodyTagAttributes.english;
|
|
125
|
+
this.HtmlBodyTagAttributesArabic = new TextBoxOptions();
|
|
126
|
+
this.HtmlBodyTagAttributesArabic.Name = "HtmlBodyTagAttributesArabic";
|
|
127
|
+
this.HtmlBodyTagAttributesArabic.LabelKey = "HtmlBodyTagAttributesArabic";
|
|
128
|
+
this.HtmlBodyTagAttributesArabic.Type = InputType.Text;
|
|
129
|
+
this.HtmlBodyTagAttributesArabic.ForceDirection = ForceDirection.Arabic;
|
|
130
|
+
this.HtmlBodyTagAttributesArabic.Value = this.TemplateInfo.emailtemplateinfo.emailHtmlBodyTagAttributes.arabic;
|
|
131
|
+
this.HTMLHeadSectionInEnglish = new TextBoxOptions();
|
|
132
|
+
this.HTMLHeadSectionInEnglish.Name = "HTMLHeadSectionInEnglish";
|
|
133
|
+
this.HTMLHeadSectionInEnglish.LabelKey = "HTMLHeadSectionInEnglish";
|
|
134
|
+
this.HTMLHeadSectionInEnglish.Type = InputType.Text;
|
|
135
|
+
this.HTMLHeadSectionInEnglish.Value = this.TemplateInfo.emailtemplateinfo.emailHtmlHeadSection.english;
|
|
136
|
+
this.HTMLHeadSectionInArabic = new TextBoxOptions();
|
|
137
|
+
this.HTMLHeadSectionInArabic.Name = "HTMLHeadSectionInArabic";
|
|
138
|
+
this.HTMLHeadSectionInArabic.LabelKey = "HTMLHeadSectionInArabic";
|
|
139
|
+
this.HTMLHeadSectionInArabic.Type = InputType.Text;
|
|
140
|
+
this.HTMLHeadSectionInArabic.ForceDirection = ForceDirection.Arabic;
|
|
141
|
+
this.HTMLHeadSectionInArabic.Value = this.TemplateInfo.emailtemplateinfo.emailHtmlHeadSection.arabic;
|
|
142
|
+
this.IsFormLoaded = true;
|
|
113
143
|
});
|
|
114
144
|
}
|
|
145
|
+
cancelEdit() {
|
|
146
|
+
this.router.navigate(['/Admin/Notifications/TemplateInfo', this.TemplateIdEnc]);
|
|
147
|
+
}
|
|
148
|
+
//Change Lang
|
|
115
149
|
changeCurrentLanguage(lang) {
|
|
116
150
|
this.Lang = lang;
|
|
117
151
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
let ResultModel = this.EditEmailForm.value;
|
|
124
|
-
let EmailTemplateModel = new TemplateEditViewModel();
|
|
125
|
-
EmailTemplateModel.ID = Number(this.TemplateId);
|
|
126
|
-
EmailTemplateModel.IDEncrypted = this.TemplateInfo.idEncrypted;
|
|
127
|
-
EmailTemplateModel.IsEmail = this.TemplateInfo.isEmail;
|
|
128
|
-
EmailTemplateModel.IsSms = this.TemplateInfo.isSms;
|
|
129
|
-
EmailTemplateModel.TemplateName = this.TemplateInfo.templateName;
|
|
130
|
-
EmailTemplateModel.Language = this.Lang;
|
|
131
|
-
EmailTemplateModel.emailtemplateinfo.ID = this.TemplateInfo.emailtemplateinfo.id;
|
|
132
|
-
EmailTemplateModel.emailtemplateinfo.EmailBody.Arabic = ResultModel.EmailBodyInArabic;
|
|
133
|
-
EmailTemplateModel.emailtemplateinfo.EmailBody.English = ResultModel.EmailBodyInEnglish;
|
|
134
|
-
EmailTemplateModel.emailtemplateinfo.EmailSubject.Arabic = ResultModel.EmailSubjectInArabic;
|
|
135
|
-
EmailTemplateModel.emailtemplateinfo.EmailSubject.English = ResultModel.EmailSubjectInEnglish;
|
|
136
|
-
EmailTemplateModel.emailtemplateinfo.EmailHtmlBodyTagAttributes.Arabic = ResultModel.HtmlBodyTagAttributesArabic;
|
|
137
|
-
EmailTemplateModel.emailtemplateinfo.EmailHtmlBodyTagAttributes.English = ResultModel.HtmlBodyTagAttributesEnglish;
|
|
138
|
-
EmailTemplateModel.emailtemplateinfo.EmailHtmlHeadSection.Arabic = ResultModel.HTMLHeadSectionInArabic;
|
|
139
|
-
EmailTemplateModel.emailtemplateinfo.EmailHtmlHeadSection.English = ResultModel.HTMLHeadSectionInEnglish;
|
|
140
|
-
this.templateService.EditEmailTemplateByLang(EmailTemplateModel).subscribe((result) => {
|
|
141
|
-
;
|
|
142
|
-
this.EditEmailForm.reset();
|
|
143
|
-
this.close();
|
|
144
|
-
}, (error) => {
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
close() {
|
|
149
|
-
this.router.navigate(['/Admin/Notifications/TemplateInfo', this.TemplateId]);
|
|
152
|
+
//On destroy
|
|
153
|
+
ngOnDestroy() {
|
|
154
|
+
this.requestHandlerService.destroyHandler();
|
|
150
155
|
}
|
|
151
156
|
}
|
|
152
|
-
EditEmailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: EditEmailComponent, deps: [{ token: i1.PageInfoService }, { token: i2.
|
|
153
|
-
EditEmailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: EditEmailComponent, selector: "lib-edit-email", ngImport: i0, template: "<block-ui></block-ui>\r\n <div class=\"container-fluid\">\r\n <div class=\"card card-custom-h\">\r\n <div class=\"card-header border-0 pt-5\">\r\n <div class=\"card-title align-items-start flex-column\">\r\n\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <div class=\"subheadertoolbar\">\r\n <a class=\"btn btn-light-primary btn-sm\" (click)=\"changeCurrentLanguage('ar')\" *ngIf=\"Lang=='en'\">\r\n {{utilityService.getResourceValue(\"Arabic\")}}\r\n\r\n </a>\r\n <a class=\"btn btn-light-primary btn-sm\" (click)=\"changeCurrentLanguage('en')\" *ngIf=\"Lang=='ar'\">\r\n {{utilityService.getResourceValue(\"English\")}}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <
|
|
154
|
-
__decorate([
|
|
155
|
-
BlockUI()
|
|
156
|
-
], EditEmailComponent.prototype, "blockUI", void 0);
|
|
157
|
+
EditEmailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: EditEmailComponent, deps: [{ token: i1.PageInfoService }, { token: i2.UtilityService }, { token: i2.BBSFTranslateService }, { token: i3.TemplateService }, { token: i4.ActivatedRoute }, { token: i4.Router }, { token: i2.RequestHandlerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
158
|
+
EditEmailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: EditEmailComponent, selector: "lib-edit-email", ngImport: i0, template: "<block-ui></block-ui>\r\n <div class=\"container-fluid\">\r\n <div class=\"card card-custom-h\">\r\n <div class=\"card-header border-0 pt-5\">\r\n <div class=\"card-title align-items-start flex-column\">\r\n\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <div class=\"subheadertoolbar\">\r\n <a class=\"btn btn-light-primary btn-sm\" (click)=\"changeCurrentLanguage('ar')\" *ngIf=\"Lang=='en'\">\r\n {{utilityService.getResourceValue(\"Arabic\")}}\r\n\r\n </a>\r\n <a class=\"btn btn-light-primary btn-sm\" (click)=\"changeCurrentLanguage('en')\" *ngIf=\"Lang=='ar'\">\r\n {{utilityService.getResourceValue(\"English\")}}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <BBSF-Form [options]=\"EditEmailFormOptions\" *ngIf=\"IsFormLoaded\">\r\n <div class=\"kt-form\">\r\n <div *ngIf=\"Lang=='ar'\">\r\n <div class=\"row\">\r\n <div class=\"form-group col-md-6\">\r\n <BBSF-TextBox [options]=\"EmailSubjectInArabic\" [group]=\"EditEmailForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n <div class=\"form-group col-md-12\">\r\n <BBSF-HtmlEditor [options]=\"EmailBodyInArabic\" [group]=\"EditEmailForm\">\r\n </BBSF-HtmlEditor>\r\n </div>\r\n <div class=\"form-group col-md-6\">\r\n <BBSF-TextBox [options]=\"HtmlBodyTagAttributesArabic\" [group]=\"EditEmailForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n\r\n <div class=\"form-group col-md-6\">\r\n <BBSF-TextBox [options]=\"HTMLHeadSectionInArabic\" [group]=\"EditEmailForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"Lang=='en'\">\r\n <div class=\"row\">\r\n <div class=\"form-group col-md-6\">\r\n <BBSF-TextBox [options]=\"EmailSubjectInEnglish\" [group]=\"EditEmailForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n\r\n\r\n <div class=\"form-group col-md-12\">\r\n <BBSF-HtmlEditor [options]=\"EmailBodyInEnglish\" [group]=\"EditEmailForm\">\r\n </BBSF-HtmlEditor>\r\n </div>\r\n <div class=\"form-group col-md-6\">\r\n <BBSF-TextBox [options]=\"HtmlBodyTagAttributesEnglish\" [group]=\"EditEmailForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n\r\n <div class=\"form-group col-md-6\">\r\n <BBSF-TextBox [options]=\"HTMLHeadSectionInEnglish\" [group]=\"EditEmailForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"d-flex justify-content-end\">\r\n <button type=\"button\" class=\"btn btn-light-primary btn-sm me-3\" (click)=\"cancelEdit()\">{{utilityService.getResourceValue(\"CancelLabel\")}}</button>\r\n <button type=\"submit\" class=\"btn btn-primary btn-sm \">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n </div>\r\n </BBSF-Form>\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n \r\n\r\n", components: [{ type: i5.BlockUIComponent, selector: "block-ui", inputs: ["name", "template", "message", "delayStart", "delayStop"] }, { type: i6.ɵv, selector: "BBSF-Form", inputs: ["options"] }, { type: i6.ɵd, selector: "BBSF-TextBox", inputs: ["group", "options"], outputs: ["OnChange"] }, { type: i6.ɵk, selector: "BBSF-HtmlEditor", inputs: ["group", "options"], outputs: ["OnChange"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
157
159
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: EditEmailComponent, decorators: [{
|
|
158
160
|
type: Component,
|
|
159
161
|
args: [{
|
|
160
162
|
selector: 'lib-edit-email',
|
|
161
163
|
templateUrl: './edit-email.component.html'
|
|
162
164
|
}]
|
|
163
|
-
}], ctorParameters: function () { return [{ type: i1.PageInfoService }, { type: i2.
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1lbWFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL25vdGlmaWNhdGlvbnMvZWRpdC1lbWFpbC9lZGl0LWVtYWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvbm90aWZpY2F0aW9ucy9lZGl0LWVtYWlsL2VkaXQtZW1haWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxPQUFPLEVBQWEsTUFBTSxhQUFhLENBQUM7QUFFakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBR3JGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDOzs7Ozs7Ozs7Ozs7QUFPeEcsTUFBTSxPQUFPLGtCQUFrQjtJQXFCN0IsWUFBb0IsZUFBK0IsRUFBVSxXQUF1QixFQUFTLGNBQTZCLEVBQVMsb0JBQXlDLEVBQVMsa0JBQXFDLEVBQVMsaUJBQW1DLEVBQVUsWUFBK0IsRUFBVSxlQUFnQyxFQUFVLGNBQThCLEVBQVUsTUFBYztRQUFyWSxvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUFTLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQVMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtRQUFTLHVCQUFrQixHQUFsQixrQkFB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YSxDQUFDLEtBQUssRUFBRSxDQUFBO2dCQUMxQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUViLENBQUMsQ0FBQyxDQUFBO1NBQ0g7SUFDSCxDQUFDO0lBQ0QsS0FBSztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsbUNBQW1DLEVBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQzs7Z0hBN0pVLGtCQUFrQjtvR0FBbEIsa0JBQWtCLHNEQ2hCL0IsOHdHQWdGQTtBRDlDYTtJQUFWLE9BQU8sRUFBRTttREFBb0I7NEZBbEJuQixrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsV0FBVyxFQUFFLDZCQUE2QjtpQkFDM0M7Z1hBbUJZLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBGb3JjZURpcmVjdGlvbiwgSHRtbEVkaXRvck9wdGlvbnMsIElucHV0VHlwZSwgVGV4dEJveE9wdGlvbnMgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scyc7XHJcbmltcG9ydCB7IEJsb2NrVUksIE5nQmxvY2tVSSB9IGZyb20gJ25nLWJsb2NrLXVpJztcclxuaW1wb3J0IHsgQ2xpcGJvYXJkU2VydmljZSB9IGZyb20gJ25neC1jbGlwYm9hcmQnO1xyXG5pbXBvcnQgeyBQYWdlSW5mb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fbWV0cm9uaWMvY29yZS9zZXJ2aWNlcy9wYWdlLWluZm8uc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFTZWNyZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL1NlcnZpY2VzL2RhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IFRlbXBsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9TZXJ2aWNlcy9UZW1wbGF0ZVNlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFRlbXBsYXRlRWRpdFZpZXdNb2RlbCB9IGZyb20gJy4vLi4vLi4vc2hhcmVkL21vZGVscy9Ob3RpZmljYXRpb25zTW9kZWxzL1RlbXBsYXRlRWRpdFZpZXdNb2RlbCc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBVdGlsaXR5U2VydmljZSwgQkJTRlRyYW5zbGF0ZVNlcnZpY2UsIEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLXV0aWxpdGllcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1lZGl0LWVtYWlsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWRpdC1lbWFpbC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVkaXRFbWFpbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgUGFnZU5hbWU6IHN0cmluZyA9IFwiXCJcclxuICBUZW1wbGF0ZUlkOiBzdHJpbmcgPSBcIlwiXHJcbiAgTGFuZzogc3RyaW5nID0gXCJcIlxyXG4gIFRlbXBsYXRlSW5mbzogYW55XHJcbiAgSXNBRWRpdEZvcm1Mb2FkZWQ6Ym9vbGVhblxyXG5cclxuICBFZGl0RW1haWxGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgRW1haWxTdWJqZWN0SW5FbmdsaXNoOiBUZXh0Qm94T3B0aW9ucztcclxuICBFbWFpbEJvZHlJbkVuZ2xpc2g6IEh0bWxFZGl0b3JPcHRpb25zO1xyXG4gIEh0bWxCb2R5VGFnQXR0cmlidXRlc0VuZ2xpc2g6IFRleHRCb3hPcHRpb25zO1xyXG4gIEhUTUxIZWFkU2VjdGlvbkluRW5nbGlzaDogVGV4dEJveE9wdGlvbnM7XHJcblxyXG4gIEVtYWlsU3ViamVjdEluQXJhYmljOiBUZXh0Qm94T3B0aW9ucztcclxuICBFbWFpbEJvZHlJbkFyYWJpYzogSHRtbEVkaXRvck9wdGlvbnM7XHJcbiAgSHRtbEJvZHlUYWdBdHRyaWJ1dGVzQXJhYmljOiBUZXh0Qm94T3B0aW9ucztcclxuICBIVE1MSGVhZFNlY3Rpb25JbkFyYWJpYzogVGV4dEJveE9wdGlvbnM7XHJcbiAgLy8gRGVjb3JhdG9yIHdpcmVzIHVwIGJsb2NrVUkgaW5zdGFuY2VcclxuICBAQmxvY2tVSSgpIGJsb2NrVUk6IE5nQmxvY2tVSTtcclxuICBsYW5ndWFnZTpzdHJpbmc9XCJcIlxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhZ2VJbmZvU2VydmljZTpQYWdlSW5mb1NlcnZpY2UsIHByaXZhdGUgYXV0aFNlcnZpY2U6QXV0aFNlcnZpY2UsIHB1YmxpYyB1dGlsaXR5U2VydmljZTpVdGlsaXR5U2VydmljZSxwcml2YXRlIGJic2ZUcmFuc2xhdGVTZXJ2aWNlOkJCU0ZUcmFuc2xhdGVTZXJ2aWNlLHByaXZhdGUgZW52aXJvbm1lbnRTZXJ2aWNlOkVudmlyb25tZW50U2VydmljZSxwcml2YXRlIF9jbGlwYm9hcmRTZXJ2aWNlOiBDbGlwYm9hcmRTZXJ2aWNlLCBwcml2YXRlIGRhdGFTZXJ2aWNlczogRGF0YVNlY3JldFNlcnZpY2UsIHByaXZhdGUgdGVtcGxhdGVTZXJ2aWNlOiBUZW1wbGF0ZVNlcnZpY2UsIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XHJcbiAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcclxuICAgICAgdGhpcy5UZW1wbGF0ZUlkID0gcGFyYW1zWydpZCddO1xyXG4gICAgICB0aGlzLkxhbmcgPSBwYXJhbXNbJ2xhbmcnXTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLklzQUVkaXRGb3JtTG9hZGVkPWZhbHNlXHJcblxyXG4gICAgdGhpcy5iYnNmVHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKChldmVudCk9PntcclxuICAgICAgdGhpcy5sYW5ndWFnZSA9IGV2ZW50Lmxhbmc7XHJcbiAgICAgIHRoaXMubmdPbkluaXQoKTtcclxuICAgIH0pXHJcbiAgICB0aGlzLmxhbmd1YWdlID0gYXdhaXQgdGhpcy51dGlsaXR5U2VydmljZS5nZXRDdXJyZW50TGFuZ3VhZ2UoKTtcclxuICAgIHRoaXMudGVtcGxhdGVTZXJ2aWNlLkdldFRlbXBsYXRlSW5mb0J5TGFuZyggTnVtYmVyKHRoaXMuVGVtcGxhdGVJZCksIHRoaXMuTGFuZykuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgbGV0IFJlc3VsdDogYW55ID0gcmVzdWx0XHJcbiAgICAgIHRoaXMuVGVtcGxhdGVJbmZvID0gUmVzdWx0LnZhbDtcclxuICAgICAgICBsZXQgVGVtcGxhdGVOYW1lOnN0cmluZz0gdGhpcy5sYW5ndWFnZT09J2VuJz90aGlzLlRlbXBsYXRlSW5mby5lbWFpbHRlbXBsYXRlaW5mby5lbWFpbFN1YmplY3QuZW5nbGlzaDp0aGlzLlRlbXBsYXRlSW5mby5lbWFpbHRlbXBsYXRlaW5mby5lbWFpbFN1YmplY3QuYXJhYmljXHJcbiAgICAgICBpZihUZW1wbGF0ZU5hbWU9PW51bGx8fFRlbXBsYXRlTmFtZT09dW5kZWZpbmVkKVxyXG4gICAgICAgVGVtcGxhdGVOYW1lPVwiXCJcclxuICAgICAgICBQYWdlSW5mb1NlcnZpY2UuUGFnZVRpdGxlPXRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkVkaXRcIilcclxuICAgICAgICBQYWdlSW5mb1NlcnZpY2UuUGFnZUJyZWFkY3J1bWJzPVtcclxuICAgICAgICAge3RpdGxlOiB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJIb21lXCIpICwgcGF0aDogJy9BZG1pbi9Ib21lJywgaXNTZXBhcmF0b3I6IGZhbHNlLCBpc0FjdGl2ZTogZmFsc2V9LFxyXG4gICAgICAgICB7dGl0bGU6ICcnLCBwYXRoOiAnJywgaXNTZXBhcmF0b3I6IHRydWUsIGlzQWN0aXZlOiBmYWxzZX0sXHJcbiAgICAgICAgIHt0aXRsZTogdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiVGVtcGxhdGVzXCIpLCBwYXRoOiAnL0FkbWluL05vdGlmaWNhdGlvbnMvVGVtcGxhdGVzJywgaXNTZXBhcmF0b3I6IGZhbHNlLCBpc0FjdGl2ZTogZmFsc2V9LFxyXG4gICAgICAgICB7dGl0bGU6ICcnLCBwYXRoOiAnJywgaXNTZXBhcmF0b3I6IHRydWUsIGlzQWN0aXZlOiBmYWxzZX0sXHJcbiAgICAgICAgIHt0aXRsZTpUZW1wbGF0ZU5hbWUhPVwiXCI/dGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFRlbXBsYXRlTmFtZSk6XCJcIiAsIHBhdGg6IFwiL0FkbWluL05vdGlmaWNhdGlvbnMvVGVtcGxhdGVJbmZvL1wiK3RoaXMuVGVtcGxhdGVJbmZvLmlkLCBpc1NlcGFyYXRvcjogZmFsc2UsIGlzQWN0aXZlOiBmYWxzZX0sXHJcbiAgICAgICAgIHt0aXRsZTogJycsIHBhdGg6ICcnLCBpc1NlcGFyYXRvcjogdHJ1ZSwgaXNBY3RpdmU6IGZhbHNlfVxyXG4gIFxyXG4gIFxyXG4gICAgICBdO1xyXG4gICAgICB0aGlzLnBhZ2VJbmZvU2VydmljZS5jYWxjdWxhdGVUaXRsZSgpO1xyXG4gICAgICB0aGlzLnBhZ2VJbmZvU2VydmljZS5jYWxjdWxhdGVCcmVhZGNydW1icygpO1xyXG4gICAgICBcclxuICAgICAgdGhpcy5FbWFpbEJvZHlJbkVuZ2xpc2ggPSBuZXcgSHRtbEVkaXRvck9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5FbWFpbEJvZHlJbkVuZ2xpc2guTmFtZSA9IFwiRW1haWxCb2R5SW5FbmdsaXNoXCJcclxuICAgICAgdGhpcy5FbWFpbEJvZHlJbkVuZ2xpc2guTGFiZWxLZXkgPSBcIkVtYWlsQm9keUluRW5nbGlzaFwiXHJcbiAgICAgIHRoaXMuRW1haWxCb2R5SW5FbmdsaXNoLklzUmVxdWlyZWQgPSB0cnVlXHJcbiAgICAgIHRoaXMuRW1haWxCb2R5SW5FbmdsaXNoLlZhbHVlID0gdGhpcy5UZW1wbGF0ZUluZm8uZW1haWx0ZW1wbGF0ZWluZm8uZW1haWxCb2R5LmVuZ2xpc2g7XHJcbiAgICBcclxuXHJcbiAgICAgIHRoaXMuRW1haWxCb2R5SW5BcmFiaWMgPSBuZXcgSHRtbEVkaXRvck9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5FbWFpbEJvZHlJbkFyYWJpYy5OYW1lID0gXCJFbWFpbEJvZHlJbkFyYWJpY1wiXHJcbiAgICAgIHRoaXMuRW1haWxCb2R5SW5BcmFiaWMuTGFiZWxLZXkgPSBcIkVtYWlsQm9keUluQXJhYmljXCJcclxuICAgICAgdGhpcy5FbWFpbEJvZHlJbkFyYWJpYy5Jc1JlcXVpcmVkID0gdHJ1ZVxyXG4gICAgICB0aGlzLkVtYWlsQm9keUluQXJhYmljLkZvcmNlRGlyZWN0aW9uID0gRm9yY2VEaXJlY3Rpb24uQXJhYmljXHJcbiAgICAgIHRoaXMuRW1haWxCb2R5SW5BcmFiaWMuVmFsdWUgPSB0aGlzLlRlbXBsYXRlSW5mby5lbWFpbHRlbXBsYXRlaW5mby5lbWFpbEJvZHkuYXJhYmljO1xyXG5cclxuXHJcbiAgICAgIHRoaXMuRW1haWxTdWJqZWN0SW5FbmdsaXNoID0gbmV3IFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuRW1haWxTdWJqZWN0SW5FbmdsaXNoLk5hbWUgPSBcIkVtYWlsU3ViamVjdEluRW5nbGlzaFwiXHJcbiAgICAgIHRoaXMuRW1haWxTdWJqZWN0SW5FbmdsaXNoLkxhYmVsVmFsdWUgPSBcIkVtYWlsU3ViamVjdEluRW5nbGlzaFwiXHJcbiAgICAgIHRoaXMuRW1haWxTdWJqZWN0SW5FbmdsaXNoLkxhYmVsS2V5ID0gXCJFbWFpbFN1YmplY3RJbkVuZ2xpc2hcIlxyXG4gICAgICB0aGlzLkVtYWlsU3ViamVjdEluRW5nbGlzaC5UeXBlID0gSW5wdXRUeXBlLlRleHRcclxuICAgICAgdGhpcy5FbWFpbFN1YmplY3RJbkVuZ2xpc2guVmFsdWUgPSB0aGlzLlRlbXBsYXRlSW5mby5lbWFpbHRlbXBsYXRlaW5mby5lbWFpbFN1YmplY3QuZW5nbGlzaDtcclxuXHJcbiAgICAgIHRoaXMuRW1haWxTdWJqZWN0SW5BcmFiaWMgPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5FbWFpbFN1YmplY3RJbkFyYWJpYy5OYW1lID0gXCJFbWFpbFN1YmplY3RJbkFyYWJpY1wiXHJcbiAgICAgIHRoaXMuRW1haWxTdWJqZWN0SW5BcmFiaWMuTGFiZWxLZXkgPSBcIkVtYWlsU3ViamVjdEluQXJhYmljXCJcclxuICAgICAgdGhpcy5FbWFpbFN1YmplY3RJbkFyYWJpYy5UeXBlID0gSW5wdXRUeXBlLlRleHRcclxuICAgICAgdGhpcy5FbWFpbFN1YmplY3RJbkFyYWJpYy5Gb3JjZURpcmVjdGlvbiA9IEZvcmNlRGlyZWN0aW9uLkFyYWJpY1xyXG4gICAgICB0aGlzLkVtYWlsU3ViamVjdEluQXJhYmljLlZhbHVlID0gdGhpcy5UZW1wbGF0ZUluZm8uZW1haWx0ZW1wbGF0ZWluZm8uZW1haWxTdWJqZWN0LmFyYWJpYztcclxuXHJcbiAgICAgdGhpcy5IdG1sQm9keVRhZ0F0dHJpYnV0ZXNFbmdsaXNoID0gbmV3IFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuSHRtbEJvZHlUYWdBdHRyaWJ1dGVzRW5nbGlzaC5OYW1lID0gXCJIdG1sQm9keVRhZ0F0dHJpYnV0ZXNFbmdsaXNoXCJcclxuICAgICAgdGhpcy5IdG1sQm9keVRhZ0F0dHJpYnV0ZXNFbmdsaXNoLkxhYmVsS2V5ID0gXCJIdG1sQm9keVRhZ0F0dHJpYnV0ZXNFbmdsaXNoXCJcclxuICAgICAgdGhpcy5IdG1sQm9keVRhZ0F0dHJpYnV0ZXNFbmdsaXNoLlR5cGUgPSBJbnB1dFR5cGUuVGV4dFxyXG4gICAgICB0aGlzLkh0bWxCb2R5VGFnQXR0cmlidXRlc0VuZ2xpc2guVmFsdWUgPSB0aGlzLlRlbXBsYXRlSW5mby5lbWFpbHRlbXBsYXRlaW5mby5lbWFpbEh0bWxCb2R5VGFnQXR0cmlidXRlcy5lbmdsaXNoO1xyXG5cclxuICAgICAgdGhpcy5IdG1sQm9keVRhZ0F0dHJpYnV0ZXNBcmFiaWMgPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5IdG1sQm9keVRhZ0F0dHJpYnV0ZXNBcmFiaWMuTmFtZSA9IFwiSHRtbEJvZHlUYWdBdHRyaWJ1dGVzQXJhYmljXCJcclxuICAgICAgdGhpcy5IdG1sQm9keVRhZ0F0dHJpYnV0ZXNBcmFiaWMuTGFiZWxLZXkgPSBcIkh0bWxCb2R5VGFnQXR0cmlidXRlc0FyYWJpY1wiXHJcbiAgICAgIHRoaXMuSHRtbEJvZHlUYWdBdHRyaWJ1dGVzQXJhYmljLlR5cGUgPSBJbnB1dFR5cGUuVGV4dFxyXG4gICAgICB0aGlzLkh0bWxCb2R5VGFnQXR0cmlidXRlc0FyYWJpYy5Gb3JjZURpcmVjdGlvbiA9IEZvcmNlRGlyZWN0aW9uLkFyYWJpY1xyXG4gICAgICB0aGlzLkh0bWxCb2R5VGFnQXR0cmlidXRlc0FyYWJpYy5WYWx1ZSA9IHRoaXMuVGVtcGxhdGVJbmZvLmVtYWlsdGVtcGxhdGVpbmZvLmVtYWlsSHRtbEJvZHlUYWdBdHRyaWJ1dGVzLmFyYWJpYztcclxuXHJcblxyXG4gICAgICB0aGlzLkhUTUxIZWFkU2VjdGlvbkluRW5nbGlzaCA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkhUTUxIZWFkU2VjdGlvbkluRW5nbGlzaC5OYW1lID0gXCJIVE1MSGVhZFNlY3Rpb25JbkVuZ2xpc2hcIlxyXG4gICAgICB0aGlzLkhUTUxIZWFkU2VjdGlvbkluRW5nbGlzaC5MYWJlbEtleSA9IFwiSFRNTEhlYWRTZWN0aW9uSW5FbmdsaXNoXCJcclxuICAgICAgdGhpcy5IVE1MSGVhZFNlY3Rpb25JbkVuZ2xpc2guVHlwZSA9IElucHV0VHlwZS5UZXh0XHJcbiAgICAgIHRoaXMuSFRNTEhlYWRTZWN0aW9uSW5FbmdsaXNoLlZhbHVlID0gdGhpcy5UZW1wbGF0ZUluZm8uZW1haWx0ZW1wbGF0ZWluZm8uZW1haWxIdG1sSGVhZFNlY3Rpb24uZW5nbGlzaDtcclxuXHJcbiAgICAgIHRoaXMuSFRNTEhlYWRTZWN0aW9uSW5BcmFiaWMgPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5IVE1MSGVhZFNlY3Rpb25JbkFyYWJpYy5OYW1lID0gXCJIVE1MSGVhZFNlY3Rpb25JbkFyYWJpY1wiXHJcbiAgICAgIHRoaXMuSFRNTEhlYWRTZWN0aW9uSW5BcmFiaWMuTGFiZWxLZXkgPSBcIkhUTUxIZWFkU2VjdGlvbkluQXJhYmljXCJcclxuICAgICAgdGhpcy5IVE1MSGVhZFNlY3Rpb25JbkFyYWJpYy5UeXBlID0gSW5wdXRUeXBlLlRleHRcclxuICAgICAgdGhpcy5IVE1MSGVhZFNlY3Rpb25JbkFyYWJpYy5Gb3JjZURpcmVjdGlvbiA9IEZvcmNlRGlyZWN0aW9uLkFyYWJpY1xyXG4gICAgICB0aGlzLkhUTUxIZWFkU2VjdGlvbkluQXJhYmljLlZhbHVlID0gdGhpcy5UZW1wbGF0ZUluZm8uZW1haWx0ZW1wbGF0ZWluZm8uZW1haWxIdG1sSGVhZFNlY3Rpb24uYXJhYmljO1xyXG4gICAgICB0aGlzLklzQUVkaXRGb3JtTG9hZGVkPXRydWU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gY2hhbmdlQ3VycmVudExhbmd1YWdlKGxhbmc6c3RyaW5nKVxyXG4ge1xyXG4gICB0aGlzLkxhbmc9bGFuZztcclxuIH1cclxuXHJcbiAgXHJcbiAgZWRpdEVtYWlsVGVtcGxhdGUoKXtcclxuICAgIGlmICh0aGlzLkVkaXRFbWFpbEZvcm0uaW52YWxpZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgbGV0IFJlc3VsdE1vZGVsID0gdGhpcy5FZGl0RW1haWxGb3JtLnZhbHVlO1xyXG4gICAgICBsZXQgRW1haWxUZW1wbGF0ZU1vZGVsID0gbmV3IFRlbXBsYXRlRWRpdFZpZXdNb2RlbCgpO1xyXG4gICAgICBFbWFpbFRlbXBsYXRlTW9kZWwuSUQgPSBOdW1iZXIodGhpcy5UZW1wbGF0ZUlkKTtcclxuICAgICAgRW1haWxUZW1wbGF0ZU1vZGVsLklERW5jcnlwdGVkID0gdGhpcy5UZW1wbGF0ZUluZm8uaWRFbmNyeXB0ZWQ7XHJcbiAgICAgIEVtYWlsVGVtcGxhdGVNb2RlbC5Jc0VtYWlsID0gdGhpcy5UZW1wbGF0ZUluZm8uaXNFbWFpbDtcclxuICAgICAgRW1haWxUZW1wbGF0ZU1vZGVsLklzU21zID0gdGhpcy5UZW1wbGF0ZUluZm8uaXNTbXM7XHJcbiAgICAgIEVtYWlsVGVtcGxhdGVNb2RlbC5UZW1wbGF0ZU5hbWUgPSB0aGlzLlRlbXBsYXRlSW5mby50ZW1wbGF0ZU5hbWU7XHJcbiAgICAgIEVtYWlsVGVtcGxhdGVNb2RlbC5MYW5ndWFnZSA9IHRoaXMuTGFuZztcclxuICAgICAgRW1haWxUZW1wbGF0ZU1vZGVsLmVtYWlsdGVtcGxhdGVpbmZvLklEID10aGlzLlRlbXBsYXRlSW5mby5lbWFpbHRlbXBsYXRlaW5mby5pZCA7XHJcbiAgICAgIEVtYWlsVGVtcGxhdGVNb2RlbC5lbWFpbHRlbXBsYXRlaW5mby5FbWFpbEJvZHkuQXJhYmljID0gUmVzdWx0TW9kZWwuRW1haWxCb2R5SW5BcmFiaWNcclxuICAgICAgRW1haWxUZW1wbGF0ZU1vZGVsLmVtYWlsdGVtcGxhdGVpbmZvLkVtYWlsQm9keS5FbmdsaXNoID0gUmVzdWx0TW9kZWwuRW1haWxCb2R5SW5FbmdsaXNoXHJcbiAgICAgIEVtYWlsVGVtcGxhdGVNb2RlbC5lbWFpbHRlbXBsYXRlaW5mby5FbWFpbFN1YmplY3QuQXJhYmljID0gUmVzdWx0TW9kZWwuRW1haWxTdWJqZWN0SW5BcmFiaWNcclxuICAgICAgRW1haWxUZW1wbGF0ZU1vZGVsLmVtYWlsdGVtcGxhdGVpbmZvLkVtYWlsU3ViamVjdC5FbmdsaXNoID0gUmVzdWx0TW9kZWwuRW1haWxTdWJqZWN0SW5FbmdsaXNoXHJcbiAgICAgIEVtYWlsVGVtcGxhdGVNb2RlbC5lbWFpbHRlbXBsYXRlaW5mby5FbWFpbEh0bWxCb2R5VGFnQXR0cmlidXRlcy5BcmFiaWMgPSBSZXN1bHRNb2RlbC5IdG1sQm9keVRhZ0F0dHJpYnV0ZXNBcmFiaWNcclxuICAgICAgRW1haWxUZW1wbGF0ZU1vZGVsLmVtYWlsdGVtcGxhdGVpbmZvLkVtYWlsSHRtbEJvZHlUYWdBdHRyaWJ1dGVzLkVuZ2xpc2ggPVJlc3VsdE1vZGVsLkh0bWxCb2R5VGFnQXR0cmlidXRlc0VuZ2xpc2hcclxuICAgICAgRW1haWxUZW1wbGF0ZU1vZGVsLmVtYWlsdGVtcGxhdGVpbmZvLkVtYWlsSHRtbEhlYWRTZWN0aW9uLkFyYWJpYyA9IFJlc3VsdE1vZGVsLkhUTUxIZWFkU2VjdGlvbkluQXJhYmljXHJcbiAgICAgIEVtYWlsVGVtcGxhdGVNb2RlbC5lbWFpbHRlbXBsYXRlaW5mby5FbWFpbEh0bWxIZWFkU2VjdGlvbi5FbmdsaXNoID0gUmVzdWx0TW9kZWwuSFRNTEhlYWRTZWN0aW9uSW5FbmdsaXNoXHJcblxyXG4gICAgICB0aGlzLnRlbXBsYXRlU2VydmljZS5FZGl0RW1haWxUZW1wbGF0ZUJ5TGFuZyggRW1haWxUZW1wbGF0ZU1vZGVsKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG5cclxuICAgICAgXHJcbiAgICAgICAgIDtcclxuICAgICAgICB0aGlzLkVkaXRFbWFpbEZvcm0ucmVzZXQoKVxyXG4gICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgfSwgKGVycm9yKSA9PiB7XHJcbiAgICAgICBcclxuICAgICAgfSlcclxuICAgIH1cclxuICB9XHJcbiAgY2xvc2UoKXtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL0FkbWluL05vdGlmaWNhdGlvbnMvVGVtcGxhdGVJbmZvJyx0aGlzLlRlbXBsYXRlSWRdKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxibG9jay11aT48L2Jsb2NrLXVpPlxyXG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtY3VzdG9tLWhcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViaGVhZGVydG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8YSBjbGFzcz1cImJ0biBidG4tbGlnaHQtcHJpbWFyeSBidG4tc21cIiAoY2xpY2spPVwiY2hhbmdlQ3VycmVudExhbmd1YWdlKCdhcicpXCIgKm5nSWY9XCJMYW5nPT0nZW4nXCI+XHJcbiAgICAgICAgICAgICAge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQXJhYmljXCIpfX1cclxuXHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPGEgY2xhc3M9XCJidG4gYnRuLWxpZ2h0LXByaW1hcnkgYnRuLXNtXCIgKGNsaWNrKT1cImNoYW5nZUN1cnJlbnRMYW5ndWFnZSgnZW4nKVwiICpuZ0lmPVwiTGFuZz09J2FyJ1wiPlxyXG4gICAgICAgICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkVuZ2xpc2hcIil9fVxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cIkVkaXRFbWFpbEZvcm1cIiAqbmdJZj1cIklzQUVkaXRGb3JtTG9hZGVkXCIgKG5nU3VibWl0KT1cImVkaXRFbWFpbFRlbXBsYXRlKClcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJrdC1mb3JtXCI+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJMYW5nPT0nYXInXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJFbWFpbFN1YmplY3RJbkFyYWJpY1wiIFtncm91cF09XCJFZGl0RW1haWxGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgPEJCU0YtSHRtbEVkaXRvciBbb3B0aW9uc109XCJFbWFpbEJvZHlJbkFyYWJpY1wiIFtncm91cF09XCJFZGl0RW1haWxGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvQkJTRi1IdG1sRWRpdG9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cIkh0bWxCb2R5VGFnQXR0cmlidXRlc0FyYWJpY1wiIFtncm91cF09XCJFZGl0RW1haWxGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJIVE1MSGVhZFNlY3Rpb25JbkFyYWJpY1wiIFtncm91cF09XCJFZGl0RW1haWxGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIkxhbmc9PSdlbidcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cIkVtYWlsU3ViamVjdEluRW5nbGlzaFwiIFtncm91cF09XCJFZGl0RW1haWxGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICA8QkJTRi1IdG1sRWRpdG9yIFtvcHRpb25zXT1cIkVtYWlsQm9keUluRW5nbGlzaFwiIFtncm91cF09XCJFZGl0RW1haWxGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvQkJTRi1IdG1sRWRpdG9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cIkh0bWxCb2R5VGFnQXR0cmlidXRlc0VuZ2xpc2hcIiBbZ3JvdXBdPVwiRWRpdEVtYWlsRm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxCQlNGLVRleHRCb3ggW29wdGlvbnNdPVwiSFRNTEhlYWRTZWN0aW9uSW5FbmdsaXNoXCIgW2dyb3VwXT1cIkVkaXRFbWFpbEZvcm1cIj5cclxuICAgICAgICAgICAgICAgICAgPC9CQlNGLVRleHRCb3g+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiIGt0LWZvcm1fX2FjdGlvbnMgY29sLTEyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbSBcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJTYXZlTGFiZWxcIil9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9mb3JtPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgPC9kaXY+XHJcbiAgXHJcblxyXG4iXX0=
|
|
165
|
+
}], ctorParameters: function () { return [{ type: i1.PageInfoService }, { type: i2.UtilityService }, { type: i2.BBSFTranslateService }, { type: i3.TemplateService }, { type: i4.ActivatedRoute }, { type: i4.Router }, { type: i2.RequestHandlerService }]; } });
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1lbWFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL25vdGlmaWNhdGlvbnMvZWRpdC1lbWFpbC9lZGl0LWVtYWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvbm90aWZpY2F0aW9ucy9lZGl0LWVtYWlsL2VkaXQtZW1haWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUVBQWlFLENBQUM7Ozs7Ozs7OztBQVF4RyxNQUFNLE9BQU8sa0JBQWtCO0lBcUI3QixZQUFvQixlQUFnQyxFQUFTLGNBQThCLEVBQ2pGLG9CQUEwQyxFQUFVLGVBQWdDLEVBQ3BGLGNBQThCLEVBQVUsTUFBYyxFQUFVLHFCQUE0QztRQUZsRyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBUyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDakYseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNwRixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtR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K0JELFVBQVU7UUFDUixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLG1DQUFtQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCxhQUFhO0lBQ2IscUJBQXFCLENBQUMsSUFBWTtRQUNoQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsWUFBWTtJQUNaLFdBQVc7UUFDVCxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDOUMsQ0FBQzs7Z0hBdEtVLGtCQUFrQjtvR0FBbEIsa0JBQWtCLHNEQ2QvQixzNEdBaUZBOzRGRG5FYSxrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsV0FBVyxFQUFFLDZCQUE2QjtpQkFDM0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBGb3JjZURpcmVjdGlvbiwgRm9ybU9wdGlvbnMsIEh0bWxFZGl0b3JPcHRpb25zLCBJbnB1dFR5cGUsIFRleHRCb3hPcHRpb25zIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtY29udHJvbHMnO1xyXG5pbXBvcnQgeyBQYWdlSW5mb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fbWV0cm9uaWMvY29yZS9zZXJ2aWNlcy9wYWdlLWluZm8uc2VydmljZSc7XHJcbmltcG9ydCB7IFRlbXBsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9TZXJ2aWNlcy9UZW1wbGF0ZVNlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFRlbXBsYXRlRWRpdFZpZXdNb2RlbCB9IGZyb20gJy4vLi4vLi4vc2hhcmVkL21vZGVscy9Ob3RpZmljYXRpb25zTW9kZWxzL1RlbXBsYXRlRWRpdFZpZXdNb2RlbCc7XHJcbmltcG9ydCB7IFV0aWxpdHlTZXJ2aWNlLCBCQlNGVHJhbnNsYXRlU2VydmljZSwgUmVxdWVzdEhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtdXRpbGl0aWVzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZWRpdC1lbWFpbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXQtZW1haWwuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFZGl0RW1haWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8vUGFnZSBSZXF1aXJlbWVudHNcclxuICBUZW1wbGF0ZUlkRW5jOiBzdHJpbmcgPSBcIlwiXHJcbiAgVGVtcGxhdGVJZDogbnVtYmVyO1xyXG4gIExhbmc6IHN0cmluZyA9IFwiXCJcclxuICBUZW1wbGF0ZUluZm86IGFueVxyXG4gIElzRm9ybUxvYWRlZDpib29sZWFuXHJcblxyXG4gIC8vSW5pdGlhbGl6ZSBmb3JtIGFuZCBjb250cm9sc1xyXG4gIEVkaXRFbWFpbEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICBFZGl0RW1haWxGb3JtT3B0aW9ucyA9IG5ldyBGb3JtT3B0aW9ucztcclxuICBFbWFpbFN1YmplY3RJbkVuZ2xpc2g6IFRleHRCb3hPcHRpb25zO1xyXG4gIEVtYWlsU3ViamVjdEluQXJhYmljOiBUZXh0Qm94T3B0aW9ucztcclxuICBFbWFpbEJvZHlJbkVuZ2xpc2g6IEh0bWxFZGl0b3JPcHRpb25zO1xyXG4gIEVtYWlsQm9keUluQXJhYmljOiBIdG1sRWRpdG9yT3B0aW9ucztcclxuICBIdG1sQm9keVRhZ0F0dHJpYnV0ZXNFbmdsaXNoOiBUZXh0Qm94T3B0aW9ucztcclxuICBIdG1sQm9keVRhZ0F0dHJpYnV0ZXNBcmFiaWM6IFRleHRCb3hPcHRpb25zO1xyXG4gIEhUTUxIZWFkU2VjdGlvbkluRW5nbGlzaDogVGV4dEJveE9wdGlvbnM7XHJcbiAgSFRNTEhlYWRTZWN0aW9uSW5BcmFiaWM6IFRleHRCb3hPcHRpb25zO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwYWdlSW5mb1NlcnZpY2U6IFBhZ2VJbmZvU2VydmljZSwgcHVibGljIHV0aWxpdHlTZXJ2aWNlOiBVdGlsaXR5U2VydmljZSxcclxuICAgIHByaXZhdGUgYmJzZlRyYW5zbGF0ZVNlcnZpY2U6IEJCU0ZUcmFuc2xhdGVTZXJ2aWNlLCBwcml2YXRlIHRlbXBsYXRlU2VydmljZTogVGVtcGxhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgcmVxdWVzdEhhbmRsZXJTZXJ2aWNlOiBSZXF1ZXN0SGFuZGxlclNlcnZpY2UpIHtcclxuICAgIHRoaXMuYWN0aXZhdGVkUm91dGUucGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICB0aGlzLlRlbXBsYXRlSWRFbmMgPSBwYXJhbXNbJ2lkJ107XHJcbiAgICAgIHRoaXMuTGFuZyA9IHBhcmFtc1snbGFuZyddO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuYmJzZlRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoZXZlbnQpPT57XHJcbiAgICAgIHRoaXMubmdPbkluaXQoKTtcclxuICAgIH0pXHJcbiAgICB0aGlzLmluaXRpYWxpemVQYWdlKCk7XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplUGFnZSgpIHtcclxuICAgIHRoaXMudGVtcGxhdGVTZXJ2aWNlLmdldFRlbXBsYXRlSW5mb0J5TGFuZyh0aGlzLlRlbXBsYXRlSWRFbmMsIHRoaXMuTGFuZykuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgbGV0IFJlc3VsdDogYW55ID0gcmVzdWx0XHJcbiAgICAgIHRoaXMuVGVtcGxhdGVJbmZvID0gUmVzdWx0LnZhbDtcclxuICAgICAgbGV0IFRlbXBsYXRlTmFtZTogc3RyaW5nID0gdGhpcy5UZW1wbGF0ZUluZm8uZW1haWx0ZW1wbGF0ZWluZm8uZW1haWxTdWJqZWN0U3RyO1xyXG4gICAgICBpZiAoVGVtcGxhdGVOYW1lID09IG51bGwgfHwgVGVtcGxhdGVOYW1lID09IHVuZGVmaW5lZClcclxuICAgICAgICBUZW1wbGF0ZU5hbWUgPSBcIlwiXHJcbiAgICAgIFBhZ2VJbmZvU2VydmljZS5QYWdlVGl0bGUgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFZGl0XCIpXHJcbiAgICAgIFBhZ2VJbmZvU2VydmljZS5QYWdlQnJlYWRjcnVtYnMgPSBbXHJcbiAgICAgICAgeyB0aXRsZTogdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiSG9tZVwiKSwgcGF0aDogJy9BZG1pbi9Ib21lJywgaXNTZXBhcmF0b3I6IGZhbHNlLCBpc0FjdGl2ZTogZmFsc2UgfSxcclxuICAgICAgICB7IHRpdGxlOiAnJywgcGF0aDogJycsIGlzU2VwYXJhdG9yOiB0cnVlLCBpc0FjdGl2ZTogZmFsc2UgfSxcclxuICAgICAgICB7IHRpdGxlOiB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJUZW1wbGF0ZXNcIiksIHBhdGg6ICcvQWRtaW4vTm90aWZpY2F0aW9ucy9UZW1wbGF0ZXMnLCBpc1NlcGFyYXRvcjogZmFsc2UsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICAgIHsgdGl0bGU6ICcnLCBwYXRoOiAnJywgaXNTZXBhcmF0b3I6IHRydWUsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICAgIHsgdGl0bGU6IFRlbXBsYXRlTmFtZSAhPSBcIlwiID8gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFRlbXBsYXRlTmFtZSkgOiBcIlwiLCBwYXRoOiBcIi9BZG1pbi9Ob3RpZmljYXRpb25zL1RlbXBsYXRlSW5mby9cIiArIHRoaXMuVGVtcGxhdGVJbmZvLmlkRW5jcnlwdGVkLCBpc1NlcGFyYXRvcjogZmFsc2UsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICAgIHsgdGl0bGU6ICcnLCBwYXRoOiAnJywgaXNTZXBhcmF0b3I6IHRydWUsIGlzQWN0aXZlOiBmYWxzZSB9XHJcblxyXG5cclxuICAgICAgXTtcclxuICAgICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlVGl0bGUoKTtcclxuICAgICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlQnJlYWRjcnVtYnMoKTtcclxuXHJcbiAgICAgIC8vSW5pdGlhbGl6ZSBmb3JtIGFuZCBjb250cm9sc1xyXG4gICAgICB0aGlzLkVkaXRFbWFpbEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICAgICAgdGhpcy5FZGl0RW1haWxGb3JtT3B0aW9ucyA9IG5ldyBGb3JtT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVkaXRFbWFpbEZvcm1PcHRpb25zLkZvcm1Hcm91cCA9IHRoaXMuRWRpdEVtYWlsRm9ybVxyXG4gICAgICB0aGlzLkVkaXRFbWFpbEZvcm1PcHRpb25zLkdldE1vZGVsRnVuY3Rpb24gPSB0aGlzLmdldEVkaXRFbWFpbE1vZGVsO1xyXG4gICAgICB0aGlzLkVkaXRFbWFpbEZvcm1PcHRpb25zLlNlcnZpY2VTdWJtaXRGdW5jdGlvbiA9IHRoaXMuZ2V0RWRpdEVtYWlsRnVuY3Rpb247XHJcbiAgICAgIHRoaXMuRWRpdEVtYWlsRm9ybU9wdGlvbnMuT25TdWNjZXNzSGFuZGxlciA9IHRoaXMub25FZGl0RW1haWxTdWNjZXNzO1xyXG5cclxuICAgICAgdGhpcy5UZW1wbGF0ZUlkID0gdGhpcy5UZW1wbGF0ZUluZm8uaWQ7XHJcblxyXG4gICAgICB0aGlzLkVtYWlsQm9keUluRW5nbGlzaCA9IG5ldyBIdG1sRWRpdG9yT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVtYWlsQm9keUluRW5nbGlzaC5OYW1lID0gXCJFbWFpbEJvZHlJbkVuZ2xpc2hcIlxyXG4gICAgICB0aGlzLkVtYWlsQm9keUluRW5nbGlzaC5MYWJlbEtleSA9IFwiRW1haWxCb2R5SW5FbmdsaXNoXCJcclxuICAgICAgdGhpcy5FbWFpbEJvZHlJbkVuZ2xpc2guSXNSZXF1aXJlZCA9IHRydWVcclxuICAgICAgdGhpcy5FbWFpbEJvZHlJbkVuZ2xpc2guVmFsdWUgPSB0aGlzLlRlbXBsYXRlSW5mby5lbWFpbHRlbXBsYXRlaW5mby5lbWFpbEJvZHkuZW5nbGlzaDtcclxuXHJcbiAgICAgIHRoaXMuRW1haWxCb2R5SW5BcmFiaWMgPSBuZXcgSHRtbEVkaXRvck9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5FbWFpbEJvZHlJbkFyYWJpYy5OYW1lID0gXCJFbWFpbEJvZHlJbkFyYWJpY1wiXHJcbiAgICAgIHRoaXMuRW1haWxCb2R5SW5BcmFiaWMuTGFiZWxLZXkgPSBcIkVtYWlsQm9keUluQXJhYmljXCJcclxuICAgICAgdGhpcy5FbWFpbEJvZHlJbkFyYWJpYy5Jc1JlcXVpcmVkID0gdHJ1ZVxyXG4gICAgICB0aGlzLkVtYWlsQm9keUluQXJhYmljLkZvcmNlRGlyZWN0aW9uID0gRm9yY2VEaXJlY3Rpb24uQXJhYmljXHJcbiAgICAgIHRoaXMuRW1haWxCb2R5SW5BcmFiaWMuVmFsdWUgPSB0aGlzLlRlbXBsYXRlSW5mby5lbWFpbHRlbXBsYXRlaW5mby5lbWFpbEJvZHkuYXJhYmljO1xyXG5cclxuICAgICAgdGhpcy5FbWFpbFN1YmplY3RJbkVuZ2xpc2ggPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5FbWFpbFN1YmplY3RJbkVuZ2xpc2guTmFtZSA9IFwiRW1haWxTdWJqZWN0SW5FbmdsaXNoXCJcclxuICAgICAgdGhpcy5FbWFpbFN1YmplY3RJbkVuZ2xpc2guTGFiZWxWYWx1ZSA9IFwiRW1haWxTdWJqZWN0SW5FbmdsaXNoXCJcclxuICAgICAgdGhpcy5FbWFpbFN1YmplY3RJbkVuZ2xpc2guTGFiZWxLZXkgPSBcIkVtYWlsU3ViamVjdEluRW5nbGlzaFwiXHJcbiAgICAgIHRoaXMuRW1haWxTdWJqZWN0SW5FbmdsaXNoLlR5cGUgPSBJbnB1dFR5cGUuVGV4dFxyXG4gICAgICB0aGlzLkVtYWlsU3ViamVjdEluRW5nbGlzaC5WYWx1ZSA9IHRoaXMuVGVtcGxhdGVJbmZvLmVtYWlsdGVtcGxhdGVpbmZvLmVtYWlsU3ViamVjdC5lbmdsaXNoO1xyXG5cclxuICAgICAgdGhpcy5FbWFpbFN1YmplY3RJbkFyYWJpYyA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVtYWlsU3ViamVjdEluQXJhYmljLk5hbWUgPSBcIkVtYWlsU3ViamVjdEluQXJhYmljXCJcclxuICAgICAgdGhpcy5FbWFpbFN1YmplY3RJbkFyYWJpYy5MYWJlbEtleSA9IFwiRW1haWxTdWJqZWN0SW5BcmFiaWNcIlxyXG4gICAgICB0aGlzLkVtYWlsU3ViamVjdEluQXJhYmljLlR5cGUgPSBJbnB1dFR5cGUuVGV4dFxyXG4gICAgICB0aGlzLkVtYWlsU3ViamVjdEluQXJhYmljLkZvcmNlRGlyZWN0aW9uID0gRm9yY2VEaXJlY3Rpb24uQXJhYmljXHJcbiAgICAgIHRoaXMuRW1haWxTdWJqZWN0SW5BcmFiaWMuVmFsdWUgPSB0aGlzLlRlbXBsYXRlSW5mby5lbWFpbHRlbXBsYXRlaW5mby5lbWFpbFN1YmplY3QuYXJhYmljO1xyXG5cclxuICAgICAgdGhpcy5IdG1sQm9keVRhZ0F0dHJpYnV0ZXNFbmdsaXNoID0gbmV3IFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuSHRtbEJvZHlUYWdBdHRyaWJ1dGVzRW5nbGlzaC5OYW1lID0gXCJIdG1sQm9keVRhZ0F0dHJpYnV0ZXNFbmdsaXNoXCJcclxuICAgICAgdGhpcy5IdG1sQm9keVRhZ0F0dHJpYnV0ZXNFbmdsaXNoLkxhYmVsS2V5ID0gXCJIdG1sQm9keVRhZ0F0dHJpYnV0ZXNFbmdsaXNoXCJcclxuICAgICAgdGhpcy5IdG1sQm9keVRhZ0F0dHJpYnV0ZXNFbmdsaXNoLlR5cGUgPSBJbnB1dFR5cGUuVGV4dFxyXG4gICAgICB0aGlzLkh0bWxCb2R5VGFnQXR0cmlidXRlc0VuZ2xpc2guVmFsdWUgPSB0aGlzLlRlbXBsYXRlSW5mby5lbWFpbHRlbXBsYXRlaW5mby5lbWFpbEh0bWxCb2R5VGFnQXR0cmlidXRlcy5lbmdsaXNoO1xyXG5cclxuICAgICAgdGhpcy5IdG1sQm9keVRhZ0F0dHJpYnV0ZXNBcmFiaWMgPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5IdG1sQm9keVRhZ0F0dHJpYnV0ZXNBcmFiaWMuTmFtZSA9IFwiSHRtbEJvZHlUYWdBdHRyaWJ1dGVzQXJhYmljXCJcclxuICAgICAgdGhpcy5IdG1sQm9keVRhZ0F0dHJpYnV0ZXNBcmFiaWMuTGFiZWxLZXkgPSBcIkh0bWxCb2R5VGFnQXR0cmlidXRlc0FyYWJpY1wiXHJcbiAgICAgIHRoaXMuSHRtbEJvZHlUYWdBdHRyaWJ1dGVzQXJhYmljLlR5cGUgPSBJbnB1dFR5cGUuVGV4dFxyXG4gICAgICB0aGlzLkh0bWxCb2R5VGFnQXR0cmlidXRlc0FyYWJpYy5Gb3JjZURpcmVjdGlvbiA9IEZvcmNlRGlyZWN0aW9uLkFyYWJpY1xyXG4gICAgICB0aGlzLkh0bWxCb2R5VGFnQXR0cmlidXRlc0FyYWJpYy5WYWx1ZSA9IHRoaXMuVGVtcGxhdGVJbmZvLmVtYWlsdGVtcGxhdGVpbmZvLmVtYWlsSHRtbEJvZHlUYWdBdHRyaWJ1dGVzLmFyYWJpYztcclxuXHJcbiAgICAgIHRoaXMuSFRNTEhlYWRTZWN0aW9uSW5FbmdsaXNoID0gbmV3IFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuSFRNTEhlYWRTZWN0aW9uSW5FbmdsaXNoLk5hbWUgPSBcIkhUTUxIZWFkU2VjdGlvbkluRW5nbGlzaFwiXHJcbiAgICAgIHRoaXMuSFRNTEhlYWRTZWN0aW9uSW5FbmdsaXNoLkxhYmVsS2V5ID0gXCJIVE1MSGVhZFNlY3Rpb25JbkVuZ2xpc2hcIlxyXG4gICAgICB0aGlzLkhUTUxIZWFkU2VjdGlvbkluRW5nbGlzaC5UeXBlID0gSW5wdXRUeXBlLlRleHRcclxuICAgICAgdGhpcy5IVE1MSGVhZFNlY3Rpb25JbkVuZ2xpc2guVmFsdWUgPSB0aGlzLlRlbXBsYXRlSW5mby5lbWFpbHRlbXBsYXRlaW5mby5lbWFpbEh0bWxIZWFkU2VjdGlvbi5lbmdsaXNoO1xyXG5cclxuICAgICAgdGhpcy5IVE1MSGVhZFNlY3Rpb25JbkFyYWJpYyA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkhUTUxIZWFkU2VjdGlvbkluQXJhYmljLk5hbWUgPSBcIkhUTUxIZWFkU2VjdGlvbkluQXJhYmljXCJcclxuICAgICAgdGhpcy5IVE1MSGVhZFNlY3Rpb25JbkFyYWJpYy5MYWJlbEtleSA9IFwiSFRNTEhlYWRTZWN0aW9uSW5BcmFiaWNcIlxyXG4gICAgICB0aGlzLkhUTUxIZWFkU2VjdGlvbkluQXJhYmljLlR5cGUgPSBJbnB1dFR5cGUuVGV4dFxyXG4gICAgICB0aGlzLkhUTUxIZWFkU2VjdGlvbkluQXJhYmljLkZvcmNlRGlyZWN0aW9uID0gRm9yY2VEaXJlY3Rpb24uQXJhYmljXHJcbiAgICAgIHRoaXMuSFRNTEhlYWRTZWN0aW9uSW5BcmFiaWMuVmFsdWUgPSB0aGlzLlRlbXBsYXRlSW5mby5lbWFpbHRlbXBsYXRlaW5mby5lbWFpbEh0bWxIZWFkU2VjdGlvbi5hcmFiaWM7XHJcbiAgICAgIHRoaXMuSXNGb3JtTG9hZGVkID0gdHJ1ZTtcclxuICAgIH0pO1xyXG5cclxuICB9XHJcbiAgZ2V0RWRpdEVtYWlsTW9kZWwgPSAoKSA9PiB7XHJcbiAgICBsZXQgcGFyYW1BcnJheTogYW55W10gPSBbXTtcclxuICAgIGxldCBSZXN1bHRNb2RlbCA9IHRoaXMuRWRpdEVtYWlsRm9ybS52YWx1ZTtcclxuICAgIGxldCBFZGl0TW9kZWwgPSBuZXcgVGVtcGxhdGVFZGl0Vmlld01vZGVsKCk7XHJcbiAgICBFZGl0TW9kZWwuSUQgPSBOdW1iZXIodGhpcy5UZW1wbGF0ZUlkKTtcclxuICAgIEVkaXRNb2RlbC5JREVuY3J5cHRlZCA9IHRoaXMuVGVtcGxhdGVJbmZvLmlkRW5jcnlwdGVkO1xyXG4gICAgRWRpdE1vZGVsLklzRW1haWwgPSB0cnVlO1xyXG4gICAgRWRpdE1vZGVsLklzU21zID0gZmFsc2U7XHJcbiAgICBFZGl0TW9kZWwuVGVtcGxhdGVOYW1lID0gdGhpcy5UZW1wbGF0ZUluZm8udGVtcGxhdGVOYW1lO1xyXG4gICAgRWRpdE1vZGVsLkxhbmd1YWdlID0gdGhpcy5MYW5nO1xyXG4gICAgRWRpdE1vZGVsLmVtYWlsdGVtcGxhdGVpbmZvLklEID0gdGhpcy5UZW1wbGF0ZUluZm8uZW1haWx0ZW1wbGF0ZWluZm8uaWQ7XHJcbiAgICBFZGl0TW9kZWwuZW1haWx0ZW1wbGF0ZWluZm8uRW1haWxCb2R5LkFyYWJpYyA9IFJlc3VsdE1vZGVsLkVtYWlsQm9keUluQXJhYmljXHJcbiAgICBFZGl0TW9kZWwuZW1haWx0ZW1wbGF0ZWluZm8uRW1haWxCb2R5LkVuZ2xpc2ggPSBSZXN1bHRNb2RlbC5FbWFpbEJvZHlJbkVuZ2xpc2hcclxuICAgIEVkaXRNb2RlbC5lbWFpbHRlbXBsYXRlaW5mby5FbWFpbFN1YmplY3QuQXJhYmljID0gUmVzdWx0TW9kZWwuRW1haWxTdWJqZWN0SW5BcmFiaWNcclxuICAgIEVkaXRNb2RlbC5lbWFpbHRlbXBsYXRlaW5mby5FbWFpbFN1YmplY3QuRW5nbGlzaCA9IFJlc3VsdE1vZGVsLkVtYWlsU3ViamVjdEluRW5nbGlzaFxyXG4gICAgRWRpdE1vZGVsLmVtYWlsdGVtcGxhdGVpbmZvLkVtYWlsSHRtbEJvZHlUYWdBdHRyaWJ1dGVzLkFyYWJpYyA9IFJlc3VsdE1vZGVsLkh0bWxCb2R5VGFnQXR0cmlidXRlc0FyYWJpY1xyXG4gICAgRWRpdE1vZGVsLmVtYWlsdGVtcGxhdGVpbmZvLkVtYWlsSHRtbEJvZHlUYWdBdHRyaWJ1dGVzLkVuZ2xpc2ggPSBSZXN1bHRNb2RlbC5IdG1sQm9keVRhZ0F0dHJpYnV0ZXNFbmdsaXNoXHJcbiAgICBFZGl0TW9kZWwuZW1haWx0ZW1wbGF0ZWluZm8uRW1haWxIdG1sSGVhZFNlY3Rpb24uQXJhYmljID0gUmVzdWx0TW9kZWwuSFRNTEhlYWRTZWN0aW9uSW5BcmFiaWNcclxuICAgIEVkaXRNb2RlbC5lbWFpbHRlbXBsYXRlaW5mby5FbWFpbEh0bWxIZWFkU2VjdGlvbi5FbmdsaXNoID0gUmVzdWx0TW9kZWwuSFRNTEhlYWRTZWN0aW9uSW5FbmdsaXNoXHJcblxyXG4gICAgcGFyYW1BcnJheS5wdXNoKEVkaXRNb2RlbCk7XHJcbiAgICByZXR1cm4gcGFyYW1BcnJheTtcclxuICB9XHJcblxyXG4gIGdldEVkaXRFbWFpbEZ1bmN0aW9uID0gKEVkaXRNb2RlbCk6IE9ic2VydmFibGU8YW55PiA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZVNlcnZpY2UuZWRpdEVtYWlsVGVtcGxhdGVCeUxhbmcoRWRpdE1vZGVsKVxyXG4gIH1cclxuICBvbkVkaXRFbWFpbFN1Y2Nlc3MgPSAocmVzdWx0KSA9PiB7XHJcbiAgICB0aGlzLmNhbmNlbEVkaXQoKTtcclxuICB9XHJcbiAgY2FuY2VsRWRpdCgpe1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvQWRtaW4vTm90aWZpY2F0aW9ucy9UZW1wbGF0ZUluZm8nLCB0aGlzLlRlbXBsYXRlSWRFbmNdKTtcclxuICB9XHJcblxyXG4gIC8vQ2hhbmdlIExhbmdcclxuICBjaGFuZ2VDdXJyZW50TGFuZ3VhZ2UobGFuZzogc3RyaW5nKSB7XHJcbiAgICB0aGlzLkxhbmcgPSBsYW5nO1xyXG4gIH1cclxuXHJcbiAgLy9PbiBkZXN0cm95XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlcXVlc3RIYW5kbGVyU2VydmljZS5kZXN0cm95SGFuZGxlcigpO1xyXG4gIH1cclxufVxyXG4iLCI8YmxvY2stdWk+PC9ibG9jay11aT5cclxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWN1c3RvbS1oXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC01XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN1YmhlYWRlcnRvb2xiYXJcIj5cclxuICAgICAgICAgICAgPGEgY2xhc3M9XCJidG4gYnRuLWxpZ2h0LXByaW1hcnkgYnRuLXNtXCIgKGNsaWNrKT1cImNoYW5nZUN1cnJlbnRMYW5ndWFnZSgnYXInKVwiICpuZ0lmPVwiTGFuZz09J2VuJ1wiPlxyXG4gICAgICAgICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkFyYWJpY1wiKX19XHJcblxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgIDxhIGNsYXNzPVwiYnRuIGJ0bi1saWdodC1wcmltYXJ5IGJ0bi1zbVwiIChjbGljayk9XCJjaGFuZ2VDdXJyZW50TGFuZ3VhZ2UoJ2VuJylcIiAqbmdJZj1cIkxhbmc9PSdhcidcIj5cclxuICAgICAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFbmdsaXNoXCIpfX1cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgPEJCU0YtRm9ybSBbb3B0aW9uc109XCJFZGl0RW1haWxGb3JtT3B0aW9uc1wiICpuZ0lmPVwiSXNGb3JtTG9hZGVkXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwia3QtZm9ybVwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiTGFuZz09J2FyJ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxCQlNGLVRleHRCb3ggW29wdGlvbnNdPVwiRW1haWxTdWJqZWN0SW5BcmFiaWNcIiBbZ3JvdXBdPVwiRWRpdEVtYWlsRm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxCQlNGLUh0bWxFZGl0b3IgW29wdGlvbnNdPVwiRW1haWxCb2R5SW5BcmFiaWNcIiBbZ3JvdXBdPVwiRWRpdEVtYWlsRm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L0JCU0YtSHRtbEVkaXRvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJIdG1sQm9keVRhZ0F0dHJpYnV0ZXNBcmFiaWNcIiBbZ3JvdXBdPVwiRWRpdEVtYWlsRm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxCQlNGLVRleHRCb3ggW29wdGlvbnNdPVwiSFRNTEhlYWRTZWN0aW9uSW5BcmFiaWNcIiBbZ3JvdXBdPVwiRWRpdEVtYWlsRm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJMYW5nPT0nZW4nXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJFbWFpbFN1YmplY3RJbkVuZ2xpc2hcIiBbZ3JvdXBdPVwiRWRpdEVtYWlsRm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgPEJCU0YtSHRtbEVkaXRvciBbb3B0aW9uc109XCJFbWFpbEJvZHlJbkVuZ2xpc2hcIiBbZ3JvdXBdPVwiRWRpdEVtYWlsRm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L0JCU0YtSHRtbEVkaXRvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJIdG1sQm9keVRhZ0F0dHJpYnV0ZXNFbmdsaXNoXCIgW2dyb3VwXT1cIkVkaXRFbWFpbEZvcm1cIj5cclxuICAgICAgICAgICAgICAgICAgPC9CQlNGLVRleHRCb3g+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cIkhUTUxIZWFkU2VjdGlvbkluRW5nbGlzaFwiIFtncm91cF09XCJFZGl0RW1haWxGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodC1wcmltYXJ5IGJ0bi1zbSBtZS0zXCIgKGNsaWNrKT1cImNhbmNlbEVkaXQoKVwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkNhbmNlbExhYmVsXCIpfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtIFwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlNhdmVMYWJlbFwiKX19PC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L0JCU0YtRm9ybT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcblxyXG4gIDwvZGl2PlxyXG4gIFxyXG5cclxuIl19
|