@propmix/profet-common-header 3.4.1 → 3.5.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.
Files changed (31) hide show
  1. package/esm2022/lib/api-endpoints.def.mjs +14 -0
  2. package/esm2022/lib/api-gateway.service.mjs +69 -0
  3. package/{esm2020 → esm2022}/lib/common-header.module.mjs +33 -33
  4. package/esm2022/lib/common-header.service.mjs +177 -0
  5. package/{esm2020 → esm2022}/lib/company-switch-warning/company-switch-warning.component.mjs +6 -6
  6. package/esm2022/lib/config/app.config.mjs +21 -0
  7. package/esm2022/lib/header/header.component.mjs +420 -0
  8. package/esm2022/lib/pipes/active-route.pipe.mjs +24 -0
  9. package/{esm2020 → esm2022}/lib/pipes/milliseconds-to-minute.pipe.mjs +4 -4
  10. package/esm2022/lib/session-expiry-info/session-expiry-info.component.mjs +36 -0
  11. package/esm2022/lib/utils/Utilities.mjs +41 -0
  12. package/{fesm2020 → fesm2022}/propmix-profet-common-header.mjs +103 -93
  13. package/{fesm2020 → fesm2022}/propmix-profet-common-header.mjs.map +1 -1
  14. package/lib/header/header.component.d.ts +5 -1
  15. package/package.json +5 -11
  16. package/esm2020/lib/api-endpoints.def.mjs +0 -14
  17. package/esm2020/lib/api-gateway.service.mjs +0 -69
  18. package/esm2020/lib/common-header.service.mjs +0 -177
  19. package/esm2020/lib/config/app.config.mjs +0 -21
  20. package/esm2020/lib/header/header.component.mjs +0 -410
  21. package/esm2020/lib/pipes/active-route.pipe.mjs +0 -24
  22. package/esm2020/lib/session-expiry-info/session-expiry-info.component.mjs +0 -36
  23. package/esm2020/lib/utils/Utilities.mjs +0 -41
  24. package/fesm2015/propmix-profet-common-header.mjs +0 -933
  25. package/fesm2015/propmix-profet-common-header.mjs.map +0 -1
  26. /package/{esm2020 → esm2022}/lib/common-header.interface.mjs +0 -0
  27. /package/{esm2020 → esm2022}/lib/utils/app.constants.mjs +0 -0
  28. /package/{esm2020 → esm2022}/lib/utils/apps.enum.mjs +0 -0
  29. /package/{esm2020 → esm2022}/lib/utils/image.dataurl.mjs +0 -0
  30. /package/{esm2020 → esm2022}/propmix-profet-common-header.mjs +0 -0
  31. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
@@ -0,0 +1,14 @@
1
+ export class EndPoints {
2
+ static { this.API_URLS = {
3
+ getAppsApi: '/api/company/getAllUserAccessApplications',
4
+ getCompanyApplications: '/api/company/getCompanyApplications',
5
+ getUserCompanies: '/api/profile/getUserCompanies', // TODO -- Needs to remove
6
+ updateUserCompany: '/api/company/updateUserCompany',
7
+ fetchCompanyProfile: '/fetchCompanyProfile',
8
+ getUserDetails: '/api/user/getUserInformation',
9
+ getCompanyList: '/api/user/getUserCompanies',
10
+ getAppMenu: '/api/user/getAppMenu',
11
+ updateLastAccessedApplication: '/api/user/updateLastAccessedApplication'
12
+ }; }
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWVuZHBvaW50cy5kZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24taGVhZGVyL3NyYy9saWIvYXBpLWVuZHBvaW50cy5kZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFNBQVM7YUFDSixhQUFRLEdBQUc7UUFDckIsVUFBVSxFQUFFLDJDQUEyQztRQUN2RCxzQkFBc0IsRUFBRSxxQ0FBcUM7UUFDN0QsZ0JBQWdCLEVBQUUsK0JBQStCLEVBQUcsMEJBQTBCO1FBQzlFLGlCQUFpQixFQUFFLGdDQUFnQztRQUNuRCxtQkFBbUIsRUFBRSxzQkFBc0I7UUFDM0MsY0FBYyxFQUFFLDhCQUE4QjtRQUU5QyxjQUFjLEVBQUUsNEJBQTRCO1FBQzVDLFVBQVUsRUFBRSxzQkFBc0I7UUFDbEMsNkJBQTZCLEVBQUUseUNBQXlDO0tBQzNFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRW5kUG9pbnRzIHtcbiAgICBwdWJsaWMgc3RhdGljIEFQSV9VUkxTID0ge1xuICAgICAgICBnZXRBcHBzQXBpOiAnL2FwaS9jb21wYW55L2dldEFsbFVzZXJBY2Nlc3NBcHBsaWNhdGlvbnMnLFxuICAgICAgICBnZXRDb21wYW55QXBwbGljYXRpb25zOiAnL2FwaS9jb21wYW55L2dldENvbXBhbnlBcHBsaWNhdGlvbnMnLFxuICAgICAgICBnZXRVc2VyQ29tcGFuaWVzOiAnL2FwaS9wcm9maWxlL2dldFVzZXJDb21wYW5pZXMnLCAgLy8gVE9ETyAtLSBOZWVkcyB0byByZW1vdmVcbiAgICAgICAgdXBkYXRlVXNlckNvbXBhbnk6ICcvYXBpL2NvbXBhbnkvdXBkYXRlVXNlckNvbXBhbnknLFxuICAgICAgICBmZXRjaENvbXBhbnlQcm9maWxlOiAnL2ZldGNoQ29tcGFueVByb2ZpbGUnLFxuICAgICAgICBnZXRVc2VyRGV0YWlsczogJy9hcGkvdXNlci9nZXRVc2VySW5mb3JtYXRpb24nLFxuXG4gICAgICAgIGdldENvbXBhbnlMaXN0OiAnL2FwaS91c2VyL2dldFVzZXJDb21wYW5pZXMnLFxuICAgICAgICBnZXRBcHBNZW51OiAnL2FwaS91c2VyL2dldEFwcE1lbnUnLFxuICAgICAgICB1cGRhdGVMYXN0QWNjZXNzZWRBcHBsaWNhdGlvbjogJy9hcGkvdXNlci91cGRhdGVMYXN0QWNjZXNzZWRBcHBsaWNhdGlvbidcbiAgICB9XG59Il19
@@ -0,0 +1,69 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Injectable, inject } from '@angular/core';
3
+ import { Observable } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ export class ApiGatewayService {
6
+ constructor() {
7
+ this._http = inject(HttpClient);
8
+ }
9
+ doGet(url, config) {
10
+ return new Observable(observer => {
11
+ if (!config) {
12
+ config = {
13
+ isLoaderHidden: false
14
+ };
15
+ }
16
+ ;
17
+ let headers;
18
+ if (config.isUnauthorized) {
19
+ headers = {
20
+ skip: "true"
21
+ };
22
+ }
23
+ // this._loaderService.requestStarted(config);
24
+ this._http
25
+ .get(url, { headers: headers })
26
+ .subscribe({
27
+ next: (data) => {
28
+ // this._loaderService.requestEnded();
29
+ observer.next(data);
30
+ observer.complete();
31
+ },
32
+ error: (error) => {
33
+ // this.handleError(error, config, observer);
34
+ }
35
+ });
36
+ });
37
+ }
38
+ doPost(url, req_body) {
39
+ return new Observable(observer => {
40
+ let headers;
41
+ this._http
42
+ .post(url, req_body, { headers: headers })
43
+ .subscribe({
44
+ next: (data) => {
45
+ if (data && data.hasOwnProperty('status')) {
46
+ observer.next(data);
47
+ observer.complete();
48
+ }
49
+ else {
50
+ observer.next(data);
51
+ observer.complete();
52
+ }
53
+ },
54
+ error: (error) => {
55
+ // this.handleError(error, config, observer);
56
+ }
57
+ });
58
+ });
59
+ }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApiGatewayService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
61
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApiGatewayService, providedIn: 'root' }); }
62
+ }
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApiGatewayService, decorators: [{
64
+ type: Injectable,
65
+ args: [{
66
+ providedIn: 'root'
67
+ }]
68
+ }] });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWdhdGV3YXkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXIvc3JjL2xpYi9hcGktZ2F0ZXdheS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUtsQyxNQUFNLE9BQU8saUJBQWlCO0lBSDlCO1FBSVUsVUFBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQW9EcEM7SUFsREMsS0FBSyxDQUFDLEdBQVcsRUFBRSxNQUFZO1FBQzdCLE9BQU8sSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNaLE1BQU0sR0FBRztvQkFDUCxjQUFjLEVBQUUsS0FBSztpQkFDdEIsQ0FBQztZQUNKLENBQUM7WUFBQSxDQUFDO1lBQ0YsSUFBSSxPQUFXLENBQUM7WUFDaEIsSUFBRyxNQUFNLENBQUMsY0FBYyxFQUFDLENBQUM7Z0JBQ3hCLE9BQU8sR0FBRztvQkFDUixJQUFJLEVBQUUsTUFBTTtpQkFDYixDQUFBO1lBQ0gsQ0FBQztZQUVELDhDQUE4QztZQUM5QyxJQUFJLENBQUMsS0FBSztpQkFDUCxHQUFHLENBQUMsR0FBRyxFQUFDLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBQyxDQUFDO2lCQUMzQixTQUFTLENBQUM7Z0JBQ1QsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQ2Isc0NBQXNDO29CQUN0QyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNwQixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3RCLENBQUM7Z0JBQ0QsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQ2YsNkNBQTZDO2dCQUMvQyxDQUFDO2FBQ0YsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBQ0QsTUFBTSxDQUFDLEdBQVcsRUFBRSxRQUFjO1FBQ2hDLE9BQU8sSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDL0IsSUFBSSxPQUFXLENBQUM7WUFDaEIsSUFBSSxDQUFDLEtBQUs7aUJBQ1AsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUMsRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFDLENBQUM7aUJBQ3RDLFNBQVMsQ0FBQztnQkFDVCxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDYixJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7d0JBQzFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ3BCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDdEIsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ3BCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDdEIsQ0FBQztnQkFDSCxDQUFDO2dCQUNELEtBQUssRUFBRSxDQUFDLEtBQVMsRUFBRSxFQUFFO29CQUNuQiw2Q0FBNkM7Z0JBQy9DLENBQUM7YUFDRixDQUFDLENBQUE7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBcERVLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFwaUdhdGV3YXlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgXG4gIGRvR2V0KHVybDogc3RyaW5nLCBjb25maWc/OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgICBpZiAoIWNvbmZpZykge1xuICAgICAgICBjb25maWcgPSB7XG4gICAgICAgICAgaXNMb2FkZXJIaWRkZW46IGZhbHNlXG4gICAgICAgIH07XG4gICAgICB9O1xuICAgICAgbGV0IGhlYWRlcnM6YW55O1xuICAgICAgaWYoY29uZmlnLmlzVW5hdXRob3JpemVkKXtcbiAgICAgICAgaGVhZGVycyA9IHtcbiAgICAgICAgICBza2lwOiBcInRydWVcIlxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgXG4gICAgICAvLyB0aGlzLl9sb2FkZXJTZXJ2aWNlLnJlcXVlc3RTdGFydGVkKGNvbmZpZyk7XG4gICAgICB0aGlzLl9odHRwXG4gICAgICAgIC5nZXQodXJsLHtoZWFkZXJzOiBoZWFkZXJzfSlcbiAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKGRhdGEpID0+IHtcbiAgICAgICAgICAgIC8vIHRoaXMuX2xvYWRlclNlcnZpY2UucmVxdWVzdEVuZGVkKCk7XG4gICAgICAgICAgICBvYnNlcnZlci5uZXh0KGRhdGEpO1xuICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIC8vIHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IsIGNvbmZpZywgb2JzZXJ2ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSlcbiAgfVxuICBkb1Bvc3QodXJsOiBzdHJpbmcsIHJlcV9ib2R5PzogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZXIgPT4ge1xuICAgICAgbGV0IGhlYWRlcnM6YW55O1xuICAgICAgdGhpcy5faHR0cFxuICAgICAgICAucG9zdCh1cmwsIHJlcV9ib2R5LHtoZWFkZXJzOiBoZWFkZXJzfSlcbiAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKGRhdGEpID0+IHtcbiAgICAgICAgICAgIGlmIChkYXRhICYmIGRhdGEuaGFzT3duUHJvcGVydHkoJ3N0YXR1cycpKSB7XG4gICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoZGF0YSk7XG4gICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KGRhdGEpO1xuICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgZXJyb3I6IChlcnJvcjphbnkpID0+IHtcbiAgICAgICAgICAgIC8vIHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IsIGNvbmZpZywgb2JzZXJ2ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -21,39 +21,39 @@ import { SessionExpiryInfoComponent } from './session-expiry-info/session-expiry
21
21
  import { MillisecondsToMinutePipe } from './pipes/milliseconds-to-minute.pipe';
22
22
  import * as i0 from "@angular/core";
23
23
  export class CommonHeaderModule {
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CommonHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
25
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: CommonHeaderModule, declarations: [HeaderComponent, CompanySwitchWarningComponent, ActiveRoutePipe, SessionExpiryInfoComponent, MillisecondsToMinutePipe], imports: [CommonModule,
26
+ MatToolbarModule,
27
+ MatIconModule,
28
+ HttpClientModule,
29
+ MatButtonModule,
30
+ MatSidenavModule,
31
+ MatMenuModule,
32
+ MatSnackBarModule,
33
+ MatTooltipModule,
34
+ MatDividerModule,
35
+ MatListModule,
36
+ MatFormFieldModule,
37
+ MatSelectModule,
38
+ ReactiveFormsModule,
39
+ MatDialogModule], exports: [HeaderComponent] }); }
40
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CommonHeaderModule, providers: [TitleCasePipe, LowerCasePipe], imports: [CommonModule,
41
+ MatToolbarModule,
42
+ MatIconModule,
43
+ HttpClientModule,
44
+ MatButtonModule,
45
+ MatSidenavModule,
46
+ MatMenuModule,
47
+ MatSnackBarModule,
48
+ MatTooltipModule,
49
+ MatDividerModule,
50
+ MatListModule,
51
+ MatFormFieldModule,
52
+ MatSelectModule,
53
+ ReactiveFormsModule,
54
+ MatDialogModule] }); }
24
55
  }
25
- CommonHeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CommonHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
26
- CommonHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CommonHeaderModule, declarations: [HeaderComponent, CompanySwitchWarningComponent, ActiveRoutePipe, SessionExpiryInfoComponent, MillisecondsToMinutePipe], imports: [CommonModule,
27
- MatToolbarModule,
28
- MatIconModule,
29
- HttpClientModule,
30
- MatButtonModule,
31
- MatSidenavModule,
32
- MatMenuModule,
33
- MatSnackBarModule,
34
- MatTooltipModule,
35
- MatDividerModule,
36
- MatListModule,
37
- MatFormFieldModule,
38
- MatSelectModule,
39
- ReactiveFormsModule,
40
- MatDialogModule], exports: [HeaderComponent] });
41
- CommonHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CommonHeaderModule, providers: [TitleCasePipe, LowerCasePipe], imports: [CommonModule,
42
- MatToolbarModule,
43
- MatIconModule,
44
- HttpClientModule,
45
- MatButtonModule,
46
- MatSidenavModule,
47
- MatMenuModule,
48
- MatSnackBarModule,
49
- MatTooltipModule,
50
- MatDividerModule,
51
- MatListModule,
52
- MatFormFieldModule,
53
- MatSelectModule,
54
- ReactiveFormsModule,
55
- MatDialogModule] });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CommonHeaderModule, decorators: [{
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CommonHeaderModule, decorators: [{
57
57
  type: NgModule,
58
58
  args: [{
59
59
  declarations: [HeaderComponent, CompanySwitchWarningComponent, ActiveRoutePipe, SessionExpiryInfoComponent, MillisecondsToMinutePipe],
@@ -78,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
78
78
  exports: [HeaderComponent],
79
79
  }]
80
80
  }] });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWhlYWRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24taGVhZGVyL3NyYy9saWIvY29tbW9uLWhlYWRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQXVCL0UsTUFBTSxPQUFPLGtCQUFrQjs7Z0hBQWxCLGtCQUFrQjtpSEFBbEIsa0JBQWtCLGlCQXJCZCxlQUFlLEVBQUUsNkJBQTZCLEVBQUUsZUFBZSxFQUFFLDBCQUEwQixFQUFFLHdCQUF3QixhQUVsSSxZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixhQUFhO1FBQ2IsaUJBQWlCO1FBQ2pCLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLGtCQUFrQjtRQUNsQixlQUFlO1FBQ2YsbUJBQW1CO1FBQ25CLGVBQWUsYUFHUCxlQUFlO2lIQUVkLGtCQUFrQixhQUhsQixDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsWUFoQnZDLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixpQkFBaUI7UUFDakIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixhQUFhO1FBQ2Isa0JBQWtCO1FBQ2xCLGVBQWU7UUFDZixtQkFBbUI7UUFDbkIsZUFBZTs0RkFLTixrQkFBa0I7a0JBdEI5QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGVBQWUsRUFBRSw2QkFBNkIsRUFBRSxlQUFlLEVBQUUsMEJBQTBCLEVBQUUsd0JBQXdCLENBQUM7b0JBQ3JJLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsZUFBZTtxQkFDaEI7b0JBQ0QsU0FBUyxFQUFFLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQztvQkFDekMsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgTG93ZXJDYXNlUGlwZSwgVGl0bGVDYXNlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlclwiO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdFwiO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xuaW1wb3J0IHsgTWF0U2lkZW5hdk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgTWF0VG9vbGJhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQ29tcGFueVN3aXRjaFdhcm5pbmdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBhbnktc3dpdGNoLXdhcm5pbmcvY29tcGFueS1zd2l0Y2gtd2FybmluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3RpdmVSb3V0ZVBpcGUgfSBmcm9tICcuL3BpcGVzL2FjdGl2ZS1yb3V0ZS5waXBlJztcbmltcG9ydCB7IFNlc3Npb25FeHBpcnlJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9zZXNzaW9uLWV4cGlyeS1pbmZvL3Nlc3Npb24tZXhwaXJ5LWluZm8uY29tcG9uZW50JztcbmltcG9ydCB7IE1pbGxpc2Vjb25kc1RvTWludXRlUGlwZSB9IGZyb20gJy4vcGlwZXMvbWlsbGlzZWNvbmRzLXRvLW1pbnV0ZS5waXBlJztcbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0hlYWRlckNvbXBvbmVudCwgQ29tcGFueVN3aXRjaFdhcm5pbmdDb21wb25lbnQsIEFjdGl2ZVJvdXRlUGlwZSwgU2Vzc2lvbkV4cGlyeUluZm9Db21wb25lbnQsIE1pbGxpc2Vjb25kc1RvTWludXRlUGlwZV0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0VG9vbGJhck1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdFNpZGVuYXZNb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXRTbmFja0Jhck1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgTWF0TGlzdE1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0RGlhbG9nTW9kdWxlXG4gIF0sXG4gIHByb3ZpZGVyczogW1RpdGxlQ2FzZVBpcGUsIExvd2VyQ2FzZVBpcGVdLFxuICBleHBvcnRzOiBbSGVhZGVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgQ29tbW9uSGVhZGVyTW9kdWxlIHsgfVxuIl19
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWhlYWRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24taGVhZGVyL3NyYy9saWIvY29tbW9uLWhlYWRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQXVCL0UsTUFBTSxPQUFPLGtCQUFrQjsrR0FBbEIsa0JBQWtCO2dIQUFsQixrQkFBa0IsaUJBckJkLGVBQWUsRUFBRSw2QkFBNkIsRUFBRSxlQUFlLEVBQUUsMEJBQTBCLEVBQUUsd0JBQXdCLGFBRWxJLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2Isa0JBQWtCO1lBQ2xCLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIsZUFBZSxhQUdQLGVBQWU7Z0hBRWQsa0JBQWtCLGFBSGxCLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxZQWhCdkMsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixlQUFlOzs0RkFLTixrQkFBa0I7a0JBdEI5QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGVBQWUsRUFBRSw2QkFBNkIsRUFBRSxlQUFlLEVBQUUsMEJBQTBCLEVBQUUsd0JBQXdCLENBQUM7b0JBQ3JJLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsZUFBZTtxQkFDaEI7b0JBQ0QsU0FBUyxFQUFFLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQztvQkFDekMsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgTG93ZXJDYXNlUGlwZSwgVGl0bGVDYXNlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlclwiO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdFwiO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xuaW1wb3J0IHsgTWF0U2lkZW5hdk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgTWF0VG9vbGJhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQ29tcGFueVN3aXRjaFdhcm5pbmdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBhbnktc3dpdGNoLXdhcm5pbmcvY29tcGFueS1zd2l0Y2gtd2FybmluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3RpdmVSb3V0ZVBpcGUgfSBmcm9tICcuL3BpcGVzL2FjdGl2ZS1yb3V0ZS5waXBlJztcbmltcG9ydCB7IFNlc3Npb25FeHBpcnlJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9zZXNzaW9uLWV4cGlyeS1pbmZvL3Nlc3Npb24tZXhwaXJ5LWluZm8uY29tcG9uZW50JztcbmltcG9ydCB7IE1pbGxpc2Vjb25kc1RvTWludXRlUGlwZSB9IGZyb20gJy4vcGlwZXMvbWlsbGlzZWNvbmRzLXRvLW1pbnV0ZS5waXBlJztcbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0hlYWRlckNvbXBvbmVudCwgQ29tcGFueVN3aXRjaFdhcm5pbmdDb21wb25lbnQsIEFjdGl2ZVJvdXRlUGlwZSwgU2Vzc2lvbkV4cGlyeUluZm9Db21wb25lbnQsIE1pbGxpc2Vjb25kc1RvTWludXRlUGlwZV0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0VG9vbGJhck1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdFNpZGVuYXZNb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXRTbmFja0Jhck1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgTWF0TGlzdE1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0RGlhbG9nTW9kdWxlXG4gIF0sXG4gIHByb3ZpZGVyczogW1RpdGxlQ2FzZVBpcGUsIExvd2VyQ2FzZVBpcGVdLFxuICBleHBvcnRzOiBbSGVhZGVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgQ29tbW9uSGVhZGVyTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,177 @@
1
+ import { Inject, inject, Injectable } from '@angular/core';
2
+ import { MatDialog } from '@angular/material/dialog';
3
+ import { reduce, ReplaySubject } from 'rxjs';
4
+ import { APP_DOMAIN } from '../public-api';
5
+ import { EndPoints } from './api-endpoints.def';
6
+ import { ApiGatewayService } from './api-gateway.service';
7
+ import { SessionExpiryInfoComponent } from './session-expiry-info/session-expiry-info.component';
8
+ import { Utilities } from './utils/Utilities';
9
+ import * as i0 from "@angular/core";
10
+ export class CommonHeaderService {
11
+ constructor(config) {
12
+ this.config = config;
13
+ this.SESSION_EXPIRED_KEY = 'session_expired';
14
+ this.LAST_ACTIVE_SESSION_KEY = 'lastActiveSessionTime';
15
+ this.baseUrl = '';
16
+ this.isSessionExpiryDialogOpen = false;
17
+ this._apiGatewayService = inject(ApiGatewayService);
18
+ this._dialog = inject(MatDialog);
19
+ this.menuStateSubject = new ReplaySubject(1);
20
+ this.activeMenuList$ = this.menuStateSubject.asObservable();
21
+ this.companyListSubject = new ReplaySubject(1);
22
+ this.companyList$ = this.companyListSubject.asObservable();
23
+ this.headerConfig = config;
24
+ this.baseUrl = config.apiUrl;
25
+ }
26
+ setMenuState(data) {
27
+ this.menuStateSubject.next(data);
28
+ }
29
+ setCompanyList(data) {
30
+ this.companyListSubject.next(data);
31
+ }
32
+ obtainDataByUrl(url) {
33
+ return this._apiGatewayService.doGet(url);
34
+ }
35
+ openSessionExpireInfo(sessioninfo) {
36
+ let info = {};
37
+ if (sessioninfo) {
38
+ info = sessioninfo;
39
+ }
40
+ this.isSessionExpiryDialogOpen = true;
41
+ this._dialog.open(SessionExpiryInfoComponent, { data: sessioninfo });
42
+ }
43
+ getDomainInfo() {
44
+ let dom = document.location.host.split('.');
45
+ let domainInfo = APP_DOMAIN.find(x => x.domain === dom[0]);
46
+ if (domainInfo) {
47
+ return domainInfo;
48
+ }
49
+ // Check if the second part of the domain exists before using it
50
+ domainInfo = dom[1] ? APP_DOMAIN.find(x => x.domain === dom[1]) : undefined;
51
+ return domainInfo || undefined;
52
+ }
53
+ getApps() {
54
+ let url = `${this.baseUrl + EndPoints.API_URLS.getAppsApi}`;
55
+ return this._apiGatewayService.doGet(url);
56
+ }
57
+ getCompanyApplications() {
58
+ let url = `${this.baseUrl + EndPoints.API_URLS.getCompanyApplications}`;
59
+ return this._apiGatewayService.doGet(url);
60
+ }
61
+ // TODO -- need to remove
62
+ getUserCompanies() {
63
+ let url = `${this.baseUrl + EndPoints.API_URLS.getUserCompanies}`;
64
+ return this._apiGatewayService.doGet(url);
65
+ }
66
+ updateUserCompany(reqBody) {
67
+ let url = `${this.baseUrl + EndPoints.API_URLS.updateUserCompany}`;
68
+ return this._apiGatewayService.doPost(url, reqBody);
69
+ }
70
+ fetchCompanyProfile(reqBody) {
71
+ let config = {
72
+ isUnauthorized: true
73
+ };
74
+ let url = `${this.baseUrl + EndPoints.API_URLS.fetchCompanyProfile + '?' + Utilities.convertObjectToQueryString(reqBody)}`;
75
+ return this._apiGatewayService.doGet(url, config).pipe(reduce((acc, res) => {
76
+ if (res?.data) {
77
+ acc = res.data;
78
+ }
79
+ return acc;
80
+ }, {}));
81
+ }
82
+ getUserDetails() {
83
+ let url = `${this.baseUrl + EndPoints.API_URLS.getUserDetails}`;
84
+ return this._apiGatewayService.doGet(url);
85
+ }
86
+ getCompanyList() {
87
+ let url = `${this.baseUrl + EndPoints.API_URLS.getCompanyList}`;
88
+ return this._apiGatewayService.doGet(url).pipe(reduce((acc, res) => {
89
+ if (res?.data?.companies) {
90
+ acc = res?.data?.companies;
91
+ }
92
+ return acc;
93
+ }, {}));
94
+ }
95
+ getMenuList() {
96
+ let url = `${this.baseUrl + EndPoints.API_URLS.getAppMenu}`;
97
+ return this._apiGatewayService.doGet(url).pipe(reduce((acc, res) => {
98
+ if (res?.data?.AppMenu) {
99
+ acc = res?.data?.AppMenu;
100
+ }
101
+ return acc;
102
+ }, {}));
103
+ }
104
+ updateLastAccessedApplication(reqBody) {
105
+ let url = `${this.baseUrl + EndPoints.API_URLS.updateLastAccessedApplication}`;
106
+ return this._apiGatewayService.doPost(url, reqBody);
107
+ }
108
+ /**
109
+ * Helper to get the root domain (e.g. .profet.ai) to share cookies across subdomains/ports.
110
+ * If on localhost or an IP, it falls back to the hostname.
111
+ */
112
+ getRootDomain() {
113
+ const hostname = window.location.hostname;
114
+ const parts = hostname.split('.');
115
+ if (parts.length > 2 && !/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(hostname)) {
116
+ // If we have 4+ parts (e.g. app1.local.profet.ai), we want to include the environment (local.profet.ai)
117
+ // to avoid sharing cookies with app1.dev.profet.ai or app1.profet.ai.
118
+ if (parts.length > 3) {
119
+ return '.' + parts.slice(-3).join('.');
120
+ }
121
+ // For standard 3 parts (app1.profet.ai), share on .profet.ai
122
+ return '.' + parts.slice(-2).join('.');
123
+ }
124
+ return hostname;
125
+ }
126
+ /**
127
+ * Generates a unique cookie name based on the environment root domain.
128
+ * e.g. 'lastActive' on .qa.profet.ai -> 'lastActive_qa_profet_ai'
129
+ * @param name Base cookie name
130
+ */
131
+ getSuffixedCookieName(name) {
132
+ const rootDomain = this.getRootDomain();
133
+ // Replace dots with underscores to create a clean suffix
134
+ const suffix = rootDomain.replace(/\./g, '_');
135
+ return `${name}${suffix}`;
136
+ }
137
+ setCookie(name, value, days) {
138
+ const uniqueName = this.getSuffixedCookieName(name);
139
+ let expires = "";
140
+ if (days) {
141
+ const date = new Date();
142
+ date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
143
+ expires = "; expires=" + date.toUTCString();
144
+ }
145
+ // Important: set domain to allow sharing across subdomains
146
+ const domain = "; domain=" + this.getRootDomain();
147
+ document.cookie = uniqueName + "=" + (value || "") + expires + domain + "; path=/";
148
+ }
149
+ getCookie(name) {
150
+ const uniqueName = this.getSuffixedCookieName(name);
151
+ const nameEQ = uniqueName + "=";
152
+ const ca = document.cookie.split(';');
153
+ for (let i = 0; i < ca.length; i++) {
154
+ let c = ca[i];
155
+ while (c.charAt(0) == ' ')
156
+ c = c.substring(1, c.length);
157
+ if (c.indexOf(nameEQ) == 0)
158
+ return c.substring(nameEQ.length, c.length);
159
+ }
160
+ return null;
161
+ }
162
+ deleteCookie(name) {
163
+ this.setCookie(name, '', -1);
164
+ }
165
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CommonHeaderService, deps: [{ token: 'headerConfig' }], target: i0.ɵɵFactoryTarget.Injectable }); }
166
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CommonHeaderService, providedIn: 'root' }); }
167
+ }
168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CommonHeaderService, decorators: [{
169
+ type: Injectable,
170
+ args: [{
171
+ providedIn: 'root'
172
+ }]
173
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
174
+ type: Inject,
175
+ args: ['headerConfig']
176
+ }] }] });
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWhlYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uLWhlYWRlci9zcmMvbGliL2NvbW1vbi1oZWFkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFLOUMsTUFBTSxPQUFPLG1CQUFtQjtJQWdCOUIsWUFBNEMsTUFBb0I7UUFBcEIsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQWZoRCx3QkFBbUIsR0FBRyxpQkFBaUIsQ0FBQztRQUN4Qyw0QkFBdUIsR0FBRyx1QkFBdUIsQ0FBQztRQUUxRCxZQUFPLEdBQVcsRUFBRSxDQUFDO1FBRTdCLDhCQUF5QixHQUFHLEtBQUssQ0FBQztRQUMxQix1QkFBa0IsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNoRCxZQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTNCLHFCQUFnQixHQUFHLElBQUksYUFBYSxDQUFtQixDQUFDLENBQUMsQ0FBQztRQUMzRCxvQkFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZ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QUM7SUFDL0IsQ0FBQzsrR0FsTFUsbUJBQW1CLGtCQWdCVixjQUFjO21IQWhCdkIsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQWlCYyxNQUFNOzJCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IHJlZHVjZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVBQX0RPTUFJTiB9IGZyb20gJy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgRW5kUG9pbnRzIH0gZnJvbSAnLi9hcGktZW5kcG9pbnRzLmRlZic7XG5pbXBvcnQgeyBBcGlHYXRld2F5U2VydmljZSB9IGZyb20gJy4vYXBpLWdhdGV3YXkuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBNZW51LCBDb21wYW55LCBIZWFkZXJDb25maWcsIFNlc3Npb25PdXRJbmZvIH0gZnJvbSAnLi9jb21tb24taGVhZGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZXNzaW9uRXhwaXJ5SW5mb0NvbXBvbmVudCB9IGZyb20gJy4vc2Vzc2lvbi1leHBpcnktaW5mby9zZXNzaW9uLWV4cGlyeS1pbmZvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVdGlsaXRpZXMgfSBmcm9tICcuL3V0aWxzL1V0aWxpdGllcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvbW1vbkhlYWRlclNlcnZpY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgU0VTU0lPTl9FWFBJUkVEX0tFWSA9ICdzZXNzaW9uX2V4cGlyZWQnO1xuICBwdWJsaWMgcmVhZG9ubHkgTEFTVF9BQ1RJVkVfU0VTU0lPTl9LRVkgPSAnbGFzdEFjdGl2ZVNlc3Npb25UaW1lJztcblxuICBwcml2YXRlIGJhc2VVcmw6IHN0cmluZyA9ICcnO1xuICBoZWFkZXJDb25maWc6IEhlYWRlckNvbmZpZztcbiAgaXNTZXNzaW9uRXhwaXJ5RGlhbG9nT3BlbiA9IGZhbHNlO1xuICBwcml2YXRlIF9hcGlHYXRld2F5U2VydmljZSA9IGluamVjdChBcGlHYXRld2F5U2VydmljZSk7XG4gIHB1YmxpYyBfZGlhbG9nID0gaW5qZWN0KE1hdERpYWxvZyk7XG5cbiAgcHJpdmF0ZSBtZW51U3RhdGVTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8QXBwTWVudVtdIHwgbnVsbD4oMSk7XG4gIHB1YmxpYyBhY3RpdmVNZW51TGlzdCQgPSB0aGlzLm1lbnVTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSBjb21wYW55TGlzdFN1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdDxDb21wYW55W10gfCBudWxsPigxKTtcbiAgcHVibGljIGNvbXBhbnlMaXN0JCA9IHRoaXMuY29tcGFueUxpc3RTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoJ2hlYWRlckNvbmZpZycpIHByaXZhdGUgY29uZmlnOiBIZWFkZXJDb25maWcpIHtcbiAgICB0aGlzLmhlYWRlckNvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLmJhc2VVcmwgPSBjb25maWcuYXBpVXJsO1xuICB9XG5cbiAgc2V0TWVudVN0YXRlKGRhdGE6IEFwcE1lbnVbXSk6IHZvaWQge1xuICAgIHRoaXMubWVudVN0YXRlU3ViamVjdC5uZXh0KGRhdGEpO1xuICB9XG4gIHNldENvbXBhbnlMaXN0KGRhdGE6IENvbXBhbnlbXSk6IHZvaWQge1xuICAgIHRoaXMuY29tcGFueUxpc3RTdWJqZWN0Lm5leHQoZGF0YSk7XG4gIH1cblxuICBvYnRhaW5EYXRhQnlVcmwodXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fYXBpR2F0ZXdheVNlcnZpY2UuZG9HZXQodXJsKTtcbiAgfVxuXG4gIG9wZW5TZXNzaW9uRXhwaXJlSW5mbyhzZXNzaW9uaW5mbz86IFNlc3Npb25PdXRJbmZvKSB7XG4gICAgbGV0IGluZm86IFNlc3Npb25PdXRJbmZvID0ge307XG4gICAgaWYgKHNlc3Npb25pbmZvKSB7XG4gICAgICBpbmZvID0gc2Vzc2lvbmluZm87XG4gICAgfVxuICAgIHRoaXMuaXNTZXNzaW9uRXhwaXJ5RGlhbG9nT3BlbiA9IHRydWU7XG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oU2Vzc2lvbkV4cGlyeUluZm9Db21wb25lbnQsIHsgZGF0YTogc2Vzc2lvbmluZm8gfSk7XG4gIH1cblxuICBnZXREb21haW5JbmZvKCkge1xuICAgIGxldCBkb20gPSBkb2N1bWVudC5sb2NhdGlvbi5ob3N0LnNwbGl0KCcuJyk7XG4gICAgbGV0IGRvbWFpbkluZm8gPSBBUFBfRE9NQUlOLmZpbmQoeCA9PiB4LmRvbWFpbiA9PT0gZG9tWzBdKTtcbiAgICBpZiAoZG9tYWluSW5mbykge1xuICAgICAgcmV0dXJuIGRvbWFpbkluZm87XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIHNlY29uZCBwYXJ0IG9mIHRoZSBkb21haW4gZXhpc3RzIGJlZm9yZSB1c2luZyBpdFxuICAgIGRvbWFpbkluZm8gPSBkb21bMV0gPyBBUFBfRE9NQUlOLmZpbmQoeCA9PiB4LmRvbWFpbiA9PT0gZG9tWzFdKSA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gZG9tYWluSW5mbyB8fCB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRBcHBzKCkge1xuICAgIGxldCB1cmwgPSBgJHt0aGlzLmJhc2VVcmwgKyBFbmRQb2ludHMuQVBJX1VSTFMuZ2V0QXBwc0FwaX1gO1xuICAgIHJldHVybiB0aGlzLl9hcGlHYXRld2F5U2VydmljZS5kb0dldCh1cmwpO1xuICB9XG4gIGdldENvbXBhbnlBcHBsaWNhdGlvbnMoKSB7XG4gICAgbGV0IHVybCA9IGAke3RoaXMuYmFzZVVybCArIEVuZFBvaW50cy5BUElfVVJMUy5nZXRDb21wYW55QXBwbGljYXRpb25zfWA7XG4gICAgcmV0dXJuIHRoaXMuX2FwaUdhdGV3YXlTZXJ2aWNlLmRvR2V0KHVybCk7XG4gIH1cblxuICAvLyBUT0RPIC0tIG5lZWQgdG8gcmVtb3ZlXG4gIGdldFVzZXJDb21wYW5pZXMoKSB7XG4gICAgbGV0IHVybCA9IGAke3RoaXMuYmFzZVVybCArIEVuZFBvaW50cy5BUElfVVJMUy5nZXRVc2VyQ29tcGFuaWVzfWA7XG4gICAgcmV0dXJuIHRoaXMuX2FwaUdhdGV3YXlTZXJ2aWNlLmRvR2V0KHVybCk7XG4gIH1cbiAgdXBkYXRlVXNlckNvbXBhbnkocmVxQm9keTogYW55KSB7XG4gICAgbGV0IHVybCA9IGAke3RoaXMuYmFzZVVybCArIEVuZFBvaW50cy5BUElfVVJMUy51cGRhdGVVc2VyQ29tcGFueX1gO1xuICAgIHJldHVybiB0aGlzLl9hcGlHYXRld2F5U2VydmljZS5kb1Bvc3QodXJsLCByZXFCb2R5KTtcbiAgfVxuXG4gIGZldGNoQ29tcGFueVByb2ZpbGUocmVxQm9keTogYW55KSB7XG4gICAgbGV0IGNvbmZpZzogYW55ID0ge1xuICAgICAgaXNVbmF1dGhvcml6ZWQ6IHRydWVcbiAgICB9XG4gICAgbGV0IHVybCA9IGAke3RoaXMuYmFzZVVybCArIEVuZFBvaW50cy5BUElfVVJMUy5mZXRjaENvbXBhbnlQcm9maWxlICsgJz8nICsgVXRpbGl0aWVzLmNvbnZlcnRPYmplY3RUb1F1ZXJ5U3RyaW5nKHJlcUJvZHkpfWA7XG4gICAgcmV0dXJuIHRoaXMuX2FwaUdhdGV3YXlTZXJ2aWNlLmRvR2V0KHVybCwgY29uZmlnKS5waXBlKFxuICAgICAgcmVkdWNlKChhY2MsIHJlcykgPT4ge1xuICAgICAgICBpZiAocmVzPy5kYXRhKSB7XG4gICAgICAgICAgYWNjID0gcmVzLmRhdGE7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHt9KVxuICAgICk7XG4gIH1cbiAgZ2V0VXNlckRldGFpbHMoKSB7XG4gICAgbGV0IHVybCA9IGAke3RoaXMuYmFzZVVybCArIEVuZFBvaW50cy5BUElfVVJMUy5nZXRVc2VyRGV0YWlsc31gO1xuICAgIHJldHVybiB0aGlzLl9hcGlHYXRld2F5U2VydmljZS5kb0dldCh1cmwpO1xuICB9XG5cbiAgZ2V0Q29tcGFueUxpc3QoKSB7XG4gICAgbGV0IHVybCA9IGAke3RoaXMuYmFzZVVybCArIEVuZFBvaW50cy5BUElfVVJMUy5nZXRDb21wYW55TGlzdH1gO1xuICAgIHJldHVybiB0aGlzLl9hcGlHYXRld2F5U2VydmljZS5kb0dldCh1cmwpLnBpcGUoXG4gICAgICByZWR1Y2UoKGFjYywgcmVzKSA9PiB7XG4gICAgICAgIGlmIChyZXM/LmRhdGE/LmNvbXBhbmllcykge1xuICAgICAgICAgIGFjYyA9IHJlcz8uZGF0YT8uY29tcGFuaWVzO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCB7fSlcbiAgICApO1xuICB9XG4gIGdldE1lbnVMaXN0KCkge1xuICAgIGxldCB1cmwgPSBgJHt0aGlzLmJhc2VVcmwgKyBFbmRQb2ludHMuQVBJX1VSTFMuZ2V0QXBwTWVudX1gO1xuICAgIHJldHVybiB0aGlzLl9hcGlHYXRld2F5U2VydmljZS5kb0dldCh1cmwpLnBpcGUoXG4gICAgICByZWR1Y2UoKGFjYywgcmVzKSA9PiB7XG4gICAgICAgIGlmIChyZXM/LmRhdGE/LkFwcE1lbnUpIHtcbiAgICAgICAgICBhY2MgPSByZXM/LmRhdGE/LkFwcE1lbnU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHt9KVxuICAgICk7XG4gIH1cblxuICB1cGRhdGVMYXN0QWNjZXNzZWRBcHBsaWNhdGlvbihyZXFCb2R5OiBhbnkpIHtcbiAgICBsZXQgdXJsID0gYCR7dGhpcy5iYXNlVXJsICsgRW5kUG9pbnRzLkFQSV9VUkxTLnVwZGF0ZUxhc3RBY2Nlc3NlZEFwcGxpY2F0aW9ufWA7XG4gICAgcmV0dXJuIHRoaXMuX2FwaUdhdGV3YXlTZXJ2aWNlLmRvUG9zdCh1cmwsIHJlcUJvZHkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciB0byBnZXQgdGhlIHJvb3QgZG9tYWluIChlLmcuIC5wcm9mZXQuYWkpIHRvIHNoYXJlIGNvb2tpZXMgYWNyb3NzIHN1YmRvbWFpbnMvcG9ydHMuXG4gICAqIElmIG9uIGxvY2FsaG9zdCBvciBhbiBJUCwgaXQgZmFsbHMgYmFjayB0byB0aGUgaG9zdG5hbWUuXG4gICAqL1xuICBwdWJsaWMgZ2V0Um9vdERvbWFpbigpOiBzdHJpbmcge1xuICAgIGNvbnN0IGhvc3RuYW1lID0gd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lO1xuICAgIGNvbnN0IHBhcnRzID0gaG9zdG5hbWUuc3BsaXQoJy4nKTtcblxuICAgIGlmIChwYXJ0cy5sZW5ndGggPiAyICYmICEvXlxcZHsxLDN9XFwuXFxkezEsM31cXC5cXGR7MSwzfVxcLlxcZHsxLDN9JC8udGVzdChob3N0bmFtZSkpIHtcbiAgICAgIC8vIElmIHdlIGhhdmUgNCsgcGFydHMgKGUuZy4gYXBwMS5sb2NhbC5wcm9mZXQuYWkpLCB3ZSB3YW50IHRvIGluY2x1ZGUgdGhlIGVudmlyb25tZW50IChsb2NhbC5wcm9mZXQuYWkpXG4gICAgICAvLyB0byBhdm9pZCBzaGFyaW5nIGNvb2tpZXMgd2l0aCBhcHAxLmRldi5wcm9mZXQuYWkgb3IgYXBwMS5wcm9mZXQuYWkuXG4gICAgICBpZiAocGFydHMubGVuZ3RoID4gMykge1xuICAgICAgICByZXR1cm4gJy4nICsgcGFydHMuc2xpY2UoLTMpLmpvaW4oJy4nKTtcbiAgICAgIH1cbiAgICAgIC8vIEZvciBzdGFuZGFyZCAzIHBhcnRzIChhcHAxLnByb2ZldC5haSksIHNoYXJlIG9uIC5wcm9mZXQuYWlcbiAgICAgIHJldHVybiAnLicgKyBwYXJ0cy5zbGljZSgtMikuam9pbignLicpO1xuICAgIH1cbiAgICByZXR1cm4gaG9zdG5hbWU7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgdW5pcXVlIGNvb2tpZSBuYW1lIGJhc2VkIG9uIHRoZSBlbnZpcm9ubWVudCByb290IGRvbWFpbi5cbiAgICogZS5nLiAnbGFzdEFjdGl2ZScgb24gLnFhLnByb2ZldC5haSAtPiAnbGFzdEFjdGl2ZV9xYV9wcm9mZXRfYWknXG4gICAqIEBwYXJhbSBuYW1lIEJhc2UgY29va2llIG5hbWVcbiAgICovXG4gIHB1YmxpYyBnZXRTdWZmaXhlZENvb2tpZU5hbWUobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCByb290RG9tYWluID0gdGhpcy5nZXRSb290RG9tYWluKCk7XG4gICAgLy8gUmVwbGFjZSBkb3RzIHdpdGggdW5kZXJzY29yZXMgdG8gY3JlYXRlIGEgY2xlYW4gc3VmZml4XG4gICAgY29uc3Qgc3VmZml4ID0gcm9vdERvbWFpbi5yZXBsYWNlKC9cXC4vZywgJ18nKTtcbiAgICByZXR1cm4gYCR7bmFtZX0ke3N1ZmZpeH1gO1xuICB9XG5cbiAgcHVibGljIHNldENvb2tpZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIGRheXM6IG51bWJlcikge1xuICAgIGNvbnN0IHVuaXF1ZU5hbWUgPSB0aGlzLmdldFN1ZmZpeGVkQ29va2llTmFtZShuYW1lKTtcbiAgICBsZXQgZXhwaXJlcyA9IFwiXCI7XG4gICAgaWYgKGRheXMpIHtcbiAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgZGF0ZS5zZXRUaW1lKGRhdGUuZ2V0VGltZSgpICsgKGRheXMgKiAyNCAqIDYwICogNjAgKiAxMDAwKSk7XG4gICAgICBleHBpcmVzID0gXCI7IGV4cGlyZXM9XCIgKyBkYXRlLnRvVVRDU3RyaW5nKCk7XG4gICAgfVxuICAgIC8vIEltcG9ydGFudDogc2V0IGRvbWFpbiB0byBhbGxvdyBzaGFyaW5nIGFjcm9zcyBzdWJkb21haW5zXG4gICAgY29uc3QgZG9tYWluID0gXCI7IGRvbWFpbj1cIiArIHRoaXMuZ2V0Um9vdERvbWFpbigpO1xuICAgIGRvY3VtZW50LmNvb2tpZSA9IHVuaXF1ZU5hbWUgKyBcIj1cIiArICh2YWx1ZSB8fCBcIlwiKSArIGV4cGlyZXMgKyBkb21haW4gKyBcIjsgcGF0aD0vXCI7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29va2llKG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IHVuaXF1ZU5hbWUgPSB0aGlzLmdldFN1ZmZpeGVkQ29va2llTmFtZShuYW1lKTtcbiAgICBjb25zdCBuYW1lRVEgPSB1bmlxdWVOYW1lICsgXCI9XCI7XG4gICAgY29uc3QgY2EgPSBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNhLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgYyA9IGNhW2ldO1xuICAgICAgd2hpbGUgKGMuY2hhckF0KDApID09ICcgJykgYyA9IGMuc3Vic3RyaW5nKDEsIGMubGVuZ3RoKTtcbiAgICAgIGlmIChjLmluZGV4T2YobmFtZUVRKSA9PSAwKSByZXR1cm4gYy5zdWJzdHJpbmcobmFtZUVRLmxlbmd0aCwgYy5sZW5ndGgpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBkZWxldGVDb29raWUobmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zZXRDb29raWUobmFtZSwgJycsIC0xKTtcbiAgfVxufVxuIl19
@@ -7,14 +7,14 @@ export class CompanySwitchWarningComponent {
7
7
  constructor(comInfo) {
8
8
  this.comInfo = comInfo;
9
9
  }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CompanySwitchWarningComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CompanySwitchWarningComponent, selector: "lib-company-switch-warning", ngImport: i0, template: "<div class=\"switchCompanyDialog\">\n <h3 mat-dialog-title class=\"mb-5\">Switch Company</h3>\n <p class=\"confirmation-msg\">\n Switching company to <span>{{comInfo?.switchingCompany}}.</span> <br />\n Are you sure to continue?\n </p>\n <mat-dialog-actions class=\"switchCompanyActions\">\n <button color=\"primary\" mat-button mat-dialog-close>Cancel</button>\n <button color=\"primary\" class=\"proceedBtn\" mat-flat-button [mat-dialog-close]=\"true\"\n cdkFocusInitial>Yes, Switch Company</button>\n </mat-dialog-actions>\n</div> ", styles: [".switchCompanyDialog{min-width:320px}.switchCompanyDialog h3{padding:0;text-align:center}.switchCompanyDialog p{width:100%;text-align:center;color:#292929}.switchCompanyDialog p span{font-weight:500;color:#000}.switchCompanyActions{text-align:center;display:block}.proceedBtn{color:#fff}.confirmation-msg{font-size:1rem}\n"], dependencies: [{ kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }] }); }
10
12
  }
11
- CompanySwitchWarningComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CompanySwitchWarningComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
12
- CompanySwitchWarningComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CompanySwitchWarningComponent, selector: "lib-company-switch-warning", ngImport: i0, template: "<div class=\"switchCompanyDialog\">\n <h3 mat-dialog-title class=\"mb-5\">Switch Company</h3>\n <p class=\"confirmation-msg\">\n Switching company to <span>{{comInfo?.switchingCompany}}.</span> <br />\n Are you sure to continue?\n </p>\n <mat-dialog-actions class=\"switchCompanyActions\">\n <button color=\"primary\" mat-button mat-dialog-close>Cancel</button>\n <button color=\"primary\" class=\"proceedBtn\" mat-flat-button [mat-dialog-close]=\"true\"\n cdkFocusInitial>Yes, Switch Company</button>\n </mat-dialog-actions>\n</div> ", styles: [".switchCompanyDialog{min-width:320px}.switchCompanyDialog h3{padding:0;text-align:center}.switchCompanyDialog p{width:100%;text-align:center;color:#292929}.switchCompanyDialog p span{font-weight:500;color:#000}.switchCompanyActions{text-align:center;display:block}.proceedBtn{color:#fff}.confirmation-msg{font-size:1rem}\n"], dependencies: [{ kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CompanySwitchWarningComponent, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CompanySwitchWarningComponent, decorators: [{
14
14
  type: Component,
15
15
  args: [{ selector: 'lib-company-switch-warning', template: "<div class=\"switchCompanyDialog\">\n <h3 mat-dialog-title class=\"mb-5\">Switch Company</h3>\n <p class=\"confirmation-msg\">\n Switching company to <span>{{comInfo?.switchingCompany}}.</span> <br />\n Are you sure to continue?\n </p>\n <mat-dialog-actions class=\"switchCompanyActions\">\n <button color=\"primary\" mat-button mat-dialog-close>Cancel</button>\n <button color=\"primary\" class=\"proceedBtn\" mat-flat-button [mat-dialog-close]=\"true\"\n cdkFocusInitial>Yes, Switch Company</button>\n </mat-dialog-actions>\n</div> ", styles: [".switchCompanyDialog{min-width:320px}.switchCompanyDialog h3{padding:0;text-align:center}.switchCompanyDialog p{width:100%;text-align:center;color:#292929}.switchCompanyDialog p span{font-weight:500;color:#000}.switchCompanyActions{text-align:center;display:block}.proceedBtn{color:#fff}.confirmation-msg{font-size:1rem}\n"] }]
16
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
16
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
17
17
  type: Inject,
18
18
  args: [MAT_DIALOG_DATA]
19
- }] }]; } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFueS1zd2l0Y2gtd2FybmluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24taGVhZGVyL3NyYy9saWIvY29tcGFueS1zd2l0Y2gtd2FybmluZy9jb21wYW55LXN3aXRjaC13YXJuaW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXIvc3JjL2xpYi9jb21wYW55LXN3aXRjaC13YXJuaW5nL2NvbXBhbnktc3dpdGNoLXdhcm5pbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBTzNELE1BQU0sT0FBTyw2QkFBNkI7SUFDeEMsWUFBNEMsT0FBWTtRQUFaLFlBQU8sR0FBUCxPQUFPLENBQUs7SUFBSSxDQUFDOzsySEFEbEQsNkJBQTZCLGtCQUNwQixlQUFlOytHQUR4Qiw2QkFBNkIsa0VDUjFDLCtrQkFXUTs0RkRISyw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0UsNEJBQTRCOzswQkFLekIsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1jb21wYW55LXN3aXRjaC13YXJuaW5nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbXBhbnktc3dpdGNoLXdhcm5pbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb21wYW55LXN3aXRjaC13YXJuaW5nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ29tcGFueVN3aXRjaFdhcm5pbmdDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGNvbUluZm86IGFueSkgeyB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic3dpdGNoQ29tcGFueURpYWxvZ1wiPlxuICAgIDxoMyBtYXQtZGlhbG9nLXRpdGxlIGNsYXNzPVwibWItNVwiPlN3aXRjaCBDb21wYW55PC9oMz5cbiAgICA8cCBjbGFzcz1cImNvbmZpcm1hdGlvbi1tc2dcIj5cbiAgICAgICAgU3dpdGNoaW5nIGNvbXBhbnkgdG8gPHNwYW4+e3tjb21JbmZvPy5zd2l0Y2hpbmdDb21wYW55fX0uPC9zcGFuPiA8YnIgLz5cbiAgICAgICAgQXJlIHlvdSBzdXJlIHRvIGNvbnRpbnVlP1xuICAgIDwvcD5cbiAgICA8bWF0LWRpYWxvZy1hY3Rpb25zIGNsYXNzPVwic3dpdGNoQ29tcGFueUFjdGlvbnNcIj5cbiAgICAgICAgPGJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBtYXQtYnV0dG9uIG1hdC1kaWFsb2ctY2xvc2U+Q2FuY2VsPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gY29sb3I9XCJwcmltYXJ5XCIgY2xhc3M9XCJwcm9jZWVkQnRuXCIgbWF0LWZsYXQtYnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT1cInRydWVcIlxuICAgICAgICAgICAgY2RrRm9jdXNJbml0aWFsPlllcywgU3dpdGNoIENvbXBhbnk8L2J1dHRvbj5cbiAgICA8L21hdC1kaWFsb2ctYWN0aW9ucz5cbjwvZGl2PiAgIl19
19
+ }] }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFueS1zd2l0Y2gtd2FybmluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24taGVhZGVyL3NyYy9saWIvY29tcGFueS1zd2l0Y2gtd2FybmluZy9jb21wYW55LXN3aXRjaC13YXJuaW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXIvc3JjL2xpYi9jb21wYW55LXN3aXRjaC13YXJuaW5nL2NvbXBhbnktc3dpdGNoLXdhcm5pbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBTzNELE1BQU0sT0FBTyw2QkFBNkI7SUFDeEMsWUFBNEMsT0FBWTtRQUFaLFlBQU8sR0FBUCxPQUFPLENBQUs7SUFBSSxDQUFDOytHQURsRCw2QkFBNkIsa0JBQ3BCLGVBQWU7bUdBRHhCLDZCQUE2QixrRUNSMUMsK2tCQVdROzs0RkRISyw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0UsNEJBQTRCOzswQkFLekIsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1jb21wYW55LXN3aXRjaC13YXJuaW5nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbXBhbnktc3dpdGNoLXdhcm5pbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb21wYW55LXN3aXRjaC13YXJuaW5nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ29tcGFueVN3aXRjaFdhcm5pbmdDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGNvbUluZm86IGFueSkgeyB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic3dpdGNoQ29tcGFueURpYWxvZ1wiPlxuICAgIDxoMyBtYXQtZGlhbG9nLXRpdGxlIGNsYXNzPVwibWItNVwiPlN3aXRjaCBDb21wYW55PC9oMz5cbiAgICA8cCBjbGFzcz1cImNvbmZpcm1hdGlvbi1tc2dcIj5cbiAgICAgICAgU3dpdGNoaW5nIGNvbXBhbnkgdG8gPHNwYW4+e3tjb21JbmZvPy5zd2l0Y2hpbmdDb21wYW55fX0uPC9zcGFuPiA8YnIgLz5cbiAgICAgICAgQXJlIHlvdSBzdXJlIHRvIGNvbnRpbnVlP1xuICAgIDwvcD5cbiAgICA8bWF0LWRpYWxvZy1hY3Rpb25zIGNsYXNzPVwic3dpdGNoQ29tcGFueUFjdGlvbnNcIj5cbiAgICAgICAgPGJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBtYXQtYnV0dG9uIG1hdC1kaWFsb2ctY2xvc2U+Q2FuY2VsPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gY29sb3I9XCJwcmltYXJ5XCIgY2xhc3M9XCJwcm9jZWVkQnRuXCIgbWF0LWZsYXQtYnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT1cInRydWVcIlxuICAgICAgICAgICAgY2RrRm9jdXNJbml0aWFsPlllcywgU3dpdGNoIENvbXBhbnk8L2J1dHRvbj5cbiAgICA8L21hdC1kaWFsb2ctYWN0aW9ucz5cbjwvZGl2PiAgIl19