@elderbyte/ngx-starter 15.0.14 → 15.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,77 @@
1
+ import { BehaviorSubject, Subject } from 'rxjs';
2
+ import { DataTransferState } from './data-transfer-state';
3
+ import { filter, first, map } from 'rxjs/operators';
4
+ export class DataTransferBase {
5
+ /***************************************************************************
6
+ * *
7
+ * Constructor *
8
+ * *
9
+ **************************************************************************/
10
+ constructor(initialState, name) {
11
+ /***************************************************************************
12
+ * *
13
+ * Fields *
14
+ * *
15
+ **************************************************************************/
16
+ this.abort$ = new Subject();
17
+ this._name = name;
18
+ this._state = new BehaviorSubject(initialState);
19
+ }
20
+ /***************************************************************************
21
+ * *
22
+ * Properties *
23
+ * *
24
+ **************************************************************************/
25
+ /**
26
+ * Awaits until this transfer is done and closes the observable.
27
+ *
28
+ * If successful, emits true. Observable is closed.
29
+ * If aborted, emits false. Observable is closed.
30
+ * If failed, throws error. Observable is closed.
31
+ */
32
+ get done$() {
33
+ return this.state$.pipe(filter(state => state.isDone), map(state => {
34
+ if (state.isCompleted) {
35
+ return true;
36
+ }
37
+ if (state.isAborted) {
38
+ return false;
39
+ }
40
+ if (state.hasFailed) {
41
+ throw state.error ? state.error : 'Completion Failed due unknown error!';
42
+ }
43
+ }), first());
44
+ }
45
+ /**
46
+ * Get the state of this data transfer over time.
47
+ * Unsubscribe after use.
48
+ */
49
+ get state$() {
50
+ return this._state.asObservable();
51
+ }
52
+ /**
53
+ * Get a snapshot of the current state of this data transfer
54
+ */
55
+ get stateSnapshot() {
56
+ return this._state.getValue();
57
+ }
58
+ get name() {
59
+ return this._name;
60
+ }
61
+ /**
62
+ * Aborts the data transfer
63
+ */
64
+ abort() {
65
+ this.abort$.next();
66
+ this.emitState(DataTransferState.aborted(this.stateSnapshot.progress));
67
+ }
68
+ /***************************************************************************
69
+ * *
70
+ * Private methods *
71
+ * *
72
+ **************************************************************************/
73
+ emitState(newState) {
74
+ this._state.next(newState);
75
+ }
76
+ }
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10cmFuc2Zlci1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2h0dHAvdHJhbnNmZXIvZGF0YS10cmFuc2Zlci1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQXFCLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RCxPQUFPLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxNQUFNLE9BQWdCLGdCQUFnQjtJQVlwQzs7OztnRkFJNEU7SUFFNUUsWUFDRSxZQUErQixFQUMvQixJQUFhO1FBbEJmOzs7O29GQUk0RTtRQUV6RCxXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQWM5QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUU7Ozs7OztPQU1HO0lBQ0gsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDckIsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUM3QixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDVixJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUU7Z0JBQUUsT0FBTyxJQUFJLENBQUM7YUFBRTtZQUN2QyxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUU7Z0JBQUUsT0FBTyxLQUFLLENBQUM7YUFBRTtZQUV0QyxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUU7Z0JBQ25CLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsc0NBQXNDLENBQUM7YUFDMUU7UUFDSCxDQUFDLENBQUMsRUFDRixLQUFLLEVBQUUsQ0FDUixDQUFDO0lBQ0osQ0FBQztJQUNEOzs7T0FHRztJQUNILElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQVVEOztPQUVHO0lBQ0ksS0FBSztRQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FDWixpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FDdkQsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFbEUsU0FBUyxDQUFDLFFBQTJCO1FBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBFTVBUWSwgT2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0RhdGFUcmFuc2ZlclN0YXRlfSBmcm9tICcuL2RhdGEtdHJhbnNmZXItc3RhdGUnO1xuaW1wb3J0IHtEYXRhVHJhbnNmZXJ9IGZyb20gJy4vZGF0YS10cmFuc2Zlcic7XG5pbXBvcnQge2ZpbHRlciwgZmlyc3QsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0YVRyYW5zZmVyQmFzZSBpbXBsZW1lbnRzIERhdGFUcmFuc2ZlciB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFib3J0JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXRlOiBCZWhhdmlvclN1YmplY3Q8RGF0YVRyYW5zZmVyU3RhdGU+O1xuICBwcml2YXRlIHJlYWRvbmx5IF9uYW1lOiBzdHJpbmc7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgaW5pdGlhbFN0YXRlOiBEYXRhVHJhbnNmZXJTdGF0ZSxcbiAgICBuYW1lPzogc3RyaW5nXG4gICkge1xuICAgIHRoaXMuX25hbWUgPSBuYW1lO1xuICAgIHRoaXMuX3N0YXRlID0gbmV3IEJlaGF2aW9yU3ViamVjdChpbml0aWFsU3RhdGUpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIEF3YWl0cyB1bnRpbCB0aGlzIHRyYW5zZmVyIGlzIGRvbmUgYW5kIGNsb3NlcyB0aGUgb2JzZXJ2YWJsZS5cbiAgICpcbiAgICogSWYgc3VjY2Vzc2Z1bCwgZW1pdHMgdHJ1ZS4gT2JzZXJ2YWJsZSBpcyBjbG9zZWQuXG4gICAqIElmIGFib3J0ZWQsIGVtaXRzIGZhbHNlLiBPYnNlcnZhYmxlIGlzIGNsb3NlZC5cbiAgICogSWYgZmFpbGVkLCB0aHJvd3MgZXJyb3IuIE9ic2VydmFibGUgaXMgY2xvc2VkLlxuICAgKi9cbiAgcHVibGljIGdldCBkb25lJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZSQucGlwZShcbiAgICAgIGZpbHRlcihzdGF0ZSA9PiBzdGF0ZS5pc0RvbmUpLFxuICAgICAgbWFwKHN0YXRlID0+IHtcbiAgICAgICAgaWYgKHN0YXRlLmlzQ29tcGxldGVkKSB7IHJldHVybiB0cnVlOyB9XG4gICAgICAgIGlmIChzdGF0ZS5pc0Fib3J0ZWQpIHsgcmV0dXJuIGZhbHNlOyB9XG5cbiAgICAgICAgaWYgKHN0YXRlLmhhc0ZhaWxlZCkge1xuICAgICAgICAgIHRocm93IHN0YXRlLmVycm9yID8gc3RhdGUuZXJyb3IgOiAnQ29tcGxldGlvbiBGYWlsZWQgZHVlIHVua25vd24gZXJyb3IhJztcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBmaXJzdCgpXG4gICAgKTtcbiAgfVxuICAvKipcbiAgICogR2V0IHRoZSBzdGF0ZSBvZiB0aGlzIGRhdGEgdHJhbnNmZXIgb3ZlciB0aW1lLlxuICAgKiBVbnN1YnNjcmliZSBhZnRlciB1c2UuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHN0YXRlJCgpOiBPYnNlcnZhYmxlPERhdGFUcmFuc2ZlclN0YXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIHNuYXBzaG90IG9mIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoaXMgZGF0YSB0cmFuc2ZlclxuICAgKi9cbiAgcHVibGljIGdldCBzdGF0ZVNuYXBzaG90KCk6IERhdGFUcmFuc2ZlclN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGUuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9uYW1lO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgYWJzdHJhY3Qgc3RhcnQoKTogT2JzZXJ2YWJsZTxhbnk+O1xuXG4gIC8qKlxuICAgKiBBYm9ydHMgdGhlIGRhdGEgdHJhbnNmZXJcbiAgICovXG4gIHB1YmxpYyBhYm9ydCgpOiB2b2lkIHtcbiAgICB0aGlzLmFib3J0JC5uZXh0KCk7XG4gICAgdGhpcy5lbWl0U3RhdGUoXG4gICAgICBEYXRhVHJhbnNmZXJTdGF0ZS5hYm9ydGVkKHRoaXMuc3RhdGVTbmFwc2hvdC5wcm9ncmVzcylcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIGVtaXRTdGF0ZShuZXdTdGF0ZTogRGF0YVRyYW5zZmVyU3RhdGUpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZS5uZXh0KG5ld1N0YXRlKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10cmFuc2Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9odHRwL3RyYW5zZmVyL2RhdGEtdHJhbnNmZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0RhdGFUcmFuc2ZlclN0YXRlfSBmcm9tICcuL2RhdGEtdHJhbnNmZXItc3RhdGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUcmFuc2ZlciB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIFN0YXJ0cyB0aGUgZGF0YSB0cmFuc2ZlclxuICAgKi9cbiAgc3RhcnQoKTogT2JzZXJ2YWJsZTxhbnk+O1xuICBhYm9ydCgpOiB2b2lkO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHJlYWRvbmx5IGRvbmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICByZWFkb25seSBzdGF0ZSQ6IE9ic2VydmFibGU8RGF0YVRyYW5zZmVyU3RhdGU+O1xuICByZWFkb25seSBzdGF0ZVNuYXBzaG90OiBEYXRhVHJhbnNmZXJTdGF0ZTtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xufVxuIl19
@@ -1,13 +1,14 @@
1
- import { BehaviorSubject, of, Subject } from 'rxjs';
1
+ import { of } from 'rxjs';
2
2
  import { HttpEventType } from '@angular/common/http';
3
- import { catchError, filter, first, map, takeUntil, tap } from 'rxjs/operators';
3
+ import { catchError, takeUntil, tap } from 'rxjs/operators';
4
4
  import { DataTransferProgress } from './data-transfer-progress';
5
5
  import { DataTransferState } from './data-transfer-state';
6
6
  import { LoggerFactory } from '@elderbyte/ts-logger';
7
+ import { DataTransferBase } from './data-transfer-base';
7
8
  /**
8
9
  * Represents a Http data transfer, either a download or upload.
9
10
  */
10
- export class HttpDataTransfer {
11
+ export class HttpDataTransfer extends DataTransferBase {
11
12
  /***************************************************************************
12
13
  * *
13
14
  * Constructor *
@@ -20,17 +21,15 @@ export class HttpDataTransfer {
20
21
  * @param totalBytes The total bytes of the transfer. (If not set, will be auto discovered if possible)
21
22
  */
22
23
  constructor(httpRequest, name, totalBytes) {
24
+ super(DataTransferState.pending(totalBytes), name);
23
25
  /***************************************************************************
24
26
  * *
25
27
  * Fields *
26
28
  * *
27
29
  **************************************************************************/
28
- this.logger = LoggerFactory.getLogger('HttpDataTransfer');
29
- this.abort$ = new Subject();
30
+ this.logger = LoggerFactory.getLogger(this.constructor.name);
30
31
  this._oldBytes = 0;
31
- this._name = name;
32
32
  this._httpRequest = httpRequest;
33
- this._state = new BehaviorSubject(DataTransferState.pending(totalBytes));
34
33
  }
35
34
  /***************************************************************************
36
35
  * *
@@ -55,71 +54,27 @@ export class HttpDataTransfer {
55
54
  * Starts the data transfer
56
55
  */
57
56
  start() {
58
- return this._httpRequest.pipe(takeUntil(this.abort$), tap(event => {
59
- switch (event.type) {
60
- case HttpEventType.Sent:
61
- this.onStart(event);
62
- break;
63
- case HttpEventType.UploadProgress:
64
- case HttpEventType.DownloadProgress:
65
- this.onProgress(event);
66
- break;
67
- case HttpEventType.Response:
68
- this.onComplete(event);
69
- break;
70
- }
71
- }, err => this.onError(err), () => this.finally()), catchError(err => {
57
+ return this._httpRequest.pipe(takeUntil(this.abort$), tap({
58
+ next: event => {
59
+ switch (event.type) {
60
+ case HttpEventType.Sent:
61
+ this.onStart(event);
62
+ break;
63
+ case HttpEventType.UploadProgress:
64
+ case HttpEventType.DownloadProgress:
65
+ this.onProgress(event);
66
+ break;
67
+ case HttpEventType.Response:
68
+ this.onComplete(event);
69
+ break;
70
+ }
71
+ },
72
+ error: err => this.onError(err),
73
+ finalize: () => this.finally()
74
+ }), catchError(err => {
72
75
  return of(err);
73
76
  }));
74
77
  }
75
- /**
76
- * Aborts the data transfer
77
- */
78
- abort() {
79
- this.abort$.next();
80
- this.emitState(DataTransferState.aborted(this.stateSnapshot.progress));
81
- }
82
- /***************************************************************************
83
- * *
84
- * Properties *
85
- * *
86
- **************************************************************************/
87
- /**
88
- * Awaits until this transfer is done and closes the observable.
89
- *
90
- * If successful, emits true. Observable is closed.
91
- * If aborted, emits false. Observable is closed.
92
- * If failed, throws error. Observable is closed.
93
- */
94
- get done$() {
95
- return this.state$.pipe(filter(state => state.isDone), map(state => {
96
- if (state.isCompleted) {
97
- return true;
98
- }
99
- if (state.isAborted) {
100
- return false;
101
- }
102
- if (state.hasFailed) {
103
- throw state.error ? state.error : 'Completion Failed due unknown error!';
104
- }
105
- }), first());
106
- }
107
- /**
108
- * Get the state of this data transfer over time.
109
- * Unsubscribe after use.
110
- */
111
- get state$() {
112
- return this._state.asObservable();
113
- }
114
- /**
115
- * Get a snapshot of the current state of this data transfer
116
- */
117
- get stateSnapshot() {
118
- return this._state.getValue();
119
- }
120
- get name() {
121
- return this._name;
122
- }
123
78
  /***************************************************************************
124
79
  * *
125
80
  * Private methods *
@@ -145,9 +100,6 @@ export class HttpDataTransfer {
145
100
  this.emitState(DataTransferState.completed(this.stateSnapshot.progress));
146
101
  }
147
102
  }
148
- emitState(newState) {
149
- this._state.next(newState);
150
- }
151
103
  transferProgressFromResponse(event, previous) {
152
104
  return new DataTransferProgress(previous ? previous.totalBytes : 0, previous ? previous.bytesPerSec : 0, previous ? previous.avgBytesPerSec : 0, previous ? previous.totalBytes : 0, 100);
153
105
  }
@@ -177,4 +129,4 @@ export class HttpDataTransfer {
177
129
  return new DataTransferProgress(event.loaded, bytesPerSec, avgBytesPerSec, event.total, percentDone);
178
130
  }
179
131
  }
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1kYXRhLXRyYW5zZmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2h0dHAvdHJhbnNmZXIvaHR0cC1kYXRhLXRyYW5zZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM5RCxPQUFPLEVBQVksYUFBYSxFQUFpRCxNQUFNLHNCQUFzQixDQUFDO0FBQzlHLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzlFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUluRDs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUE0QzNCOzs7O2dGQUk0RTtJQUU1RTs7Ozs7T0FLRztJQUNILFlBQ0UsV0FBdUMsRUFDdkMsSUFBYSxFQUNiLFVBQW1CO1FBekRyQjs7OztvRkFJNEU7UUFFcEUsV0FBTSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUs1QyxXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVF0QyxjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBd0NwQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLGlCQUFpQixDQUFDLE9BQU8s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aUI7UUFDakIsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BFLE1BQU0scUJBQXFCLEdBQUcsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1FBQzFELE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcscUJBQXFCLENBQUM7UUFFNUQsNEJBQTRCO1FBQzVCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFM0YsT0FBTyxJQUFJLG9CQUFvQixDQUM3QixLQUFLLENBQUMsTUFBTSxFQUNaLFdBQVcsRUFDWCxjQUFjLEVBQ2QsS0FBSyxDQUFDLEtBQUssRUFDWCxXQUFXLENBQ1osQ0FBQztJQUNKLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0h0dHBFdmVudCwgSHR0cEV2ZW50VHlwZSwgSHR0cFByb2dyZXNzRXZlbnQsIEh0dHBSZXNwb25zZSwgSHR0cFNlbnRFdmVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtjYXRjaEVycm9yLCBmaWx0ZXIsIGZpcnN0LCBtYXAsIHRha2VVbnRpbCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0RhdGFUcmFuc2ZlclByb2dyZXNzfSBmcm9tICcuL2RhdGEtdHJhbnNmZXItcHJvZ3Jlc3MnO1xuaW1wb3J0IHtEYXRhVHJhbnNmZXJTdGF0ZX0gZnJvbSAnLi9kYXRhLXRyYW5zZmVyLXN0YXRlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuXG5cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgSHR0cCBkYXRhIHRyYW5zZmVyLCBlaXRoZXIgYSBkb3dubG9hZCBvciB1cGxvYWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBIdHRwRGF0YVRyYW5zZmVyIHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKCdIdHRwRGF0YVRyYW5zZmVyJyk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RhdGU6IEJlaGF2aW9yU3ViamVjdDxEYXRhVHJhbnNmZXJTdGF0ZT47XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaHR0cFJlcXVlc3Q6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+O1xuICBwcml2YXRlIHJlYWRvbmx5IGFib3J0JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbmFtZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgX3N0YXJ0VGltZU1zOiBudW1iZXI7XG4gIHByaXZhdGUgX2VuZFRpbWVNczogbnVtYmVyO1xuICBwcml2YXRlIF9jdXJyVGltZU1zOiBudW1iZXI7XG4gIHByaXZhdGUgX3ByZXZUaW1lTXM6IG51bWJlcjtcbiAgcHJpdmF0ZSBfb2xkQnl0ZXMgPSAwO1xuXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFN0YXRpYyBCdWlsZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgSHR0cERhdGFUcmFuc2ZlciBmcm9tIGEgSHR0cENsaWVudCBIdHRwUmVxdWVzdC5cbiAgICogQHBhcmFtIGh0dHBSZXF1ZXN0XG4gICAqIEBwYXJhbSBuYW1lIE5hbWUgb2YgdGhpcyB0cmFuc2ZlclxuICAgKiBAcGFyYW0gdG90YWxCeXRlcyBUaGUgdG90YWwgZXhwZWN0ZWQgYnl0ZXNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVJlcXVlc3QoXG4gICAgaHR0cFJlcXVlc3Q6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+LFxuICAgIG5hbWU/OiBzdHJpbmcsXG4gICAgdG90YWxCeXRlcz86IG51bWJlclxuICApOiBIdHRwRGF0YVRyYW5zZmVyIHtcbiAgICByZXR1cm4gbmV3IEh0dHBEYXRhVHJhbnNmZXIoaHR0cFJlcXVlc3QsIG5hbWUsIHRvdGFsQnl0ZXMpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgSHR0cERhdGFUcmFuc2ZlclxuICAgKiBAcGFyYW0gaHR0cFJlcXVlc3QgVGhlIGh0dHAgcmVxdWVzdC5cbiAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhpcyB0cmFuc2ZlciAodXN1YWxseSB0aGUgZmlsZSBuYW1lKVxuICAgKiBAcGFyYW0gdG90YWxCeXRlcyBUaGUgdG90YWwgYnl0ZXMgb2YgdGhlIHRyYW5zZmVyLiAoSWYgbm90IHNldCwgd2lsbCBiZSBhdXRvIGRpc2NvdmVyZWQgaWYgcG9zc2libGUpXG4gICAqL1xuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIGh0dHBSZXF1ZXN0OiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PixcbiAgICBuYW1lPzogc3RyaW5nLFxuICAgIHRvdGFsQnl0ZXM/OiBudW1iZXJcbiAgKSB7XG4gICAgdGhpcy5fbmFtZSA9IG5hbWU7XG4gICAgdGhpcy5faHR0cFJlcXVlc3QgPSBodHRwUmVxdWVzdDtcbiAgICB0aGlzLl9zdGF0ZSA9IG5ldyBCZWhhdmlvclN1YmplY3QoRGF0YVRyYW5zZmVyU3RhdGUucGVuZGluZyh0b3RhbEJ5dGVzKSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogU3RhcnRzIHRoZSBkYXRhIHRyYW5zZmVyXG4gICAqL1xuICBwdWJsaWMgc3RhcnQoKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgIHJldHVybiB0aGlzLl9odHRwUmVxdWVzdC5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuYWJvcnQkKSxcbiAgICAgIHRhcChldmVudCA9PiB7XG5cbiAgICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcblxuICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlNlbnQ6XG4gICAgICAgICAgICAgIHRoaXMub25TdGFydChldmVudCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzOlxuICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLkRvd25sb2FkUHJvZ3Jlc3M6XG4gICAgICAgICAgICAgIHRoaXMub25Qcm9ncmVzcyhldmVudCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlOlxuICAgICAgICAgICAgICB0aGlzLm9uQ29tcGxldGUoZXZlbnQpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVyciA9PiB0aGlzLm9uRXJyb3IoZXJyKSxcbiAgICAgICAgKCkgPT4gdGhpcy5maW5hbGx5KClcbiAgICAgICksXG4gICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgIHJldHVybiBvZihlcnIpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFib3J0cyB0aGUgZGF0YSB0cmFuc2ZlclxuICAgKi9cbiAgcHVibGljIGFib3J0KCk6IHZvaWQge1xuICAgIHRoaXMuYWJvcnQkLm5leHQoKTtcbiAgICB0aGlzLmVtaXRTdGF0ZShcbiAgICAgIERhdGFUcmFuc2ZlclN0YXRlLmFib3J0ZWQodGhpcy5zdGF0ZVNuYXBzaG90LnByb2dyZXNzKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogQXdhaXRzIHVudGlsIHRoaXMgdHJhbnNmZXIgaXMgZG9uZSBhbmQgY2xvc2VzIHRoZSBvYnNlcnZhYmxlLlxuICAgKlxuICAgKiBJZiBzdWNjZXNzZnVsLCBlbWl0cyB0cnVlLiBPYnNlcnZhYmxlIGlzIGNsb3NlZC5cbiAgICogSWYgYWJvcnRlZCwgZW1pdHMgZmFsc2UuIE9ic2VydmFibGUgaXMgY2xvc2VkLlxuICAgKiBJZiBmYWlsZWQsIHRocm93cyBlcnJvci4gT2JzZXJ2YWJsZSBpcyBjbG9zZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRvbmUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlJC5waXBlKFxuICAgICAgZmlsdGVyKHN0YXRlID0+IHN0YXRlLmlzRG9uZSksXG4gICAgICBtYXAoc3RhdGUgPT4ge1xuICAgICAgICBpZiAoc3RhdGUuaXNDb21wbGV0ZWQpIHsgcmV0dXJuIHRydWU7IH1cbiAgICAgICAgaWYgKHN0YXRlLmlzQWJvcnRlZCkgeyByZXR1cm4gZmFsc2U7IH1cblxuICAgICAgICBpZiAoc3RhdGUuaGFzRmFpbGVkKSB7XG4gICAgICAgICAgdGhyb3cgc3RhdGUuZXJyb3IgPyBzdGF0ZS5lcnJvciA6ICdDb21wbGV0aW9uIEZhaWxlZCBkdWUgdW5rbm93biBlcnJvciEnO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIGZpcnN0KClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgc3RhdGUgb2YgdGhpcyBkYXRhIHRyYW5zZmVyIG92ZXIgdGltZS5cbiAgICogVW5zdWJzY3JpYmUgYWZ0ZXIgdXNlLlxuICAgKi9cbiAgcHVibGljIGdldCBzdGF0ZSQoKTogT2JzZXJ2YWJsZTxEYXRhVHJhbnNmZXJTdGF0ZT4ge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzbmFwc2hvdCBvZiB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGlzIGRhdGEgdHJhbnNmZXJcbiAgICovXG4gIHB1YmxpYyBnZXQgc3RhdGVTbmFwc2hvdCgpOiBEYXRhVHJhbnNmZXJTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbmFtZTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgb25TdGFydChldmVudDogSHR0cFNlbnRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuZW1pdFN0YXRlKFxuICAgICAgRGF0YVRyYW5zZmVyU3RhdGUuc3RhcnRlZCh0aGlzLnN0YXRlU25hcHNob3QucHJvZ3Jlc3MudG90YWxCeXRlcylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvblByb2dyZXNzKGV2ZW50OiBIdHRwUHJvZ3Jlc3NFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHByb2dyZXNzID0gdGhpcy50cmFuc2ZlclByb2dyZXNzKGV2ZW50KTtcbiAgICB0aGlzLmVtaXRTdGF0ZShcbiAgICAgIERhdGFUcmFuc2ZlclN0YXRlLnRyYW5zZmVycmluZyhwcm9ncmVzcylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkNvbXBsZXRlKGV2ZW50OiBIdHRwUmVzcG9uc2U8YW55Pik6IHZvaWQge1xuICAgIHRoaXMuZW1pdFN0YXRlKFxuICAgICAgRGF0YVRyYW5zZmVyU3RhdGUuY29tcGxldGVkKFxuICAgICAgICB0aGlzLnRyYW5zZmVyUHJvZ3Jlc3NGcm9tUmVzcG9uc2UoZXZlbnQsIHRoaXMuc3RhdGVTbmFwc2hvdC5wcm9ncmVzcylcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkVycm9yKGVycm9yOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmVtaXRTdGF0ZShcbiAgICAgIERhdGFUcmFuc2ZlclN0YXRlLmZhaWxlZChlcnJvciwgdGhpcy5zdGF0ZVNuYXBzaG90LnByb2dyZXNzKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGZpbmFsbHkoKTogdm9pZCB7XG4gICAgdGhpcy5fZW5kVGltZU1zID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgaWYgKCF0aGlzLnN0YXRlU25hcHNob3QuaXNEb25lKSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKCdEYXRhVHJhbnNmZXIgZGlkIG5vdCByZWFjaCBkb25lLXN0YXRlISBDb21wbGV0aW5nIFRyYW5zZmVyIG5vdy4uLicpO1xuICAgICAgdGhpcy5lbWl0U3RhdGUoXG4gICAgICAgIERhdGFUcmFuc2ZlclN0YXRlLmNvbXBsZXRlZCh0aGlzLnN0YXRlU25hcHNob3QucHJvZ3Jlc3MpXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZW1pdFN0YXRlKG5ld1N0YXRlOiBEYXRhVHJhbnNmZXJTdGF0ZSk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlLm5leHQobmV3U3RhdGUpO1xuICB9XG5cblxuICBwcml2YXRlIHRyYW5zZmVyUHJvZ3Jlc3NGcm9tUmVzcG9uc2UoXG4gICAgZXZlbnQ6IEh0dHBSZXNwb25zZTxhbnk+LFxuICAgIHByZXZpb3VzPzogRGF0YVRyYW5zZmVyUHJvZ3Jlc3NcbiAgKTogRGF0YVRyYW5zZmVyUHJvZ3Jlc3Mge1xuXG4gICAgcmV0dXJuIG5ldyBEYXRhVHJhbnNmZXJQcm9ncmVzcyhcbiAgICAgIHByZXZpb3VzID8gcHJldmlvdXMudG90YWxCeXRlcyA6IDAsXG4gICAgICBwcmV2aW91cyA/IHByZXZpb3VzLmJ5dGVzUGVyU2VjIDogMCxcbiAgICAgIHByZXZpb3VzID8gcHJldmlvdXMuYXZnQnl0ZXNQZXJTZWMgOiAwLFxuICAgICAgcHJldmlvdXMgPyBwcmV2aW91cy50b3RhbEJ5dGVzIDogMCxcbiAgICAgIDEwMFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHRyYW5zZmVyUHJvZ3Jlc3MoZXZlbnQ6IEh0dHBQcm9ncmVzc0V2ZW50KTogRGF0YVRyYW5zZmVyUHJvZ3Jlc3Mge1xuXG4gICAgdGhpcy5fY3VyclRpbWVNcyA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuXG4gICAgLy8gc2V0dGluZyBzdGFydCB0aW1lXG4gICAgaWYgKCF0aGlzLl9zdGFydFRpbWVNcykge1xuICAgICAgdGhpcy5fc3RhcnRUaW1lTXMgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgIHRoaXMuX3ByZXZUaW1lTXMgPSB0aGlzLl9zdGFydFRpbWVNcztcbiAgICB9XG5cbiAgICAvLyB0cmFja2luZyBob3cgbXVjaCBkYXRhIGlzIHJlY2VpdmVkIGFuZFxuICAgIGNvbnN0IGJ5dGVzUmVjZWl2ZWRUb3RhbCA9IGV2ZW50LmxvYWRlZDtcbiAgICBjb25zdCBieXRlc1JlY2VpdmVkID0gYnl0ZXNSZWNlaXZlZFRvdGFsIC0gdGhpcy5fb2xkQnl0ZXM7XG5cbiAgICBjb25zdCBkdXJhdGlvbk1zID0gKHRoaXMuX2N1cnJUaW1lTXMgLSB0aGlzLl9wcmV2VGltZU1zKTtcbiAgICBjb25zdCBkdXJhdGlvblNlYyA9IGR1cmF0aW9uTXMgLyAxMDAwO1xuXG4gICAgLy8gQ2FsYyB0cmFuc2ZlciBzcGVlZCBwZXIgcGVyY2VudCBkYXRhIHJlY2VpdmVkXG4gICAgY29uc3QgYnl0ZXNQZXJTZWMgPSBieXRlc1JlY2VpdmVkIC8gZHVyYXRpb25TZWM7XG5cbiAgICAvLyB1cGRhdGluZyBwcmV2aW91cyB2YWx1ZXNcbiAgICB0aGlzLl9wcmV2VGltZU1zID0gdGhpcy5fY3VyclRpbWVNcztcbiAgICB0aGlzLl9vbGRCeXRlcyA9IGJ5dGVzUmVjZWl2ZWRUb3RhbDtcblxuICAgIC8vIENhbGMgYXZnIHNwZWVkXG4gICAgY29uc3QgZHVyYXRpb25TaW5jZVN0YXJ0TXMgPSAodGhpcy5fY3VyclRpbWVNcyAtIHRoaXMuX3N0YXJ0VGltZU1zKTtcbiAgICBjb25zdCBkdXJhdGlvblNpbmNlU3RhcnRTZWMgPSBkdXJhdGlvblNpbmNlU3RhcnRNcyAvIDEwMDA7XG4gICAgY29uc3QgYXZnQnl0ZXNQZXJTZWMgPSBldmVudC5sb2FkZWQgLyBkdXJhdGlvblNpbmNlU3RhcnRTZWM7XG5cbiAgICAvLyBDYWxjIHByb2dyZXNzIGlmIHBvc3NpYmxlXG4gICAgY29uc3QgcGVyY2VudERvbmUgPSBldmVudC50b3RhbCA/IE1hdGgucm91bmQoMTAwICogZXZlbnQubG9hZGVkIC8gZXZlbnQudG90YWwpIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIG5ldyBEYXRhVHJhbnNmZXJQcm9ncmVzcyhcbiAgICAgIGV2ZW50LmxvYWRlZCxcbiAgICAgIGJ5dGVzUGVyU2VjLFxuICAgICAgYXZnQnl0ZXNQZXJTZWMsXG4gICAgICBldmVudC50b3RhbCxcbiAgICAgIHBlcmNlbnREb25lXG4gICAgKTtcbiAgfVxuXG59XG4iXX0=
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1kYXRhLXRyYW5zZmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2h0dHAvdHJhbnNmZXIvaHR0cC1kYXRhLXRyYW5zZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBOEIsRUFBRSxFQUFVLE1BQU0sTUFBTSxDQUFDO0FBQzlELE9BQU8sRUFBWSxhQUFhLEVBQWlELE1BQU0sc0JBQXNCLENBQUM7QUFDOUcsT0FBTyxFQUFDLFVBQVUsRUFBc0IsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzlFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUd0RDs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxnQkFBZ0I7SUFzQ3BEOzs7O2dGQUk0RTtJQUU1RTs7Ozs7T0FLRztJQUNILFlBQ0UsV0FBdUMsRUFDdkMsSUFBYSxFQUNiLFVBQW1CO1FBRW5CLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFyRHJEOzs7O29GQUk0RTtRQUVwRSxXQUFNLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBUXhELGNBQVMsR0FBRyxDQUFDLENBQUM7UUF3Q3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO0lBQ2xDLENBQUM7SUF2Q0Q7Ozs7Z0ZBSTRFO0lBRTVFOzs7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LENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRSxNQUFNLHFCQUFxQixHQUFHLG9CQUFvQixHQUFHLElBQUksQ0FBQztRQUMxRCxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLHFCQUFxQixDQUFDO1FBRTVELDRCQUE0QjtRQUM1QixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRTNGLE9BQU8sSUFBSSxvQkFBb0IsQ0FDN0IsS0FBSyxDQUFDLE1BQU0sRUFDWixXQUFXLEVBQ1gsY0FBYyxFQUNkLEtBQUssQ0FBQyxLQUFLLEVBQ1gsV0FBVyxDQUNaLENBQUM7SUFDSixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtIdHRwRXZlbnQsIEh0dHBFdmVudFR5cGUsIEh0dHBQcm9ncmVzc0V2ZW50LCBIdHRwUmVzcG9uc2UsIEh0dHBTZW50RXZlbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7Y2F0Y2hFcnJvciwgZmlsdGVyLCBmaXJzdCwgbWFwLCB0YWtlVW50aWwsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtEYXRhVHJhbnNmZXJQcm9ncmVzc30gZnJvbSAnLi9kYXRhLXRyYW5zZmVyLXByb2dyZXNzJztcbmltcG9ydCB7RGF0YVRyYW5zZmVyU3RhdGV9IGZyb20gJy4vZGF0YS10cmFuc2Zlci1zdGF0ZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7RGF0YVRyYW5zZmVyQmFzZX0gZnJvbSAnLi9kYXRhLXRyYW5zZmVyLWJhc2UnO1xuXG5cbi8qKlxuICogUmVwcmVzZW50cyBhIEh0dHAgZGF0YSB0cmFuc2ZlciwgZWl0aGVyIGEgZG93bmxvYWQgb3IgdXBsb2FkLlxuICovXG5leHBvcnQgY2xhc3MgSHR0cERhdGFUcmFuc2ZlciBleHRlbmRzIERhdGFUcmFuc2ZlckJhc2Uge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9odHRwUmVxdWVzdDogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj47XG5cbiAgcHJpdmF0ZSBfc3RhcnRUaW1lTXM6IG51bWJlcjtcbiAgcHJpdmF0ZSBfZW5kVGltZU1zOiBudW1iZXI7XG4gIHByaXZhdGUgX2N1cnJUaW1lTXM6IG51bWJlcjtcbiAgcHJpdmF0ZSBfcHJldlRpbWVNczogbnVtYmVyO1xuICBwcml2YXRlIF9vbGRCeXRlcyA9IDA7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFN0YXRpYyBCdWlsZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgSHR0cERhdGFUcmFuc2ZlciBmcm9tIGEgSHR0cENsaWVudCBIdHRwUmVxdWVzdC5cbiAgICogQHBhcmFtIGh0dHBSZXF1ZXN0XG4gICAqIEBwYXJhbSBuYW1lIE5hbWUgb2YgdGhpcyB0cmFuc2ZlclxuICAgKiBAcGFyYW0gdG90YWxCeXRlcyBUaGUgdG90YWwgZXhwZWN0ZWQgYnl0ZXNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVJlcXVlc3QoXG4gICAgaHR0cFJlcXVlc3Q6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+LFxuICAgIG5hbWU/OiBzdHJpbmcsXG4gICAgdG90YWxCeXRlcz86IG51bWJlclxuICApOiBIdHRwRGF0YVRyYW5zZmVyIHtcbiAgICByZXR1cm4gbmV3IEh0dHBEYXRhVHJhbnNmZXIoaHR0cFJlcXVlc3QsIG5hbWUsIHRvdGFsQnl0ZXMpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgSHR0cERhdGFUcmFuc2ZlclxuICAgKiBAcGFyYW0gaHR0cFJlcXVlc3QgVGhlIGh0dHAgcmVxdWVzdC5cbiAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhpcyB0cmFuc2ZlciAodXN1YWxseSB0aGUgZmlsZSBuYW1lKVxuICAgKiBAcGFyYW0gdG90YWxCeXRlcyBUaGUgdG90YWwgYnl0ZXMgb2YgdGhlIHRyYW5zZmVyLiAoSWYgbm90IHNldCwgd2lsbCBiZSBhdXRvIGRpc2NvdmVyZWQgaWYgcG9zc2libGUpXG4gICAqL1xuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIGh0dHBSZXF1ZXN0OiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PixcbiAgICBuYW1lPzogc3RyaW5nLFxuICAgIHRvdGFsQnl0ZXM/OiBudW1iZXJcbiAgKSB7XG4gICAgc3VwZXIoRGF0YVRyYW5zZmVyU3RhdGUucGVuZGluZyh0b3RhbEJ5dGVzKSwgbmFtZSk7XG4gICAgdGhpcy5faHR0cFJlcXVlc3QgPSBodHRwUmVxdWVzdDtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBTdGFydHMgdGhlIGRhdGEgdHJhbnNmZXJcbiAgICovXG4gIHB1YmxpYyBzdGFydCgpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG4gICAgcmV0dXJuIHRoaXMuX2h0dHBSZXF1ZXN0LnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5hYm9ydCQpLFxuICAgICAgdGFwKHtcbiAgICAgICAgICBuZXh0OiBldmVudCA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcbiAgICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlNlbnQ6XG4gICAgICAgICAgICAgICAgdGhpcy5vblN0YXJ0KGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzOlxuICAgICAgICAgICAgICBjYXNlIEh0dHBFdmVudFR5cGUuRG93bmxvYWRQcm9ncmVzczpcbiAgICAgICAgICAgICAgICB0aGlzLm9uUHJvZ3Jlc3MoZXZlbnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlIEh0dHBFdmVudFR5cGUuUmVzcG9uc2U6XG4gICAgICAgICAgICAgICAgdGhpcy5vbkNvbXBsZXRlKGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiBlcnIgPT4gdGhpcy5vbkVycm9yKGVyciksXG4gICAgICAgICAgZmluYWxpemU6ICgpID0+IHRoaXMuZmluYWxseSgpXG4gICAgICAgIH1cbiAgICAgICksXG4gICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgIHJldHVybiBvZihlcnIpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBvblN0YXJ0KGV2ZW50OiBIdHRwU2VudEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5lbWl0U3RhdGUoXG4gICAgICBEYXRhVHJhbnNmZXJTdGF0ZS5zdGFydGVkKHRoaXMuc3RhdGVTbmFwc2hvdC5wcm9ncmVzcy50b3RhbEJ5dGVzKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG9uUHJvZ3Jlc3MoZXZlbnQ6IEh0dHBQcm9ncmVzc0V2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgcHJvZ3Jlc3MgPSB0aGlzLnRyYW5zZmVyUHJvZ3Jlc3MoZXZlbnQpO1xuICAgIHRoaXMuZW1pdFN0YXRlKFxuICAgICAgRGF0YVRyYW5zZmVyU3RhdGUudHJhbnNmZXJyaW5nKHByb2dyZXNzKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG9uQ29tcGxldGUoZXZlbnQ6IEh0dHBSZXNwb25zZTxhbnk+KTogdm9pZCB7XG4gICAgdGhpcy5lbWl0U3RhdGUoXG4gICAgICBEYXRhVHJhbnNmZXJTdGF0ZS5jb21wbGV0ZWQoXG4gICAgICAgIHRoaXMudHJhbnNmZXJQcm9ncmVzc0Zyb21SZXNwb25zZShldmVudCwgdGhpcy5zdGF0ZVNuYXBzaG90LnByb2dyZXNzKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG9uRXJyb3IoZXJyb3I6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuZW1pdFN0YXRlKFxuICAgICAgRGF0YVRyYW5zZmVyU3RhdGUuZmFpbGVkKGVycm9yLCB0aGlzLnN0YXRlU25hcHNob3QucHJvZ3Jlc3MpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZmluYWxseSgpOiB2b2lkIHtcbiAgICB0aGlzLl9lbmRUaW1lTXMgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICBpZiAoIXRoaXMuc3RhdGVTbmFwc2hvdC5pc0RvbmUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLndhcm4oJ0RhdGFUcmFuc2ZlciBkaWQgbm90IHJlYWNoIGRvbmUtc3RhdGUhIENvbXBsZXRpbmcgVHJhbnNmZXIgbm93Li4uJyk7XG4gICAgICB0aGlzLmVtaXRTdGF0ZShcbiAgICAgICAgRGF0YVRyYW5zZmVyU3RhdGUuY29tcGxldGVkKHRoaXMuc3RhdGVTbmFwc2hvdC5wcm9ncmVzcylcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0cmFuc2ZlclByb2dyZXNzRnJvbVJlc3BvbnNlKFxuICAgIGV2ZW50OiBIdHRwUmVzcG9uc2U8YW55PixcbiAgICBwcmV2aW91cz86IERhdGFUcmFuc2ZlclByb2dyZXNzXG4gICk6IERhdGFUcmFuc2ZlclByb2dyZXNzIHtcblxuICAgIHJldHVybiBuZXcgRGF0YVRyYW5zZmVyUHJvZ3Jlc3MoXG4gICAgICBwcmV2aW91cyA/IHByZXZpb3VzLnRvdGFsQnl0ZXMgOiAwLFxuICAgICAgcHJldmlvdXMgPyBwcmV2aW91cy5ieXRlc1BlclNlYyA6IDAsXG4gICAgICBwcmV2aW91cyA/IHByZXZpb3VzLmF2Z0J5dGVzUGVyU2VjIDogMCxcbiAgICAgIHByZXZpb3VzID8gcHJldmlvdXMudG90YWxCeXRlcyA6IDAsXG4gICAgICAxMDBcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSB0cmFuc2ZlclByb2dyZXNzKGV2ZW50OiBIdHRwUHJvZ3Jlc3NFdmVudCk6IERhdGFUcmFuc2ZlclByb2dyZXNzIHtcblxuICAgIHRoaXMuX2N1cnJUaW1lTXMgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcblxuICAgIC8vIHNldHRpbmcgc3RhcnQgdGltZVxuICAgIGlmICghdGhpcy5fc3RhcnRUaW1lTXMpIHtcbiAgICAgIHRoaXMuX3N0YXJ0VGltZU1zID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICB0aGlzLl9wcmV2VGltZU1zID0gdGhpcy5fc3RhcnRUaW1lTXM7XG4gICAgfVxuXG4gICAgLy8gdHJhY2tpbmcgaG93IG11Y2ggZGF0YSBpcyByZWNlaXZlZCBhbmRcbiAgICBjb25zdCBieXRlc1JlY2VpdmVkVG90YWwgPSBldmVudC5sb2FkZWQ7XG4gICAgY29uc3QgYnl0ZXNSZWNlaXZlZCA9IGJ5dGVzUmVjZWl2ZWRUb3RhbCAtIHRoaXMuX29sZEJ5dGVzO1xuXG4gICAgY29uc3QgZHVyYXRpb25NcyA9ICh0aGlzLl9jdXJyVGltZU1zIC0gdGhpcy5fcHJldlRpbWVNcyk7XG4gICAgY29uc3QgZHVyYXRpb25TZWMgPSBkdXJhdGlvbk1zIC8gMTAwMDtcblxuICAgIC8vIENhbGMgdHJhbnNmZXIgc3BlZWQgcGVyIHBlcmNlbnQgZGF0YSByZWNlaXZlZFxuICAgIGNvbnN0IGJ5dGVzUGVyU2VjID0gYnl0ZXNSZWNlaXZlZCAvIGR1cmF0aW9uU2VjO1xuXG4gICAgLy8gdXBkYXRpbmcgcHJldmlvdXMgdmFsdWVzXG4gICAgdGhpcy5fcHJldlRpbWVNcyA9IHRoaXMuX2N1cnJUaW1lTXM7XG4gICAgdGhpcy5fb2xkQnl0ZXMgPSBieXRlc1JlY2VpdmVkVG90YWw7XG5cbiAgICAvLyBDYWxjIGF2ZyBzcGVlZFxuICAgIGNvbnN0IGR1cmF0aW9uU2luY2VTdGFydE1zID0gKHRoaXMuX2N1cnJUaW1lTXMgLSB0aGlzLl9zdGFydFRpbWVNcyk7XG4gICAgY29uc3QgZHVyYXRpb25TaW5jZVN0YXJ0U2VjID0gZHVyYXRpb25TaW5jZVN0YXJ0TXMgLyAxMDAwO1xuICAgIGNvbnN0IGF2Z0J5dGVzUGVyU2VjID0gZXZlbnQubG9hZGVkIC8gZHVyYXRpb25TaW5jZVN0YXJ0U2VjO1xuXG4gICAgLy8gQ2FsYyBwcm9ncmVzcyBpZiBwb3NzaWJsZVxuICAgIGNvbnN0IHBlcmNlbnREb25lID0gZXZlbnQudG90YWwgPyBNYXRoLnJvdW5kKDEwMCAqIGV2ZW50LmxvYWRlZCAvIGV2ZW50LnRvdGFsKSA6IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiBuZXcgRGF0YVRyYW5zZmVyUHJvZ3Jlc3MoXG4gICAgICBldmVudC5sb2FkZWQsXG4gICAgICBieXRlc1BlclNlYyxcbiAgICAgIGF2Z0J5dGVzUGVyU2VjLFxuICAgICAgZXZlbnQudG90YWwsXG4gICAgICBwZXJjZW50RG9uZVxuICAgICk7XG4gIH1cblxufVxuIl19
@@ -14,6 +14,7 @@ import { HttpDataTransferOverviewComponent } from './http-data-transfer-overview
14
14
  import { HttpDataTransferIndicatorComponent } from './http-data-transfer-indicator/http-data-transfer-indicator.component';
15
15
  import { ElderPipesModule } from '../../pipes/elder-pipes.module';
16
16
  import { ElderOverlayModule } from '../overlays/elder-overlay.module';
17
+ import { MatCardModule } from '@angular/material/card';
17
18
  import * as i0 from "@angular/core";
18
19
  export { ElderDataTransferService } from './elder-data-transfer.service';
19
20
  export { HttpDataTransferComponent } from './http-data-transfer/http-data-transfer.component';
@@ -33,7 +34,7 @@ ElderDataTransferModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
33
34
  MatProgressSpinnerModule,
34
35
  TranslateModule,
35
36
  ElderPipesModule,
36
- ElderOverlayModule], exports: [HttpDataTransferComponent,
37
+ ElderOverlayModule, MatCardModule], exports: [HttpDataTransferComponent,
37
38
  HttpDataTransferAggregateComponent,
38
39
  HttpDataTransferOverviewComponent,
39
40
  HttpDataTransferIndicatorComponent] });
@@ -44,7 +45,7 @@ ElderDataTransferModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
44
45
  MatProgressSpinnerModule,
45
46
  TranslateModule,
46
47
  ElderPipesModule,
47
- ElderOverlayModule] });
48
+ ElderOverlayModule, MatCardModule] });
48
49
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderDataTransferModule, decorators: [{
49
50
  type: NgModule,
50
51
  args: [{
@@ -56,7 +57,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
56
57
  MatProgressSpinnerModule,
57
58
  TranslateModule,
58
59
  ElderPipesModule,
59
- ElderOverlayModule
60
+ ElderOverlayModule, MatCardModule
60
61
  ],
61
62
  declarations: [
62
63
  HttpDataTransferComponent,
@@ -72,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
72
73
  ]
73
74
  }]
74
75
  }] });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZGF0YS10cmFuc2Zlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdHJhbnNmZXIvZWxkZXItZGF0YS10cmFuc2Zlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzVGLE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBQ3pILE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHFFQUFxRSxDQUFDO0FBQ3RILE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBQ3pILE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDOztBQUVwRSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUM1RixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx1RUFBdUUsQ0FBQztBQUN6SCxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSxxRUFBcUUsQ0FBQztBQUN0SCxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx1RUFBdUUsQ0FBQztBQThCekgsTUFBTSxPQUFPLHVCQUF1Qjs7b0hBQXZCLHVCQUF1QjtxSEFBdkIsdUJBQXVCLGlCQVpoQyx5QkFBeUI7UUFDekIsa0NBQWtDO1FBQ2xDLGlDQUFpQztRQUNqQyxrQ0FBa0MsYUFoQmxDLFlBQVk7UUFFWixhQUFhLEVBQUUsb0JBQW9CO1FBQ25DLGdCQUFnQixFQUFFLGdCQUFnQjtRQUNsQyxlQUFlLEVBQUUsY0FBYztRQUMvQix3QkFBd0I7UUFFeEIsZUFBZTtRQUVmLGdCQUFnQjtRQUNoQixrQkFBa0IsYUFTbEIseUJBQXlCO1FBQ3pCLGtDQUFrQztRQUNsQyxpQ0FBaUM7UUFDakMsa0NBQWtDO3FIQUd6Qix1QkFBdUIsWUF6QmhDLFlBQVk7UUFFWixhQUFhLEVBQUUsb0JBQW9CO1FBQ25DLGdCQUFnQixFQUFFLGdCQUFnQjtRQUNsQyxlQUFlLEVBQUUsY0FBYztRQUMvQix3QkFBd0I7UUFFeEIsZUFBZTtRQUVmLGdCQUFnQjtRQUNoQixrQkFBa0I7MkZBZVQsdUJBQXVCO2tCQTNCbkMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFFWixhQUFhLEVBQUUsb0JBQW9CO3dCQUNuQyxnQkFBZ0IsRUFBRSxnQkFBZ0I7d0JBQ2xDLGVBQWUsRUFBRSxjQUFjO3dCQUMvQix3QkFBd0I7d0JBRXhCLGVBQWU7d0JBRWYsZ0JBQWdCO3dCQUNoQixrQkFBa0I7cUJBQ25CO29CQUNELFlBQVksRUFBRTt3QkFDWix5QkFBeUI7d0JBQ3pCLGtDQUFrQzt3QkFDbEMsaUNBQWlDO3dCQUNqQyxrQ0FBa0M7cUJBQ25DO29CQUNELE9BQU8sRUFBRTt3QkFDUCx5QkFBeUI7d0JBQ3pCLGtDQUFrQzt3QkFDbEMsaUNBQWlDO3dCQUNqQyxrQ0FBa0M7cUJBQ25DO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRCYWRnZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JhZGdlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IE1hdFRvb2xiYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7SHR0cERhdGFUcmFuc2ZlckNvbXBvbmVudH0gZnJvbSAnLi9odHRwLWRhdGEtdHJhbnNmZXIvaHR0cC1kYXRhLXRyYW5zZmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0h0dHBEYXRhVHJhbnNmZXJBZ2dyZWdhdGVDb21wb25lbnR9IGZyb20gJy4vaHR0cC1kYXRhLXRyYW5zZmVyLWFnZ3JlZ2F0ZS9odHRwLWRhdGEtdHJhbnNmZXItYWdncmVnYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge0h0dHBEYXRhVHJhbnNmZXJPdmVydmlld0NvbXBvbmVudH0gZnJvbSAnLi9odHRwLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcvaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQge0h0dHBEYXRhVHJhbnNmZXJJbmRpY2F0b3JDb21wb25lbnR9IGZyb20gJy4vaHR0cC1kYXRhLXRyYW5zZmVyLWluZGljYXRvci9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQge0VsZGVyUGlwZXNNb2R1bGV9IGZyb20gJy4uLy4uL3BpcGVzL2VsZGVyLXBpcGVzLm1vZHVsZSc7XG5pbXBvcnQge0VsZGVyT3ZlcmxheU1vZHVsZX0gZnJvbSAnLi4vb3ZlcmxheXMvZWxkZXItb3ZlcmxheS5tb2R1bGUnO1xuXG5leHBvcnQge0VsZGVyRGF0YVRyYW5zZmVyU2VydmljZX0gZnJvbSAnLi9lbGRlci1kYXRhLXRyYW5zZmVyLnNlcnZpY2UnO1xuZXhwb3J0IHtIdHRwRGF0YVRyYW5zZmVyQ29tcG9uZW50fSBmcm9tICcuL2h0dHAtZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXIuY29tcG9uZW50JztcbmV4cG9ydCB7SHR0cERhdGFUcmFuc2ZlckFnZ3JlZ2F0ZUNvbXBvbmVudH0gZnJvbSAnLi9odHRwLWRhdGEtdHJhbnNmZXItYWdncmVnYXRlL2h0dHAtZGF0YS10cmFuc2Zlci1hZ2dyZWdhdGUuY29tcG9uZW50JztcbmV4cG9ydCB7SHR0cERhdGFUcmFuc2Zlck92ZXJ2aWV3Q29tcG9uZW50fSBmcm9tICcuL2h0dHAtZGF0YS10cmFuc2Zlci1vdmVydmlldy9odHRwLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcuY29tcG9uZW50JztcbmV4cG9ydCB7SHR0cERhdGFUcmFuc2ZlckluZGljYXRvckNvbXBvbmVudH0gZnJvbSAnLi9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yL2h0dHAtZGF0YS10cmFuc2Zlci1pbmRpY2F0b3IuY29tcG9uZW50JztcblxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuXG4gICAgTWF0SWNvbk1vZHVsZSwgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSwgTWF0VG9vbGJhck1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsIE1hdEJhZGdlTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcblxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcblxuICAgIEVsZGVyUGlwZXNNb2R1bGUsXG4gICAgRWxkZXJPdmVybGF5TW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEh0dHBEYXRhVHJhbnNmZXJDb21wb25lbnQsXG4gICAgSHR0cERhdGFUcmFuc2ZlckFnZ3JlZ2F0ZUNvbXBvbmVudCxcbiAgICBIdHRwRGF0YVRyYW5zZmVyT3ZlcnZpZXdDb21wb25lbnQsXG4gICAgSHR0cERhdGFUcmFuc2ZlckluZGljYXRvckNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEh0dHBEYXRhVHJhbnNmZXJDb21wb25lbnQsXG4gICAgSHR0cERhdGFUcmFuc2ZlckFnZ3JlZ2F0ZUNvbXBvbmVudCxcbiAgICBIdHRwRGF0YVRyYW5zZmVyT3ZlcnZpZXdDb21wb25lbnQsXG4gICAgSHR0cERhdGFUcmFuc2ZlckluZGljYXRvckNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyRGF0YVRyYW5zZmVyTW9kdWxlIHsgfVxuIl19
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZGF0YS10cmFuc2Zlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdHJhbnNmZXIvZWxkZXItZGF0YS10cmFuc2Zlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzVGLE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBQ3pILE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHFFQUFxRSxDQUFDO0FBQ3RILE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBQ3pILE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFckQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDNUYsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDekgsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0scUVBQXFFLENBQUM7QUFDdEgsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUE4QnpILE1BQU0sT0FBTyx1QkFBdUI7O29IQUF2Qix1QkFBdUI7cUhBQXZCLHVCQUF1QixpQkFaaEMseUJBQXlCO1FBQ3pCLGtDQUFrQztRQUNsQyxpQ0FBaUM7UUFDakMsa0NBQWtDLGFBaEI5QixZQUFZO1FBRVosYUFBYSxFQUFFLG9CQUFvQjtRQUNuQyxnQkFBZ0IsRUFBRSxnQkFBZ0I7UUFDbEMsZUFBZSxFQUFFLGNBQWM7UUFDL0Isd0JBQXdCO1FBRXhCLGVBQWU7UUFFZixnQkFBZ0I7UUFDaEIsa0JBQWtCLEVBQUUsYUFBYSxhQVNyQyx5QkFBeUI7UUFDekIsa0NBQWtDO1FBQ2xDLGlDQUFpQztRQUNqQyxrQ0FBa0M7cUhBR3pCLHVCQUF1QixZQXpCNUIsWUFBWTtRQUVaLGFBQWEsRUFBRSxvQkFBb0I7UUFDbkMsZ0JBQWdCLEVBQUUsZ0JBQWdCO1FBQ2xDLGVBQWUsRUFBRSxjQUFjO1FBQy9CLHdCQUF3QjtRQUV4QixlQUFlO1FBRWYsZ0JBQWdCO1FBQ2hCLGtCQUFrQixFQUFFLGFBQWE7MkZBZTVCLHVCQUF1QjtrQkEzQm5DLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBRVosYUFBYSxFQUFFLG9CQUFvQjt3QkFDbkMsZ0JBQWdCLEVBQUUsZ0JBQWdCO3dCQUNsQyxlQUFlLEVBQUUsY0FBYzt3QkFDL0Isd0JBQXdCO3dCQUV4QixlQUFlO3dCQUVmLGdCQUFnQjt3QkFDaEIsa0JBQWtCLEVBQUUsYUFBYTtxQkFDcEM7b0JBQ0gsWUFBWSxFQUFFO3dCQUNaLHlCQUF5Qjt3QkFDekIsa0NBQWtDO3dCQUNsQyxpQ0FBaUM7d0JBQ2pDLGtDQUFrQztxQkFDbkM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHlCQUF5Qjt3QkFDekIsa0NBQWtDO3dCQUNsQyxpQ0FBaUM7d0JBQ2pDLGtDQUFrQztxQkFDbkM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJhZGdlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuaW1wb3J0IHsgTWF0VG9vbGJhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtIdHRwRGF0YVRyYW5zZmVyQ29tcG9uZW50fSBmcm9tICcuL2h0dHAtZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXIuY29tcG9uZW50JztcbmltcG9ydCB7SHR0cERhdGFUcmFuc2ZlckFnZ3JlZ2F0ZUNvbXBvbmVudH0gZnJvbSAnLi9odHRwLWRhdGEtdHJhbnNmZXItYWdncmVnYXRlL2h0dHAtZGF0YS10cmFuc2Zlci1hZ2dyZWdhdGUuY29tcG9uZW50JztcbmltcG9ydCB7SHR0cERhdGFUcmFuc2Zlck92ZXJ2aWV3Q29tcG9uZW50fSBmcm9tICcuL2h0dHAtZGF0YS10cmFuc2Zlci1vdmVydmlldy9odHRwLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7SHR0cERhdGFUcmFuc2ZlckluZGljYXRvckNvbXBvbmVudH0gZnJvbSAnLi9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yL2h0dHAtZGF0YS10cmFuc2Zlci1pbmRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7RWxkZXJQaXBlc01vZHVsZX0gZnJvbSAnLi4vLi4vcGlwZXMvZWxkZXItcGlwZXMubW9kdWxlJztcbmltcG9ydCB7RWxkZXJPdmVybGF5TW9kdWxlfSBmcm9tICcuLi9vdmVybGF5cy9lbGRlci1vdmVybGF5Lm1vZHVsZSc7XG5pbXBvcnQge01hdENhcmRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuXG5leHBvcnQge0VsZGVyRGF0YVRyYW5zZmVyU2VydmljZX0gZnJvbSAnLi9lbGRlci1kYXRhLXRyYW5zZmVyLnNlcnZpY2UnO1xuZXhwb3J0IHtIdHRwRGF0YVRyYW5zZmVyQ29tcG9uZW50fSBmcm9tICcuL2h0dHAtZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXIuY29tcG9uZW50JztcbmV4cG9ydCB7SHR0cERhdGFUcmFuc2ZlckFnZ3JlZ2F0ZUNvbXBvbmVudH0gZnJvbSAnLi9odHRwLWRhdGEtdHJhbnNmZXItYWdncmVnYXRlL2h0dHAtZGF0YS10cmFuc2Zlci1hZ2dyZWdhdGUuY29tcG9uZW50JztcbmV4cG9ydCB7SHR0cERhdGFUcmFuc2Zlck92ZXJ2aWV3Q29tcG9uZW50fSBmcm9tICcuL2h0dHAtZGF0YS10cmFuc2Zlci1vdmVydmlldy9odHRwLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcuY29tcG9uZW50JztcbmV4cG9ydCB7SHR0cERhdGFUcmFuc2ZlckluZGljYXRvckNvbXBvbmVudH0gZnJvbSAnLi9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yL2h0dHAtZGF0YS10cmFuc2Zlci1pbmRpY2F0b3IuY29tcG9uZW50JztcblxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuXG4gICAgICAgIE1hdEljb25Nb2R1bGUsIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxuICAgICAgICBNYXRUb29sdGlwTW9kdWxlLCBNYXRUb29sYmFyTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsIE1hdEJhZGdlTW9kdWxlLFxuICAgICAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG5cbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuXG4gICAgICAgIEVsZGVyUGlwZXNNb2R1bGUsXG4gICAgICAgIEVsZGVyT3ZlcmxheU1vZHVsZSwgTWF0Q2FyZE1vZHVsZVxuICAgIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEh0dHBEYXRhVHJhbnNmZXJDb21wb25lbnQsXG4gICAgSHR0cERhdGFUcmFuc2ZlckFnZ3JlZ2F0ZUNvbXBvbmVudCxcbiAgICBIdHRwRGF0YVRyYW5zZmVyT3ZlcnZpZXdDb21wb25lbnQsXG4gICAgSHR0cERhdGFUcmFuc2ZlckluZGljYXRvckNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEh0dHBEYXRhVHJhbnNmZXJDb21wb25lbnQsXG4gICAgSHR0cERhdGFUcmFuc2ZlckFnZ3JlZ2F0ZUNvbXBvbmVudCxcbiAgICBIdHRwRGF0YVRyYW5zZmVyT3ZlcnZpZXdDb21wb25lbnQsXG4gICAgSHR0cERhdGFUcmFuc2ZlckluZGljYXRvckNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyRGF0YVRyYW5zZmVyTW9kdWxlIHsgfVxuIl19
@@ -1,7 +1,7 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { LoggerFactory } from '@elderbyte/ts-logger';
3
- import { BehaviorSubject, combineLatest, of, Subject } from 'rxjs';
4
- import { catchError, flatMap, map, mergeMap, startWith, tap } from 'rxjs/operators';
3
+ import { BehaviorSubject, combineLatest, of, Subject, switchMap } from 'rxjs';
4
+ import { catchError, map, mergeMap, startWith, tap } from 'rxjs/operators';
5
5
  import { DataTransferProgressAggregate } from '../../common/http/transfer/data-transfer-progress-aggregate';
6
6
  import * as i0 from "@angular/core";
7
7
  export class ElderDataTransferService {
@@ -16,13 +16,15 @@ export class ElderDataTransferService {
16
16
  * Fields *
17
17
  * *
18
18
  **************************************************************************/
19
- this.logger = LoggerFactory.getLogger('ElderDataTransferService');
19
+ this.logger = LoggerFactory.getLogger(this.constructor.name);
20
20
  this._transfers = new BehaviorSubject([]);
21
21
  this._uploadQueue = new Subject();
22
22
  this._parallelUploads = 1;
23
23
  this._completed = new Subject();
24
24
  this._uploadQueue.pipe(mergeMap(transfer => transfer.start().pipe(catchError(err => of(err)), // Avoid killing queue
25
- tap(null, null, () => this._completed.next(transfer))), this._parallelUploads)).subscribe(completedJob => { }, err => this.logger.error('Data transfer failed', err));
25
+ tap({ complete: () => this._completed.next(transfer) })), this._parallelUploads)).subscribe({
26
+ error: err => this.logger.error('Data transfer failed', err)
27
+ });
26
28
  }
27
29
  /***************************************************************************
28
30
  * *
@@ -39,7 +41,7 @@ export class ElderDataTransferService {
39
41
  return this._completed.asObservable();
40
42
  }
41
43
  get transferAggregate() {
42
- return this.transfers.pipe(flatMap(transfers => this.aggregateProgress(transfers)), startWith(DataTransferProgressAggregate.Empty));
44
+ return this.transfers.pipe(switchMap(transfers => this.aggregateProgress(transfers)), startWith(DataTransferProgressAggregate.Empty));
43
45
  }
44
46
  /***************************************************************************
45
47
  * *
@@ -86,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
86
88
  providedIn: 'root'
87
89
  }]
88
90
  }], ctorParameters: function () { return []; } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZGF0YS10cmFuc2Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9kYXRhLXRyYW5zZmVyL2VsZGVyLWRhdGEtdHJhbnNmZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdFLE9BQU8sRUFBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWxGLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLDZEQUE2RCxDQUFDOztBQU0xRyxNQUFNLE9BQU8sd0JBQXdCO0lBZ0JuQzs7OztnRkFJNEU7SUFFNUU7UUFwQkE7Ozs7b0ZBSTRFO1FBRXBFLFdBQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFcEQsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFxQixFQUFFLENBQUMsQ0FBQztRQUN6RCxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFvQixDQUFDO1FBQ3hELHFCQUFnQixHQUFHLENBQUMsQ0FBQztRQUVaLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBb0IsQ0FBQztRQVU1RCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDcEIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FDeEMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsc0JBQXNCO1FBQ2xELEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQ3RELEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQzFCLENBQUMsU0FBUyxDQUNULFlBQVksQ0FBQyxFQUFFLEdBQUUsQ0FBQyxFQUNoQixHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLEdBQUcsQ0FBQyxDQUN4RCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ3hCLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUN2RCxTQUFTLENBQUMsNkJBQTZCLENBQUMsS0FBSyxDQUFDLENBQy9DLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFOzs7T0FHRztJQUNJLE9BQU8sQ0FBQyxRQUEwQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxVQUFVLENBQUMsU0FBNkI7UUFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzQixNQUFNLFlBQVksR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNuQyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLFVBQVUsQ0FBQyxZQUFnQztRQUNqRCxZQUFZLENBQUMsT0FBTyxDQUNsQixDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUMvQixDQUFDO0lBQ0osQ0FBQztJQUVPLGlCQUFpQixDQUFDLFNBQTZCO1FBRXJELE1BQU0sbUJBQW1CLEdBQUcsU0FBUzthQUNsQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO2FBQ3BDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV0QixPQUFPLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLElBQUksQ0FDNUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUMzRixDQUFDO0lBQ0osQ0FBQzs7cUhBMUdVLHdCQUF3Qjt5SEFBeEIsd0JBQXdCLGNBRnZCLE1BQU07MkZBRVAsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7Y2F0Y2hFcnJvciwgZmxhdE1hcCwgbWFwLCBtZXJnZU1hcCwgc3RhcnRXaXRoLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SHR0cERhdGFUcmFuc2Zlcn0gZnJvbSAnLi4vLi4vY29tbW9uL2h0dHAvdHJhbnNmZXIvaHR0cC1kYXRhLXRyYW5zZmVyJztcbmltcG9ydCB7RGF0YVRyYW5zZmVyUHJvZ3Jlc3NBZ2dyZWdhdGV9IGZyb20gJy4uLy4uL2NvbW1vbi9odHRwL3RyYW5zZmVyL2RhdGEtdHJhbnNmZXItcHJvZ3Jlc3MtYWdncmVnYXRlJztcblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBFbGRlckRhdGFUcmFuc2ZlclNlcnZpY2Uge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIoJ0VsZGVyRGF0YVRyYW5zZmVyU2VydmljZScpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3RyYW5zZmVycyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SHR0cERhdGFUcmFuc2ZlcltdPihbXSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3VwbG9hZFF1ZXVlID0gbmV3IFN1YmplY3Q8SHR0cERhdGFUcmFuc2Zlcj4oKTtcbiAgcHJpdmF0ZSBfcGFyYWxsZWxVcGxvYWRzID0gMTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb21wbGV0ZWQgPSBuZXcgU3ViamVjdDxIdHRwRGF0YVRyYW5zZmVyPigpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICApIHtcbiAgICB0aGlzLl91cGxvYWRRdWV1ZS5waXBlKFxuICAgICAgbWVyZ2VNYXAodHJhbnNmZXIgPT4gdHJhbnNmZXIuc3RhcnQoKS5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKGVyciA9PiBvZihlcnIpKSwgLy8gQXZvaWQga2lsbGluZyBxdWV1ZVxuICAgICAgICB0YXAobnVsbCwgbnVsbCwgKCkgPT4gdGhpcy5fY29tcGxldGVkLm5leHQodHJhbnNmZXIpKVxuICAgICAgKSwgdGhpcy5fcGFyYWxsZWxVcGxvYWRzKVxuICAgICkuc3Vic2NyaWJlKFxuICAgICAgY29tcGxldGVkSm9iID0+IHt9LFxuICAgICAgICBlcnIgPT4gdGhpcy5sb2dnZXIuZXJyb3IoJ0RhdGEgdHJhbnNmZXIgZmFpbGVkJywgZXJyKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IHRyYW5zZmVycygpOiBPYnNlcnZhYmxlPEh0dHBEYXRhVHJhbnNmZXJbXT4ge1xuICAgIHJldHVybiB0aGlzLl90cmFuc2ZlcnMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRyYW5zZmVyc1NuYXBzaG90KCk6IEh0dHBEYXRhVHJhbnNmZXJbXSB7XG4gICAgcmV0dXJuIFsuLi50aGlzLl90cmFuc2ZlcnMudmFsdWVdO1xuICB9XG5cbiAgcHVibGljIGdldCB0cmFuc2ZlckNvbXBsZXRlZCgpOiBPYnNlcnZhYmxlPEh0dHBEYXRhVHJhbnNmZXI+IHtcbiAgICByZXR1cm4gdGhpcy5fY29tcGxldGVkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCB0cmFuc2ZlckFnZ3JlZ2F0ZSgpOiBPYnNlcnZhYmxlPERhdGFUcmFuc2ZlclByb2dyZXNzQWdncmVnYXRlPiB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNmZXJzLnBpcGUoXG4gICAgICBmbGF0TWFwKHRyYW5zZmVycyA9PiB0aGlzLmFnZ3JlZ2F0ZVByb2dyZXNzKHRyYW5zZmVycykpLFxuICAgICAgc3RhcnRXaXRoKERhdGFUcmFuc2ZlclByb2dyZXNzQWdncmVnYXRlLkVtcHR5KSxcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIEVucXVldWUgYW5kIHNjaGVkdWxlIGEgc2luZ2xlIGRhdGEgdHJhbnNmZXJcbiAgICogQHBhcmFtIHRyYW5zZmVyXG4gICAqL1xuICBwdWJsaWMgZW5xdWV1ZSh0cmFuc2ZlcjogSHR0cERhdGFUcmFuc2Zlcik6IEh0dHBEYXRhVHJhbnNmZXIge1xuICAgIHJldHVybiB0aGlzLmVucXVldWVBbGwoW3RyYW5zZmVyXSlbMF07XG4gIH1cblxuICAvKipcbiAgICogRW5xdWV1ZSBhbmQgc2NoZWR1bGUgYWxsIGdpdmVuIGRhdGEgdHJhbnNmZXJzXG4gICAqIEBwYXJhbSB0cmFuc2ZlcnNcbiAgICovXG4gIHB1YmxpYyBlbnF1ZXVlQWxsKHRyYW5zZmVyczogSHR0cERhdGFUcmFuc2ZlcltdKTogSHR0cERhdGFUcmFuc2ZlcltdIHtcbiAgICB0aGlzLmFkZFRvUXVldWUodHJhbnNmZXJzKTtcbiAgICBjb25zdCBhbGxUcmFuc2ZlcnMgPSBbLi4udGhpcy5fdHJhbnNmZXJzLnZhbHVlLCAuLi50cmFuc2ZlcnNdO1xuICAgIHRoaXMuX3RyYW5zZmVycy5uZXh0KGFsbFRyYW5zZmVycyk7XG4gICAgcmV0dXJuIHRyYW5zZmVycztcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgYWRkVG9RdWV1ZShuZXdUcmFuc2ZlcnM6IEh0dHBEYXRhVHJhbnNmZXJbXSk6IHZvaWQge1xuICAgIG5ld1RyYW5zZmVycy5mb3JFYWNoKFxuICAgICAgdCA9PiB0aGlzLl91cGxvYWRRdWV1ZS5uZXh0KHQpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYWdncmVnYXRlUHJvZ3Jlc3ModHJhbnNmZXJzOiBIdHRwRGF0YVRyYW5zZmVyW10pOiBPYnNlcnZhYmxlPERhdGFUcmFuc2ZlclByb2dyZXNzQWdncmVnYXRlPiB7XG5cbiAgICBjb25zdCB0cmFuc2ZlcnNJblByb2dyZXNzID0gdHJhbnNmZXJzXG4gICAgICAuZmlsdGVyKHQgPT4gIXQuc3RhdGVTbmFwc2hvdC5pc0RvbmUpXG4gICAgICAubWFwKHQgPT4gdC5zdGF0ZSQpO1xuXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QodHJhbnNmZXJzSW5Qcm9ncmVzcykucGlwZShcbiAgICAgIG1hcChsYXRlc3RUcmFuc2ZlclN0YXRlcyA9PiBEYXRhVHJhbnNmZXJQcm9ncmVzc0FnZ3JlZ2F0ZS5hZ2dyZWdhdGUobGF0ZXN0VHJhbnNmZXJTdGF0ZXMpKVxuICAgICk7XG4gIH1cblxufVxuIl19
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZGF0YS10cmFuc2Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9kYXRhLXRyYW5zZmVyL2VsZGVyLWRhdGEtdHJhbnNmZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN4RixPQUFPLEVBQUMsVUFBVSxFQUFXLEdBQUcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWxGLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLDZEQUE2RCxDQUFDOztBQU0xRyxNQUFNLE9BQU8sd0JBQXdCO0lBZ0JuQzs7OztnRkFJNEU7SUFFNUU7UUFwQkE7Ozs7b0ZBSTRFO1FBRXBFLFdBQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0MsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFxQixFQUFFLENBQUMsQ0FBQztRQUN6RCxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFvQixDQUFDO1FBQ3hELHFCQUFnQixHQUFHLENBQUMsQ0FBQztRQUVaLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBb0IsQ0FBQztRQVU1RCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDcEIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FDeEMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsc0JBQXNCO1FBQ2xELEdBQUcsQ0FBQyxFQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDLENBQ3RELEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQzFCLENBQUMsU0FBUyxDQUNUO1lBQ0UsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxDQUFDO1NBQzdELENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUN4QixTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUMsRUFDekQsU0FBUyxDQUFDLDZCQUE2QixDQUFDLEtBQUssQ0FBQyxDQUMvQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RTs7O09BR0c7SUFDSSxPQUFPLENBQUMsUUFBMEI7UUFDdkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksVUFBVSxDQUFDLFNBQTZCO1FBQzdDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0IsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbkMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVwRSxVQUFVLENBQUMsWUFBZ0M7UUFDakQsWUFBWSxDQUFDLE9BQU8sQ0FDbEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDL0IsQ0FBQztJQUNKLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxTQUE2QjtRQUVyRCxNQUFNLG1CQUFtQixHQUFHLFNBQVM7YUFDbEMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQzthQUNwQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFdEIsT0FBTyxhQUFhLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQzVDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsNkJBQTZCLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FDM0YsQ0FBQztJQUNKLENBQUM7O3FIQTNHVSx3QkFBd0I7eUhBQXhCLHdCQUF3QixjQUZ2QixNQUFNOzJGQUVQLHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Y2F0Y2hFcnJvciwgZmxhdE1hcCwgbWFwLCBtZXJnZU1hcCwgc3RhcnRXaXRoLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SHR0cERhdGFUcmFuc2Zlcn0gZnJvbSAnLi4vLi4vY29tbW9uL2h0dHAvdHJhbnNmZXIvaHR0cC1kYXRhLXRyYW5zZmVyJztcbmltcG9ydCB7RGF0YVRyYW5zZmVyUHJvZ3Jlc3NBZ2dyZWdhdGV9IGZyb20gJy4uLy4uL2NvbW1vbi9odHRwL3RyYW5zZmVyL2RhdGEtdHJhbnNmZXItcHJvZ3Jlc3MtYWdncmVnYXRlJztcblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBFbGRlckRhdGFUcmFuc2ZlclNlcnZpY2Uge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF90cmFuc2ZlcnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEh0dHBEYXRhVHJhbnNmZXJbXT4oW10pO1xuICBwcml2YXRlIHJlYWRvbmx5IF91cGxvYWRRdWV1ZSA9IG5ldyBTdWJqZWN0PEh0dHBEYXRhVHJhbnNmZXI+KCk7XG4gIHByaXZhdGUgX3BhcmFsbGVsVXBsb2FkcyA9IDE7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY29tcGxldGVkID0gbmV3IFN1YmplY3Q8SHR0cERhdGFUcmFuc2Zlcj4oKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgKSB7XG4gICAgdGhpcy5fdXBsb2FkUXVldWUucGlwZShcbiAgICAgIG1lcmdlTWFwKHRyYW5zZmVyID0+IHRyYW5zZmVyLnN0YXJ0KCkucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4gb2YoZXJyKSksIC8vIEF2b2lkIGtpbGxpbmcgcXVldWVcbiAgICAgICAgdGFwKHtjb21wbGV0ZTogKCkgPT4gdGhpcy5fY29tcGxldGVkLm5leHQodHJhbnNmZXIpfSlcbiAgICAgICksIHRoaXMuX3BhcmFsbGVsVXBsb2FkcylcbiAgICApLnN1YnNjcmliZShcbiAgICAgIHtcbiAgICAgICAgZXJyb3I6IGVyciA9PiB0aGlzLmxvZ2dlci5lcnJvcignRGF0YSB0cmFuc2ZlciBmYWlsZWQnLCBlcnIpXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgdHJhbnNmZXJzKCk6IE9ic2VydmFibGU8SHR0cERhdGFUcmFuc2ZlcltdPiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zZmVycy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdHJhbnNmZXJzU25hcHNob3QoKTogSHR0cERhdGFUcmFuc2ZlcltdIHtcbiAgICByZXR1cm4gWy4uLnRoaXMuX3RyYW5zZmVycy52YWx1ZV07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRyYW5zZmVyQ29tcGxldGVkKCk6IE9ic2VydmFibGU8SHR0cERhdGFUcmFuc2Zlcj4ge1xuICAgIHJldHVybiB0aGlzLl9jb21wbGV0ZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRyYW5zZmVyQWdncmVnYXRlKCk6IE9ic2VydmFibGU8RGF0YVRyYW5zZmVyUHJvZ3Jlc3NBZ2dyZWdhdGU+IHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2ZlcnMucGlwZShcbiAgICAgIHN3aXRjaE1hcCh0cmFuc2ZlcnMgPT4gdGhpcy5hZ2dyZWdhdGVQcm9ncmVzcyh0cmFuc2ZlcnMpKSxcbiAgICAgIHN0YXJ0V2l0aChEYXRhVHJhbnNmZXJQcm9ncmVzc0FnZ3JlZ2F0ZS5FbXB0eSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBFbnF1ZXVlIGFuZCBzY2hlZHVsZSBhIHNpbmdsZSBkYXRhIHRyYW5zZmVyXG4gICAqIEBwYXJhbSB0cmFuc2ZlclxuICAgKi9cbiAgcHVibGljIGVucXVldWUodHJhbnNmZXI6IEh0dHBEYXRhVHJhbnNmZXIpOiBIdHRwRGF0YVRyYW5zZmVyIHtcbiAgICByZXR1cm4gdGhpcy5lbnF1ZXVlQWxsKFt0cmFuc2Zlcl0pWzBdO1xuICB9XG5cbiAgLyoqXG4gICAqIEVucXVldWUgYW5kIHNjaGVkdWxlIGFsbCBnaXZlbiBkYXRhIHRyYW5zZmVyc1xuICAgKiBAcGFyYW0gdHJhbnNmZXJzXG4gICAqL1xuICBwdWJsaWMgZW5xdWV1ZUFsbCh0cmFuc2ZlcnM6IEh0dHBEYXRhVHJhbnNmZXJbXSk6IEh0dHBEYXRhVHJhbnNmZXJbXSB7XG4gICAgdGhpcy5hZGRUb1F1ZXVlKHRyYW5zZmVycyk7XG4gICAgY29uc3QgYWxsVHJhbnNmZXJzID0gWy4uLnRoaXMuX3RyYW5zZmVycy52YWx1ZSwgLi4udHJhbnNmZXJzXTtcbiAgICB0aGlzLl90cmFuc2ZlcnMubmV4dChhbGxUcmFuc2ZlcnMpO1xuICAgIHJldHVybiB0cmFuc2ZlcnM7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGFkZFRvUXVldWUobmV3VHJhbnNmZXJzOiBIdHRwRGF0YVRyYW5zZmVyW10pOiB2b2lkIHtcbiAgICBuZXdUcmFuc2ZlcnMuZm9yRWFjaChcbiAgICAgIHQgPT4gdGhpcy5fdXBsb2FkUXVldWUubmV4dCh0KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFnZ3JlZ2F0ZVByb2dyZXNzKHRyYW5zZmVyczogSHR0cERhdGFUcmFuc2ZlcltdKTogT2JzZXJ2YWJsZTxEYXRhVHJhbnNmZXJQcm9ncmVzc0FnZ3JlZ2F0ZT4ge1xuXG4gICAgY29uc3QgdHJhbnNmZXJzSW5Qcm9ncmVzcyA9IHRyYW5zZmVyc1xuICAgICAgLmZpbHRlcih0ID0+ICF0LnN0YXRlU25hcHNob3QuaXNEb25lKVxuICAgICAgLm1hcCh0ID0+IHQuc3RhdGUkKTtcblxuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHRyYW5zZmVyc0luUHJvZ3Jlc3MpLnBpcGUoXG4gICAgICBtYXAobGF0ZXN0VHJhbnNmZXJTdGF0ZXMgPT4gRGF0YVRyYW5zZmVyUHJvZ3Jlc3NBZ2dyZWdhdGUuYWdncmVnYXRlKGxhdGVzdFRyYW5zZmVyU3RhdGVzKSlcbiAgICApO1xuICB9XG5cbn1cbiJdfQ==
@@ -35,13 +35,13 @@ export class HttpDataTransferIndicatorComponent {
35
35
  }
36
36
  }
37
37
  HttpDataTransferIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: HttpDataTransferIndicatorComponent, deps: [{ token: i1.ElderDataTransferService }], target: i0.ɵɵFactoryTarget.Component });
38
- HttpDataTransferIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: HttpDataTransferIndicatorComponent, selector: "elder-data-transfer-indicator", inputs: { activeColor: "activeColor", inactiveColor: "inactiveColor" }, ngImport: i0, template: "\n<ng-container *ngIf=\"aggregate$ | async as aggregate\">\n\n <button mat-icon-button type=\"button\"\n class=\"layout-row place-center-center\"\n [elderOverlayTrigger]=\"overlay\">\n\n <mat-icon *ngIf=\"aggregate.inTransfer == 0\" [color]=\"inactiveColor\">cloud_upload</mat-icon>\n\n <mat-progress-spinner\n *ngIf=\"aggregate.inTransfer > 0\"\n [matBadge]=\"aggregate.inTransfer\"\n matBadgePosition=\"above after\"\n matBadgeSize=\"small\"\n [matBadgeColor]=\"activeColor\"\n [color]=\"activeColor\"\n [strokeWidth]=\"3\"\n [diameter]=\"38\"\n [value]=\"aggregate.percentDone\"\n mode=\"determinate\"\n >\n </mat-progress-spinner>\n\n </button>\n</ng-container>\n\n<elder-overlay #overlay=\"elderOverlay\" originX=\"center\" overlayX=\"center\">\n <elder-data-transfer-overview class=\"panel\">\n </elder-data-transfer-overview>\n</elder-overlay>\n\n", styles: [".panel{width:380px;height:350px;background-color:#fff;border-radius:5px;overflow:hidden;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i5.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i6.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i7.ElderOverlayComponent, selector: "elder-overlay", inputs: ["originX", "originY", "overlayX", "overlayY", "offsetY", "offsetX", "backdrop", "backdropVisible", "origin", "positionStrategy", "overlaySize"], outputs: ["keydownEvents", "attachedChange"], exportAs: ["elderOverlay"] }, { kind: "directive", type: i8.ElderOverlayTriggerDirective, selector: "[elderOverlayTrigger]", inputs: ["elderOverlayTrigger", "elderOverlayTriggerType", "elderOverlayTriggerEnabled"] }, { kind: "component", type: i9.HttpDataTransferOverviewComponent, selector: "elder-data-transfer-overview" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
38
+ HttpDataTransferIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: HttpDataTransferIndicatorComponent, selector: "elder-data-transfer-indicator", inputs: { activeColor: "activeColor", inactiveColor: "inactiveColor" }, ngImport: i0, template: "\n<ng-container *ngIf=\"aggregate$ | async as aggregate\">\n <button mat-icon-button type=\"button\"\n class=\"layout-row place-center-center\"\n [elderOverlayTrigger]=\"overlay\">\n <mat-icon *ngIf=\"aggregate.inTransfer == 0\" [color]=\"inactiveColor\">cloud_upload</mat-icon>\n <mat-progress-spinner\n *ngIf=\"aggregate.inTransfer > 0\"\n [matBadge]=\"aggregate.inTransfer\"\n matBadgePosition=\"above after\"\n matBadgeSize=\"small\"\n [matBadgeColor]=\"activeColor\"\n [color]=\"activeColor\"\n [strokeWidth]=\"3\"\n [diameter]=\"24\"\n [value]=\"aggregate.percentDone\"\n mode=\"determinate\"\n >\n </mat-progress-spinner>\n </button>\n</ng-container>\n\n<elder-overlay #overlay=\"elderOverlay\" originX=\"center\" overlayX=\"center\">\n <elder-data-transfer-overview class=\"panel\">\n </elder-data-transfer-overview>\n</elder-overlay>\n\n", styles: [".panel{width:380px;height:350px;border-radius:4px;overflow:hidden;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i5.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i6.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i7.ElderOverlayComponent, selector: "elder-overlay", inputs: ["originX", "originY", "overlayX", "overlayY", "offsetY", "offsetX", "backdrop", "backdropVisible", "origin", "positionStrategy", "overlaySize"], outputs: ["keydownEvents", "attachedChange"], exportAs: ["elderOverlay"] }, { kind: "directive", type: i8.ElderOverlayTriggerDirective, selector: "[elderOverlayTrigger]", inputs: ["elderOverlayTrigger", "elderOverlayTriggerType", "elderOverlayTriggerEnabled"] }, { kind: "component", type: i9.HttpDataTransferOverviewComponent, selector: "elder-data-transfer-overview" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
39
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: HttpDataTransferIndicatorComponent, decorators: [{
40
40
  type: Component,
41
- args: [{ selector: 'elder-data-transfer-indicator', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<ng-container *ngIf=\"aggregate$ | async as aggregate\">\n\n <button mat-icon-button type=\"button\"\n class=\"layout-row place-center-center\"\n [elderOverlayTrigger]=\"overlay\">\n\n <mat-icon *ngIf=\"aggregate.inTransfer == 0\" [color]=\"inactiveColor\">cloud_upload</mat-icon>\n\n <mat-progress-spinner\n *ngIf=\"aggregate.inTransfer > 0\"\n [matBadge]=\"aggregate.inTransfer\"\n matBadgePosition=\"above after\"\n matBadgeSize=\"small\"\n [matBadgeColor]=\"activeColor\"\n [color]=\"activeColor\"\n [strokeWidth]=\"3\"\n [diameter]=\"38\"\n [value]=\"aggregate.percentDone\"\n mode=\"determinate\"\n >\n </mat-progress-spinner>\n\n </button>\n</ng-container>\n\n<elder-overlay #overlay=\"elderOverlay\" originX=\"center\" overlayX=\"center\">\n <elder-data-transfer-overview class=\"panel\">\n </elder-data-transfer-overview>\n</elder-overlay>\n\n", styles: [".panel{width:380px;height:350px;background-color:#fff;border-radius:5px;overflow:hidden;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}\n"] }]
41
+ args: [{ selector: 'elder-data-transfer-indicator', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<ng-container *ngIf=\"aggregate$ | async as aggregate\">\n <button mat-icon-button type=\"button\"\n class=\"layout-row place-center-center\"\n [elderOverlayTrigger]=\"overlay\">\n <mat-icon *ngIf=\"aggregate.inTransfer == 0\" [color]=\"inactiveColor\">cloud_upload</mat-icon>\n <mat-progress-spinner\n *ngIf=\"aggregate.inTransfer > 0\"\n [matBadge]=\"aggregate.inTransfer\"\n matBadgePosition=\"above after\"\n matBadgeSize=\"small\"\n [matBadgeColor]=\"activeColor\"\n [color]=\"activeColor\"\n [strokeWidth]=\"3\"\n [diameter]=\"24\"\n [value]=\"aggregate.percentDone\"\n mode=\"determinate\"\n >\n </mat-progress-spinner>\n </button>\n</ng-container>\n\n<elder-overlay #overlay=\"elderOverlay\" originX=\"center\" overlayX=\"center\">\n <elder-data-transfer-overview class=\"panel\">\n </elder-data-transfer-overview>\n</elder-overlay>\n\n", styles: [".panel{width:380px;height:350px;border-radius:4px;overflow:hidden;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}\n"] }]
42
42
  }], ctorParameters: function () { return [{ type: i1.ElderDataTransferService }]; }, propDecorators: { activeColor: [{
43
43
  type: Input
44
44
  }], inactiveColor: [{
45
45
  type: Input
46
46
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1kYXRhLXRyYW5zZmVyLWluZGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdHJhbnNmZXIvaHR0cC1kYXRhLXRyYW5zZmVyLWluZGljYXRvci9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yL2h0dHAtZGF0YS10cmFuc2Zlci1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUVOLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7OztBQVl2QixNQUFNLE9BQU8sa0NBQWtDO0lBZ0I3Qzs7OztnRkFJNEU7SUFFNUUsWUFDVSxlQUF5QztRQUF6QyxvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFyQm5EOzs7O29GQUk0RTtRQUdyRSxnQkFBVyxHQUFpQixTQUFTLENBQUM7UUFHdEMsa0JBQWEsR0FBaUIsU0FBUyxDQUFDO0lBWTNDLENBQUM7SUFFTDs7OztnRkFJNEU7SUFFckUsUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQztJQUMzRCxDQUFDOzsrSEFsQ1Usa0NBQWtDO21IQUFsQyxrQ0FBa0MsNklDakIvQyw0NkJBK0JBOzJGRGRhLGtDQUFrQztrQkFOOUMsU0FBUzsrQkFDRSwrQkFBK0IsbUJBR3hCLHVCQUF1QixDQUFDLE1BQU07K0dBV3hDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBSUMsYUFBYTtzQkFEbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtFbGRlckRhdGFUcmFuc2ZlclNlcnZpY2V9IGZyb20gJy4uL2VsZGVyLWRhdGEtdHJhbnNmZXIuc2VydmljZSc7XG5pbXBvcnQge0RhdGFUcmFuc2ZlclByb2dyZXNzQWdncmVnYXRlfSBmcm9tICcuLi8uLi8uLi9jb21tb24vaHR0cC90cmFuc2Zlci9kYXRhLXRyYW5zZmVyLXByb2dyZXNzLWFnZ3JlZ2F0ZSc7XG5pbXBvcnQge1RoZW1lUGFsZXR0ZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2h0dHAtZGF0YS10cmFuc2Zlci1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEh0dHBEYXRhVHJhbnNmZXJJbmRpY2F0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhY3RpdmVDb2xvcjogVGhlbWVQYWxldHRlID0gdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbmFjdGl2ZUNvbG9yOiBUaGVtZVBhbGV0dGUgPSB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGFnZ3JlZ2F0ZSQ6IE9ic2VydmFibGU8RGF0YVRyYW5zZmVyUHJvZ3Jlc3NBZ2dyZWdhdGU+O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdHJhbnNmZXJTZXJ2aWNlOiBFbGRlckRhdGFUcmFuc2ZlclNlcnZpY2UsXG4gICkgeyB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYWdncmVnYXRlJCA9IHRoaXMudHJhbnNmZXJTZXJ2aWNlLnRyYW5zZmVyQWdncmVnYXRlO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxufVxuIiwiXG48bmctY29udGFpbmVyICpuZ0lmPVwiYWdncmVnYXRlJCB8IGFzeW5jIGFzIGFnZ3JlZ2F0ZVwiPlxuXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1jZW50ZXItY2VudGVyXCJcbiAgICAgICAgICBbZWxkZXJPdmVybGF5VHJpZ2dlcl09XCJvdmVybGF5XCI+XG5cbiAgICA8bWF0LWljb24gKm5nSWY9XCJhZ2dyZWdhdGUuaW5UcmFuc2ZlciA9PSAwXCIgW2NvbG9yXT1cImluYWN0aXZlQ29sb3JcIj5jbG91ZF91cGxvYWQ8L21hdC1pY29uPlxuXG4gICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyXG4gICAgICAqbmdJZj1cImFnZ3JlZ2F0ZS5pblRyYW5zZmVyID4gMFwiXG4gICAgICBbbWF0QmFkZ2VdPVwiYWdncmVnYXRlLmluVHJhbnNmZXJcIlxuICAgICAgbWF0QmFkZ2VQb3NpdGlvbj1cImFib3ZlIGFmdGVyXCJcbiAgICAgIG1hdEJhZGdlU2l6ZT1cInNtYWxsXCJcbiAgICAgIFttYXRCYWRnZUNvbG9yXT1cImFjdGl2ZUNvbG9yXCJcbiAgICAgIFtjb2xvcl09XCJhY3RpdmVDb2xvclwiXG4gICAgICBbc3Ryb2tlV2lkdGhdPVwiM1wiXG4gICAgICBbZGlhbWV0ZXJdPVwiMzhcIlxuICAgICAgW3ZhbHVlXT1cImFnZ3JlZ2F0ZS5wZXJjZW50RG9uZVwiXG4gICAgICBtb2RlPVwiZGV0ZXJtaW5hdGVcIlxuICAgID5cbiAgICA8L21hdC1wcm9ncmVzcy1zcGlubmVyPlxuXG4gIDwvYnV0dG9uPlxuPC9uZy1jb250YWluZXI+XG5cbjxlbGRlci1vdmVybGF5ICNvdmVybGF5PVwiZWxkZXJPdmVybGF5XCIgb3JpZ2luWD1cImNlbnRlclwiIG92ZXJsYXlYPVwiY2VudGVyXCI+XG4gIDxlbGRlci1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3IGNsYXNzPVwicGFuZWxcIj5cbiAgPC9lbGRlci1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3PlxuPC9lbGRlci1vdmVybGF5PlxuXG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1kYXRhLXRyYW5zZmVyLWluZGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdHJhbnNmZXIvaHR0cC1kYXRhLXRyYW5zZmVyLWluZGljYXRvci9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yL2h0dHAtZGF0YS10cmFuc2Zlci1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUVOLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7OztBQVl2QixNQUFNLE9BQU8sa0NBQWtDO0lBZ0I3Qzs7OztnRkFJNEU7SUFFNUUsWUFDVSxlQUF5QztRQUF6QyxvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFyQm5EOzs7O29GQUk0RTtRQUdyRSxnQkFBVyxHQUFpQixTQUFTLENBQUM7UUFHdEMsa0JBQWEsR0FBaUIsU0FBUyxDQUFDO0lBWTNDLENBQUM7SUFFTDs7OztnRkFJNEU7SUFFckUsUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQztJQUMzRCxDQUFDOzsrSEFsQ1Usa0NBQWtDO21IQUFsQyxrQ0FBa0MsNklDakIvQyxvNkJBMkJBOzJGRFZhLGtDQUFrQztrQkFOOUMsU0FBUzsrQkFDRSwrQkFBK0IsbUJBR3hCLHVCQUF1QixDQUFDLE1BQU07K0dBV3hDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBSUMsYUFBYTtzQkFEbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtFbGRlckRhdGFUcmFuc2ZlclNlcnZpY2V9IGZyb20gJy4uL2VsZGVyLWRhdGEtdHJhbnNmZXIuc2VydmljZSc7XG5pbXBvcnQge0RhdGFUcmFuc2ZlclByb2dyZXNzQWdncmVnYXRlfSBmcm9tICcuLi8uLi8uLi9jb21tb24vaHR0cC90cmFuc2Zlci9kYXRhLXRyYW5zZmVyLXByb2dyZXNzLWFnZ3JlZ2F0ZSc7XG5pbXBvcnQge1RoZW1lUGFsZXR0ZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2h0dHAtZGF0YS10cmFuc2Zlci1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEh0dHBEYXRhVHJhbnNmZXJJbmRpY2F0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhY3RpdmVDb2xvcjogVGhlbWVQYWxldHRlID0gdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbmFjdGl2ZUNvbG9yOiBUaGVtZVBhbGV0dGUgPSB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGFnZ3JlZ2F0ZSQ6IE9ic2VydmFibGU8RGF0YVRyYW5zZmVyUHJvZ3Jlc3NBZ2dyZWdhdGU+O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdHJhbnNmZXJTZXJ2aWNlOiBFbGRlckRhdGFUcmFuc2ZlclNlcnZpY2UsXG4gICkgeyB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYWdncmVnYXRlJCA9IHRoaXMudHJhbnNmZXJTZXJ2aWNlLnRyYW5zZmVyQWdncmVnYXRlO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxufVxuIiwiXG48bmctY29udGFpbmVyICpuZ0lmPVwiYWdncmVnYXRlJCB8IGFzeW5jIGFzIGFnZ3JlZ2F0ZVwiPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImxheW91dC1yb3cgcGxhY2UtY2VudGVyLWNlbnRlclwiXG4gICAgICAgICAgW2VsZGVyT3ZlcmxheVRyaWdnZXJdPVwib3ZlcmxheVwiPlxuICAgIDxtYXQtaWNvbiAqbmdJZj1cImFnZ3JlZ2F0ZS5pblRyYW5zZmVyID09IDBcIiBbY29sb3JdPVwiaW5hY3RpdmVDb2xvclwiPmNsb3VkX3VwbG9hZDwvbWF0LWljb24+XG4gICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyXG4gICAgICAqbmdJZj1cImFnZ3JlZ2F0ZS5pblRyYW5zZmVyID4gMFwiXG4gICAgICBbbWF0QmFkZ2VdPVwiYWdncmVnYXRlLmluVHJhbnNmZXJcIlxuICAgICAgbWF0QmFkZ2VQb3NpdGlvbj1cImFib3ZlIGFmdGVyXCJcbiAgICAgIG1hdEJhZGdlU2l6ZT1cInNtYWxsXCJcbiAgICAgIFttYXRCYWRnZUNvbG9yXT1cImFjdGl2ZUNvbG9yXCJcbiAgICAgIFtjb2xvcl09XCJhY3RpdmVDb2xvclwiXG4gICAgICBbc3Ryb2tlV2lkdGhdPVwiM1wiXG4gICAgICBbZGlhbWV0ZXJdPVwiMjRcIlxuICAgICAgW3ZhbHVlXT1cImFnZ3JlZ2F0ZS5wZXJjZW50RG9uZVwiXG4gICAgICBtb2RlPVwiZGV0ZXJtaW5hdGVcIlxuICAgID5cbiAgICA8L21hdC1wcm9ncmVzcy1zcGlubmVyPlxuICA8L2J1dHRvbj5cbjwvbmctY29udGFpbmVyPlxuXG48ZWxkZXItb3ZlcmxheSAjb3ZlcmxheT1cImVsZGVyT3ZlcmxheVwiIG9yaWdpblg9XCJjZW50ZXJcIiBvdmVybGF5WD1cImNlbnRlclwiPlxuICA8ZWxkZXItZGF0YS10cmFuc2Zlci1vdmVydmlldyBjbGFzcz1cInBhbmVsXCI+XG4gIDwvZWxkZXItZGF0YS10cmFuc2Zlci1vdmVydmlldz5cbjwvZWxkZXItb3ZlcmxheT5cblxuIl19
@@ -3,8 +3,9 @@ import * as i0 from "@angular/core";
3
3
  import * as i1 from "../elder-data-transfer.service";
4
4
  import * as i2 from "@angular/common";
5
5
  import * as i3 from "@angular/material/toolbar";
6
- import * as i4 from "../http-data-transfer/http-data-transfer.component";
7
- import * as i5 from "../http-data-transfer-aggregate/http-data-transfer-aggregate.component";
6
+ import * as i4 from "@angular/material/card";
7
+ import * as i5 from "../http-data-transfer/http-data-transfer.component";
8
+ import * as i6 from "../http-data-transfer-aggregate/http-data-transfer-aggregate.component";
8
9
  export class HttpDataTransferOverviewComponent {
9
10
  /***************************************************************************
10
11
  * *
@@ -24,9 +25,9 @@ export class HttpDataTransferOverviewComponent {
24
25
  }
25
26
  }
26
27
  HttpDataTransferOverviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: HttpDataTransferOverviewComponent, deps: [{ token: i1.ElderDataTransferService }], target: i0.ɵɵFactoryTarget.Component });
27
- HttpDataTransferOverviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: HttpDataTransferOverviewComponent, selector: "elder-data-transfer-overview", ngImport: i0, template: "<div class=\"layout-col full\">\n\n <div class=\"layout-col flex\" *ngIf=\"transfers$ | async as transfers\">\n\n <div *ngIf=\"transfers.length > 0 else noData\" class=\"layout-col flex scroll-list\">\n <elder-data-transfer class=\"flex-none\"\n *ngFor=\"let transfer of transfers\"\n [transfer]=\"transfer\">\n </elder-data-transfer>\n </div>\n\n <ng-template #noData>\n <div class=\"layout-col place-center-center flex\">\n <span class=\"mat-subtitle-2 noselect\" style=\"color: gray\">No data transfers.</span>\n </div>\n </ng-template>\n\n </div>\n\n\n <mat-toolbar class=\"flex-none mat-elevation-z5\">\n <elder-data-transfer-aggregate class=\"flex\" [hiddenWhenInactive]=\"false\"></elder-data-transfer-aggregate>\n </mat-toolbar>\n</div>\n", styles: [":host{min-width:0;min-height:0}.scroll-list{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.scroll-fix{min-width:0;min-height:0}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i4.HttpDataTransferComponent, selector: "elder-data-transfer", inputs: ["transfer"] }, { kind: "component", type: i5.HttpDataTransferAggregateComponent, selector: "elder-data-transfer-aggregate", inputs: ["hiddenWhenInactive"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
28
+ HttpDataTransferOverviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: HttpDataTransferOverviewComponent, selector: "elder-data-transfer-overview", ngImport: i0, template: "<mat-card appearance=\"raised\" class=\"layout-col full\">\n\n <div class=\"layout-col flex\" *ngIf=\"transfers$ | async as transfers\">\n\n <div *ngIf=\"transfers.length > 0 else noData\" class=\"layout-col flex scroll-list\">\n <elder-data-transfer class=\"flex-none\"\n *ngFor=\"let transfer of transfers\"\n [transfer]=\"transfer\">\n </elder-data-transfer>\n </div>\n\n <ng-template #noData>\n <div class=\"layout-col place-center-center flex\">\n <span class=\"mat-subtitle-2 noselect\" style=\"color: gray\">No data transfers.</span>\n </div>\n </ng-template>\n\n </div>\n\n\n <mat-toolbar class=\"flex-none mat-elevation-z5\">\n <elder-data-transfer-aggregate class=\"flex\" [hiddenWhenInactive]=\"false\"></elder-data-transfer-aggregate>\n </mat-toolbar>\n</mat-card>\n", styles: [":host{min-width:0;min-height:0}.scroll-list{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.scroll-fix{min-width:0;min-height:0}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i5.HttpDataTransferComponent, selector: "elder-data-transfer", inputs: ["transfer"] }, { kind: "component", type: i6.HttpDataTransferAggregateComponent, selector: "elder-data-transfer-aggregate", inputs: ["hiddenWhenInactive"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
28
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: HttpDataTransferOverviewComponent, decorators: [{
29
30
  type: Component,
30
- args: [{ selector: 'elder-data-transfer-overview', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-col full\">\n\n <div class=\"layout-col flex\" *ngIf=\"transfers$ | async as transfers\">\n\n <div *ngIf=\"transfers.length > 0 else noData\" class=\"layout-col flex scroll-list\">\n <elder-data-transfer class=\"flex-none\"\n *ngFor=\"let transfer of transfers\"\n [transfer]=\"transfer\">\n </elder-data-transfer>\n </div>\n\n <ng-template #noData>\n <div class=\"layout-col place-center-center flex\">\n <span class=\"mat-subtitle-2 noselect\" style=\"color: gray\">No data transfers.</span>\n </div>\n </ng-template>\n\n </div>\n\n\n <mat-toolbar class=\"flex-none mat-elevation-z5\">\n <elder-data-transfer-aggregate class=\"flex\" [hiddenWhenInactive]=\"false\"></elder-data-transfer-aggregate>\n </mat-toolbar>\n</div>\n", styles: [":host{min-width:0;min-height:0}.scroll-list{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.scroll-fix{min-width:0;min-height:0}\n"] }]
31
+ args: [{ selector: 'elder-data-transfer-overview', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-card appearance=\"raised\" class=\"layout-col full\">\n\n <div class=\"layout-col flex\" *ngIf=\"transfers$ | async as transfers\">\n\n <div *ngIf=\"transfers.length > 0 else noData\" class=\"layout-col flex scroll-list\">\n <elder-data-transfer class=\"flex-none\"\n *ngFor=\"let transfer of transfers\"\n [transfer]=\"transfer\">\n </elder-data-transfer>\n </div>\n\n <ng-template #noData>\n <div class=\"layout-col place-center-center flex\">\n <span class=\"mat-subtitle-2 noselect\" style=\"color: gray\">No data transfers.</span>\n </div>\n </ng-template>\n\n </div>\n\n\n <mat-toolbar class=\"flex-none mat-elevation-z5\">\n <elder-data-transfer-aggregate class=\"flex\" [hiddenWhenInactive]=\"false\"></elder-data-transfer-aggregate>\n </mat-toolbar>\n</mat-card>\n", styles: [":host{min-width:0;min-height:0}.scroll-list{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.scroll-fix{min-width:0;min-height:0}\n"] }]
31
32
  }], ctorParameters: function () { return [{ type: i1.ElderDataTransferService }]; } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcvaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcvaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFXekUsTUFBTSxPQUFPLGlDQUFpQztJQVU1Qzs7OztnRkFJNEU7SUFFNUUsWUFDVSxlQUF5QztRQUF6QyxvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7SUFDL0MsQ0FBQztJQUVMOzs7O2dGQUk0RTtJQUVyRSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBSSxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQztJQUNwRCxDQUFDOzs4SEE1QlUsaUNBQWlDO2tIQUFqQyxpQ0FBaUMsb0VDWDlDLDAwQkF3QkE7MkZEYmEsaUNBQWlDO2tCQU43QyxTQUFTOytCQUNFLDhCQUE4QixtQkFHdkIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0VsZGVyRGF0YVRyYW5zZmVyU2VydmljZX0gZnJvbSAnLi4vZWxkZXItZGF0YS10cmFuc2Zlci5zZXJ2aWNlJztcbmltcG9ydCB7SHR0cERhdGFUcmFuc2Zlcn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2h0dHAvdHJhbnNmZXIvaHR0cC1kYXRhLXRyYW5zZmVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItZGF0YS10cmFuc2Zlci1vdmVydmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9odHRwLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9odHRwLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgSHR0cERhdGFUcmFuc2Zlck92ZXJ2aWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgdHJhbnNmZXJzJDogT2JzZXJ2YWJsZTxIdHRwRGF0YVRyYW5zZmVyW10+O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdHJhbnNmZXJTZXJ2aWNlOiBFbGRlckRhdGFUcmFuc2ZlclNlcnZpY2VcbiAgKSB7IH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2ZlcnMkID0gIHRoaXMudHJhbnNmZXJTZXJ2aWNlLnRyYW5zZmVycztcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImxheW91dC1jb2wgZnVsbFwiPlxuXG4gIDxkaXYgY2xhc3M9XCJsYXlvdXQtY29sIGZsZXhcIiAqbmdJZj1cInRyYW5zZmVycyQgfCBhc3luYyBhcyB0cmFuc2ZlcnNcIj5cblxuICAgIDxkaXYgKm5nSWY9XCJ0cmFuc2ZlcnMubGVuZ3RoID4gMCBlbHNlIG5vRGF0YVwiIGNsYXNzPVwibGF5b3V0LWNvbCBmbGV4IHNjcm9sbC1saXN0XCI+XG4gICAgICA8ZWxkZXItZGF0YS10cmFuc2ZlciBjbGFzcz1cImZsZXgtbm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHRyYW5zZmVyIG9mIHRyYW5zZmVyc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zZmVyXT1cInRyYW5zZmVyXCI+XG4gICAgICA8L2VsZGVyLWRhdGEtdHJhbnNmZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctdGVtcGxhdGUgI25vRGF0YT5cbiAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtY29sIHBsYWNlLWNlbnRlci1jZW50ZXIgZmxleFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1zdWJ0aXRsZS0yIG5vc2VsZWN0XCIgc3R5bGU9XCJjb2xvcjogZ3JheVwiPk5vIGRhdGEgdHJhbnNmZXJzLjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgPC9kaXY+XG5cblxuICA8bWF0LXRvb2xiYXIgY2xhc3M9XCJmbGV4LW5vbmUgbWF0LWVsZXZhdGlvbi16NVwiPlxuICAgIDxlbGRlci1kYXRhLXRyYW5zZmVyLWFnZ3JlZ2F0ZSBjbGFzcz1cImZsZXhcIiBbaGlkZGVuV2hlbkluYWN0aXZlXT1cImZhbHNlXCI+PC9lbGRlci1kYXRhLXRyYW5zZmVyLWFnZ3JlZ2F0ZT5cbiAgPC9tYXQtdG9vbGJhcj5cbjwvZGl2PlxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcvaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcvaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBV3pFLE1BQU0sT0FBTyxpQ0FBaUM7SUFVNUM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ1UsZUFBeUM7UUFBekMsb0JBQWUsR0FBZixlQUFlLENBQTBCO0lBQy9DLENBQUM7SUFFTDs7OztnRkFJNEU7SUFFckUsUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLEdBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUM7SUFDcEQsQ0FBQzs7OEhBNUJVLGlDQUFpQztrSEFBakMsaUNBQWlDLG9FQ1g5QywwMkJBd0JBOzJGRGJhLGlDQUFpQztrQkFON0MsU0FBUzsrQkFDRSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtFbGRlckRhdGFUcmFuc2ZlclNlcnZpY2V9IGZyb20gJy4uL2VsZGVyLWRhdGEtdHJhbnNmZXIuc2VydmljZSc7XG5pbXBvcnQge0h0dHBEYXRhVHJhbnNmZXJ9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9odHRwL3RyYW5zZmVyL2h0dHAtZGF0YS10cmFuc2Zlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEh0dHBEYXRhVHJhbnNmZXJPdmVydmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHRyYW5zZmVycyQ6IE9ic2VydmFibGU8SHR0cERhdGFUcmFuc2ZlcltdPjtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRyYW5zZmVyU2VydmljZTogRWxkZXJEYXRhVHJhbnNmZXJTZXJ2aWNlXG4gICkgeyB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNmZXJzJCA9ICB0aGlzLnRyYW5zZmVyU2VydmljZS50cmFuc2ZlcnM7XG4gIH1cbn1cbiIsIjxtYXQtY2FyZCBhcHBlYXJhbmNlPVwicmFpc2VkXCIgY2xhc3M9XCJsYXlvdXQtY29sIGZ1bGxcIj5cblxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBmbGV4XCIgKm5nSWY9XCJ0cmFuc2ZlcnMkIHwgYXN5bmMgYXMgdHJhbnNmZXJzXCI+XG5cbiAgICA8ZGl2ICpuZ0lmPVwidHJhbnNmZXJzLmxlbmd0aCA+IDAgZWxzZSBub0RhdGFcIiBjbGFzcz1cImxheW91dC1jb2wgZmxleCBzY3JvbGwtbGlzdFwiPlxuICAgICAgPGVsZGVyLWRhdGEtdHJhbnNmZXIgY2xhc3M9XCJmbGV4LW5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0cmFuc2ZlciBvZiB0cmFuc2ZlcnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2Zlcl09XCJ0cmFuc2ZlclwiPlxuICAgICAgPC9lbGRlci1kYXRhLXRyYW5zZmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLXRlbXBsYXRlICNub0RhdGE+XG4gICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBwbGFjZS1jZW50ZXItY2VudGVyIGZsZXhcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtc3VidGl0bGUtMiBub3NlbGVjdFwiIHN0eWxlPVwiY29sb3I6IGdyYXlcIj5ObyBkYXRhIHRyYW5zZmVycy48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gIDwvZGl2PlxuXG5cbiAgPG1hdC10b29sYmFyIGNsYXNzPVwiZmxleC1ub25lIG1hdC1lbGV2YXRpb24tejVcIj5cbiAgICA8ZWxkZXItZGF0YS10cmFuc2Zlci1hZ2dyZWdhdGUgY2xhc3M9XCJmbGV4XCIgW2hpZGRlbldoZW5JbmFjdGl2ZV09XCJmYWxzZVwiPjwvZWxkZXItZGF0YS10cmFuc2Zlci1hZ2dyZWdhdGU+XG4gIDwvbWF0LXRvb2xiYXI+XG48L21hdC1jYXJkPlxuIl19