adb-shared 6.0.23 → 6.0.25

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.
@@ -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 { SessionIds } 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";
@@ -20,30 +21,27 @@ export class AdbUserService {
20
21
  this.config = { ...{ scope: 'roles', idleTime: 30, response_type: 'code' }, ...config };
21
22
  }
22
23
  init() {
23
- const url = this.router.url;
24
- this.log('init userservice', url);
25
- if (url.includes('auth-callback')) {
26
- this.log('init with url', url);
27
- return;
28
- }
29
- if (url && url !== '/') {
30
- sessionStorage.setItem(SessionIds.CURRENT_URL, url);
24
+ this.router.events.subscribe((event) => {
25
+ if (event instanceof NavigationStart) {
26
+ this.log('init with url', event.url);
27
+ if (event.url.includes('auth-callback')) {
28
+ return;
29
+ }
30
+ if (event.url && event.url !== '/') {
31
+ sessionStorage.setItem(SessionIds.CURRENT_URL, event.url);
32
+ }
33
+ this.mainLoop();
34
+ this.intervalId = setInterval(() => this.mainLoop(), 60 * 1000); // 60 seconds * 1000 milliseconds
35
+ }
36
+ });
37
+ }
38
+ login() {
39
+ this.log('login at url', this.router.url);
40
+ sessionStorage.setItem(SessionIds.CURRENT_URL, this.router.url);
41
+ const accessToken = sessionStorage.getItem(SessionIds.ACCESS_TOKEN);
42
+ if (!accessToken) {
43
+ this.authorize();
31
44
  }
32
- this.mainLoop();
33
- this.intervalId = setInterval(() => this.mainLoop(), 60 * 1000); // 60 seconds * 1000 milliseconds
34
- // this.router.events.subscribe((event: Event) => {
35
- // if (event instanceof NavigationStart) {
36
- // this.log('init with url', event.url);
37
- // if (event.url.includes('auth-callback')) {
38
- // return;
39
- // }
40
- // if (event.url && event.url !== '/') {
41
- // sessionStorage.setItem(SessionIds.CURRENT_URL, event.url);
42
- // }
43
- // this.mainLoop();
44
- // this.intervalId = setInterval(() => this.mainLoop(), 60 * 1000); // 60 seconds * 1000 milliseconds
45
- // }
46
- // });
47
45
  }
48
46
  logout() {
49
47
  clearInterval(this.intervalId);
@@ -196,4 +194,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
196
194
  type: Inject,
197
195
  args: [ADB_USER_SERVICE_CONFIG]
198
196
  }] }, { type: i1.HttpClient }, { type: i2.Router }] });
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLXVzZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItdXNlci9hZGItdXNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBd0IsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBSzlDLE1BQU0sT0FBTyxjQUFjO0lBU3pCLFlBQzBDLE1BQTRCLEVBQzVELElBQWdCLEVBQ2hCLE1BQWM7UUFGa0IsV0FBTSxHQUFOLE1BQU0sQ0FBc0I7UUFDNUQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWGhCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNuQyxnQkFBVyxHQUF5QixJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztRQUMzRSxVQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUV4QyxvQkFBZSxHQUFHLENBQUMsQ0FBQztRQUVwQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBTWpCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVB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TyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDdkMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0RCxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ2hFLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN2QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2pELE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMzQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQztpSUFwTVUsY0FBYyxrQkFVZix1QkFBdUI7cUlBVnRCLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLFVBQVU7OzBCQVdOLE1BQU07MkJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQURCX1VTRVJfU0VSVklDRV9DT05GSUcsIEFkYlVzZXJTZXJ2aWNlQ29uZmlnIH0gZnJvbSAnLi9hZGItdXNlci1zZXJ2aWNlLWNvbmZpZyc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBhZGRTZWNvbmRzLCBmb3JtYXQgfSBmcm9tICdkYXRlLWZucyc7XHJcbmltcG9ydCB7IFNlc3Npb25JZHMgfSBmcm9tICcuL3VzZXItY29uc3RhbnRzJztcclxuaW1wb3J0IHsgRXZlbnQsIE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBZGJVc2VyU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG4gIHByaXZhdGUgdXNlclN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xyXG4gIHVzZXIkID0gdGhpcy51c2VyU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgbGFzdFJlZnJlc2hUaW1lID0gMDtcclxuICBpbnRlcnZhbElkOiBhbnk7XHJcbiAgaGFzRW1pdHRlZCA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoQURCX1VTRVJfU0VSVklDRV9DT05GSUcpIHB1YmxpYyBjb25maWc6IEFkYlVzZXJTZXJ2aWNlQ29uZmlnLFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge1xyXG4gICAgdGhpcy5jb25maWcgPSB7IC4uLnsgc2NvcGU6ICdyb2xlcycsIGlkbGVUaW1lOiAzMCwgcmVzcG9uc2VfdHlwZTogJ2NvZGUnIH0sIC4uLmNvbmZpZyB9O1xyXG4gIH1cclxuXHJcbiAgaW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMucm91dGVyLnVybDtcclxuICAgIHRoaXMubG9nKCdpbml0IHVzZXJzZXJ2aWNlJywgdXJsKTtcclxuICAgIGlmICh1cmwuaW5jbHVkZXMoJ2F1dGgtY2FsbGJhY2snKSkge1xyXG4gICAgICB0aGlzLmxvZygnaW5pdCB3aXRoIHVybCcsIHVybCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh1cmwgJiYgdXJsICE9PSAnLycpIHtcclxuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShTZXNzaW9uSWRzLkNVUlJFTlRfVVJMLCB1cmwpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5tYWluTG9vcCgpO1xyXG4gICAgdGhpcy5pbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoKCkgPT4gdGhpcy5tYWluTG9vcCgpLCA2MCAqIDEwMDApOyAvLyA2MCBzZWNvbmRzICogMTAwMCBtaWxsaXNlY29uZHNcclxuICAgIC8vIHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgLy8gICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcclxuICAgIC8vICAgICB0aGlzLmxvZygnaW5pdCB3aXRoIHVybCcsIGV2ZW50LnVybCk7XHJcbiAgICAvLyAgICAgaWYgKGV2ZW50LnVybC5pbmNsdWRlcygnYXV0aC1jYWxsYmFjaycpKSB7XHJcbiAgICAvLyAgICAgICByZXR1cm47XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICAgIGlmIChldmVudC51cmwgJiYgZXZlbnQudXJsICE9PSAnLycpIHtcclxuICAgIC8vICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oU2Vzc2lvbklkcy5DVVJSRU5UX1VSTCwgZXZlbnQudXJsKTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgdGhpcy5tYWluTG9vcCgpO1xyXG4gICAgLy8gICAgIHRoaXMuaW50ZXJ2YWxJZCA9IHNldEludGVydmFsKCgpID0+IHRoaXMubWFpbkxvb3AoKSwgNjAgKiAxMDAwKTsgLy8gNjAgc2Vjb25kcyAqIDEwMDAgbWlsbGlzZWNvbmRzXHJcbiAgICAvLyAgIH1cclxuICAgIC8vIH0pO1xyXG4gIH1cclxuXHJcbiAgbG9nb3V0KCk6IHZvaWQge1xyXG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsSWQpO1xyXG4gICAgdGhpcy5oYXNFbWl0dGVkID0gZmFsc2U7XHJcbiAgICBzZXNzaW9uU3RvcmFnZS5jbGVhcigpO1xyXG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBgJHt0aGlzLmNvbmZpZy5pc3N1ZXJ9L2Nvbm5lY3QvZW5kc2Vzc2lvbj9wb3N0X2xvZ291dF9yZWRpcmVjdF91cmk9JHt0aGlzLmNvbmZpZy5wb3N0TG9nb3V0VXJsfWA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1haW5Mb29wKCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2coJ21haW5sb29wIHJ1bnMnKVxyXG4gICAgY29uc3QgYWNjZXNzVG9rZW4gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFNlc3Npb25JZHMuQUNDRVNTX1RPS0VOKTtcclxuICAgIGlmIChhY2Nlc3NUb2tlbikge1xyXG4gICAgICB0aGlzLmxvZygnaGFzIGFjY2Vzc3Rva2VuJylcclxuICAgICAgY29uc3QgdGltZVRvTGl2ZSA9IHRoaXMuZ2V0VG9rZW5UaW1lVG9MaXZlKCk7XHJcbiAgICAgIHRoaXMubG9nKCd0aW1lVG9MaXZlJywgdGltZVRvTGl2ZSlcclxuICAgICAgaWYgKHRpbWVUb0xpdmUgPT09IDApIHtcclxuICAgICAgICB0aGlzLmF1dGhvcml6ZSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh0aGlzLmdldFRva2VuVGltZVRvTGl2ZSgpIDw9IDYwICYmIHRoaXMuaGFzVXNlckJlZW5BY3RpdmUoKSAmJiB0aGlzLmNhblJlZnJlc2hUb2tlbigpKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygndG9rZW4gaXMgYWJvdXQgdG8gdGltZW91dCBidXQgd2Ugd2lsbCByZWZyZXNoIGl0IGJlY2F1c2UgdXNlciBoYXMgYmVlbiBhY3RpdmUgdGhlIGxhc3QgNW1pbnV0ZXMnKTtcclxuICAgICAgICAgIHRoaXMucmVmcmVzaFRva2VuKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubG9nKCdoYXNFbWl0dGVkJywgdGhpcy5oYXNFbWl0dGVkKTtcclxuICAgICAgICBpZiAoIXRoaXMuaGFzRW1pdHRlZCkge1xyXG4gICAgICAgICAgY29uc3QgdXNlciA9IHRoaXMuZ2V0VXNlcihhY2Nlc3NUb2tlbik7XHJcbiAgICAgICAgICB0aGlzLnVzZXJTdWJqZWN0Lm5leHQodXNlcik7XHJcbiAgICAgICAgICB0aGlzLmhhc0VtaXR0ZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hdXRob3JpemUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVmcmVzaFRva2VuKCkge1xyXG4gICAgY29uc3QgYm9keSA9IGBjbGllbnRfaWQ9JHtlbmNvZGVVUklDb21wb25lbnQodGhpcy5jb25maWcuY2xpZW50SWQpfSZgICtcclxuICAgICAgYGdyYW50X3R5cGU9JHtlbmNvZGVVUklDb21wb25lbnQoXCJyZWZyZXNoX3Rva2VuXCIpfSZgICtcclxuICAgICAgYHJlZnJlc2hfdG9rZW49JHtlbmNvZGVVUklDb21wb25lbnQoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShTZXNzaW9uSWRzLlJFRlJFU0hfVE9LRU4pKX1gO1xyXG4gICAgdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLmNvbmZpZy5pc3N1ZXJ9L2Nvbm5lY3QvdG9rZW5gLCBib2R5LCB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyB9KSB9KS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiByZXNwb25zZSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRUb2tlbnNJblNlc3Npb24ocmVzcG9uc2UpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMubGFzdFJlZnJlc2hUaW1lID0gRGF0ZS5ub3coKTtcclxuICB9XHJcblxyXG4gIHNldFRva2Vuc0luU2Vzc2lvbihwYXJhbXM6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHBhcmFtcy5yZWZyZXNoX3Rva2VuKSB7XHJcbiAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oU2Vzc2lvbklkcy5SRUZSRVNIX1RPS0VOLCBwYXJhbXMucmVmcmVzaF90b2tlbik7XHJcbiAgICB9XHJcbiAgICBpZiAocGFyYW1zLmFjY2Vzc190b2tlbikge1xyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFNlc3Npb25JZHMuQUNDRVNTX1RPS0VOLCBwYXJhbXMuYWNjZXNzX3Rva2VuKTtcclxuICAgIH1cclxuICAgIGlmIChwYXJhbXMuZXhwaXJlc19pbikge1xyXG4gICAgICBjb25zdCBleHBpcmVUaW1lID0gYWRkU2Vjb25kcyhuZXcgRGF0ZSgpLCBwYXJhbXMuZXhwaXJlc19pbik7XHJcbiAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oU2Vzc2lvbklkcy5UT0tFTl9FWFBJUkVTLCBmb3JtYXQoZXhwaXJlVGltZSwgJ3l5eXktTU0tZGQgSEg6bW06c3MnKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGF1dGhvcml6ZSgpIHtcclxuICAgIGNvbnN0IGNvZGVWZXJpZmllciA9IEFycmF5LmZyb20oY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSg2NCkpLCBieXRlID0+XHJcbiAgICAgICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSdbKGJ5dGUgYXMgbnVtYmVyKSAlIDYyXVxyXG4gICAgKS5qb2luKCcnKTtcclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oU2Vzc2lvbklkcy5DT0RFX1ZFUklGSUVSLCBjb2RlVmVyaWZpZXIpO1xyXG5cclxuICAgIGNvbnN0IGVuY29kZXIgPSBuZXcgVGV4dEVuY29kZXIoKTtcclxuICAgIGNvbnN0IGRhdGEgPSBlbmNvZGVyLmVuY29kZShjb2RlVmVyaWZpZXIpO1xyXG4gICAgY29uc3QgaGFzaEJ1ZmZlciA9IGF3YWl0IGNyeXB0by5zdWJ0bGUuZGlnZXN0KCdTSEEtMjU2JywgZGF0YSk7XHJcbiAgICBjb25zdCBoYXNoQXJyYXkgPSBuZXcgVWludDhBcnJheShoYXNoQnVmZmVyKTtcclxuICAgIGxldCBjb2RlQ2hhbGxlbmdlID0gYnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlKC4uLmhhc2hBcnJheSkpO1xyXG4gICAgY29kZUNoYWxsZW5nZSA9IGNvZGVDaGFsbGVuZ2UucmVwbGFjZSgvPS9nLCAnJylcclxuICAgICAgLnJlcGxhY2UoL1xcKy9nLCAnLScpXHJcbiAgICAgIC5yZXBsYWNlKC9cXC8vZywgJ18nKTtcclxuXHJcbiAgICBjb25zdCBwYXJhbXMgPSB7XHJcbiAgICAgIHJlc3BvbnNlX3R5cGU6IHRoaXMuY29uZmlnLnJlc3BvbnNlVHlwZSxcclxuICAgICAgY2xpZW50X2lkOiB0aGlzLmNvbmZpZy5jbGllbnRJZCxcclxuICAgICAgcmVkaXJlY3RfdXJpOiB0aGlzLmNvbmZpZy5yZWRpcmVjdFVybCxcclxuICAgICAgc2NvcGU6IHRoaXMuY29uZmlnLnNjb3BlLFxyXG4gICAgICBjb2RlX2NoYWxsZW5nZTogY29kZUNoYWxsZW5nZSxcclxuICAgICAgY29kZV9jaGFsbGVuZ2VfbWV0aG9kOiAnUzI1NidcclxuICAgIH07XHJcbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHRoaXMuY29uZmlnLmlzc3VlciArICcvY29ubmVjdC9hdXRob3JpemUnKTtcclxuICAgIHVybC5zZWFyY2ggPSB0aGlzLmFkZFF1ZXJ5UGFyYW1zKHBhcmFtcykudG9TdHJpbmcoKTtcclxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdXJsLnRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBhZGRRdWVyeVBhcmFtcyhvYmplY3Q6IGFueSk6IFVSTFNlYXJjaFBhcmFtcyB7XHJcbiAgICBpZiAoIW9iamVjdCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGNvbnN0IHVybFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcclxuICAgIGZvciAoY29uc3QgcHJvcCBpbiBvYmplY3QpIHtcclxuICAgICAgdXJsUGFyYW1zLmFwcGVuZChwcm9wLCBvYmplY3RbcHJvcF0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHVybFBhcmFtcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0VG9rZW5UaW1lVG9MaXZlKCk6IG51bWJlciB7XHJcbiAgICBjb25zdCBleHBpcmVzID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShTZXNzaW9uSWRzLlRPS0VOX0VYUElSRVMpO1xyXG4gICAgaWYgKGV4cGlyZXMpIHtcclxuICAgICAgY29uc3QgZXhwaXJlRGF0ZSA9IG5ldyBEYXRlKGV4cGlyZXMpO1xyXG4gICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICBjb25zdCB0aW1lVG9MaXZlID0gTWF0aC5mbG9vcigoZXhwaXJlRGF0ZS5nZXRUaW1lKCkgLSBub3cuZ2V0VGltZSgpKSAvIDEwMDApO1xyXG4gICAgICByZXR1cm4gdGltZVRvTGl2ZSA8IDAgPyAwIDogdGltZVRvTGl2ZTtcclxuICAgIH1cclxuICAgIHJldHVybiAwO1xyXG4gIH1cclxuXHJcbiAgLy9Db29sZG93biBmb3IgYXZvaWRpbmcgaW5maW5pdGUgcmVmcmVzaFxyXG4gIHByaXZhdGUgY2FuUmVmcmVzaFRva2VuKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcclxuICAgIGlmIChub3cgLSB0aGlzLmxhc3RSZWZyZXNoVGltZSA+ICgyICogNjAgKiAxMDAwKSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFzVXNlckJlZW5BY3RpdmUoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBsYXN0QWN0aXZlID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShTZXNzaW9uSWRzLlVTRVJfTEFTVF9BQ1RJVkUpO1xyXG4gICAgaWYgKCFsYXN0QWN0aXZlKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGNvbnN0IHRpbWVTaW5jZUxhc3RBY3RpdmUgPSBEYXRlLm5vdygpIC0gcGFyc2VJbnQobGFzdEFjdGl2ZSwgMTApO1xyXG4gICAgY29uc3QgaWRsZVRpbWVNcyA9IHRoaXMuY29uZmlnLmlkbGVUaW1lICogNjAgKiAxMDAwO1xyXG4gICAgcmV0dXJuIHRpbWVTaW5jZUxhc3RBY3RpdmUgPD0gaWRsZVRpbWVNcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9nKG1lc3NhZ2U6IHN0cmluZywgLi4ub3B0aW9uYWxQYXJhbXM6IGFueVtdKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jb25maWc/LmxvZykge1xyXG4gICAgICBpZiAob3B0aW9uYWxQYXJhbXMpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhtZXNzYWdlLCBvcHRpb25hbFBhcmFtcyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5sb2cobWVzc2FnZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFVzZXIodG9rZW46IHN0cmluZyk6IGFueSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBbaGVhZGVyLCBwYXlsb2FkLCBzaWduYXR1cmVdID0gdG9rZW4uc3BsaXQoJy4nKTtcclxuICAgICAgY29uc3QgYmFzZTY0VXJsID0gcGF5bG9hZC5yZXBsYWNlKC8tL2csICcrJykucmVwbGFjZSgvXy9nLCAnLycpO1xyXG4gICAgICBjb25zdCBkZWNvZGVkUGF5bG9hZCA9IGF0b2IoYmFzZTY0VXJsKTtcclxuICAgICAgY29uc3QgcGFyc2VkUGF5bG9hZCA9IEpTT04ucGFyc2UoZGVjb2RlZFBheWxvYWQpO1xyXG4gICAgICByZXR1cm4gcGFyc2VkUGF5bG9hZDtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGRlY29kaW5nIEpXVCcsIGVycm9yKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbn0iXX0=
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLXVzZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItdXNlci9hZGItdXNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBd0IsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBUyxlQUFlLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUlqRSxNQUFNLE9BQU8sY0FBYztJQVN6QixZQUMwQyxNQUE0QixFQUM1RCxJQUFnQixFQUNoQixNQUFjO1FBRmtCLFdBQU0sR0FBTixNQUFNLENBQXNCO1FBQzVELFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVhoQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkMsZ0JBQVcsR0FBeUIsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUM7UUFDM0UsVUFBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFeEMsb0JBQWUsR0FBRyxDQUFDLENBQUM7UUFFcEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQU1qQixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFP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QVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7aUlBbE1VLGNBQWMsa0JBVWYsdUJBQXVCO3FJQVZ0QixjQUFjOzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVOzswQkFXTixNQUFNOzJCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFEQl9VU0VSX1NFUlZJQ0VfQ09ORklHLCBBZGJVc2VyU2VydmljZUNvbmZpZyB9IGZyb20gJy4vYWRiLXVzZXItc2VydmljZS1jb25maWcnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgYWRkU2Vjb25kcywgZm9ybWF0IH0gZnJvbSAnZGF0ZS1mbnMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uSWRzIH0gZnJvbSAnLi91c2VyLWNvbnN0YW50cyc7XHJcbmltcG9ydCB7IEV2ZW50LCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQWRiVXNlclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICBwcml2YXRlIHVzZXJTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcclxuICB1c2VyJCA9IHRoaXMudXNlclN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIGxhc3RSZWZyZXNoVGltZSA9IDA7XHJcbiAgaW50ZXJ2YWxJZDogYW55O1xyXG4gIGhhc0VtaXR0ZWQgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KEFEQl9VU0VSX1NFUlZJQ0VfQ09ORklHKSBwdWJsaWMgY29uZmlnOiBBZGJVc2VyU2VydmljZUNvbmZpZyxcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcclxuICAgIHRoaXMuY29uZmlnID0geyAuLi57IHNjb3BlOiAncm9sZXMnLCBpZGxlVGltZTogMzAsIHJlc3BvbnNlX3R5cGU6ICdjb2RlJyB9LCAuLi5jb25maWcgfTtcclxuICB9XHJcblxyXG4gIGluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XHJcbiAgICAgICAgdGhpcy5sb2coJ2luaXQgd2l0aCB1cmwnLCBldmVudC51cmwpO1xyXG4gICAgICAgIGlmIChldmVudC51cmwuaW5jbHVkZXMoJ2F1dGgtY2FsbGJhY2snKSkge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZXZlbnQudXJsICYmIGV2ZW50LnVybCAhPT0gJy8nKSB7XHJcbiAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFNlc3Npb25JZHMuQ1VSUkVOVF9VUkwsIGV2ZW50LnVybCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubWFpbkxvb3AoKTtcclxuICAgICAgICB0aGlzLmludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB0aGlzLm1haW5Mb29wKCksIDYwICogMTAwMCk7IC8vIDYwIHNlY29uZHMgKiAxMDAwIG1pbGxpc2Vjb25kc1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGxvZ2luKCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2coJ2xvZ2luIGF0IHVybCcsIHRoaXMucm91dGVyLnVybCk7XHJcbiAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFNlc3Npb25JZHMuQ1VSUkVOVF9VUkwsIHRoaXMucm91dGVyLnVybCk7XHJcbiAgICBjb25zdCBhY2Nlc3NUb2tlbiA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oU2Vzc2lvbklkcy5BQ0NFU1NfVE9LRU4pO1xyXG4gICAgaWYgKCFhY2Nlc3NUb2tlbikge1xyXG4gICAgICB0aGlzLmF1dGhvcml6ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbG9nb3V0KCk6IHZvaWQge1xyXG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsSWQpO1xyXG4gICAgdGhpcy5oYXNFbWl0dGVkID0gZmFsc2U7XHJcbiAgICBzZXNzaW9uU3RvcmFnZS5jbGVhcigpO1xyXG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBgJHt0aGlzLmNvbmZpZy5pc3N1ZXJ9L2Nvbm5lY3QvZW5kc2Vzc2lvbj9wb3N0X2xvZ291dF9yZWRpcmVjdF91cmk9JHt0aGlzLmNvbmZpZy5wb3N0TG9nb3V0VXJsfWA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1haW5Mb29wKCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2coJ21haW5sb29wIHJ1bnMnKVxyXG4gICAgY29uc3QgYWNjZXNzVG9rZW4gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFNlc3Npb25JZHMuQUNDRVNTX1RPS0VOKTtcclxuICAgIGlmIChhY2Nlc3NUb2tlbikge1xyXG4gICAgICB0aGlzLmxvZygnaGFzIGFjY2Vzc3Rva2VuJylcclxuICAgICAgY29uc3QgdGltZVRvTGl2ZSA9IHRoaXMuZ2V0VG9rZW5UaW1lVG9MaXZlKCk7XHJcbiAgICAgIHRoaXMubG9nKCd0aW1lVG9MaXZlJywgdGltZVRvTGl2ZSlcclxuICAgICAgaWYgKHRpbWVUb0xpdmUgPT09IDApIHtcclxuICAgICAgICB0aGlzLmF1dGhvcml6ZSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh0aGlzLmdldFRva2VuVGltZVRvTGl2ZSgpIDw9IDYwICYmIHRoaXMuaGFzVXNlckJlZW5BY3RpdmUoKSAmJiB0aGlzLmNhblJlZnJlc2hUb2tlbigpKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygndG9rZW4gaXMgYWJvdXQgdG8gdGltZW91dCBidXQgd2Ugd2lsbCByZWZyZXNoIGl0IGJlY2F1c2UgdXNlciBoYXMgYmVlbiBhY3RpdmUgdGhlIGxhc3QgNW1pbnV0ZXMnKTtcclxuICAgICAgICAgIHRoaXMucmVmcmVzaFRva2VuKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubG9nKCdoYXNFbWl0dGVkJywgdGhpcy5oYXNFbWl0dGVkKTtcclxuICAgICAgICBpZiAoIXRoaXMuaGFzRW1pdHRlZCkge1xyXG4gICAgICAgICAgY29uc3QgdXNlciA9IHRoaXMuZ2V0VXNlcihhY2Nlc3NUb2tlbik7XHJcbiAgICAgICAgICB0aGlzLnVzZXJTdWJqZWN0Lm5leHQodXNlcik7XHJcbiAgICAgICAgICB0aGlzLmhhc0VtaXR0ZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hdXRob3JpemUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVmcmVzaFRva2VuKCkge1xyXG4gICAgY29uc3QgYm9keSA9IGBjbGllbnRfaWQ9JHtlbmNvZGVVUklDb21wb25lbnQodGhpcy5jb25maWcuY2xpZW50SWQpfSZgICtcclxuICAgICAgYGdyYW50X3R5cGU9JHtlbmNvZGVVUklDb21wb25lbnQoXCJyZWZyZXNoX3Rva2VuXCIpfSZgICtcclxuICAgICAgYHJlZnJlc2hfdG9rZW49JHtlbmNvZGVVUklDb21wb25lbnQoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShTZXNzaW9uSWRzLlJFRlJFU0hfVE9LRU4pKX1gO1xyXG4gICAgdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLmNvbmZpZy5pc3N1ZXJ9L2Nvbm5lY3QvdG9rZW5gLCBib2R5LCB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyB9KSB9KS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiByZXNwb25zZSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRUb2tlbnNJblNlc3Npb24ocmVzcG9uc2UpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMubGFzdFJlZnJlc2hUaW1lID0gRGF0ZS5ub3coKTtcclxuICB9XHJcblxyXG4gIHNldFRva2Vuc0luU2Vzc2lvbihwYXJhbXM6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHBhcmFtcy5yZWZyZXNoX3Rva2VuKSB7XHJcbiAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oU2Vzc2lvbklkcy5SRUZSRVNIX1RPS0VOLCBwYXJhbXMucmVmcmVzaF90b2tlbik7XHJcbiAgICB9XHJcbiAgICBpZiAocGFyYW1zLmFjY2Vzc190b2tlbikge1xyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFNlc3Npb25JZHMuQUNDRVNTX1RPS0VOLCBwYXJhbXMuYWNjZXNzX3Rva2VuKTtcclxuICAgIH1cclxuICAgIGlmIChwYXJhbXMuZXhwaXJlc19pbikge1xyXG4gICAgICBjb25zdCBleHBpcmVUaW1lID0gYWRkU2Vjb25kcyhuZXcgRGF0ZSgpLCBwYXJhbXMuZXhwaXJlc19pbik7XHJcbiAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oU2Vzc2lvbklkcy5UT0tFTl9FWFBJUkVTLCBmb3JtYXQoZXhwaXJlVGltZSwgJ3l5eXktTU0tZGQgSEg6bW06c3MnKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGF1dGhvcml6ZSgpIHtcclxuICAgIGNvbnN0IGNvZGVWZXJpZmllciA9IEFycmF5LmZyb20oY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSg2NCkpLCBieXRlID0+XHJcbiAgICAgICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSdbKGJ5dGUgYXMgbnVtYmVyKSAlIDYyXVxyXG4gICAgKS5qb2luKCcnKTtcclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oU2Vzc2lvbklkcy5DT0RFX1ZFUklGSUVSLCBjb2RlVmVyaWZpZXIpO1xyXG5cclxuICAgIGNvbnN0IGVuY29kZXIgPSBuZXcgVGV4dEVuY29kZXIoKTtcclxuICAgIGNvbnN0IGRhdGEgPSBlbmNvZGVyLmVuY29kZShjb2RlVmVyaWZpZXIpO1xyXG4gICAgY29uc3QgaGFzaEJ1ZmZlciA9IGF3YWl0IGNyeXB0by5zdWJ0bGUuZGlnZXN0KCdTSEEtMjU2JywgZGF0YSk7XHJcbiAgICBjb25zdCBoYXNoQXJyYXkgPSBuZXcgVWludDhBcnJheShoYXNoQnVmZmVyKTtcclxuICAgIGxldCBjb2RlQ2hhbGxlbmdlID0gYnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlKC4uLmhhc2hBcnJheSkpO1xyXG4gICAgY29kZUNoYWxsZW5nZSA9IGNvZGVDaGFsbGVuZ2UucmVwbGFjZSgvPS9nLCAnJylcclxuICAgICAgLnJlcGxhY2UoL1xcKy9nLCAnLScpXHJcbiAgICAgIC5yZXBsYWNlKC9cXC8vZywgJ18nKTtcclxuXHJcbiAgICBjb25zdCBwYXJhbXMgPSB7XHJcbiAgICAgIHJlc3BvbnNlX3R5cGU6IHRoaXMuY29uZmlnLnJlc3BvbnNlVHlwZSxcclxuICAgICAgY2xpZW50X2lkOiB0aGlzLmNvbmZpZy5jbGllbnRJZCxcclxuICAgICAgcmVkaXJlY3RfdXJpOiB0aGlzLmNvbmZpZy5yZWRpcmVjdFVybCxcclxuICAgICAgc2NvcGU6IHRoaXMuY29uZmlnLnNjb3BlLFxyXG4gICAgICBjb2RlX2NoYWxsZW5nZTogY29kZUNoYWxsZW5nZSxcclxuICAgICAgY29kZV9jaGFsbGVuZ2VfbWV0aG9kOiAnUzI1NidcclxuICAgIH07XHJcbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHRoaXMuY29uZmlnLmlzc3VlciArICcvY29ubmVjdC9hdXRob3JpemUnKTtcclxuICAgIHVybC5zZWFyY2ggPSB0aGlzLmFkZFF1ZXJ5UGFyYW1zKHBhcmFtcykudG9TdHJpbmcoKTtcclxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdXJsLnRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBhZGRRdWVyeVBhcmFtcyhvYmplY3Q6IGFueSk6IFVSTFNlYXJjaFBhcmFtcyB7XHJcbiAgICBpZiAoIW9iamVjdCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGNvbnN0IHVybFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcclxuICAgIGZvciAoY29uc3QgcHJvcCBpbiBvYmplY3QpIHtcclxuICAgICAgdXJsUGFyYW1zLmFwcGVuZChwcm9wLCBvYmplY3RbcHJvcF0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHVybFBhcmFtcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0VG9rZW5UaW1lVG9MaXZlKCk6IG51bWJlciB7XHJcbiAgICBjb25zdCBleHBpcmVzID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShTZXNzaW9uSWRzLlRPS0VOX0VYUElSRVMpO1xyXG4gICAgaWYgKGV4cGlyZXMpIHtcclxuICAgICAgY29uc3QgZXhwaXJlRGF0ZSA9IG5ldyBEYXRlKGV4cGlyZXMpO1xyXG4gICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICBjb25zdCB0aW1lVG9MaXZlID0gTWF0aC5mbG9vcigoZXhwaXJlRGF0ZS5nZXRUaW1lKCkgLSBub3cuZ2V0VGltZSgpKSAvIDEwMDApO1xyXG4gICAgICByZXR1cm4gdGltZVRvTGl2ZSA8IDAgPyAwIDogdGltZVRvTGl2ZTtcclxuICAgIH1cclxuICAgIHJldHVybiAwO1xyXG4gIH1cclxuXHJcbiAgLy9Db29sZG93biBmb3IgYXZvaWRpbmcgaW5maW5pdGUgcmVmcmVzaFxyXG4gIHByaXZhdGUgY2FuUmVmcmVzaFRva2VuKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcclxuICAgIGlmIChub3cgLSB0aGlzLmxhc3RSZWZyZXNoVGltZSA+ICgyICogNjAgKiAxMDAwKSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFzVXNlckJlZW5BY3RpdmUoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBsYXN0QWN0aXZlID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShTZXNzaW9uSWRzLlVTRVJfTEFTVF9BQ1RJVkUpO1xyXG4gICAgaWYgKCFsYXN0QWN0aXZlKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGNvbnN0IHRpbWVTaW5jZUxhc3RBY3RpdmUgPSBEYXRlLm5vdygpIC0gcGFyc2VJbnQobGFzdEFjdGl2ZSwgMTApO1xyXG4gICAgY29uc3QgaWRsZVRpbWVNcyA9IHRoaXMuY29uZmlnLmlkbGVUaW1lICogNjAgKiAxMDAwO1xyXG4gICAgcmV0dXJuIHRpbWVTaW5jZUxhc3RBY3RpdmUgPD0gaWRsZVRpbWVNcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9nKG1lc3NhZ2U6IHN0cmluZywgLi4ub3B0aW9uYWxQYXJhbXM6IGFueVtdKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jb25maWc/LmxvZykge1xyXG4gICAgICBpZiAob3B0aW9uYWxQYXJhbXMpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhtZXNzYWdlLCBvcHRpb25hbFBhcmFtcyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5sb2cobWVzc2FnZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFVzZXIodG9rZW46IHN0cmluZyk6IGFueSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBbaGVhZGVyLCBwYXlsb2FkLCBzaWduYXR1cmVdID0gdG9rZW4uc3BsaXQoJy4nKTtcclxuICAgICAgY29uc3QgYmFzZTY0VXJsID0gcGF5bG9hZC5yZXBsYWNlKC8tL2csICcrJykucmVwbGFjZSgvXy9nLCAnLycpO1xyXG4gICAgICBjb25zdCBkZWNvZGVkUGF5bG9hZCA9IGF0b2IoYmFzZTY0VXJsKTtcclxuICAgICAgY29uc3QgcGFyc2VkUGF5bG9hZCA9IEpTT04ucGFyc2UoZGVjb2RlZFBheWxvYWQpO1xyXG4gICAgICByZXR1cm4gcGFyc2VkUGF5bG9hZDtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGRlY29kaW5nIEpXVCcsIGVycm9yKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbn0iXX0=
@@ -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';
@@ -2051,30 +2051,27 @@ class AdbUserService {
2051
2051
  this.config = { ...{ scope: 'roles', idleTime: 30, response_type: 'code' }, ...config };
2052
2052
  }
2053
2053
  init() {
2054
- const url = this.router.url;
2055
- this.log('init userservice', url);
2056
- if (url.includes('auth-callback')) {
2057
- this.log('init with url', url);
2058
- return;
2054
+ this.router.events.subscribe((event) => {
2055
+ if (event instanceof NavigationStart) {
2056
+ this.log('init with url', event.url);
2057
+ if (event.url.includes('auth-callback')) {
2058
+ return;
2059
+ }
2060
+ if (event.url && event.url !== '/') {
2061
+ sessionStorage.setItem(SessionIds.CURRENT_URL, event.url);
2062
+ }
2063
+ this.mainLoop();
2064
+ this.intervalId = setInterval(() => this.mainLoop(), 60 * 1000); // 60 seconds * 1000 milliseconds
2065
+ }
2066
+ });
2067
+ }
2068
+ login() {
2069
+ this.log('login at url', this.router.url);
2070
+ sessionStorage.setItem(SessionIds.CURRENT_URL, this.router.url);
2071
+ const accessToken = sessionStorage.getItem(SessionIds.ACCESS_TOKEN);
2072
+ if (!accessToken) {
2073
+ this.authorize();
2059
2074
  }
2060
- if (url && url !== '/') {
2061
- sessionStorage.setItem(SessionIds.CURRENT_URL, url);
2062
- }
2063
- this.mainLoop();
2064
- this.intervalId = setInterval(() => this.mainLoop(), 60 * 1000); // 60 seconds * 1000 milliseconds
2065
- // this.router.events.subscribe((event: Event) => {
2066
- // if (event instanceof NavigationStart) {
2067
- // this.log('init with url', event.url);
2068
- // if (event.url.includes('auth-callback')) {
2069
- // return;
2070
- // }
2071
- // if (event.url && event.url !== '/') {
2072
- // sessionStorage.setItem(SessionIds.CURRENT_URL, event.url);
2073
- // }
2074
- // this.mainLoop();
2075
- // this.intervalId = setInterval(() => this.mainLoop(), 60 * 1000); // 60 seconds * 1000 milliseconds
2076
- // }
2077
- // });
2078
2075
  }
2079
2076
  logout() {
2080
2077
  clearInterval(this.intervalId);