@annalib/anna-cognito-lib 2.3.6 → 2.3.7

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 (55) hide show
  1. package/{esm2022 → esm2020}/annalib-anna-cognito-lib.mjs +4 -4
  2. package/{esm2022 → esm2020}/lib/components/anna-login/anna-login.component.mjs +67 -67
  3. package/{esm2022 → esm2020}/lib/components/cognito-and-sso-login-container/cognito-and-sso-login-container.component.mjs +22 -22
  4. package/{esm2022 → esm2020}/lib/components/forgot-password/forgot-password.component.mjs +133 -133
  5. package/{esm2022 → esm2020}/lib/components/password-matching/password-matching.component.mjs +92 -92
  6. package/{esm2022 → esm2020}/lib/components/powered-by-logo-template/powered-by-logo-template.component.mjs +14 -14
  7. package/{esm2022 → esm2020}/lib/components/set-new-password/set-new-password.component.mjs +71 -71
  8. package/{esm2022 → esm2020}/lib/components/sso-login/sso-login.component.mjs +38 -38
  9. package/{esm2022 → esm2020}/lib/components/surewaves-year-logo/surewaves-year-logo.component.mjs +15 -15
  10. package/{esm2022 → esm2020}/lib/components/verify-and-set-new-password/verify-and-set-new-password.component.mjs +90 -90
  11. package/{esm2022 → esm2020}/lib/components/version-and-term-policy/version-and-term-policy.component.mjs +19 -19
  12. package/{esm2022 → esm2020}/lib/config/acl-service.token.mjs +4 -4
  13. package/{esm2022 → esm2020}/lib/config/auth-service.token.mjs +3 -3
  14. package/{esm2022 → esm2020}/lib/config/config-service.token.mjs +3 -3
  15. package/{esm2022 → esm2020}/lib/config/sso-login-service.token.mjs +3 -3
  16. package/esm2020/lib/constants/loginConstant.mjs +55 -0
  17. package/{esm2022 → esm2020}/lib/directives/spinner-button/index.mjs +1 -1
  18. package/{esm2022 → esm2020}/lib/directives/spinner-button/spinner-button.directive.mjs +43 -43
  19. package/{esm2022 → esm2020}/lib/models/auth.model.mjs +23 -23
  20. package/{esm2022 → esm2020}/lib/services/acl.service.mjs +27 -27
  21. package/{esm2022 → esm2020}/lib/services/auth.service.mjs +312 -312
  22. package/{esm2022 → esm2020}/lib/services/config.service.mjs +20 -20
  23. package/{esm2022 → esm2020}/lib/services/sso-login.service.mjs +20 -20
  24. package/{esm2022 → esm2020}/public-api.mjs +27 -27
  25. package/fesm2015/annalib-anna-cognito-lib.mjs +1011 -0
  26. package/fesm2015/annalib-anna-cognito-lib.mjs.map +1 -0
  27. package/{fesm2022 → fesm2020}/annalib-anna-cognito-lib.mjs +905 -905
  28. package/fesm2020/annalib-anna-cognito-lib.mjs.map +1 -0
  29. package/index.d.ts +5 -5
  30. package/lib/components/anna-login/anna-login.component.d.ts +20 -20
  31. package/lib/components/cognito-and-sso-login-container/cognito-and-sso-login-container.component.d.ts +10 -10
  32. package/lib/components/forgot-password/forgot-password.component.d.ts +42 -42
  33. package/lib/components/password-matching/password-matching.component.d.ts +22 -22
  34. package/lib/components/powered-by-logo-template/powered-by-logo-template.component.d.ts +8 -8
  35. package/lib/components/set-new-password/set-new-password.component.d.ts +28 -28
  36. package/lib/components/sso-login/sso-login.component.d.ts +14 -14
  37. package/lib/components/surewaves-year-logo/surewaves-year-logo.component.d.ts +9 -9
  38. package/lib/components/verify-and-set-new-password/verify-and-set-new-password.component.d.ts +32 -32
  39. package/lib/components/version-and-term-policy/version-and-term-policy.component.d.ts +10 -10
  40. package/lib/config/acl-service.token.d.ts +38 -36
  41. package/lib/config/auth-service.token.d.ts +23 -23
  42. package/lib/config/config-service.token.d.ts +13 -13
  43. package/lib/config/sso-login-service.token.d.ts +10 -10
  44. package/lib/constants/loginConstant.d.ts +49 -49
  45. package/lib/directives/spinner-button/index.d.ts +1 -1
  46. package/lib/directives/spinner-button/spinner-button.directive.d.ts +15 -15
  47. package/lib/models/auth.model.d.ts +21 -21
  48. package/lib/services/acl.service.d.ts +11 -11
  49. package/lib/services/auth.service.d.ts +47 -47
  50. package/lib/services/config.service.d.ts +8 -8
  51. package/lib/services/sso-login.service.d.ts +8 -8
  52. package/package.json +11 -5
  53. package/public-api.d.ts +20 -20
  54. package/esm2022/lib/constants/loginConstant.mjs +0 -55
  55. package/fesm2022/annalib-anna-cognito-lib.mjs.map +0 -1
@@ -1,47 +1,47 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { Router } from '@angular/router';
3
- import { AuthTokens, SignInInput } from 'aws-amplify/auth';
4
- import { ToastrService } from 'ngx-toastr';
5
- import { IAuthService } from '../config/auth-service.token';
6
- import { AnnaLibAclService } from './acl.service';
7
- import { ISSOLoginService } from '../config/sso-login-service.token';
8
- import * as i0 from "@angular/core";
9
- export declare class AnnaLibAuthService {
10
- private router;
11
- aclService: AnnaLibAclService;
12
- httpClient: HttpClient;
13
- private toastr;
14
- consumingProjectSSOLoginService: ISSOLoginService;
15
- consumingProjectAuthService: IAuthService;
16
- loginErrorMessage: string | null;
17
- setNewPasswordErrorMessage: string;
18
- setNewPasswordButtonMessage: string;
19
- verifyAndSetNewPasswordErrorMessage: string;
20
- verifyAndSetNewPasswordMessage: string;
21
- verifyAndSetNewPasswordButton: string;
22
- noOfAttempts: number;
23
- sessionLocked: boolean;
24
- accessTokenTimerId: any;
25
- forgotPasswordAndGlobalSignoutLoader: boolean;
26
- constructor(router: Router, aclService: AnnaLibAclService, httpClient: HttpClient, toastr: ToastrService, consumingProjectSSOLoginService: ISSOLoginService, consumingProjectAuthService: IAuthService);
27
- ngOnInit(): void;
28
- isUserLoggedIn(): Promise<boolean>;
29
- sessionTimeout(): void;
30
- computeTokenExpiration(idToken: any): number;
31
- handleSignIn({ username, password }: SignInInput): Promise<void>;
32
- onLoginOrSetNewPassword(session: any): void;
33
- setAccessAndIDTokens(token: AuthTokens): void;
34
- getAllCognitoTokenAndGroups(token: AuthTokens): Promise<void>;
35
- refreshAccessToken(): void;
36
- changePassword(newPassword: string): Promise<void>;
37
- onForgotPasswordGenerateOTP(email: string): Promise<void>;
38
- verifyCode(confirmationCode: string, newPassword: string): Promise<void>;
39
- forgotPasswordError(err: any, noOfAttempts: number): string;
40
- signInWithSSO(): Promise<void>;
41
- handleSignOut(): Promise<void>;
42
- expiryAllExistingCurrentSession(username: string, newPassword: string): void;
43
- onLoginInCogntioToGetAccessToken(username: string, password: string): Promise<void>;
44
- onCallGlobalSignout(): Promise<void>;
45
- static ɵfac: i0.ɵɵFactoryDeclaration<AnnaLibAuthService, never>;
46
- static ɵprov: i0.ɵɵInjectableDeclaration<AnnaLibAuthService>;
47
- }
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Router } from '@angular/router';
3
+ import { AuthTokens, SignInInput } from 'aws-amplify/auth';
4
+ import { ToastrService } from 'ngx-toastr';
5
+ import { IAuthService } from '../config/auth-service.token';
6
+ import { AnnaLibAclService } from './acl.service';
7
+ import { ISSOLoginService } from '../config/sso-login-service.token';
8
+ import * as i0 from "@angular/core";
9
+ export declare class AnnaLibAuthService {
10
+ private router;
11
+ aclService: AnnaLibAclService;
12
+ httpClient: HttpClient;
13
+ private toastr;
14
+ consumingProjectSSOLoginService: ISSOLoginService;
15
+ consumingProjectAuthService: IAuthService;
16
+ loginErrorMessage: string | null;
17
+ setNewPasswordErrorMessage: string;
18
+ setNewPasswordButtonMessage: string;
19
+ verifyAndSetNewPasswordErrorMessage: string;
20
+ verifyAndSetNewPasswordMessage: string;
21
+ verifyAndSetNewPasswordButton: string;
22
+ noOfAttempts: number;
23
+ sessionLocked: boolean;
24
+ accessTokenTimerId: any;
25
+ forgotPasswordAndGlobalSignoutLoader: boolean;
26
+ constructor(router: Router, aclService: AnnaLibAclService, httpClient: HttpClient, toastr: ToastrService, consumingProjectSSOLoginService: ISSOLoginService, consumingProjectAuthService: IAuthService);
27
+ ngOnInit(): void;
28
+ isUserLoggedIn(): Promise<boolean>;
29
+ sessionTimeout(): void;
30
+ computeTokenExpiration(idToken: any): number;
31
+ handleSignIn({ username, password }: SignInInput): Promise<void>;
32
+ onLoginOrSetNewPassword(session: any): void;
33
+ setAccessAndIDTokens(token: AuthTokens): void;
34
+ getAllCognitoTokenAndGroups(token: AuthTokens): Promise<void>;
35
+ refreshAccessToken(): void;
36
+ changePassword(newPassword: string): Promise<void>;
37
+ onForgotPasswordGenerateOTP(email: string): Promise<void>;
38
+ verifyCode(confirmationCode: string, newPassword: string): Promise<void>;
39
+ forgotPasswordError(err: any, noOfAttempts: number): string;
40
+ signInWithSSO(): Promise<void>;
41
+ handleSignOut(): Promise<void>;
42
+ expiryAllExistingCurrentSession(username: string, newPassword: string): void;
43
+ onLoginInCogntioToGetAccessToken(username: string, password: string): Promise<void>;
44
+ onCallGlobalSignout(): Promise<void>;
45
+ static ɵfac: i0.ɵɵFactoryDeclaration<AnnaLibAuthService, never>;
46
+ static ɵprov: i0.ɵɵInjectableDeclaration<AnnaLibAuthService>;
47
+ }
@@ -1,8 +1,8 @@
1
- import { IConfigService } from '../config/config-service.token';
2
- import * as i0 from "@angular/core";
3
- export declare class AnnaConfigService {
4
- consumingProjectConfigService: IConfigService;
5
- constructor(consumingProjectConfigService: IConfigService);
6
- static ɵfac: i0.ɵɵFactoryDeclaration<AnnaConfigService, never>;
7
- static ɵprov: i0.ɵɵInjectableDeclaration<AnnaConfigService>;
8
- }
1
+ import { IConfigService } from '../config/config-service.token';
2
+ import * as i0 from "@angular/core";
3
+ export declare class AnnaConfigService {
4
+ consumingProjectConfigService: IConfigService;
5
+ constructor(consumingProjectConfigService: IConfigService);
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<AnnaConfigService, never>;
7
+ static ɵprov: i0.ɵɵInjectableDeclaration<AnnaConfigService>;
8
+ }
@@ -1,8 +1,8 @@
1
- import { ISSOLoginService } from '../config/sso-login-service.token';
2
- import * as i0 from "@angular/core";
3
- export declare class AnnaSSOLoginService {
4
- consumingProjectSSOLoginService: ISSOLoginService;
5
- constructor(consumingProjectSSOLoginService: ISSOLoginService);
6
- static ɵfac: i0.ɵɵFactoryDeclaration<AnnaSSOLoginService, never>;
7
- static ɵprov: i0.ɵɵInjectableDeclaration<AnnaSSOLoginService>;
8
- }
1
+ import { ISSOLoginService } from '../config/sso-login-service.token';
2
+ import * as i0 from "@angular/core";
3
+ export declare class AnnaSSOLoginService {
4
+ consumingProjectSSOLoginService: ISSOLoginService;
5
+ constructor(consumingProjectSSOLoginService: ISSOLoginService);
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<AnnaSSOLoginService, never>;
7
+ static ɵprov: i0.ɵɵInjectableDeclaration<AnnaSSOLoginService>;
8
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@annalib/anna-cognito-lib",
3
- "version": "2.3.6",
3
+ "version": "2.3.7",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^16.2.12",
6
6
  "@angular/core": "^16.2.12",
@@ -11,7 +11,11 @@
11
11
  "bootstrap": "^5.3.3",
12
12
  "ngx-toastr": "^17.0.2"
13
13
  },
14
- "module": "fesm2022/annalib-anna-cognito-lib.mjs",
14
+ "module": "fesm2015/annalib-anna-cognito-lib.mjs",
15
+ "es2020": "fesm2020/annalib-anna-cognito-lib.mjs",
16
+ "esm2020": "esm2020/annalib-anna-cognito-lib.mjs",
17
+ "fesm2020": "fesm2020/annalib-anna-cognito-lib.mjs",
18
+ "fesm2015": "fesm2015/annalib-anna-cognito-lib.mjs",
15
19
  "typings": "index.d.ts",
16
20
  "exports": {
17
21
  "./package.json": {
@@ -19,9 +23,11 @@
19
23
  },
20
24
  ".": {
21
25
  "types": "./index.d.ts",
22
- "esm2022": "./esm2022/annalib-anna-cognito-lib.mjs",
23
- "esm": "./esm2022/annalib-anna-cognito-lib.mjs",
24
- "default": "./fesm2022/annalib-anna-cognito-lib.mjs"
26
+ "esm2020": "./esm2020/annalib-anna-cognito-lib.mjs",
27
+ "es2020": "./fesm2020/annalib-anna-cognito-lib.mjs",
28
+ "es2015": "./fesm2015/annalib-anna-cognito-lib.mjs",
29
+ "node": "./fesm2015/annalib-anna-cognito-lib.mjs",
30
+ "default": "./fesm2020/annalib-anna-cognito-lib.mjs"
25
31
  }
26
32
  },
27
33
  "sideEffects": false,
package/public-api.d.ts CHANGED
@@ -1,20 +1,20 @@
1
- export * from './lib/components/cognito-and-sso-login-container/cognito-and-sso-login-container.component';
2
- export * from './lib/components/anna-login/anna-login.component';
3
- export * from './lib/components/sso-login/sso-login.component';
4
- export * from './lib/components/forgot-password/forgot-password.component';
5
- export * from './lib/components/set-new-password/set-new-password.component';
6
- export * from './lib/components/password-matching/password-matching.component';
7
- export * from './lib/components/verify-and-set-new-password/verify-and-set-new-password.component';
8
- export * from './lib/components/version-and-term-policy/version-and-term-policy.component';
9
- export * from './lib/components/powered-by-logo-template/powered-by-logo-template.component';
10
- export * from './lib/components/surewaves-year-logo/surewaves-year-logo.component';
11
- export * from './lib/services/auth.service';
12
- export * from './lib/services/acl.service';
13
- export * from './lib/config/auth-service.token';
14
- export * from './lib/config/acl-service.token';
15
- export * from './lib/config/config-service.token';
16
- export * from './lib/config/sso-login-service.token';
17
- export * from './lib/services/config.service';
18
- export * from './lib/services/sso-login.service';
19
- export * from './lib/directives/spinner-button';
20
- export * from './lib/constants/loginConstant';
1
+ export * from './lib/components/cognito-and-sso-login-container/cognito-and-sso-login-container.component';
2
+ export * from './lib/components/anna-login/anna-login.component';
3
+ export * from './lib/components/sso-login/sso-login.component';
4
+ export * from './lib/components/forgot-password/forgot-password.component';
5
+ export * from './lib/components/set-new-password/set-new-password.component';
6
+ export * from './lib/components/password-matching/password-matching.component';
7
+ export * from './lib/components/verify-and-set-new-password/verify-and-set-new-password.component';
8
+ export * from './lib/components/version-and-term-policy/version-and-term-policy.component';
9
+ export * from './lib/components/powered-by-logo-template/powered-by-logo-template.component';
10
+ export * from './lib/components/surewaves-year-logo/surewaves-year-logo.component';
11
+ export * from './lib/services/auth.service';
12
+ export * from './lib/services/acl.service';
13
+ export * from './lib/config/auth-service.token';
14
+ export * from './lib/config/acl-service.token';
15
+ export * from './lib/config/config-service.token';
16
+ export * from './lib/config/sso-login-service.token';
17
+ export * from './lib/services/config.service';
18
+ export * from './lib/services/sso-login.service';
19
+ export * from './lib/directives/spinner-button';
20
+ export * from './lib/constants/loginConstant';
@@ -1,55 +0,0 @@
1
- export class LoginConstant {
2
- // Login page
3
- static { this.enterEmail = 'Enter your username'; }
4
- static { this.enterUserCode = 'Enter your usercode'; }
5
- static { this.password = 'Password'; }
6
- static { this.confirmPassword = 'Confirm Password'; }
7
- static { this.login = 'Login'; }
8
- static { this.otp = 'OTP'; }
9
- static { this.forgotPassword = 'Forgot ' + LoginConstant.password.toLowerCase() + '?'; }
10
- // set new password
11
- static { this.setNewPasswordHeading = 'Set new ' + LoginConstant.password.toLowerCase(); }
12
- static { this.setNewPasswordButton = 'Set and ' + LoginConstant.login.toLowerCase() + ' again'; }
13
- static { this.passwordMustContain = 'The password must contain:'; }
14
- static { this.minimumCharacter = 'Minimum 8 characters'; }
15
- static { this.oneUppercase = '1 Uppercase'; }
16
- static { this.oneLowercase = '1 Lowercase'; }
17
- static { this.oneNumber = '1 Numerical'; }
18
- static { this.specialCharacter = '1 Special character'; }
19
- static { this.passwordNotMatching = 'The passwords do not match. Please try again.'; }
20
- static { this.userNamePasswordIncorrect = 'Incorrect username or password'; }
21
- static { this.userCodePasswordIncorrect = 'Incorrect usercode or password'; }
22
- static { this.userNotFound = 'No registered user found'; }
23
- static { this.loginAgain = LoginConstant.login + ' again'; }
24
- static { this.firstTimeLoginUserTempPasswordMsg = 'You are logging in for the first time. Kindly use the temporary password provided in the welcome email, to login to your account. '; }
25
- static { this.tempPasswordExpiryError = 'Temporary password has expired and must be reset by an administrator.'; }
26
- static { this.tempPasswordOnExpiryErrorMsg = 'Password has expired. A new password has been sent to your registered email. Kindly login again with new link and credentials.'; }
27
- // verify OTP & set new password
28
- static { this.verifyAndSetNewPasswordheading = 'Enter ' + LoginConstant.otp + ' & set new password'; }
29
- static { this.verifyAndSetNewPasswordMessage = 'An ' + LoginConstant.otp + ' has been succesfully emailed to '; }
30
- static { this.pleaseEnterItBelow = '. Please enter it below.'; }
31
- static { this.regenerateOtp = 'Regenerate ' + LoginConstant.otp; }
32
- static { this.enterOtp = 'Enter ' + LoginConstant.otp; }
33
- static { this.submit = 'Submit'; }
34
- static { this.attempt = 'Attempt'; }
35
- static { this.attemptLimitExceeded = 'You have exceeded the maximum number of allowed attempts. Please try again after 15 minutes.'; }
36
- static { this.attemptMessage = ' of 5. The OTP entered is incorrect. Please try again with the right one.'; }
37
- static { this.sessionExpired = 'The session has expired. Please try again.'; }
38
- static { this.sessionExpiredError = 'Your session has expired. Please login again'; }
39
- // forgot password
40
- static { this.forgotPasswordHeading = 'Forgot your password?'; }
41
- static { this.PleaseEnterYourUsernameMessage = 'Please enter your username.'; }
42
- static { this.PleaseEnterYourUsercodeMessage = 'Please enter your usercode.'; }
43
- static { this.forgotPasswordButton = 'Get ' + LoginConstant.otp; }
44
- static { this.apiFailErrorMessage = 'Unable to connect to server right now. Please try after some time.'; }
45
- //url
46
- static { this.setNewPasswordUrl = '/set-new-password'; }
47
- static { this.forgortPasswordPageUrl = '/forgot-password'; }
48
- static { this.verifyAndSetNewPasswordUrl = '/verify-and-set-new-password'; }
49
- static { this.loginPageUrl = '/login'; }
50
- static { this.coPilotloginPageUrl = '/co-pilot-login'; }
51
- static { this.welcomeScrreenUrl = '/welcome-screen'; }
52
- static { this.homePageUrl = '/dashboard'; }
53
- static { this.stationSettingUrl = '/station-settings'; }
54
- }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW5Db25zdGFudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29nbml0by1saWIvc3JjL2xpYi9jb25zdGFudHMvbG9naW5Db25zdGFudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sYUFBYTtJQUN0QixhQUFhO2FBQ0csZUFBVSxHQUFHLHFCQUFxQixDQUFDO2FBQ25DLGtCQUFhLEdBQUcscUJBQXFCLENBQUM7YUFDdEMsYUFBUSxHQUFHLFVBQVUsQ0FBQzthQUN0QixvQkFBZSxHQUFHLGtCQUFrQixDQUFDO2FBQ3JDLFVBQUssR0FBRyxPQUFPLENBQUM7YUFDaEIsUUFBRyxHQUFHLEtBQUssQ0FBQzthQUNaLG1CQUFjLEdBQUcsU0FBUyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDO0lBRXhGLG1CQUFtQjthQUNILDBCQUFxQixHQUFHLFVBQVUsR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQzFFLHlCQUFvQixHQUFHLFVBQVUsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxHQUFHLFFBQVEsQ0FBQzthQUNqRix3QkFBbUIsR0FBRyw0QkFBNEIsQ0FBQzthQUNuRCxxQkFBZ0IsR0FBRyxzQkFBc0IsQ0FBQzthQUMxQyxpQkFBWSxHQUFHLGFBQWEsQ0FBQzthQUM3QixpQkFBWSxHQUFHLGFBQWEsQ0FBQzthQUM3QixjQUFTLEdBQUcsYUFBYSxDQUFDO2FBQzFCLHFCQUFnQixHQUFHLHFCQUFxQixDQUFDO2FBQ3pDLHdCQUFtQixHQUFHLCtDQUErQyxDQUFDO2FBQ3RFLDhCQUF5QixHQUFHLGdDQUFnQyxDQUFDO2FBQzdELDhCQUF5QixHQUFHLGdDQUFnQyxDQUFDO2FBQzdELGlCQUFZLEdBQUcsMEJBQTBCLENBQUM7YUFDMUMsZUFBVSxHQUFHLGFBQWEsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO2FBQzVDLHNDQUFpQyxHQUM3QyxvSUFBb0ksQ0FBQzthQUN6SCw0QkFBdUIsR0FBRyx1RUFBdUUsQ0FBQzthQUNsRyxpQ0FBNEIsR0FDeEMsZ0lBQWdJLENBQUM7SUFFckksZ0NBQWdDO2FBQ2hCLG1DQUE4QixHQUFHLFFBQVEsR0FBRyxhQUFhLENBQUMsR0FBRyxHQUFHLHFCQUFxQixDQUFDO2FBQ3RGLG1DQUE4QixHQUFHLEtBQUssR0FBRyxhQUFhLENBQUMsR0FBRyxHQUFHLG1DQUFtQyxDQUFDO2FBQ2pHLHVCQUFrQixHQUFHLDBCQUEwQixDQUFDO2FBQ2hELGtCQUFhLEdBQUcsYUFBYSxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUM7YUFDbEQsYUFBUSxHQUFHLFFBQVEsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDO2FBQ3hDLFdBQU0sR0FBRyxRQUFRLENBQUM7YUFDbEIsWUFBTyxHQUFHLFNBQVMsQ0FBQzthQUNwQix5QkFBb0IsR0FDaEMsOEZBQThGLENBQUM7YUFDbkYsbUJBQWMsR0FBRywyRUFBMkUsQ0FBQzthQUM3RixtQkFBYyxHQUFHLDRDQUE0QyxDQUFDO2FBQzlELHdCQUFtQixHQUFHLDhDQUE4QyxDQUFDO0lBRXJGLGtCQUFrQjthQUNGLDBCQUFxQixHQUFHLHVCQUF1QixDQUFDO2FBQ2hELG1DQUE4QixHQUFHLDZCQUE2QixDQUFDO2FBQy9ELG1DQUE4QixHQUFHLDZCQUE2QixDQUFDO2FBQy9ELHlCQUFvQixHQUFHLE1BQU0sR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDO2FBQ2xELHdCQUFtQixHQUFHLG9FQUFvRSxDQUFDO0lBRTNHLEtBQUs7YUFDVyxzQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQzthQUN4QywyQkFBc0IsR0FBRyxrQkFBa0IsQ0FBQzthQUM1QywrQkFBMEIsR0FBRyw4QkFBOEIsQ0FBQzthQUM1RCxpQkFBWSxHQUFHLFFBQVEsQ0FBQzthQUN4Qix3QkFBbUIsR0FBRyxpQkFBaUIsQ0FBQzthQUN4QyxzQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQzthQUN0QyxnQkFBVyxHQUFHLFlBQVksQ0FBQzthQUMzQixzQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBMb2dpbkNvbnN0YW50IHtcclxuICAgIC8vIExvZ2luIHBhZ2VcclxuICAgIHN0YXRpYyByZWFkb25seSBlbnRlckVtYWlsID0gJ0VudGVyIHlvdXIgdXNlcm5hbWUnO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IGVudGVyVXNlckNvZGUgPSAnRW50ZXIgeW91ciB1c2VyY29kZSc7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgcGFzc3dvcmQgPSAnUGFzc3dvcmQnO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IGNvbmZpcm1QYXNzd29yZCA9ICdDb25maXJtIFBhc3N3b3JkJztcclxuICAgIHN0YXRpYyByZWFkb25seSBsb2dpbiA9ICdMb2dpbic7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgb3RwID0gJ09UUCc7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgZm9yZ290UGFzc3dvcmQgPSAnRm9yZ290ICcgKyBMb2dpbkNvbnN0YW50LnBhc3N3b3JkLnRvTG93ZXJDYXNlKCkgKyAnPyc7XHJcblxyXG4gICAgLy8gc2V0IG5ldyBwYXNzd29yZFxyXG4gICAgc3RhdGljIHJlYWRvbmx5IHNldE5ld1Bhc3N3b3JkSGVhZGluZyA9ICdTZXQgbmV3ICcgKyBMb2dpbkNvbnN0YW50LnBhc3N3b3JkLnRvTG93ZXJDYXNlKCk7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgc2V0TmV3UGFzc3dvcmRCdXR0b24gPSAnU2V0IGFuZCAnICsgTG9naW5Db25zdGFudC5sb2dpbi50b0xvd2VyQ2FzZSgpICsgJyBhZ2Fpbic7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgcGFzc3dvcmRNdXN0Q29udGFpbiA9ICdUaGUgcGFzc3dvcmQgbXVzdCBjb250YWluOic7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgbWluaW11bUNoYXJhY3RlciA9ICdNaW5pbXVtIDggY2hhcmFjdGVycyc7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgb25lVXBwZXJjYXNlID0gJzEgVXBwZXJjYXNlJztcclxuICAgIHN0YXRpYyByZWFkb25seSBvbmVMb3dlcmNhc2UgPSAnMSBMb3dlcmNhc2UnO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IG9uZU51bWJlciA9ICcxIE51bWVyaWNhbCc7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgc3BlY2lhbENoYXJhY3RlciA9ICcxIFNwZWNpYWwgY2hhcmFjdGVyJztcclxuICAgIHN0YXRpYyByZWFkb25seSBwYXNzd29yZE5vdE1hdGNoaW5nID0gJ1RoZSBwYXNzd29yZHMgZG8gbm90IG1hdGNoLiBQbGVhc2UgdHJ5IGFnYWluLic7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgdXNlck5hbWVQYXNzd29yZEluY29ycmVjdCA9ICdJbmNvcnJlY3QgdXNlcm5hbWUgb3IgcGFzc3dvcmQnO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IHVzZXJDb2RlUGFzc3dvcmRJbmNvcnJlY3QgPSAnSW5jb3JyZWN0IHVzZXJjb2RlIG9yIHBhc3N3b3JkJztcclxuICAgIHN0YXRpYyByZWFkb25seSB1c2VyTm90Rm91bmQgPSAnTm8gcmVnaXN0ZXJlZCB1c2VyIGZvdW5kJztcclxuICAgIHN0YXRpYyByZWFkb25seSBsb2dpbkFnYWluID0gTG9naW5Db25zdGFudC5sb2dpbiArICcgYWdhaW4nO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IGZpcnN0VGltZUxvZ2luVXNlclRlbXBQYXNzd29yZE1zZyA9XHJcbiAgICAgICAgJ1lvdSBhcmUgbG9nZ2luZyBpbiBmb3IgdGhlIGZpcnN0IHRpbWUuIEtpbmRseSB1c2UgdGhlIHRlbXBvcmFyeSBwYXNzd29yZCBwcm92aWRlZCBpbiB0aGUgd2VsY29tZSBlbWFpbCwgdG8gbG9naW4gdG8geW91ciBhY2NvdW50LiAnO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IHRlbXBQYXNzd29yZEV4cGlyeUVycm9yID0gJ1RlbXBvcmFyeSBwYXNzd29yZCBoYXMgZXhwaXJlZCBhbmQgbXVzdCBiZSByZXNldCBieSBhbiBhZG1pbmlzdHJhdG9yLic7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgdGVtcFBhc3N3b3JkT25FeHBpcnlFcnJvck1zZyA9XHJcbiAgICAgICAgJ1Bhc3N3b3JkIGhhcyBleHBpcmVkLiBBIG5ldyBwYXNzd29yZCBoYXMgYmVlbiBzZW50IHRvIHlvdXIgcmVnaXN0ZXJlZCBlbWFpbC4gS2luZGx5IGxvZ2luIGFnYWluIHdpdGggbmV3IGxpbmsgYW5kIGNyZWRlbnRpYWxzLic7XHJcblxyXG4gICAgLy8gdmVyaWZ5IE9UUCAmIHNldCBuZXcgcGFzc3dvcmRcclxuICAgIHN0YXRpYyByZWFkb25seSB2ZXJpZnlBbmRTZXROZXdQYXNzd29yZGhlYWRpbmcgPSAnRW50ZXIgJyArIExvZ2luQ29uc3RhbnQub3RwICsgJyAmIHNldCBuZXcgcGFzc3dvcmQnO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IHZlcmlmeUFuZFNldE5ld1Bhc3N3b3JkTWVzc2FnZSA9ICdBbiAnICsgTG9naW5Db25zdGFudC5vdHAgKyAnIGhhcyBiZWVuIHN1Y2Nlc2Z1bGx5IGVtYWlsZWQgdG8gJztcclxuICAgIHN0YXRpYyByZWFkb25seSBwbGVhc2VFbnRlckl0QmVsb3cgPSAnLiBQbGVhc2UgZW50ZXIgaXQgYmVsb3cuJztcclxuICAgIHN0YXRpYyByZWFkb25seSByZWdlbmVyYXRlT3RwID0gJ1JlZ2VuZXJhdGUgJyArIExvZ2luQ29uc3RhbnQub3RwO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IGVudGVyT3RwID0gJ0VudGVyICcgKyBMb2dpbkNvbnN0YW50Lm90cDtcclxuICAgIHN0YXRpYyByZWFkb25seSBzdWJtaXQgPSAnU3VibWl0JztcclxuICAgIHN0YXRpYyByZWFkb25seSBhdHRlbXB0ID0gJ0F0dGVtcHQnO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IGF0dGVtcHRMaW1pdEV4Y2VlZGVkID1cclxuICAgICAgICAnWW91IGhhdmUgZXhjZWVkZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGFsbG93ZWQgYXR0ZW1wdHMuIFBsZWFzZSB0cnkgYWdhaW4gYWZ0ZXIgMTUgbWludXRlcy4nO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IGF0dGVtcHRNZXNzYWdlID0gJyBvZiA1LiBUaGUgT1RQIGVudGVyZWQgaXMgaW5jb3JyZWN0LiBQbGVhc2UgdHJ5IGFnYWluIHdpdGggdGhlIHJpZ2h0IG9uZS4nO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IHNlc3Npb25FeHBpcmVkID0gJ1RoZSBzZXNzaW9uIGhhcyBleHBpcmVkLiBQbGVhc2UgdHJ5IGFnYWluLic7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgc2Vzc2lvbkV4cGlyZWRFcnJvciA9ICdZb3VyIHNlc3Npb24gaGFzIGV4cGlyZWQuIFBsZWFzZSBsb2dpbiBhZ2Fpbic7XHJcblxyXG4gICAgLy8gZm9yZ290IHBhc3N3b3JkXHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgZm9yZ290UGFzc3dvcmRIZWFkaW5nID0gJ0ZvcmdvdCB5b3VyIHBhc3N3b3JkPyc7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgUGxlYXNlRW50ZXJZb3VyVXNlcm5hbWVNZXNzYWdlID0gJ1BsZWFzZSBlbnRlciB5b3VyIHVzZXJuYW1lLic7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgUGxlYXNlRW50ZXJZb3VyVXNlcmNvZGVNZXNzYWdlID0gJ1BsZWFzZSBlbnRlciB5b3VyIHVzZXJjb2RlLic7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgZm9yZ290UGFzc3dvcmRCdXR0b24gPSAnR2V0ICcgKyBMb2dpbkNvbnN0YW50Lm90cDtcclxuICAgIHN0YXRpYyByZWFkb25seSBhcGlGYWlsRXJyb3JNZXNzYWdlID0gJ1VuYWJsZSB0byBjb25uZWN0IHRvIHNlcnZlciByaWdodCBub3cuIFBsZWFzZSB0cnkgYWZ0ZXIgc29tZSB0aW1lLic7XHJcblxyXG4gICAgLy91cmxcclxuICAgIHN0YXRpYyByZWFkb25seSBzZXROZXdQYXNzd29yZFVybCA9ICcvc2V0LW5ldy1wYXNzd29yZCc7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgZm9yZ29ydFBhc3N3b3JkUGFnZVVybCA9ICcvZm9yZ290LXBhc3N3b3JkJztcclxuICAgIHN0YXRpYyByZWFkb25seSB2ZXJpZnlBbmRTZXROZXdQYXNzd29yZFVybCA9ICcvdmVyaWZ5LWFuZC1zZXQtbmV3LXBhc3N3b3JkJztcclxuICAgIHN0YXRpYyByZWFkb25seSBsb2dpblBhZ2VVcmwgPSAnL2xvZ2luJztcclxuICAgIHN0YXRpYyByZWFkb25seSBjb1BpbG90bG9naW5QYWdlVXJsID0gJy9jby1waWxvdC1sb2dpbic7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgd2VsY29tZVNjcnJlZW5VcmwgPSAnL3dlbGNvbWUtc2NyZWVuJztcclxuICAgIHN0YXRpYyByZWFkb25seSBob21lUGFnZVVybCA9ICcvZGFzaGJvYXJkJztcclxuICAgIHN0YXRpYyByZWFkb25seSBzdGF0aW9uU2V0dGluZ1VybCA9ICcvc3RhdGlvbi1zZXR0aW5ncyc7XHJcbn1cclxuIl19