raain-app 1.6.16 → 1.6.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/CHANGELOG.md +21 -1
  2. package/esm2020/cache.service.mjs +4 -4
  3. package/esm2020/pipes.module.mjs +5 -5
  4. package/esm2020/profile-icon.directive.mjs +12 -23
  5. package/esm2020/profile.service.mjs +33 -30
  6. package/esm2020/raain-compare/raain-compare.component.mjs +4 -4
  7. package/esm2020/raain-compare-stack/raain-compare-stack.component.mjs +5 -5
  8. package/esm2020/raain-configuration/raain-configuration.component.mjs +4 -4
  9. package/esm2020/raain-date-dynamic/raain-date-dynamic.component.mjs +4 -4
  10. package/esm2020/raain-date-focus/raain-date-focus.component.mjs +4 -4
  11. package/esm2020/raain-details/raain-details.component.mjs +219 -97
  12. package/esm2020/raain-globe/raain-globe.component.mjs +4 -4
  13. package/esm2020/raain-map/raain-map.component.mjs +68 -10
  14. package/esm2020/raain-speed/raain-speed.component.mjs +4 -4
  15. package/esm2020/radar.service.mjs +4 -9
  16. package/esm2020/shared.const.mjs +2 -15
  17. package/esm2020/shared.module.mjs +5 -5
  18. package/esm2020/shared.pipe.mjs +34 -34
  19. package/esm2020/storage.service.mjs +4 -4
  20. package/esm2020/tools/CompareManager.mjs +2 -2
  21. package/esm2020/tools/RefreshManager.mjs +2 -2
  22. package/fesm2015/raain-app.mjs +434 -256
  23. package/fesm2015/raain-app.mjs.map +1 -1
  24. package/fesm2020/raain-app.mjs +406 -252
  25. package/fesm2020/raain-app.mjs.map +1 -1
  26. package/package.json +10 -10
  27. package/profile-icon.directive.d.ts +0 -1
  28. package/profile.service.d.ts +5 -4
  29. package/raain-details/raain-details.component.d.ts +39 -6
  30. package/raain-map/raain-map.component.d.ts +10 -3
  31. package/shared.const.d.ts +1 -13
package/CHANGELOG.md CHANGED
@@ -7,6 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.6.18] - 2025-12-08
11
+
12
+ ### Added
13
+
14
+ - Visible pixel markers toggle feature on rain map
15
+ - `showVisiblePixelMarkers` input and `onTogglePixelMarkers()` in raain-details
16
+
17
+ ### Changed
18
+
19
+ - Default map alpha opacity from 0 to 0.4
20
+ - Sum display format: now shows total first with average details
21
+ - Added `moveend` event listener for map marker updates
22
+
23
+ ### Dependencies
24
+
25
+ - Updated raain-model from ~3.1.9 to ~3.1.10
26
+ - Updated raain-ui from ~2.3.24 to ~2.3.25
27
+
28
+ ## [1.6.17] - 2025-12-05
29
+
10
30
  ### Changed
11
31
 
12
32
  - [RAD-94] draft of cumulative isolation
@@ -90,7 +110,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
90
110
 
91
111
  ### Changed
92
112
 
93
- - 24h period added for admin
113
+ - 24h period added
94
114
 
95
115
  ## [1.5.35] - 2025-08-07
96
116
 
@@ -22,12 +22,12 @@ export class Cache {
22
22
  }
23
23
  }
24
24
  }
25
- Cache.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: Cache, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
26
- Cache.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: Cache, providedIn: 'root' });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: Cache, decorators: [{
25
+ Cache.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Cache, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
26
+ Cache.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Cache, providedIn: 'root' });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Cache, decorators: [{
28
28
  type: Injectable,
29
29
  args: [{
30
30
  providedIn: 'root',
31
31
  }]
32
32
  }], ctorParameters: function () { return []; } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL3NoYXJlZC9jYWNoZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBS3pDLE1BQU0sT0FBTyxLQUFLO0lBR2Q7UUFDSSxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU0sS0FBSyxDQUFDLFFBQVEsQ0FBSSxHQUFXLEVBQUUsV0FBNkI7UUFDL0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQ3pELE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsTUFBTSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1NBQzNDO2FBQU07WUFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNwQztRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQU0sQ0FBQztJQUNqQyxDQUFDO0lBRU0sUUFBUSxDQUFJLEdBQVcsRUFBRSxLQUFRO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBRXpCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzlELElBQUksTUFBTSxHQUFHLEVBQUUsRUFBRTtZQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsMENBQTBDLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDcEU7SUFDTCxDQUFDOztrR0F4QlEsS0FBSztzR0FBTCxLQUFLLGNBRkYsTUFBTTsyRkFFVCxLQUFLO2tCQUhqQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENhY2hlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jYWNoZTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5fY2FjaGUgPSB7fTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0VmFsdWU8VD4oa2V5OiBzdHJpbmcsIGFzeW5jR2V0dGVyOiAoKSA9PiBQcm9taXNlPFQ+KTogUHJvbWlzZTxUPiB7XG4gICAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRoaXMuX2NhY2hlLCBrZXkpKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnY2FjaGUgbm90IGRvbmU6ICcsIGtleSk7XG4gICAgICAgICAgICB0aGlzLnB1dFZhbHVlKGtleSwgYXdhaXQgYXN5bmNHZXR0ZXIoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnY2FjaGUgZG9uZTogJywga2V5KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fY2FjaGVba2V5XSBhcyBUO1xuICAgIH1cblxuICAgIHB1YmxpYyBwdXRWYWx1ZTxUPihrZXk6IHN0cmluZywgdmFsdWU6IFQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2FjaGVba2V5XSA9IHZhbHVlO1xuXG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMuX2NhY2hlKS5sZW5ndGg7XG4gICAgICAgIGlmIChsZW5ndGggPiAzMCkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdQYiBvbiBjYWNoZSBzaXplIGV4Y2VlZCA/IGRvIGEgcmVzdGFydCA/JywgbGVuZ3RoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL3NoYXJlZC9jYWNoZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBS3pDLE1BQU0sT0FBTyxLQUFLO0lBR2Q7UUFDSSxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU0sS0FBSyxDQUFDLFFBQVEsQ0FBSSxHQUFXLEVBQUUsV0FBNkI7UUFDL0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQ3pELE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsTUFBTSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1NBQzNDO2FBQU07WUFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNwQztRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQU0sQ0FBQztJQUNqQyxDQUFDO0lBRU0sUUFBUSxDQUFJLEdBQVcsRUFBRSxLQUFRO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBRXpCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzlELElBQUksTUFBTSxHQUFHLEVBQUUsRUFBRTtZQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsMENBQTBDLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDcEU7SUFDTCxDQUFDOzttR0F4QlEsS0FBSzt1R0FBTCxLQUFLLGNBRkYsTUFBTTs0RkFFVCxLQUFLO2tCQUhqQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENhY2hlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jYWNoZTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5fY2FjaGUgPSB7fTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0VmFsdWU8VD4oa2V5OiBzdHJpbmcsIGFzeW5jR2V0dGVyOiAoKSA9PiBQcm9taXNlPFQ+KTogUHJvbWlzZTxUPiB7XG4gICAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRoaXMuX2NhY2hlLCBrZXkpKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnY2FjaGUgbm90IGRvbmU6ICcsIGtleSk7XG4gICAgICAgICAgICB0aGlzLnB1dFZhbHVlKGtleSwgYXdhaXQgYXN5bmNHZXR0ZXIoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnY2FjaGUgZG9uZTogJywga2V5KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fY2FjaGVba2V5XSBhcyBUO1xuICAgIH1cblxuICAgIHB1YmxpYyBwdXRWYWx1ZTxUPihrZXk6IHN0cmluZywgdmFsdWU6IFQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2FjaGVba2V5XSA9IHZhbHVlO1xuXG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMuX2NhY2hlKS5sZW5ndGg7XG4gICAgICAgIGlmIChsZW5ndGggPiAzMCkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdQYiBvbiBjYWNoZSBzaXplIGV4Y2VlZCA/IGRvIGEgcmVzdGFydCA/JywgbGVuZ3RoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -3,8 +3,8 @@ import { AreInProgressPipe, AreReady, AreStopped, HasGoodQuality, HasNotGoodQual
3
3
  import * as i0 from "@angular/core";
4
4
  export class PipesModule {
5
5
  }
6
- PipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
- PipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: PipesModule, declarations: [AreStopped,
6
+ PipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
+ PipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: PipesModule, declarations: [AreStopped,
8
8
  AreInProgressPipe,
9
9
  AreReady,
10
10
  IsReady,
@@ -25,8 +25,8 @@ PipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "1
25
25
  ProgressValue,
26
26
  ProgressBuffer,
27
27
  HaveNotBeenRed] });
28
- PipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PipesModule });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PipesModule, decorators: [{
28
+ PipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PipesModule });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PipesModule, decorators: [{
30
30
  type: NgModule,
31
31
  args: [{
32
32
  declarations: [
@@ -57,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
57
57
  ],
58
58
  }]
59
59
  }] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvcmUvc2hhcmVkL3BpcGVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLFVBQVUsRUFDVixjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxVQUFVLEVBQ1YsT0FBTyxFQUNQLGNBQWMsRUFDZCxhQUFhLEVBQ2IsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDOztBQThCdkIsTUFBTSxPQUFPLFdBQVc7O3dHQUFYLFdBQVc7eUdBQVgsV0FBVyxpQkExQmhCLFVBQVU7UUFDVixpQkFBaUI7UUFDakIsUUFBUTtRQUNSLE9BQU87UUFDUCxVQUFVO1FBQ1YsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsYUFBYTtRQUNiLGNBQWM7UUFDZCxjQUFjLGFBR2QsVUFBVTtRQUNWLGlCQUFpQjtRQUNqQixRQUFRO1FBQ1IsT0FBTztRQUNQLFVBQVU7UUFDVixpQkFBaUI7UUFDakIsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixhQUFhO1FBQ2IsY0FBYztRQUNkLGNBQWM7eUdBR1QsV0FBVzsyRkFBWCxXQUFXO2tCQTVCdkIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsVUFBVTt3QkFDVixpQkFBaUI7d0JBQ2pCLFFBQVE7d0JBQ1IsT0FBTzt3QkFDUCxVQUFVO3dCQUNWLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxjQUFjO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsVUFBVTt3QkFDVixpQkFBaUI7d0JBQ2pCLFFBQVE7d0JBQ1IsT0FBTzt3QkFDUCxVQUFVO3dCQUNWLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxjQUFjO3FCQUNqQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBcmVJblByb2dyZXNzUGlwZSxcbiAgICBBcmVSZWFkeSxcbiAgICBBcmVTdG9wcGVkLFxuICAgIEhhc0dvb2RRdWFsaXR5LFxuICAgIEhhc05vdEdvb2RRdWFsaXR5LFxuICAgIEhhdmVOb3RCZWVuUmVkLFxuICAgIElzTm90UmVhZHksXG4gICAgSXNSZWFkeSxcbiAgICBQcm9ncmVzc0J1ZmZlcixcbiAgICBQcm9ncmVzc1ZhbHVlLFxuICAgIFdhaXRGb3JWYWxpZGF0aW9uLFxufSBmcm9tICcuL3NoYXJlZC5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgQXJlU3RvcHBlZCxcbiAgICAgICAgQXJlSW5Qcm9ncmVzc1BpcGUsXG4gICAgICAgIEFyZVJlYWR5LFxuICAgICAgICBJc1JlYWR5LFxuICAgICAgICBJc05vdFJlYWR5LFxuICAgICAgICBXYWl0Rm9yVmFsaWRhdGlvbixcbiAgICAgICAgSGFzR29vZFF1YWxpdHksXG4gICAgICAgIEhhc05vdEdvb2RRdWFsaXR5LFxuICAgICAgICBQcm9ncmVzc1ZhbHVlLFxuICAgICAgICBQcm9ncmVzc0J1ZmZlcixcbiAgICAgICAgSGF2ZU5vdEJlZW5SZWQsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEFyZVN0b3BwZWQsXG4gICAgICAgIEFyZUluUHJvZ3Jlc3NQaXBlLFxuICAgICAgICBBcmVSZWFkeSxcbiAgICAgICAgSXNSZWFkeSxcbiAgICAgICAgSXNOb3RSZWFkeSxcbiAgICAgICAgV2FpdEZvclZhbGlkYXRpb24sXG4gICAgICAgIEhhc0dvb2RRdWFsaXR5LFxuICAgICAgICBIYXNOb3RHb29kUXVhbGl0eSxcbiAgICAgICAgUHJvZ3Jlc3NWYWx1ZSxcbiAgICAgICAgUHJvZ3Jlc3NCdWZmZXIsXG4gICAgICAgIEhhdmVOb3RCZWVuUmVkLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFBpcGVzTW9kdWxlIHt9XG4iXX0=
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvcmUvc2hhcmVkL3BpcGVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLFVBQVUsRUFDVixjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxVQUFVLEVBQ1YsT0FBTyxFQUNQLGNBQWMsRUFDZCxhQUFhLEVBQ2IsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDOztBQThCdkIsTUFBTSxPQUFPLFdBQVc7O3lHQUFYLFdBQVc7MEdBQVgsV0FBVyxpQkExQmhCLFVBQVU7UUFDVixpQkFBaUI7UUFDakIsUUFBUTtRQUNSLE9BQU87UUFDUCxVQUFVO1FBQ1YsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsYUFBYTtRQUNiLGNBQWM7UUFDZCxjQUFjLGFBR2QsVUFBVTtRQUNWLGlCQUFpQjtRQUNqQixRQUFRO1FBQ1IsT0FBTztRQUNQLFVBQVU7UUFDVixpQkFBaUI7UUFDakIsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixhQUFhO1FBQ2IsY0FBYztRQUNkLGNBQWM7MEdBR1QsV0FBVzs0RkFBWCxXQUFXO2tCQTVCdkIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsVUFBVTt3QkFDVixpQkFBaUI7d0JBQ2pCLFFBQVE7d0JBQ1IsT0FBTzt3QkFDUCxVQUFVO3dCQUNWLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxjQUFjO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsVUFBVTt3QkFDVixpQkFBaUI7d0JBQ2pCLFFBQVE7d0JBQ1IsT0FBTzt3QkFDUCxVQUFVO3dCQUNWLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxjQUFjO3FCQUNqQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBcmVJblByb2dyZXNzUGlwZSxcbiAgICBBcmVSZWFkeSxcbiAgICBBcmVTdG9wcGVkLFxuICAgIEhhc0dvb2RRdWFsaXR5LFxuICAgIEhhc05vdEdvb2RRdWFsaXR5LFxuICAgIEhhdmVOb3RCZWVuUmVkLFxuICAgIElzTm90UmVhZHksXG4gICAgSXNSZWFkeSxcbiAgICBQcm9ncmVzc0J1ZmZlcixcbiAgICBQcm9ncmVzc1ZhbHVlLFxuICAgIFdhaXRGb3JWYWxpZGF0aW9uLFxufSBmcm9tICcuL3NoYXJlZC5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgQXJlU3RvcHBlZCxcbiAgICAgICAgQXJlSW5Qcm9ncmVzc1BpcGUsXG4gICAgICAgIEFyZVJlYWR5LFxuICAgICAgICBJc1JlYWR5LFxuICAgICAgICBJc05vdFJlYWR5LFxuICAgICAgICBXYWl0Rm9yVmFsaWRhdGlvbixcbiAgICAgICAgSGFzR29vZFF1YWxpdHksXG4gICAgICAgIEhhc05vdEdvb2RRdWFsaXR5LFxuICAgICAgICBQcm9ncmVzc1ZhbHVlLFxuICAgICAgICBQcm9ncmVzc0J1ZmZlcixcbiAgICAgICAgSGF2ZU5vdEJlZW5SZWQsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEFyZVN0b3BwZWQsXG4gICAgICAgIEFyZUluUHJvZ3Jlc3NQaXBlLFxuICAgICAgICBBcmVSZWFkeSxcbiAgICAgICAgSXNSZWFkeSxcbiAgICAgICAgSXNOb3RSZWFkeSxcbiAgICAgICAgV2FpdEZvclZhbGlkYXRpb24sXG4gICAgICAgIEhhc0dvb2RRdWFsaXR5LFxuICAgICAgICBIYXNOb3RHb29kUXVhbGl0eSxcbiAgICAgICAgUHJvZ3Jlc3NWYWx1ZSxcbiAgICAgICAgUHJvZ3Jlc3NCdWZmZXIsXG4gICAgICAgIEhhdmVOb3RCZWVuUmVkLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFBpcGVzTW9kdWxlIHt9XG4iXX0=
@@ -25,18 +25,6 @@ export class ProfileIconDirective {
25
25
  const button = document.createElement('ion-button');
26
26
  // Store references for later use
27
27
  this.profileButton = button;
28
- // Create the skeleton text element (hidden initially)
29
- const skeleton = document.createElement('ion-skeleton-text');
30
- skeleton.setAttribute('animated', 'true');
31
- skeleton.style.width = '100px';
32
- skeleton.style.height = '20px';
33
- skeleton.style.borderRadius = '4px';
34
- skeleton.style.margin = '8px 16px';
35
- skeleton.style.display = 'none';
36
- // Store reference to the skeleton text
37
- this.skeletonText = skeleton;
38
- // Add the skeleton text to the buttons container
39
- profileButtons.appendChild(skeleton);
40
28
  // Create the icon
41
29
  const icon = document.createElement('ion-icon');
42
30
  icon.setAttribute('name', 'person-circle-outline');
@@ -78,15 +66,14 @@ export class ProfileIconDirective {
78
66
  this.performConnectionRefresh();
79
67
  }
80
68
  showSkeletonText() {
81
- if (this.skeletonText && this.profileButton) {
82
- this.profileButton.style.display = 'none';
83
- this.skeletonText.style.display = 'block';
69
+ if (this.profileButton) {
70
+ this.profileButton.style.opacity = '0.7';
71
+ this.profileButton.style.transition = 'opacity 0.3s ease';
84
72
  }
85
73
  }
86
74
  hideSkeletonText() {
87
- if (this.skeletonText && this.profileButton) {
88
- this.profileButton.style.display = 'flex';
89
- this.skeletonText.style.display = 'none';
75
+ if (this.profileButton) {
76
+ this.profileButton.style.opacity = '1';
90
77
  }
91
78
  }
92
79
  async performConnectionRefresh() {
@@ -96,7 +83,9 @@ export class ProfileIconDirective {
96
83
  this.isConnected = await this.profileService.isConnected();
97
84
  if (this.isConnected) {
98
85
  // Call the refresh function
99
- if (this.profileService.needsConnectionRefresh()) {
86
+ const needsConnectionRefresh = this.profileService.needsConnectionRefresh();
87
+ const isLoggedIn = this.profileService.isLoggedIn();
88
+ if (needsConnectionRefresh || !isLoggedIn) {
100
89
  await this.profileService.connectionRefresh();
101
90
  }
102
91
  await sleep(1000);
@@ -132,12 +121,12 @@ export class ProfileIconDirective {
132
121
  return false;
133
122
  }
134
123
  }
135
- ProfileIconDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ProfileIconDirective, deps: [{ token: i0.ElementRef }, { token: i1.ProfileService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Directive });
136
- ProfileIconDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: ProfileIconDirective, selector: "ion-toolbar", ngImport: i0 });
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ProfileIconDirective, decorators: [{
124
+ ProfileIconDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ProfileIconDirective, deps: [{ token: i0.ElementRef }, { token: i1.ProfileService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Directive });
125
+ ProfileIconDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ProfileIconDirective, selector: "ion-toolbar", ngImport: i0 });
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ProfileIconDirective, decorators: [{
138
127
  type: Directive,
139
128
  args: [{
140
129
  selector: 'ion-toolbar',
141
130
  }]
142
131
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ProfileService }, { type: i2.Router }]; } });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1pY29uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL3NoYXJlZC9wcm9maWxlLWljb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWdDLE1BQU0sZUFBZSxDQUFDOzs7O0FBSXZFLDBFQUEwRTtBQUMxRSxTQUFTLEtBQUssQ0FBQyxFQUFVO0lBQ3JCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBS0QsTUFBTSxPQUFPLG9CQUFvQjtJQU03QixZQUNZLEVBQWMsRUFDZCxjQUE4QixFQUM5QixNQUFjO1FBRmQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTGxCLGdCQUFXLEdBQVksSUFBSSxDQUFDO0lBTWpDLENBQUM7SUFFSixRQUFRO1FBQ0osMEVBQTBFO1FBQzFFLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUMzRCx5Q0FBeUM7WUFDekMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUU3QyxvQ0FBb0M7WUFDcEMsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM3RCxjQUFjLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztZQUUvQyxvQkFBb0I7WUFDcEIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUVwRCxpQ0FBaUM7WUFDakMsSUFBSSxDQUFDLGFBQWEs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QUFDO2FBQ25GO1NBQ0o7SUFDTCxDQUFDO0lBRUQsMERBQTBEO0lBQ2xELGFBQWE7UUFDakIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1FBRWpELGlFQUFpRTtRQUNqRSxPQUFPLE1BQU0sRUFBRTtZQUNYLElBQUksTUFBTSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxLQUFLLFdBQVcsRUFBRTtnQkFDaEUsT0FBTyxJQUFJLENBQUM7YUFDZjtZQUNELE1BQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1NBQ2pDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs7aUhBM0pRLG9CQUFvQjtxR0FBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGFBQWE7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UHJvZmlsZVNlcnZpY2V9IGZyb20gJy4vcHJvZmlsZS5zZXJ2aWNlJztcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gcGF1c2UgZXhlY3V0aW9uIGZvciBhIHNwZWNpZmllZCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuZnVuY3Rpb24gc2xlZXAobXM6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2lvbi10b29sYmFyJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZmlsZUljb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWZyZXNoVGltZXI6IGFueTtcbiAgICBwcml2YXRlIHByb2ZpbGVCdXR0b246IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgc2tlbGV0b25UZXh0OiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIGlzQ29ubmVjdGVkOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHByb2ZpbGVTZXJ2aWNlOiBQcm9maWxlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxuICAgICkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvLyBDaGVjayBpZiB0aGUgdXNlciBpcyBsb2dnZWQgaW4gYW5kIGlmIHRoZSB0b29sYmFyIGlzIG5vdCBpbnNpZGUgYSBtb2RhbFxuICAgICAgICBpZiAodGhpcy5wcm9maWxlU2VydmljZS5pc0xvZ2dlZEluKCkgJiYgIXRoaXMuaXNJbnNpZGVNb2RhbCgpKSB7XG4gICAgICAgICAgICAvLyBHZXQgdGhlIGVtYWlsIGZyb20gdGhlIHByb2ZpbGUgc2VydmljZVxuICAgICAgICAgICAgY29uc3QgZW1haWwgPSB0aGlzLnByb2ZpbGVTZXJ2aWNlLmdldEVtYWlsKCk7XG5cbiAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgcHJvZmlsZSBidXR0b24gZWxlbWVudFxuICAgICAgICAgICAgY29uc3QgcHJvZmlsZUJ1dHRvbnMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpb24tYnV0dG9ucycpO1xuICAgICAgICAgICAgcHJvZmlsZUJ1dHRvbnMuc2V0QXR0cmlidXRlKCdzbG90JywgJ3ByaW1hcnknKTtcblxuICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBidXR0b25cbiAgICAgICAgICAgIGNvbnN0IGJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lvbi1idXR0b24nKTtcblxuICAgICAgICAgICAgLy8gU3RvcmUgcmVmZXJlbmNlcyBmb3IgbGF0ZXIgdXNlXG4gICAgICAgICAgICB0aGlzLnByb2ZpbGVCdXR0b24gPSBidXR0b247XG5cbiAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgc2tlbGV0b24gdGV4dCBlbGVtZW50IChoaWRkZW4gaW5pdGlhbGx5KVxuICAgICAgICAgICAgY29uc3Qgc2tlbGV0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpb24tc2tlbGV0b24tdGV4dCcpO1xuICAgICAgICAgICAgc2tlbGV0b24uc2V0QXR0cmlidXRlKCdhbmltYXRlZCcsICd0cnVlJyk7XG4gICAgICAgICAgICBza2VsZXRvbi5zdHlsZS53aWR0aCA9ICcxMDBweCc7XG4gICAgICAgICAgICBza2VsZXRvbi5zdHlsZS5oZWlnaHQgPSAnMjBweCc7XG4gICAgICAgICAgICBza2VsZXRvbi5zdHlsZS5ib3JkZXJSYWRpdXMgPSAnNHB4JztcbiAgICAgICAgICAgIHNrZWxldG9uLnN0eWxlLm1hcmdpbiA9ICc4cHggMTZweCc7XG4gICAgICAgICAgICBza2VsZXRvbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuXG4gICAgICAgICAgICAvLyBTdG9yZSByZWZlcmVuY2UgdG8gdGhlIHNrZWxldG9uIHRleHRcbiAgICAgICAgICAgIHRoaXMuc2tlbGV0b25UZXh0ID0gc2tlbGV0b247XG5cbiAgICAgICAgICAgIC8vIEFkZCB0aGUgc2tlbGV0b24gdGV4dCB0byB0aGUgYnV0dG9ucyBjb250YWluZXJcbiAgICAgICAgICAgIHByb2ZpbGVCdXR0b25zLmFwcGVuZENoaWxkKHNrZWxldG9uKTtcblxuICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBpY29uXG4gICAgICAgICAgICBjb25zdCBpY29uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW9uLWljb24nKTtcbiAgICAgICAgICAgIGljb24uc2V0QXR0cmlidXRlKCduYW1lJywgJ3BlcnNvbi1jaXJjbGUtb3V0bGluZScpO1xuICAgICAgICAgICAgaWNvbi5zZXRBdHRyaWJ1dGUoJ3Nsb3QnLCAnc3RhcnQnKTtcblxuICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBsYWJlbFxuICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpb24tbGFiZWwnKTtcbiAgICAgICAgICAgIGxhYmVsLnRleHRDb250ZW50ID0gZW1haWw7XG5cbiAgICAgICAgICAgIC8vIEFzc2VtYmxlIHRoZSBidXR0b25cbiAgICAgICAgICAgIGJ1dHRvbi5hcHBlbmRDaGlsZChpY29uKTtcbiAgICAgICAgICAgIGJ1dHRvbi5hcHBlbmRDaGlsZChsYWJlbCk7XG5cbiAgICAgICAgICAgIC8vIEFkZCBjbGljayBldmVudCBsaXN0ZW5lciB0byB0aGUgYnV0dG9uXG4gICAgICAgICAgICBidXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZVRvUHJvZmlsZSgpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIC8vIEFzc2VtYmxlIHRoZSBidXR0b25zIGNvbnRhaW5lclxuICAgICAgICAgICAgcHJvZmlsZUJ1dHRvbnMuYXBwZW5kQ2hpbGQoYnV0dG9uKTtcblxuICAgICAgICAgICAgLy8gQXBwZW5kIHRoZSBidXR0b25zIHRvIHRoZSB0b29sYmFyXG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQocHJvZmlsZUJ1dHRvbnMpO1xuXG4gICAgICAgICAgICAvLyBTdGFydCB0aGUgYmFja2dyb3VuZCByZWZyZXNoIHRpbWVyIChjaGVjayBldmVyeSBtaW51dGUpXG4gICAgICAgICAgICB0aGlzLnN0YXJ0QmFja2dyb3VuZFJlZnJlc2goKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICAvLyBDbGVhciB0aGUgdGltZXIgd2hlbiB0aGUgZGlyZWN0aXZlIGlzIGRlc3Ryb3llZFxuICAgICAgICBpZiAodGhpcy5yZWZyZXNoVGltZXIpIHtcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5yZWZyZXNoVGltZXIpO1xuICAgICAgICAgICAgdGhpcy5yZWZyZXNoVGltZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmF2aWdhdGVUb1Byb2ZpbGUoKSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9wcm9maWxlJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGFydEJhY2tncm91bmRSZWZyZXNoKCkge1xuICAgICAgICB0aGlzLnJlZnJlc2hUaW1lciA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tBbmRSZWZyZXNoQ29ubmVjdGlvbigpO1xuICAgICAgICB9LCAyMDAwMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0FuZFJlZnJlc2hDb25uZWN0aW9uKCkge1xuICAgICAgICB0aGlzLnBlcmZvcm1Db25uZWN0aW9uUmVmcmVzaCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2hvd1NrZWxldG9uVGV4dCgpIHtcbiAgICAgICAgaWYgKHRoaXMuc2tlbGV0b25UZXh0ICYmIHRoaXMucHJvZmlsZUJ1dHRvbikge1xuICAgICAgICAgICAgdGhpcy5wcm9maWxlQnV0dG9uLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgICAgICB0aGlzLnNrZWxldG9uVGV4dC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGlkZVNrZWxldG9uVGV4dCgpIHtcbiAgICAgICAgaWYgKHRoaXMuc2tlbGV0b25UZXh0ICYmIHRoaXMucHJvZmlsZUJ1dHRvbikge1xuICAgICAgICAgICAgdGhpcy5wcm9maWxlQnV0dG9uLnN0eWxlLmRpc3BsYXkgPSAnZmxleCc7XG4gICAgICAgICAgICB0aGlzLnNrZWxldG9uVGV4dC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBwZXJmb3JtQ29ubmVjdGlvblJlZnJlc2goKSB7XG4gICAgICAgIC8vIFNob3cgc2tlbGV0b24gdGV4dCBhbmQgaGlkZSBidXR0b24gZHVyaW5nIGxvYWRpbmdcbiAgICAgICAgdGhpcy5zaG93U2tlbGV0b25UZXh0KCk7XG5cbiAgICAgICAgLy8gQ29ubmVjdGlvbiBzdWNjZXNzZnVsXG4gICAgICAgIHRoaXMuaXNDb25uZWN0ZWQgPSBhd2FpdCB0aGlzLnByb2ZpbGVTZXJ2aWNlLmlzQ29ubmVjdGVkKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNDb25uZWN0ZWQpIHtcbiAgICAgICAgICAgIC8vIENhbGwgdGhlIHJlZnJlc2ggZnVuY3Rpb25cbiAgICAgICAgICAgIGlmICh0aGlzLnByb2ZpbGVTZXJ2aWNlLm5lZWRzQ29ubmVjdGlvblJlZnJlc2goKSkge1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucHJvZmlsZVNlcnZpY2UuY29ubmVjdGlvblJlZnJlc2goKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGF3YWl0IHNsZWVwKDEwMDApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXBkYXRlQnV0dG9uU3RhdGUoKTtcblxuICAgICAgICAvLyBIaWRlIHNrZWxldG9uIHRleHQgYW5kIHNob3cgYnV0dG9uIHdoZW4gbG9hZGluZyBpcyBjb21wbGV0ZVxuICAgICAgICB0aGlzLmhpZGVTa2VsZXRvblRleHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUJ1dHRvblN0YXRlKCkge1xuICAgICAgICBpZiAodGhpcy5wcm9maWxlQnV0dG9uKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0Nvbm5lY3RlZCkge1xuICAgICAgICAgICAgICAgIC8vIEVuYWJsZSBidXR0b25cbiAgICAgICAgICAgICAgICB0aGlzLnByb2ZpbGVCdXR0b24ucmVtb3ZlQXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICAgICAgICAgICAgICAgIHRoaXMucHJvZmlsZUJ1dHRvbi5yZW1vdmVBdHRyaWJ1dGUoJ3RpdGxlJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIERpc2FibGUgYnV0dG9uIGFuZCBhZGQgdG9vbHRpcFxuICAgICAgICAgICAgICAgIHRoaXMucHJvZmlsZUJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgJ3RydWUnKTtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2ZpbGVCdXR0b24uc2V0QXR0cmlidXRlKCd0aXRsZScsICdQcm9maWxlIHVuYXZhaWxhYmxlIC0gTm8gY29ubmVjdGlvbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSGVscGVyIG1ldGhvZCB0byBjaGVjayBpZiB0aGUgdG9vbGJhciBpcyBpbnNpZGUgYSBtb2RhbFxuICAgIHByaXZhdGUgaXNJbnNpZGVNb2RhbCgpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IHBhcmVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O1xuXG4gICAgICAgIC8vIFRyYXZlcnNlIHVwIHRoZSBET00gdHJlZSB0byBmaW5kIGlmIGFueSBwYXJlbnQgaXMgYW4gaW9uLW1vZGFsXG4gICAgICAgIHdoaWxlIChwYXJlbnQpIHtcbiAgICAgICAgICAgIGlmIChwYXJlbnQudGFnTmFtZSAmJiBwYXJlbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW9uLW1vZGFsJykge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFyZW50ID0gcGFyZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIl19
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1pY29uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL3NoYXJlZC9wcm9maWxlLWljb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWdDLE1BQU0sZUFBZSxDQUFDOzs7O0FBSXZFLDBFQUEwRTtBQUMxRSxTQUFTLEtBQUssQ0FBQyxFQUFVO0lBQ3JCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBS0QsTUFBTSxPQUFPLG9CQUFvQjtJQUs3QixZQUNZLEVBQWMsRUFDZCxjQUE4QixFQUM5QixNQUFjO1FBRmQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTGxCLGdCQUFXLEdBQVksSUFBSSxDQUFDO0lBTWpDLENBQUM7SUFFSixRQUFRO1FBQ0osMEVBQTBFO1FBQzFFLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUMzRCx5Q0FBeUM7WUFDekMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUU3QyxvQ0FBb0M7WUFDcEMsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM3RCxjQUFjLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztZQUUvQyxvQkFBb0I7WUFDcEIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUVwRCxpQ0FBaUM7WUFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7WUFFNUIsa0JBQWtCO1lBQ2xCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUVuQyxtQkFBbUI7WUFDbkIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNsRCxLQUFLLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUUxQixzQkFBc0I7WUFDdEIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6QixNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRTFCLHlDQUF5QztZQUN6QyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUM7WUFFSCxpQ0FBaUM7WUFDakMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUVuQyxvQ0FBb0M7WUFDcEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBRWxELDBEQUEwRDtZQUMxRCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztTQUNqQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1Asa0RBQWtEO1FBQ2xELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQzVCO0lBQ0wsQ0FBQztJQUVELGlCQUFpQjtRQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTyxzQkFBc0I7UUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO1lBQ2pDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQ3JDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNkLENBQUM7SUFFTyx5QkFBeUI7UUFDN0IsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVPLGdCQUFnQjtRQUNwQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN6QyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsbUJBQW1CLENBQUM7U0FDN0Q7SUFDTCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1NBQzFDO0lBQ0wsQ0FBQztJQUVPLEtBQUssQ0FBQyx3QkFBd0I7UUFDbEMsb0RBQW9EO1FBQ3BELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhCLHdCQUF3QjtRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUUzRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsNEJBQTRCO1lBQzVCLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQzVFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEQsSUFBSSxzQkFBc0IsSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDdkMsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixFQUFFLENBQUM7YUFDakQ7WUFDRCxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNyQjtRQUNELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRXpCLDhEQUE4RDtRQUM5RCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU8saUJBQWlCO1FBQ3JCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNwQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ2xCLGdCQUFnQjtnQkFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQy9DO2lCQUFNO2dCQUNILGlDQUFpQztnQkFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUNwRCxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUscUNBQXFDLENBQUMsQ0FBQzthQUNuRjtTQUNKO0lBQ0wsQ0FBQztJQUVELDBEQUEwRDtJQUNsRCxhQUFhO1FBQ2pCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztRQUVqRCxpRUFBaUU7UUFDakUsT0FBTyxNQUFNLEVBQUU7WUFDWCxJQUFJLE1BQU0sQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxXQUFXLEVBQUU7Z0JBQ2hFLE9BQU8sSUFBSSxDQUFDO2FBQ2Y7WUFDRCxNQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQztTQUNqQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7O2tIQTVJUSxvQkFBb0I7c0dBQXBCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxhQUFhO2lCQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1Byb2ZpbGVTZXJ2aWNlfSBmcm9tICcuL3Byb2ZpbGUuc2VydmljZSc7XG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHBhdXNlIGV4ZWN1dGlvbiBmb3IgYSBzcGVjaWZpZWQgdGltZSBpbiBtaWxsaXNlY29uZHNcbmZ1bmN0aW9uIHNsZWVwKG1zOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgbXMpKTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdpb24tdG9vbGJhcicsXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVJY29uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVmcmVzaFRpbWVyOiBhbnk7XG4gICAgcHJpdmF0ZSBwcm9maWxlQnV0dG9uOiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIGlzQ29ubmVjdGVkOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHByb2ZpbGVTZXJ2aWNlOiBQcm9maWxlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxuICAgICkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvLyBDaGVjayBpZiB0aGUgdXNlciBpcyBsb2dnZWQgaW4gYW5kIGlmIHRoZSB0b29sYmFyIGlzIG5vdCBpbnNpZGUgYSBtb2RhbFxuICAgICAgICBpZiAodGhpcy5wcm9maWxlU2VydmljZS5pc0xvZ2dlZEluKCkgJiYgIXRoaXMuaXNJbnNpZGVNb2RhbCgpKSB7XG4gICAgICAgICAgICAvLyBHZXQgdGhlIGVtYWlsIGZyb20gdGhlIHByb2ZpbGUgc2VydmljZVxuICAgICAgICAgICAgY29uc3QgZW1haWwgPSB0aGlzLnByb2ZpbGVTZXJ2aWNlLmdldEVtYWlsKCk7XG5cbiAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgcHJvZmlsZSBidXR0b24gZWxlbWVudFxuICAgICAgICAgICAgY29uc3QgcHJvZmlsZUJ1dHRvbnMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpb24tYnV0dG9ucycpO1xuICAgICAgICAgICAgcHJvZmlsZUJ1dHRvbnMuc2V0QXR0cmlidXRlKCdzbG90JywgJ3ByaW1hcnknKTtcblxuICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBidXR0b25cbiAgICAgICAgICAgIGNvbnN0IGJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lvbi1idXR0b24nKTtcblxuICAgICAgICAgICAgLy8gU3RvcmUgcmVmZXJlbmNlcyBmb3IgbGF0ZXIgdXNlXG4gICAgICAgICAgICB0aGlzLnByb2ZpbGVCdXR0b24gPSBidXR0b247XG5cbiAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgaWNvblxuICAgICAgICAgICAgY29uc3QgaWNvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lvbi1pY29uJyk7XG4gICAgICAgICAgICBpY29uLnNldEF0dHJpYnV0ZSgnbmFtZScsICdwZXJzb24tY2lyY2xlLW91dGxpbmUnKTtcbiAgICAgICAgICAgIGljb24uc2V0QXR0cmlidXRlKCdzbG90JywgJ3N0YXJ0Jyk7XG5cbiAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgbGFiZWxcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW9uLWxhYmVsJyk7XG4gICAgICAgICAgICBsYWJlbC50ZXh0Q29udGVudCA9IGVtYWlsO1xuXG4gICAgICAgICAgICAvLyBBc3NlbWJsZSB0aGUgYnV0dG9uXG4gICAgICAgICAgICBidXR0b24uYXBwZW5kQ2hpbGQoaWNvbik7XG4gICAgICAgICAgICBidXR0b24uYXBwZW5kQ2hpbGQobGFiZWwpO1xuXG4gICAgICAgICAgICAvLyBBZGQgY2xpY2sgZXZlbnQgbGlzdGVuZXIgdG8gdGhlIGJ1dHRvblxuICAgICAgICAgICAgYnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdGVUb1Byb2ZpbGUoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvLyBBc3NlbWJsZSB0aGUgYnV0dG9ucyBjb250YWluZXJcbiAgICAgICAgICAgIHByb2ZpbGVCdXR0b25zLmFwcGVuZENoaWxkKGJ1dHRvbik7XG5cbiAgICAgICAgICAgIC8vIEFwcGVuZCB0aGUgYnV0dG9ucyB0byB0aGUgdG9vbGJhclxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHByb2ZpbGVCdXR0b25zKTtcblxuICAgICAgICAgICAgLy8gU3RhcnQgdGhlIGJhY2tncm91bmQgcmVmcmVzaCB0aW1lciAoY2hlY2sgZXZlcnkgbWludXRlKVxuICAgICAgICAgICAgdGhpcy5zdGFydEJhY2tncm91bmRSZWZyZXNoKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgLy8gQ2xlYXIgdGhlIHRpbWVyIHdoZW4gdGhlIGRpcmVjdGl2ZSBpcyBkZXN0cm95ZWRcbiAgICAgICAgaWYgKHRoaXMucmVmcmVzaFRpbWVyKSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMucmVmcmVzaFRpbWVyKTtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaFRpbWVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5hdmlnYXRlVG9Qcm9maWxlKCkge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvcHJvZmlsZScpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhcnRCYWNrZ3JvdW5kUmVmcmVzaCgpIHtcbiAgICAgICAgdGhpcy5yZWZyZXNoVGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrQW5kUmVmcmVzaENvbm5lY3Rpb24oKTtcbiAgICAgICAgfSwgMjAwMDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tBbmRSZWZyZXNoQ29ubmVjdGlvbigpIHtcbiAgICAgICAgdGhpcy5wZXJmb3JtQ29ubmVjdGlvblJlZnJlc2goKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dTa2VsZXRvblRleHQoKSB7XG4gICAgICAgIGlmICh0aGlzLnByb2ZpbGVCdXR0b24pIHtcbiAgICAgICAgICAgIHRoaXMucHJvZmlsZUJ1dHRvbi5zdHlsZS5vcGFjaXR5ID0gJzAuNyc7XG4gICAgICAgICAgICB0aGlzLnByb2ZpbGVCdXR0b24uc3R5bGUudHJhbnNpdGlvbiA9ICdvcGFjaXR5IDAuM3MgZWFzZSc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhpZGVTa2VsZXRvblRleHQoKSB7XG4gICAgICAgIGlmICh0aGlzLnByb2ZpbGVCdXR0b24pIHtcbiAgICAgICAgICAgIHRoaXMucHJvZmlsZUJ1dHRvbi5zdHlsZS5vcGFjaXR5ID0gJzEnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBwZXJmb3JtQ29ubmVjdGlvblJlZnJlc2goKSB7XG4gICAgICAgIC8vIFNob3cgc2tlbGV0b24gdGV4dCBhbmQgaGlkZSBidXR0b24gZHVyaW5nIGxvYWRpbmdcbiAgICAgICAgdGhpcy5zaG93U2tlbGV0b25UZXh0KCk7XG5cbiAgICAgICAgLy8gQ29ubmVjdGlvbiBzdWNjZXNzZnVsXG4gICAgICAgIHRoaXMuaXNDb25uZWN0ZWQgPSBhd2FpdCB0aGlzLnByb2ZpbGVTZXJ2aWNlLmlzQ29ubmVjdGVkKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNDb25uZWN0ZWQpIHtcbiAgICAgICAgICAgIC8vIENhbGwgdGhlIHJlZnJlc2ggZnVuY3Rpb25cbiAgICAgICAgICAgIGNvbnN0IG5lZWRzQ29ubmVjdGlvblJlZnJlc2ggPSB0aGlzLnByb2ZpbGVTZXJ2aWNlLm5lZWRzQ29ubmVjdGlvblJlZnJlc2goKTtcbiAgICAgICAgICAgIGNvbnN0IGlzTG9nZ2VkSW4gPSB0aGlzLnByb2ZpbGVTZXJ2aWNlLmlzTG9nZ2VkSW4oKTtcbiAgICAgICAgICAgIGlmIChuZWVkc0Nvbm5lY3Rpb25SZWZyZXNoIHx8ICFpc0xvZ2dlZEluKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wcm9maWxlU2VydmljZS5jb25uZWN0aW9uUmVmcmVzaCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXdhaXQgc2xlZXAoMTAwMCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGRhdGVCdXR0b25TdGF0ZSgpO1xuXG4gICAgICAgIC8vIEhpZGUgc2tlbGV0b24gdGV4dCBhbmQgc2hvdyBidXR0b24gd2hlbiBsb2FkaW5nIGlzIGNvbXBsZXRlXG4gICAgICAgIHRoaXMuaGlkZVNrZWxldG9uVGV4dCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQnV0dG9uU3RhdGUoKSB7XG4gICAgICAgIGlmICh0aGlzLnByb2ZpbGVCdXR0b24pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzQ29ubmVjdGVkKSB7XG4gICAgICAgICAgICAgICAgLy8gRW5hYmxlIGJ1dHRvblxuICAgICAgICAgICAgICAgIHRoaXMucHJvZmlsZUJ1dHRvbi5yZW1vdmVBdHRyaWJ1dGUoJ2Rpc2FibGVkJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9maWxlQnV0dG9uLnJlbW92ZUF0dHJpYnV0ZSgndGl0bGUnKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gRGlzYWJsZSBidXR0b24gYW5kIGFkZCB0b29sdGlwXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9maWxlQnV0dG9uLnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQnLCAndHJ1ZScpO1xuICAgICAgICAgICAgICAgIHRoaXMucHJvZmlsZUJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ3RpdGxlJywgJ1Byb2ZpbGUgdW5hdmFpbGFibGUgLSBObyBjb25uZWN0aW9uJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIZWxwZXIgbWV0aG9kIHRvIGNoZWNrIGlmIHRoZSB0b29sYmFyIGlzIGluc2lkZSBhIG1vZGFsXG4gICAgcHJpdmF0ZSBpc0luc2lkZU1vZGFsKCk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgcGFyZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG5cbiAgICAgICAgLy8gVHJhdmVyc2UgdXAgdGhlIERPTSB0cmVlIHRvIGZpbmQgaWYgYW55IHBhcmVudCBpcyBhbiBpb24tbW9kYWxcbiAgICAgICAgd2hpbGUgKHBhcmVudCkge1xuICAgICAgICAgICAgaWYgKHBhcmVudC50YWdOYW1lICYmIHBhcmVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdpb24tbW9kYWwnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXJlbnQgPSBwYXJlbnQucGFyZW50RWxlbWVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4iXX0=