adb-shared 6.0.34 → 6.0.36

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.
@@ -32,7 +32,7 @@ export class AdbUserInterceptor {
32
32
  }
33
33
  else {
34
34
  if (error.status === AdbUserInterceptor.UNAUTHENTICATED) {
35
- this.adbUserService.login();
35
+ // this.adbUserService.authorize();
36
36
  }
37
37
  }
38
38
  return throwError(() => error);
@@ -43,4 +43,4 @@ export class AdbUserInterceptor {
43
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbUserInterceptor, decorators: [{
44
44
  type: Injectable
45
45
  }], ctorParameters: () => [{ type: i1.AdbUserService }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLXVzZXIuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnRkYXRhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvYWRiLXVzZXIvYWRiLXVzZXIuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsVUFBVSxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBSXZELE1BQU0sT0FBTyxrQkFBa0I7YUFDWixvQkFBZSxHQUFHLEdBQUcsQUFBTixDQUFPO0lBQ3JDLFlBQW9CLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUFJLENBQUM7SUFFdkQsU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDOUMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ2pELGNBQWMsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDeEYsQ0FBQztRQUNELE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0UsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNkLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7Z0JBQzVCLFVBQVUsRUFBRTtvQkFDUixhQUFhLEVBQUUsVUFBVSxXQUFXLEVBQUU7aUJBQ3pDO2FBQ0osQ0FBQyxDQUFDO1lBQ0gsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFzQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRyxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBc0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFBQSxDQUFDO1FBQ2xHLENBQUM7SUFDTCxDQUFDO0lBR08sWUFBWSxDQUFDLEtBQXdCO1FBQ3pDLElBQUksS0FBSyxDQUFDLEtBQUssWUFBWSxVQUFVLEVBQUUsQ0FBQztZQUNwQyxvQkFBb0I7UUFDeEIsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssa0JBQWtCLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3RELElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEMsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO2lJQS9CUSxrQkFBa0I7cUlBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCwgSHR0cEhhbmRsZXIsIEh0dHBFdmVudCwgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBVc2VyTW9kdWxlQ29uc3RhbnRzIH0gZnJvbSAnLi91c2VyLWNvbnN0YW50cyc7XHJcbmltcG9ydCB7IEFkYlVzZXJTZXJ2aWNlIH0gZnJvbSAnLi9hZGItdXNlci5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFkYlVzZXJJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcbiAgICBwcml2YXRlIHN0YXRpYyBVTkFVVEhFTlRJQ0FURUQgPSA0MDE7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFkYlVzZXJTZXJ2aWNlOiBBZGJVc2VyU2VydmljZSkgeyB9XHJcblxyXG4gICAgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XHJcbiAgICAgICAgaWYgKHJlcS5oZWFkZXJzLmdldCgnWC1TeXN0ZW0tUmVxdWVzdCcpICE9PSAndHJ1ZScpIHtcclxuICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShVc2VyTW9kdWxlQ29uc3RhbnRzLlVTRVJfTEFTVF9BQ1RJVkUsIERhdGUubm93KCkudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGFjY2Vzc1Rva2VuID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShVc2VyTW9kdWxlQ29uc3RhbnRzLkFDQ0VTU19UT0tFTik7XHJcbiAgICAgICAgaWYgKGFjY2Vzc1Rva2VuKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNsb25lZFJlcXVlc3QgPSByZXEuY2xvbmUoe1xyXG4gICAgICAgICAgICAgICAgc2V0SGVhZGVyczoge1xyXG4gICAgICAgICAgICAgICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHthY2Nlc3NUb2tlbn1gXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUoY2xvbmVkUmVxdWVzdCkucGlwZShjYXRjaEVycm9yKChlcnI6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB0aGlzLmhhbmRsZUVycm9ycyhlcnIpKSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSkucGlwZShjYXRjaEVycm9yKChlcnI6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB0aGlzLmhhbmRsZUVycm9ycyhlcnIpKSk7O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBoYW5kbGVFcnJvcnMoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSB7XHJcbiAgICAgICAgaWYgKGVycm9yLmVycm9yIGluc3RhbmNlb2YgRXJyb3JFdmVudCkge1xyXG4gICAgICAgICAgICAvLyBDbGllbnQtc2lkZSBlcnJvclxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IEFkYlVzZXJJbnRlcmNlcHRvci5VTkFVVEhFTlRJQ0FURUQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWRiVXNlclNlcnZpY2UubG9naW4oKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XHJcbiAgICB9XHJcbn1cclxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLXVzZXIuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnRkYXRhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvYWRiLXVzZXIvYWRiLXVzZXIuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsVUFBVSxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBSXZELE1BQU0sT0FBTyxrQkFBa0I7YUFDWixvQkFBZSxHQUFHLEdBQUcsQUFBTixDQUFPO0lBQ3JDLFlBQW9CLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUFJLENBQUM7SUFFdkQsU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDOUMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ2pELGNBQWMsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDeEYsQ0FBQztRQUNELE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0UsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNkLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7Z0JBQzVCLFVBQVUsRUFBRTtvQkFDUixhQUFhLEVBQUUsVUFBVSxXQUFXLEVBQUU7aUJBQ3pDO2FBQ0osQ0FBQyxDQUFDO1lBQ0gsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFzQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRyxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBc0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFBQSxDQUFDO1FBQ2xHLENBQUM7SUFDTCxDQUFDO0lBR08sWUFBWSxDQUFDLEtBQXdCO1FBQ3pDLElBQUksS0FBSyxDQUFDLEtBQUssWUFBWSxVQUFVLEVBQUUsQ0FBQztZQUNwQyxvQkFBb0I7UUFDeEIsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssa0JBQWtCLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3RELG1DQUFtQztZQUN2QyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7aUlBL0JRLGtCQUFrQjtxSUFBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0LCBIdHRwSGFuZGxlciwgSHR0cEV2ZW50LCBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFVzZXJNb2R1bGVDb25zdGFudHMgfSBmcm9tICcuL3VzZXItY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQWRiVXNlclNlcnZpY2UgfSBmcm9tICcuL2FkYi11c2VyLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQWRiVXNlckludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuICAgIHByaXZhdGUgc3RhdGljIFVOQVVUSEVOVElDQVRFRCA9IDQwMTtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYWRiVXNlclNlcnZpY2U6IEFkYlVzZXJTZXJ2aWNlKSB7IH1cclxuXHJcbiAgICBpbnRlcmNlcHQocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcclxuICAgICAgICBpZiAocmVxLmhlYWRlcnMuZ2V0KCdYLVN5c3RlbS1SZXF1ZXN0JykgIT09ICd0cnVlJykge1xyXG4gICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFVzZXJNb2R1bGVDb25zdGFudHMuVVNFUl9MQVNUX0FDVElWRSwgRGF0ZS5ub3coKS50b1N0cmluZygpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgYWNjZXNzVG9rZW4gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFVzZXJNb2R1bGVDb25zdGFudHMuQUNDRVNTX1RPS0VOKTtcclxuICAgICAgICBpZiAoYWNjZXNzVG9rZW4pIHtcclxuICAgICAgICAgICAgY29uc3QgY2xvbmVkUmVxdWVzdCA9IHJlcS5jbG9uZSh7XHJcbiAgICAgICAgICAgICAgICBzZXRIZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2FjY2Vzc1Rva2VufWBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShjbG9uZWRSZXF1ZXN0KS5waXBlKGNhdGNoRXJyb3IoKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHRoaXMuaGFuZGxlRXJyb3JzKGVycikpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKS5waXBlKGNhdGNoRXJyb3IoKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHRoaXMuaGFuZGxlRXJyb3JzKGVycikpKTs7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZUVycm9ycyhlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgICAgICBpZiAoZXJyb3IuZXJyb3IgaW5zdGFuY2VvZiBFcnJvckV2ZW50KSB7XHJcbiAgICAgICAgICAgIC8vIENsaWVudC1zaWRlIGVycm9yXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gQWRiVXNlckludGVyY2VwdG9yLlVOQVVUSEVOVElDQVRFRCkge1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy5hZGJVc2VyU2VydmljZS5hdXRob3JpemUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -4,6 +4,7 @@ import { BehaviorSubject, Subscription } from 'rxjs';
4
4
  import { HttpHeaders } from '@angular/common/http';
5
5
  import { addSeconds, format } from 'date-fns';
6
6
  import { UserModuleConstants } from './user-constants';
7
+ import { NavigationStart } from '@angular/router';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "@angular/common/http";
9
10
  import * as i2 from "@angular/router";
@@ -33,16 +34,22 @@ export class AdbUserService {
33
34
  this.log('Detected auth callback, skipping init login.');
34
35
  return;
35
36
  }
36
- this.login();
37
+ this.router.events.subscribe(event => {
38
+ if (event instanceof NavigationStart) {
39
+ this.login(event.url);
40
+ }
41
+ });
37
42
  }
38
43
  }
39
44
  startMainLoop() {
40
45
  this.checkStatus();
41
46
  this.intervalId = setInterval(() => this.checkStatus(), 60 * 1000); // 60 seconds * 1000 milliseconds
42
47
  }
43
- login() {
44
- this.log('url when login', this.router.url);
45
- sessionStorage.setItem(UserModuleConstants.CURRENT_URL, this.router.url);
48
+ login(url = null) {
49
+ this.log('url when login', url);
50
+ if (url) {
51
+ sessionStorage.setItem(UserModuleConstants.CURRENT_URL, url);
52
+ }
46
53
  this.authorize();
47
54
  }
48
55
  logout() {
@@ -194,4 +201,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
194
201
  type: Inject,
195
202
  args: [ADB_USER_SERVICE_CONFIG]
196
203
  }] }, { type: i1.HttpClient }, { type: i2.Router }] });
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLXVzZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItdXNlci9hZGItdXNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBd0IsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFLdkQsTUFBTSxPQUFPLGNBQWM7SUFVekIsWUFDMEMsTUFBNEIsRUFDNUQsSUFBZ0IsRUFDaEIsTUFBYztRQUZrQixXQUFNLEdBQU4sTUFBTSxDQUFzQjtRQUM1RCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFYaEIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25DLGdCQUFXLEdBQXlCLElBQUksZUFBZSxDQUFNLElBQUksQ0FBQyxDQUFDO1FBQzNFLFVBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXhDLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO1FBRXBCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFNakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUM7SUFDMUYsQ0FBQztJQUVELElBQUk7UUFDRixNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzdFLElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxzRkFBc0Y7WUFDdEYsTUFBTSxTQUFTLEdBQUcsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5RCxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO2dCQUN6RCxPQUFPO1lBQ1QsQ0FBQztZQUNELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsaUNBQWlDO0lBQ3ZHLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLGNBQWMsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxNQUFNO1FBQ0osYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sZ0RBQWdELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUgsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO1FBQzVCLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0UsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUE7WUFDM0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDN0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUE7WUFDbEMsSUFBSSxVQUFVLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3JCLGNBQWMsQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQzVELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7b0JBQzFGLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUdBQWlHLENBQUMsQ0FBQztvQkFDL0csSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN0QixDQUFDO2dCQUNELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDckIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2dCQUN6QixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU8sWUFBWTtRQUNsQixNQUFNLElBQUksR0FBRyxhQUFhLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUc7WUFDbkUsY0FBYyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsR0FBRztZQUNwRCxpQkFBaUIsa0JBQWtCLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbkcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsY0FBYyxFQUFFLG1DQUFtQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2hLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRTtnQkFDZixJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEMsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxNQUFXO1FBQzVCLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3pCLGNBQWMsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNsRixDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDeEIsY0FBYyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2hGLENBQUM7UUFDRCxJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN0QixNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0QsY0FBYyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7UUFDdkcsQ0FBQztJQUNILENBQUM7SUFFTyxLQUFLLENBQUMsU0FBUztRQUNyQixNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUNqRixnRUFBZ0UsQ0FBRSxJQUFlLEdBQUcsRUFBRSxDQUFDLENBQ3hGLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ1gsY0FBYyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFeEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNsQyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFDLE1BQU0sVUFBVSxHQUFHLE1BQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9ELE1BQU0sU0FBUyxHQUFHLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdDLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUM1RCxhQUFhLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO2FBQzVDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDO2FBQ25CLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFdkIsTUFBTSxNQUFNLEdBQUc7WUFDYixhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZO1lBQ3ZDLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7WUFDL0IsWUFBWSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVztZQUNyQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLO1lBQ3hCLGNBQWMsRUFBRSxhQUFhO1lBQzdCLHFCQUFxQixFQUFFLE1BQU07U0FDOUIsQ0FBQztRQUNGLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLG9CQUFvQixDQUFDLENBQUM7UUFDL0QsR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3BELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBR08sY0FBYyxDQUFDLE1BQVc7UUFDaEMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUN4QyxLQUFLLE1BQU0sSUFBSSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQzFCLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUUsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE1BQU0sVUFBVSxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JDLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUM3RSxPQUFPLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1FBQ3pDLENBQUM7UUFDRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCx3Q0FBd0M7SUFDaEMsZUFBZTtRQUNyQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNqRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxRQUFRLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDcEQsT0FBTyxtQkFBbUIsSUFBSSxVQUFVLENBQUM7SUFDM0MsQ0FBQztJQUVELEdBQUcsQ0FBQyxPQUFlLEVBQUUsR0FBRyxjQUFxQjtRQUMzQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7WUFDckIsSUFBSSxjQUFjLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUMvQixPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztZQUN2QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2QixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsS0FBYTtRQUNuQixJQUFJLENBQUM7WUFDSCxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDaEUsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3ZDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDakQsT0FBTyxhQUFhLENBQUM7UUFDdkIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzNDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDO2lJQXJNVSxjQUFjLGtCQVdmLHVCQUF1QjtxSUFYdEIsY0FBYzs7MkZBQWQsY0FBYztrQkFEMUIsVUFBVTs7MEJBWU4sTUFBTTsyQkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBREJfVVNFUl9TRVJWSUNFX0NPTkZJRywgQWRiVXNlclNlcnZpY2VDb25maWcgfSBmcm9tICcuL2FkYi11c2VyLXNlcnZpY2UtY29uZmlnJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IGFkZFNlY29uZHMsIGZvcm1hdCB9IGZyb20gJ2RhdGUtZm5zJztcclxuaW1wb3J0IHsgVXNlck1vZHVsZUNvbnN0YW50cyB9IGZyb20gJy4vdXNlci1jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFkYlVzZXJTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG4gIHByaXZhdGUgdXNlclN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xyXG4gIHVzZXIkID0gdGhpcy51c2VyU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgbGFzdFJlZnJlc2hUaW1lID0gMDtcclxuICBpbnRlcnZhbElkOiBhbnk7XHJcbiAgaGFzRW1pdHRlZCA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoQURCX1VTRVJfU0VSVklDRV9DT05GSUcpIHB1YmxpYyBjb25maWc6IEFkYlVzZXJTZXJ2aWNlQ29uZmlnLFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge1xyXG4gICAgdGhpcy5jb25maWcgPSB7IC4uLnsgc2NvcGU6ICdyb2xlcycsIGlkbGVUaW1lOiAzMCwgcmVzcG9uc2VfdHlwZTogJ2NvZGUnIH0sIC4uLmNvbmZpZyB9O1xyXG4gIH1cclxuXHJcbiAgaW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGFjY2Vzc1Rva2VuID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShVc2VyTW9kdWxlQ29uc3RhbnRzLkFDQ0VTU19UT0tFTik7XHJcbiAgICBpZiAoYWNjZXNzVG9rZW4pIHtcclxuICAgICAgY29uc3QgdXNlciA9IHRoaXMuZ2V0VXNlcihhY2Nlc3NUb2tlbik7XHJcbiAgICAgIHRoaXMudXNlclN1YmplY3QubmV4dCh1c2VyKTtcclxuICAgICAgdGhpcy5zdGFydE1haW5Mb29wKCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLmF1dG9Mb2dpbikge1xyXG4gICAgICAvL05PVEU6IEF2b2lkIHJlLXRyaWdnZXJpbmcgbG9naW4gaWYgd2UncmUgaW4gdGhlIG1pZGRsZSBvZiB0aGUgYXV0aC1jYWxsYmFjayBoYW5kbGluZ1xyXG4gICAgICBjb25zdCB1cmxQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xyXG4gICAgICBpZiAodXJsUGFyYW1zLmhhcygnY29kZScpKSB7XHJcbiAgICAgICAgdGhpcy5sb2coJ0RldGVjdGVkIGF1dGggY2FsbGJhY2ssIHNraXBwaW5nIGluaXQgbG9naW4uJyk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMubG9naW4oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXJ0TWFpbkxvb3AoKSB7XHJcbiAgICB0aGlzLmNoZWNrU3RhdHVzKCk7XHJcbiAgICB0aGlzLmludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB0aGlzLmNoZWNrU3RhdHVzKCksIDYwICogMTAwMCk7IC8vIDYwIHNlY29uZHMgKiAxMDAwIG1pbGxpc2Vjb25kc1xyXG4gIH1cclxuXHJcbiAgbG9naW4oKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvZygndXJsIHdoZW4gbG9naW4nLCB0aGlzLnJvdXRlci51cmwpO1xyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShVc2VyTW9kdWxlQ29uc3RhbnRzLkNVUlJFTlRfVVJMLCB0aGlzLnJvdXRlci51cmwpO1xyXG4gICAgdGhpcy5hdXRob3JpemUoKTtcclxuICB9XHJcblxyXG4gIGxvZ291dCgpOiB2b2lkIHtcclxuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbElkKTtcclxuICAgIHRoaXMuaGFzRW1pdHRlZCA9IGZhbHNlO1xyXG4gICAgc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTtcclxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYCR7dGhpcy5jb25maWcuaXNzdWVyfS9jb25uZWN0L2VuZHNlc3Npb24/cG9zdF9sb2dvdXRfcmVkaXJlY3RfdXJpPSR7dGhpcy5jb25maWcucG9zdExvZ291dFVybH1gO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja1N0YXR1cygpOiB2b2lkIHtcclxuICAgIHRoaXMubG9nKCdjaGVja1N0YXR1cyBydW5zJylcclxuICAgIGNvbnN0IGFjY2Vzc1Rva2VuID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShVc2VyTW9kdWxlQ29uc3RhbnRzLkFDQ0VTU19UT0tFTik7XHJcbiAgICBpZiAoYWNjZXNzVG9rZW4pIHtcclxuICAgICAgdGhpcy5sb2coJ2hhcyBhY2Nlc3N0b2tlbicpXHJcbiAgICAgIGNvbnN0IHRpbWVUb0xpdmUgPSB0aGlzLmdldFRva2VuVGltZVRvTGl2ZSgpO1xyXG4gICAgICB0aGlzLmxvZygndGltZVRvTGl2ZScsIHRpbWVUb0xpdmUpXHJcbiAgICAgIGlmICh0aW1lVG9MaXZlID09PSAwKSB7XHJcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShVc2VyTW9kdWxlQ29uc3RhbnRzLkFDQ0VTU19UT0tFTik7XHJcbiAgICAgICAgdGhpcy5hdXRob3JpemUoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAodGhpcy5nZXRUb2tlblRpbWVUb0xpdmUoKSA8PSA2MCAmJiB0aGlzLmhhc1VzZXJCZWVuQWN0aXZlKCkgJiYgdGhpcy5jYW5SZWZyZXNoVG9rZW4oKSkge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ3Rva2VuIGlzIGFib3V0IHRvIHRpbWVvdXQgYnV0IHdlIHdpbGwgcmVmcmVzaCBpdCBiZWNhdXNlIHVzZXIgaGFzIGJlZW4gYWN0aXZlIHRoZSBsYXN0IDVtaW51dGVzJyk7XHJcbiAgICAgICAgICB0aGlzLnJlZnJlc2hUb2tlbigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxvZygnaGFzRW1pdHRlZCcsIHRoaXMuaGFzRW1pdHRlZCk7XHJcbiAgICAgICAgaWYgKCF0aGlzLmhhc0VtaXR0ZWQpIHtcclxuICAgICAgICAgIGNvbnN0IHVzZXIgPSB0aGlzLmdldFVzZXIoYWNjZXNzVG9rZW4pO1xyXG4gICAgICAgICAgdGhpcy51c2VyU3ViamVjdC5uZXh0KHVzZXIpO1xyXG4gICAgICAgICAgdGhpcy5oYXNFbWl0dGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVmcmVzaFRva2VuKCkge1xyXG4gICAgY29uc3QgYm9keSA9IGBjbGllbnRfaWQ9JHtlbmNvZGVVUklDb21wb25lbnQodGhpcy5jb25maWcuY2xpZW50SWQpfSZgICtcclxuICAgICAgYGdyYW50X3R5cGU9JHtlbmNvZGVVUklDb21wb25lbnQoXCJyZWZyZXNoX3Rva2VuXCIpfSZgICtcclxuICAgICAgYHJlZnJlc2hfdG9rZW49JHtlbmNvZGVVUklDb21wb25lbnQoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShVc2VyTW9kdWxlQ29uc3RhbnRzLlJFRlJFU0hfVE9LRU4pKX1gO1xyXG4gICAgdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLmNvbmZpZy5pc3N1ZXJ9L2Nvbm5lY3QvdG9rZW5gLCBib2R5LCB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyB9KSB9KS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiByZXNwb25zZSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRUb2tlbnNJblNlc3Npb24ocmVzcG9uc2UpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMubGFzdFJlZnJlc2hUaW1lID0gRGF0ZS5ub3coKTtcclxuICB9XHJcblxyXG4gIHNldFRva2Vuc0luU2Vzc2lvbihwYXJhbXM6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHBhcmFtcy5yZWZyZXNoX3Rva2VuKSB7XHJcbiAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oVXNlck1vZHVsZUNvbnN0YW50cy5SRUZSRVNIX1RPS0VOLCBwYXJhbXMucmVmcmVzaF90b2tlbik7XHJcbiAgICB9XHJcbiAgICBpZiAocGFyYW1zLmFjY2Vzc190b2tlbikge1xyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFVzZXJNb2R1bGVDb25zdGFudHMuQUNDRVNTX1RPS0VOLCBwYXJhbXMuYWNjZXNzX3Rva2VuKTtcclxuICAgIH1cclxuICAgIGlmIChwYXJhbXMuZXhwaXJlc19pbikge1xyXG4gICAgICBjb25zdCBleHBpcmVUaW1lID0gYWRkU2Vjb25kcyhuZXcgRGF0ZSgpLCBwYXJhbXMuZXhwaXJlc19pbik7XHJcbiAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oVXNlck1vZHVsZUNvbnN0YW50cy5UT0tFTl9FWFBJUkVTLCBmb3JtYXQoZXhwaXJlVGltZSwgJ3l5eXktTU0tZGQgSEg6bW06c3MnKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGF1dGhvcml6ZSgpIHtcclxuICAgIGNvbnN0IGNvZGVWZXJpZmllciA9IEFycmF5LmZyb20oY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSg2NCkpLCBieXRlID0+XHJcbiAgICAgICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSdbKGJ5dGUgYXMgbnVtYmVyKSAlIDYyXVxyXG4gICAgKS5qb2luKCcnKTtcclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oVXNlck1vZHVsZUNvbnN0YW50cy5DT0RFX1ZFUklGSUVSLCBjb2RlVmVyaWZpZXIpO1xyXG5cclxuICAgIGNvbnN0IGVuY29kZXIgPSBuZXcgVGV4dEVuY29kZXIoKTtcclxuICAgIGNvbnN0IGRhdGEgPSBlbmNvZGVyLmVuY29kZShjb2RlVmVyaWZpZXIpO1xyXG4gICAgY29uc3QgaGFzaEJ1ZmZlciA9IGF3YWl0IGNyeXB0by5zdWJ0bGUuZGlnZXN0KCdTSEEtMjU2JywgZGF0YSk7XHJcbiAgICBjb25zdCBoYXNoQXJyYXkgPSBuZXcgVWludDhBcnJheShoYXNoQnVmZmVyKTtcclxuICAgIGxldCBjb2RlQ2hhbGxlbmdlID0gYnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlKC4uLmhhc2hBcnJheSkpO1xyXG4gICAgY29kZUNoYWxsZW5nZSA9IGNvZGVDaGFsbGVuZ2UucmVwbGFjZSgvPS9nLCAnJylcclxuICAgICAgLnJlcGxhY2UoL1xcKy9nLCAnLScpXHJcbiAgICAgIC5yZXBsYWNlKC9cXC8vZywgJ18nKTtcclxuXHJcbiAgICBjb25zdCBwYXJhbXMgPSB7XHJcbiAgICAgIHJlc3BvbnNlX3R5cGU6IHRoaXMuY29uZmlnLnJlc3BvbnNlVHlwZSxcclxuICAgICAgY2xpZW50X2lkOiB0aGlzLmNvbmZpZy5jbGllbnRJZCxcclxuICAgICAgcmVkaXJlY3RfdXJpOiB0aGlzLmNvbmZpZy5yZWRpcmVjdFVybCxcclxuICAgICAgc2NvcGU6IHRoaXMuY29uZmlnLnNjb3BlLFxyXG4gICAgICBjb2RlX2NoYWxsZW5nZTogY29kZUNoYWxsZW5nZSxcclxuICAgICAgY29kZV9jaGFsbGVuZ2VfbWV0aG9kOiAnUzI1NidcclxuICAgIH07XHJcbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHRoaXMuY29uZmlnLmlzc3VlciArICcvY29ubmVjdC9hdXRob3JpemUnKTtcclxuICAgIHVybC5zZWFyY2ggPSB0aGlzLmFkZFF1ZXJ5UGFyYW1zKHBhcmFtcykudG9TdHJpbmcoKTtcclxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdXJsLnRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBhZGRRdWVyeVBhcmFtcyhvYmplY3Q6IGFueSk6IFVSTFNlYXJjaFBhcmFtcyB7XHJcbiAgICBpZiAoIW9iamVjdCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGNvbnN0IHVybFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcclxuICAgIGZvciAoY29uc3QgcHJvcCBpbiBvYmplY3QpIHtcclxuICAgICAgdXJsUGFyYW1zLmFwcGVuZChwcm9wLCBvYmplY3RbcHJvcF0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHVybFBhcmFtcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0VG9rZW5UaW1lVG9MaXZlKCk6IG51bWJlciB7XHJcbiAgICBjb25zdCBleHBpcmVzID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShVc2VyTW9kdWxlQ29uc3RhbnRzLlRPS0VOX0VYUElSRVMpO1xyXG4gICAgaWYgKGV4cGlyZXMpIHtcclxuICAgICAgY29uc3QgZXhwaXJlRGF0ZSA9IG5ldyBEYXRlKGV4cGlyZXMpO1xyXG4gICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICBjb25zdCB0aW1lVG9MaXZlID0gTWF0aC5mbG9vcigoZXhwaXJlRGF0ZS5nZXRUaW1lKCkgLSBub3cuZ2V0VGltZSgpKSAvIDEwMDApO1xyXG4gICAgICByZXR1cm4gdGltZVRvTGl2ZSA8IDAgPyAwIDogdGltZVRvTGl2ZTtcclxuICAgIH1cclxuICAgIHJldHVybiAwO1xyXG4gIH1cclxuXHJcbiAgLy9Db29sZG93biBmb3IgYXZvaWRpbmcgaW5maW5pdGUgcmVmcmVzaFxyXG4gIHByaXZhdGUgY2FuUmVmcmVzaFRva2VuKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcclxuICAgIGlmIChub3cgLSB0aGlzLmxhc3RSZWZyZXNoVGltZSA+ICgyICogNjAgKiAxMDAwKSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFzVXNlckJlZW5BY3RpdmUoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBsYXN0QWN0aXZlID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShVc2VyTW9kdWxlQ29uc3RhbnRzLlVTRVJfTEFTVF9BQ1RJVkUpO1xyXG4gICAgaWYgKCFsYXN0QWN0aXZlKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGNvbnN0IHRpbWVTaW5jZUxhc3RBY3RpdmUgPSBEYXRlLm5vdygpIC0gcGFyc2VJbnQobGFzdEFjdGl2ZSwgMTApO1xyXG4gICAgY29uc3QgaWRsZVRpbWVNcyA9IHRoaXMuY29uZmlnLmlkbGVUaW1lICogNjAgKiAxMDAwO1xyXG4gICAgcmV0dXJuIHRpbWVTaW5jZUxhc3RBY3RpdmUgPD0gaWRsZVRpbWVNcztcclxuICB9XHJcblxyXG4gIGxvZyhtZXNzYWdlOiBzdHJpbmcsIC4uLm9wdGlvbmFsUGFyYW1zOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnPy5sb2cpIHtcclxuICAgICAgaWYgKG9wdGlvbmFsUGFyYW1zPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2cobWVzc2FnZSwgb3B0aW9uYWxQYXJhbXMpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKG1lc3NhZ2UpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRVc2VyKHRva2VuOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgW2hlYWRlciwgcGF5bG9hZCwgc2lnbmF0dXJlXSA9IHRva2VuLnNwbGl0KCcuJyk7XHJcbiAgICAgIGNvbnN0IGJhc2U2NFVybCA9IHBheWxvYWQucmVwbGFjZSgvLS9nLCAnKycpLnJlcGxhY2UoL18vZywgJy8nKTtcclxuICAgICAgY29uc3QgZGVjb2RlZFBheWxvYWQgPSBhdG9iKGJhc2U2NFVybCk7XHJcbiAgICAgIGNvbnN0IHBhcnNlZFBheWxvYWQgPSBKU09OLnBhcnNlKGRlY29kZWRQYXlsb2FkKTtcclxuICAgICAgcmV0dXJuIHBhcnNlZFBheWxvYWQ7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBkZWNvZGluZyBKV1QnLCBlcnJvcik7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG59Il19
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLXVzZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItdXNlci9hZGItdXNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBd0IsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBVSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBSTFELE1BQU0sT0FBTyxjQUFjO0lBVXpCLFlBQzBDLE1BQTRCLEVBQzVELElBQWdCLEVBQ2hCLE1BQWM7UUFGa0IsV0FBTSxHQUFOLE1BQU0sQ0FBc0I7UUFDNUQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWGhCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNuQyxnQkFBVyxHQUF5QixJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztRQUMzRSxVQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUV4QyxvQkFBZSxHQUFHLENBQUMsQ0FBQztRQUVwQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBTWpCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9B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QyxDQUFDO1lBQ3ZDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDakQsT0FBTyxhQUFhLENBQUM7UUFDdkIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzNDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDO2lJQTNNVSxjQUFjLGtCQVdmLHVCQUF1QjtxSUFYdEIsY0FBYzs7MkZBQWQsY0FBYztrQkFEMUIsVUFBVTs7MEJBWU4sTUFBTTsyQkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBREJfVVNFUl9TRVJWSUNFX0NPTkZJRywgQWRiVXNlclNlcnZpY2VDb25maWcgfSBmcm9tICcuL2FkYi11c2VyLXNlcnZpY2UtY29uZmlnJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IGFkZFNlY29uZHMsIGZvcm1hdCB9IGZyb20gJ2RhdGUtZm5zJztcclxuaW1wb3J0IHsgVXNlck1vZHVsZUNvbnN0YW50cyB9IGZyb20gJy4vdXNlci1jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQWRiVXNlclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgcHJpdmF0ZSB1c2VyU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XHJcbiAgdXNlciQgPSB0aGlzLnVzZXJTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBsYXN0UmVmcmVzaFRpbWUgPSAwO1xyXG4gIGludGVydmFsSWQ6IGFueTtcclxuICBoYXNFbWl0dGVkID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChBREJfVVNFUl9TRVJWSUNFX0NPTkZJRykgcHVibGljIGNvbmZpZzogQWRiVXNlclNlcnZpY2VDb25maWcsXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XHJcbiAgICB0aGlzLmNvbmZpZyA9IHsgLi4ueyBzY29wZTogJ3JvbGVzJywgaWRsZVRpbWU6IDMwLCByZXNwb25zZV90eXBlOiAnY29kZScgfSwgLi4uY29uZmlnIH07XHJcbiAgfVxyXG5cclxuICBpbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgYWNjZXNzVG9rZW4gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFVzZXJNb2R1bGVDb25zdGFudHMuQUNDRVNTX1RPS0VOKTtcclxuICAgIGlmIChhY2Nlc3NUb2tlbikge1xyXG4gICAgICBjb25zdCB1c2VyID0gdGhpcy5nZXRVc2VyKGFjY2Vzc1Rva2VuKTtcclxuICAgICAgdGhpcy51c2VyU3ViamVjdC5uZXh0KHVzZXIpO1xyXG4gICAgICB0aGlzLnN0YXJ0TWFpbkxvb3AoKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcuYXV0b0xvZ2luKSB7XHJcbiAgICAgIC8vTk9URTogQXZvaWQgcmUtdHJpZ2dlcmluZyBsb2dpbiBpZiB3ZSdyZSBpbiB0aGUgbWlkZGxlIG9mIHRoZSBhdXRoLWNhbGxiYWNrIGhhbmRsaW5nXHJcbiAgICAgIGNvbnN0IHVybFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XHJcbiAgICAgIGlmICh1cmxQYXJhbXMuaGFzKCdjb2RlJykpIHtcclxuICAgICAgICB0aGlzLmxvZygnRGV0ZWN0ZWQgYXV0aCBjYWxsYmFjaywgc2tpcHBpbmcgaW5pdCBsb2dpbi4nKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XHJcbiAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XHJcbiAgICAgICAgICB0aGlzLmxvZ2luKGV2ZW50LnVybCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXJ0TWFpbkxvb3AoKSB7XHJcbiAgICB0aGlzLmNoZWNrU3RhdHVzKCk7XHJcbiAgICB0aGlzLmludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB0aGlzLmNoZWNrU3RhdHVzKCksIDYwICogMTAwMCk7IC8vIDYwIHNlY29uZHMgKiAxMDAwIG1pbGxpc2Vjb25kc1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2dpbih1cmw6IHN0cmluZyA9IG51bGwpOiB2b2lkIHtcclxuICAgIHRoaXMubG9nKCd1cmwgd2hlbiBsb2dpbicsIHVybCk7XHJcbiAgICBpZiAodXJsKSB7XHJcbiAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oVXNlck1vZHVsZUNvbnN0YW50cy5DVVJSRU5UX1VSTCwgdXJsKTtcclxuICAgIH1cclxuICAgIHRoaXMuYXV0aG9yaXplKCk7XHJcbiAgfVxyXG5cclxuICBsb2dvdXQoKTogdm9pZCB7XHJcbiAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxJZCk7XHJcbiAgICB0aGlzLmhhc0VtaXR0ZWQgPSBmYWxzZTtcclxuICAgIHNlc3Npb25TdG9yYWdlLmNsZWFyKCk7XHJcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGAke3RoaXMuY29uZmlnLmlzc3Vlcn0vY29ubmVjdC9lbmRzZXNzaW9uP3Bvc3RfbG9nb3V0X3JlZGlyZWN0X3VyaT0ke3RoaXMuY29uZmlnLnBvc3RMb2dvdXRVcmx9YDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hlY2tTdGF0dXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvZygnY2hlY2tTdGF0dXMgcnVucycpXHJcbiAgICBjb25zdCBhY2Nlc3NUb2tlbiA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oVXNlck1vZHVsZUNvbnN0YW50cy5BQ0NFU1NfVE9LRU4pO1xyXG4gICAgaWYgKGFjY2Vzc1Rva2VuKSB7XHJcbiAgICAgIHRoaXMubG9nKCdoYXMgYWNjZXNzdG9rZW4nKVxyXG4gICAgICBjb25zdCB0aW1lVG9MaXZlID0gdGhpcy5nZXRUb2tlblRpbWVUb0xpdmUoKTtcclxuICAgICAgdGhpcy5sb2coJ3RpbWVUb0xpdmUnLCB0aW1lVG9MaXZlKVxyXG4gICAgICBpZiAodGltZVRvTGl2ZSA9PT0gMCkge1xyXG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oVXNlck1vZHVsZUNvbnN0YW50cy5BQ0NFU1NfVE9LRU4pO1xyXG4gICAgICAgIHRoaXMuYXV0aG9yaXplKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZ2V0VG9rZW5UaW1lVG9MaXZlKCkgPD0gNjAgJiYgdGhpcy5oYXNVc2VyQmVlbkFjdGl2ZSgpICYmIHRoaXMuY2FuUmVmcmVzaFRva2VuKCkpIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCd0b2tlbiBpcyBhYm91dCB0byB0aW1lb3V0IGJ1dCB3ZSB3aWxsIHJlZnJlc2ggaXQgYmVjYXVzZSB1c2VyIGhhcyBiZWVuIGFjdGl2ZSB0aGUgbGFzdCA1bWludXRlcycpO1xyXG4gICAgICAgICAgdGhpcy5yZWZyZXNoVG9rZW4oKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5sb2coJ2hhc0VtaXR0ZWQnLCB0aGlzLmhhc0VtaXR0ZWQpO1xyXG4gICAgICAgIGlmICghdGhpcy5oYXNFbWl0dGVkKSB7XHJcbiAgICAgICAgICBjb25zdCB1c2VyID0gdGhpcy5nZXRVc2VyKGFjY2Vzc1Rva2VuKTtcclxuICAgICAgICAgIHRoaXMudXNlclN1YmplY3QubmV4dCh1c2VyKTtcclxuICAgICAgICAgIHRoaXMuaGFzRW1pdHRlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlZnJlc2hUb2tlbigpIHtcclxuICAgIGNvbnN0IGJvZHkgPSBgY2xpZW50X2lkPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHRoaXMuY29uZmlnLmNsaWVudElkKX0mYCArXHJcbiAgICAgIGBncmFudF90eXBlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KFwicmVmcmVzaF90b2tlblwiKX0mYCArXHJcbiAgICAgIGByZWZyZXNoX3Rva2VuPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oVXNlck1vZHVsZUNvbnN0YW50cy5SRUZSRVNIX1RPS0VOKSl9YDtcclxuICAgIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy5jb25maWcuaXNzdWVyfS9jb25uZWN0L3Rva2VuYCwgYm9keSwgeyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcgfSkgfSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogcmVzcG9uc2UgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0VG9rZW5zSW5TZXNzaW9uKHJlc3BvbnNlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmxhc3RSZWZyZXNoVGltZSA9IERhdGUubm93KCk7XHJcbiAgfVxyXG5cclxuICBzZXRUb2tlbnNJblNlc3Npb24ocGFyYW1zOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmIChwYXJhbXMucmVmcmVzaF90b2tlbikge1xyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFVzZXJNb2R1bGVDb25zdGFudHMuUkVGUkVTSF9UT0tFTiwgcGFyYW1zLnJlZnJlc2hfdG9rZW4pO1xyXG4gICAgfVxyXG4gICAgaWYgKHBhcmFtcy5hY2Nlc3NfdG9rZW4pIHtcclxuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShVc2VyTW9kdWxlQ29uc3RhbnRzLkFDQ0VTU19UT0tFTiwgcGFyYW1zLmFjY2Vzc190b2tlbik7XHJcbiAgICB9XHJcbiAgICBpZiAocGFyYW1zLmV4cGlyZXNfaW4pIHtcclxuICAgICAgY29uc3QgZXhwaXJlVGltZSA9IGFkZFNlY29uZHMobmV3IERhdGUoKSwgcGFyYW1zLmV4cGlyZXNfaW4pO1xyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFVzZXJNb2R1bGVDb25zdGFudHMuVE9LRU5fRVhQSVJFUywgZm9ybWF0KGV4cGlyZVRpbWUsICd5eXl5LU1NLWRkIEhIOm1tOnNzJykpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgYXV0aG9yaXplKCkge1xyXG4gICAgY29uc3QgY29kZVZlcmlmaWVyID0gQXJyYXkuZnJvbShjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKG5ldyBVaW50OEFycmF5KDY0KSksIGJ5dGUgPT5cclxuICAgICAgJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5J1soYnl0ZSBhcyBudW1iZXIpICUgNjJdXHJcbiAgICApLmpvaW4oJycpO1xyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShVc2VyTW9kdWxlQ29uc3RhbnRzLkNPREVfVkVSSUZJRVIsIGNvZGVWZXJpZmllcik7XHJcblxyXG4gICAgY29uc3QgZW5jb2RlciA9IG5ldyBUZXh0RW5jb2RlcigpO1xyXG4gICAgY29uc3QgZGF0YSA9IGVuY29kZXIuZW5jb2RlKGNvZGVWZXJpZmllcik7XHJcbiAgICBjb25zdCBoYXNoQnVmZmVyID0gYXdhaXQgY3J5cHRvLnN1YnRsZS5kaWdlc3QoJ1NIQS0yNTYnLCBkYXRhKTtcclxuICAgIGNvbnN0IGhhc2hBcnJheSA9IG5ldyBVaW50OEFycmF5KGhhc2hCdWZmZXIpO1xyXG4gICAgbGV0IGNvZGVDaGFsbGVuZ2UgPSBidG9hKFN0cmluZy5mcm9tQ2hhckNvZGUoLi4uaGFzaEFycmF5KSk7XHJcbiAgICBjb2RlQ2hhbGxlbmdlID0gY29kZUNoYWxsZW5nZS5yZXBsYWNlKC89L2csICcnKVxyXG4gICAgICAucmVwbGFjZSgvXFwrL2csICctJylcclxuICAgICAgLnJlcGxhY2UoL1xcLy9nLCAnXycpO1xyXG5cclxuICAgIGNvbnN0IHBhcmFtcyA9IHtcclxuICAgICAgcmVzcG9uc2VfdHlwZTogdGhpcy5jb25maWcucmVzcG9uc2VUeXBlLFxyXG4gICAgICBjbGllbnRfaWQ6IHRoaXMuY29uZmlnLmNsaWVudElkLFxyXG4gICAgICByZWRpcmVjdF91cmk6IHRoaXMuY29uZmlnLnJlZGlyZWN0VXJsLFxyXG4gICAgICBzY29wZTogdGhpcy5jb25maWcuc2NvcGUsXHJcbiAgICAgIGNvZGVfY2hhbGxlbmdlOiBjb2RlQ2hhbGxlbmdlLFxyXG4gICAgICBjb2RlX2NoYWxsZW5nZV9tZXRob2Q6ICdTMjU2J1xyXG4gICAgfTtcclxuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwodGhpcy5jb25maWcuaXNzdWVyICsgJy9jb25uZWN0L2F1dGhvcml6ZScpO1xyXG4gICAgdXJsLnNlYXJjaCA9IHRoaXMuYWRkUXVlcnlQYXJhbXMocGFyYW1zKS50b1N0cmluZygpO1xyXG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB1cmwudG9TdHJpbmcoKTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGFkZFF1ZXJ5UGFyYW1zKG9iamVjdDogYW55KTogVVJMU2VhcmNoUGFyYW1zIHtcclxuICAgIGlmICghb2JqZWN0KSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdXJsUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xyXG4gICAgZm9yIChjb25zdCBwcm9wIGluIG9iamVjdCkge1xyXG4gICAgICB1cmxQYXJhbXMuYXBwZW5kKHByb3AsIG9iamVjdFtwcm9wXSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdXJsUGFyYW1zO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRUb2tlblRpbWVUb0xpdmUoKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IGV4cGlyZXMgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFVzZXJNb2R1bGVDb25zdGFudHMuVE9LRU5fRVhQSVJFUyk7XHJcbiAgICBpZiAoZXhwaXJlcykge1xyXG4gICAgICBjb25zdCBleHBpcmVEYXRlID0gbmV3IERhdGUoZXhwaXJlcyk7XHJcbiAgICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIGNvbnN0IHRpbWVUb0xpdmUgPSBNYXRoLmZsb29yKChleHBpcmVEYXRlLmdldFRpbWUoKSAtIG5vdy5nZXRUaW1lKCkpIC8gMTAwMCk7XHJcbiAgICAgIHJldHVybiB0aW1lVG9MaXZlIDwgMCA/IDAgOiB0aW1lVG9MaXZlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIDA7XHJcbiAgfVxyXG5cclxuICAvL0Nvb2xkb3duIGZvciBhdm9pZGluZyBpbmZpbml0ZSByZWZyZXNoXHJcbiAgcHJpdmF0ZSBjYW5SZWZyZXNoVG9rZW4oKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xyXG4gICAgaWYgKG5vdyAtIHRoaXMubGFzdFJlZnJlc2hUaW1lID4gKDIgKiA2MCAqIDEwMDApKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYXNVc2VyQmVlbkFjdGl2ZSgpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGxhc3RBY3RpdmUgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFVzZXJNb2R1bGVDb25zdGFudHMuVVNFUl9MQVNUX0FDVElWRSk7XHJcbiAgICBpZiAoIWxhc3RBY3RpdmUpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdGltZVNpbmNlTGFzdEFjdGl2ZSA9IERhdGUubm93KCkgLSBwYXJzZUludChsYXN0QWN0aXZlLCAxMCk7XHJcbiAgICBjb25zdCBpZGxlVGltZU1zID0gdGhpcy5jb25maWcuaWRsZVRpbWUgKiA2MCAqIDEwMDA7XHJcbiAgICByZXR1cm4gdGltZVNpbmNlTGFzdEFjdGl2ZSA8PSBpZGxlVGltZU1zO1xyXG4gIH1cclxuXHJcbiAgbG9nKG1lc3NhZ2U6IHN0cmluZywgLi4ub3B0aW9uYWxQYXJhbXM6IGFueVtdKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jb25maWc/LmxvZykge1xyXG4gICAgICBpZiAob3B0aW9uYWxQYXJhbXM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhtZXNzYWdlLCBvcHRpb25hbFBhcmFtcyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5sb2cobWVzc2FnZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFVzZXIodG9rZW46IHN0cmluZyk6IGFueSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBbaGVhZGVyLCBwYXlsb2FkLCBzaWduYXR1cmVdID0gdG9rZW4uc3BsaXQoJy4nKTtcclxuICAgICAgY29uc3QgYmFzZTY0VXJsID0gcGF5bG9hZC5yZXBsYWNlKC8tL2csICcrJykucmVwbGFjZSgvXy9nLCAnLycpO1xyXG4gICAgICBjb25zdCBkZWNvZGVkUGF5bG9hZCA9IGF0b2IoYmFzZTY0VXJsKTtcclxuICAgICAgY29uc3QgcGFyc2VkUGF5bG9hZCA9IEpTT04ucGFyc2UoZGVjb2RlZFBheWxvYWQpO1xyXG4gICAgICByZXR1cm4gcGFyc2VkUGF5bG9hZDtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGRlY29kaW5nIEpXVCcsIGVycm9yKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbn0iXX0=
@@ -7,7 +7,7 @@ import { TranslateModule } from '@ngx-translate/core';
7
7
  import * as i1 from '@angular/common/http';
8
8
  import { provideHttpClient, withInterceptorsFromDi, HttpHeaders, HTTP_INTERCEPTORS } from '@angular/common/http';
9
9
  import * as i1$1 from '@angular/router';
10
- import { NavigationEnd, RouterModule } from '@angular/router';
10
+ import { NavigationEnd, RouterModule, NavigationStart } from '@angular/router';
11
11
  import { Subscription, Subject, of, BehaviorSubject, catchError, throwError } from 'rxjs';
12
12
  import { startOfDay, subYears, endOfDay, addYears, getMonth, subMonths, addMonths, isSameYear, startOfMonth, endOfMonth, eachWeekOfInterval, getISOWeek, addDays, eachDayOfInterval, getHours, getMinutes, isSameDay, isSameMonth, isWithinInterval, isValid, parseISO, addSeconds, format } from 'date-fns';
13
13
  import * as i2$1 from '@angular/forms';
@@ -2066,16 +2066,22 @@ class AdbUserService {
2066
2066
  this.log('Detected auth callback, skipping init login.');
2067
2067
  return;
2068
2068
  }
2069
- this.login();
2069
+ this.router.events.subscribe(event => {
2070
+ if (event instanceof NavigationStart) {
2071
+ this.login(event.url);
2072
+ }
2073
+ });
2070
2074
  }
2071
2075
  }
2072
2076
  startMainLoop() {
2073
2077
  this.checkStatus();
2074
2078
  this.intervalId = setInterval(() => this.checkStatus(), 60 * 1000); // 60 seconds * 1000 milliseconds
2075
2079
  }
2076
- login() {
2077
- this.log('url when login', this.router.url);
2078
- sessionStorage.setItem(UserModuleConstants.CURRENT_URL, this.router.url);
2080
+ login(url = null) {
2081
+ this.log('url when login', url);
2082
+ if (url) {
2083
+ sessionStorage.setItem(UserModuleConstants.CURRENT_URL, url);
2084
+ }
2079
2085
  this.authorize();
2080
2086
  }
2081
2087
  logout() {
@@ -2305,7 +2311,7 @@ class AdbUserInterceptor {
2305
2311
  }
2306
2312
  else {
2307
2313
  if (error.status === AdbUserInterceptor.UNAUTHENTICATED) {
2308
- this.adbUserService.login();
2314
+ // this.adbUserService.authorize();
2309
2315
  }
2310
2316
  }
2311
2317
  return throwError(() => error);