@annalib/anna-cognito-lib 3.0.13 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/anna-login/anna-login.component.mjs +3 -3
- package/esm2022/lib/components/forgot-password/forgot-password.component.mjs +12 -44
- package/esm2022/lib/components/password-matching/password-matching.component.mjs +3 -3
- package/esm2022/lib/components/verify-and-set-new-password/verify-and-set-new-password.component.mjs +3 -5
- package/esm2022/lib/config/acl-service.token.mjs +1 -1
- package/esm2022/lib/config/auth-service.token.mjs +1 -1
- package/esm2022/lib/config/config-service.token.mjs +1 -1
- package/esm2022/lib/constants/loginConstant.mjs +2 -4
- package/esm2022/lib/services/acl.service.mjs +3 -5
- package/esm2022/lib/services/auth.service.mjs +7 -14
- package/esm2022/public-api.mjs +1 -2
- package/fesm2022/annalib-anna-cognito-lib.mjs +26 -119
- package/fesm2022/annalib-anna-cognito-lib.mjs.map +1 -1
- package/lib/components/forgot-password/forgot-password.component.d.ts +1 -3
- package/lib/config/acl-service.token.d.ts +5 -0
- package/lib/config/auth-service.token.d.ts +2 -1
- package/lib/config/config-service.token.d.ts +0 -1
- package/lib/constants/loginConstant.d.ts +1 -3
- package/lib/services/acl.service.d.ts +1 -1
- package/lib/services/auth.service.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +0 -1
- package/esm2022/lib/components/catc-login/catc-login.component.mjs +0 -62
- package/lib/components/catc-login/catc-login.component.d.ts +0 -20
package/esm2022/lib/components/verify-and-set-new-password/verify-and-set-new-password.component.mjs
CHANGED
|
@@ -58,18 +58,16 @@ export class VerifyAndSetNewPasswordComponent {
|
|
|
58
58
|
else {
|
|
59
59
|
this.passwordNotMatching = false;
|
|
60
60
|
this.authService.forgotPasswordAndGlobalSignoutLoader = true;
|
|
61
|
-
console.log("reacer here");
|
|
62
61
|
if (this.authService.verifyAndSetNewPasswordButton === LoginConstant.regenerateOtp) {
|
|
63
62
|
this.router.navigate([LoginConstant.forgortPasswordPageUrl]);
|
|
64
63
|
}
|
|
65
64
|
else if (this.password.value) {
|
|
66
65
|
this.authService.verifyCode(this.verifyOtpForm.controls.otp.value, this.password.value);
|
|
67
66
|
}
|
|
68
|
-
console.log("reacer here");
|
|
69
67
|
}
|
|
70
68
|
}
|
|
71
69
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VerifyAndSetNewPasswordComponent, deps: [{ token: i1.AnnaLibAuthService }, { token: i2.FormBuilder }, { token: i3.Router }, { token: CONFIG_SERVICE_TOKEN }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
72
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: VerifyAndSetNewPasswordComponent, isStandalone: true, selector: "anna-cognito-lib-verify-and-set-new-password", ngImport: i0, template: "<div\r\n class=\"main\"\r\n [ngClass]=\"{ 'main-height': authService.verifyAndSetNewPasswordErrorMessage }\"\r\n>\r\n <section
|
|
70
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: VerifyAndSetNewPasswordComponent, isStandalone: true, selector: "anna-cognito-lib-verify-and-set-new-password", ngImport: i0, template: "<div\r\n class=\"main\"\r\n [ngClass]=\"{ 'main-height': authService.verifyAndSetNewPasswordErrorMessage }\"\r\n>\r\n <section>\r\n <header>\r\n <img\r\n [src]=\"consumingProjectConfigService.appGenericConfig.loginPageLogoImgUrl\"\r\n alt=\"Anna Logo\"\r\n />\r\n </header>\r\n <article>\r\n <span\r\n class=\"back-btn\"\r\n [routerLink]=\"constants.forgortPasswordPageUrl\"\r\n >\r\n <i class=\"mdi mdi-arrow-left\"></i>\r\n </span>\r\n\r\n <form [formGroup]=\"verifyOtpForm\">\r\n <div\r\n class=\"pull-left\"\r\n id=\"heading\"\r\n >\r\n {{ constants.verifyAndSetNewPasswordheading }}\r\n </div>\r\n <p>{{ authService.verifyAndSetNewPasswordMessage }}</p>\r\n\r\n <div\r\n id=\"alert-div\"\r\n *ngIf=\"authService.verifyAndSetNewPasswordErrorMessage\"\r\n >\r\n <div id=\"icon-div\">\r\n <span class=\"material-icons\">report</span>\r\n </div>\r\n <p id=\"display-block-msg\">{{ authService.verifyAndSetNewPasswordErrorMessage }}</p>\r\n </div>\r\n\r\n <input\r\n type=\"text\"\r\n tabindex=\"1\"\r\n formControlName=\"otp\"\r\n [placeholder]=\"constants.enterOtp\"\r\n autocomplete=\"new-field-name\"\r\n [ngClass]=\"{ 'input-invalid': authService.verifyAndSetNewPasswordErrorMessage }\"\r\n />\r\n\r\n <anna-cognito-lib-password-matching\r\n (passwordChange)=\"onPasswordChange($event)\"\r\n (confirmPasswordChange)=\"onConfirmPasswordChange($event)\"\r\n [passwordNotMatching]=\"passwordNotMatching\"\r\n >\r\n </anna-cognito-lib-password-matching>\r\n <button\r\n tabindex=\"4\"\r\n class=\"login-btn\"\r\n type=\"submit\"\r\n [disabled]=\"authService.sessionLocked || !isFormValid()\"\r\n (click)=\"onVerifyOtpSettingNewPassword()\"\r\n annaCognitoSpinnerBtn\r\n [spinnerButtonLoading]=\"authService.forgotPasswordAndGlobalSignoutLoader\"\r\n [spinnerButtonText]=\"authService.verifyAndSetNewPasswordButton\"\r\n ></button>\r\n </form>\r\n </article>\r\n <footer>\r\n <anna-cognito-lib-powered-by-logo-template> </anna-cognito-lib-powered-by-logo-template>\r\n </footer>\r\n </section>\r\n</div>\r\n\r\n<div class=\"page-footer\">\r\n <anna-cognito-lib-surewaves-year-logo></anna-cognito-lib-surewaves-year-logo>\r\n <anna-cognito-lib-version-and-term-policy></anna-cognito-lib-version-and-term-policy>\r\n</div>\r\n", styles: ["@keyframes show{0%{opacity:0}50%{opacity:.5}to{opacity:1}}html{overflow-y:scroll}.main{background-color:#fff;background-size:cover;font-family:Roboto;height:calc(100vh - 50px)}section{top:45%;left:50%;position:absolute;transform:translate(-50%,-50%);width:20.875rem;animation:show .5s 1;-moz-animation:show .5s 1}.container{width:100%;height:100%;overflow:auto}header{height:auto;width:100%;text-align:center}article{margin-top:.9375rem;margin-bottom:.9375rem;border:1px solid #979797;background-color:#f4f4f4;padding:2rem 1.375rem;border-radius:.375rem;box-shadow:0 .125rem .4375rem #0000001a}article .sub-title{color:#6e6e6e;font-family:Roboto;font-size:1.25rem;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}article #heading{color:#212121;text-align:center;margin-bottom:1.5rem;font-family:Roboto;font-size:1.125rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}p{text-align:center;margin-bottom:1rem}#alert-div{padding:.3125rem 0;margin-bottom:.75rem;border-radius:.25rem;border:solid 1px #f9b3ae;background-color:#fde4e3;justify-content:left;align-items:center;display:flex}#alert-div .material-icons{color:#f44336;font-size:1rem;margin-left:.5rem}#alert-div p{margin-left:4px!important;margin:0;color:#4a4a4a;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}#info-div{padding:6px 0;margin-bottom:.75rem;border-radius:.25rem;border:1px solid #268bff;background:#e3f0ff}#info-div .mdi-info{color:#268bff;font-size:1rem;margin-left:6px}#info-div p{margin:-1.5625rem 0 0 1.8rem;padding:.3125rem 0;color:#4a4a4a;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}footer{align-items:baseline;color:#6e6e6e;opacity:.9;display:flex;font-family:Ubuntu;font-size:1.25rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;justify-content:center}footer span{font-size:1.5625rem;margin-left:.25rem}input[type=password],input[type=text],input[type=number]{width:100%;height:30px;padding:.75rem 1rem;border:1px solid #979797;margin-bottom:.625rem;border-radius:.375rem}.login-btn{width:100%;height:2.5rem;border:0;color:#fff;background-color:#268bff;border-radius:.375rem;font-size:1rem}.login-btn:hover{background-color:#4099ff;cursor:pointer}.login-btn:disabled{background-color:#ccc;color:#fff;cursor:not-allowed}.input-invalid{border:1px solid #fe3824!important}input[type=password].ng-dirty.ng-invalid,input[type=text].ng-dirty.ng-invalid{border:1px solid #fe3824}input[type=submit]:focus,input[type=password]:focus,input[type=text]:focus,input[type=checkbox]:focus,button:focus{outline:none}input::placeholder{color:#a4a4a4}:host ::ng-deep .verison-and-policy{color:#8bac2a}.main{height:calc(115vh - 50px)}.main-height{height:calc(125vh - 50px)}section{top:52%}p{color:#4a4a4a;font-family:Roboto;font-size:1rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}input[type=text]{margin-bottom:24px}input[type=text]:focus{box-shadow:none}.back-btn{width:27px;height:27px;top:-27px;left:-15px;cursor:pointer;position:relative;color:#268bff;float:left;border-radius:50%;border:1px solid #268bff;background-color:#f4f4f4}.back-btn i{position:absolute;top:.1875rem;left:.25rem}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PasswordMatchingComponent, selector: "anna-cognito-lib-password-matching", inputs: ["passwordNotMatching"], outputs: ["passwordChange", "confirmPasswordChange"] }, { kind: "directive", type: SpinnerButtonDirective, selector: "[annaCognitoSpinnerBtn]", inputs: ["spinnerButtonLoading", "spinnerButtonText"] }, { kind: "component", type: PoweredByLogoTemplateComponent, selector: "anna-cognito-lib-powered-by-logo-template" }, { kind: "component", type: SurewavesYearLogoComponent, selector: "anna-cognito-lib-surewaves-year-logo" }, { kind: "component", type: VersionAndTermPolicyComponent, selector: "anna-cognito-lib-version-and-term-policy" }] }); }
|
|
73
71
|
}
|
|
74
72
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VerifyAndSetNewPasswordComponent, decorators: [{
|
|
75
73
|
type: Component,
|
|
@@ -84,9 +82,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
84
82
|
PoweredByLogoTemplateComponent,
|
|
85
83
|
SurewavesYearLogoComponent,
|
|
86
84
|
VersionAndTermPolicyComponent,
|
|
87
|
-
], template: "<div\r\n class=\"main\"\r\n [ngClass]=\"{ 'main-height': authService.verifyAndSetNewPasswordErrorMessage }\"\r\n>\r\n <section
|
|
85
|
+
], template: "<div\r\n class=\"main\"\r\n [ngClass]=\"{ 'main-height': authService.verifyAndSetNewPasswordErrorMessage }\"\r\n>\r\n <section>\r\n <header>\r\n <img\r\n [src]=\"consumingProjectConfigService.appGenericConfig.loginPageLogoImgUrl\"\r\n alt=\"Anna Logo\"\r\n />\r\n </header>\r\n <article>\r\n <span\r\n class=\"back-btn\"\r\n [routerLink]=\"constants.forgortPasswordPageUrl\"\r\n >\r\n <i class=\"mdi mdi-arrow-left\"></i>\r\n </span>\r\n\r\n <form [formGroup]=\"verifyOtpForm\">\r\n <div\r\n class=\"pull-left\"\r\n id=\"heading\"\r\n >\r\n {{ constants.verifyAndSetNewPasswordheading }}\r\n </div>\r\n <p>{{ authService.verifyAndSetNewPasswordMessage }}</p>\r\n\r\n <div\r\n id=\"alert-div\"\r\n *ngIf=\"authService.verifyAndSetNewPasswordErrorMessage\"\r\n >\r\n <div id=\"icon-div\">\r\n <span class=\"material-icons\">report</span>\r\n </div>\r\n <p id=\"display-block-msg\">{{ authService.verifyAndSetNewPasswordErrorMessage }}</p>\r\n </div>\r\n\r\n <input\r\n type=\"text\"\r\n tabindex=\"1\"\r\n formControlName=\"otp\"\r\n [placeholder]=\"constants.enterOtp\"\r\n autocomplete=\"new-field-name\"\r\n [ngClass]=\"{ 'input-invalid': authService.verifyAndSetNewPasswordErrorMessage }\"\r\n />\r\n\r\n <anna-cognito-lib-password-matching\r\n (passwordChange)=\"onPasswordChange($event)\"\r\n (confirmPasswordChange)=\"onConfirmPasswordChange($event)\"\r\n [passwordNotMatching]=\"passwordNotMatching\"\r\n >\r\n </anna-cognito-lib-password-matching>\r\n <button\r\n tabindex=\"4\"\r\n class=\"login-btn\"\r\n type=\"submit\"\r\n [disabled]=\"authService.sessionLocked || !isFormValid()\"\r\n (click)=\"onVerifyOtpSettingNewPassword()\"\r\n annaCognitoSpinnerBtn\r\n [spinnerButtonLoading]=\"authService.forgotPasswordAndGlobalSignoutLoader\"\r\n [spinnerButtonText]=\"authService.verifyAndSetNewPasswordButton\"\r\n ></button>\r\n </form>\r\n </article>\r\n <footer>\r\n <anna-cognito-lib-powered-by-logo-template> </anna-cognito-lib-powered-by-logo-template>\r\n </footer>\r\n </section>\r\n</div>\r\n\r\n<div class=\"page-footer\">\r\n <anna-cognito-lib-surewaves-year-logo></anna-cognito-lib-surewaves-year-logo>\r\n <anna-cognito-lib-version-and-term-policy></anna-cognito-lib-version-and-term-policy>\r\n</div>\r\n", styles: ["@keyframes show{0%{opacity:0}50%{opacity:.5}to{opacity:1}}html{overflow-y:scroll}.main{background-color:#fff;background-size:cover;font-family:Roboto;height:calc(100vh - 50px)}section{top:45%;left:50%;position:absolute;transform:translate(-50%,-50%);width:20.875rem;animation:show .5s 1;-moz-animation:show .5s 1}.container{width:100%;height:100%;overflow:auto}header{height:auto;width:100%;text-align:center}article{margin-top:.9375rem;margin-bottom:.9375rem;border:1px solid #979797;background-color:#f4f4f4;padding:2rem 1.375rem;border-radius:.375rem;box-shadow:0 .125rem .4375rem #0000001a}article .sub-title{color:#6e6e6e;font-family:Roboto;font-size:1.25rem;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}article #heading{color:#212121;text-align:center;margin-bottom:1.5rem;font-family:Roboto;font-size:1.125rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}p{text-align:center;margin-bottom:1rem}#alert-div{padding:.3125rem 0;margin-bottom:.75rem;border-radius:.25rem;border:solid 1px #f9b3ae;background-color:#fde4e3;justify-content:left;align-items:center;display:flex}#alert-div .material-icons{color:#f44336;font-size:1rem;margin-left:.5rem}#alert-div p{margin-left:4px!important;margin:0;color:#4a4a4a;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}#info-div{padding:6px 0;margin-bottom:.75rem;border-radius:.25rem;border:1px solid #268bff;background:#e3f0ff}#info-div .mdi-info{color:#268bff;font-size:1rem;margin-left:6px}#info-div p{margin:-1.5625rem 0 0 1.8rem;padding:.3125rem 0;color:#4a4a4a;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}footer{align-items:baseline;color:#6e6e6e;opacity:.9;display:flex;font-family:Ubuntu;font-size:1.25rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;justify-content:center}footer span{font-size:1.5625rem;margin-left:.25rem}input[type=password],input[type=text],input[type=number]{width:100%;height:30px;padding:.75rem 1rem;border:1px solid #979797;margin-bottom:.625rem;border-radius:.375rem}.login-btn{width:100%;height:2.5rem;border:0;color:#fff;background-color:#268bff;border-radius:.375rem;font-size:1rem}.login-btn:hover{background-color:#4099ff;cursor:pointer}.login-btn:disabled{background-color:#ccc;color:#fff;cursor:not-allowed}.input-invalid{border:1px solid #fe3824!important}input[type=password].ng-dirty.ng-invalid,input[type=text].ng-dirty.ng-invalid{border:1px solid #fe3824}input[type=submit]:focus,input[type=password]:focus,input[type=text]:focus,input[type=checkbox]:focus,button:focus{outline:none}input::placeholder{color:#a4a4a4}:host ::ng-deep .verison-and-policy{color:#8bac2a}.main{height:calc(115vh - 50px)}.main-height{height:calc(125vh - 50px)}section{top:52%}p{color:#4a4a4a;font-family:Roboto;font-size:1rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}input[type=text]{margin-bottom:24px}input[type=text]:focus{box-shadow:none}.back-btn{width:27px;height:27px;top:-27px;left:-15px;cursor:pointer;position:relative;color:#268bff;float:left;border-radius:50%;border:1px solid #268bff;background-color:#f4f4f4}.back-btn i{position:absolute;top:.1875rem;left:.25rem}\n"] }]
|
|
88
86
|
}], ctorParameters: function () { return [{ type: i1.AnnaLibAuthService }, { type: i2.FormBuilder }, { type: i3.Router }, { type: undefined, decorators: [{
|
|
89
87
|
type: Inject,
|
|
90
88
|
args: [CONFIG_SERVICE_TOKEN]
|
|
91
89
|
}] }]; } });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5LWFuZC1zZXQtbmV3LXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29nbml0by1saWIvc3JjL2xpYi9jb21wb25lbnRzL3ZlcmlmeS1hbmQtc2V0LW5ldy1wYXNzd29yZC92ZXJpZnktYW5kLXNldC1uZXctcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb2duaXRvLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdmVyaWZ5LWFuZC1zZXQtbmV3LXBhc3N3b3JkL3ZlcmlmeS1hbmQtc2V0LW5ldy1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzREFBc0Q7QUFDdEQsNEJBQTRCO0FBQzVCLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBYSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEcsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQWtCLE1BQU0sbUNBQW1DLENBQUM7QUFDekYsaUNBQWlDO0FBQ2pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsOEJBQThC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eUdBNEVBLHc1SERuRFEsT0FBTyxvRkFDUCxVQUFVLDJOQUNWLFdBQVcsMnBCQUNYLG1CQUFtQixnVkFDbkIsSUFBSSw2RkFDSix5QkFBeUIsc0tBQ3pCLHNCQUFzQiwySEFDdEIsOEJBQThCLHNGQUM5QiwwQkFBMEIsaUZBQzFCLDZCQUE2Qjs7NEZBR3hCLGdDQUFnQztrQkFsQjVDLFNBQVM7K0JBQ0ksOENBQThDLGNBRzVDLElBQUksV0FDUDt3QkFDTCxPQUFPO3dCQUNQLFVBQVU7d0JBQ1YsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLElBQUk7d0JBQ0oseUJBQXlCO3dCQUN6QixzQkFBc0I7d0JBQ3RCLDhCQUE4Qjt3QkFDOUIsMEJBQTBCO3dCQUMxQiw2QkFBNkI7cUJBQ2hDOzswQkFhSSxNQUFNOzJCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcyAqL1xyXG4vLyBBbmd1bGFyIGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IE5nQ2xhc3MsIE5nSWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBSb3V0ZXIsIFJvdXRlckxpbmsgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcblxyXG5pbXBvcnQgeyBDT05GSUdfU0VSVklDRV9UT0tFTiwgSUNvbmZpZ1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29uZmlnL2NvbmZpZy1zZXJ2aWNlLnRva2VuXCI7XHJcbi8vIFVzZXIgZGVmaW5lZCBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBMb2dpbkNvbnN0YW50IH0gZnJvbSBcIi4uLy4uL2NvbnN0YW50cy9sb2dpbkNvbnN0YW50XCI7XHJcbmltcG9ydCB7IFNwaW5uZXJCdXR0b25EaXJlY3RpdmUgfSBmcm9tIFwiLi4vLi4vZGlyZWN0aXZlcy9zcGlubmVyLWJ1dHRvbi9zcGlubmVyLWJ1dHRvbi5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgQW5uYUxpYkF1dGhTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZVwiO1xyXG5pbXBvcnQgeyBQYXNzd29yZE1hdGNoaW5nQ29tcG9uZW50IH0gZnJvbSBcIi4uL3Bhc3N3b3JkLW1hdGNoaW5nL3Bhc3N3b3JkLW1hdGNoaW5nLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBQb3dlcmVkQnlMb2dvVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tIFwiLi4vcG93ZXJlZC1ieS1sb2dvLXRlbXBsYXRlL3Bvd2VyZWQtYnktbG9nby10ZW1wbGF0ZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgU3VyZXdhdmVzWWVhckxvZ29Db21wb25lbnQgfSBmcm9tIFwiLi4vc3VyZXdhdmVzLXllYXItbG9nby9zdXJld2F2ZXMteWVhci1sb2dvLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBWZXJzaW9uQW5kVGVybVBvbGljeUNvbXBvbmVudCB9IGZyb20gXCIuLi92ZXJzaW9uLWFuZC10ZXJtLXBvbGljeS92ZXJzaW9uLWFuZC10ZXJtLXBvbGljeS5jb21wb25lbnRcIjtcclxuXHJcbnR5cGUgUGFzc3dvcmRUeXBlID0geyB2YWx1ZTogc3RyaW5nIHwgbnVsbDsgc3RhdHVzOiBzdHJpbmcgfCBudWxsIH07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImFubmEtY29nbml0by1saWItdmVyaWZ5LWFuZC1zZXQtbmV3LXBhc3N3b3JkXCIsXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3ZlcmlmeS1hbmQtc2V0LW5ldy1wYXNzd29yZC5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgc3R5bGVVcmxzOiBbXCIuL3ZlcmlmeS1hbmQtc2V0LW5ldy1wYXNzd29yZC5jb21wb25lbnQuc2Nzc1wiXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgTmdDbGFzcyxcclxuICAgICAgICBSb3V0ZXJMaW5rLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgTmdJZixcclxuICAgICAgICBQYXNzd29yZE1hdGNoaW5nQ29tcG9uZW50LFxyXG4gICAgICAgIFNwaW5uZXJCdXR0b25EaXJlY3RpdmUsXHJcbiAgICAgICAgUG93ZXJlZEJ5TG9nb1RlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIFN1cmV3YXZlc1llYXJMb2dvQ29tcG9uZW50LFxyXG4gICAgICAgIFZlcnNpb25BbmRUZXJtUG9saWN5Q29tcG9uZW50LFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFZlcmlmeUFuZFNldE5ld1Bhc3N3b3JkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIHZlcmlmeU90cEZvcm06IEZvcm1Hcm91cDtcclxuICAgIHBhc3N3b3JkTm90TWF0Y2hpbmcgPSBmYWxzZTtcclxuICAgIGNvbnN0YW50czogdHlwZW9mIExvZ2luQ29uc3RhbnQ7XHJcbiAgICBwYXNzd29yZDogUGFzc3dvcmRUeXBlID0geyB2YWx1ZTogbnVsbCwgc3RhdHVzOiBudWxsIH07XHJcbiAgICBjb25maXJtUGFzc3dvcmQ6IFBhc3N3b3JkVHlwZSA9IHsgdmFsdWU6IG51bGwsIHN0YXR1czogbnVsbCB9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyBhdXRoU2VydmljZTogQW5uYUxpYkF1dGhTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgQEluamVjdChDT05GSUdfU0VSVklDRV9UT0tFTikgcHVibGljIGNvbnN1bWluZ1Byb2plY3RDb25maWdTZXJ2aWNlOiBJQ29uZmlnU2VydmljZSxcclxuICAgICkge31cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLmNvbnN0YW50cyA9IExvZ2luQ29uc3RhbnQ7XHJcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS52ZXJpZnlBbmRTZXROZXdQYXNzd29yZEJ1dHRvbiA9IExvZ2luQ29uc3RhbnQuc2V0TmV3UGFzc3dvcmRCdXR0b247XHJcbiAgICAgICAgdGhpcy5vbkludGlhbGlzZUZvcm0oKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkludGlhbGlzZUZvcm0oKSB7XHJcbiAgICAgICAgdGhpcy52ZXJpZnlPdHBGb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgICAgICAgIG90cDogW251bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNGb3JtVmFsaWQoKSB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICB0aGlzLnBhc3N3b3JkLnN0YXR1cyA9PT0gXCJWQUxJRFwiICYmXHJcbiAgICAgICAgICAgIHRoaXMuY29uZmlybVBhc3N3b3JkLnN0YXR1cyA9PT0gXCJWQUxJRFwiICYmXHJcbiAgICAgICAgICAgIHRoaXMudmVyaWZ5T3RwRm9ybS5jb250cm9scy5vdHAudmFsaWRcclxuICAgICAgICApIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBvblBhc3N3b3JkQ2hhbmdlKCRldmVudDogUGFzc3dvcmRUeXBlKSB7XHJcbiAgICAgICAgdGhpcy5wYXNzd29yZCA9ICRldmVudDtcclxuICAgIH1cclxuXHJcbiAgICBvbkNvbmZpcm1QYXNzd29yZENoYW5nZSgkZXZlbnQ6IFBhc3N3b3JkVHlwZSkge1xyXG4gICAgICAgIHRoaXMuY29uZmlybVBhc3N3b3JkID0gJGV2ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIG9uVmVyaWZ5T3RwU2V0dGluZ05ld1Bhc3N3b3JkKCkge1xyXG4gICAgICAgIGlmICh0aGlzLnBhc3N3b3JkLnZhbHVlICE9PSB0aGlzLmNvbmZpcm1QYXNzd29yZC52YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLnBhc3N3b3JkTm90TWF0Y2hpbmcgPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMucGFzc3dvcmROb3RNYXRjaGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmZvcmdvdFBhc3N3b3JkQW5kR2xvYmFsU2lnbm91dExvYWRlciA9IHRydWU7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwicmVhY2VyIGhlcmVcIilcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXV0aFNlcnZpY2UudmVyaWZ5QW5kU2V0TmV3UGFzc3dvcmRCdXR0b24gPT09IExvZ2luQ29uc3RhbnQucmVnZW5lcmF0ZU90cCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW0xvZ2luQ29uc3RhbnQuZm9yZ29ydFBhc3N3b3JkUGFnZVVybF0pO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMucGFzc3dvcmQudmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2UudmVyaWZ5Q29kZSh0aGlzLnZlcmlmeU90cEZvcm0uY29udHJvbHMub3RwLnZhbHVlLCB0aGlzLnBhc3N3b3JkLnZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgY29uc29sZS5sb2coXCJyZWFjZXIgaGVyZVwiKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gICAgY2xhc3M9XCJtYWluXCJcclxuICAgIFtuZ0NsYXNzXT1cInsgJ21haW4taGVpZ2h0JzogYXV0aFNlcnZpY2UudmVyaWZ5QW5kU2V0TmV3UGFzc3dvcmRFcnJvck1lc3NhZ2UgfVwiXHJcbj5cclxuICAgIDxzZWN0aW9uIFtuZ0NsYXNzXT1cInsgJ2NhdGMtZm9yZ2V0LXBhc3N3b3JkJzogY29uc3VtaW5nUHJvamVjdENvbmZpZ1NlcnZpY2U/LmlzQ2F0Y0FwcGxpY2F0aW9uIH1cIj5cclxuICAgICAgICA8aGVhZGVyPlxyXG4gICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICBbc3JjXT1cImNvbnN1bWluZ1Byb2plY3RDb25maWdTZXJ2aWNlLmFwcEdlbmVyaWNDb25maWcubG9naW5QYWdlTG9nb0ltZ1VybFwiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJBbm5hIExvZ29cIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgIDwvaGVhZGVyPlxyXG4gICAgICAgIDxhcnRpY2xlPlxyXG4gICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJiYWNrLWJ0blwiXHJcbiAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJjb25zdGFudHMuZm9yZ29ydFBhc3N3b3JkUGFnZVVybFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwibWRpIG1kaS1hcnJvdy1sZWZ0XCI+PC9pPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cInZlcmlmeU90cEZvcm1cIj5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInB1bGwtbGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJoZWFkaW5nXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICB7eyBjb25zdGFudHMudmVyaWZ5QW5kU2V0TmV3UGFzc3dvcmRoZWFkaW5nIH19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxwPnt7IGF1dGhTZXJ2aWNlLnZlcmlmeUFuZFNldE5ld1Bhc3N3b3JkTWVzc2FnZSB9fTwvcD5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJhbGVydC1kaXZcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYXV0aFNlcnZpY2UudmVyaWZ5QW5kU2V0TmV3UGFzc3dvcmRFcnJvck1lc3NhZ2VcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJpY29uLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+cmVwb3J0PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIGlkPVwiZGlzcGxheS1ibG9jay1tc2dcIj57eyBhdXRoU2VydmljZS52ZXJpZnlBbmRTZXROZXdQYXNzd29yZEVycm9yTWVzc2FnZSB9fTwvcD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm90cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImNvbnN0YW50cy5lbnRlck90cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwibmV3LWZpZWxkLW5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lucHV0LWludmFsaWQnOiBhdXRoU2VydmljZS52ZXJpZnlBbmRTZXROZXdQYXNzd29yZEVycm9yTWVzc2FnZSB9XCJcclxuICAgICAgICAgICAgICAgIC8+XHJcblxyXG4gICAgICAgICAgICAgICAgPGFubmEtY29nbml0by1saWItcGFzc3dvcmQtbWF0Y2hpbmdcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2NhdGMtZm9yZ2V0LXBhc3N3b3JkLW1hdGNoaW5nJzogY29uc3VtaW5nUHJvamVjdENvbmZpZ1NlcnZpY2U/LmlzQ2F0Y0FwcGxpY2F0aW9uIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgIChwYXNzd29yZENoYW5nZSk9XCJvblBhc3N3b3JkQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjb25maXJtUGFzc3dvcmRDaGFuZ2UpPVwib25Db25maXJtUGFzc3dvcmRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Bhc3N3b3JkTm90TWF0Y2hpbmddPVwicGFzc3dvcmROb3RNYXRjaGluZ1wiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8L2FubmEtY29nbml0by1saWItcGFzc3dvcmQtbWF0Y2hpbmc+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCI0XCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxvZ2luLWJ0blwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImF1dGhTZXJ2aWNlLnNlc3Npb25Mb2NrZWQgfHwgIWlzRm9ybVZhbGlkKClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblZlcmlmeU90cFNldHRpbmdOZXdQYXNzd29yZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICBhbm5hQ29nbml0b1NwaW5uZXJCdG5cclxuICAgICAgICAgICAgICAgICAgICBbc3Bpbm5lckJ1dHRvbkxvYWRpbmddPVwiYXV0aFNlcnZpY2UuZm9yZ290UGFzc3dvcmRBbmRHbG9iYWxTaWdub3V0TG9hZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICBbc3Bpbm5lckJ1dHRvblRleHRdPVwiYXV0aFNlcnZpY2UudmVyaWZ5QW5kU2V0TmV3UGFzc3dvcmRCdXR0b25cIlxyXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgPC9hcnRpY2xlPlxyXG4gICAgICAgIDxmb290ZXI+XHJcbiAgICAgICAgICAgIDxhbm5hLWNvZ25pdG8tbGliLXBvd2VyZWQtYnktbG9nby10ZW1wbGF0ZT4gPC9hbm5hLWNvZ25pdG8tbGliLXBvd2VyZWQtYnktbG9nby10ZW1wbGF0ZT5cclxuICAgICAgICA8L2Zvb3Rlcj5cclxuICAgIDwvc2VjdGlvbj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwicGFnZS1mb290ZXJcIj5cclxuICAgIDxhbm5hLWNvZ25pdG8tbGliLXN1cmV3YXZlcy15ZWFyLWxvZ28+PC9hbm5hLWNvZ25pdG8tbGliLXN1cmV3YXZlcy15ZWFyLWxvZ28+XHJcbiAgICA8YW5uYS1jb2duaXRvLWxpYi12ZXJzaW9uLWFuZC10ZXJtLXBvbGljeT48L2FubmEtY29nbml0by1saWItdmVyc2lvbi1hbmQtdGVybS1wb2xpY3k+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5LWFuZC1zZXQtbmV3LXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29nbml0by1saWIvc3JjL2xpYi9jb21wb25lbnRzL3ZlcmlmeS1hbmQtc2V0LW5ldy1wYXNzd29yZC92ZXJpZnktYW5kLXNldC1uZXctcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb2duaXRvLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdmVyaWZ5LWFuZC1zZXQtbmV3LXBhc3N3b3JkL3ZlcmlmeS1hbmQtc2V0LW5ldy1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzREFBc0Q7QUFDdEQsNEJBQTRCO0FBQzVCLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBYSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEcsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQWtCLE1BQU0sbUNBQW1DLENBQUM7QUFDekYsaUNBQWlDO0FBQ2pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsOEJBQThC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S0FDekIsc0JBQXNCLDJIQUN0Qiw4QkFBOEIsc0ZBQzlCLDBCQUEwQixpRkFDMUIsNkJBQTZCOzs0RkFHeEIsZ0NBQWdDO2tCQWxCNUMsU0FBUzsrQkFDSSw4Q0FBOEMsY0FHNUMsSUFBSSxXQUNQO3dCQUNMLE9BQU87d0JBQ1AsVUFBVTt3QkFDVixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsSUFBSTt3QkFDSix5QkFBeUI7d0JBQ3pCLHNCQUFzQjt3QkFDdEIsOEJBQThCO3dCQUM5QiwwQkFBMEI7d0JBQzFCLDZCQUE2QjtxQkFDaEM7OzBCQWFJLE1BQU07MkJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzICovXHJcbi8vIEFuZ3VsYXIgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgTmdDbGFzcywgTmdJZiB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFJvdXRlciwgUm91dGVyTGluayB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbmltcG9ydCB7IENPTkZJR19TRVJWSUNFX1RPS0VOLCBJQ29uZmlnU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb25maWcvY29uZmlnLXNlcnZpY2UudG9rZW5cIjtcclxuLy8gVXNlciBkZWZpbmVkIGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IExvZ2luQ29uc3RhbnQgfSBmcm9tIFwiLi4vLi4vY29uc3RhbnRzL2xvZ2luQ29uc3RhbnRcIjtcclxuaW1wb3J0IHsgU3Bpbm5lckJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gXCIuLi8uLi9kaXJlY3RpdmVzL3NwaW5uZXItYnV0dG9uL3NwaW5uZXItYnV0dG9uLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQgeyBBbm5hTGliQXV0aFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFBhc3N3b3JkTWF0Y2hpbmdDb21wb25lbnQgfSBmcm9tIFwiLi4vcGFzc3dvcmQtbWF0Y2hpbmcvcGFzc3dvcmQtbWF0Y2hpbmcuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFBvd2VyZWRCeUxvZ29UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gXCIuLi9wb3dlcmVkLWJ5LWxvZ28tdGVtcGxhdGUvcG93ZXJlZC1ieS1sb2dvLXRlbXBsYXRlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBTdXJld2F2ZXNZZWFyTG9nb0NvbXBvbmVudCB9IGZyb20gXCIuLi9zdXJld2F2ZXMteWVhci1sb2dvL3N1cmV3YXZlcy15ZWFyLWxvZ28uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFZlcnNpb25BbmRUZXJtUG9saWN5Q29tcG9uZW50IH0gZnJvbSBcIi4uL3ZlcnNpb24tYW5kLXRlcm0tcG9saWN5L3ZlcnNpb24tYW5kLXRlcm0tcG9saWN5LmNvbXBvbmVudFwiO1xyXG5cclxudHlwZSBQYXNzd29yZFR5cGUgPSB7IHZhbHVlOiBzdHJpbmcgfCBudWxsOyBzdGF0dXM6IHN0cmluZyB8IG51bGwgfTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiYW5uYS1jb2duaXRvLWxpYi12ZXJpZnktYW5kLXNldC1uZXctcGFzc3dvcmRcIixcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vdmVyaWZ5LWFuZC1zZXQtbmV3LXBhc3N3b3JkLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBzdHlsZVVybHM6IFtcIi4vdmVyaWZ5LWFuZC1zZXQtbmV3LXBhc3N3b3JkLmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBOZ0NsYXNzLFxyXG4gICAgICAgIFJvdXRlckxpbmssXHJcbiAgICAgICAgRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgICAgICBOZ0lmLFxyXG4gICAgICAgIFBhc3N3b3JkTWF0Y2hpbmdDb21wb25lbnQsXHJcbiAgICAgICAgU3Bpbm5lckJ1dHRvbkRpcmVjdGl2ZSxcclxuICAgICAgICBQb3dlcmVkQnlMb2dvVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICAgICAgU3VyZXdhdmVzWWVhckxvZ29Db21wb25lbnQsXHJcbiAgICAgICAgVmVyc2lvbkFuZFRlcm1Qb2xpY3lDb21wb25lbnQsXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmVyaWZ5QW5kU2V0TmV3UGFzc3dvcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgdmVyaWZ5T3RwRm9ybTogRm9ybUdyb3VwO1xyXG4gICAgcGFzc3dvcmROb3RNYXRjaGluZyA9IGZhbHNlO1xyXG4gICAgY29uc3RhbnRzOiB0eXBlb2YgTG9naW5Db25zdGFudDtcclxuICAgIHBhc3N3b3JkOiBQYXNzd29yZFR5cGUgPSB7IHZhbHVlOiBudWxsLCBzdGF0dXM6IG51bGwgfTtcclxuICAgIGNvbmZpcm1QYXNzd29yZDogUGFzc3dvcmRUeXBlID0geyB2YWx1ZTogbnVsbCwgc3RhdHVzOiBudWxsIH07XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIGF1dGhTZXJ2aWNlOiBBbm5hTGliQXV0aFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICBASW5qZWN0KENPTkZJR19TRVJWSUNFX1RPS0VOKSBwdWJsaWMgY29uc3VtaW5nUHJvamVjdENvbmZpZ1NlcnZpY2U6IElDb25maWdTZXJ2aWNlLFxyXG4gICAgKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuY29uc3RhbnRzID0gTG9naW5Db25zdGFudDtcclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLnZlcmlmeUFuZFNldE5ld1Bhc3N3b3JkQnV0dG9uID0gTG9naW5Db25zdGFudC5zZXROZXdQYXNzd29yZEJ1dHRvbjtcclxuICAgICAgICB0aGlzLm9uSW50aWFsaXNlRm9ybSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uSW50aWFsaXNlRm9ybSgpIHtcclxuICAgICAgICB0aGlzLnZlcmlmeU90cEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgICAgICAgb3RwOiBbbnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpc0Zvcm1WYWxpZCgpIHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHRoaXMucGFzc3dvcmQuc3RhdHVzID09PSBcIlZBTElEXCIgJiZcclxuICAgICAgICAgICAgdGhpcy5jb25maXJtUGFzc3dvcmQuc3RhdHVzID09PSBcIlZBTElEXCIgJiZcclxuICAgICAgICAgICAgdGhpcy52ZXJpZnlPdHBGb3JtLmNvbnRyb2xzLm90cC52YWxpZFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIG9uUGFzc3dvcmRDaGFuZ2UoJGV2ZW50OiBQYXNzd29yZFR5cGUpIHtcclxuICAgICAgICB0aGlzLnBhc3N3b3JkID0gJGV2ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIG9uQ29uZmlybVBhc3N3b3JkQ2hhbmdlKCRldmVudDogUGFzc3dvcmRUeXBlKSB7XHJcbiAgICAgICAgdGhpcy5jb25maXJtUGFzc3dvcmQgPSAkZXZlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgb25WZXJpZnlPdHBTZXR0aW5nTmV3UGFzc3dvcmQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMucGFzc3dvcmQudmFsdWUgIT09IHRoaXMuY29uZmlybVBhc3N3b3JkLnZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMucGFzc3dvcmROb3RNYXRjaGluZyA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5wYXNzd29yZE5vdE1hdGNoaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZm9yZ290UGFzc3dvcmRBbmRHbG9iYWxTaWdub3V0TG9hZGVyID0gdHJ1ZTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXV0aFNlcnZpY2UudmVyaWZ5QW5kU2V0TmV3UGFzc3dvcmRCdXR0b24gPT09IExvZ2luQ29uc3RhbnQucmVnZW5lcmF0ZU90cCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW0xvZ2luQ29uc3RhbnQuZm9yZ29ydFBhc3N3b3JkUGFnZVVybF0pO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMucGFzc3dvcmQudmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2UudmVyaWZ5Q29kZSh0aGlzLnZlcmlmeU90cEZvcm0uY29udHJvbHMub3RwLnZhbHVlLCB0aGlzLnBhc3N3b3JkLnZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgICBjbGFzcz1cIm1haW5cIlxyXG4gICAgW25nQ2xhc3NdPVwieyAnbWFpbi1oZWlnaHQnOiBhdXRoU2VydmljZS52ZXJpZnlBbmRTZXROZXdQYXNzd29yZEVycm9yTWVzc2FnZSB9XCJcclxuPlxyXG4gICAgPHNlY3Rpb24+XHJcbiAgICAgICAgPGhlYWRlcj5cclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgW3NyY109XCJjb25zdW1pbmdQcm9qZWN0Q29uZmlnU2VydmljZS5hcHBHZW5lcmljQ29uZmlnLmxvZ2luUGFnZUxvZ29JbWdVcmxcIlxyXG4gICAgICAgICAgICAgICAgYWx0PVwiQW5uYSBMb2dvXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICA8L2hlYWRlcj5cclxuICAgICAgICA8YXJ0aWNsZT5cclxuICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmFjay1idG5cIlxyXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiY29uc3RhbnRzLmZvcmdvcnRQYXNzd29yZFBhZ2VVcmxcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cIm1kaSBtZGktYXJyb3ctbGVmdFwiPjwvaT5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJ2ZXJpZnlPdHBGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwdWxsLWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgICAgIGlkPVwiaGVhZGluZ1wiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgY29uc3RhbnRzLnZlcmlmeUFuZFNldE5ld1Bhc3N3b3JkaGVhZGluZyB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8cD57eyBhdXRoU2VydmljZS52ZXJpZnlBbmRTZXROZXdQYXNzd29yZE1lc3NhZ2UgfX08L3A+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGlkPVwiYWxlcnQtZGl2XCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImF1dGhTZXJ2aWNlLnZlcmlmeUFuZFNldE5ld1Bhc3N3b3JkRXJyb3JNZXNzYWdlXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwiaWNvbi1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPnJlcG9ydDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8cCBpZD1cImRpc3BsYXktYmxvY2stbXNnXCI+e3sgYXV0aFNlcnZpY2UudmVyaWZ5QW5kU2V0TmV3UGFzc3dvcmRFcnJvck1lc3NhZ2UgfX08L3A+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJvdHBcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJjb25zdGFudHMuZW50ZXJPdHBcIlxyXG4gICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm5ldy1maWVsZC1uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpbnB1dC1pbnZhbGlkJzogYXV0aFNlcnZpY2UudmVyaWZ5QW5kU2V0TmV3UGFzc3dvcmRFcnJvck1lc3NhZ2UgfVwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgICAgICAgIDxhbm5hLWNvZ25pdG8tbGliLXBhc3N3b3JkLW1hdGNoaW5nXHJcbiAgICAgICAgICAgICAgICAgICAgKHBhc3N3b3JkQ2hhbmdlKT1cIm9uUGFzc3dvcmRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNvbmZpcm1QYXNzd29yZENoYW5nZSk9XCJvbkNvbmZpcm1QYXNzd29yZENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbcGFzc3dvcmROb3RNYXRjaGluZ109XCJwYXNzd29yZE5vdE1hdGNoaW5nXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDwvYW5uYS1jb2duaXRvLWxpYi1wYXNzd29yZC1tYXRjaGluZz5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjRcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibG9naW4tYnRuXCJcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcclxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYXV0aFNlcnZpY2Uuc2Vzc2lvbkxvY2tlZCB8fCAhaXNGb3JtVmFsaWQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uVmVyaWZ5T3RwU2V0dGluZ05ld1Bhc3N3b3JkKClcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFubmFDb2duaXRvU3Bpbm5lckJ0blxyXG4gICAgICAgICAgICAgICAgICAgIFtzcGlubmVyQnV0dG9uTG9hZGluZ109XCJhdXRoU2VydmljZS5mb3Jnb3RQYXNzd29yZEFuZEdsb2JhbFNpZ25vdXRMb2FkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzcGlubmVyQnV0dG9uVGV4dF09XCJhdXRoU2VydmljZS52ZXJpZnlBbmRTZXROZXdQYXNzd29yZEJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICA8L2FydGljbGU+XHJcbiAgICAgICAgPGZvb3Rlcj5cclxuICAgICAgICAgICAgPGFubmEtY29nbml0by1saWItcG93ZXJlZC1ieS1sb2dvLXRlbXBsYXRlPiA8L2FubmEtY29nbml0by1saWItcG93ZXJlZC1ieS1sb2dvLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvZm9vdGVyPlxyXG4gICAgPC9zZWN0aW9uPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJwYWdlLWZvb3RlclwiPlxyXG4gICAgPGFubmEtY29nbml0by1saWItc3VyZXdhdmVzLXllYXItbG9nbz48L2FubmEtY29nbml0by1saWItc3VyZXdhdmVzLXllYXItbG9nbz5cclxuICAgIDxhbm5hLWNvZ25pdG8tbGliLXZlcnNpb24tYW5kLXRlcm0tcG9saWN5PjwvYW5uYS1jb2duaXRvLWxpYi12ZXJzaW9uLWFuZC10ZXJtLXBvbGljeT5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { InjectionToken } from "@angular/core";
|
|
2
2
|
/** Token to inject the acl service */
|
|
3
3
|
export const ACL_SERVICE_TOKEN = new InjectionToken("ACL service token");
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNsLXNlcnZpY2UudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvZ25pdG8tbGliL3NyYy9saWIvY29uZmlnL2FjbC1zZXJ2aWNlLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0Msc0NBQXNDO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFnQyxJQUFJLGNBQWMsQ0FBYyxtQkFBbUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLyoqIFRva2VuIHRvIGluamVjdCB0aGUgYWNsIHNlcnZpY2UgKi9cclxuZXhwb3J0IGNvbnN0IEFDTF9TRVJWSUNFX1RPS0VOOiBJbmplY3Rpb25Ub2tlbjxJQWNsU2VydmljZT4gPSBuZXcgSW5qZWN0aW9uVG9rZW48SUFjbFNlcnZpY2U+
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNsLXNlcnZpY2UudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvZ25pdG8tbGliL3NyYy9saWIvY29uZmlnL2FjbC1zZXJ2aWNlLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0Msc0NBQXNDO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFnQyxJQUFJLGNBQWMsQ0FBYyxtQkFBbUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLyoqIFRva2VuIHRvIGluamVjdCB0aGUgYWNsIHNlcnZpY2UgKi9cclxuZXhwb3J0IGNvbnN0IEFDTF9TRVJWSUNFX1RPS0VOOiBJbmplY3Rpb25Ub2tlbjxJQWNsU2VydmljZT4gPSBuZXcgSW5qZWN0aW9uVG9rZW48SUFjbFNlcnZpY2U+KFwiQUNMIHNlcnZpY2UgdG9rZW5cIik7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElBY2xTZXJ2aWNlIHtcclxuICAgIHVybFRvQ29nbml0b1ByaXZpbGVnZU1hcDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICAgIE1BTkFHRV9VU0VSU19XUklURTogc3RyaW5nO1xyXG4gICAgT1JERVJfQklaX1JVTEVTX1dSSVRFOiBzdHJpbmc7XHJcbiAgICBPUkRFUl9SRVZJU0lPTlNfV1JJVEU6IHN0cmluZztcclxuICAgIE9SREVSX1NQT1RTX1JFUE9SVF9XUklURTogc3RyaW5nO1xyXG4gICAgUE9MSVRJQ0FMX1dJTkRPV19XUklURTogc3RyaW5nO1xyXG4gICAgREFTSEJPQVJEX0RBSUxZX1JFVklTSU9OU19SRUFEOiBzdHJpbmc7XHJcbiAgICBFTlRFUl9FRElUX1RBUkdFVF9MVVJfV1JJVEU6IHN0cmluZztcclxuICAgIEVOVEVSX0VESVRfVEFSR0VUX0NTUl9XUklURTogc3RyaW5nO1xyXG4gICAgTUFOQUdFX1JPTEVTX1dSSVRFOiBzdHJpbmc7XHJcbiAgICBBQ1RJVkVfU1RBVElPTl9VU0VSX1JFQUQ6IHN0cmluZztcclxuICAgIFVTRVJfQVdBSVRJTkdfQUNUSVZBVElPTl9XUklURTogc3RyaW5nO1xyXG4gICAgREFJTFlfUkVWSVNJT05fT05HT0lOR19BTkRfREFJTFlfQ09NUExFVEVEX1JFQUQ6IHN0cmluZztcclxuICAgIFVTRVJfTUFOQUdFTUVOVF9SRUFEOiBzdHJpbmc7XHJcbiAgICBVU0VSX01BTkFHRU1FTlRfV1JJVEU6IHN0cmluZztcclxuICAgIFNUQVRJT05fQlVTSU5FU1NfUlVMRV9XUklURTogc3RyaW5nO1xyXG4gICAgQURWRVJUSVNFUl9CVVNJTkVTU19SVUxFX1dSSVRFOiBzdHJpbmc7XHJcbiAgICBFQ19MSVNUSU5HX1JFQUQ6IHN0cmluZztcclxuICAgIEVDX0xJU1RJTkdfV1JJVEU6IHN0cmluZztcclxuICAgIE9SREVSX0RJU0NSRVBBTkNJRVM6IHN0cmluZztcclxuICAgIFJFVklTSU9OX0NZQ0xFX1NFVFRJTkdTX1JFQUQ6IHN0cmluZztcclxuICAgIFJFVklTSU9OX0NZQ0xFX1NFVFRJTkdTX1dSSVRFOiBzdHJpbmc7XHJcbiAgICBBVURJRU5DRV9FU1RJTUFURVNfQ09ORklHX1JFQUQ6IHN0cmluZztcclxuICAgIEFVRElFTkNFX0VTVElNQVRFU19DT05GSUdfV1JJVEU6IHN0cmluZztcclxuICAgIFJBVEVfQ09ORklHX1dSSVRFOiBzdHJpbmc7XHJcbiAgICBSQVRFX0NPTkZJR19SRUFEOiBzdHJpbmc7XHJcbiAgICBIT0xJREFZX0xJU1RfUkVBRDogc3RyaW5nO1xyXG4gICAgSE9MSURBWV9MSVNUX1dSSVRFOiBzdHJpbmc7XHJcbiAgICBXUklURV9FTkFCTEVEX09SREVSU19SRUFEOiBzdHJpbmc7XHJcbiAgICBXUklURV9FTkFCTEVEX09SREVSU19XUklURTogc3RyaW5nO1xyXG4gICAgU0VDVElPTl9SQVRFX0NBUkRfUkVBRDogc3RyaW5nO1xyXG4gICAgU0VDVElPTl9SQVRFX0NBUkRfV1JJVEU6IHN0cmluZztcclxuICAgIEFVRElFTkNFX0VTVElNQVRFU19SRUFEOiBzdHJpbmc7XHJcbiAgICBVUExPQURfQ1NSX1JFQUQ6IHN0cmluZztcclxuICAgIFVQTE9BRF9DU1JfV1JJVEU6IHN0cmluZztcclxuICAgIFBST0dSQU1fU0NIRURVTEVfUkVBRDogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { InjectionToken } from "@angular/core";
|
|
2
2
|
/** Token to inject the auth service */
|
|
3
3
|
export const AUTH_SERVICE_TOKEN = new InjectionToken("Auth service token");
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1zZXJ2aWNlLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb2duaXRvLWxpYi9zcmMvbGliL2NvbmZpZy9hdXRoLXNlcnZpY2UudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUsvQyx1Q0FBdUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQWlDLElBQUksY0FBYyxDQUFlLG9CQUFvQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEF1dGhUb2tlbnMgfSBmcm9tIFwiYXdzLWFtcGxpZnkvYXV0aFwiO1xyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzXHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuLyoqIFRva2VuIHRvIGluamVjdCB0aGUgYXV0aCBzZXJ2aWNlICovXHJcbmV4cG9ydCBjb25zdCBBVVRIX1NFUlZJQ0VfVE9LRU46IEluamVjdGlvblRva2VuPElBdXRoU2VydmljZT4gPSBuZXcgSW5qZWN0aW9uVG9rZW48SUF1dGhTZXJ2aWNlPihcIkF1dGggc2VydmljZSB0b2tlblwiKTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUF1dGhTZXJ2aWNlIHtcclxuICAgIGlzTG9nZ2luZ0luOiBib29sZWFuO1xyXG4gICAgdXNlck5hbWU6IGFueTtcclxuICAgIGFjY2Vzc1Rva2VuOiBzdHJpbmc7XHJcbiAgICBJZFRva2VuOiBhbnk7XHJcbiAgICBkZWZhdWx0TG9naW5QYWdlVXJsOiBcImNvLXBpbG90LWxvZ2luXCIgfCBcImxvZ2luXCI7XHJcbiAgICBvblN1Y2Nlc3NmdWxBdXRoZW50aWNhdGluZ1VzZXIobG9nZ2VkSW5WaWFTc286IGJvb2xlYW4pOiB2b2lkO1xyXG4gICAgZ2V0QWxsQ29nbml0b1Rva2VuQW5kR3JvdXBzKHRva2VuczogQXV0aFRva2Vucyk6IHZvaWQ7XHJcbiAgICBpc1VzZXJuYW1lQXZhaWxhYmxlKHVzZXJuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT47XHJcbiAgICBpc0VtYWlsQXZhaWxhYmxlKGVtYWlsSWQ6IHN0cmluZywgb2dJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgZ2V0VXNlclN0YXRlKHVzZXJuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT47XHJcbiAgICBuYXZpZ2F0ZUJhc2VkT25Vc2VyUm9sZShsb2dpblVzZXJEYXRhOiBhbnkpOiB2b2lkO1xyXG4gICAgZ2V0UHVibGljSXAoKTogc3RyaW5nO1xyXG4gICAgc2VuZFJlZ2VuZXJhdGlvbkVtYWlsKHVzZXJDb2RlOiBzdHJpbmcpOiB2b2lkO1xyXG4gICAgb25QYXNzd29yZFVwZGF0ZSh1c2VyTmFtZTogc3RyaW5nKTogdm9pZDtcclxuICAgIG5ld1Bhc3N3b3JkU2V0VGhlblVwZGF0ZVRvQmFja2VuZCh1c2VyQ29kZTogc3RyaW5nKTogdm9pZDtcclxuICAgIHNpZ25JbldpdGhTU08oKTogdm9pZDtcclxufVxyXG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { InjectionToken } from "@angular/core";
|
|
2
2
|
/** Token to inject the auth service */
|
|
3
3
|
export const CONFIG_SERVICE_TOKEN = new InjectionToken("Cognito config service token");
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXNlcnZpY2UudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvZ25pdG8tbGliL3NyYy9saWIvY29uZmlnL2NvbmZpZy1zZXJ2aWNlLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsdUNBQXVDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFtQyxJQUFJLGNBQWMsQ0FDbEYsOEJBQThCLENBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vKiogVG9rZW4gdG8gaW5qZWN0IHRoZSBhdXRoIHNlcnZpY2UgKi9cclxuZXhwb3J0IGNvbnN0IENPTkZJR19TRVJWSUNFX1RPS0VOOiBJbmplY3Rpb25Ub2tlbjxJQ29uZmlnU2VydmljZT4gPSBuZXcgSW5qZWN0aW9uVG9rZW48SUNvbmZpZ1NlcnZpY2U+
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXNlcnZpY2UudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvZ25pdG8tbGliL3NyYy9saWIvY29uZmlnL2NvbmZpZy1zZXJ2aWNlLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsdUNBQXVDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFtQyxJQUFJLGNBQWMsQ0FDbEYsOEJBQThCLENBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vKiogVG9rZW4gdG8gaW5qZWN0IHRoZSBhdXRoIHNlcnZpY2UgKi9cclxuZXhwb3J0IGNvbnN0IENPTkZJR19TRVJWSUNFX1RPS0VOOiBJbmplY3Rpb25Ub2tlbjxJQ29uZmlnU2VydmljZT4gPSBuZXcgSW5qZWN0aW9uVG9rZW48SUNvbmZpZ1NlcnZpY2U+KFxyXG4gICAgXCJDb2duaXRvIGNvbmZpZyBzZXJ2aWNlIHRva2VuXCIsXHJcbik7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElDb25maWdTZXJ2aWNlIHtcclxuICAgIGFwcEdlbmVyaWNDb25maWc6IHtcclxuICAgICAgICBsb2dpblBhZ2VMb2dvSW1nVXJsOiBzdHJpbmc7XHJcbiAgICAgICAgY29nbml0bzoge1xyXG4gICAgICAgICAgICB1c2VyUG9vbElkOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIGNsaWVudElkOiBzdHJpbmc7XHJcbiAgICAgICAgfTtcclxuICAgICAgICBjdXJyZW50QW5uYVZlcnNpb246IHN0cmluZztcclxuICAgIH07XHJcbn1cclxuIl19
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
export class LoginConstant {
|
|
2
2
|
// Login page
|
|
3
|
-
static { this.
|
|
3
|
+
static { this.enterEmail = "Enter your username"; }
|
|
4
4
|
static { this.enterUserCode = "Enter your usercode"; }
|
|
5
|
-
static { this.enterEmail = "Enter your email"; }
|
|
6
5
|
static { this.password = "Password"; }
|
|
7
6
|
static { this.confirmPassword = "Confirm Password"; }
|
|
8
7
|
static { this.login = "Login"; }
|
|
@@ -45,7 +44,6 @@ export class LoginConstant {
|
|
|
45
44
|
static { this.forgotPasswordHeading = "Forgot your password?"; }
|
|
46
45
|
static { this.PleaseEnterYourUsernameMessage = "Please enter your username."; }
|
|
47
46
|
static { this.PleaseEnterYourUsercodeMessage = "Please enter your usercode."; }
|
|
48
|
-
static { this.PleaseEnterYourEmailMessage = "Please enter your email address below."; }
|
|
49
47
|
static { this.forgotPasswordButton = `Get ${LoginConstant.otp}`; }
|
|
50
48
|
static { this.apiFailErrorMessage = "Unable to connect to server right now. Please try after some time."; }
|
|
51
49
|
// url
|
|
@@ -58,4 +56,4 @@ export class LoginConstant {
|
|
|
58
56
|
static { this.homePageUrl = "/dashboard"; }
|
|
59
57
|
static { this.stationSettingUrl = "/station-settings"; }
|
|
60
58
|
}
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW5Db25zdGFudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29nbml0by1saWIvc3JjL2xpYi9jb25zdGFudHMvbG9naW5Db25zdGFudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sYUFBYTtJQUN0QixhQUFhO2FBQ0csZUFBVSxHQUFHLHFCQUFxQixDQUFDO2FBQ25DLGtCQUFhLEdBQUcscUJBQXFCLENBQUM7YUFDdEMsYUFBUSxHQUFHLFVBQVUsQ0FBQzthQUN0QixvQkFBZSxHQUFHLGtCQUFrQixDQUFDO2FBQ3JDLFVBQUssR0FBRyxPQUFPLENBQUM7YUFDaEIsUUFBRyxHQUFHLEtBQUssQ0FBQzthQUNaLG1CQUFjLEdBQUcsVUFBVSxhQUFhLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUM7SUFFbkYsbUJBQW1CO2FBQ0gsMEJBQXFCLEdBQUcsV0FBVyxhQUFhLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7YUFDMUUseUJBQW9CLEdBQUcsV0FBVyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUM7YUFDNUUsd0JBQW1CLEdBQUcsNEJBQTRCLENBQUM7YUFDbkQscUJBQWdCLEdBQUcsc0JBQXNCLENBQUM7YUFDMUMsaUJBQVksR0FBRyxhQUFhLENBQUM7YUFDN0IsaUJBQVksR0FBRyxhQUFhLENBQUM7YUFDN0IsY0FBUyxHQUFHLGFBQWEsQ0FBQzthQUMxQixxQkFBZ0IsR0FBRyxxQkFBcUIsQ0FBQzthQUN6Qyx3QkFBbUIsR0FBRywrQ0FBK0MsQ0FBQzthQUN0RSw4QkFBeUIsR0FBRyxnQ0FBZ0MsQ0FBQzthQUM3RCw4QkFBeUIsR0FBRyxnQ0FBZ0MsQ0FBQzthQUM3RCxpQkFBWSxHQUFHLDBCQUEwQixDQUFDO2FBQzFDLGVBQVUsR0FBRyxHQUFHLGFBQWEsQ0FBQyxLQUFLLFFBQVEsQ0FBQzthQUM1QyxzQ0FBaUM7SUFDN0MsbUNBQW1DO0lBQ25DLG9JQUFvSSxDQUFDO2FBQ3pILDRCQUF1QixHQUFHLHVFQUF1RSxDQUFDO2FBQ2xHLGlDQUE0QjtJQUN4QyxtQ0FBbUM7SUFDbkMsZ0lBQWdJLENBQUM7SUFFckksZ0NBQWdDO2FBQ2hCLG1DQUE4QixHQUFHLFNBQVMsYUFBYSxDQUFDLEdBQUcscUJBQXFCLENBQUM7YUFDakYsbUNBQThCLEdBQUcsTUFBTSxhQUFhLENBQUMsR0FBRyxtQ0FBbUMsQ0FBQzthQUM1Rix1QkFBa0IsR0FBRywwQkFBMEIsQ0FBQzthQUNoRCxrQkFBYSxHQUFHLGNBQWMsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDO2FBQ2xELGFBQVEsR0FBRyxTQUFTLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQzthQUN4QyxXQUFNLEdBQUcsUUFBUSxDQUFDO2FBQ2xCLFlBQU8sR0FBRyxTQUFTLENBQUM7YUFDcEIseUJBQW9CLEdBQ2hDLDhGQUE4RixDQUFDO2FBQ25GLG1CQUFjLEdBQUcsMkVBQTJFLENBQUM7YUFDN0YsbUJBQWMsR0FBRyw0Q0FBNEMsQ0FBQzthQUM5RCx3QkFBbUIsR0FBRyw4Q0FBOEMsQ0FBQztJQUVyRixrQkFBa0I7YUFDRiwwQkFBcUIsR0FBRyx1QkFBdUIsQ0FBQzthQUNoRCxtQ0FBOEIsR0FBRyw2QkFBNkIsQ0FBQzthQUMvRCxtQ0FBOEIsR0FBRyw2QkFBNkIsQ0FBQzthQUMvRCx5QkFBb0IsR0FBRyxPQUFPLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQzthQUNsRCx3QkFBbUIsR0FBRyxvRUFBb0UsQ0FBQztJQUUzRyxNQUFNO2FBQ1Usc0JBQWlCLEdBQUcsbUJBQW1CLENBQUM7YUFDeEMsMkJBQXNCLEdBQUcsa0JBQWtCLENBQUM7YUFDNUMsK0JBQTBCLEdBQUcsOEJBQThCLENBQUM7YUFDNUQsaUJBQVksR0FBRyxRQUFRLENBQUM7YUFDeEIsd0JBQW1CLEdBQUcsaUJBQWlCLENBQUM7YUFDeEMsc0JBQWlCLEdBQUcsaUJBQWlCLENBQUM7YUFDdEMsZ0JBQVcsR0FBRyxZQUFZLENBQUM7YUFDM0Isc0JBQWlCLEdBQUcsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgTG9naW5Db25zdGFudCB7XHJcbiAgICAvLyBMb2dpbiBwYWdlXHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgZW50ZXJFbWFpbCA9IFwiRW50ZXIgeW91ciB1c2VybmFtZVwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IGVudGVyVXNlckNvZGUgPSBcIkVudGVyIHlvdXIgdXNlcmNvZGVcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBwYXNzd29yZCA9IFwiUGFzc3dvcmRcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBjb25maXJtUGFzc3dvcmQgPSBcIkNvbmZpcm0gUGFzc3dvcmRcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBsb2dpbiA9IFwiTG9naW5cIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBvdHAgPSBcIk9UUFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IGZvcmdvdFBhc3N3b3JkID0gYEZvcmdvdCAke0xvZ2luQ29uc3RhbnQucGFzc3dvcmQudG9Mb3dlckNhc2UoKX0/YDtcclxuXHJcbiAgICAvLyBzZXQgbmV3IHBhc3N3b3JkXHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgc2V0TmV3UGFzc3dvcmRIZWFkaW5nID0gYFNldCBuZXcgJHtMb2dpbkNvbnN0YW50LnBhc3N3b3JkLnRvTG93ZXJDYXNlKCl9YDtcclxuICAgIHN0YXRpYyByZWFkb25seSBzZXROZXdQYXNzd29yZEJ1dHRvbiA9IGBTZXQgYW5kICR7TG9naW5Db25zdGFudC5sb2dpbi50b0xvd2VyQ2FzZSgpfSBhZ2FpbmA7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgcGFzc3dvcmRNdXN0Q29udGFpbiA9IFwiVGhlIHBhc3N3b3JkIG11c3QgY29udGFpbjpcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBtaW5pbXVtQ2hhcmFjdGVyID0gXCJNaW5pbXVtIDggY2hhcmFjdGVyc1wiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IG9uZVVwcGVyY2FzZSA9IFwiMSBVcHBlcmNhc2VcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBvbmVMb3dlcmNhc2UgPSBcIjEgTG93ZXJjYXNlXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgb25lTnVtYmVyID0gXCIxIE51bWVyaWNhbFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IHNwZWNpYWxDaGFyYWN0ZXIgPSBcIjEgU3BlY2lhbCBjaGFyYWN0ZXJcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBwYXNzd29yZE5vdE1hdGNoaW5nID0gXCJUaGUgcGFzc3dvcmRzIGRvIG5vdCBtYXRjaC4gUGxlYXNlIHRyeSBhZ2Fpbi5cIjtcclxuICAgIHN0YXRpYyByZWFkb25seSB1c2VyTmFtZVBhc3N3b3JkSW5jb3JyZWN0ID0gXCJJbmNvcnJlY3QgdXNlcm5hbWUgb3IgcGFzc3dvcmRcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSB1c2VyQ29kZVBhc3N3b3JkSW5jb3JyZWN0ID0gXCJJbmNvcnJlY3QgdXNlcmNvZGUgb3IgcGFzc3dvcmRcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSB1c2VyTm90Rm91bmQgPSBcIk5vIHJlZ2lzdGVyZWQgdXNlciBmb3VuZFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IGxvZ2luQWdhaW4gPSBgJHtMb2dpbkNvbnN0YW50LmxvZ2lufSBhZ2FpbmA7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgZmlyc3RUaW1lTG9naW5Vc2VyVGVtcFBhc3N3b3JkTXNnID1cclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxyXG4gICAgICAgIFwiWW91IGFyZSBsb2dnaW5nIGluIGZvciB0aGUgZmlyc3QgdGltZS4gS2luZGx5IHVzZSB0aGUgdGVtcG9yYXJ5IHBhc3N3b3JkIHByb3ZpZGVkIGluIHRoZSB3ZWxjb21lIGVtYWlsLCB0byBsb2dpbiB0byB5b3VyIGFjY291bnQuIFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IHRlbXBQYXNzd29yZEV4cGlyeUVycm9yID0gXCJUZW1wb3JhcnkgcGFzc3dvcmQgaGFzIGV4cGlyZWQgYW5kIG11c3QgYmUgcmVzZXQgYnkgYW4gYWRtaW5pc3RyYXRvci5cIjtcclxuICAgIHN0YXRpYyByZWFkb25seSB0ZW1wUGFzc3dvcmRPbkV4cGlyeUVycm9yTXNnID1cclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxyXG4gICAgICAgIFwiUGFzc3dvcmQgaGFzIGV4cGlyZWQuIEEgbmV3IHBhc3N3b3JkIGhhcyBiZWVuIHNlbnQgdG8geW91ciByZWdpc3RlcmVkIGVtYWlsLiBLaW5kbHkgbG9naW4gYWdhaW4gd2l0aCBuZXcgbGluayBhbmQgY3JlZGVudGlhbHMuXCI7XHJcblxyXG4gICAgLy8gdmVyaWZ5IE9UUCAmIHNldCBuZXcgcGFzc3dvcmRcclxuICAgIHN0YXRpYyByZWFkb25seSB2ZXJpZnlBbmRTZXROZXdQYXNzd29yZGhlYWRpbmcgPSBgRW50ZXIgJHtMb2dpbkNvbnN0YW50Lm90cH0gJiBzZXQgbmV3IHBhc3N3b3JkYDtcclxuICAgIHN0YXRpYyByZWFkb25seSB2ZXJpZnlBbmRTZXROZXdQYXNzd29yZE1lc3NhZ2UgPSBgQW4gJHtMb2dpbkNvbnN0YW50Lm90cH0gaGFzIGJlZW4gc3VjY2VzZnVsbHkgZW1haWxlZCB0byBgO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IHBsZWFzZUVudGVySXRCZWxvdyA9IFwiLiBQbGVhc2UgZW50ZXIgaXQgYmVsb3cuXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgcmVnZW5lcmF0ZU90cCA9IGBSZWdlbmVyYXRlICR7TG9naW5Db25zdGFudC5vdHB9YDtcclxuICAgIHN0YXRpYyByZWFkb25seSBlbnRlck90cCA9IGBFbnRlciAke0xvZ2luQ29uc3RhbnQub3RwfWA7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgc3VibWl0ID0gXCJTdWJtaXRcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBhdHRlbXB0ID0gXCJBdHRlbXB0XCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgYXR0ZW1wdExpbWl0RXhjZWVkZWQgPVxyXG4gICAgICAgIFwiWW91IGhhdmUgZXhjZWVkZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGFsbG93ZWQgYXR0ZW1wdHMuIFBsZWFzZSB0cnkgYWdhaW4gYWZ0ZXIgMTUgbWludXRlcy5cIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBhdHRlbXB0TWVzc2FnZSA9IFwiIG9mIDUuIFRoZSBPVFAgZW50ZXJlZCBpcyBpbmNvcnJlY3QuIFBsZWFzZSB0cnkgYWdhaW4gd2l0aCB0aGUgcmlnaHQgb25lLlwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IHNlc3Npb25FeHBpcmVkID0gXCJUaGUgc2Vzc2lvbiBoYXMgZXhwaXJlZC4gUGxlYXNlIHRyeSBhZ2Fpbi5cIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBzZXNzaW9uRXhwaXJlZEVycm9yID0gXCJZb3VyIHNlc3Npb24gaGFzIGV4cGlyZWQuIFBsZWFzZSBsb2dpbiBhZ2FpblwiO1xyXG5cclxuICAgIC8vIGZvcmdvdCBwYXNzd29yZFxyXG4gICAgc3RhdGljIHJlYWRvbmx5IGZvcmdvdFBhc3N3b3JkSGVhZGluZyA9IFwiRm9yZ290IHlvdXIgcGFzc3dvcmQ/XCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgUGxlYXNlRW50ZXJZb3VyVXNlcm5hbWVNZXNzYWdlID0gXCJQbGVhc2UgZW50ZXIgeW91ciB1c2VybmFtZS5cIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBQbGVhc2VFbnRlcllvdXJVc2VyY29kZU1lc3NhZ2UgPSBcIlBsZWFzZSBlbnRlciB5b3VyIHVzZXJjb2RlLlwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IGZvcmdvdFBhc3N3b3JkQnV0dG9uID0gYEdldCAke0xvZ2luQ29uc3RhbnQub3RwfWA7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgYXBpRmFpbEVycm9yTWVzc2FnZSA9IFwiVW5hYmxlIHRvIGNvbm5lY3QgdG8gc2VydmVyIHJpZ2h0IG5vdy4gUGxlYXNlIHRyeSBhZnRlciBzb21lIHRpbWUuXCI7XHJcblxyXG4gICAgLy8gdXJsXHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgc2V0TmV3UGFzc3dvcmRVcmwgPSBcIi9zZXQtbmV3LXBhc3N3b3JkXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgZm9yZ29ydFBhc3N3b3JkUGFnZVVybCA9IFwiL2ZvcmdvdC1wYXNzd29yZFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IHZlcmlmeUFuZFNldE5ld1Bhc3N3b3JkVXJsID0gXCIvdmVyaWZ5LWFuZC1zZXQtbmV3LXBhc3N3b3JkXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgbG9naW5QYWdlVXJsID0gXCIvbG9naW5cIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBjb1BpbG90bG9naW5QYWdlVXJsID0gXCIvY28tcGlsb3QtbG9naW5cIjtcclxuICAgIHN0YXRpYyByZWFkb25seSB3ZWxjb21lU2NycmVlblVybCA9IFwiL3dlbGNvbWUtc2NyZWVuXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgaG9tZVBhZ2VVcmwgPSBcIi9kYXNoYm9hcmRcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBzdGF0aW9uU2V0dGluZ1VybCA9IFwiL3N0YXRpb24tc2V0dGluZ3NcIjtcclxufVxyXG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Inject, Injectable
|
|
1
|
+
import { Inject, Injectable } from "@angular/core";
|
|
2
2
|
import { ACL_SERVICE_TOKEN } from "../config/acl-service.token";
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class AnnaLibAclService {
|
|
@@ -12,7 +12,7 @@ export class AnnaLibAclService {
|
|
|
12
12
|
isUserAuthorisedToAccessElement(privilege) {
|
|
13
13
|
return this.userGroupsInCognitoJWT.includes(privilege);
|
|
14
14
|
}
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaLibAclService, deps: [{ token: ACL_SERVICE_TOKEN
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaLibAclService, deps: [{ token: ACL_SERVICE_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
16
16
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaLibAclService, providedIn: "root" }); }
|
|
17
17
|
}
|
|
18
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaLibAclService, decorators: [{
|
|
@@ -21,9 +21,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
21
21
|
providedIn: "root",
|
|
22
22
|
}]
|
|
23
23
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
24
|
-
type: Optional
|
|
25
|
-
}, {
|
|
26
24
|
type: Inject,
|
|
27
25
|
args: [ACL_SERVICE_TOKEN]
|
|
28
26
|
}] }]; } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvZ25pdG8tbGliL3NyYy9saWIvc2VydmljZXMvYWNsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFlLE1BQU0sNkJBQTZCLENBQUM7O0FBSzdFLE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsWUFBOEMsMEJBQXVDO1FBQXZDLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBYTtJQUFHLENBQUM7SUFHekYsNEJBQTRCLENBQUMsR0FBVztRQUNwQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsd0JBQXdCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEYsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCwrQkFBK0IsQ0FBQyxTQUFpQjtRQUM3QyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0QsQ0FBQzsrR0FYUSxpQkFBaUIsa0JBQ04saUJBQWlCO21IQUQ1QixpQkFBaUIsY0FGZCxNQUFNOzs0RkFFVCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFFZ0IsTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuaW1wb3J0IHsgQUNMX1NFUlZJQ0VfVE9LRU4sIElBY2xTZXJ2aWNlIH0gZnJvbSBcIi4uL2NvbmZpZy9hY2wtc2VydmljZS50b2tlblwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hTGliQWNsU2VydmljZSB7XHJcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KEFDTF9TRVJWSUNFX1RPS0VOKSBwdWJsaWMgY29uc3VtaW5nUHJvamVjdEFjbFNlcnZpY2U6IElBY2xTZXJ2aWNlKSB7fVxyXG5cclxuICAgIHVzZXJHcm91cHNJbkNvZ25pdG9KV1Q6IHN0cmluZ1tdO1xyXG4gICAgaXNVc2VyQXV0aG9yaXNlZFRvQWNjZXNzUGFnZSh1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IHByaXZpbGVnZU5hbWUgPSB0aGlzLmNvbnN1bWluZ1Byb2plY3RBY2xTZXJ2aWNlLnVybFRvQ29nbml0b1ByaXZpbGVnZU1hcFt1cmxdO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnVzZXJHcm91cHNJbkNvZ25pdG9KV1QuaW5jbHVkZXMocHJpdmlsZWdlTmFtZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNVc2VyQXV0aG9yaXNlZFRvQWNjZXNzRWxlbWVudChwcml2aWxlZ2U6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnVzZXJHcm91cHNJbkNvZ25pdG9KV1QuaW5jbHVkZXMocHJpdmlsZWdlKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Angular import statements
|
|
2
2
|
import { HttpClient } from "@angular/common/http";
|
|
3
|
-
import { Inject, Injectable
|
|
3
|
+
import { Inject, Injectable } from "@angular/core";
|
|
4
4
|
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
5
5
|
import { Router } from "@angular/router";
|
|
6
6
|
// Third party import statements
|
|
@@ -58,11 +58,9 @@ export class AnnaLibAuthService {
|
|
|
58
58
|
localStorage.clear();
|
|
59
59
|
clearInterval(this.accessTokenTimerId);
|
|
60
60
|
let afterLogoutRedirectTo;
|
|
61
|
-
if (this.consumingProjectSSOLoginService
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
afterLogoutRedirectTo = LoginConstant.coPilotloginPageUrl;
|
|
65
|
-
}
|
|
61
|
+
if (this.consumingProjectSSOLoginService.isSsoIntegrated &&
|
|
62
|
+
!this.consumingProjectSSOLoginService.loggedInViaSso) {
|
|
63
|
+
afterLogoutRedirectTo = LoginConstant.coPilotloginPageUrl;
|
|
66
64
|
}
|
|
67
65
|
else {
|
|
68
66
|
afterLogoutRedirectTo = LoginConstant.loginPageUrl;
|
|
@@ -112,7 +110,7 @@ export class AnnaLibAuthService {
|
|
|
112
110
|
this.loginErrorMessage = LoginConstant.attemptLimitExceeded;
|
|
113
111
|
}
|
|
114
112
|
else {
|
|
115
|
-
this.loginErrorMessage = this.consumingProjectSSOLoginService
|
|
113
|
+
this.loginErrorMessage = this.consumingProjectSSOLoginService.isSsoIntegrated
|
|
116
114
|
? LoginConstant.userCodePasswordIncorrect
|
|
117
115
|
: LoginConstant.userNamePasswordIncorrect;
|
|
118
116
|
}
|
|
@@ -210,14 +208,12 @@ export class AnnaLibAuthService {
|
|
|
210
208
|
}
|
|
211
209
|
}
|
|
212
210
|
async verifyCode(confirmationCode, newPassword) {
|
|
213
|
-
console.log(this.consumingProjectAuthService.userName);
|
|
214
211
|
try {
|
|
215
212
|
confirmResetPassword({
|
|
216
213
|
username: this.consumingProjectAuthService.userName,
|
|
217
214
|
newPassword,
|
|
218
215
|
confirmationCode,
|
|
219
216
|
}).then((response) => {
|
|
220
|
-
console.log("res", response);
|
|
221
217
|
this.expiryAllExistingCurrentSession(this.consumingProjectAuthService.userName, newPassword);
|
|
222
218
|
}, (err) => {
|
|
223
219
|
this.noOfAttempts += 1;
|
|
@@ -275,7 +271,6 @@ export class AnnaLibAuthService {
|
|
|
275
271
|
async onLoginInCogntioToGetAccessToken(username, password) {
|
|
276
272
|
try {
|
|
277
273
|
const { nextStep } = await signIn({ username, password });
|
|
278
|
-
console.log("nextstep", nextStep);
|
|
279
274
|
switch (nextStep?.signInStep) {
|
|
280
275
|
case "DONE":
|
|
281
276
|
this.setAccessAndIDTokens(await (await fetchAuthSession()).tokens);
|
|
@@ -300,7 +295,7 @@ export class AnnaLibAuthService {
|
|
|
300
295
|
// do nothing
|
|
301
296
|
}
|
|
302
297
|
}
|
|
303
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaLibAuthService, deps: [{ token: i1.Router }, { token: i2.AnnaLibAclService }, { token: i3.HttpClient }, { token: i4.ToastrService }, { token: SSO_LOGIN_SERVICE_TOKEN
|
|
298
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaLibAuthService, deps: [{ token: i1.Router }, { token: i2.AnnaLibAclService }, { token: i3.HttpClient }, { token: i4.ToastrService }, { token: SSO_LOGIN_SERVICE_TOKEN }, { token: AUTH_SERVICE_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
304
299
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaLibAuthService, providedIn: "root" }); }
|
|
305
300
|
}
|
|
306
301
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaLibAuthService, decorators: [{
|
|
@@ -309,12 +304,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
309
304
|
providedIn: "root",
|
|
310
305
|
}]
|
|
311
306
|
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.AnnaLibAclService }, { type: i3.HttpClient }, { type: i4.ToastrService }, { type: undefined, decorators: [{
|
|
312
|
-
type: Optional
|
|
313
|
-
}, {
|
|
314
307
|
type: Inject,
|
|
315
308
|
args: [SSO_LOGIN_SERVICE_TOKEN]
|
|
316
309
|
}] }, { type: undefined, decorators: [{
|
|
317
310
|
type: Inject,
|
|
318
311
|
args: [AUTH_SERVICE_TOKEN]
|
|
319
312
|
}] }]; } });
|
|
320
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb2duaXRvLWxpYi9zcmMvbGliL3NlcnZpY2VzL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCw2REFBNkQ7QUFDN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLGdDQUFnQztBQUNoQyxPQUFPLEVBRUgsb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLGFBQWEsRUFDYixNQUFNLEVBRU4sT0FBTyxHQUNWLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUzQyxpQ0FBaUM7QUFDakMsT0FBTyxFQUFFLGtCQUFrQixFQUFnQixNQUFNLDhCQUE4QixDQUFDO0FBQ2hGLE9BQU8sRUFBb0IsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFLbEQsTUFBTSxPQUFPLGtCQUFrQjtJQVkzQixZQUNZLE1BQWMsRUFDZixVQUE2QixFQUM3QixVQUFzQixFQUNyQixNQUFxQixFQUN1QiwrQkFBaUQsRUFDbEUsMkJBQXlDO1FBTHBFLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQWU7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WyIvLyBBbmd1bGFyIGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG4vLyBUaGlyZCBwYXJ0eSBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQge1xyXG4gICAgQXV0aFRva2VucyxcclxuICAgIGNvbmZpcm1SZXNldFBhc3N3b3JkLFxyXG4gICAgY29uZmlybVNpZ25JbixcclxuICAgIGZldGNoQXV0aFNlc3Npb24sXHJcbiAgICBnZXRDdXJyZW50VXNlcixcclxuICAgIHJlc2V0UGFzc3dvcmQsXHJcbiAgICBzaWduSW4sXHJcbiAgICBTaWduSW5JbnB1dCxcclxuICAgIHNpZ25PdXQsXHJcbn0gZnJvbSBcImF3cy1hbXBsaWZ5L2F1dGhcIjtcclxuaW1wb3J0IHsgVG9hc3RyU2VydmljZSB9IGZyb20gXCJuZ3gtdG9hc3RyXCI7XHJcblxyXG4vLyBVc2VyIGRlZmluZWQgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgQVVUSF9TRVJWSUNFX1RPS0VOLCBJQXV0aFNlcnZpY2UgfSBmcm9tIFwiLi4vY29uZmlnL2F1dGgtc2VydmljZS50b2tlblwiO1xyXG5pbXBvcnQgeyBJU1NPTG9naW5TZXJ2aWNlLCBTU09fTE9HSU5fU0VSVklDRV9UT0tFTiB9IGZyb20gXCIuLi9jb25maWcvc3NvLWxvZ2luLXNlcnZpY2UudG9rZW5cIjtcclxuaW1wb3J0IHsgTG9naW5Db25zdGFudCB9IGZyb20gXCIuLi9jb25zdGFudHMvbG9naW5Db25zdGFudFwiO1xyXG5pbXBvcnQgeyBBbm5hTGliQWNsU2VydmljZSB9IGZyb20gXCIuL2FjbC5zZXJ2aWNlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFMaWJBdXRoU2VydmljZSB7XHJcbiAgICBsb2dpbkVycm9yTWVzc2FnZTogc3RyaW5nIHwgbnVsbDtcclxuICAgIHNldE5ld1Bhc3N3b3JkRXJyb3JNZXNzYWdlOiBzdHJpbmc7XHJcbiAgICBzZXROZXdQYXNzd29yZEJ1dHRvbk1lc3NhZ2U6IHN0cmluZztcclxuICAgIHZlcmlmeUFuZFNldE5ld1Bhc3N3b3JkRXJyb3JNZXNzYWdlOiBzdHJpbmc7XHJcbiAgICB2ZXJpZnlBbmRTZXROZXdQYXNzd29yZE1lc3NhZ2U6IHN0cmluZztcclxuICAgIHZlcmlmeUFuZFNldE5ld1Bhc3N3b3JkQnV0dG9uOiBzdHJpbmc7XHJcbiAgICBub09mQXR0ZW1wdHMgPSAwO1xyXG4gICAgc2Vzc2lvbkxvY2tlZCA9IGZhbHNlO1xyXG4gICAgYWNjZXNzVG9rZW5UaW1lcklkOiBhbnk7XHJcbiAgICBmb3Jnb3RQYXNzd29yZEFuZEdsb2JhbFNpZ25vdXRMb2FkZXI6IGJvb2xlYW47XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICBwdWJsaWMgYWNsU2VydmljZTogQW5uYUxpYkFjbFNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICAgICAgcHJpdmF0ZSB0b2FzdHI6IFRvYXN0clNlcnZpY2UsXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChTU09fTE9HSU5fU0VSVklDRV9UT0tFTikgcHVibGljIGNvbnN1bWluZ1Byb2plY3RTU09Mb2dpblNlcnZpY2U6IElTU09Mb2dpblNlcnZpY2UsXHJcbiAgICAgICAgQEluamVjdChBVVRIX1NFUlZJQ0VfVE9LRU4pIHB1YmxpYyBjb25zdW1pbmdQcm9qZWN0QXV0aFNlcnZpY2U6IElBdXRoU2VydmljZSxcclxuICAgICkge1xyXG4gICAgICAgIGlmICghY29uc3VtaW5nUHJvamVjdEF1dGhTZXJ2aWNlKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIllvdSBtdXN0IHByb3ZpZGUgYSBhdXRoU2VydmljZVwiKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgaXNVc2VyTG9nZ2VkSW4oKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgLy8gYXdhaXQgZ2V0Q3VycmVudFVzZXIoKTtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHNlc3Npb246IGFueSA9IGF3YWl0IGZldGNoQXV0aFNlc3Npb24oKTtcclxuICAgICAgICAgICAgICAgIGlmIChzZXNzaW9uPy50b2tlbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnN1bWluZ1Byb2plY3RBdXRoU2VydmljZS5JZFRva2VuID0gc2Vzc2lvbj8udG9rZW5zLmlkVG9rZW4udG9TdHJpbmcoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnN1bWluZ1Byb2plY3RBdXRoU2VydmljZS5nZXRBbGxDb2duaXRvVG9rZW5BbmRHcm91cHMoc2Vzc2lvbi50b2tlbnMpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUodHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyLmVycm9yKExvZ2luQ29uc3RhbnQuc2Vzc2lvbkV4cGlyZWRFcnJvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVTaWduT3V0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmFjY2Vzc1Rva2VuVGltZXJJZCk7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNlc3Npb25UaW1lb3V0KCkge1xyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5jbGVhcigpO1xyXG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5hY2Nlc3NUb2tlblRpbWVySWQpO1xyXG4gICAgICAgIGxldCBhZnRlckxvZ291dFJlZGlyZWN0VG86IHN0cmluZztcclxuICAgICAgICBpZiAodGhpcy5jb25zdW1pbmdQcm9qZWN0U1NPTG9naW5TZXJ2aWNlKSB7XHJcbiAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgIHRoaXMuY29uc3VtaW5nUHJvamVjdFNTT0xvZ2luU2VydmljZT8uaXNTc29JbnRlZ3JhdGVkICYmXHJcbiAgICAgICAgICAgICAgICAhdGhpcy5jb25zdW1pbmdQcm9qZWN0U1NPTG9naW5TZXJ2aWNlLmxvZ2dlZEluVmlhU3NvXHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgYWZ0ZXJMb2dvdXRSZWRpcmVjdFRvID0gTG9naW5Db25zdGFudC5jb1BpbG90bG9naW5QYWdlVXJsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgYWZ0ZXJMb2dvdXRSZWRpcmVjdFRvID0gTG9naW5Db25zdGFudC5sb2dpblBhZ2VVcmw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFthZnRlckxvZ291dFJlZGlyZWN0VG9dKTtcclxuICAgIH1cclxuXHJcbiAgICBjb21wdXRlVG9rZW5FeHBpcmF0aW9uKGlkVG9rZW46IGFueSkge1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7XHJcbiAgICAgICAgY29uc3QgdG9rZW5UaW1lID0gaWRUb2tlbi5wYXlsb2FkLmV4cDtcclxuICAgICAgICBjb25zdCBleHBUaW1lID0gKHRva2VuVGltZSAtIGN1cnJlbnRUaW1lKSAqIDEwMDA7XHJcbiAgICAgICAgcmV0dXJuIGV4cFRpbWU7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgaGFuZGxlU2lnbkluKHsgdXNlcm5hbWUsIHBhc3N3b3JkIH06IFNpZ25JbklucHV0KSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3Qgc2Vzc2lvbiA9IGF3YWl0IGZldGNoQXV0aFNlc3Npb24oKTtcclxuICAgICAgICAgICAgaWYgKHNlc3Npb24/LnRva2Vucykge1xyXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5oYW5kbGVTaWduT3V0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3QgeyBuZXh0U3RlcCB9ID0gYXdhaXQgc2lnbkluKHsgdXNlcm5hbWUsIHBhc3N3b3JkIH0pO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKG5leHRTdGVwPy5zaWduSW5TdGVwKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwiRE9ORVwiOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXV0aFNlc3Npb24gPSBhd2FpdCBmZXRjaEF1dGhTZXNzaW9uKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkxvZ2luT3JTZXROZXdQYXNzd29yZChhdXRoU2Vzc2lvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5jb25zdW1pbmdQcm9qZWN0QXV0aFNlcnZpY2Uub25TdWNjZXNzZnVsQXV0aGVudGljYXRpbmdVc2VyKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnN1bWluZ1Byb2plY3RBdXRoU2VydmljZS5nZXRBbGxDb2duaXRvVG9rZW5BbmRHcm91cHMoYXV0aFNlc3Npb24udG9rZW5zKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlZnJlc2hBY2Nlc3NUb2tlbigpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY2FzZSBcIkNPTkZJUk1fU0lHTl9JTl9XSVRIX05FV19QQVNTV09SRF9SRVFVSVJFRFwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29uc3VtaW5nUHJvamVjdEF1dGhTZXJ2aWNlLmlzTG9nZ2luZ0luID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25zdW1pbmdQcm9qZWN0QXV0aFNlcnZpY2UudXNlck5hbWUgPSB1c2VybmFtZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbTG9naW5Db25zdGFudC5zZXROZXdQYXNzd29yZFVybF0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0TmV3UGFzc3dvcmRFcnJvck1lc3NhZ2UgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgIGNhc2UgXCJSRVNFVF9QQVNTV09SRFwiOlxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIG5vIGRlZmF1bHRcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcclxuICAgICAgICAgICAgdGhpcy5jb25zdW1pbmdQcm9qZWN0QXV0aFNlcnZpY2UuaXNMb2dnaW5nSW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgaWYgKGVycm9yPy5tZXNzYWdlID09PSBMb2dpbkNvbnN0YW50LnRlbXBQYXNzd29yZEV4cGlyeUVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2luRXJyb3JNZXNzYWdlID0gTG9naW5Db25zdGFudC50ZW1wUGFzc3dvcmRPbkV4cGlyeUVycm9yTXNnO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb25zdW1pbmdQcm9qZWN0QXV0aFNlcnZpY2Uuc2VuZFJlZ2VuZXJhdGlvbkVtYWlsKHVzZXJuYW1lKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChlcnJvcj8ubWVzc2FnZSA9PT0gXCJQYXNzd29yZCBhdHRlbXB0cyBleGNlZWRlZFwiKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2luRXJyb3JNZXNzYWdlID0gTG9naW5Db25zdGFudC5hdHRlbXB0TGltaXRFeGNlZWRlZDtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9naW5FcnJvck1lc3NhZ2UgPSB0aGlzLmNvbnN1bWluZ1Byb2plY3RTU09Mb2dpblNlcnZpY2U/LmlzU3NvSW50ZWdyYXRlZFxyXG4gICAgICAgICAgICAgICAgICAgID8gTG9naW5Db25zdGFudC51c2VyQ29kZVBhc3N3b3JkSW5jb3JyZWN0XHJcbiAgICAgICAgICAgICAgICAgICAgOiBMb2dpbkNvbnN0YW50LnVzZXJOYW1lUGFzc3dvcmRJbmNvcnJlY3Q7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25Mb2dpbk9yU2V0TmV3UGFzc3dvcmQoc2Vzc2lvbjogYW55KSB7XHJcbiAgICAgICAgY29uc3QgbmV3RXhwVGltZSA9IHRoaXMuY29tcHV0ZVRva2VuRXhwaXJhdGlvbihzZXNzaW9uLnRva2Vucy5pZFRva2VuKTtcclxuICAgICAgICB0aGlzLmNvbnN1bWluZ1Byb2plY3RBdXRoU2VydmljZS5hY2Nlc3NUb2tlbiA9IHNlc3Npb24udG9rZW5zLmFjY2Vzc1Rva2VuLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgdGhpcy5jb25zdW1pbmdQcm9qZWN0QXV0aFNlcnZpY2UuSWRUb2tlbiA9IHNlc3Npb24udG9rZW5zLmlkVG9rZW4udG9TdHJpbmcoKTtcclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImFjY2Vzc1Rva2VuRXhwaXJhdGlvblwiLCBuZXdFeHBUaW1lLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgIHRoaXMucmVmcmVzaEFjY2Vzc1Rva2VuKCk7XHJcbiAgICAgICAgdGhpcy5sb2dpbkVycm9yTWVzc2FnZSA9IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0QWNjZXNzQW5kSURUb2tlbnModG9rZW46IEF1dGhUb2tlbnMpIHtcclxuICAgICAgICB0aGlzLmNvbnN1bWluZ1Byb2plY3RBdXRoU2VydmljZS5hY2Nlc3NUb2tlbiA9IHRva2VuPy5hY2Nlc3NUb2tlbj8udG9TdHJpbmcoKTtcclxuICAgICAgICB0aGlzLmNvbnN1bWluZ1Byb2plY3RBdXRoU2VydmljZS5JZFRva2VuID0gdG9rZW4/LmlkVG9rZW47XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0QWxsQ29nbml0b1Rva2VuQW5kR3JvdXBzKHRva2VuOiBBdXRoVG9rZW5zKSB7XHJcbiAgICAgICAgdGhpcy5zZXRBY2Nlc3NBbmRJRFRva2Vucyh0b2tlbik7XHJcbiAgICAgICAgaWYgKFwiY29nbml0bzpncm91cHNcIiBpbiB0b2tlbi5hY2Nlc3NUb2tlbi5wYXlsb2FkKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHVzZXJHcm91cHNJbkNvZ25pdG9KV1Q6IGFueSA9IHRva2VuLmFjY2Vzc1Rva2VuLnBheWxvYWRbXCJjb2duaXRvOmdyb3Vwc1wiXTtcclxuICAgICAgICAgICAgdGhpcy5hY2xTZXJ2aWNlLnVzZXJHcm91cHNJbkNvZ25pdG9KV1QgPSB1c2VyR3JvdXBzSW5Db2duaXRvSldUO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWNsU2VydmljZS51c2VyR3JvdXBzSW5Db2duaXRvSldUID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlZnJlc2hBY2Nlc3NUb2tlbigpIHtcclxuICAgICAgICBjb25zdCBhY2Nlc3NUb2tlbkV4cGlyYXRpb24gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImFjY2Vzc1Rva2VuRXhwaXJhdGlvblwiKTtcclxuICAgICAgICBsZXQgZXhwVGltZSA9IGFjY2Vzc1Rva2VuRXhwaXJhdGlvbiA/IHBhcnNlSW50KGFjY2Vzc1Rva2VuRXhwaXJhdGlvbiwgMTApIDogMDtcclxuICAgICAgICB0aGlzLmFjY2Vzc1Rva2VuVGltZXJJZCA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgICAgICAgbGV0IGNvdW50ZXIgPSAxMDAwO1xyXG4gICAgICAgICAgICBjb25zdCBkZWxheUZ1bmN0aW9uID0gc2V0VGltZW91dChhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlc3Npb24gPSBhd2FpdCBmZXRjaEF1dGhTZXNzaW9uKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdG9rZW4gPSBzZXNzaW9uLnRva2VucztcclxuICAgICAgICAgICAgICAgICAgICBpZiAodG9rZW4pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25zdW1pbmdQcm9qZWN0QXV0aFNlcnZpY2UuZ2V0QWxsQ29nbml0b1Rva2VuQW5kR3JvdXBzKHRva2VuKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5ld0V4cFRpbWUgPSB0aGlzLmNvbXB1dGVUb2tlbkV4cGlyYXRpb24odGhpcy5jb25zdW1pbmdQcm9qZWN0QXV0aFNlcnZpY2UuSWRUb2tlbik7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobmV3RXhwVGltZSA8PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdFeHBUaW1lID0gMTAwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50ZXIgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRlbGF5RnVuY3Rpb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGRlbGF5RnVuY3Rpb24pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cFRpbWUgPSBuZXdFeHBUaW1lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImFjY2Vzc1Rva2VuRXhwaXJhdGlvblwiLCBuZXdFeHBUaW1lLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMuYWNjZXNzVG9rZW5UaW1lcklkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoQWNjZXNzVG9rZW4oKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0ci5lcnJvcihMb2dpbkNvbnN0YW50LnNlc3Npb25FeHBpcmVkRXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVNpZ25PdXQoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyLmVycm9yKExvZ2luQ29uc3RhbnQuc2Vzc2lvbkV4cGlyZWRFcnJvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVTaWduT3V0KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sIGNvdW50ZXIpO1xyXG4gICAgICAgIH0sIGV4cFRpbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGNoYW5nZVBhc3N3b3JkKG5ld1Bhc3N3b3JkOiBzdHJpbmcpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBpbnB1dFBhcmFtID0ge1xyXG4gICAgICAgICAgICAgICAgY2hhbGxlbmdlUmVzcG9uc2U6IG5ld1Bhc3N3b3JkLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgY29uZmlybVNpZ25JbihpbnB1dFBhcmFtKTtcclxuICAgICAgICAgICAgY29uc3QgeyB1c2VybmFtZSB9ID0gYXdhaXQgZ2V0Q3VycmVudFVzZXIoKTtcclxuICAgICAgICAgICAgY29uc3Qgc2Vzc2lvbiA9IGF3YWl0IGZldGNoQXV0aFNlc3Npb24oKTtcclxuICAgICAgICAgICAgdGhpcy5vbkxvZ2luT3JTZXROZXdQYXNzd29yZChzZXNzaW9uKTtcclxuICAgICAgICAgICAgdGhpcy5jb25zdW1pbmdQcm9qZWN0QXV0aFNlcnZpY2Uub25QYXNzd29yZFVwZGF0ZSh1c2VybmFtZSk7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtMb2dpbkNvbnN0YW50LmxvZ2luUGFnZVVybF0pO1xyXG4gICAgICAgICAgICB0aGlzLmNvbnN1bWluZ1Byb2plY3RBdXRoU2VydmljZS5uZXdQYXNzd29yZFNldFRoZW5VcGRhdGVUb0JhY2tlbmQodXNlcm5hbWUpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgICB0aGlzLnNldE5ld1Bhc3N3b3JkRXJyb3JNZXNzYWdlID0gTG9naW5Db25zdGFudC5zZXNzaW9uRXhwaXJlZDtcclxuICAgICAgICAgICAgdGhpcy5zZXROZXdQYXNzd29yZEJ1dHRvbk1lc3NhZ2UgPSBMb2dpbkNvbnN0YW50LmxvZ2luQWdhaW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIG9uRm9yZ290UGFzc3dvcmRHZW5lcmF0ZU9UUChlbWFpbDogc3RyaW5nKSB7XHJcbiAgICAgICAgY29uc3QgdXNlcm5hbWUgPSBlbWFpbDtcclxuICAgICAgICB0aGlzLmNvbnN1bWluZ1Byb2plY3RBdXRoU2VydmljZS51c2VyTmFtZSA9IGVtYWlsO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdDogYW55ID0gYXdhaXQgcmVzZXRQYXNzd29yZCh7IHVzZXJuYW1lIH0pO1xyXG4gICAgICAgICAgICB0aGlzLnZlcmlmeUFuZFNldE5ld1Bhc3N3b3JkTWVzc2FnZSA9XHJcbiAgICAgICAgICAgICAgICBMb2dpbkNvbnN0YW50LnZlcmlmeUFuZFNldE5ld1Bhc3N3b3JkTWVzc2FnZSArXHJcbiAgICAgICAgICAgICAgICAocmVzdWx0Py5uZXh0U3RlcD8uY29kZURlbGl2ZXJ5RGV0YWlscz8uZGVzdGluYXRpb24gPz8gXCJcIikgK1xyXG4gICAgICAgICAgICAgICAgTG9naW5Db25zdGFudC5wbGVhc2VFbnRlckl0QmVsb3c7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtMb2dpbkNvbnN0YW50LnZlcmlmeUFuZFNldE5ld1Bhc3N3b3JkVXJsXSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICAgIC8vIGRvIG5vdGhpbmdcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgdmVyaWZ5Q29kZShjb25maXJtYXRpb25Db2RlOiBzdHJpbmcsIG5ld1Bhc3N3b3JkOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmNvbnN1bWluZ1Byb2plY3RBdXRoU2VydmljZS51c2VyTmFtZSk7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uZmlybVJlc2V0UGFzc3dvcmQoe1xyXG4gICAgICAgICAgICAgICAgdXNlcm5hbWU6IHRoaXMuY29uc3VtaW5nUHJvamVjdEF1dGhTZXJ2aWNlLnVzZXJOYW1lLFxyXG4gICAgICAgICAgICAgICAgbmV3UGFzc3dvcmQsXHJcbiAgICAgICAgICAgICAgICBjb25maXJtYXRpb25Db2RlLFxyXG4gICAgICAgICAgICB9KS50aGVuKFxyXG4gICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJyZXNcIixyZXNwb25zZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5leHBpcnlBbGxFeGlzdGluZ0N1cnJlbnRTZXNzaW9uKHRoaXMuY29uc3VtaW5nUHJvamVjdEF1dGhTZXJ2aWNlLnVzZXJOYW1lLCBuZXdQYXNzd29yZCk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm9PZkF0dGVtcHRzICs9IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52ZXJpZnlBbmRTZXROZXdQYXNzd29yZEVycm9yTWVzc2FnZSA9IHRoaXMuZm9yZ290UGFzc3dvcmRFcnJvcihlcnIsIHRoaXMubm9PZkF0dGVtcHRzKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICAgIHRoaXMubm9PZkF0dGVtcHRzICs9IDE7XHJcbiAgICAgICAgICAgIHRoaXMudmVyaWZ5QW5kU2V0TmV3UGFzc3dvcmRFcnJvck1lc3NhZ2UgPSB0aGlzLmZvcmdvdFBhc3N3b3JkRXJyb3IoZXJyLCB0aGlzLm5vT2ZBdHRlbXB0cyk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgdGhpcy5mb3Jnb3RQYXNzd29yZEFuZEdsb2JhbFNpZ25vdXRMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZm9yZ290UGFzc3dvcmRFcnJvcihlcnI6IGFueSwgbm9PZkF0dGVtcHRzOiBudW1iZXIpIHtcclxuICAgICAgICBsZXQgZXJyb3JNZXNzYWdlID0gXCJcIjtcclxuICAgICAgICBjb25zdCBlcnJvclRocm93biA9IEpTT04uc3RyaW5naWZ5KGVycik7XHJcbiAgICAgICAgaWYgKGVycm9yVGhyb3duLmluY2x1ZGVzKFwiTGltaXRFeGNlZWRlZEV4Y2VwdGlvblwiKSkge1xyXG4gICAgICAgICAgICB0aGlzLnNlc3Npb25Mb2NrZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBMb2dpbkNvbnN0YW50LmF0dGVtcHRMaW1pdEV4Y2VlZGVkO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZXJyb3JUaHJvd24uaW5jbHVkZXMoXCJFeHBpcmVkQ29kZUV4Y2VwdGlvblwiKSkge1xyXG4gICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBMb2dpbkNvbnN0YW50LnNlc3Npb25FeHBpcmVkO1xyXG4gICAgICAgICAgICB0aGlzLnZlcmlmeUFuZFNldE5ld1Bhc3N3b3JkQnV0dG9uID0gTG9naW5Db25zdGFudC5yZWdlbmVyYXRlT3RwO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGVycm9yTWVzc2FnZSA9IGAke0xvZ2luQ29uc3RhbnQuYXR0ZW1wdH0gJHtub09mQXR0ZW1wdHN9JHtMb2dpbkNvbnN0YW50LmF0dGVtcHRNZXNzYWdlfWA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBlcnJvck1lc3NhZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2lnbkluV2l0aFNTTygpIHtcclxuICAgICAgICBjb25zdCBzZXNzaW9uID0gYXdhaXQgZmV0Y2hBdXRoU2Vzc2lvbigpO1xyXG4gICAgICAgIGlmIChzZXNzaW9uPy50b2tlbnMpIHtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5oYW5kbGVTaWduT3V0KCkudGhlbigocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29uc3VtaW5nUHJvamVjdEF1dGhTZXJ2aWNlLnNpZ25JbldpdGhTU08oKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5jb25zdW1pbmdQcm9qZWN0QXV0aFNlcnZpY2Uuc2lnbkluV2l0aFNTTygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBoYW5kbGVTaWduT3V0KCkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHNpZ25PdXQoeyBnbG9iYWw6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICB0aGlzLnNlc3Npb25UaW1lb3V0KCk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgLy8gZG8gbm90aGluZ1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBleHBpcnlBbGxFeGlzdGluZ0N1cnJlbnRTZXNzaW9uKHVzZXJuYW1lOiBzdHJpbmcsIG5ld1Bhc3N3b3JkOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmxvZ2luRXJyb3JNZXNzYWdlID0gbnVsbDtcclxuICAgICAgICB0aGlzLm9uTG9naW5JbkNvZ250aW9Ub0dldEFjY2Vzc1Rva2VuKHVzZXJuYW1lLCBuZXdQYXNzd29yZCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgb25Mb2dpbkluQ29nbnRpb1RvR2V0QWNjZXNzVG9rZW4odXNlcm5hbWU6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZykge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgbmV4dFN0ZXAgfSA9IGF3YWl0IHNpZ25Jbih7IHVzZXJuYW1lLCBwYXNzd29yZCB9KTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJuZXh0c3RlcFwiLG5leHRTdGVwKVxyXG4gICAgICAgICAgICBzd2l0Y2ggKG5leHRTdGVwPy5zaWduSW5TdGVwKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwiRE9ORVwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0QWNjZXNzQW5kSURUb2tlbnMoYXdhaXQgKGF3YWl0IGZldGNoQXV0aFNlc3Npb24oKSkudG9rZW5zKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnN1bWluZ1Byb2plY3RBdXRoU2VydmljZS5vblBhc3N3b3JkVXBkYXRlKHRoaXMuY29uc3VtaW5nUHJvamVjdEF1dGhTZXJ2aWNlLnVzZXJOYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uQ2FsbEdsb2JhbFNpZ25vdXQoKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIC8vIG5vIGRlZmF1bHRcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcclxuICAgICAgICAgICAgdGhpcy5ub09mQXR0ZW1wdHMgKz0gMTtcclxuICAgICAgICAgICAgdGhpcy52ZXJpZnlBbmRTZXROZXdQYXNzd29yZEVycm9yTWVzc2FnZSA9IHRoaXMuZm9yZ290UGFzc3dvcmRFcnJvcihlcnJvciwgdGhpcy5ub09mQXR0ZW1wdHMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBvbkNhbGxHbG9iYWxTaWdub3V0KCkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHNpZ25PdXQoeyBnbG9iYWw6IHRydWUgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuZm9yZ290UGFzc3dvcmRBbmRHbG9iYWxTaWdub3V0TG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtMb2dpbkNvbnN0YW50LmxvZ2luUGFnZVVybF0pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIC8vIGRvIG5vdGhpbmdcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
313
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb2duaXRvLWxpYi9zcmMvbGliL3NlcnZpY2VzL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELDZEQUE2RDtBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsZ0NBQWdDO0FBQ2hDLE9BQU8sRUFFSCxvQkFBb0IsRUFDcEIsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixjQUFjLEVBQ2QsYUFBYSxFQUNiLE1BQU0sRUFFTixPQUFPLEdBQ1YsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTNDLGlDQUFpQztBQUNqQyxPQUFPLEVBQUUsa0JBQWtCLEVBQWdCLE1BQU0sOEJBQThCLENBQUM7QUFDaEYsT0FBTyxFQUFvQix1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzlGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQUtsRCxNQUFNLE9BQU8sa0JBQWtCO0lBWTNCLFlBQ1ksTUFBYyxFQUNmLFVBQTZCLEVBQzdCLFVBQXNCLEVBQ3JCLE1BQXFCLEVBQ1csK0JBQWlELEVBQ3RELDJCQUF5QztRQUxwRSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2YsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFDN0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ1csb0NBQStC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QkFDN0YsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7b0JBQzNCLE1BQU07Z0JBQ1YsYUFBYTthQUNoQjtTQUNKO1FBQUMsT0FBTyxLQUFVLEVBQUU7WUFDakIsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUM7WUFDdkIsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ2pHO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxtQkFBbUI7UUFDckIsSUFBSTtZQUNBLE1BQU0sT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLG9DQUFvQyxHQUFHLEtBQUssQ0FBQztZQUNsRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1NBQ3REO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDWixhQUFhO1NBQ2hCO0lBQ0wsQ0FBQzsrR0F0U1Esa0JBQWtCLGdJQWlCZix1QkFBdUIsYUFDdkIsa0JBQWtCO21IQWxCckIsa0JBQWtCLGNBRmYsTUFBTTs7NEZBRVQsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBa0JRLE1BQU07MkJBQUMsdUJBQXVCOzswQkFDOUIsTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyIGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbi8vIFRoaXJkIHBhcnR5IGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7XHJcbiAgICBBdXRoVG9rZW5zLFxyXG4gICAgY29uZmlybVJlc2V0UGFzc3dvcmQsXHJcbiAgICBjb25maXJtU2lnbkluLFxyXG4gICAgZmV0Y2hBdXRoU2Vzc2lvbixcclxuICAgIGdldEN1cnJlbnRVc2VyLFxyXG4gICAgcmVzZXRQYXNzd29yZCxcclxuICAgIHNpZ25JbixcclxuICAgIFNpZ25JbklucHV0LFxyXG4gICAgc2lnbk91dCxcclxufSBmcm9tIFwiYXdzLWFtcGxpZnkvYXV0aFwiO1xyXG5pbXBvcnQgeyBUb2FzdHJTZXJ2aWNlIH0gZnJvbSBcIm5neC10b2FzdHJcIjtcclxuXHJcbi8vIFVzZXIgZGVmaW5lZCBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBBVVRIX1NFUlZJQ0VfVE9LRU4sIElBdXRoU2VydmljZSB9IGZyb20gXCIuLi9jb25maWcvYXV0aC1zZXJ2aWNlLnRva2VuXCI7XHJcbmltcG9ydCB7IElTU09Mb2dpblNlcnZpY2UsIFNTT19MT0dJTl9TRVJWSUNFX1RPS0VOIH0gZnJvbSBcIi4uL2NvbmZpZy9zc28tbG9naW4tc2VydmljZS50b2tlblwiO1xyXG5pbXBvcnQgeyBMb2dpbkNvbnN0YW50IH0gZnJvbSBcIi4uL2NvbnN0YW50cy9sb2dpbkNvbnN0YW50XCI7XHJcbmltcG9ydCB7IEFubmFMaWJBY2xTZXJ2aWNlIH0gZnJvbSBcIi4vYWNsLnNlcnZpY2VcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYUxpYkF1dGhTZXJ2aWNlIHtcclxuICAgIGxvZ2luRXJyb3JNZXNzYWdlOiBzdHJpbmcgfCBudWxsO1xyXG4gICAgc2V0TmV3UGFzc3dvcmRFcnJvck1lc3NhZ2U6IHN0cmluZztcclxuICAgIHNldE5ld1Bhc3N3b3JkQnV0dG9uTWVzc2FnZTogc3RyaW5nO1xyXG4gICAgdmVyaWZ5QW5kU2V0TmV3UGFzc3dvcmRFcnJvck1lc3NhZ2U6IHN0cmluZztcclxuICAgIHZlcmlmeUFuZFNldE5ld1Bhc3N3b3JkTWVzc2FnZTogc3RyaW5nO1xyXG4gICAgdmVyaWZ5QW5kU2V0TmV3UGFzc3dvcmRCdXR0b246IHN0cmluZztcclxuICAgIG5vT2ZBdHRlbXB0cyA9IDA7XHJcbiAgICBzZXNzaW9uTG9ja2VkID0gZmFsc2U7XHJcbiAgICBhY2Nlc3NUb2tlblRpbWVySWQ6IGFueTtcclxuICAgIGZvcmdvdFBhc3N3b3JkQW5kR2xvYmFsU2lnbm91dExvYWRlcjogYm9vbGVhbjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgICAgIHB1YmxpYyBhY2xTZXJ2aWNlOiBBbm5hTGliQWNsU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgaHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgICAgICBwcml2YXRlIHRvYXN0cjogVG9hc3RyU2VydmljZSxcclxuICAgICAgICBASW5qZWN0KFNTT19MT0dJTl9TRVJWSUNFX1RPS0VOKSBwdWJsaWMgY29uc3VtaW5nUHJvamVjdFNTT0xvZ2luU2VydmljZTogSVNTT0xvZ2luU2VydmljZSxcclxuICAgICAgICBASW5qZWN0KEFVVEhfU0VSVklDRV9UT0tFTikgcHVibGljIGNvbnN1bWluZ1Byb2plY3RBdXRoU2VydmljZTogSUF1dGhTZXJ2aWNlLFxyXG4gICAgKSB7XHJcbiAgICAgICAgaWYgKCFjb25zdW1pbmdQcm9qZWN0QXV0aFNlcnZpY2UpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiWW91IG11c3QgcHJvdmlkZSBhIGF1dGhTZXJ2aWNlXCIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBpc1VzZXJMb2dnZWRJbigpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvLyBhd2FpdCBnZXRDdXJyZW50VXNlcigpO1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgc2Vzc2lvbjogYW55ID0gYXdhaXQgZmV0Y2hBdXRoU2Vzc2lvbigpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHNlc3Npb24/LnRva2Vucykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29uc3VtaW5nUHJvamVjdEF1dGhTZXJ2aWNlLklkVG9rZW4gPSBzZXNzaW9uPy50b2tlbnMuaWRUb2tlbi50b1N0cmluZygpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29uc3VtaW5nUHJvamVjdEF1dGhTZXJ2aWNlLmdldEFsbENvZ25pdG9Ub2tlbkFuZEdyb3VwcyhzZXNzaW9uLnRva2Vucyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdHIuZXJyb3IoTG9naW5Db25zdGFudC5zZXNzaW9uRXhwaXJlZEVycm9yKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVNpZ25PdXQoKTtcclxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMuYWNjZXNzVG9rZW5UaW1lcklkKTtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUoZmFsc2UpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2Vzc2lvblRpbWVvdXQoKSB7XHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XHJcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmFjY2Vzc1Rva2VuVGltZXJJZCk7XHJcbiAgICAgICAgbGV0IGFmdGVyTG9nb3V0UmVkaXJlY3RUbzogc3RyaW5nO1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICAgdGhpcy5jb25zdW1pbmdQcm9qZWN0U1NPTG9naW5TZXJ2aWNlLmlzU3NvSW50ZWdyYXRlZCAmJlxyXG4gICAgICAgICAgICAhdGhpcy5jb25zdW1pbmdQcm9qZWN0U1NPTG9naW5TZXJ2aWNlLmxvZ2dlZEluVmlhU3NvXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIGFmdGVyTG9nb3V0UmVkaXJlY3RUbyA9IExvZ2luQ29uc3RhbnQuY29QaWxvdGxvZ2luUGFnZVVybDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBhZnRlckxvZ291dFJlZGlyZWN0VG8gPSBMb2dpbkNvbnN0YW50LmxvZ2luUGFnZVVybDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2FmdGVyTG9nb3V0UmVkaXJlY3RUb10pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbXB1dGVUb2tlbkV4cGlyYXRpb24oaWRUb2tlbjogYW55KSB7XHJcbiAgICAgICAgY29uc3QgY3VycmVudFRpbWUgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTtcclxuICAgICAgICBjb25zdCB0b2tlblRpbWUgPSBpZFRva2VuLnBheWxvYWQuZXhwO1xyXG4gICAgICAgIGNvbnN0IGV4cFRpbWUgPSAodG9rZW5UaW1lIC0gY3VycmVudFRpbWUpICogMTAwMDtcclxuICAgICAgICByZXR1cm4gZXhwVGltZTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBoYW5kbGVTaWduSW4oeyB1c2VybmFtZSwgcGFzc3dvcmQgfTogU2lnbkluSW5wdXQpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBzZXNzaW9uID0gYXdhaXQgZmV0Y2hBdXRoU2Vzc2lvbigpO1xyXG4gICAgICAgICAgICBpZiAoc2Vzc2lvbj8udG9rZW5zKSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZVNpZ25PdXQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zdCB7IG5leHRTdGVwIH0gPSBhd2FpdCBzaWduSW4oeyB1c2VybmFtZSwgcGFzc3dvcmQgfSk7XHJcbiAgICAgICAgICAgIHN3aXRjaCAobmV4dFN0ZXA/LnNpZ25JblN0ZXApIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJET05FXCI6IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhdXRoU2Vzc2lvbiA9IGF3YWl0IGZldGNoQXV0aFNlc3Npb24oKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uTG9naW5PclNldE5ld1Bhc3N3b3JkKGF1dGhTZXNzaW9uKTtcclxuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLmNvbnN1bWluZ1Byb2plY3RBdXRoU2VydmljZS5vblN1Y2Nlc3NmdWxBdXRoZW50aWNhdGluZ1VzZXIoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29uc3VtaW5nUHJvamVjdEF1dGhTZXJ2aWNlLmdldEFsbENvZ25pdG9Ub2tlbkFuZEdyb3VwcyhhdXRoU2Vzc2lvbi50b2tlbnMpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaEFjY2Vzc1Rva2VuKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwiQ09ORklSTV9TSUdOX0lOX1dJVEhfTkVXX1BBU1NXT1JEX1JFUVVJUkVEXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25zdW1pbmdQcm9qZWN0QXV0aFNlcnZpY2UuaXNMb2dnaW5nSW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnN1bWluZ1Byb2plY3RBdXRoU2VydmljZS51c2VyTmFtZSA9IHVzZXJuYW1lO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtMb2dpbkNvbnN0YW50LnNldE5ld1Bhc3N3b3JkVXJsXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXROZXdQYXNzd29yZEVycm9yTWVzc2FnZSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgY2FzZSBcIlJFU0VUX1BBU1NXT1JEXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gbm8gZGVmYXVsdFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnN1bWluZ1Byb2plY3RBdXRoU2VydmljZS5pc0xvZ2dpbmdJbiA9IGZhbHNlO1xyXG4gICAgICAgICAgICBpZiAoZXJyb3I/Lm1lc3NhZ2UgPT09IExvZ2luQ29uc3RhbnQudGVtcFBhc3N3b3JkRXhwaXJ5RXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9naW5FcnJvck1lc3NhZ2UgPSBMb2dpbkNvbnN0YW50LnRlbXBQYXNzd29yZE9uRXhwaXJ5RXJyb3JNc2c7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnN1bWluZ1Byb2plY3RBdXRoU2VydmljZS5zZW5kUmVnZW5lcmF0aW9uRW1haWwodXNlcm5hbWUpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGVycm9yPy5tZXNzYWdlID09PSBcIlBhc3N3b3JkIGF0dGVtcHRzIGV4Y2VlZGVkXCIpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9naW5FcnJvck1lc3NhZ2UgPSBMb2dpbkNvbnN0YW50LmF0dGVtcHRMaW1pdEV4Y2VlZGVkO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2dpbkVycm9yTWVzc2FnZSA9IHRoaXMuY29uc3VtaW5nUHJvamVjdFNTT0xvZ2luU2VydmljZS5pc1Nzb0ludGVncmF0ZWRcclxuICAgICAgICAgICAgICAgICAgICA/IExvZ2luQ29uc3RhbnQudXNlckNvZGVQYXNzd29yZEluY29ycmVjdFxyXG4gICAgICAgICAgICAgICAgICAgIDogTG9naW5Db25zdGFudC51c2VyTmFtZVBhc3N3b3JkSW5jb3JyZWN0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uTG9naW5PclNldE5ld1Bhc3N3b3JkKHNlc3Npb246IGFueSkge1xyXG4gICAgICAgIGNvbnN0IG5ld0V4cFRpbWUgPSB0aGlzLmNvbXB1dGVUb2tlbkV4cGlyYXRpb24oc2Vzc2lvbi50b2tlbnMuaWRUb2tlbik7XHJcbiAgICAgICAgdGhpcy5jb25zdW1pbmdQcm9qZWN0QXV0aFNlcnZpY2UuYWNjZXNzVG9rZW4gPSBzZXNzaW9uLnRva2Vucy5hY2Nlc3NUb2tlbi50b1N0cmluZygpO1xyXG4gICAgICAgIHRoaXMuY29uc3VtaW5nUHJvamVjdEF1dGhTZXJ2aWNlLklkVG9rZW4gPSBzZXNzaW9uLnRva2Vucy5pZFRva2VuLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJhY2Nlc3NUb2tlbkV4cGlyYXRpb25cIiwgbmV3RXhwVGltZS50b1N0cmluZygpKTtcclxuICAgICAgICB0aGlzLnJlZnJlc2hBY2Nlc3NUb2tlbigpO1xyXG4gICAgICAgIHRoaXMubG9naW5FcnJvck1lc3NhZ2UgPSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHNldEFjY2Vzc0FuZElEVG9rZW5zKHRva2VuOiBBdXRoVG9rZW5zKSB7XHJcbiAgICAgICAgdGhpcy5jb25zdW1pbmdQcm9qZWN0QXV0aFNlcnZpY2UuYWNjZXNzVG9rZW4gPSB0b2tlbj8uYWNjZXNzVG9rZW4/LnRvU3RyaW5nKCk7XHJcbiAgICAgICAgdGhpcy5jb25zdW1pbmdQcm9qZWN0QXV0aFNlcnZpY2UuSWRUb2tlbiA9IHRva2VuPy5pZFRva2VuO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldEFsbENvZ25pdG9Ub2tlbkFuZEdyb3Vwcyh0b2tlbjogQXV0aFRva2Vucykge1xyXG4gICAgICAgIHRoaXMuc2V0QWNjZXNzQW5kSURUb2tlbnModG9rZW4pO1xyXG4gICAgICAgIGlmIChcImNvZ25pdG86Z3JvdXBzXCIgaW4gdG9rZW4uYWNjZXNzVG9rZW4ucGF5bG9hZCkge1xyXG4gICAgICAgICAgICBjb25zdCB1c2VyR3JvdXBzSW5Db2duaXRvSldUOiBhbnkgPSB0b2tlbi5hY2Nlc3NUb2tlbi5wYXlsb2FkW1wiY29nbml0bzpncm91cHNcIl07XHJcbiAgICAgICAgICAgIHRoaXMuYWNsU2VydmljZS51c2VyR3JvdXBzSW5Db2duaXRvSldUID0gdXNlckdyb3Vwc0luQ29nbml0b0pXVDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmFjbFNlcnZpY2UudXNlckdyb3Vwc0luQ29nbml0b0pXVCA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZWZyZXNoQWNjZXNzVG9rZW4oKSB7XHJcbiAgICAgICAgY29uc3QgYWNjZXNzVG9rZW5FeHBpcmF0aW9uID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJhY2Nlc3NUb2tlbkV4cGlyYXRpb25cIik7XHJcbiAgICAgICAgbGV0IGV4cFRpbWUgPSBhY2Nlc3NUb2tlbkV4cGlyYXRpb24gPyBwYXJzZUludChhY2Nlc3NUb2tlbkV4cGlyYXRpb24sIDEwKSA6IDA7XHJcbiAgICAgICAgdGhpcy5hY2Nlc3NUb2tlblRpbWVySWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBjb3VudGVyID0gMTAwMDtcclxuICAgICAgICAgICAgY29uc3QgZGVsYXlGdW5jdGlvbiA9IHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZXNzaW9uID0gYXdhaXQgZmV0Y2hBdXRoU2Vzc2lvbigpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRva2VuID0gc2Vzc2lvbi50b2tlbnM7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRva2VuKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29uc3VtaW5nUHJvamVjdEF1dGhTZXJ2aWNlLmdldEFsbENvZ25pdG9Ub2tlbkFuZEdyb3Vwcyh0b2tlbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBuZXdFeHBUaW1lID0gdGhpcy5jb21wdXRlVG9rZW5FeHBpcmF0aW9uKHRoaXMuY29uc3VtaW5nUHJvamVjdEF1dGhTZXJ2aWNlLklkVG9rZW4pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ld0V4cFRpbWUgPD0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3RXhwVGltZSA9IDEwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudGVyID0gMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkZWxheUZ1bmN0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChkZWxheUZ1bmN0aW9uKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBUaW1lID0gbmV3RXhwVGltZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJhY2Nlc3NUb2tlbkV4cGlyYXRpb25cIiwgbmV3RXhwVGltZS50b1N0cmluZygpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmFjY2Vzc1Rva2VuVGltZXJJZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaEFjY2Vzc1Rva2VuKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdHIuZXJyb3IoTG9naW5Db25zdGFudC5zZXNzaW9uRXhwaXJlZEVycm9yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVTaWduT3V0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0ci5lcnJvcihMb2dpbkNvbnN0YW50LnNlc3Npb25FeHBpcmVkRXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlU2lnbk91dCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LCBjb3VudGVyKTtcclxuICAgICAgICB9LCBleHBUaW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBjaGFuZ2VQYXNzd29yZChuZXdQYXNzd29yZDogc3RyaW5nKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgaW5wdXRQYXJhbSA9IHtcclxuICAgICAgICAgICAgICAgIGNoYWxsZW5nZVJlc3BvbnNlOiBuZXdQYXNzd29yZCxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGNvbmZpcm1TaWduSW4oaW5wdXRQYXJhbSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgdXNlcm5hbWUgfSA9IGF3YWl0IGdldEN1cnJlbnRVc2VyKCk7XHJcbiAgICAgICAgICAgIGNvbnN0IHNlc3Npb24gPSBhd2FpdCBmZXRjaEF1dGhTZXNzaW9uKCk7XHJcbiAgICAgICAgICAgIHRoaXMub25Mb2dpbk9yU2V0TmV3UGFzc3dvcmQoc2Vzc2lvbik7XHJcbiAgICAgICAgICAgIHRoaXMuY29uc3VtaW5nUHJvamVjdEF1dGhTZXJ2aWNlLm9uUGFzc3dvcmRVcGRhdGUodXNlcm5hbWUpO1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbTG9naW5Db25zdGFudC5sb2dpblBhZ2VVcmxdKTtcclxuICAgICAgICAgICAgdGhpcy5jb25zdW1pbmdQcm9qZWN0QXV0aFNlcnZpY2UubmV3UGFzc3dvcmRTZXRUaGVuVXBkYXRlVG9CYWNrZW5kKHVzZXJuYW1lKTtcclxuICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXROZXdQYXNzd29yZEVycm9yTWVzc2FnZSA9IExvZ2luQ29uc3RhbnQuc2Vzc2lvbkV4cGlyZWQ7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0TmV3UGFzc3dvcmRCdXR0b25NZXNzYWdlID0gTG9naW5Db25zdGFudC5sb2dpbkFnYWluO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBvbkZvcmdvdFBhc3N3b3JkR2VuZXJhdGVPVFAoZW1haWw6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHVzZXJuYW1lID0gZW1haWw7XHJcbiAgICAgICAgdGhpcy5jb25zdW1pbmdQcm9qZWN0QXV0aFNlcnZpY2UudXNlck5hbWUgPSBlbWFpbDtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQ6IGFueSA9IGF3YWl0IHJlc2V0UGFzc3dvcmQoeyB1c2VybmFtZSB9KTtcclxuICAgICAgICAgICAgdGhpcy52ZXJpZnlBbmRTZXROZXdQYXNzd29yZE1lc3NhZ2UgPVxyXG4gICAgICAgICAgICAgICAgTG9naW5Db25zdGFudC52ZXJpZnlBbmRTZXROZXdQYXNzd29yZE1lc3NhZ2UgK1xyXG4gICAgICAgICAgICAgICAgKHJlc3VsdD8ubmV4dFN0ZXA/LmNvZGVEZWxpdmVyeURldGFpbHM/LmRlc3RpbmF0aW9uID8/IFwiXCIpICtcclxuICAgICAgICAgICAgICAgIExvZ2luQ29uc3RhbnQucGxlYXNlRW50ZXJJdEJlbG93O1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbTG9naW5Db25zdGFudC52ZXJpZnlBbmRTZXROZXdQYXNzd29yZFVybF0pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgICAvLyBkbyBub3RoaW5nXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHZlcmlmeUNvZGUoY29uZmlybWF0aW9uQ29kZTogc3RyaW5nLCBuZXdQYXNzd29yZDogc3RyaW5nKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uZmlybVJlc2V0UGFzc3dvcmQoe1xyXG4gICAgICAgICAgICAgICAgdXNlcm5hbWU6IHRoaXMuY29uc3VtaW5nUHJvamVjdEF1dGhTZXJ2aWNlLnVzZXJOYW1lLFxyXG4gICAgICAgICAgICAgICAgbmV3UGFzc3dvcmQsXHJcbiAgICAgICAgICAgICAgICBjb25maXJtYXRpb25Db2RlLFxyXG4gICAgICAgICAgICB9KS50aGVuKFxyXG4gICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5leHBpcnlBbGxFeGlzdGluZ0N1cnJlbnRTZXNzaW9uKHRoaXMuY29uc3VtaW5nUHJvamVjdEF1dGhTZXJ2aWNlLnVzZXJOYW1lLCBuZXdQYXNzd29yZCk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm9PZkF0dGVtcHRzICs9IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52ZXJpZnlBbmRTZXROZXdQYXNzd29yZEVycm9yTWVzc2FnZSA9IHRoaXMuZm9yZ290UGFzc3dvcmRFcnJvcihlcnIsIHRoaXMubm9PZkF0dGVtcHRzKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICAgIHRoaXMubm9PZkF0dGVtcHRzICs9IDE7XHJcbiAgICAgICAgICAgIHRoaXMudmVyaWZ5QW5kU2V0TmV3UGFzc3dvcmRFcnJvck1lc3NhZ2UgPSB0aGlzLmZvcmdvdFBhc3N3b3JkRXJyb3IoZXJyLCB0aGlzLm5vT2ZBdHRlbXB0cyk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgdGhpcy5mb3Jnb3RQYXNzd29yZEFuZEdsb2JhbFNpZ25vdXRMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZm9yZ290UGFzc3dvcmRFcnJvcihlcnI6IGFueSwgbm9PZkF0dGVtcHRzOiBudW1iZXIpIHtcclxuICAgICAgICBsZXQgZXJyb3JNZXNzYWdlID0gXCJcIjtcclxuICAgICAgICBjb25zdCBlcnJvclRocm93biA9IEpTT04uc3RyaW5naWZ5KGVycik7XHJcbiAgICAgICAgaWYgKGVycm9yVGhyb3duLmluY2x1ZGVzKFwiTGltaXRFeGNlZWRlZEV4Y2VwdGlvblwiKSkge1xyXG4gICAgICAgICAgICB0aGlzLnNlc3Npb25Mb2NrZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBMb2dpbkNvbnN0YW50LmF0dGVtcHRMaW1pdEV4Y2VlZGVkO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZXJyb3JUaHJvd24uaW5jbHVkZXMoXCJFeHBpcmVkQ29kZUV4Y2VwdGlvblwiKSkge1xyXG4gICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBMb2dpbkNvbnN0YW50LnNlc3Npb25FeHBpcmVkO1xyXG4gICAgICAgICAgICB0aGlzLnZlcmlmeUFuZFNldE5ld1Bhc3N3b3JkQnV0dG9uID0gTG9naW5Db25zdGFudC5yZWdlbmVyYXRlT3RwO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGVycm9yTWVzc2FnZSA9IGAke0xvZ2luQ29uc3RhbnQuYXR0ZW1wdH0gJHtub09mQXR0ZW1wdHN9JHtMb2dpbkNvbnN0YW50LmF0dGVtcHRNZXNzYWdlfWA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBlcnJvck1lc3NhZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2lnbkluV2l0aFNTTygpIHtcclxuICAgICAgICBjb25zdCBzZXNzaW9uID0gYXdhaXQgZmV0Y2hBdXRoU2Vzc2lvbigpO1xyXG4gICAgICAgIGlmIChzZXNzaW9uPy50b2tlbnMpIHtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5oYW5kbGVTaWduT3V0KCkudGhlbigocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29uc3VtaW5nUHJvamVjdEF1dGhTZXJ2aWNlLnNpZ25JbldpdGhTU08oKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5jb25zdW1pbmdQcm9qZWN0QXV0aFNlcnZpY2Uuc2lnbkluV2l0aFNTTygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBoYW5kbGVTaWduT3V0KCkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHNpZ25PdXQoeyBnbG9iYWw6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICB0aGlzLnNlc3Npb25UaW1lb3V0KCk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgLy8gZG8gbm90aGluZ1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBleHBpcnlBbGxFeGlzdGluZ0N1cnJlbnRTZXNzaW9uKHVzZXJuYW1lOiBzdHJpbmcsIG5ld1Bhc3N3b3JkOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmxvZ2luRXJyb3JNZXNzYWdlID0gbnVsbDtcclxuICAgICAgICB0aGlzLm9uTG9naW5JbkNvZ250aW9Ub0dldEFjY2Vzc1Rva2VuKHVzZXJuYW1lLCBuZXdQYXNzd29yZCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgb25Mb2dpbkluQ29nbnRpb1RvR2V0QWNjZXNzVG9rZW4odXNlcm5hbWU6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZykge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgbmV4dFN0ZXAgfSA9IGF3YWl0IHNpZ25Jbih7IHVzZXJuYW1lLCBwYXNzd29yZCB9KTtcclxuICAgICAgICAgICAgc3dpdGNoIChuZXh0U3RlcD8uc2lnbkluU3RlcCkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcIkRPTkVcIjpcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEFjY2Vzc0FuZElEVG9rZW5zKGF3YWl0IChhd2FpdCBmZXRjaEF1dGhTZXNzaW9uKCkpLnRva2Vucyk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25zdW1pbmdQcm9qZWN0QXV0aFNlcnZpY2Uub25QYXNzd29yZFVwZGF0ZSh0aGlzLmNvbnN1bWluZ1Byb2plY3RBdXRoU2VydmljZS51c2VyTmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkNhbGxHbG9iYWxTaWdub3V0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAvLyBubyBkZWZhdWx0XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XHJcbiAgICAgICAgICAgIHRoaXMubm9PZkF0dGVtcHRzICs9IDE7XHJcbiAgICAgICAgICAgIHRoaXMudmVyaWZ5QW5kU2V0TmV3UGFzc3dvcmRFcnJvck1lc3NhZ2UgPSB0aGlzLmZvcmdvdFBhc3N3b3JkRXJyb3IoZXJyb3IsIHRoaXMubm9PZkF0dGVtcHRzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgb25DYWxsR2xvYmFsU2lnbm91dCgpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBzaWduT3V0KHsgZ2xvYmFsOiB0cnVlIH0pO1xyXG4gICAgICAgICAgICB0aGlzLmZvcmdvdFBhc3N3b3JkQW5kR2xvYmFsU2lnbm91dExvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbTG9naW5Db25zdGFudC5sb2dpblBhZ2VVcmxdKTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICAvLyBkbyBub3RoaW5nXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
// COMPONENTS
|
|
5
5
|
export * from "./lib/components/anna-login/anna-login.component";
|
|
6
|
-
export * from "./lib/components/catc-login/catc-login.component";
|
|
7
6
|
export * from "./lib/components/cognito-and-sso-login-container/cognito-and-sso-login-container.component";
|
|
8
7
|
export * from "./lib/components/forgot-password/forgot-password.component";
|
|
9
8
|
export * from "./lib/components/password-matching/password-matching.component";
|
|
@@ -26,4 +25,4 @@ export * from "./lib/services/sso-login.service";
|
|
|
26
25
|
export * from "./lib/directives/spinner-button";
|
|
27
26
|
// CONSTANTS
|
|
28
27
|
export * from "./lib/constants/loginConstant";
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29nbml0by1saWIvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxhQUFhO0FBQ2IsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDRGQUE0RixDQUFDO0FBQzNHLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLDhFQUE4RSxDQUFDO0FBQzdGLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMsb0ZBQW9GLENBQUM7QUFDbkcsY0FBYyw0RUFBNEUsQ0FBQztBQUUzRixXQUFXO0FBQ1gsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGtDQUFrQyxDQUFDO0FBRWpELGFBQWE7QUFDYixjQUFjLGlDQUFpQyxDQUFDO0FBRWhELFlBQVk7QUFDWixjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGFubmEtY29nbml0by1saWJcclxuICovXHJcblxyXG4vLyBDT01QT05FTlRTXHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2FubmEtbG9naW4vYW5uYS1sb2dpbi5jb21wb25lbnRcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvY29nbml0by1hbmQtc3NvLWxvZ2luLWNvbnRhaW5lci9jb2duaXRvLWFuZC1zc28tbG9naW4tY29udGFpbmVyLmNvbXBvbmVudFwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9mb3Jnb3QtcGFzc3dvcmQvZm9yZ290LXBhc3N3b3JkLmNvbXBvbmVudFwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9wYXNzd29yZC1tYXRjaGluZy9wYXNzd29yZC1tYXRjaGluZy5jb21wb25lbnRcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvcG93ZXJlZC1ieS1sb2dvLXRlbXBsYXRlL3Bvd2VyZWQtYnktbG9nby10ZW1wbGF0ZS5jb21wb25lbnRcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvc2V0LW5ldy1wYXNzd29yZC9zZXQtbmV3LXBhc3N3b3JkLmNvbXBvbmVudFwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9zc28tbG9naW4vc3NvLWxvZ2luLmNvbXBvbmVudFwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9zdXJld2F2ZXMteWVhci1sb2dvL3N1cmV3YXZlcy15ZWFyLWxvZ28uY29tcG9uZW50XCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3ZlcmlmeS1hbmQtc2V0LW5ldy1wYXNzd29yZC92ZXJpZnktYW5kLXNldC1uZXctcGFzc3dvcmQuY29tcG9uZW50XCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3ZlcnNpb24tYW5kLXRlcm0tcG9saWN5L3ZlcnNpb24tYW5kLXRlcm0tcG9saWN5LmNvbXBvbmVudFwiO1xyXG5cclxuLy8gU0VSVklDRVNcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbmZpZy9hY2wtc2VydmljZS50b2tlblwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29uZmlnL2F1dGgtc2VydmljZS50b2tlblwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29uZmlnL2NvbmZpZy1zZXJ2aWNlLnRva2VuXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb25maWcvc3NvLWxvZ2luLXNlcnZpY2UudG9rZW5cIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NlcnZpY2VzL2FjbC5zZXJ2aWNlXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2VcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zZXJ2aWNlcy9zc28tbG9naW4uc2VydmljZVwiO1xyXG5cclxuLy8gRElSRUNUSVZFU1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZGlyZWN0aXZlcy9zcGlubmVyLWJ1dHRvblwiO1xyXG5cclxuLy8gQ09OU1RBTlRTXHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb25zdGFudHMvbG9naW5Db25zdGFudFwiO1xyXG4iXX0=
|