@agorapulse/ui-components 15.1.1 → 15.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agorapulse-ui-components-15.1.3.tgz +0 -0
- package/avatar/avatar.component.d.ts +41 -31
- package/esm2020/avatar/avatar.component.mjs +177 -117
- package/esm2020/index.mjs +2 -1
- package/esm2020/paginator/paginator-button/paginator-button.component.mjs +2 -2
- package/esm2020/paginator/paginator.component.mjs +92 -29
- package/esm2020/radio/agorapulse-ui-components-radio.mjs +5 -0
- package/esm2020/radio/public_api.mjs +3 -0
- package/esm2020/radio/radio-control.registry.mjs +104 -0
- package/esm2020/radio/radio.component.mjs +199 -0
- package/esm2020/stepper/step.model.mjs +1 -1
- package/esm2020/stepper/stepper.component.mjs +4 -4
- package/fesm2015/agorapulse-ui-components-avatar.mjs +176 -117
- package/fesm2015/agorapulse-ui-components-avatar.mjs.map +1 -1
- package/fesm2015/agorapulse-ui-components-paginator.mjs +93 -30
- package/fesm2015/agorapulse-ui-components-paginator.mjs.map +1 -1
- package/fesm2015/agorapulse-ui-components-radio.mjs +306 -0
- package/fesm2015/agorapulse-ui-components-radio.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components-stepper.mjs +3 -3
- package/fesm2015/agorapulse-ui-components-stepper.mjs.map +1 -1
- package/fesm2015/agorapulse-ui-components.mjs +1 -0
- package/fesm2015/agorapulse-ui-components.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-avatar.mjs +176 -116
- package/fesm2020/agorapulse-ui-components-avatar.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-paginator.mjs +93 -30
- package/fesm2020/agorapulse-ui-components-paginator.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-radio.mjs +305 -0
- package/fesm2020/agorapulse-ui-components-radio.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components-stepper.mjs +3 -3
- package/fesm2020/agorapulse-ui-components-stepper.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components.mjs +1 -0
- package/fesm2020/agorapulse-ui-components.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/package.json +9 -1
- package/paginator/paginator.component.d.ts +26 -8
- package/radio/index.d.ts +5 -0
- package/radio/public_api.d.ts +2 -0
- package/radio/radio-control.registry.d.ts +22 -0
- package/radio/radio.component.d.ts +57 -0
- package/snackbars-thread/component/snackbars-thread.component.d.ts +1 -1
- package/stepper/step.model.d.ts +1 -0
- package/stepper/stepper.component.d.ts +2 -2
- package/agorapulse-ui-components-15.1.1.tgz +0 -0
|
Binary file
|
|
@@ -1,35 +1,45 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { SymbolRegistry } from '@agorapulse/ui-symbol';
|
|
2
|
+
import { ElementRef, OnInit } from '@angular/core';
|
|
3
|
+
import { BehaviorSubject, Observable } from 'rxjs';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
|
-
export
|
|
5
|
+
export type AvatarSize = 56 | 48 | 40 | 36 | 32 | 24 | 16;
|
|
6
|
+
export type AvatarNetwork = 'facebook' | 'instagram' | 'twitter' | 'linkedin' | 'tiktok' | 'youtube' | 'pinterest' | 'googleMyBusiness';
|
|
7
|
+
export declare class AvatarComponent implements OnInit {
|
|
5
8
|
private symbolRegistry;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
rounded
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
9
|
+
private elementRef;
|
|
10
|
+
readonly networkSymbolByNetwork: Record<AvatarNetwork, string>;
|
|
11
|
+
size$: BehaviorSubject<AvatarSize>;
|
|
12
|
+
profilePicture$: BehaviorSubject<string | undefined>;
|
|
13
|
+
network$: BehaviorSubject<AvatarNetwork>;
|
|
14
|
+
private alternativeText$;
|
|
15
|
+
private anonymous$;
|
|
16
|
+
private username$;
|
|
17
|
+
private online$;
|
|
18
|
+
private showInitials$;
|
|
19
|
+
private rounded$;
|
|
20
|
+
set alternativeText(alternativeText: string);
|
|
21
|
+
set anonymous(anonymous: boolean);
|
|
22
|
+
set username(username: string);
|
|
23
|
+
set network(network: AvatarNetwork);
|
|
24
|
+
set online(online: boolean);
|
|
25
|
+
set profilePicture(profilePicture: string | undefined);
|
|
26
|
+
set showInitials(showInitials: boolean);
|
|
27
|
+
alt: string;
|
|
28
|
+
roundedAvatar: boolean;
|
|
29
|
+
set rounded(rounded: boolean);
|
|
30
|
+
set size(size: AvatarSize);
|
|
31
|
+
displayProfilePicture$: Observable<boolean>;
|
|
32
|
+
displaySingleNeutralSvg$: Observable<boolean>;
|
|
33
|
+
displayInitials$: Observable<boolean>;
|
|
34
|
+
displayAnonymous$: Observable<boolean>;
|
|
35
|
+
displayNetwork$: Observable<boolean>;
|
|
36
|
+
displayOnline$: Observable<boolean>;
|
|
37
|
+
imageError$: BehaviorSubject<boolean>;
|
|
38
|
+
initials$: Observable<string>;
|
|
39
|
+
initialsAvailable$: Observable<boolean>;
|
|
40
|
+
constructor(symbolRegistry: SymbolRegistry, elementRef: ElementRef);
|
|
41
|
+
ngOnInit(): void;
|
|
42
|
+
onImageError(): void;
|
|
33
43
|
static ɵfac: i0.ɵɵFactoryDeclaration<AvatarComponent, never>;
|
|
34
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AvatarComponent, "ap-avatar", never, { "
|
|
44
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AvatarComponent, "ap-avatar", never, { "alternativeText": "alternativeText"; "anonymous": "anonymous"; "username": "username"; "network": "network"; "online": "online"; "profilePicture": "profilePicture"; "showInitials": "showInitials"; "alt": "alt"; "rounded": "rounded"; "size": "size"; }, {}, never, never, true, never>;
|
|
35
45
|
}
|
|
@@ -1,152 +1,212 @@
|
|
|
1
|
-
import { apFacebookOfficial, apGoogleMyBusinessOfficial, apLinkedinOfficial, apSingleNeutral, apTiktokOfficial, apTwitterOfficial, apYoutubeOfficial, apPinterestOfficial, SymbolComponent, } from '@agorapulse/ui-symbol';
|
|
2
|
-
import { NgForOf, NgIf,
|
|
3
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
1
|
+
import { apFacebookOfficial, apGoogleMyBusinessOfficial, apLinkedinOfficial, apShowTheaterMaskHappy, apSingleNeutral, apTiktokOfficial, apTwitterOfficial, apYoutubeOfficial, apPinterestOfficial, SymbolComponent, } from '@agorapulse/ui-symbol';
|
|
2
|
+
import { NgForOf, NgIf, NgOptimizedImage } from '@angular/common';
|
|
3
|
+
import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation, } from '@angular/core';
|
|
4
|
+
import { BehaviorSubject, combineLatest, map, Observable, of } from 'rxjs';
|
|
5
|
+
import { LetModule } from '@ngrx/component';
|
|
4
6
|
import * as i0 from "@angular/core";
|
|
5
7
|
import * as i1 from "@agorapulse/ui-symbol";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
'micro': '12',
|
|
16
|
-
'facebook': '40',
|
|
17
|
-
'linkedin': '40',
|
|
18
|
-
'instagram': '40',
|
|
19
|
-
'youtube': '40',
|
|
20
|
-
'google': '40',
|
|
21
|
-
'tiktok': '56',
|
|
22
|
-
'twitter': '48'
|
|
8
|
+
import * as i2 from "@ngrx/component";
|
|
9
|
+
const onlineIconSizeByAvatarSize = {
|
|
10
|
+
56: 16,
|
|
11
|
+
48: 12,
|
|
12
|
+
40: 12,
|
|
13
|
+
36: 8,
|
|
14
|
+
32: 8,
|
|
15
|
+
24: 6,
|
|
16
|
+
16: 6,
|
|
23
17
|
};
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
'mini-sm': 16,
|
|
33
|
-
micro: 12,
|
|
34
|
-
facebook: 40,
|
|
35
|
-
linkedin: 40,
|
|
36
|
-
instagram: 40,
|
|
37
|
-
youtube: 40,
|
|
38
|
-
google: 40,
|
|
39
|
-
tiktok: 56,
|
|
40
|
-
twitter: 48,
|
|
18
|
+
const symbolSizeByAvatarSize = {
|
|
19
|
+
56: 28,
|
|
20
|
+
48: 24,
|
|
21
|
+
40: 20,
|
|
22
|
+
36: 18,
|
|
23
|
+
32: 16,
|
|
24
|
+
24: 12,
|
|
25
|
+
16: 8,
|
|
41
26
|
};
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
27
|
+
const networkSizeByAvatarSize = {
|
|
28
|
+
56: 16,
|
|
29
|
+
48: 16,
|
|
30
|
+
40: 16,
|
|
31
|
+
36: 16,
|
|
32
|
+
32: 12,
|
|
33
|
+
24: 12,
|
|
34
|
+
16: 8,
|
|
35
|
+
};
|
|
36
|
+
const initialSizeByAvatarSize = {
|
|
37
|
+
56: 28,
|
|
38
|
+
48: 24,
|
|
39
|
+
40: 22,
|
|
40
|
+
36: 18,
|
|
41
|
+
32: 18,
|
|
42
|
+
24: 14,
|
|
43
|
+
16: 10,
|
|
51
44
|
};
|
|
52
45
|
export class AvatarComponent {
|
|
53
|
-
|
|
46
|
+
set alternativeText(alternativeText) {
|
|
47
|
+
this.alternativeText$.next(alternativeText);
|
|
48
|
+
}
|
|
49
|
+
set anonymous(anonymous) {
|
|
50
|
+
this.anonymous$.next(anonymous);
|
|
51
|
+
}
|
|
52
|
+
set username(username) {
|
|
53
|
+
this.username$.next(username);
|
|
54
|
+
}
|
|
55
|
+
set network(network) {
|
|
56
|
+
this.network$.next(network);
|
|
57
|
+
this.elementRef.nativeElement.style.setProperty('--ap-avatar-network-size', `${networkSizeByAvatarSize[this.size$.value]}px`);
|
|
58
|
+
}
|
|
59
|
+
set online(online) {
|
|
60
|
+
this.online$.next(online);
|
|
61
|
+
}
|
|
62
|
+
set profilePicture(profilePicture) {
|
|
63
|
+
this.profilePicture$.next(profilePicture);
|
|
64
|
+
this.imageError$.next(false);
|
|
65
|
+
}
|
|
66
|
+
set showInitials(showInitials) {
|
|
67
|
+
this.showInitials$.next(showInitials);
|
|
68
|
+
}
|
|
69
|
+
set rounded(rounded) {
|
|
70
|
+
this.roundedAvatar = rounded;
|
|
71
|
+
this.rounded$.next(rounded);
|
|
72
|
+
}
|
|
73
|
+
set size(size) {
|
|
74
|
+
this.size$.next(size);
|
|
75
|
+
this.elementRef.nativeElement.style.setProperty('--ap-avatar-size', `${size}px`);
|
|
76
|
+
this.elementRef.nativeElement.style.setProperty('--ap-avatar-symbol-size', `${symbolSizeByAvatarSize[size]}px`);
|
|
77
|
+
this.elementRef.nativeElement.style.setProperty('--ap-avatar-online-icon-size', `${onlineIconSizeByAvatarSize[size]}px`);
|
|
78
|
+
}
|
|
79
|
+
constructor(symbolRegistry, elementRef) {
|
|
54
80
|
this.symbolRegistry = symbolRegistry;
|
|
55
|
-
this.
|
|
56
|
-
this.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
this.
|
|
81
|
+
this.elementRef = elementRef;
|
|
82
|
+
this.networkSymbolByNetwork = {
|
|
83
|
+
facebook: 'facebook-official',
|
|
84
|
+
instagram: 'instagram-official',
|
|
85
|
+
twitter: 'twitter-official',
|
|
86
|
+
linkedin: 'linkedin-official',
|
|
87
|
+
tiktok: 'tiktok-official',
|
|
88
|
+
youtube: 'youtube-official',
|
|
89
|
+
pinterest: 'pinterest-official',
|
|
90
|
+
googleMyBusiness: 'google-my-business-official',
|
|
91
|
+
};
|
|
92
|
+
this.size$ = new BehaviorSubject(40);
|
|
93
|
+
this.profilePicture$ = new BehaviorSubject('');
|
|
94
|
+
this.network$ = new BehaviorSubject('facebook');
|
|
95
|
+
this.alternativeText$ = new BehaviorSubject('');
|
|
96
|
+
this.anonymous$ = new BehaviorSubject(false);
|
|
97
|
+
this.username$ = new BehaviorSubject('');
|
|
98
|
+
this.online$ = new BehaviorSubject(false);
|
|
99
|
+
this.showInitials$ = new BehaviorSubject(false);
|
|
100
|
+
this.rounded$ = new BehaviorSubject(false);
|
|
101
|
+
this.displayProfilePicture$ = new Observable();
|
|
102
|
+
this.displaySingleNeutralSvg$ = new Observable();
|
|
103
|
+
this.displayInitials$ = new Observable();
|
|
104
|
+
this.displayAnonymous$ = new Observable();
|
|
105
|
+
this.displayNetwork$ = new Observable();
|
|
106
|
+
this.displayOnline$ = new Observable();
|
|
107
|
+
this.imageError$ = new BehaviorSubject(false);
|
|
108
|
+
this.initials$ = new Observable();
|
|
109
|
+
this.initialsAvailable$ = of(false);
|
|
67
110
|
this.symbolRegistry.registerSymbols([
|
|
68
111
|
apSingleNeutral,
|
|
112
|
+
apShowTheaterMaskHappy,
|
|
69
113
|
apFacebookOfficial,
|
|
70
114
|
apTwitterOfficial,
|
|
115
|
+
apLinkedinOfficial,
|
|
71
116
|
apYoutubeOfficial,
|
|
72
117
|
apTiktokOfficial,
|
|
73
|
-
apLinkedinOfficial,
|
|
74
118
|
apGoogleMyBusinessOfficial,
|
|
75
|
-
apPinterestOfficial
|
|
119
|
+
apPinterestOfficial,
|
|
76
120
|
]);
|
|
121
|
+
this.elementRef.nativeElement.style.setProperty('--ap-avatar-size', `40px`);
|
|
122
|
+
this.elementRef.nativeElement.style.setProperty('--ap-avatar-symbol-size', `${symbolSizeByAvatarSize[this.size$.value]}px`);
|
|
77
123
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
124
|
+
ngOnInit() {
|
|
125
|
+
this.initialsAvailable$ = this.username$.pipe(map(username => {
|
|
126
|
+
return !!username;
|
|
127
|
+
}));
|
|
128
|
+
this.displayProfilePicture$ = combineLatest([
|
|
129
|
+
this.profilePicture$,
|
|
130
|
+
this.anonymous$,
|
|
131
|
+
this.imageError$,
|
|
132
|
+
this.showInitials$,
|
|
133
|
+
]).pipe(map(([profilePicture, anonymous, imageError]) => {
|
|
134
|
+
return !!profilePicture && !anonymous && !imageError;
|
|
135
|
+
}));
|
|
136
|
+
this.displayInitials$ = combineLatest([
|
|
137
|
+
this.showInitials$,
|
|
138
|
+
this.anonymous$,
|
|
139
|
+
this.initialsAvailable$,
|
|
140
|
+
this.displayProfilePicture$,
|
|
141
|
+
]).pipe(map(([showInitials, anonymous, initialsAvailable, displayProfilePicture]) => {
|
|
142
|
+
return showInitials && !anonymous && initialsAvailable && !displayProfilePicture;
|
|
143
|
+
}));
|
|
144
|
+
this.displaySingleNeutralSvg$ = combineLatest([
|
|
145
|
+
this.profilePicture$,
|
|
146
|
+
this.imageError$,
|
|
147
|
+
this.initialsAvailable$,
|
|
148
|
+
this.showInitials$,
|
|
149
|
+
this.anonymous$,
|
|
150
|
+
this.displayInitials$,
|
|
151
|
+
this.displayProfilePicture$,
|
|
152
|
+
]).pipe(map(([profilePicture, imageError, initialsAvailable, showInitials, anonymous, displayInitials, displayProfilePicture,]) => {
|
|
153
|
+
return ((!profilePicture || imageError || !initialsAvailable || (initialsAvailable && !showInitials)) &&
|
|
154
|
+
!anonymous &&
|
|
155
|
+
!displayInitials &&
|
|
156
|
+
!displayProfilePicture);
|
|
157
|
+
}));
|
|
158
|
+
this.displayAnonymous$ = combineLatest([this.anonymous$, this.rounded$]).pipe(map(([anonymous, rounded]) => {
|
|
159
|
+
return anonymous && rounded;
|
|
160
|
+
}));
|
|
161
|
+
this.displayOnline$ = combineLatest([this.online$, this.rounded$]).pipe(map(([online, rounded]) => {
|
|
162
|
+
return online && rounded;
|
|
163
|
+
}));
|
|
164
|
+
this.displayNetwork$ = combineLatest([this.network$, this.rounded$]).pipe(map(([network, rounded]) => {
|
|
165
|
+
return !!network && rounded;
|
|
166
|
+
}));
|
|
167
|
+
this.initials$ = combineLatest([this.displayInitials$, this.username$]).pipe(map(([displayInitials, username]) => {
|
|
168
|
+
if (displayInitials && !username) {
|
|
169
|
+
return '';
|
|
97
170
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
this.socialSize = '12';
|
|
103
|
-
break;
|
|
104
|
-
case 'mini-sm':
|
|
105
|
-
this.socialSize = '8';
|
|
106
|
-
break;
|
|
107
|
-
default:
|
|
108
|
-
this.socialSize = '16';
|
|
109
|
-
}
|
|
171
|
+
this.elementRef.nativeElement.style.setProperty('--ap-avatar-initials-size', `${initialSizeByAvatarSize[this.size$.value]}px`);
|
|
172
|
+
const names = username.split(' ');
|
|
173
|
+
if (names.length === 1) {
|
|
174
|
+
return `${names[0].charAt(0).toUpperCase()}${names[0].charAt(1).toUpperCase()}`;
|
|
110
175
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
console.warn("'defaultImageEnabled' attribute is deprecated.");
|
|
114
|
-
}
|
|
176
|
+
return `${names[0].charAt(0).toUpperCase()}${names[names.length - 1].charAt(0).toUpperCase()}`;
|
|
177
|
+
}));
|
|
115
178
|
}
|
|
116
|
-
|
|
117
|
-
this.
|
|
179
|
+
onImageError() {
|
|
180
|
+
this.imageError$.next(true);
|
|
118
181
|
}
|
|
119
182
|
}
|
|
120
|
-
AvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: AvatarComponent, deps: [{ token: i1.SymbolRegistry }], target: i0.ɵɵFactoryTarget.Component });
|
|
121
|
-
AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: AvatarComponent, isStandalone: true, selector: "ap-avatar", inputs: { border: "border", defaultImageEnabled: "defaultImageEnabled", fallbackSymbolId: "fallbackSymbolId", fallbackSymbolSize: "fallbackSymbolSize", imageUrl: "imageUrl", loading: "loading", outerBorderHidden: "outerBorderHidden", size: "size", social: "social", username: "username", rounded: "rounded", online: "online", imageUrls: "imageUrls" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"ap-avatar-container {{size}}\"\n [style.width]=\"imageUrls ? (imageUrls.length < 4 ? sizeMapNumbers[size] * (imageUrls.length / 3 + 1) + 'px' : sizeMapNumbers[size] * 1.5 + 'px') : sizeMapNumbers[size] + 'px'\">\n <!-- simple avatar -->\n <div *ngIf=\"imageUrl || imageUrls; else noPicture\">\n <img *ngIf=\"imageUrl && !imageUrls\"\n class=\"ap-avatar {{size}}\"\n [class.outer-border]=\"!outerBorderHidden\"\n [class.rounded]=\"rounded\"\n [attr.border]=\"border\"\n [attr.loading]=\"loading\"\n [attr.height]=\"sizeMap[size]\"\n [attr.width]=\"sizeMap[size]\"\n [src]=\"imageUrl\"\n (error)=\"onError()\"/>\n <div *ngIf=\"imageUrls && !imageUrl\"\n class=\"multi-avatar-container\">\n <div *ngFor=\"let url of imageUrls | slice: 0:3; let i = index\">\n <img *ngIf=\"url\" class=\"ap-avatar {{size}} multi\"\n [class.outer-border]=\"!outerBorderHidden\"\n [class.rounded]=\"rounded\"\n [style.z-index]=\"i\"\n [style.left]=\"2 * i * sizeMapNumbers[size] / 3 + 'px'\"\n [attr.border]=\"border\"\n [attr.loading]=\"loading\"\n [attr.height]=\"sizeMap[size]\"\n [attr.width]=\"sizeMap[size]\"\n [src]=\"url\"\n (error)=\"onError()\"/>\n <span *ngIf=\"!url\"\n class=\"ap-avatar ap-avatar-username {{size}} multi\"\n [style.z-index]=\"i\"\n [style.left]=\"2 * i * sizeMapNumbers[size] / 3 + 'px'\"\n [class.outer-border]=\"!outerBorderHidden\"\n [class.rounded]=\"rounded\"\n [attr.border]=\"border\">\n <ng-container *ngIf=\"username; else symbol\">\n {{username.charAt(0).toUpperCase()}}\n </ng-container>\n <ng-template #symbol>\n <ap-symbol\n [size]=\"fallbackSymbolSize\"\n [symbolId]=\"fallbackSymbolId\">\n </ap-symbol>\n </ng-template>\n </span>\n </div>\n </div>\n </div>\n <!-- image with first letter of screen name -->\n <ng-template #noPicture>\n <span\n class=\"ap-avatar ap-avatar-username {{size}}\"\n [class.outer-border]=\"!outerBorderHidden\"\n [class.rounded]=\"rounded\"\n [attr.border]=\"border\">\n <ng-container *ngIf=\"username; else symbol\">\n {{username.charAt(0).toUpperCase()}}\n </ng-container>\n <ng-template #symbol>\n <ap-symbol\n [size]=\"symbolSizeByAvatarSize[size] ?? fallbackSymbolSize\"\n [symbolId]=\"fallbackSymbolId\">\n </ap-symbol>\n </ng-template>\n </span>\n </ng-template>\n\n <div *ngIf=\"social\"\n class=\"social-symbol-wrapper {{social}} {{size}}\">\n <ap-symbol [symbolId]=\"socialLogo\"\n [size]=\"socialSize\">\n </ap-symbol>\n </div>\n <div *ngIf=\"online\" class=\"online-indicator {{size}}\"></div>\n\n</div>\n<label>\n <ng-content></ng-content>\n</label>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #A566A5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #C7AB82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #F2713C}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #FFD006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94C5AA}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2A9D8F}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78ACD8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525A9E}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6A2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729E}:host{align-items:center;display:inline-flex}label{margin-left:8px}label:empty{display:none}.ap-avatar-container,.ap-avatar-container .multi-avatar-container{position:relative}.ap-avatar-container .multi-avatar-container .multi{position:absolute}.ap-avatar-container.large{height:64px;width:64px}.ap-avatar-container.large-normal{min-height:56px;min-width:56px;height:56px;width:56px}.ap-avatar-container.normal{height:48px;width:48px}.ap-avatar-container.medium{height:40px;width:40px}.ap-avatar-container.medium-sm{height:36px;width:36px}.ap-avatar-container.small{height:32px;width:32px}.ap-avatar-container.mini{height:24px;width:24px}.ap-avatar-container.mini-sm{height:16px;width:16px}.ap-avatar-container.micro{height:12px;width:12px}.ap-avatar-container .ap-avatar.outer-border{box-shadow:0 0 0 1.5px #eaecef}.ap-avatar-container .ap-avatar.large{height:64px;width:64px}.ap-avatar-container .ap-avatar.large-normal{min-height:56px;min-width:56px;height:56px;width:56px}.ap-avatar-container .ap-avatar.normal{height:48px;width:48px}.ap-avatar-container .ap-avatar.medium{height:40px;width:40px}.ap-avatar-container .ap-avatar.medium-sm{height:36px;width:36px}.ap-avatar-container .ap-avatar.small{height:32px;width:32px}.ap-avatar-container .ap-avatar.mini{height:24px;width:24px}.ap-avatar-container .ap-avatar.mini-sm{height:16px;width:16px}.ap-avatar-container .ap-avatar.micro{height:12px;width:12px}.ap-avatar-container .ap-avatar.facebook,.ap-avatar-container .ap-avatar.linkedin,.ap-avatar-container .ap-avatar.youtube,.ap-avatar-container .ap-avatar.instagram,.ap-avatar-container .ap-avatar.google{height:40px;width:40px}.ap-avatar-container .ap-avatar.twitter{height:48px;width:48px}.ap-avatar-container .ap-avatar.tiktok{height:56px;width:56px}.ap-avatar-container .ap-avatar:not(.rounded){border-radius:13%}.ap-avatar-container .ap-avatar-username{display:inline-flex;align-items:center;justify-content:center;background-color:#aeb5c1;color:#fff;font-size:24px}.ap-avatar-container .ap-avatar-username.large{font-size:28px}.ap-avatar-container .ap-avatar-username.medium{font-size:18px}.ap-avatar-container .ap-avatar-username.medium-sm{font-size:16px}.ap-avatar-container .ap-avatar-username.small{font-size:14px}.ap-avatar-container .ap-avatar-username.mini{font-size:12px}.ap-avatar-container .ap-avatar-username.mini-sm{font-size:1px}.ap-avatar-container .social-symbol-wrapper{position:absolute;right:0;bottom:0;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1.5px #eaecef}.ap-avatar-container .social-symbol-wrapper.facebook,.ap-avatar-container .social-symbol-wrapper.twitter,.ap-avatar-container .social-symbol-wrapper.youtube,.ap-avatar-container .social-symbol-wrapper.tiktok,.ap-avatar-container .social-symbol-wrapper,.ap-avatar-container .social-symbol-wrapper pinterest{border-radius:100%}.ap-avatar-container .social-symbol-wrapper.instagram{border-radius:28%}.ap-avatar-container .social-symbol-wrapper.linkedin{border-radius:6%}.ap-avatar-container .social-symbol-wrapper.google{box-shadow:none;right:-3px;bottom:-3px}.ap-avatar-container .social-symbol-wrapper.google ap-symbol{border-radius:0;background-color:transparent}.ap-avatar-container .social-symbol-wrapper ap-symbol{border-radius:100%;background-color:#fff}.ap-avatar-container .social-symbol-wrapper ap-symbol ::ng-deep svg{display:block}.ap-avatar-container .online-indicator{box-shadow:none;background:#45B854;right:0;bottom:0;position:absolute}.ap-avatar-container .online-indicator.large{outline:5px solid white;border-radius:16px;min-height:16px;min-width:16px}.ap-avatar-container .online-indicator.normal{outline:4px solid white;border-radius:12px;min-height:12px;min-width:12px}.ap-avatar-container .online-indicator.medium,.ap-avatar-container .online-indicator.medium-sm,.ap-avatar-container .online-indicator.small{outline:3px solid white;border-radius:8px;min-height:8px;min-width:8px}.ap-avatar-container .online-indicator.mini,.ap-avatar-container .online-indicator.mini-sm{outline:2px solid white;border-radius:6px;min-height:6px;min-width:6px}.ap-avatar-container .online-indicator.micro{outline:1px solid white;border-radius:4px;min-height:4px;min-width:4px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "component", type: SymbolComponent, selector: "ap-symbol[symbolId]", inputs: ["color", "symbolId", "size", "state"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
183
|
+
AvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: AvatarComponent, deps: [{ token: i1.SymbolRegistry }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
184
|
+
AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: AvatarComponent, isStandalone: true, selector: "ap-avatar", inputs: { alternativeText: "alternativeText", anonymous: "anonymous", username: "username", network: "network", online: "online", profilePicture: "profilePicture", showInitials: "showInitials", alt: "alt", rounded: "rounded", size: "size" }, host: { properties: { "class.rounded-avatar": "this.roundedAvatar" } }, ngImport: i0, template: "<ng-container\n *ngrxLet=\"{\n displayProfilePicture: displayProfilePicture$,\n displaySingleNeutralSvg: displaySingleNeutralSvg$,\n displayInitials: displayInitials$,\n displayAnonymous: displayAnonymous$,\n displayOnline: displayOnline$,\n displayNetwork: displayNetwork$,\n initials: initials$,\n profilePicture: profilePicture$,\n size: size$,\n network: network$\n } as avatarViewModel\">\n <img\n *ngIf=\"avatarViewModel.displayProfilePicture\"\n [ngSrc]=\"avatarViewModel.profilePicture\"\n [width]=\"avatarViewModel.size\"\n [height]=\"avatarViewModel.size\"\n [alt]=\"alt\"\n (error)=\"onImageError()\" />\n <div *ngIf=\"avatarViewModel.displaySingleNeutralSvg\" class=\"no-profile-picture\">\n <ap-symbol symbolId=\"single-neutral\"></ap-symbol>\n </div>\n\n <div *ngIf=\"avatarViewModel.displayAnonymous\" class=\"anonymous\">\n <ap-symbol symbolId=\"show-theater-mask-happy\"></ap-symbol>\n </div>\n <div *ngIf=\"avatarViewModel.displayOnline\" class=\"online\"></div>\n <div\n *ngIf=\"avatarViewModel.displayNetwork\"\n class=\"network\"\n [class.facebook]=\"avatarViewModel.network === 'facebook'\"\n [class.linkedin]=\"avatarViewModel.network === 'linkedin'\"\n [class.twitter]=\"avatarViewModel.network === 'twitter'\"\n [class.youtube]=\"avatarViewModel.network === 'youtube'\"\n [class.googleMyBusiness]=\"avatarViewModel.network === 'googleMyBusiness'\"\n [class.instagram]=\"avatarViewModel.network === 'instagram'\"\n [class.tiktok]=\"avatarViewModel.network === 'tiktok'\">\n <ap-symbol [symbolId]=\"networkSymbolByNetwork[avatarViewModel.network]\"></ap-symbol>\n </div>\n\n <div *ngIf=\"avatarViewModel.displayInitials\" class=\"initials\">\n {{ avatarViewModel.initials }}\n </div>\n</ng-container>\n", styles: ["ap-avatar{display:flex;justify-content:center;align-items:center;height:var(--ap-avatar-size);min-height:var(--ap-avatar-size);max-height:var(--ap-avatar-size);width:var(--ap-avatar-size);min-width:var(--ap-avatar-size);max-width:var(--ap-avatar-size);border-radius:var(--sys-border-radius-sm);background:var(--ref-color-grey-40);box-sizing:border-box;position:relative}ap-avatar.rounded-avatar{border-radius:100%}ap-avatar.rounded-avatar img,ap-avatar.rounded-avatar .no-profile-picture,ap-avatar.rounded-avatar .anonymous{border-radius:100%}ap-avatar img{overflow:hidden;border-radius:var(--sys-border-radius-sm);border:1px solid var(--ref-color-grey-10);box-sizing:border-box}ap-avatar .no-profile-picture,ap-avatar .anonymous{display:flex;justify-content:center;align-items:center;background:var(--ref-color-grey-40);border-radius:var(--sys-border-radius-sm)}ap-avatar .no-profile-picture ap-symbol,ap-avatar .anonymous ap-symbol{color:var(--ref-color-white);width:var(--ap-avatar-symbol-size);min-width:var(--ap-avatar-symbol-size);max-width:var(--ap-avatar-symbol-size);height:var(--ap-avatar-symbol-size);min-height:var(--ap-avatar-symbol-size);max-height:var(--ap-avatar-symbol-size)}ap-avatar .online{position:absolute;height:var(--ap-avatar-online-icon-size);min-height:var(--ap-avatar-online-icon-size);max-height:var(--ap-avatar-online-icon-size);width:var(--ap-avatar-online-icon-size);min-width:var(--ap-avatar-online-icon-size);max-width:var(--ap-avatar-online-icon-size);border-radius:100%;overflow:hidden;background:var(--ref-color-grey-40);box-sizing:border-box;border:1px solid var(--ref-color-white);bottom:0;right:0;background:var(--ref-color-green-100)}ap-avatar .initials{font-weight:var(--ref-font-weight-bold);font-size:var(--ap-avatar-initials-size);line-height:var(--ref-font-line-height-xl);font-family:Averta;color:var(--ref-color-white)}ap-avatar .network{position:absolute;height:var(--ap-avatar-online-icon-size);min-height:var(--ap-avatar-network-size);max-height:var(--ap-avatar-network-size);width:var(--ap-avatar-network-size);min-width:var(--ap-avatar-network-size);max-width:var(--ap-avatar-network-size);overflow:hidden;box-sizing:border-box;bottom:0;right:0;box-shadow:0 0 0 1px var(--ref-color-grey-20)}ap-avatar .network.facebook,ap-avatar .network.twitter,ap-avatar .network.youtube,ap-avatar .network.tiktok,ap-avatar .network,ap-avatar .network pinterest{border-radius:100%}ap-avatar .network.instagram{border-radius:28%}ap-avatar .network.linkedin{border-radius:6%}ap-avatar .network.googleMyBusiness{box-shadow:none}ap-avatar .network ap-symbol img{border-radius:0;border:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "disableOptimizedSrcset", "fill", "src", "srcset"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol[symbolId]", inputs: ["color", "symbolId", "size", "state"] }, { kind: "ngmodule", type: LetModule }, { kind: "directive", type: i2.LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
122
185
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: AvatarComponent, decorators: [{
|
|
123
186
|
type: Component,
|
|
124
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-avatar', standalone: true, imports: [NgIf, SlicePipe, SymbolComponent, NgForOf], template: "<div class=\"ap-avatar-container {{size}}\"\n [style.width]=\"imageUrls ? (imageUrls.length < 4 ? sizeMapNumbers[size] * (imageUrls.length / 3 + 1) + 'px' : sizeMapNumbers[size] * 1.5 + 'px') : sizeMapNumbers[size] + 'px'\">\n <!-- simple avatar -->\n <div *ngIf=\"imageUrl || imageUrls; else noPicture\">\n <img *ngIf=\"imageUrl && !imageUrls\"\n class=\"ap-avatar {{size}}\"\n [class.outer-border]=\"!outerBorderHidden\"\n [class.rounded]=\"rounded\"\n [attr.border]=\"border\"\n [attr.loading]=\"loading\"\n [attr.height]=\"sizeMap[size]\"\n [attr.width]=\"sizeMap[size]\"\n [src]=\"imageUrl\"\n (error)=\"onError()\"/>\n <div *ngIf=\"imageUrls && !imageUrl\"\n class=\"multi-avatar-container\">\n <div *ngFor=\"let url of imageUrls | slice: 0:3; let i = index\">\n <img *ngIf=\"url\" class=\"ap-avatar {{size}} multi\"\n [class.outer-border]=\"!outerBorderHidden\"\n [class.rounded]=\"rounded\"\n [style.z-index]=\"i\"\n [style.left]=\"2 * i * sizeMapNumbers[size] / 3 + 'px'\"\n [attr.border]=\"border\"\n [attr.loading]=\"loading\"\n [attr.height]=\"sizeMap[size]\"\n [attr.width]=\"sizeMap[size]\"\n [src]=\"url\"\n (error)=\"onError()\"/>\n <span *ngIf=\"!url\"\n class=\"ap-avatar ap-avatar-username {{size}} multi\"\n [style.z-index]=\"i\"\n [style.left]=\"2 * i * sizeMapNumbers[size] / 3 + 'px'\"\n [class.outer-border]=\"!outerBorderHidden\"\n [class.rounded]=\"rounded\"\n [attr.border]=\"border\">\n <ng-container *ngIf=\"username; else symbol\">\n {{username.charAt(0).toUpperCase()}}\n </ng-container>\n <ng-template #symbol>\n <ap-symbol\n [size]=\"fallbackSymbolSize\"\n [symbolId]=\"fallbackSymbolId\">\n </ap-symbol>\n </ng-template>\n </span>\n </div>\n </div>\n </div>\n <!-- image with first letter of screen name -->\n <ng-template #noPicture>\n <span\n class=\"ap-avatar ap-avatar-username {{size}}\"\n [class.outer-border]=\"!outerBorderHidden\"\n [class.rounded]=\"rounded\"\n [attr.border]=\"border\">\n <ng-container *ngIf=\"username; else symbol\">\n {{username.charAt(0).toUpperCase()}}\n </ng-container>\n <ng-template #symbol>\n <ap-symbol\n [size]=\"symbolSizeByAvatarSize[size] ?? fallbackSymbolSize\"\n [symbolId]=\"fallbackSymbolId\">\n </ap-symbol>\n </ng-template>\n </span>\n </ng-template>\n\n <div *ngIf=\"social\"\n class=\"social-symbol-wrapper {{social}} {{size}}\">\n <ap-symbol [symbolId]=\"socialLogo\"\n [size]=\"socialSize\">\n </ap-symbol>\n </div>\n <div *ngIf=\"online\" class=\"online-indicator {{size}}\"></div>\n\n</div>\n<label>\n <ng-content></ng-content>\n</label>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #A566A5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #C7AB82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #F2713C}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #FFD006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94C5AA}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2A9D8F}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78ACD8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525A9E}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6A2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729E}:host{align-items:center;display:inline-flex}label{margin-left:8px}label:empty{display:none}.ap-avatar-container,.ap-avatar-container .multi-avatar-container{position:relative}.ap-avatar-container .multi-avatar-container .multi{position:absolute}.ap-avatar-container.large{height:64px;width:64px}.ap-avatar-container.large-normal{min-height:56px;min-width:56px;height:56px;width:56px}.ap-avatar-container.normal{height:48px;width:48px}.ap-avatar-container.medium{height:40px;width:40px}.ap-avatar-container.medium-sm{height:36px;width:36px}.ap-avatar-container.small{height:32px;width:32px}.ap-avatar-container.mini{height:24px;width:24px}.ap-avatar-container.mini-sm{height:16px;width:16px}.ap-avatar-container.micro{height:12px;width:12px}.ap-avatar-container .ap-avatar.outer-border{box-shadow:0 0 0 1.5px #eaecef}.ap-avatar-container .ap-avatar.large{height:64px;width:64px}.ap-avatar-container .ap-avatar.large-normal{min-height:56px;min-width:56px;height:56px;width:56px}.ap-avatar-container .ap-avatar.normal{height:48px;width:48px}.ap-avatar-container .ap-avatar.medium{height:40px;width:40px}.ap-avatar-container .ap-avatar.medium-sm{height:36px;width:36px}.ap-avatar-container .ap-avatar.small{height:32px;width:32px}.ap-avatar-container .ap-avatar.mini{height:24px;width:24px}.ap-avatar-container .ap-avatar.mini-sm{height:16px;width:16px}.ap-avatar-container .ap-avatar.micro{height:12px;width:12px}.ap-avatar-container .ap-avatar.facebook,.ap-avatar-container .ap-avatar.linkedin,.ap-avatar-container .ap-avatar.youtube,.ap-avatar-container .ap-avatar.instagram,.ap-avatar-container .ap-avatar.google{height:40px;width:40px}.ap-avatar-container .ap-avatar.twitter{height:48px;width:48px}.ap-avatar-container .ap-avatar.tiktok{height:56px;width:56px}.ap-avatar-container .ap-avatar:not(.rounded){border-radius:13%}.ap-avatar-container .ap-avatar-username{display:inline-flex;align-items:center;justify-content:center;background-color:#aeb5c1;color:#fff;font-size:24px}.ap-avatar-container .ap-avatar-username.large{font-size:28px}.ap-avatar-container .ap-avatar-username.medium{font-size:18px}.ap-avatar-container .ap-avatar-username.medium-sm{font-size:16px}.ap-avatar-container .ap-avatar-username.small{font-size:14px}.ap-avatar-container .ap-avatar-username.mini{font-size:12px}.ap-avatar-container .ap-avatar-username.mini-sm{font-size:1px}.ap-avatar-container .social-symbol-wrapper{position:absolute;right:0;bottom:0;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1.5px #eaecef}.ap-avatar-container .social-symbol-wrapper.facebook,.ap-avatar-container .social-symbol-wrapper.twitter,.ap-avatar-container .social-symbol-wrapper.youtube,.ap-avatar-container .social-symbol-wrapper.tiktok,.ap-avatar-container .social-symbol-wrapper,.ap-avatar-container .social-symbol-wrapper pinterest{border-radius:100%}.ap-avatar-container .social-symbol-wrapper.instagram{border-radius:28%}.ap-avatar-container .social-symbol-wrapper.linkedin{border-radius:6%}.ap-avatar-container .social-symbol-wrapper.google{box-shadow:none;right:-3px;bottom:-3px}.ap-avatar-container .social-symbol-wrapper.google ap-symbol{border-radius:0;background-color:transparent}.ap-avatar-container .social-symbol-wrapper ap-symbol{border-radius:100%;background-color:#fff}.ap-avatar-container .social-symbol-wrapper ap-symbol ::ng-deep svg{display:block}.ap-avatar-container .online-indicator{box-shadow:none;background:#45B854;right:0;bottom:0;position:absolute}.ap-avatar-container .online-indicator.large{outline:5px solid white;border-radius:16px;min-height:16px;min-width:16px}.ap-avatar-container .online-indicator.normal{outline:4px solid white;border-radius:12px;min-height:12px;min-width:12px}.ap-avatar-container .online-indicator.medium,.ap-avatar-container .online-indicator.medium-sm,.ap-avatar-container .online-indicator.small{outline:3px solid white;border-radius:8px;min-height:8px;min-width:8px}.ap-avatar-container .online-indicator.mini,.ap-avatar-container .online-indicator.mini-sm{outline:2px solid white;border-radius:6px;min-height:6px;min-width:6px}.ap-avatar-container .online-indicator.micro{outline:1px solid white;border-radius:4px;min-height:4px;min-width:4px}\n"] }]
|
|
125
|
-
}], ctorParameters: function () { return [{ type: i1.SymbolRegistry }]; }, propDecorators: {
|
|
126
|
-
type: Input
|
|
127
|
-
}], defaultImageEnabled: [{
|
|
187
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-avatar', standalone: true, imports: [NgIf, NgForOf, NgOptimizedImage, SymbolComponent, LetModule], encapsulation: ViewEncapsulation.None, template: "<ng-container\n *ngrxLet=\"{\n displayProfilePicture: displayProfilePicture$,\n displaySingleNeutralSvg: displaySingleNeutralSvg$,\n displayInitials: displayInitials$,\n displayAnonymous: displayAnonymous$,\n displayOnline: displayOnline$,\n displayNetwork: displayNetwork$,\n initials: initials$,\n profilePicture: profilePicture$,\n size: size$,\n network: network$\n } as avatarViewModel\">\n <img\n *ngIf=\"avatarViewModel.displayProfilePicture\"\n [ngSrc]=\"avatarViewModel.profilePicture\"\n [width]=\"avatarViewModel.size\"\n [height]=\"avatarViewModel.size\"\n [alt]=\"alt\"\n (error)=\"onImageError()\" />\n <div *ngIf=\"avatarViewModel.displaySingleNeutralSvg\" class=\"no-profile-picture\">\n <ap-symbol symbolId=\"single-neutral\"></ap-symbol>\n </div>\n\n <div *ngIf=\"avatarViewModel.displayAnonymous\" class=\"anonymous\">\n <ap-symbol symbolId=\"show-theater-mask-happy\"></ap-symbol>\n </div>\n <div *ngIf=\"avatarViewModel.displayOnline\" class=\"online\"></div>\n <div\n *ngIf=\"avatarViewModel.displayNetwork\"\n class=\"network\"\n [class.facebook]=\"avatarViewModel.network === 'facebook'\"\n [class.linkedin]=\"avatarViewModel.network === 'linkedin'\"\n [class.twitter]=\"avatarViewModel.network === 'twitter'\"\n [class.youtube]=\"avatarViewModel.network === 'youtube'\"\n [class.googleMyBusiness]=\"avatarViewModel.network === 'googleMyBusiness'\"\n [class.instagram]=\"avatarViewModel.network === 'instagram'\"\n [class.tiktok]=\"avatarViewModel.network === 'tiktok'\">\n <ap-symbol [symbolId]=\"networkSymbolByNetwork[avatarViewModel.network]\"></ap-symbol>\n </div>\n\n <div *ngIf=\"avatarViewModel.displayInitials\" class=\"initials\">\n {{ avatarViewModel.initials }}\n </div>\n</ng-container>\n", styles: ["ap-avatar{display:flex;justify-content:center;align-items:center;height:var(--ap-avatar-size);min-height:var(--ap-avatar-size);max-height:var(--ap-avatar-size);width:var(--ap-avatar-size);min-width:var(--ap-avatar-size);max-width:var(--ap-avatar-size);border-radius:var(--sys-border-radius-sm);background:var(--ref-color-grey-40);box-sizing:border-box;position:relative}ap-avatar.rounded-avatar{border-radius:100%}ap-avatar.rounded-avatar img,ap-avatar.rounded-avatar .no-profile-picture,ap-avatar.rounded-avatar .anonymous{border-radius:100%}ap-avatar img{overflow:hidden;border-radius:var(--sys-border-radius-sm);border:1px solid var(--ref-color-grey-10);box-sizing:border-box}ap-avatar .no-profile-picture,ap-avatar .anonymous{display:flex;justify-content:center;align-items:center;background:var(--ref-color-grey-40);border-radius:var(--sys-border-radius-sm)}ap-avatar .no-profile-picture ap-symbol,ap-avatar .anonymous ap-symbol{color:var(--ref-color-white);width:var(--ap-avatar-symbol-size);min-width:var(--ap-avatar-symbol-size);max-width:var(--ap-avatar-symbol-size);height:var(--ap-avatar-symbol-size);min-height:var(--ap-avatar-symbol-size);max-height:var(--ap-avatar-symbol-size)}ap-avatar .online{position:absolute;height:var(--ap-avatar-online-icon-size);min-height:var(--ap-avatar-online-icon-size);max-height:var(--ap-avatar-online-icon-size);width:var(--ap-avatar-online-icon-size);min-width:var(--ap-avatar-online-icon-size);max-width:var(--ap-avatar-online-icon-size);border-radius:100%;overflow:hidden;background:var(--ref-color-grey-40);box-sizing:border-box;border:1px solid var(--ref-color-white);bottom:0;right:0;background:var(--ref-color-green-100)}ap-avatar .initials{font-weight:var(--ref-font-weight-bold);font-size:var(--ap-avatar-initials-size);line-height:var(--ref-font-line-height-xl);font-family:Averta;color:var(--ref-color-white)}ap-avatar .network{position:absolute;height:var(--ap-avatar-online-icon-size);min-height:var(--ap-avatar-network-size);max-height:var(--ap-avatar-network-size);width:var(--ap-avatar-network-size);min-width:var(--ap-avatar-network-size);max-width:var(--ap-avatar-network-size);overflow:hidden;box-sizing:border-box;bottom:0;right:0;box-shadow:0 0 0 1px var(--ref-color-grey-20)}ap-avatar .network.facebook,ap-avatar .network.twitter,ap-avatar .network.youtube,ap-avatar .network.tiktok,ap-avatar .network,ap-avatar .network pinterest{border-radius:100%}ap-avatar .network.instagram{border-radius:28%}ap-avatar .network.linkedin{border-radius:6%}ap-avatar .network.googleMyBusiness{box-shadow:none}ap-avatar .network ap-symbol img{border-radius:0;border:none}\n"] }]
|
|
188
|
+
}], ctorParameters: function () { return [{ type: i1.SymbolRegistry }, { type: i0.ElementRef }]; }, propDecorators: { alternativeText: [{
|
|
128
189
|
type: Input
|
|
129
|
-
}],
|
|
190
|
+
}], anonymous: [{
|
|
130
191
|
type: Input
|
|
131
|
-
}],
|
|
192
|
+
}], username: [{
|
|
132
193
|
type: Input
|
|
133
|
-
}],
|
|
194
|
+
}], network: [{
|
|
134
195
|
type: Input
|
|
135
|
-
}],
|
|
196
|
+
}], online: [{
|
|
136
197
|
type: Input
|
|
137
|
-
}],
|
|
198
|
+
}], profilePicture: [{
|
|
138
199
|
type: Input
|
|
139
|
-
}],
|
|
200
|
+
}], showInitials: [{
|
|
140
201
|
type: Input
|
|
141
|
-
}],
|
|
142
|
-
type: Input
|
|
143
|
-
}], username: [{
|
|
202
|
+
}], alt: [{
|
|
144
203
|
type: Input
|
|
204
|
+
}], roundedAvatar: [{
|
|
205
|
+
type: HostBinding,
|
|
206
|
+
args: ['class.rounded-avatar']
|
|
145
207
|
}], rounded: [{
|
|
146
208
|
type: Input
|
|
147
|
-
}],
|
|
148
|
-
type: Input
|
|
149
|
-
}], imageUrls: [{
|
|
209
|
+
}], size: [{
|
|
150
210
|
type: Input
|
|
151
211
|
}] } });
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9hdmF0YXIvc3JjL2F2YXRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvYXZhdGFyL3NyYy9hdmF0YXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILGtCQUFrQixFQUNsQiwwQkFBMEIsRUFDMUIsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixtQkFBbUIsRUFDbkIsZUFBZSxHQUVsQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUEyQixNQUFNLGVBQWUsQ0FBQzs7O0FBRWxHLE1BQU0sT0FBTyxHQUE0QjtJQUNyQyxPQUFPLEVBQUUsSUFBSTtJQUNiLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFFBQVEsRUFBRSxJQUFJO0lBQ2QsUUFBUSxFQUFFLElBQUk7SUFDZCxXQUFXLEVBQUUsSUFBSTtJQUNqQixPQUFPLEVBQUUsSUFBSTtJQUNiLE1BQU0sRUFBRSxJQUFJO0lBQ1osU0FBUyxFQUFFLElBQUk7SUFDZixPQUFPLEVBQUUsSUFBSTtJQUNiLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsUUFBUSxFQUFFLElBQUk7SUFDZCxRQUFRLEVBQUUsSUFBSTtJQUNkLFNBQVMsRUFBRSxJQUFJO0NBQ2xCLENBQUM7QUFFRixNQUFNLGNBQWMsR0FBNEI7SUFDNUMsS0FBSyxFQUFFLEVBQUU7SUFD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QUFVLEdBQUcsR0FBRyxDQUFDO3dCQUN0QixNQUFNO29CQUNWO3dCQUNJLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2lCQUM5QjthQUNKO1NBQ0o7UUFDRCxJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsSUFBSSxPQUFPLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFO1lBQ3pFLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0RBQWdELENBQUMsQ0FBQztTQUNsRTtJQUNMLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQzs7NEdBNUVRLGVBQWU7Z0dBQWYsZUFBZSwwYkN6RTVCLDQ3R0ErRUEsMmtURFRjLElBQUksd0ZBQUUsU0FBUyw4Q0FBRSxlQUFlLGdIQUFFLE9BQU87MkZBRzFDLGVBQWU7a0JBUjNCLFNBQVM7c0NBQ1csdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxXQUFXLGNBRVQsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsT0FBTyxDQUFDO3FHQUkzQyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGFnb3JhcHVsc2VTeW1ib2wsXG4gICAgYXBGYWNlYm9va09mZmljaWFsLFxuICAgIGFwR29vZ2xlTXlCdXNpbmVzc09mZmljaWFsLFxuICAgIGFwTGlua2VkaW5PZmZpY2lhbCxcbiAgICBhcFNpbmdsZU5ldXRyYWwsXG4gICAgYXBUaWt0b2tPZmZpY2lhbCxcbiAgICBhcFR3aXR0ZXJPZmZpY2lhbCxcbiAgICBhcFlvdXR1YmVPZmZpY2lhbCxcbiAgICBhcFBpbnRlcmVzdE9mZmljaWFsLFxuICAgIFN5bWJvbENvbXBvbmVudCxcbiAgICBTeW1ib2xSZWdpc3RyeSxcbn0gZnJvbSAnQGFnb3JhcHVsc2UvdWktc3ltYm9sJztcbmltcG9ydCB7TmdGb3JPZiwgTmdJZiwgU2xpY2VQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuY29uc3QgU2l6ZU1hcDoge1trZXk6IHN0cmluZ106IHN0cmluZ30gPSB7XG4gICAgJ2xhcmdlJzogJzY0JyxcbiAgICAnbGFyZ2Utc20nOiAnNTYnLFxuICAgICdub3JtYWwnOiAnNDgnLFxuICAgICdtZWRpdW0nOiAnNDAnLFxuICAgICdtZWRpdW0tc20nOiAnMzYnLFxuICAgICdzbWFsbCc6ICczMicsXG4gICAgJ21pbmknOiAnMjQnLFxuICAgICdtaW5pLXNtJzogJzE2JyxcbiAgICAnbWljcm8nOiAnMTInLFxuICAgICdmYWNlYm9vayc6ICc0MCcsXG4gICAgJ2xpbmtlZGluJzogJzQwJyxcbiAgICAnaW5zdGFncmFtJzogJzQwJyxcbiAgICAneW91dHViZSc6ICc0MCcsXG4gICAgJ2dvb2dsZSc6ICc0MCcsXG4gICAgJ3Rpa3Rvayc6ICc1NicsXG4gICAgJ3R3aXR0ZXInOiAnNDgnXG59O1xuXG5jb25zdCBTaXplTWFwTnVtYmVyczoge1trZXk6IHN0cmluZ106IG51bWJlcn0gPSB7XG4gICAgbGFyZ2U6IDY0LFxuICAgICdsYXJnZS1zbSc6IDU2LFxuICAgIG5vcm1hbDogNDgsXG4gICAgbWVkaXVtOiA0MCxcbiAgICAnbWVkaXVtLXNtJzogMzYsXG4gICAgc21hbGw6IDMyLFxuICAgIG1pbmk6IDI0LFxuICAgICdtaW5pLXNtJzogMTYsXG4gICAgbWljcm86IDEyLFxuICAgIGZhY2Vib29rOiA0MCxcbiAgICBsaW5rZWRpbjogNDAsXG4gICAgaW5zdGFncmFtOiA0MCxcbiAgICB5b3V0dWJlOiA0MCxcbiAgICBnb29nbGU6IDQwLFxuICAgIHRpa3RvazogNTYsXG4gICAgdHdpdHRlcjogNDgsXG59O1xuXG5jb25zdCBTeW1ib2xTaXplQnlBdmF0YXJTaXplOiB7W2tleTogc3RyaW5nXTogc3RyaW5nfSA9IHtcbiAgICBsYXJnZTogJ3NtYWxsJyxcbiAgICBub3JtYWw6ICdtaW5pJyxcbiAgICBtZWRpdW06ICdtaW5pJyxcbiAgICAnbWVkaXVtLXNtJzogJ21pbmktc20nLFxuICAgIHNtYWxsOiAnbWljcm8nLFxuICAgIG1pbmk6ICdtaWNyby1zbScsXG4gICAgJ21pbmktc20nOiAncGljbycsXG4gICAgbWljcm86ICdwaWNvJyxcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHNlbGVjdG9yOiAnYXAtYXZhdGFyJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hdmF0YXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBTbGljZVBpcGUsIFN5bWJvbENvbXBvbmVudCwgTmdGb3JPZl0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2F2YXRhci5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgYm9yZGVyID0gJyc7XG4gICAgQElucHV0KCkgZGVmYXVsdEltYWdlRW5hYmxlZCA9IHRydWU7IC8vIERFUFJFQ0FURUQgZGVmYXVsdCBhdmF0YXIgaWYgd2UgZG9uJ3QgaGF2ZSB1c2VybmFtZVxuICAgIEBJbnB1dCgpIGZhbGxiYWNrU3ltYm9sSWQ6IGFnb3JhcHVsc2VTeW1ib2wgPSAnc2luZ2xlLW5ldXRyYWwnO1xuICAgIEBJbnB1dCgpIGZhbGxiYWNrU3ltYm9sU2l6ZTogc3RyaW5nIHwgJ25vbmUnIHwgJ3BpY28nIHwgJ25hbm8nIHwgJ21pY3JvJyB8ICdtaW5pJyB8ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdub3JtYWwnIHwgJ2xhcmdlJyA9ICdtaW5pJztcbiAgICBASW5wdXQoKSBpbWFnZVVybDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIGxvYWRpbmc6ICdhdXRvJyB8ICdsYXp5JyB8ICdlYWdlcicgPSAnYXV0byc7XG4gICAgQElucHV0KCkgb3V0ZXJCb3JkZXJIaWRkZW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBzaXplOlxuICAgICAgICAnbGFyZ2UnIHwgJ2xhcmdlLW5vcm1hbCcgfCAnbGFyZ2Utc20nIHwgJ25vcm1hbCd8ICdtZWRpdW0nIHwgJ21lZGl1bS1zbScgIHwgJ3NtYWxsJyB8ICdtaW5pJyB8ICdtaW5pLXNtJyB8ICdtaWNybycgfFxuICAgICAgICAnZmFjZWJvb2snIHwgJ3R3aXR0ZXInIHwgJ2xpbmtlZGluJyB8ICdpbnN0YWdyYW0nIHwgJ3lvdXR1YmUnIHwgJ2dvb2dsZScgPSAnbWVkaXVtJztcbiAgICBASW5wdXQoKSBzb2NpYWw6ICdmYWNlYm9vaycgfCAnaW5zdGFncmFtJyB8ICdsaW5rZWRpbicgfCAndGlrdG9rJyB8ICd0d2l0dGVyJyB8ICd5b3V0dWJlJyB8ICdnb29nbGUnIHwgJ3BpbnRlcmVzdCc7XG4gICAgQElucHV0KCkgdXNlcm5hbWU6IHN0cmluZzsgLy8gdXNlZCB0byBkaXNwbGF5IGluaXRpYWxzXG4gICAgQElucHV0KCkgcm91bmRlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIG9ubGluZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGltYWdlVXJsczogc3RyaW5nW107XG5cbiAgICBzb2NpYWxTaXplOiBzdHJpbmc7XG4gICAgc29jaWFsTG9nbzogYWdvcmFwdWxzZVN5bWJvbDtcbiAgICBzaXplTWFwID0gU2l6ZU1hcDtcbiAgICBzaXplTWFwTnVtYmVycyA9IFNpemVNYXBOdW1iZXJzO1xuICAgIHN5bWJvbFNpemVCeUF2YXRhclNpemUgPSBTeW1ib2xTaXplQnlBdmF0YXJTaXplO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzeW1ib2xSZWdpc3RyeTogU3ltYm9sUmVnaXN0cnkpIHtcbiAgICAgICAgdGhpcy5zeW1ib2xSZWdpc3RyeS5yZWdpc3RlclN5bWJvbHMoW1xuICAgICAgICAgICAgYXBTaW5nbGVOZXV0cmFsLFxuICAgICAgICAgICAgYXBGYWNlYm9va09mZmljaWFsLFxuICAgICAgICAgICAgYXBUd2l0dGVyT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcFlvdXR1YmVPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwVGlrdG9rT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcExpbmtlZGluT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcEdvb2dsZU15QnVzaW5lc3NPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwUGludGVyZXN0T2ZmaWNpYWxcbiAgICAgICAgXSlcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLnNvY2lhbD8uY3VycmVudFZhbHVlIHx8IGNoYW5nZXMuc2l6ZT8uY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zb2NpYWwpIHtcbiAgICAgICAgICAgICAgIHRoaXMuc29jaWFsTG9nbyA9IHRoaXMuc29jaWFsID09PSAnZ29vZ2xlJyA/ICdnb29nbGUtbXktYnVzaW5lc3Mtb2ZmaWNpYWwnIDogYCR7dGhpcy5zb2NpYWx9LW9mZmljaWFsYCBhcyBhZ29yYXB1bHNlU3ltYm9sO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuc29jaWFsID09PSAnZ29vZ2xlJykge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAodGhpcy5zaXplKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ21lZGl1bS1zbSc6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNvY2lhbFNpemUgPSAnMTQnO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ21pbmknOlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zb2NpYWxTaXplID0gJzE1JztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdtaW5pLXNtJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc29jaWFsU2l6ZSA9ICcxMCc7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc29jaWFsU2l6ZSA9ICcxOSc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHRoaXMuc2l6ZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdtZWRpdW0tc20nOlxuICAgICAgICAgICAgICAgICAgICBjYXNlICdtaW5pJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc29jaWFsU2l6ZSA9ICcxMic7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnbWluaS1zbSc6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNvY2lhbFNpemUgPSAnOCc7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc29jaWFsU2l6ZSA9ICcxNic7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFuZ2VzLmRlZmF1bHRJbWFnZUVuYWJsZWQgJiYgY2hhbmdlcy5kZWZhdWx0SW1hZ2VFbmFibGVkLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiJ2RlZmF1bHRJbWFnZUVuYWJsZWQnIGF0dHJpYnV0ZSBpcyBkZXByZWNhdGVkLlwiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRXJyb3IoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW1hZ2VVcmwgPSBudWxsO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhcC1hdmF0YXItY29udGFpbmVyIHt7c2l6ZX19XCJcbiAgICBbc3R5bGUud2lkdGhdPVwiaW1hZ2VVcmxzID8gKGltYWdlVXJscy5sZW5ndGggPCA0ID8gc2l6ZU1hcE51bWJlcnNbc2l6ZV0gKiAoaW1hZ2VVcmxzLmxlbmd0aCAvIDMgKyAxKSArICdweCcgOiBzaXplTWFwTnVtYmVyc1tzaXplXSAqIDEuNSArICdweCcpIDogc2l6ZU1hcE51bWJlcnNbc2l6ZV0gKyAncHgnXCI+XG4gICAgPCEtLSBzaW1wbGUgYXZhdGFyIC0tPlxuICAgIDxkaXYgKm5nSWY9XCJpbWFnZVVybCB8fCBpbWFnZVVybHM7IGVsc2Ugbm9QaWN0dXJlXCI+XG4gICAgICAgIDxpbWcgKm5nSWY9XCJpbWFnZVVybCAmJiAhaW1hZ2VVcmxzXCJcbiAgICAgICAgICAgICBjbGFzcz1cImFwLWF2YXRhciB7e3NpemV9fVwiXG4gICAgICAgICAgICAgW2NsYXNzLm91dGVyLWJvcmRlcl09XCIhb3V0ZXJCb3JkZXJIaWRkZW5cIlxuICAgICAgICAgICAgIFtjbGFzcy5yb3VuZGVkXT1cInJvdW5kZWRcIlxuICAgICAgICAgICAgIFthdHRyLmJvcmRlcl09XCJib3JkZXJcIlxuICAgICAgICAgICAgIFthdHRyLmxvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgICAgICAgICAgW2F0dHIuaGVpZ2h0XT1cInNpemVNYXBbc2l6ZV1cIlxuICAgICAgICAgICAgIFthdHRyLndpZHRoXT1cInNpemVNYXBbc2l6ZV1cIlxuICAgICAgICAgICAgIFtzcmNdPVwiaW1hZ2VVcmxcIlxuICAgICAgICAgICAgIChlcnJvcik9XCJvbkVycm9yKClcIi8+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJpbWFnZVVybHMgJiYgIWltYWdlVXJsXCJcbiAgICAgICAgICAgIGNsYXNzPVwibXVsdGktYXZhdGFyLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgdXJsIG9mIGltYWdlVXJscyB8IHNsaWNlOiAwOjM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwidXJsXCIgY2xhc3M9XCJhcC1hdmF0YXIge3tzaXplfX0gbXVsdGlcIlxuICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLm91dGVyLWJvcmRlcl09XCIhb3V0ZXJCb3JkZXJIaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnJvdW5kZWRdPVwicm91bmRlZFwiXG4gICAgICAgICAgICAgICAgICAgICBbc3R5bGUuei1pbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5sZWZ0XT1cIjIgKiBpICogc2l6ZU1hcE51bWJlcnNbc2l6ZV0gLyAzICsgJ3B4J1wiXG4gICAgICAgICAgICAgICAgICAgICBbYXR0ci5ib3JkZXJdPVwiYm9yZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgIFthdHRyLmxvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgICAgICAgICAgICAgICAgICBbYXR0ci5oZWlnaHRdPVwic2l6ZU1hcFtzaXplXVwiXG4gICAgICAgICAgICAgICAgICAgICBbYXR0ci53aWR0aF09XCJzaXplTWFwW3NpemVdXCJcbiAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwidXJsXCJcbiAgICAgICAgICAgICAgICAgICAgIChlcnJvcik9XCJvbkVycm9yKClcIi8+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhdXJsXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhcC1hdmF0YXIgYXAtYXZhdGFyLXVzZXJuYW1lIHt7c2l6ZX19IG11bHRpXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLnotaW5kZXhdPVwiaVwiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5sZWZ0XT1cIjIgKiBpICogc2l6ZU1hcE51bWJlcnNbc2l6ZV0gLyAzICsgJ3B4J1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5vdXRlci1ib3JkZXJdPVwiIW91dGVyQm9yZGVySGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnJvdW5kZWRdPVwicm91bmRlZFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmJvcmRlcl09XCJib3JkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVzZXJuYW1lOyBlbHNlIHN5bWJvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3t1c2VybmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX19XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3N5bWJvbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCJmYWxsYmFja1N5bWJvbFNpemVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzeW1ib2xJZF09XCJmYWxsYmFja1N5bWJvbElkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2FwLXN5bWJvbD5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBpbWFnZSB3aXRoIGZpcnN0IGxldHRlciBvZiBzY3JlZW4gbmFtZSAtLT5cbiAgICA8bmctdGVtcGxhdGUgI25vUGljdHVyZT5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJhcC1hdmF0YXIgYXAtYXZhdGFyLXVzZXJuYW1lIHt7c2l6ZX19XCJcbiAgICAgICAgICAgICAgW2NsYXNzLm91dGVyLWJvcmRlcl09XCIhb3V0ZXJCb3JkZXJIaWRkZW5cIlxuICAgICAgICAgICAgICBbY2xhc3Mucm91bmRlZF09XCJyb3VuZGVkXCJcbiAgICAgICAgICAgICAgW2F0dHIuYm9yZGVyXT1cImJvcmRlclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVzZXJuYW1lOyBlbHNlIHN5bWJvbFwiPlxuICAgICAgICAgICAgICAgIHt7dXNlcm5hbWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCl9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3N5bWJvbD5cbiAgICAgICAgICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICAgICAgICAgIFtzaXplXT1cInN5bWJvbFNpemVCeUF2YXRhclNpemVbc2l6ZV0gPz8gZmFsbGJhY2tTeW1ib2xTaXplXCJcbiAgICAgICAgICAgICAgICAgICAgW3N5bWJvbElkXT1cImZhbGxiYWNrU3ltYm9sSWRcIj5cbiAgICAgICAgICAgICAgICA8L2FwLXN5bWJvbD5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPGRpdiAgKm5nSWY9XCJzb2NpYWxcIlxuICAgICAgICAgIGNsYXNzPVwic29jaWFsLXN5bWJvbC13cmFwcGVyIHt7c29jaWFsfX0ge3tzaXplfX1cIj5cbiAgICAgICAgPGFwLXN5bWJvbCBbc3ltYm9sSWRdPVwic29jaWFsTG9nb1wiXG4gICAgICAgICAgICAgICAgICAgW3NpemVdPVwic29jaWFsU2l6ZVwiPlxuICAgICAgICA8L2FwLXN5bWJvbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwib25saW5lXCIgY2xhc3M9XCJvbmxpbmUtaW5kaWNhdG9yIHt7c2l6ZX19XCI+PC9kaXY+XG5cbjwvZGl2PlxuPGxhYmVsPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbGFiZWw+XG4iXX0=
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9hdmF0YXIvc3JjL2F2YXRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvYXZhdGFyL3NyYy9hdmF0YXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGtCQUFrQixFQUNsQiwwQkFBMEIsRUFDMUIsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLGVBQWUsR0FFbEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2hFLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFdBQVcsRUFDWCxLQUFLLEVBRUwsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQWExQyxNQUFNLDBCQUEwQixHQUErQjtJQUMzRCxFQUFFLEVBQUUsRUFBRTtJQUNOLEVBQUUsRUFBRSxFQUFFO0lBQ04sRUFBRSxFQUFFLEVBQUU7SUFDTixFQUFFLEVBQUUsQ0FBQztJQUNMLEVBQUUsRUFBRSxDQUFDO0lBQ0wsRUFBRSxFQUFFLENBQUM7SUFDTCxFQUFFLEVBQUUsQ0FBQztDQUNSLENBQUM7QUFFRixNQUFNLHNCQUFzQixHQUErQjtJQUN2RCxFQUFFLEVBQUUsRUFBRTtJQUNOLEVBQUUsRUFBRSxFQUFFO0lB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SUFBSTs4SEF5QnhCLGVBQWU7c0JBQTNCLEtBQUs7Z0JBSU8sU0FBUztzQkFBckIsS0FBSztnQkFJTyxRQUFRO3NCQUFwQixLQUFLO2dCQUlPLE9BQU87c0JBQW5CLEtBQUs7Z0JBUU8sTUFBTTtzQkFBbEIsS0FBSztnQkFJTyxjQUFjO3NCQUExQixLQUFLO2dCQUtPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBR0csR0FBRztzQkFBWCxLQUFLO2dCQUdOLGFBQWE7c0JBRFosV0FBVzt1QkFBQyxzQkFBc0I7Z0JBSS9CLE9BQU87c0JBRFYsS0FBSztnQkFNTyxJQUFJO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBhcEZhY2Vib29rT2ZmaWNpYWwsXG4gICAgYXBHb29nbGVNeUJ1c2luZXNzT2ZmaWNpYWwsXG4gICAgYXBMaW5rZWRpbk9mZmljaWFsLFxuICAgIGFwU2hvd1RoZWF0ZXJNYXNrSGFwcHksXG4gICAgYXBTaW5nbGVOZXV0cmFsLFxuICAgIGFwVGlrdG9rT2ZmaWNpYWwsXG4gICAgYXBUd2l0dGVyT2ZmaWNpYWwsXG4gICAgYXBZb3V0dWJlT2ZmaWNpYWwsXG4gICAgYXBQaW50ZXJlc3RPZmZpY2lhbCxcbiAgICBTeW1ib2xDb21wb25lbnQsXG4gICAgU3ltYm9sUmVnaXN0cnksXG59IGZyb20gJ0BhZ29yYXB1bHNlL3VpLXN5bWJvbCc7XG5pbXBvcnQge05nRm9yT2YsIE5nSWYsIE5nT3B0aW1pemVkSW1hZ2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0xldE1vZHVsZX0gZnJvbSAnQG5ncngvY29tcG9uZW50JztcblxuZXhwb3J0IHR5cGUgQXZhdGFyU2l6ZSA9IDU2IHwgNDggfCA0MCB8IDM2IHwgMzIgfCAyNCB8IDE2O1xuZXhwb3J0IHR5cGUgQXZhdGFyTmV0d29yayA9XG4gICAgfCAnZmFjZWJvb2snXG4gICAgfCAnaW5zdGFncmFtJ1xuICAgIHwgJ3R3aXR0ZXInXG4gICAgfCAnbGlua2VkaW4nXG4gICAgfCAndGlrdG9rJ1xuICAgIHwgJ3lvdXR1YmUnXG4gICAgfCAncGludGVyZXN0J1xuICAgIHwgJ2dvb2dsZU15QnVzaW5lc3MnO1xuXG5jb25zdCBvbmxpbmVJY29uU2l6ZUJ5QXZhdGFyU2l6ZTogUmVjb3JkPEF2YXRhclNpemUsIG51bWJlcj4gPSB7XG4gICAgNTY6IDE2LFxuICAgIDQ4OiAxMixcbiAgICA0MDogMTIsXG4gICAgMzY6IDgsXG4gICAgMzI6IDgsXG4gICAgMjQ6IDYsXG4gICAgMTY6IDYsXG59O1xuXG5jb25zdCBzeW1ib2xTaXplQnlBdmF0YXJTaXplOiBSZWNvcmQ8QXZhdGFyU2l6ZSwgbnVtYmVyPiA9IHtcbiAgICA1NjogMjgsXG4gICAgNDg6IDI0LFxuICAgIDQwOiAyMCxcbiAgICAzNjogMTgsXG4gICAgMzI6IDE2LFxuICAgIDI0OiAxMixcbiAgICAxNjogOCxcbn07XG5cbmNvbnN0IG5ldHdvcmtTaXplQnlBdmF0YXJTaXplOiBSZWNvcmQ8QXZhdGFyU2l6ZSwgbnVtYmVyPiA9IHtcbiAgICA1NjogMTYsXG4gICAgNDg6IDE2LFxuICAgIDQwOiAxNixcbiAgICAzNjogMTYsXG4gICAgMzI6IDEyLFxuICAgIDI0OiAxMixcbiAgICAxNjogOCxcbn07XG5cbmNvbnN0IGluaXRpYWxTaXplQnlBdmF0YXJTaXplOiBSZWNvcmQ8QXZhdGFyU2l6ZSwgbnVtYmVyPiA9IHtcbiAgICA1NjogMjgsXG4gICAgNDg6IDI0LFxuICAgIDQwOiAyMixcbiAgICAzNjogMTgsXG4gICAgMzI6IDE4LFxuICAgIDI0OiAxNCxcbiAgICAxNjogMTAsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzZWxlY3RvcjogJ2FwLWF2YXRhcicsXG4gICAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgTmdGb3JPZiwgTmdPcHRpbWl6ZWRJbWFnZSwgU3ltYm9sQ29tcG9uZW50LCBMZXRNb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hdmF0YXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcmVhZG9ubHkgbmV0d29ya1N5bWJvbEJ5TmV0d29yazogUmVjb3JkPEF2YXRhck5ldHdvcmssIHN0cmluZz4gPSB7XG4gICAgICAgIGZhY2Vib29rOiAnZmFjZWJvb2stb2ZmaWNpYWwnLFxuICAgICAgICBpbnN0YWdyYW06ICdpbnN0YWdyYW0tb2ZmaWNpYWwnLFxuICAgICAgICB0d2l0dGVyOiAndHdpdHRlci1vZmZpY2lhbCcsXG4gICAgICAgIGxpbmtlZGluOiAnbGlua2VkaW4tb2ZmaWNpYWwnLFxuICAgICAgICB0aWt0b2s6ICd0aWt0b2stb2ZmaWNpYWwnLFxuICAgICAgICB5b3V0dWJlOiAneW91dHViZS1vZmZpY2lhbCcsXG4gICAgICAgIHBpbnRlcmVzdDogJ3BpbnRlcmVzdC1vZmZpY2lhbCcsXG4gICAgICAgIGdvb2dsZU15QnVzaW5lc3M6ICdnb29nbGUtbXktYnVzaW5lc3Mtb2ZmaWNpYWwnLFxuICAgIH07XG5cbiAgICBzaXplJDogQmVoYXZpb3JTdWJqZWN0PEF2YXRhclNpemU+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdmF0YXJTaXplPig0MCk7XG4gICAgcHJvZmlsZVBpY3R1cmUkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgdW5kZWZpbmVkPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gICAgbmV0d29yayQ6IEJlaGF2aW9yU3ViamVjdDxBdmF0YXJOZXR3b3JrPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXZhdGFyTmV0d29yaz4oJ2ZhY2Vib29rJyk7XG5cbiAgICBwcml2YXRlIGFsdGVybmF0aXZlVGV4dCQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgICBwcml2YXRlIGFub255bW91cyQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIHByaXZhdGUgdXNlcm5hbWUkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gICAgcHJpdmF0ZSBvbmxpbmUkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwcml2YXRlIHNob3dJbml0aWFscyQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIHByaXZhdGUgcm91bmRlZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgQElucHV0KCkgc2V0IGFsdGVybmF0aXZlVGV4dChhbHRlcm5hdGl2ZVRleHQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmFsdGVybmF0aXZlVGV4dCQubmV4dChhbHRlcm5hdGl2ZVRleHQpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBhbm9ueW1vdXMoYW5vbnltb3VzOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuYW5vbnltb3VzJC5uZXh0KGFub255bW91cyk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHVzZXJuYW1lKHVzZXJuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy51c2VybmFtZSQubmV4dCh1c2VybmFtZSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG5ldHdvcmsobmV0d29yazogQXZhdGFyTmV0d29yaykge1xuICAgICAgICB0aGlzLm5ldHdvcmskLm5leHQobmV0d29yayk7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxuICAgICAgICAgICAgJy0tYXAtYXZhdGFyLW5ldHdvcmstc2l6ZScsXG4gICAgICAgICAgICBgJHtuZXR3b3JrU2l6ZUJ5QXZhdGFyU2l6ZVt0aGlzLnNpemUkLnZhbHVlXX1weGBcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgb25saW5lKG9ubGluZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLm9ubGluZSQubmV4dChvbmxpbmUpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBwcm9maWxlUGljdHVyZShwcm9maWxlUGljdHVyZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMucHJvZmlsZVBpY3R1cmUkLm5leHQocHJvZmlsZVBpY3R1cmUpO1xuICAgICAgICB0aGlzLmltYWdlRXJyb3IkLm5leHQoZmFsc2UpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBzaG93SW5pdGlhbHMoc2hvd0luaXRpYWxzOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2hvd0luaXRpYWxzJC5uZXh0KHNob3dJbml0aWFscyk7XG4gICAgfVxuICAgIEBJbnB1dCgpIGFsdDogc3RyaW5nO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5yb3VuZGVkLWF2YXRhcicpXG4gICAgcm91bmRlZEF2YXRhcjogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHJvdW5kZWQocm91bmRlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnJvdW5kZWRBdmF0YXIgPSByb3VuZGVkO1xuICAgICAgICB0aGlzLnJvdW5kZWQkLm5leHQocm91bmRlZCk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHNpemUoc2l6ZTogQXZhdGFyU2l6ZSkge1xuICAgICAgICB0aGlzLnNpemUkLm5leHQoc2l6ZSk7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWFwLWF2YXRhci1zaXplJywgYCR7c2l6ZX1weGApO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1hcC1hdmF0YXItc3ltYm9sLXNpemUnLCBgJHtzeW1ib2xTaXplQnlBdmF0YXJTaXplW3NpemVdfXB4YCk7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxuICAgICAgICAgICAgJy0tYXAtYXZhdGFyLW9ubGluZS1pY29uLXNpemUnLFxuICAgICAgICAgICAgYCR7b25saW5lSWNvblNpemVCeUF2YXRhclNpemVbc2l6ZV19cHhgXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZGlzcGxheVByb2ZpbGVQaWN0dXJlJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KCk7XG4gICAgZGlzcGxheVNpbmdsZU5ldXRyYWxTdmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oKTtcbiAgICBkaXNwbGF5SW5pdGlhbHMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oKTtcbiAgICBkaXNwbGF5QW5vbnltb3VzJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KCk7XG4gICAgZGlzcGxheU5ldHdvcmskOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oKTtcbiAgICBkaXNwbGF5T25saW5lJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KCk7XG4gICAgaW1hZ2VFcnJvciQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIGluaXRpYWxzJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gbmV3IE9ic2VydmFibGU8c3RyaW5nPigpO1xuICAgIGluaXRpYWxzQXZhaWxhYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG9mKGZhbHNlKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc3ltYm9sUmVnaXN0cnk6IFN5bWJvbFJlZ2lzdHJ5LCBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgdGhpcy5zeW1ib2xSZWdpc3RyeS5yZWdpc3RlclN5bWJvbHMoW1xuICAgICAgICAgICAgYXBTaW5nbGVOZXV0cmFsLFxuICAgICAgICAgICAgYXBTaG93VGhlYXRlck1hc2tIYXBweSxcbiAgICAgICAgICAgIGFwRmFjZWJvb2tPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwVHdpdHRlck9mZmljaWFsLFxuICAgICAgICAgICAgYXBMaW5rZWRpbk9mZmljaWFsLFxuICAgICAgICAgICAgYXBZb3V0dWJlT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcFRpa3Rva09mZmljaWFsLFxuICAgICAgICAgICAgYXBHb29nbGVNeUJ1c2luZXNzT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcFBpbnRlcmVzdE9mZmljaWFsLFxuICAgICAgICBdKTtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYXAtYXZhdGFyLXNpemUnLCBgNDBweGApO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcbiAgICAgICAgICAgICctLWFwLWF2YXRhci1zeW1ib2wtc2l6ZScsXG4gICAgICAgICAgICBgJHtzeW1ib2xTaXplQnlBdmF0YXJTaXplW3RoaXMuc2l6ZSQudmFsdWVdfXB4YFxuICAgICAgICApO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRpYWxzQXZhaWxhYmxlJCA9IHRoaXMudXNlcm5hbWUkLnBpcGUoXG4gICAgICAgICAgICBtYXAodXNlcm5hbWUgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiAhIXVzZXJuYW1lO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmRpc3BsYXlQcm9maWxlUGljdHVyZSQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIHRoaXMucHJvZmlsZVBpY3R1cmUkLFxuICAgICAgICAgICAgdGhpcy5hbm9ueW1vdXMkLFxuICAgICAgICAgICAgdGhpcy5pbWFnZUVycm9yJCxcbiAgICAgICAgICAgIHRoaXMuc2hvd0luaXRpYWxzJCxcbiAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW3Byb2ZpbGVQaWN0dXJlLCBhbm9ueW1vdXMsIGltYWdlRXJyb3JdKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhcHJvZmlsZVBpY3R1cmUgJiYgIWFub255bW91cyAmJiAhaW1hZ2VFcnJvcjtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5kaXNwbGF5SW5pdGlhbHMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLnNob3dJbml0aWFscyQsXG4gICAgICAgICAgICB0aGlzLmFub255bW91cyQsXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxzQXZhaWxhYmxlJCxcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheVByb2ZpbGVQaWN0dXJlJCxcbiAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW3Nob3dJbml0aWFscywgYW5vbnltb3VzLCBpbml0aWFsc0F2YWlsYWJsZSwgZGlzcGxheVByb2ZpbGVQaWN0dXJlXSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBzaG93SW5pdGlhbHMgJiYgIWFub255bW91cyAmJiBpbml0aWFsc0F2YWlsYWJsZSAmJiAhZGlzcGxheVByb2ZpbGVQaWN0dXJlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmRpc3BsYXlTaW5nbGVOZXV0cmFsU3ZnJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5wcm9maWxlUGljdHVyZSQsXG4gICAgICAgICAgICB0aGlzLmltYWdlRXJyb3IkLFxuICAgICAgICAgICAgdGhpcy5pbml0aWFsc0F2YWlsYWJsZSQsXG4gICAgICAgICAgICB0aGlzLnNob3dJbml0aWFscyQsXG4gICAgICAgICAgICB0aGlzLmFub255bW91cyQsXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlJbml0aWFscyQsXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlQcm9maWxlUGljdHVyZSQsXG4gICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgKFtcbiAgICAgICAgICAgICAgICAgICAgcHJvZmlsZVBpY3R1cmUsXG4gICAgICAgICAgICAgICAgICAgIGltYWdlRXJyb3IsXG4gICAgICAgICAgICAgICAgICAgIGluaXRpYWxzQXZhaWxhYmxlLFxuICAgICAgICAgICAgICAgICAgICBzaG93SW5pdGlhbHMsXG4gICAgICAgICAgICAgICAgICAgIGFub255bW91cyxcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheUluaXRpYWxzLFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5UHJvZmlsZVBpY3R1cmUsXG4gICAgICAgICAgICAgICAgXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgKCFwcm9maWxlUGljdHVyZSB8fCBpbWFnZUVycm9yIHx8ICFpbml0aWFsc0F2YWlsYWJsZSB8fCAoaW5pdGlhbHNBdmFpbGFibGUgJiYgIXNob3dJbml0aWFscykpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhYW5vbnltb3VzICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhZGlzcGxheUluaXRpYWxzICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhZGlzcGxheVByb2ZpbGVQaWN0dXJlXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuZGlzcGxheUFub255bW91cyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmFub255bW91cyQsIHRoaXMucm91bmRlZCRdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbYW5vbnltb3VzLCByb3VuZGVkXSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBhbm9ueW1vdXMgJiYgcm91bmRlZDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5kaXNwbGF5T25saW5lJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMub25saW5lJCwgdGhpcy5yb3VuZGVkJF0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFtvbmxpbmUsIHJvdW5kZWRdKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9ubGluZSAmJiByb3VuZGVkO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmRpc3BsYXlOZXR3b3JrJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMubmV0d29yayQsIHRoaXMucm91bmRlZCRdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbbmV0d29yaywgcm91bmRlZF0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gISFuZXR3b3JrICYmIHJvdW5kZWQ7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuaW5pdGlhbHMkID0gY29tYmluZUxhdGVzdChbdGhpcy5kaXNwbGF5SW5pdGlhbHMkLCB0aGlzLnVzZXJuYW1lJF0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFtkaXNwbGF5SW5pdGlhbHMsIHVzZXJuYW1lXSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkaXNwbGF5SW5pdGlhbHMgJiYgIXVzZXJuYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXG4gICAgICAgICAgICAgICAgICAgICctLWFwLWF2YXRhci1pbml0aWFscy1zaXplJyxcbiAgICAgICAgICAgICAgICAgICAgYCR7aW5pdGlhbFNpemVCeUF2YXRhclNpemVbdGhpcy5zaXplJC52YWx1ZV19cHhgXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBjb25zdCBuYW1lcyA9IHVzZXJuYW1lLnNwbGl0KCcgJyk7XG4gICAgICAgICAgICAgICAgaWYgKG5hbWVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZXNbMF0uY2hhckF0KDApLnRvVXBwZXJDYXNlKCl9JHtuYW1lc1swXS5jaGFyQXQoMSkudG9VcHBlckNhc2UoKX1gO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZXNbMF0uY2hhckF0KDApLnRvVXBwZXJDYXNlKCl9JHtuYW1lc1tuYW1lcy5sZW5ndGggLSAxXS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX1gO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkltYWdlRXJyb3IoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW1hZ2VFcnJvciQubmV4dCh0cnVlKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyXG4gICAgKm5ncnhMZXQ9XCJ7XG4gICAgICAgIGRpc3BsYXlQcm9maWxlUGljdHVyZTogZGlzcGxheVByb2ZpbGVQaWN0dXJlJCxcbiAgICAgICAgZGlzcGxheVNpbmdsZU5ldXRyYWxTdmc6IGRpc3BsYXlTaW5nbGVOZXV0cmFsU3ZnJCxcbiAgICAgICAgZGlzcGxheUluaXRpYWxzOiBkaXNwbGF5SW5pdGlhbHMkLFxuICAgICAgICBkaXNwbGF5QW5vbnltb3VzOiBkaXNwbGF5QW5vbnltb3VzJCxcbiAgICAgICAgZGlzcGxheU9ubGluZTogZGlzcGxheU9ubGluZSQsXG4gICAgICAgIGRpc3BsYXlOZXR3b3JrOiBkaXNwbGF5TmV0d29yayQsXG4gICAgICAgIGluaXRpYWxzOiBpbml0aWFscyQsXG4gICAgICAgIHByb2ZpbGVQaWN0dXJlOiBwcm9maWxlUGljdHVyZSQsXG4gICAgICAgIHNpemU6IHNpemUkLFxuICAgICAgICBuZXR3b3JrOiBuZXR3b3JrJFxuICAgIH0gYXMgYXZhdGFyVmlld01vZGVsXCI+XG4gICAgPGltZ1xuICAgICAgICAqbmdJZj1cImF2YXRhclZpZXdNb2RlbC5kaXNwbGF5UHJvZmlsZVBpY3R1cmVcIlxuICAgICAgICBbbmdTcmNdPVwiYXZhdGFyVmlld01vZGVsLnByb2ZpbGVQaWN0dXJlXCJcbiAgICAgICAgW3dpZHRoXT1cImF2YXRhclZpZXdNb2RlbC5zaXplXCJcbiAgICAgICAgW2hlaWdodF09XCJhdmF0YXJWaWV3TW9kZWwuc2l6ZVwiXG4gICAgICAgIFthbHRdPVwiYWx0XCJcbiAgICAgICAgKGVycm9yKT1cIm9uSW1hZ2VFcnJvcigpXCIgLz5cbiAgICA8ZGl2ICpuZ0lmPVwiYXZhdGFyVmlld01vZGVsLmRpc3BsYXlTaW5nbGVOZXV0cmFsU3ZnXCIgY2xhc3M9XCJuby1wcm9maWxlLXBpY3R1cmVcIj5cbiAgICAgICAgPGFwLXN5bWJvbCBzeW1ib2xJZD1cInNpbmdsZS1uZXV0cmFsXCI+PC9hcC1zeW1ib2w+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiYXZhdGFyVmlld01vZGVsLmRpc3BsYXlBbm9ueW1vdXNcIiBjbGFzcz1cImFub255bW91c1wiPlxuICAgICAgICA8YXAtc3ltYm9sIHN5bWJvbElkPVwic2hvdy10aGVhdGVyLW1hc2staGFwcHlcIj48L2FwLXN5bWJvbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiYXZhdGFyVmlld01vZGVsLmRpc3BsYXlPbmxpbmVcIiBjbGFzcz1cIm9ubGluZVwiPjwvZGl2PlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJhdmF0YXJWaWV3TW9kZWwuZGlzcGxheU5ldHdvcmtcIlxuICAgICAgICBjbGFzcz1cIm5ldHdvcmtcIlxuICAgICAgICBbY2xhc3MuZmFjZWJvb2tdPVwiYXZhdGFyVmlld01vZGVsLm5ldHdvcmsgPT09ICdmYWNlYm9vaydcIlxuICAgICAgICBbY2xhc3MubGlua2VkaW5dPVwiYXZhdGFyVmlld01vZGVsLm5ldHdvcmsgPT09ICdsaW5rZWRpbidcIlxuICAgICAgICBbY2xhc3MudHdpdHRlcl09XCJhdmF0YXJWaWV3TW9kZWwubmV0d29yayA9PT0gJ3R3aXR0ZXInXCJcbiAgICAgICAgW2NsYXNzLnlvdXR1YmVdPVwiYXZhdGFyVmlld01vZGVsLm5ldHdvcmsgPT09ICd5b3V0dWJlJ1wiXG4gICAgICAgIFtjbGFzcy5nb29nbGVNeUJ1c2luZXNzXT1cImF2YXRhclZpZXdNb2RlbC5uZXR3b3JrID09PSAnZ29vZ2xlTXlCdXNpbmVzcydcIlxuICAgICAgICBbY2xhc3MuaW5zdGFncmFtXT1cImF2YXRhclZpZXdNb2RlbC5uZXR3b3JrID09PSAnaW5zdGFncmFtJ1wiXG4gICAgICAgIFtjbGFzcy50aWt0b2tdPVwiYXZhdGFyVmlld01vZGVsLm5ldHdvcmsgPT09ICd0aWt0b2snXCI+XG4gICAgICAgIDxhcC1zeW1ib2wgW3N5bWJvbElkXT1cIm5ldHdvcmtTeW1ib2xCeU5ldHdvcmtbYXZhdGFyVmlld01vZGVsLm5ldHdvcmtdXCI+PC9hcC1zeW1ib2w+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiYXZhdGFyVmlld01vZGVsLmRpc3BsYXlJbml0aWFsc1wiIGNsYXNzPVwiaW5pdGlhbHNcIj5cbiAgICAgICAge3sgYXZhdGFyVmlld01vZGVsLmluaXRpYWxzIH19XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|