stream-chat-angular 6.0.0-beta.5 → 6.0.0-rc.2
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/README.md +2 -2
- package/assets/i18n/en.d.ts +0 -1
- package/assets/version.d.ts +1 -1
- package/{esm2022 → esm2020}/assets/i18n/en.mjs +1 -2
- package/{esm2022 → esm2020}/assets/version.mjs +2 -2
- package/esm2020/lib/attachment-configuration.service.mjs +182 -0
- package/esm2020/lib/attachment-list/attachment-list.component.mjs +232 -0
- package/esm2020/lib/attachment-preview-list/attachment-preview-list.component.mjs +55 -0
- package/esm2020/lib/attachment.service.mjs +481 -0
- package/esm2020/lib/avatar/avatar.component.mjs +160 -0
- package/esm2020/lib/avatar-placeholder/avatar-placeholder.component.mjs +66 -0
- package/esm2020/lib/channel/channel.component.mjs +45 -0
- package/esm2020/lib/channel-header/channel-header.component.mjs +72 -0
- package/esm2020/lib/channel-list/channel-list.component.mjs +47 -0
- package/esm2020/lib/channel-preview/channel-preview.component.mjs +155 -0
- package/esm2020/lib/channel-query.mjs +77 -0
- package/esm2020/lib/channel.service.mjs +1561 -0
- package/esm2020/lib/chat-client.service.mjs +233 -0
- package/esm2020/lib/custom-templates.service.mjs +244 -0
- package/{esm2022 → esm2020}/lib/date-parser.service.mjs +5 -5
- package/esm2020/lib/file-utils.mjs +35 -0
- package/{esm2022 → esm2020}/lib/get-channel-display-text.mjs +1 -1
- package/esm2020/lib/get-message-translation.mjs +12 -0
- package/esm2020/lib/icon/icon-placeholder/icon-placeholder.component.mjs +28 -0
- package/{esm2022 → esm2020}/lib/icon/icon.component.mjs +5 -5
- package/{esm2022 → esm2020}/lib/icon/icon.module.mjs +11 -11
- package/{esm2022 → esm2020}/lib/icon/loading-indicator/loading-indicator.component.mjs +5 -5
- package/esm2020/lib/icon/loading-indicator-placeholder/loading-indicator-placeholder.component.mjs +20 -0
- package/{esm2022 → esm2020}/lib/list-users.mjs +1 -1
- package/esm2020/lib/message/message.component.mjs +486 -0
- package/esm2020/lib/message-actions-box/message-actions-box.component.mjs +123 -0
- package/esm2020/lib/message-actions.service.mjs +187 -0
- package/esm2020/lib/message-bounce-prompt/message-bounce-prompt.component.mjs +71 -0
- package/esm2020/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.mjs +333 -0
- package/{esm2022 → esm2020}/lib/message-input/emoji-input.service.mjs +7 -7
- package/esm2020/lib/message-input/message-input-config.service.mjs +50 -0
- package/esm2020/lib/message-input/message-input.component.mjs +507 -0
- package/{esm2022 → esm2020}/lib/message-input/textarea/textarea.component.mjs +6 -6
- package/{esm2022 → esm2020}/lib/message-input/textarea.directive.mjs +5 -5
- package/{esm2022 → esm2020}/lib/message-input/voice-recorder.service.mjs +5 -5
- package/{esm2022 → esm2020}/lib/message-list/group-styles.mjs +1 -1
- package/esm2020/lib/message-list/message-list.component.mjs +717 -0
- package/esm2020/lib/message-preview.mjs +21 -0
- package/esm2020/lib/message-reactions/message-reactions.component.mjs +168 -0
- package/esm2020/lib/message-reactions-selector/message-reactions-selector.component.mjs +61 -0
- package/{esm2022 → esm2020}/lib/message-reactions.service.mjs +6 -6
- package/esm2020/lib/message-text/message-text.component.mjs +143 -0
- package/esm2020/lib/message.service.mjs +43 -0
- package/{esm2022 → esm2020}/lib/modal/modal.component.mjs +6 -6
- package/esm2020/lib/notification/notification.component.mjs +20 -0
- package/esm2020/lib/notification-list/notification-list.component.mjs +36 -0
- package/{esm2022 → esm2020}/lib/notification.service.mjs +6 -6
- package/esm2020/lib/paginated-list/paginated-list.component.mjs +94 -0
- package/{esm2022 → esm2020}/lib/parse-date.mjs +1 -1
- package/esm2020/lib/read-by.mjs +12 -0
- package/esm2020/lib/stream-autocomplete-textarea.module.mjs +33 -0
- package/{esm2022 → esm2020}/lib/stream-avatar.module.mjs +5 -5
- package/{esm2022 → esm2020}/lib/stream-chat.module.mjs +59 -59
- package/{esm2022 → esm2020}/lib/stream-i18n.service.mjs +6 -6
- package/esm2020/lib/stream-textarea.module.mjs +31 -0
- package/{esm2022 → esm2020}/lib/theme.service.mjs +6 -6
- package/esm2020/lib/thread/thread.component.mjs +51 -0
- package/{esm2022 → esm2020}/lib/transliteration.service.mjs +5 -5
- package/esm2020/lib/types-custom.mjs +2 -0
- package/esm2020/lib/types.mjs +2 -0
- package/esm2020/lib/user-list/user-list.component.mjs +47 -0
- package/esm2020/lib/virtualized-list.service.mjs +271 -0
- package/{esm2022 → esm2020}/lib/virtualized-message-list.service.mjs +1 -1
- package/{esm2022 → esm2020}/lib/voice-recorder/amplitude-recorder.service.mjs +5 -5
- package/{esm2022 → esm2020}/lib/voice-recorder/audio-recorder.service.mjs +5 -5
- package/{esm2022 → esm2020}/lib/voice-recorder/media-recorder.mjs +1 -1
- package/esm2020/lib/voice-recorder/mp3-transcoder.mjs +61 -0
- package/esm2020/lib/voice-recorder/transcoder.service.mjs +121 -0
- package/esm2020/lib/voice-recorder/voice-recorder-wavebar/voice-recorder-wavebar.component.mjs +35 -0
- package/esm2020/lib/voice-recorder/voice-recorder.component.mjs +80 -0
- package/{esm2022 → esm2020}/lib/voice-recorder/voice-recorder.module.mjs +9 -9
- package/esm2020/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.mjs +112 -0
- package/esm2020/lib/voice-recording/voice-recording.component.mjs +91 -0
- package/{esm2022 → esm2020}/lib/voice-recording/voice-recording.module.mjs +5 -5
- package/{esm2022 → esm2020}/lib/wave-form-sampler.mjs +1 -1
- package/esm2020/public-api.mjs +86 -0
- package/esm2020/stream-chat.mjs +2 -0
- package/fesm2015/stream-chat-angular.mjs +9171 -0
- package/fesm2015/stream-chat-angular.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/stream-chat-angular.mjs +1251 -961
- package/fesm2020/stream-chat-angular.mjs.map +1 -0
- package/lib/attachment-configuration.service.d.ts +12 -12
- package/lib/attachment-list/attachment-list.component.d.ts +15 -10
- package/lib/attachment-preview-list/attachment-preview-list.component.d.ts +1 -1
- package/lib/attachment.service.d.ts +12 -10
- package/lib/avatar/avatar.component.d.ts +7 -7
- package/lib/avatar-placeholder/avatar-placeholder.component.d.ts +5 -5
- package/lib/channel/channel.component.d.ts +1 -1
- package/lib/channel-header/channel-header.component.d.ts +2 -2
- package/lib/channel-list/channel-list.component.d.ts +3 -4
- package/lib/channel-preview/channel-preview.component.d.ts +6 -6
- package/lib/channel-query.d.ts +26 -0
- package/lib/channel.service.d.ts +146 -154
- package/lib/chat-client.service.d.ts +17 -15
- package/lib/custom-templates.service.d.ts +50 -50
- package/lib/get-channel-display-text.d.ts +1 -2
- package/lib/get-message-translation.d.ts +3 -3
- package/lib/icon/icon-placeholder/icon-placeholder.component.d.ts +2 -2
- package/lib/icon/icon.component.d.ts +2 -2
- package/lib/icon/loading-indicator-placeholder/loading-indicator-placeholder.component.d.ts +1 -1
- package/lib/message/message.component.d.ts +6 -6
- package/lib/message-actions-box/message-actions-box.component.d.ts +5 -4
- package/lib/message-actions.service.d.ts +10 -10
- package/lib/message-bounce-prompt/message-bounce-prompt.component.d.ts +1 -1
- package/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.d.ts +5 -5
- package/lib/message-input/emoji-input.service.d.ts +2 -2
- package/lib/message-input/message-input-config.service.d.ts +3 -3
- package/lib/message-input/message-input.component.d.ts +10 -33
- package/lib/message-input/textarea/textarea.component.d.ts +3 -3
- package/lib/message-input/textarea.directive.d.ts +1 -1
- package/lib/message-list/group-styles.d.ts +1 -1
- package/lib/message-list/message-list.component.d.ts +3 -2
- package/lib/message-preview.d.ts +2 -3
- package/lib/message-reactions/message-reactions.component.d.ts +9 -8
- package/lib/message-reactions-selector/message-reactions-selector.component.d.ts +6 -5
- package/lib/message-reactions.service.d.ts +4 -4
- package/lib/message-text/message-text.component.d.ts +5 -5
- package/lib/message.service.d.ts +6 -7
- package/lib/modal/modal.component.d.ts +1 -1
- package/lib/notification/notification.component.d.ts +2 -2
- package/lib/notification-list/notification-list.component.d.ts +1 -0
- package/lib/notification.service.d.ts +1 -1
- package/lib/paginated-list/paginated-list.component.d.ts +2 -5
- package/lib/read-by.d.ts +1 -2
- package/lib/stream-i18n.service.d.ts +1 -1
- package/lib/theme.service.d.ts +1 -1
- package/lib/thread/thread.component.d.ts +3 -3
- package/lib/types-custom.d.ts +15 -0
- package/lib/types.d.ts +116 -155
- package/lib/user-list/user-list.component.d.ts +2 -3
- package/lib/virtualized-message-list.service.d.ts +1 -1
- package/lib/voice-recorder/amplitude-recorder.service.d.ts +2 -2
- package/lib/voice-recorder/media-recorder.d.ts +2 -2
- package/lib/voice-recorder/transcoder.service.d.ts +4 -4
- package/lib/voice-recorder/voice-recorder-wavebar/voice-recorder-wavebar.component.d.ts +1 -0
- package/lib/voice-recorder/voice-recorder.component.d.ts +2 -2
- package/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.d.ts +3 -3
- package/lib/voice-recording/voice-recording.component.d.ts +2 -3
- package/package.json +21 -15
- package/public-api.d.ts +3 -0
- package/src/assets/i18n/en.ts +0 -1
- package/src/assets/version.ts +1 -1
- package/esm2022/lib/attachment-configuration.service.mjs +0 -185
- package/esm2022/lib/attachment-list/attachment-list.component.mjs +0 -212
- package/esm2022/lib/attachment-preview-list/attachment-preview-list.component.mjs +0 -55
- package/esm2022/lib/attachment.service.mjs +0 -479
- package/esm2022/lib/avatar/avatar.component.mjs +0 -157
- package/esm2022/lib/avatar-placeholder/avatar-placeholder.component.mjs +0 -66
- package/esm2022/lib/channel/channel.component.mjs +0 -45
- package/esm2022/lib/channel-header/channel-header.component.mjs +0 -72
- package/esm2022/lib/channel-list/channel-list.component.mjs +0 -50
- package/esm2022/lib/channel-preview/channel-preview.component.mjs +0 -150
- package/esm2022/lib/channel.service.mjs +0 -1393
- package/esm2022/lib/chat-client.service.mjs +0 -227
- package/esm2022/lib/custom-templates.service.mjs +0 -244
- package/esm2022/lib/file-utils.mjs +0 -35
- package/esm2022/lib/get-message-translation.mjs +0 -12
- package/esm2022/lib/icon/icon-placeholder/icon-placeholder.component.mjs +0 -28
- package/esm2022/lib/icon/loading-indicator-placeholder/loading-indicator-placeholder.component.mjs +0 -20
- package/esm2022/lib/message/message.component.mjs +0 -486
- package/esm2022/lib/message-actions-box/message-actions-box.component.mjs +0 -120
- package/esm2022/lib/message-actions.service.mjs +0 -187
- package/esm2022/lib/message-bounce-prompt/message-bounce-prompt.component.mjs +0 -71
- package/esm2022/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.mjs +0 -333
- package/esm2022/lib/message-input/message-input-config.service.mjs +0 -50
- package/esm2022/lib/message-input/message-input.component.mjs +0 -507
- package/esm2022/lib/message-list/message-list.component.mjs +0 -715
- package/esm2022/lib/message-preview.mjs +0 -21
- package/esm2022/lib/message-reactions/message-reactions.component.mjs +0 -165
- package/esm2022/lib/message-reactions-selector/message-reactions-selector.component.mjs +0 -57
- package/esm2022/lib/message-text/message-text.component.mjs +0 -143
- package/esm2022/lib/message.service.mjs +0 -43
- package/esm2022/lib/notification/notification.component.mjs +0 -20
- package/esm2022/lib/notification-list/notification-list.component.mjs +0 -33
- package/esm2022/lib/paginated-list/paginated-list.component.mjs +0 -94
- package/esm2022/lib/read-by.mjs +0 -12
- package/esm2022/lib/stream-autocomplete-textarea.module.mjs +0 -33
- package/esm2022/lib/stream-textarea.module.mjs +0 -31
- package/esm2022/lib/thread/thread.component.mjs +0 -51
- package/esm2022/lib/types.mjs +0 -2
- package/esm2022/lib/user-list/user-list.component.mjs +0 -47
- package/esm2022/lib/virtualized-list.service.mjs +0 -273
- package/esm2022/lib/voice-recorder/mp3-transcoder.mjs +0 -61
- package/esm2022/lib/voice-recorder/transcoder.service.mjs +0 -121
- package/esm2022/lib/voice-recorder/voice-recorder-wavebar/voice-recorder-wavebar.component.mjs +0 -32
- package/esm2022/lib/voice-recorder/voice-recorder.component.mjs +0 -80
- package/esm2022/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.mjs +0 -112
- package/esm2022/lib/voice-recording/voice-recording.component.mjs +0 -91
- package/esm2022/public-api.mjs +0 -82
- package/fesm2022/stream-chat-angular.mjs.map +0 -1
- /package/{esm2022 → esm2020}/lib/format-duration.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/injection-tokens.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/is-image-attachment.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/is-on-separate-date.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/is-safari.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/message-input/textarea.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/stream-chat-angular.mjs +0 -0
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
import { BehaviorSubject, Subject, combineLatest, distinctUntilChanged, filter, merge, of, pairwise, switchMap, take, } from 'rxjs';
|
|
2
|
+
/**
|
|
3
|
+
* The `VirtualizedListService` removes items from a list that are not currently displayed. This is a high-level overview of how it works:
|
|
4
|
+
* - Create a new instance for each list that needs virtualization
|
|
5
|
+
* - Input: Provide a reactive stream that emits all items in the list
|
|
6
|
+
* - Input: Provide a reactive stream that emit the current scroll position (top, middle or bottom)
|
|
7
|
+
* - Input: maximum number of items that are allowed in the list (in practice the service can make the virtualized list half this number, you should take this into account when choosing the value)
|
|
8
|
+
* - Output: The service will emit the current list of displayed items via the virtualized items reactive stream
|
|
9
|
+
* - For simplicity, the service won't track the height of the items, nor it needs an exact scroll location -> this is how removing items work:
|
|
10
|
+
* - If scroll location is bottom/top items around the current bottom/top item will be emitted in the virtualized items stream
|
|
11
|
+
* - If scroll location is middle, the service won't remove items, if new items are received, those will be appended to the virtualized list (this means that in theory the list can grow very big if a lot of new items are received while the user is scrolled somewhere, this is a trade-off for the simplicity of no height tracking)
|
|
12
|
+
* - Since there is no height tracking, you should make sure to provide a maximum number that is big enough to fill the biggest expected screen size twice
|
|
13
|
+
* - If the user scrolls to the bottom/top and there are no more local items to show, the service will trigger a query to load more items
|
|
14
|
+
* - Input: you should provide the page size to use, in order for the service to determine if loading is necessary
|
|
15
|
+
*
|
|
16
|
+
* The `VirtualizedMessageListService` provides an implementation for the message list component.
|
|
17
|
+
*/
|
|
18
|
+
export class VirtualizedListService {
|
|
19
|
+
constructor(allItems$, scrollPosition$, jumpToItem$, pageSize = 25, maxItemCount = pageSize * 4) {
|
|
20
|
+
this.allItems$ = allItems$;
|
|
21
|
+
this.scrollPosition$ = scrollPosition$;
|
|
22
|
+
this.jumpToItem$ = jumpToItem$;
|
|
23
|
+
this.pageSize = pageSize;
|
|
24
|
+
this.maxItemCount = maxItemCount;
|
|
25
|
+
this.queryStateSubject = new BehaviorSubject({
|
|
26
|
+
state: 'success',
|
|
27
|
+
});
|
|
28
|
+
this.bufferOnTop = 0;
|
|
29
|
+
this.bufferOnBottom = 0;
|
|
30
|
+
this.loadFromBuffer$ = new Subject();
|
|
31
|
+
this.virtualizedItemsSubject = new BehaviorSubject([]);
|
|
32
|
+
this.subscriptions = [];
|
|
33
|
+
this.virtualizedItems$ = this.virtualizedItemsSubject.asObservable();
|
|
34
|
+
this.queryState$ = this.queryStateSubject.asObservable();
|
|
35
|
+
this.subscriptions.push(this.virtualizedItems$.subscribe((virtaluzedItems) => {
|
|
36
|
+
this.allItems$.pipe(take(1)).subscribe((allItems) => {
|
|
37
|
+
if (virtaluzedItems.length === allItems.length) {
|
|
38
|
+
this.bufferOnTop = 0;
|
|
39
|
+
this.bufferOnBottom = 0;
|
|
40
|
+
}
|
|
41
|
+
else if (virtaluzedItems.length === 0) {
|
|
42
|
+
this.bufferOnTop = allItems.length;
|
|
43
|
+
this.bufferOnBottom = 0;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
this.bufferOnTop = allItems.indexOf(virtaluzedItems[0]);
|
|
47
|
+
this.bufferOnBottom =
|
|
48
|
+
allItems.length -
|
|
49
|
+
allItems.indexOf(virtaluzedItems[virtaluzedItems.length - 1]) -
|
|
50
|
+
1;
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}));
|
|
54
|
+
this.subscriptions.push(merge(this.allItems$, this.loadFromBuffer$)
|
|
55
|
+
.pipe(switchMap(() => {
|
|
56
|
+
return combineLatest([
|
|
57
|
+
this.allItems$.pipe(take(1)),
|
|
58
|
+
this.scrollPosition$.pipe(take(1)),
|
|
59
|
+
]);
|
|
60
|
+
}))
|
|
61
|
+
.subscribe(([items, scrollPosition]) => {
|
|
62
|
+
if (scrollPosition === 'middle') {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const currentItems = this.virtualizedItemsSubject.getValue();
|
|
66
|
+
if (items.length <= this.maxItemCount) {
|
|
67
|
+
this.virtualizedItemsSubject.next(items);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
let startIndex = 0;
|
|
71
|
+
let endIndex = undefined;
|
|
72
|
+
const numberOfItemsToRemove = items.length - Math.round(this.maxItemCount / 2);
|
|
73
|
+
const numberOfItemsAfterRemove = items.length - numberOfItemsToRemove;
|
|
74
|
+
switch (scrollPosition) {
|
|
75
|
+
case 'top':
|
|
76
|
+
if (currentItems.length > 0) {
|
|
77
|
+
const middleIndex = items.findIndex((i) => this.isEqual(i, currentItems[0]));
|
|
78
|
+
if (middleIndex !== -1) {
|
|
79
|
+
startIndex = Math.max(0, middleIndex - Math.ceil(numberOfItemsAfterRemove / 2));
|
|
80
|
+
endIndex = startIndex + numberOfItemsAfterRemove;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
endIndex = numberOfItemsAfterRemove;
|
|
85
|
+
}
|
|
86
|
+
break;
|
|
87
|
+
case 'bottom':
|
|
88
|
+
if (currentItems.length > 0) {
|
|
89
|
+
const middleIndex = items.findIndex((i) => this.isEqual(i, currentItems[currentItems.length - 1]));
|
|
90
|
+
if (middleIndex !== -1) {
|
|
91
|
+
endIndex = Math.min(items.length, middleIndex + Math.floor(numberOfItemsAfterRemove / 2) + 1);
|
|
92
|
+
startIndex = endIndex - numberOfItemsAfterRemove;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
startIndex = items.length - numberOfItemsAfterRemove;
|
|
97
|
+
}
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
const virtualizedItems = items.slice(startIndex, endIndex);
|
|
101
|
+
this.virtualizedItemsSubject.next(virtualizedItems);
|
|
102
|
+
}
|
|
103
|
+
}));
|
|
104
|
+
this.subscriptions.push(this.scrollPosition$
|
|
105
|
+
.pipe(distinctUntilChanged())
|
|
106
|
+
.subscribe((position) => {
|
|
107
|
+
if (this.queryStateSubject.getValue().state === `loading-${position}`) {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
if (position === 'top') {
|
|
111
|
+
if (this.bufferOnTop < this.pageSize) {
|
|
112
|
+
void this.loadMore(position);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
this.loadMoreFromBuffer('top');
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
else if (position === 'bottom') {
|
|
119
|
+
if (this.bufferOnBottom < this.pageSize) {
|
|
120
|
+
void this.loadMore(position);
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
this.loadMoreFromBuffer('bottom');
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}));
|
|
127
|
+
this.subscriptions.push(this.allItems$
|
|
128
|
+
.pipe(pairwise(), filter(() => {
|
|
129
|
+
let scrollPosition;
|
|
130
|
+
this.scrollPosition$
|
|
131
|
+
.pipe(take(1))
|
|
132
|
+
.subscribe((s) => (scrollPosition = s));
|
|
133
|
+
return scrollPosition === 'middle';
|
|
134
|
+
}))
|
|
135
|
+
.subscribe(([prevItems, currentItems]) => {
|
|
136
|
+
if (currentItems.length < this.maxItemCount ||
|
|
137
|
+
this.virtualizedItems.length === 0) {
|
|
138
|
+
this.virtualizedItemsSubject.next(currentItems);
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
const currentFirstItem = this.virtualizedItems[0];
|
|
142
|
+
const currentLastItem = this.virtualizedItems[this.virtualizedItems.length - 1];
|
|
143
|
+
const prevStartIndex = prevItems.findIndex((i) => this.isEqual(i, currentFirstItem));
|
|
144
|
+
const prevEndIndex = prevItems.findIndex((i) => this.isEqual(i, currentLastItem));
|
|
145
|
+
const isStartRemainedSame = currentItems[prevStartIndex]
|
|
146
|
+
? this.isEqual(currentItems[prevStartIndex], currentFirstItem)
|
|
147
|
+
: false;
|
|
148
|
+
const isEndRemainedSame = currentItems[prevEndIndex]
|
|
149
|
+
? this.isEqual(currentItems[prevEndIndex], currentLastItem)
|
|
150
|
+
: false;
|
|
151
|
+
const hasNewItemsBottom = prevEndIndex === prevItems.length - 1 && isEndRemainedSame
|
|
152
|
+
? prevItems.length !== currentItems.length
|
|
153
|
+
: false;
|
|
154
|
+
if (isStartRemainedSame && isEndRemainedSame) {
|
|
155
|
+
const endIndex = hasNewItemsBottom ? undefined : prevEndIndex + 1;
|
|
156
|
+
this.virtualizedItemsSubject.next(currentItems.slice(prevStartIndex, endIndex));
|
|
157
|
+
}
|
|
158
|
+
let currentStartIndex = isStartRemainedSame ? prevStartIndex : -1;
|
|
159
|
+
let currentEndIndex = isEndRemainedSame ? prevEndIndex : -1;
|
|
160
|
+
if (!isStartRemainedSame) {
|
|
161
|
+
currentStartIndex = currentItems.findIndex((i) => this.isEqual(i, currentFirstItem));
|
|
162
|
+
}
|
|
163
|
+
if (!isEndRemainedSame) {
|
|
164
|
+
currentEndIndex = currentItems.findIndex((i) => this.isEqual(i, currentLastItem));
|
|
165
|
+
}
|
|
166
|
+
const hasNewItemsTop = prevStartIndex === 0 && !isStartRemainedSame
|
|
167
|
+
? currentStartIndex !== 0
|
|
168
|
+
: false;
|
|
169
|
+
if (currentStartIndex !== -1 && currentEndIndex !== -1) {
|
|
170
|
+
const startIndex = hasNewItemsTop ? 0 : currentStartIndex;
|
|
171
|
+
this.virtualizedItemsSubject.next(currentItems.slice(startIndex, currentEndIndex + 1));
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
if (currentStartIndex === -1 && currentEndIndex !== -1) {
|
|
175
|
+
currentStartIndex = Math.max(0, currentEndIndex - (prevEndIndex - prevStartIndex));
|
|
176
|
+
}
|
|
177
|
+
if (currentEndIndex === -1 && currentStartIndex !== -1) {
|
|
178
|
+
currentEndIndex = Math.min(currentItems.length - 1, currentStartIndex + (prevEndIndex - prevStartIndex));
|
|
179
|
+
}
|
|
180
|
+
this.virtualizedItemsSubject.next(currentItems.slice(currentStartIndex, currentEndIndex + 1));
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}));
|
|
184
|
+
if (this.jumpToItem$) {
|
|
185
|
+
this.subscriptions.push(this.jumpToItem$
|
|
186
|
+
.pipe(switchMap((jumpToItem) => combineLatest([this.allItems$.pipe(take(1)), of(jumpToItem)])))
|
|
187
|
+
.subscribe(([allItems, jumpToItem]) => {
|
|
188
|
+
if (jumpToItem.item) {
|
|
189
|
+
if (allItems.length < this.maxItemCount) {
|
|
190
|
+
this.virtualizedItemsSubject.next(allItems);
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
const itemIndex = allItems.findIndex((i) =>
|
|
194
|
+
// @ts-expect-error TODO: do we know a better typing here?
|
|
195
|
+
this.isEqual(i, jumpToItem.item));
|
|
196
|
+
if (itemIndex === -1) {
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
const position = jumpToItem.position || 'middle';
|
|
201
|
+
const numberOfItemsToRemove = allItems.length - Math.round(this.maxItemCount / 2);
|
|
202
|
+
const numberOfItemsAfterRemove = allItems.length - numberOfItemsToRemove;
|
|
203
|
+
let startIndex = -1;
|
|
204
|
+
let endIndex = -1;
|
|
205
|
+
switch (position) {
|
|
206
|
+
case 'top':
|
|
207
|
+
startIndex = itemIndex;
|
|
208
|
+
endIndex = Math.min(allItems.length, startIndex + numberOfItemsAfterRemove);
|
|
209
|
+
break;
|
|
210
|
+
case 'bottom':
|
|
211
|
+
endIndex = itemIndex + 1;
|
|
212
|
+
startIndex = Math.max(0, endIndex - numberOfItemsAfterRemove);
|
|
213
|
+
break;
|
|
214
|
+
case 'middle': {
|
|
215
|
+
const itemsOnTop = itemIndex;
|
|
216
|
+
const itemsOnBottom = allItems.length - itemIndex;
|
|
217
|
+
if (itemsOnTop < Math.ceil(numberOfItemsAfterRemove / 2)) {
|
|
218
|
+
startIndex = 0;
|
|
219
|
+
}
|
|
220
|
+
if (itemsOnBottom <
|
|
221
|
+
Math.floor(numberOfItemsAfterRemove / 2) + 1) {
|
|
222
|
+
endIndex = allItems.length;
|
|
223
|
+
}
|
|
224
|
+
if (startIndex === -1) {
|
|
225
|
+
if (endIndex !== -1) {
|
|
226
|
+
startIndex = endIndex - numberOfItemsAfterRemove;
|
|
227
|
+
}
|
|
228
|
+
else {
|
|
229
|
+
startIndex =
|
|
230
|
+
itemIndex - Math.ceil(numberOfItemsAfterRemove / 2);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
if (endIndex === -1) {
|
|
234
|
+
endIndex = startIndex + numberOfItemsAfterRemove;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
this.virtualizedItemsSubject.next(allItems.slice(startIndex, endIndex));
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}));
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* The current value of virtualized items
|
|
247
|
+
*/
|
|
248
|
+
get virtualizedItems() {
|
|
249
|
+
return this.virtualizedItemsSubject.getValue();
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Remove all subscriptions, call this once you're done using an instance of this service
|
|
253
|
+
*/
|
|
254
|
+
dispose() {
|
|
255
|
+
this.subscriptions.forEach((s) => s.unsubscribe());
|
|
256
|
+
}
|
|
257
|
+
loadMoreFromBuffer(_) {
|
|
258
|
+
this.loadFromBuffer$.next();
|
|
259
|
+
}
|
|
260
|
+
async loadMore(direction) {
|
|
261
|
+
this.queryStateSubject.next({ state: `loading-${direction}` });
|
|
262
|
+
try {
|
|
263
|
+
await this.query(direction);
|
|
264
|
+
this.queryStateSubject.next({ state: 'success' });
|
|
265
|
+
}
|
|
266
|
+
catch (e) {
|
|
267
|
+
this.queryStateSubject.next({ state: 'error', error: e });
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbGl6ZWQtbGlzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL3ZpcnR1YWxpemVkLWxpc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZUFBZSxFQUVmLE9BQU8sRUFFUCxhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixLQUFLLEVBQ0wsRUFBRSxFQUNGLFFBQVEsRUFDUixTQUFTLEVBQ1QsSUFBSSxHQUNMLE1BQU0sTUFBTSxDQUFDO0FBUWQ7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsTUFBTSxPQUFnQixzQkFBc0I7SUFrQjFDLFlBQ1UsU0FBMEIsRUFDMUIsZUFBMEQsRUFDbEQsV0FHZCxFQUNjLFdBQVcsRUFBRSxFQUNiLGVBQWUsUUFBUSxHQUFHLENBQUM7UUFQbkMsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFDMUIsb0JBQWUsR0FBZixlQUFlLENBQTJDO1FBQ2xELGdCQUFXLEdBQVgsV0FBVyxDQUd6QjtRQUNjLGFBQVEsR0FBUixRQUFRLENBQUs7UUFDYixpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQWpCbkMsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQTRCO1lBQzNFLEtBQUssRUFBRSxTQUFTO1NBQ2pCLENBQUMsQ0FBQztRQUNPLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLG1CQUFjLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUN4Qyw0QkFBdUIsR0FBRyxJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMsQ0FBQztRQUN2RCxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFZekMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNyRSxJQUFJLENBQUMsV0FBVyxH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Qyx1QkFBdUIsQ0FBQyxJQUFJLENBQy9CLFFBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUNyQyxDQUFDO3lCQUNIO3FCQUNGO2lCQUNGO1lBQ0gsQ0FBQyxDQUFDLENBQ0wsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTztRQUNMLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRVMsa0JBQWtCLENBQUMsQ0FBZ0M7UUFDM0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUF3QztRQUM3RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFdBQVcsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELElBQUk7WUFDRixNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1NBQ25EO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMzRDtJQUNILENBQUM7Q0FPRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgU3Vic2NyaXB0aW9uLFxuICBjb21iaW5lTGF0ZXN0LFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgZmlsdGVyLFxuICBtZXJnZSxcbiAgb2YsXG4gIHBhaXJ3aXNlLFxuICBzd2l0Y2hNYXAsXG4gIHRha2UsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgVmlydHVhbGl6ZWRMaXN0UXVlcnlEaXJlY3Rpb24sXG4gIFZpcnR1YWxpemVkTGlzdFF1ZXJ5U3RhdGUsXG4gIFZpcnR1YWxpemVkTGlzdFNjcm9sbFBvc2l0aW9uLFxuICBWaXJ0dWFsaXplZExpc3RWZXJ0aWNhbEl0ZW1Qb3NpdGlvbixcbn0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogVGhlIGBWaXJ0dWFsaXplZExpc3RTZXJ2aWNlYCByZW1vdmVzIGl0ZW1zIGZyb20gYSBsaXN0IHRoYXQgYXJlIG5vdCBjdXJyZW50bHkgZGlzcGxheWVkLiBUaGlzIGlzIGEgaGlnaC1sZXZlbCBvdmVydmlldyBvZiBob3cgaXQgd29ya3M6XG4gKiAtIENyZWF0ZSBhIG5ldyBpbnN0YW5jZSBmb3IgZWFjaCBsaXN0IHRoYXQgbmVlZHMgdmlydHVhbGl6YXRpb25cbiAqIC0gSW5wdXQ6IFByb3ZpZGUgYSByZWFjdGl2ZSBzdHJlYW0gdGhhdCBlbWl0cyBhbGwgaXRlbXMgaW4gdGhlIGxpc3RcbiAqIC0gSW5wdXQ6IFByb3ZpZGUgYSByZWFjdGl2ZSBzdHJlYW0gdGhhdCBlbWl0IHRoZSBjdXJyZW50IHNjcm9sbCBwb3NpdGlvbiAodG9wLCBtaWRkbGUgb3IgYm90dG9tKVxuICogLSBJbnB1dDogbWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdGhhdCBhcmUgYWxsb3dlZCBpbiB0aGUgbGlzdCAoaW4gcHJhY3RpY2UgdGhlIHNlcnZpY2UgY2FuIG1ha2UgdGhlIHZpcnR1YWxpemVkIGxpc3QgaGFsZiB0aGlzIG51bWJlciwgeW91IHNob3VsZCB0YWtlIHRoaXMgaW50byBhY2NvdW50IHdoZW4gY2hvb3NpbmcgdGhlIHZhbHVlKVxuICogLSBPdXRwdXQ6IFRoZSBzZXJ2aWNlIHdpbGwgZW1pdCB0aGUgY3VycmVudCBsaXN0IG9mIGRpc3BsYXllZCBpdGVtcyB2aWEgdGhlIHZpcnR1YWxpemVkIGl0ZW1zIHJlYWN0aXZlIHN0cmVhbVxuICogLSBGb3Igc2ltcGxpY2l0eSwgdGhlIHNlcnZpY2Ugd29uJ3QgdHJhY2sgdGhlIGhlaWdodCBvZiB0aGUgaXRlbXMsIG5vciBpdCBuZWVkcyBhbiBleGFjdCBzY3JvbGwgbG9jYXRpb24gLT4gdGhpcyBpcyBob3cgcmVtb3ZpbmcgaXRlbXMgd29yazpcbiAqICAgLSBJZiBzY3JvbGwgbG9jYXRpb24gaXMgYm90dG9tL3RvcCBpdGVtcyBhcm91bmQgdGhlIGN1cnJlbnQgYm90dG9tL3RvcCBpdGVtIHdpbGwgYmUgZW1pdHRlZCBpbiB0aGUgdmlydHVhbGl6ZWQgaXRlbXMgc3RyZWFtXG4gKiAgIC0gSWYgc2Nyb2xsIGxvY2F0aW9uIGlzIG1pZGRsZSwgdGhlIHNlcnZpY2Ugd29uJ3QgcmVtb3ZlIGl0ZW1zLCBpZiBuZXcgaXRlbXMgYXJlIHJlY2VpdmVkLCB0aG9zZSB3aWxsIGJlIGFwcGVuZGVkIHRvIHRoZSB2aXJ0dWFsaXplZCBsaXN0ICAodGhpcyBtZWFucyB0aGF0IGluIHRoZW9yeSB0aGUgbGlzdCBjYW4gZ3JvdyB2ZXJ5IGJpZyBpZiBhIGxvdCBvZiBuZXcgaXRlbXMgYXJlIHJlY2VpdmVkIHdoaWxlIHRoZSB1c2VyIGlzIHNjcm9sbGVkIHNvbWV3aGVyZSwgdGhpcyBpcyBhIHRyYWRlLW9mZiBmb3IgdGhlIHNpbXBsaWNpdHkgb2Ygbm8gaGVpZ2h0IHRyYWNraW5nKVxuICogICAtIFNpbmNlIHRoZXJlIGlzIG5vIGhlaWdodCB0cmFja2luZywgeW91IHNob3VsZCBtYWtlIHN1cmUgdG8gcHJvdmlkZSBhIG1heGltdW0gbnVtYmVyIHRoYXQgaXMgYmlnIGVub3VnaCB0byBmaWxsIHRoZSBiaWdnZXN0IGV4cGVjdGVkIHNjcmVlbiBzaXplIHR3aWNlXG4gKiAtIElmIHRoZSB1c2VyIHNjcm9sbHMgdG8gdGhlIGJvdHRvbS90b3AgYW5kIHRoZXJlIGFyZSBubyBtb3JlIGxvY2FsIGl0ZW1zIHRvIHNob3csIHRoZSBzZXJ2aWNlIHdpbGwgdHJpZ2dlciBhIHF1ZXJ5IHRvIGxvYWQgbW9yZSBpdGVtc1xuICogICAtIElucHV0OiB5b3Ugc2hvdWxkIHByb3ZpZGUgdGhlIHBhZ2Ugc2l6ZSB0byB1c2UsIGluIG9yZGVyIGZvciB0aGUgc2VydmljZSB0byBkZXRlcm1pbmUgaWYgbG9hZGluZyBpcyBuZWNlc3NhcnlcbiAqXG4gKiBUaGUgYFZpcnR1YWxpemVkTWVzc2FnZUxpc3RTZXJ2aWNlYCBwcm92aWRlcyBhbiBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIG1lc3NhZ2UgbGlzdCBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBWaXJ0dWFsaXplZExpc3RTZXJ2aWNlPFQ+IHtcbiAgLyoqXG4gICAqIFRoZSBpdGVtcyB0aGF0IHNob3VsZCBiZSBjdXJyZW50bHkgZGlzcGxheWVkLCBhIHN1YnNldCBvZiBhbGwgaXRlbXNcbiAgICovXG4gIHZpcnR1YWxpemVkSXRlbXMkOiBPYnNlcnZhYmxlPFRbXT47XG4gIC8qKlxuICAgKiBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHF1ZXJ5IHVzZWQgdG8gbG9hZCBtb3JlIGl0ZW1zXG4gICAqL1xuICBxdWVyeVN0YXRlJDogT2JzZXJ2YWJsZTxWaXJ0dWFsaXplZExpc3RRdWVyeVN0YXRlPjtcbiAgcHJvdGVjdGVkIHF1ZXJ5U3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxWaXJ0dWFsaXplZExpc3RRdWVyeVN0YXRlPih7XG4gICAgc3RhdGU6ICdzdWNjZXNzJyxcbiAgfSk7XG4gIHByb3RlY3RlZCBidWZmZXJPblRvcCA9IDA7XG4gIHByb3RlY3RlZCBidWZmZXJPbkJvdHRvbSA9IDA7XG4gIHByb3RlY3RlZCBsb2FkRnJvbUJ1ZmZlciQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHZpcnR1YWxpemVkSXRlbXNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUW10+KFtdKTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWxsSXRlbXMkOiBPYnNlcnZhYmxlPFRbXT4sXG4gICAgcHJpdmF0ZSBzY3JvbGxQb3NpdGlvbiQ6IE9ic2VydmFibGU8VmlydHVhbGl6ZWRMaXN0U2Nyb2xsUG9zaXRpb24+LFxuICAgIHB1YmxpYyByZWFkb25seSBqdW1wVG9JdGVtJD86IE9ic2VydmFibGU8e1xuICAgICAgaXRlbTogUGFydGlhbDxUPiB8IHVuZGVmaW5lZDtcbiAgICAgIHBvc2l0aW9uPzogVmlydHVhbGl6ZWRMaXN0VmVydGljYWxJdGVtUG9zaXRpb247XG4gICAgfT4sXG4gICAgcHVibGljIHJlYWRvbmx5IHBhZ2VTaXplID0gMjUsXG4gICAgcHVibGljIHJlYWRvbmx5IG1heEl0ZW1Db3VudCA9IHBhZ2VTaXplICogNFxuICApIHtcbiAgICB0aGlzLnZpcnR1YWxpemVkSXRlbXMkID0gdGhpcy52aXJ0dWFsaXplZEl0ZW1zU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLnF1ZXJ5U3RhdGUkID0gdGhpcy5xdWVyeVN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMudmlydHVhbGl6ZWRJdGVtcyQuc3Vic2NyaWJlKCh2aXJ0YWx1emVkSXRlbXMpID0+IHtcbiAgICAgICAgdGhpcy5hbGxJdGVtcyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKGFsbEl0ZW1zKSA9PiB7XG4gICAgICAgICAgaWYgKHZpcnRhbHV6ZWRJdGVtcy5sZW5ndGggPT09IGFsbEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5idWZmZXJPblRvcCA9IDA7XG4gICAgICAgICAgICB0aGlzLmJ1ZmZlck9uQm90dG9tID0gMDtcbiAgICAgICAgICB9IGVsc2UgaWYgKHZpcnRhbHV6ZWRJdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuYnVmZmVyT25Ub3AgPSBhbGxJdGVtcy5sZW5ndGg7XG4gICAgICAgICAgICB0aGlzLmJ1ZmZlck9uQm90dG9tID0gMDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5idWZmZXJPblRvcCA9IGFsbEl0ZW1zLmluZGV4T2YodmlydGFsdXplZEl0ZW1zWzBdKTtcbiAgICAgICAgICAgIHRoaXMuYnVmZmVyT25Cb3R0b20gPVxuICAgICAgICAgICAgICBhbGxJdGVtcy5sZW5ndGggLVxuICAgICAgICAgICAgICBhbGxJdGVtcy5pbmRleE9mKHZpcnRhbHV6ZWRJdGVtc1t2aXJ0YWx1emVkSXRlbXMubGVuZ3RoIC0gMV0pIC1cbiAgICAgICAgICAgICAgMTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgbWVyZ2UodGhpcy5hbGxJdGVtcyQsIHRoaXMubG9hZEZyb21CdWZmZXIkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICB0aGlzLmFsbEl0ZW1zJC5waXBlKHRha2UoMSkpLFxuICAgICAgICAgICAgICB0aGlzLnNjcm9sbFBvc2l0aW9uJC5waXBlKHRha2UoMSkpLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChbaXRlbXMsIHNjcm9sbFBvc2l0aW9uXSkgPT4ge1xuICAgICAgICAgIGlmIChzY3JvbGxQb3NpdGlvbiA9PT0gJ21pZGRsZScpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgY3VycmVudEl0ZW1zID0gdGhpcy52aXJ0dWFsaXplZEl0ZW1zU3ViamVjdC5nZXRWYWx1ZSgpO1xuICAgICAgICAgIGlmIChpdGVtcy5sZW5ndGggPD0gdGhpcy5tYXhJdGVtQ291bnQpIHtcbiAgICAgICAgICAgIHRoaXMudmlydHVhbGl6ZWRJdGVtc1N1YmplY3QubmV4dChpdGVtcyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxldCBzdGFydEluZGV4ID0gMDtcbiAgICAgICAgICAgIGxldCBlbmRJbmRleCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IG51bWJlck9mSXRlbXNUb1JlbW92ZSA9XG4gICAgICAgICAgICAgIGl0ZW1zLmxlbmd0aCAtIE1hdGgucm91bmQodGhpcy5tYXhJdGVtQ291bnQgLyAyKTtcbiAgICAgICAgICAgIGNvbnN0IG51bWJlck9mSXRlbXNBZnRlclJlbW92ZSA9XG4gICAgICAgICAgICAgIGl0ZW1zLmxlbmd0aCAtIG51bWJlck9mSXRlbXNUb1JlbW92ZTtcbiAgICAgICAgICAgIHN3aXRjaCAoc2Nyb2xsUG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgY2FzZSAndG9wJzpcbiAgICAgICAgICAgICAgICBpZiAoY3VycmVudEl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IG1pZGRsZUluZGV4ID0gaXRlbXMuZmluZEluZGV4KChpKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRXF1YWwoaSwgY3VycmVudEl0ZW1zWzBdKVxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIGlmIChtaWRkbGVJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRJbmRleCA9IE1hdGgubWF4KFxuICAgICAgICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgICAgICAgbWlkZGxlSW5kZXggLSBNYXRoLmNlaWwobnVtYmVyT2ZJdGVtc0FmdGVyUmVtb3ZlIC8gMilcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgZW5kSW5kZXggPSBzdGFydEluZGV4ICsgbnVtYmVyT2ZJdGVtc0FmdGVyUmVtb3ZlO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBlbmRJbmRleCA9IG51bWJlck9mSXRlbXNBZnRlclJlbW92ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBtaWRkbGVJbmRleCA9IGl0ZW1zLmZpbmRJbmRleCgoaSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0VxdWFsKGksIGN1cnJlbnRJdGVtc1tjdXJyZW50SXRlbXMubGVuZ3RoIC0gMV0pXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgaWYgKG1pZGRsZUluZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICBlbmRJbmRleCA9IE1hdGgubWluKFxuICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zLmxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICBtaWRkbGVJbmRleCArIE1hdGguZmxvb3IobnVtYmVyT2ZJdGVtc0FmdGVyUmVtb3ZlIC8gMikgKyAxXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0SW5kZXggPSBlbmRJbmRleCAtIG51bWJlck9mSXRlbXNBZnRlclJlbW92ZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgc3RhcnRJbmRleCA9IGl0ZW1zLmxlbmd0aCAtIG51bWJlck9mSXRlbXNBZnRlclJlbW92ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB2aXJ0dWFsaXplZEl0ZW1zID0gaXRlbXMuc2xpY2Uoc3RhcnRJbmRleCwgZW5kSW5kZXgpO1xuICAgICAgICAgICAgdGhpcy52aXJ0dWFsaXplZEl0ZW1zU3ViamVjdC5uZXh0KHZpcnR1YWxpemVkSXRlbXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5zY3JvbGxQb3NpdGlvbiRcbiAgICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgICAgLnN1YnNjcmliZSgocG9zaXRpb24pID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLnF1ZXJ5U3RhdGVTdWJqZWN0LmdldFZhbHVlKCkuc3RhdGUgPT09IGBsb2FkaW5nLSR7cG9zaXRpb259YFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAocG9zaXRpb24gPT09ICd0b3AnKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5idWZmZXJPblRvcCA8IHRoaXMucGFnZVNpemUpIHtcbiAgICAgICAgICAgICAgdm9pZCB0aGlzLmxvYWRNb3JlKHBvc2l0aW9uKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMubG9hZE1vcmVGcm9tQnVmZmVyKCd0b3AnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2UgaWYgKHBvc2l0aW9uID09PSAnYm90dG9tJykge1xuICAgICAgICAgICAgaWYgKHRoaXMuYnVmZmVyT25Cb3R0b20gPCB0aGlzLnBhZ2VTaXplKSB7XG4gICAgICAgICAgICAgIHZvaWQgdGhpcy5sb2FkTW9yZShwb3NpdGlvbik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLmxvYWRNb3JlRnJvbUJ1ZmZlcignYm90dG9tJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmFsbEl0ZW1zJFxuICAgICAgICAucGlwZShcbiAgICAgICAgICBwYWlyd2lzZSgpLFxuICAgICAgICAgIGZpbHRlcigoKSA9PiB7XG4gICAgICAgICAgICBsZXQgc2Nyb2xsUG9zaXRpb24hOiBWaXJ0dWFsaXplZExpc3RTY3JvbGxQb3NpdGlvbjtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsUG9zaXRpb24kXG4gICAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHMpID0+IChzY3JvbGxQb3NpdGlvbiA9IHMpKTtcbiAgICAgICAgICAgIHJldHVybiBzY3JvbGxQb3NpdGlvbiA9PT0gJ21pZGRsZSc7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChbcHJldkl0ZW1zLCBjdXJyZW50SXRlbXNdKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgY3VycmVudEl0ZW1zLmxlbmd0aCA8IHRoaXMubWF4SXRlbUNvdW50IHx8XG4gICAgICAgICAgICB0aGlzLnZpcnR1YWxpemVkSXRlbXMubGVuZ3RoID09PSAwXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnZpcnR1YWxpemVkSXRlbXNTdWJqZWN0Lm5leHQoY3VycmVudEl0ZW1zKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudEZpcnN0SXRlbSA9IHRoaXMudmlydHVhbGl6ZWRJdGVtc1swXTtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRMYXN0SXRlbSA9XG4gICAgICAgICAgICAgIHRoaXMudmlydHVhbGl6ZWRJdGVtc1t0aGlzLnZpcnR1YWxpemVkSXRlbXMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICBjb25zdCBwcmV2U3RhcnRJbmRleCA9IHByZXZJdGVtcy5maW5kSW5kZXgoKGkpID0+XG4gICAgICAgICAgICAgIHRoaXMuaXNFcXVhbChpLCBjdXJyZW50Rmlyc3RJdGVtKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IHByZXZFbmRJbmRleCA9IHByZXZJdGVtcy5maW5kSW5kZXgoKGkpID0+XG4gICAgICAgICAgICAgIHRoaXMuaXNFcXVhbChpLCBjdXJyZW50TGFzdEl0ZW0pXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBjb25zdCBpc1N0YXJ0UmVtYWluZWRTYW1lID0gY3VycmVudEl0ZW1zW3ByZXZTdGFydEluZGV4XVxuICAgICAgICAgICAgICA/IHRoaXMuaXNFcXVhbChjdXJyZW50SXRlbXNbcHJldlN0YXJ0SW5kZXhdLCBjdXJyZW50Rmlyc3RJdGVtKVxuICAgICAgICAgICAgICA6IGZhbHNlO1xuICAgICAgICAgICAgY29uc3QgaXNFbmRSZW1haW5lZFNhbWUgPSBjdXJyZW50SXRlbXNbcHJldkVuZEluZGV4XVxuICAgICAgICAgICAgICA/IHRoaXMuaXNFcXVhbChjdXJyZW50SXRlbXNbcHJldkVuZEluZGV4XSwgY3VycmVudExhc3RJdGVtKVxuICAgICAgICAgICAgICA6IGZhbHNlO1xuXG4gICAgICAgICAgICBjb25zdCBoYXNOZXdJdGVtc0JvdHRvbSA9XG4gICAgICAgICAgICAgIHByZXZFbmRJbmRleCA9PT0gcHJldkl0ZW1zLmxlbmd0aCAtIDEgJiYgaXNFbmRSZW1haW5lZFNhbWVcbiAgICAgICAgICAgICAgICA/IHByZXZJdGVtcy5sZW5ndGggIT09IGN1cnJlbnRJdGVtcy5sZW5ndGhcbiAgICAgICAgICAgICAgICA6IGZhbHNlO1xuXG4gICAgICAgICAgICBpZiAoaXNTdGFydFJlbWFpbmVkU2FtZSAmJiBpc0VuZFJlbWFpbmVkU2FtZSkge1xuICAgICAgICAgICAgICBjb25zdCBlbmRJbmRleCA9IGhhc05ld0l0ZW1zQm90dG9tID8gdW5kZWZpbmVkIDogcHJldkVuZEluZGV4ICsgMTtcbiAgICAgICAgICAgICAgdGhpcy52aXJ0dWFsaXplZEl0ZW1zU3ViamVjdC5uZXh0KFxuICAgICAgICAgICAgICAgIGN1cnJlbnRJdGVtcy5zbGljZShwcmV2U3RhcnRJbmRleCwgZW5kSW5kZXgpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBjdXJyZW50U3RhcnRJbmRleCA9IGlzU3RhcnRSZW1haW5lZFNhbWUgPyBwcmV2U3RhcnRJbmRleCA6IC0xO1xuICAgICAgICAgICAgbGV0IGN1cnJlbnRFbmRJbmRleCA9IGlzRW5kUmVtYWluZWRTYW1lID8gcHJldkVuZEluZGV4IDogLTE7XG5cbiAgICAgICAgICAgIGlmICghaXNTdGFydFJlbWFpbmVkU2FtZSkge1xuICAgICAgICAgICAgICBjdXJyZW50U3RhcnRJbmRleCA9IGN1cnJlbnRJdGVtcy5maW5kSW5kZXgoKGkpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5pc0VxdWFsKGksIGN1cnJlbnRGaXJzdEl0ZW0pXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWlzRW5kUmVtYWluZWRTYW1lKSB7XG4gICAgICAgICAgICAgIGN1cnJlbnRFbmRJbmRleCA9IGN1cnJlbnRJdGVtcy5maW5kSW5kZXgoKGkpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5pc0VxdWFsKGksIGN1cnJlbnRMYXN0SXRlbSlcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgaGFzTmV3SXRlbXNUb3AgPVxuICAgICAgICAgICAgICBwcmV2U3RhcnRJbmRleCA9PT0gMCAmJiAhaXNTdGFydFJlbWFpbmVkU2FtZVxuICAgICAgICAgICAgICAgID8gY3VycmVudFN0YXJ0SW5kZXggIT09IDBcbiAgICAgICAgICAgICAgICA6IGZhbHNlO1xuXG4gICAgICAgICAgICBpZiAoY3VycmVudFN0YXJ0SW5kZXggIT09IC0xICYmIGN1cnJlbnRFbmRJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgY29uc3Qgc3RhcnRJbmRleCA9IGhhc05ld0l0ZW1zVG9wID8gMCA6IGN1cnJlbnRTdGFydEluZGV4O1xuICAgICAgICAgICAgICB0aGlzLnZpcnR1YWxpemVkSXRlbXNTdWJqZWN0Lm5leHQoXG4gICAgICAgICAgICAgICAgY3VycmVudEl0ZW1zLnNsaWNlKHN0YXJ0SW5kZXgsIGN1cnJlbnRFbmRJbmRleCArIDEpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBpZiAoY3VycmVudFN0YXJ0SW5kZXggPT09IC0xICYmIGN1cnJlbnRFbmRJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50U3RhcnRJbmRleCA9IE1hdGgubWF4KFxuICAgICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICAgIGN1cnJlbnRFbmRJbmRleCAtIChwcmV2RW5kSW5kZXggLSBwcmV2U3RhcnRJbmRleClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKGN1cnJlbnRFbmRJbmRleCA9PT0gLTEgJiYgY3VycmVudFN0YXJ0SW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgY3VycmVudEVuZEluZGV4ID0gTWF0aC5taW4oXG4gICAgICAgICAgICAgICAgICBjdXJyZW50SXRlbXMubGVuZ3RoIC0gMSxcbiAgICAgICAgICAgICAgICAgIGN1cnJlbnRTdGFydEluZGV4ICsgKHByZXZFbmRJbmRleCAtIHByZXZTdGFydEluZGV4KVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICB0aGlzLnZpcnR1YWxpemVkSXRlbXNTdWJqZWN0Lm5leHQoXG4gICAgICAgICAgICAgICAgY3VycmVudEl0ZW1zLnNsaWNlKGN1cnJlbnRTdGFydEluZGV4LCBjdXJyZW50RW5kSW5kZXggKyAxKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICApO1xuICAgIGlmICh0aGlzLmp1bXBUb0l0ZW0kKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgICAgdGhpcy5qdW1wVG9JdGVtJFxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChqdW1wVG9JdGVtKSA9PlxuICAgICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmFsbEl0ZW1zJC5waXBlKHRha2UoMSkpLCBvZihqdW1wVG9JdGVtKV0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKFthbGxJdGVtcywganVtcFRvSXRlbV0pID0+IHtcbiAgICAgICAgICAgIGlmIChqdW1wVG9JdGVtLml0ZW0pIHtcbiAgICAgICAgICAgICAgaWYgKGFsbEl0ZW1zLmxlbmd0aCA8IHRoaXMubWF4SXRlbUNvdW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy52aXJ0dWFsaXplZEl0ZW1zU3ViamVjdC5uZXh0KGFsbEl0ZW1zKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtSW5kZXggPSBhbGxJdGVtcy5maW5kSW5kZXgoKGkpID0+XG4gICAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFRPRE86IGRvIHdlIGtub3cgYSBiZXR0ZXIgdHlwaW5nIGhlcmU/XG4gICAgICAgICAgICAgICAgICB0aGlzLmlzRXF1YWwoaSwganVtcFRvSXRlbS5pdGVtKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW1JbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgY29uc3QgcG9zaXRpb24gPSBqdW1wVG9JdGVtLnBvc2l0aW9uIHx8ICdtaWRkbGUnO1xuICAgICAgICAgICAgICAgICAgY29uc3QgbnVtYmVyT2ZJdGVtc1RvUmVtb3ZlID1cbiAgICAgICAgICAgICAgICAgICAgYWxsSXRlbXMubGVuZ3RoIC0gTWF0aC5yb3VuZCh0aGlzLm1heEl0ZW1Db3VudCAvIDIpO1xuICAgICAgICAgICAgICAgICAgY29uc3QgbnVtYmVyT2ZJdGVtc0FmdGVyUmVtb3ZlID1cbiAgICAgICAgICAgICAgICAgICAgYWxsSXRlbXMubGVuZ3RoIC0gbnVtYmVyT2ZJdGVtc1RvUmVtb3ZlO1xuICAgICAgICAgICAgICAgICAgbGV0IHN0YXJ0SW5kZXggPSAtMTtcbiAgICAgICAgICAgICAgICAgIGxldCBlbmRJbmRleCA9IC0xO1xuXG4gICAgICAgICAgICAgICAgICBzd2l0Y2ggKHBvc2l0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgICAgICAgICAgICAgICAgc3RhcnRJbmRleCA9IGl0ZW1JbmRleDtcbiAgICAgICAgICAgICAgICAgICAgICBlbmRJbmRleCA9IE1hdGgubWluKFxuICAgICAgICAgICAgICAgICAgICAgICAgYWxsSXRlbXMubGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRJbmRleCArIG51bWJlck9mSXRlbXNBZnRlclJlbW92ZVxuICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgICAgICAgICAgICAgICAgZW5kSW5kZXggPSBpdGVtSW5kZXggKyAxO1xuICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0SW5kZXggPSBNYXRoLm1heChcbiAgICAgICAgICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBlbmRJbmRleCAtIG51bWJlck9mSXRlbXNBZnRlclJlbW92ZVxuICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ21pZGRsZSc6IHtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtc09uVG9wID0gaXRlbUluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zT25Cb3R0b20gPSBhbGxJdGVtcy5sZW5ndGggLSBpdGVtSW5kZXg7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXNPblRvcCA8IE1hdGguY2VpbChudW1iZXJPZkl0ZW1zQWZ0ZXJSZW1vdmUgLyAyKVxuICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRJbmRleCA9IDA7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zT25Cb3R0b20gPFxuICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5mbG9vcihudW1iZXJPZkl0ZW1zQWZ0ZXJSZW1vdmUgLyAyKSArIDFcbiAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVuZEluZGV4ID0gYWxsSXRlbXMubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgIGlmIChzdGFydEluZGV4ID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVuZEluZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydEluZGV4ID0gZW5kSW5kZXggLSBudW1iZXJPZkl0ZW1zQWZ0ZXJSZW1vdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydEluZGV4ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtSW5kZXggLSBNYXRoLmNlaWwobnVtYmVyT2ZJdGVtc0FmdGVyUmVtb3ZlIC8gMik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGVuZEluZGV4ID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW5kSW5kZXggPSBzdGFydEluZGV4ICsgbnVtYmVyT2ZJdGVtc0FmdGVyUmVtb3ZlO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICB0aGlzLnZpcnR1YWxpemVkSXRlbXNTdWJqZWN0Lm5leHQoXG4gICAgICAgICAgICAgICAgICAgIGFsbEl0ZW1zLnNsaWNlKHN0YXJ0SW5kZXgsIGVuZEluZGV4KVxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgdmFsdWUgb2YgdmlydHVhbGl6ZWQgaXRlbXNcbiAgICovXG4gIGdldCB2aXJ0dWFsaXplZEl0ZW1zKCkge1xuICAgIHJldHVybiB0aGlzLnZpcnR1YWxpemVkSXRlbXNTdWJqZWN0LmdldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGFsbCBzdWJzY3JpcHRpb25zLCBjYWxsIHRoaXMgb25jZSB5b3UncmUgZG9uZSB1c2luZyBhbiBpbnN0YW5jZSBvZiB0aGlzIHNlcnZpY2VcbiAgICovXG4gIGRpc3Bvc2UoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHMpID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbG9hZE1vcmVGcm9tQnVmZmVyKF86IFZpcnR1YWxpemVkTGlzdFF1ZXJ5RGlyZWN0aW9uKSB7XG4gICAgdGhpcy5sb2FkRnJvbUJ1ZmZlciQubmV4dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkTW9yZShkaXJlY3Rpb246IFZpcnR1YWxpemVkTGlzdFF1ZXJ5RGlyZWN0aW9uKSB7XG4gICAgdGhpcy5xdWVyeVN0YXRlU3ViamVjdC5uZXh0KHsgc3RhdGU6IGBsb2FkaW5nLSR7ZGlyZWN0aW9ufWAgfSk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMucXVlcnkoZGlyZWN0aW9uKTtcbiAgICAgIHRoaXMucXVlcnlTdGF0ZVN1YmplY3QubmV4dCh7IHN0YXRlOiAnc3VjY2VzcycgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5xdWVyeVN0YXRlU3ViamVjdC5uZXh0KHsgc3RhdGU6ICdlcnJvcicsIGVycm9yOiBlIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBpc0VxdWFsOiAodDE6IFQsIHQyOiBUKSA9PiBib29sZWFuO1xuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBxdWVyeTogKFxuICAgIGRpcmVjdGlvbjogVmlydHVhbGl6ZWRMaXN0UXVlcnlEaXJlY3Rpb25cbiAgKSA9PiBQcm9taXNlPHVua25vd24+O1xufVxuIl19
|
|
@@ -70,4 +70,4 @@ export class VirtualizedMessageListService extends VirtualizedListService {
|
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbGl6ZWQtbWVzc2FnZS1saXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zdHJlYW0tY2hhdC1hbmd1bGFyL3NyYy9saWIvdmlydHVhbGl6ZWQtbWVzc2FnZS1saXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVwRTs7R0FFRztBQUNILE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxzQkFBcUM7SUFDdEYsWUFDa0IsSUFBdUIsRUFDdkMsZUFBMEQsRUFDbEQsY0FBOEI7UUFFdEMsTUFBTSxjQUFjLEdBQUcsY0FBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3ZELEdBQUcsQ0FNRCxDQUFDLGFBQWEsRUFBRSxFQUFFO1lBQ2xCLElBQUksTUFBTSxHQUdOO2dCQUNGLElBQUksRUFBRSxTQUFTO2FBQ2hCLENBQUM7WUFDRixJQUFJLGVBQW1DLENBQUM7WUFDeEMsSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFO2dCQUNuQixlQUFlLEdBQUcsYUFBYSxDQUFDLFFBQVE7b0JBQ3RDLENBQUMsQ0FBQyxhQUFhLENBQUMsUUFBUTtvQkFDeEIsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7YUFDdEI7aUJBQU07Z0JBQ0wsZUFBZSxHQUFHLGFBQWEsQ0FBQyxRQUFRO29CQUN0QyxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUU7b0JBQ2xCLENBQUMsQ0FBQyxTQUFTLENBQUM7YUFDZjtZQUVELElBQUksZUFBZSxFQUFFO2dCQUNuQixNQUFNLFFBQVEsR0FDWixJQUFJLEtBQUssTUFBTTtvQkFDYixDQUFDLENBQUMsY0FBYyxDQUFDLHFCQUFxQjtvQkFDdEMsQ0FBQyxDQUFDLGNBQWMsQ0FBQywwQkFBMEIsQ0FBQztnQkFDaEQsTUFBTSxFQUFFLEdBQ04sZUFBZSxLQUFLLFFBQVE7b0JBQzFCLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUNuQyxDQUFDLENBQUMsZUFBZSxDQUFDO2dCQUN0QixJQUFJLEVBQUUsRUFBRTtvQkFDTixNQUFNLEdBQUc7d0JBQ1AsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFO3dCQUNaLFFBQVEsRUFBRSxhQUFhLENBQUMsRUFBRSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRO3FCQUM5RCxDQUFDO2lCQUNIO2dCQUNELGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2FBQ25DO1lBRUQsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNGLE1BQU0sU0FBUyxHQUNiLElBQUksS0FBSyxNQUFNO1lBQ2IsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxzQkFBc0I7WUFDdkMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQztRQUMzQyxLQUFLLENBQ0gsU0FBUyxFQUNULGVBQWUsRUFDZixjQUFjLEVBQ2QsY0FBYyxDQUFDLGVBQWUsQ0FDL0IsQ0FBQztRQTNEYyxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUUvQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFvRTlCLFlBQU8sR0FBRyxDQUFDLEVBQWlCLEVBQUUsRUFBaUIsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBRXBFLFVBQUssR0FBRyxDQUFDLFNBQXdDLEVBQUUsRUFBRTtZQUM3RCxNQUFNLE9BQU8sR0FDWCxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU07Z0JBQ2xCLENBQUMsQ0FBQyxDQUFDLFNBQTRCLEVBQUUsRUFBRSxDQUMvQixJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztnQkFDbkQsQ0FBQyxDQUFDLENBQUMsU0FBNEIsRUFBRSxFQUFFLENBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDN0QsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEUsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsT0FBTyxNQUFNLENBQUM7YUFDZjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7Z0JBQ2xELElBQ0UsQ0FBQyxTQUFTLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO29CQUM3QyxDQUFDLFNBQVMsS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsRUFDbkQ7b0JBQ0EsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztpQkFDN0I7Z0JBQ0QsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDMUI7UUFDSCxDQUFDLENBQUM7SUFoQ0YsQ0FBQztJQUVTLGtCQUFrQixDQUFDLFNBQXdDO1FBQ25FLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsV0FBVyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDL0QsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQXlCRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5uZWxTZXJ2aWNlIH0gZnJvbSAnLi9jaGFubmVsLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgVmlydHVhbGl6ZWRMaXN0UXVlcnlEaXJlY3Rpb24sXG4gIFZpcnR1YWxpemVkTGlzdFNjcm9sbFBvc2l0aW9uLFxuICBTdHJlYW1NZXNzYWdlLFxuICBWaXJ0dWFsaXplZExpc3RWZXJ0aWNhbEl0ZW1Qb3NpdGlvbixcbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFZpcnR1YWxpemVkTGlzdFNlcnZpY2UgfSBmcm9tICcuL3ZpcnR1YWxpemVkLWxpc3Quc2VydmljZSc7XG5cbi8qKlxuICogVGhlIGBWaXJ0dWFsaXplZE1lc3NhZ2VMaXN0U2VydmljZWAgcmVtb3ZlcyBtZXNzYWdlcyBmcm9tIHRoZSBtZXNzYWdlIGxpc3QgdGhhdCBhcmUgY3VycmVudGx5IG5vdCBpbiB2aWV3XG4gKi9cbmV4cG9ydCBjbGFzcyBWaXJ0dWFsaXplZE1lc3NhZ2VMaXN0U2VydmljZSBleHRlbmRzIFZpcnR1YWxpemVkTGlzdFNlcnZpY2U8U3RyZWFtTWVzc2FnZT4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgbW9kZTogJ3RocmVhZCcgfCAnbWFpbicsXG4gICAgc2Nyb2xsUG9zaXRpb24kOiBPYnNlcnZhYmxlPFZpcnR1YWxpemVkTGlzdFNjcm9sbFBvc2l0aW9uPixcbiAgICBwcml2YXRlIGNoYW5uZWxTZXJ2aWNlOiBDaGFubmVsU2VydmljZVxuICApIHtcbiAgICBjb25zdCBqdW1wVG9NZXNzYWdlJCA9IGNoYW5uZWxTZXJ2aWNlLmp1bXBUb01lc3NhZ2UkLnBpcGUoXG4gICAgICBtYXA8XG4gICAgICAgIHsgaWQ/OiBzdHJpbmc7IHBhcmVudElkPzogc3RyaW5nIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpdGVtOiBQYXJ0aWFsPFN0cmVhbU1lc3NhZ2U+IHwgdW5kZWZpbmVkO1xuICAgICAgICAgIHBvc2l0aW9uPzogVmlydHVhbGl6ZWRMaXN0VmVydGljYWxJdGVtUG9zaXRpb247XG4gICAgICAgIH1cbiAgICAgID4oKGp1bXBUb01lc3NhZ2UpID0+IHtcbiAgICAgICAgbGV0IHJlc3VsdDoge1xuICAgICAgICAgIGl0ZW06IFBhcnRpYWw8U3RyZWFtTWVzc2FnZT4gfCB1bmRlZmluZWQ7XG4gICAgICAgICAgcG9zaXRpb24/OiBWaXJ0dWFsaXplZExpc3RWZXJ0aWNhbEl0ZW1Qb3NpdGlvbjtcbiAgICAgICAgfSA9IHtcbiAgICAgICAgICBpdGVtOiB1bmRlZmluZWQsXG4gICAgICAgIH07XG4gICAgICAgIGxldCB0YXJnZXRNZXNzYWdlSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKG1vZGUgPT09ICdtYWluJykge1xuICAgICAgICAgIHRhcmdldE1lc3NhZ2VJZCA9IGp1bXBUb01lc3NhZ2UucGFyZW50SWRcbiAgICAgICAgICAgID8ganVtcFRvTWVzc2FnZS5wYXJlbnRJZFxuICAgICAgICAgICAgOiBqdW1wVG9NZXNzYWdlLmlkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRhcmdldE1lc3NhZ2VJZCA9IGp1bXBUb01lc3NhZ2UucGFyZW50SWRcbiAgICAgICAgICAgID8ganVtcFRvTWVzc2FnZS5pZFxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGFyZ2V0TWVzc2FnZUlkKSB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZXMgPVxuICAgICAgICAgICAgbW9kZSA9PT0gJ21haW4nXG4gICAgICAgICAgICAgID8gY2hhbm5lbFNlcnZpY2UuYWN0aXZlQ2hhbm5lbE1lc3NhZ2VzXG4gICAgICAgICAgICAgIDogY2hhbm5lbFNlcnZpY2UuYWN0aXZlQ2hhbm5lbFRocmVhZFJlcGxpZXM7XG4gICAgICAgICAgY29uc3QgaWQgPVxuICAgICAgICAgICAgdGFyZ2V0TWVzc2FnZUlkID09PSAnbGF0ZXN0J1xuICAgICAgICAgICAgICA/IG1lc3NhZ2VzW21lc3NhZ2VzLmxlbmd0aCAtIDFdPy5pZFxuICAgICAgICAgICAgICA6IHRhcmdldE1lc3NhZ2VJZDtcbiAgICAgICAgICBpZiAoaWQpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgICAgaXRlbTogeyBpZCB9LFxuICAgICAgICAgICAgICBwb3NpdGlvbjoganVtcFRvTWVzc2FnZS5pZCA9PT0gJ2xhdGVzdCcgPyAnYm90dG9tJyA6ICdtaWRkbGUnLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY2hhbm5lbFNlcnZpY2UuY2xlYXJNZXNzYWdlSnVtcCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0pXG4gICAgKTtcbiAgICBjb25zdCBtZXNzYWdlcyQgPVxuICAgICAgbW9kZSA9PT0gJ21haW4nXG4gICAgICAgID8gY2hhbm5lbFNlcnZpY2UuYWN0aXZlQ2hhbm5lbE1lc3NhZ2VzJFxuICAgICAgICA6IGNoYW5uZWxTZXJ2aWNlLmFjdGl2ZVRocmVhZE1lc3NhZ2VzJDtcbiAgICBzdXBlcihcbiAgICAgIG1lc3NhZ2VzJCxcbiAgICAgIHNjcm9sbFBvc2l0aW9uJCxcbiAgICAgIGp1bXBUb01lc3NhZ2UkLFxuICAgICAgY2hhbm5lbFNlcnZpY2UubWVzc2FnZVBhZ2VTaXplXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBsb2FkTW9yZUZyb21CdWZmZXIoZGlyZWN0aW9uOiBWaXJ0dWFsaXplZExpc3RRdWVyeURpcmVjdGlvbik6IHZvaWQge1xuICAgIHRoaXMucXVlcnlTdGF0ZVN1YmplY3QubmV4dCh7IHN0YXRlOiBgbG9hZGluZy0ke2RpcmVjdGlvbn1gIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5sb2FkRnJvbUJ1ZmZlciQubmV4dCgpO1xuICAgICAgdGhpcy5xdWVyeVN0YXRlU3ViamVjdC5uZXh0KHsgc3RhdGU6ICdzdWNjZXNzJyB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0VxdWFsID0gKHQxOiBTdHJlYW1NZXNzYWdlLCB0MjogU3RyZWFtTWVzc2FnZSkgPT4gdDEuaWQgPT09IHQyLmlkO1xuXG4gIHByb3RlY3RlZCBxdWVyeSA9IChkaXJlY3Rpb246IFZpcnR1YWxpemVkTGlzdFF1ZXJ5RGlyZWN0aW9uKSA9PiB7XG4gICAgY29uc3QgcmVxdWVzdCA9XG4gICAgICB0aGlzLm1vZGUgPT09ICdtYWluJ1xuICAgICAgICA/IChkaXJlY3Rpb246ICdvbGRlcicgfCAnbmV3ZXInKSA9PlxuICAgICAgICAgICAgdGhpcy5jaGFubmVsU2VydmljZS5sb2FkTW9yZU1lc3NhZ2VzKGRpcmVjdGlvbilcbiAgICAgICAgOiAoZGlyZWN0aW9uOiAnb2xkZXInIHwgJ25ld2VyJykgPT5cbiAgICAgICAgICAgIHRoaXMuY2hhbm5lbFNlcnZpY2UubG9hZE1vcmVUaHJlYWRSZXBsaWVzKGRpcmVjdGlvbik7XG4gICAgY29uc3QgcmVzdWx0ID0gcmVxdWVzdChkaXJlY3Rpb24gPT09ICd0b3AnID8gJ29sZGVyJyA6ICduZXdlcicpO1xuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucXVlcnlTdGF0ZVN1YmplY3QubmV4dCh7IHN0YXRlOiAnc3VjY2VzcycgfSk7XG4gICAgICBpZiAoXG4gICAgICAgIChkaXJlY3Rpb24gPT09ICd0b3AnICYmIHRoaXMuYnVmZmVyT25Ub3AgPiAwKSB8fFxuICAgICAgICAoZGlyZWN0aW9uID09PSAnYm90dG9tJyAmJiB0aGlzLmJ1ZmZlck9uQm90dG9tID4gMClcbiAgICAgICkge1xuICAgICAgICB0aGlzLmxvYWRGcm9tQnVmZmVyJC5uZXh0KCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuICB9O1xufVxuIl19
|
|
@@ -109,11 +109,11 @@ export class AmplitudeRecorderService {
|
|
|
109
109
|
tag: ['AmplitudeRecorderService'],
|
|
110
110
|
});
|
|
111
111
|
}
|
|
112
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0", ngImport: i0, type: AmplitudeRecorderService, deps: [{ token: i1.ChatClientService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
113
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0", ngImport: i0, type: AmplitudeRecorderService, providedIn: NgModule }); }
|
|
114
112
|
}
|
|
115
|
-
i0.ɵɵ
|
|
113
|
+
AmplitudeRecorderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AmplitudeRecorderService, deps: [{ token: i1.ChatClientService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
114
|
+
AmplitudeRecorderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AmplitudeRecorderService, providedIn: NgModule });
|
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AmplitudeRecorderService, decorators: [{
|
|
116
116
|
type: Injectable,
|
|
117
117
|
args: [{ providedIn: NgModule }]
|
|
118
|
-
}], ctorParameters: ()
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGl0dWRlLXJlY29yZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdHJlYW0tY2hhdC1hbmd1bGFyL3NyYy9saWIvdm9pY2UtcmVjb3JkZXIvYW1wbGl0dWRlLXJlY29yZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7O0FBR25ELE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxDQUFDO0FBRXBDLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBa0IsRUFBRSxFQUFFLENBQzVDLElBQUksQ0FBQyxJQUFJLENBQ1AsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUN2RSxDQUFDO0FBK0JKLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUE0QjtJQUN4RSxjQUFjLEVBQUU7UUFDZCxPQUFPLEVBQUUsRUFBRTtRQUNYLFdBQVcsRUFBRSxDQUFDO1FBQ2QsV0FBVyxFQUFFLENBQUMsR0FBRztLQUNTO0lBQzVCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLG1CQUFtQixFQUFFLEVBQUU7Q0FDeEIsQ0FBQztBQUVGOztHQUVHO0FBRUgsTUFBTSxPQUFPLHdCQUF3QjtJQWFuQyxZQUFvQixXQUE4QjtRQUE5QixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFabEQsV0FBTSxHQUFHLGlDQUFpQyxDQUFDO1FBSW5DLHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELGlCQUFZLEdBQUcsSUFBSSxl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LENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkQsTUFBTSxFQUFFLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQztRQUNuRCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsV0FBVyxDQUFDO1FBQzNELElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQyxXQUFXLENBQUM7UUFFM0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLFFBQVEsQ0FBQyxLQUFZO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUMxRCxLQUFLLEVBQUUsS0FBSztZQUNaLEdBQUcsRUFBRSxDQUFDLDBCQUEwQixDQUFDO1NBQ2xDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBL0dVLHdCQUF3QjtrSEFBeEIsd0JBQXdCLGNBRFgsUUFBUTs7MkZBQ3JCLHdCQUF3QjtrQkFEcEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDaGF0Q2xpZW50U2VydmljZSB9IGZyb20gJy4uL2NoYXQtY2xpZW50LnNlcnZpY2UnO1xuXG5jb25zdCBNQVhfRlJFUVVFTkNZX0FNUExJVFVERSA9IDI1NTtcblxuY29uc3Qgcm9vdE1lYW5TcXVhcmUgPSAodmFsdWVzOiBVaW50OEFycmF5KSA9PlxuICBNYXRoLnNxcnQoXG4gICAgdmFsdWVzLnJlZHVjZSgoYWNjLCB2YWwpID0+IGFjYyArIE1hdGgucG93KHZhbCwgMiksIDApIC8gdmFsdWVzLmxlbmd0aCxcbiAgKTtcblxuLyoqXG4gKiBmZnRTaXplXG4gKiBBbiB1bnNpZ25lZCBpbnRlZ2VyLCByZXByZXNlbnRpbmcgdGhlIHdpbmRvdyBzaXplIG9mIHRoZSBGRlQsIGdpdmVuIGluIG51bWJlciBvZiBzYW1wbGVzLlxuICogQSBoaWdoZXIgdmFsdWUgd2lsbCByZXN1bHQgaW4gbW9yZSBkZXRhaWxzIGluIHRoZSBmcmVxdWVuY3kgZG9tYWluIGJ1dCBmZXdlciBkZXRhaWxzXG4gKiBpbiB0aGUgYW1wbGl0dWRlIGRvbWFpbi5cbiAqXG4gKiBNdXN0IGJlIGEgcG93ZXIgb2YgMiBiZXR3ZWVuIDJeNSBhbmQgMl4xNSwgc28gb25lIG9mOiAzMiwgNjQsIDEyOCwgMjU2LCA1MTIsIDEwMjQsIDIwNDgsIDQwOTYsIDgxOTIsIDE2Mzg0LCBhbmQgMzI3NjguXG4gKiBEZWZhdWx0cyB0byAzMi5cbiAqXG4gKiBtYXhEZWNpYmVsc1xuICogQSBkb3VibGUsIHJlcHJlc2VudGluZyB0aGUgbWF4aW11bSBkZWNpYmVsIHZhbHVlIGZvciBzY2FsaW5nIHRoZSBGRlQgYW5hbHlzaXMgZGF0YSxcbiAqIHdoZXJlIDAgZEIgaXMgdGhlIGxvdWRlc3QgcG9zc2libGUgc291bmQsIC0xMCBkQiBpcyBhIDEwdGggb2YgdGhhdCwgZXRjLlxuICogVGhlIGRlZmF1bHQgdmFsdWUgaXMgLTMwIGRCLlxuICpcbiAqIG1pbkRlY2liZWxzXG4gKiBBIGRvdWJsZSwgcmVwcmVzZW50aW5nIHRoZSBtaW5pbXVtIGRlY2liZWwgdmFsdWUgZm9yIHNjYWxpbmcgdGhlIEZGVCBhbmFseXNpcyBkYXRhLFxuICogd2hlcmUgMCBkQiBpcyB0aGUgbG91ZGVzdCBwb3NzaWJsZSBzb3VuZCwgLTEwIGRCIGlzIGEgMTB0aCBvZiB0aGF0LCBldGMuXG4gKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAtMTAwIGRCLlxuICovXG5leHBvcnQgdHlwZSBBbXBsaXR1ZGVBbmFseXNlckNvbmZpZyA9IFBpY2s8XG4gIEFuYWx5c2VyTm9kZSxcbiAgJ2ZmdFNpemUnIHwgJ21heERlY2liZWxzJyB8ICdtaW5EZWNpYmVscydcbj47XG5leHBvcnQgdHlwZSBBbXBsaXR1ZGVSZWNvcmRlckNvbmZpZyA9IHtcbiAgYW5hbHlzZXJDb25maWc6IEFtcGxpdHVkZUFuYWx5c2VyQ29uZmlnO1xuICBzYW1wbGVDb3VudDogbnVtYmVyO1xuICBzYW1wbGluZ0ZyZXF1ZW5jeU1zOiBudW1iZXI7XG59O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9BTVBMSVRVREVfUkVDT1JERVJfQ09ORklHOiBBbXBsaXR1ZGVSZWNvcmRlckNvbmZpZyA9IHtcbiAgYW5hbHlzZXJDb25maWc6IHtcbiAgICBmZnRTaXplOiAzMixcbiAgICBtYXhEZWNpYmVsczogMCxcbiAgICBtaW5EZWNpYmVsczogLTEwMCxcbiAgfSBhcyBBbXBsaXR1ZGVBbmFseXNlckNvbmZpZyxcbiAgc2FtcGxlQ291bnQ6IDEwMCxcbiAgc2FtcGxpbmdGcmVxdWVuY3lNczogNjAsXG59O1xuXG4vKipcbiAqIFRoZSBgQW1wbGl0dWRlUmVjb3JkZXJTZXJ2aWNlYCBpcyBhIHV0aWxpdHkgc2VydmljZSB1c2VkIHRvIGNyZWF0ZSBhbXBsaXR1ZGUgdmFsdWVzIGZvciB2b2ljZSByZWNvcmRpbmdzLCBtYWtpbmcgaXQgcG9zc2libGUgdG8gZGlzcGxheSBhIHdhdmUgYmFyXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogTmdNb2R1bGUgfSlcbmV4cG9ydCBjbGFzcyBBbXBsaXR1ZGVSZWNvcmRlclNlcnZpY2Uge1xuICBjb25maWcgPSBERUZBVUxUX0FNUExJVFVERV9SRUNPUkRFUl9DT05GSUc7XG4gIGFtcGxpdHVkZXMkOiBPYnNlcnZhYmxlPG51bWJlcltdPjtcbiAgZXJyb3IkOiBPYnNlcnZhYmxlPEVycm9yIHwgdW5kZWZpbmVkPjtcblxuICBwcml2YXRlIGFtcGxpdHVkZXNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXJbXT4oW10pO1xuICBwcml2YXRlIGVycm9yU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RXJyb3IgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgYXVkaW9Db250ZXh0OiBBdWRpb0NvbnRleHQgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgYW5hbHlzZXJOb2RlOiBBbmFseXNlck5vZGUgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgbWljcm9waG9uZTogTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgc3RyZWFtOiBNZWRpYVN0cmVhbSB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBhbXBsaXR1ZGVTYW1wbGluZ0ludGVydmFsOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD4gfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGF0U2VydmljZTogQ2hhdENsaWVudFNlcnZpY2UpIHtcbiAgICB0aGlzLmFtcGxpdHVkZXMkID0gdGhpcy5hbXBsaXR1ZGVzU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLmVycm9yJCA9IHRoaXMuZXJyb3JTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSByZWNvcmRlZCBhbXBsaXR1ZGVzXG4gICAqL1xuICBnZXQgYW1wbGl0dWRlcygpIHtcbiAgICByZXR1cm4gdGhpcy5hbXBsaXR1ZGVzU3ViamVjdC52YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydCBhbXBsaXR1ZGUgcmVjb3JkaW5nIGZvciB0aGUgZ2l2ZW4gbWVkaWEgc3RyZWFtXG4gICAqIEBwYXJhbSBzdHJlYW1cbiAgICovXG4gIHN0YXJ0ID0gKHN0cmVhbTogTWVkaWFTdHJlYW0pID0+IHtcbiAgICB0aGlzLnN0b3AoKTtcblxuICAgIHRoaXMuc3RyZWFtID0gc3RyZWFtO1xuICAgIHRoaXMuaW5pdCgpO1xuXG4gICAgdGhpcy5yZXN1bWUoKTtcbiAgfTtcblxuICAvKipcbiAgICogVGVtcG9yYXJpbHkgcGF1c2UgYW1wbGl0dWRlIHJlY29yZGluZywgcmVjb3JkaW5nIGNhbiBiZSByZXN1bWVkIHdpdGggYHJlc3VtZWBcbiAgICovXG4gIHBhdXNlKCkge1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5hbXBsaXR1ZGVTYW1wbGluZ0ludGVydmFsKTtcbiAgICB0aGlzLmFtcGxpdHVkZVNhbXBsaW5nSW50ZXJ2YWwgPSB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogUmVzdW1lIGFtcGxpdGVkIHJlY29yZGluZyBhZnRlciBpdCB3YXMgcGFzdWVkXG4gICAqL1xuICByZXN1bWUoKSB7XG4gICAgdGhpcy5hbXBsaXR1ZGVTYW1wbGluZ0ludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmFuYWx5c2VyTm9kZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBmcmVxdWVuY3lCaW5zID0gbmV3IFVpbnQ4QXJyYXkodGhpcy5hbmFseXNlck5vZGUuZnJlcXVlbmN5QmluQ291bnQpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5hbmFseXNlck5vZGUuZ2V0Qnl0ZUZyZXF1ZW5jeURhdGEoZnJlcXVlbmN5Qmlucyk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRoaXMubG9nRXJyb3IoZSBhcyBFcnJvcik7XG4gICAgICAgIHRoaXMuZXJyb3JTdWJqZWN0Lm5leHQoZSBhcyBFcnJvcik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG5vcm1hbGl6ZWRTaWduYWxTdHJlbmd0aCA9XG4gICAgICAgIHJvb3RNZWFuU3F1YXJlKGZyZXF1ZW5jeUJpbnMpIC8gTUFYX0ZSRVFVRU5DWV9BTVBMSVRVREU7XG4gICAgICB0aGlzLmFtcGxpdHVkZXNTdWJqZWN0Lm5leHQoW1xuICAgICAgICAuLi50aGlzLmFtcGxpdHVkZXNTdWJqZWN0LnZhbHVlLFxuICAgICAgICBub3JtYWxpemVkU2lnbmFsU3RyZW5ndGgsXG4gICAgICBdKTtcbiAgICB9LCB0aGlzLmNvbmZpZy5zYW1wbGluZ0ZyZXF1ZW5jeU1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9wIHRoZSBhbXBsaXR1ZGUgcmVjb3JkaW5nIGFuZCBmcmVlcyB1cCB1c2VkIHJlc291cmNlc1xuICAgKi9cbiAgc3RvcCgpIHtcbiAgICBpZiAoIXRoaXMuc3RyZWFtKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc3RyZWFtID0gdW5kZWZpbmVkO1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5hbXBsaXR1ZGVTYW1wbGluZ0ludGVydmFsKTtcbiAgICB0aGlzLmFtcGxpdHVkZVNhbXBsaW5nSW50ZXJ2YWwgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5hbXBsaXR1ZGVzU3ViamVjdC5uZXh0KFtdKTtcbiAgICB0aGlzLmVycm9yU3ViamVjdC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgdGhpcy5taWNyb3Bob25lPy5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5hbmFseXNlck5vZGU/LmRpc2Nvbm5lY3QoKTtcbiAgICBpZiAodGhpcy5hdWRpb0NvbnRleHQ/LnN0YXRlICE9PSAnY2xvc2VkJykge1xuICAgICAgdm9pZCB0aGlzLmF1ZGlvQ29udGV4dD8uY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXQoKSB7XG4gICAgaWYgKCF0aGlzLnN0cmVhbSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYXVkaW9Db250ZXh0ID0gbmV3IEF1ZGlvQ29udGV4dCgpO1xuICAgIHRoaXMuYW5hbHlzZXJOb2RlID0gdGhpcy5hdWRpb0NvbnRleHQuY3JlYXRlQW5hbHlzZXIoKTtcbiAgICBjb25zdCB7IGFuYWx5c2VyQ29uZmlnIH0gPSB0aGlzLmNvbmZpZztcbiAgICB0aGlzLmFuYWx5c2VyTm9kZS5mZnRTaXplID0gYW5hbHlzZXJDb25maWcuZmZ0U2l6ZTtcbiAgICB0aGlzLmFuYWx5c2VyTm9kZS5tYXhEZWNpYmVscyA9IGFuYWx5c2VyQ29uZmlnLm1heERlY2liZWxzO1xuICAgIHRoaXMuYW5hbHlzZXJOb2RlLm1pbkRlY2liZWxzID0gYW5hbHlzZXJDb25maWcubWluRGVjaWJlbHM7XG5cbiAgICB0aGlzLm1pY3JvcGhvbmUgPSB0aGlzLmF1ZGlvQ29udGV4dC5jcmVhdGVNZWRpYVN0cmVhbVNvdXJjZSh0aGlzLnN0cmVhbSk7XG4gICAgdGhpcy5taWNyb3Bob25lLmNvbm5lY3QodGhpcy5hbmFseXNlck5vZGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2dFcnJvcihlcnJvcjogRXJyb3IpIHtcbiAgICB0aGlzLmNoYXRTZXJ2aWNlLmNoYXRDbGllbnQ/LmxvZ2dlcignZXJyb3InLCBlcnJvci5tZXNzYWdlLCB7XG4gICAgICBlcnJvcjogZXJyb3IsXG4gICAgICB0YWc6IFsnQW1wbGl0dWRlUmVjb3JkZXJTZXJ2aWNlJ10sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
118
|
+
}], ctorParameters: function () { return [{ type: i1.ChatClientService }]; } });
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGl0dWRlLXJlY29yZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdHJlYW0tY2hhdC1hbmd1bGFyL3NyYy9saWIvdm9pY2UtcmVjb3JkZXIvYW1wbGl0dWRlLXJlY29yZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7O0FBR25ELE1BQU0sdUJBQXVCLEdBQUcsR0FBWSxDQUFDO0FBRTdDLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBa0IsRUFBRSxFQUFFLENBQzVDLElBQUksQ0FBQyxJQUFJLENBQ1AsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUN2RSxDQUFDO0FBK0JKLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUE0QjtJQUN4RSxjQUFjLEVBQUU7UUFDZCxPQUFPLEVBQUUsRUFBRTtRQUNYLFdBQVcsRUFBRSxDQUFDO1FBQ2QsV0FBVyxFQUFFLENBQUMsR0FBRztLQUNTO0lBQzVCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLG1CQUFtQixFQUFFLEVBQUU7Q0FDeEIsQ0FBQztBQUVGOztHQUVHO0FBRUgsTUFBTSxPQUFPLHdCQUF3QjtJQWFuQyxZQUFvQixXQUE4QjtRQUE5QixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFabEQsV0FBTSxHQUFHLGlDQUFpQyxDQUFDO1FBSW5DLHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELGlCQUFZLEdBQUcsSUFBSSxl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LENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkQsTUFBTSxFQUFFLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQztRQUNuRCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsV0FBVyxDQUFDO1FBQzNELElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQyxXQUFXLENBQUM7UUFFM0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLFFBQVEsQ0FBQyxLQUFZO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUMxRCxLQUFLLEVBQUUsS0FBSztZQUNaLEdBQUcsRUFBRSxDQUFDLDBCQUEwQixDQUFDO1NBQ2xDLENBQUMsQ0FBQztJQUNMLENBQUM7O3FIQS9HVSx3QkFBd0I7eUhBQXhCLHdCQUF3QixjQURYLFFBQVE7MkZBQ3JCLHdCQUF3QjtrQkFEcEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDaGF0Q2xpZW50U2VydmljZSB9IGZyb20gJy4uL2NoYXQtY2xpZW50LnNlcnZpY2UnO1xuXG5jb25zdCBNQVhfRlJFUVVFTkNZX0FNUExJVFVERSA9IDI1NSBhcyBjb25zdDtcblxuY29uc3Qgcm9vdE1lYW5TcXVhcmUgPSAodmFsdWVzOiBVaW50OEFycmF5KSA9PlxuICBNYXRoLnNxcnQoXG4gICAgdmFsdWVzLnJlZHVjZSgoYWNjLCB2YWwpID0+IGFjYyArIE1hdGgucG93KHZhbCwgMiksIDApIC8gdmFsdWVzLmxlbmd0aFxuICApO1xuXG4vKipcbiAqIGZmdFNpemVcbiAqIEFuIHVuc2lnbmVkIGludGVnZXIsIHJlcHJlc2VudGluZyB0aGUgd2luZG93IHNpemUgb2YgdGhlIEZGVCwgZ2l2ZW4gaW4gbnVtYmVyIG9mIHNhbXBsZXMuXG4gKiBBIGhpZ2hlciB2YWx1ZSB3aWxsIHJlc3VsdCBpbiBtb3JlIGRldGFpbHMgaW4gdGhlIGZyZXF1ZW5jeSBkb21haW4gYnV0IGZld2VyIGRldGFpbHNcbiAqIGluIHRoZSBhbXBsaXR1ZGUgZG9tYWluLlxuICpcbiAqIE11c3QgYmUgYSBwb3dlciBvZiAyIGJldHdlZW4gMl41IGFuZCAyXjE1LCBzbyBvbmUgb2Y6IDMyLCA2NCwgMTI4LCAyNTYsIDUxMiwgMTAyNCwgMjA0OCwgNDA5NiwgODE5MiwgMTYzODQsIGFuZCAzMjc2OC5cbiAqIERlZmF1bHRzIHRvIDMyLlxuICpcbiAqIG1heERlY2liZWxzXG4gKiBBIGRvdWJsZSwgcmVwcmVzZW50aW5nIHRoZSBtYXhpbXVtIGRlY2liZWwgdmFsdWUgZm9yIHNjYWxpbmcgdGhlIEZGVCBhbmFseXNpcyBkYXRhLFxuICogd2hlcmUgMCBkQiBpcyB0aGUgbG91ZGVzdCBwb3NzaWJsZSBzb3VuZCwgLTEwIGRCIGlzIGEgMTB0aCBvZiB0aGF0LCBldGMuXG4gKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAtMzAgZEIuXG4gKlxuICogbWluRGVjaWJlbHNcbiAqIEEgZG91YmxlLCByZXByZXNlbnRpbmcgdGhlIG1pbmltdW0gZGVjaWJlbCB2YWx1ZSBmb3Igc2NhbGluZyB0aGUgRkZUIGFuYWx5c2lzIGRhdGEsXG4gKiB3aGVyZSAwIGRCIGlzIHRoZSBsb3VkZXN0IHBvc3NpYmxlIHNvdW5kLCAtMTAgZEIgaXMgYSAxMHRoIG9mIHRoYXQsIGV0Yy5cbiAqIFRoZSBkZWZhdWx0IHZhbHVlIGlzIC0xMDAgZEIuXG4gKi9cbmV4cG9ydCB0eXBlIEFtcGxpdHVkZUFuYWx5c2VyQ29uZmlnID0gUGljazxcbiAgQW5hbHlzZXJOb2RlLFxuICAnZmZ0U2l6ZScgfCAnbWF4RGVjaWJlbHMnIHwgJ21pbkRlY2liZWxzJ1xuPjtcbmV4cG9ydCB0eXBlIEFtcGxpdHVkZVJlY29yZGVyQ29uZmlnID0ge1xuICBhbmFseXNlckNvbmZpZzogQW1wbGl0dWRlQW5hbHlzZXJDb25maWc7XG4gIHNhbXBsZUNvdW50OiBudW1iZXI7XG4gIHNhbXBsaW5nRnJlcXVlbmN5TXM6IG51bWJlcjtcbn07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0FNUExJVFVERV9SRUNPUkRFUl9DT05GSUc6IEFtcGxpdHVkZVJlY29yZGVyQ29uZmlnID0ge1xuICBhbmFseXNlckNvbmZpZzoge1xuICAgIGZmdFNpemU6IDMyLFxuICAgIG1heERlY2liZWxzOiAwLFxuICAgIG1pbkRlY2liZWxzOiAtMTAwLFxuICB9IGFzIEFtcGxpdHVkZUFuYWx5c2VyQ29uZmlnLFxuICBzYW1wbGVDb3VudDogMTAwLFxuICBzYW1wbGluZ0ZyZXF1ZW5jeU1zOiA2MCxcbn07XG5cbi8qKlxuICogVGhlIGBBbXBsaXR1ZGVSZWNvcmRlclNlcnZpY2VgIGlzIGEgdXRpbGl0eSBzZXJ2aWNlIHVzZWQgdG8gY3JlYXRlIGFtcGxpdHVkZSB2YWx1ZXMgZm9yIHZvaWNlIHJlY29yZGluZ3MsIG1ha2luZyBpdCBwb3NzaWJsZSB0byBkaXNwbGF5IGEgd2F2ZSBiYXJcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiBOZ01vZHVsZSB9KVxuZXhwb3J0IGNsYXNzIEFtcGxpdHVkZVJlY29yZGVyU2VydmljZSB7XG4gIGNvbmZpZyA9IERFRkFVTFRfQU1QTElUVURFX1JFQ09SREVSX0NPTkZJRztcbiAgYW1wbGl0dWRlcyQ6IE9ic2VydmFibGU8bnVtYmVyW10+O1xuICBlcnJvciQ6IE9ic2VydmFibGU8RXJyb3IgfCB1bmRlZmluZWQ+O1xuXG4gIHByaXZhdGUgYW1wbGl0dWRlc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcltdPihbXSk7XG4gIHByaXZhdGUgZXJyb3JTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxFcnJvciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSBhdWRpb0NvbnRleHQ6IEF1ZGlvQ29udGV4dCB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBhbmFseXNlck5vZGU6IEFuYWx5c2VyTm9kZSB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBtaWNyb3Bob25lOiBNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZSB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBzdHJlYW06IE1lZGlhU3RyZWFtIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIGFtcGxpdHVkZVNhbXBsaW5nSW50ZXJ2YWw6IFJldHVyblR5cGU8dHlwZW9mIHNldEludGVydmFsPiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYXRTZXJ2aWNlOiBDaGF0Q2xpZW50U2VydmljZSkge1xuICAgIHRoaXMuYW1wbGl0dWRlcyQgPSB0aGlzLmFtcGxpdHVkZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMuZXJyb3IkID0gdGhpcy5lcnJvclN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHJlY29yZGVkIGFtcGxpdHVkZXNcbiAgICovXG4gIGdldCBhbXBsaXR1ZGVzKCkge1xuICAgIHJldHVybiB0aGlzLmFtcGxpdHVkZXNTdWJqZWN0LnZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0IGFtcGxpdHVkZSByZWNvcmRpbmcgZm9yIHRoZSBnaXZlbiBtZWRpYSBzdHJlYW1cbiAgICogQHBhcmFtIHN0cmVhbVxuICAgKi9cbiAgc3RhcnQgPSAoc3RyZWFtOiBNZWRpYVN0cmVhbSkgPT4ge1xuICAgIHRoaXMuc3RvcCgpO1xuXG4gICAgdGhpcy5zdHJlYW0gPSBzdHJlYW07XG4gICAgdGhpcy5pbml0KCk7XG5cbiAgICB0aGlzLnJlc3VtZSgpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBUZW1wb3JhcmlseSBwYXVzZSBhbXBsaXR1ZGUgcmVjb3JkaW5nLCByZWNvcmRpbmcgY2FuIGJlIHJlc3VtZWQgd2l0aCBgcmVzdW1lYFxuICAgKi9cbiAgcGF1c2UoKSB7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLmFtcGxpdHVkZVNhbXBsaW5nSW50ZXJ2YWwpO1xuICAgIHRoaXMuYW1wbGl0dWRlU2FtcGxpbmdJbnRlcnZhbCA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXN1bWUgYW1wbGl0ZWQgcmVjb3JkaW5nIGFmdGVyIGl0IHdhcyBwYXN1ZWRcbiAgICovXG4gIHJlc3VtZSgpIHtcbiAgICB0aGlzLmFtcGxpdHVkZVNhbXBsaW5nSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuYW5hbHlzZXJOb2RlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZyZXF1ZW5jeUJpbnMgPSBuZXcgVWludDhBcnJheSh0aGlzLmFuYWx5c2VyTm9kZS5mcmVxdWVuY3lCaW5Db3VudCk7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLmFuYWx5c2VyTm9kZS5nZXRCeXRlRnJlcXVlbmN5RGF0YShmcmVxdWVuY3lCaW5zKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgdGhpcy5sb2dFcnJvcihlIGFzIEVycm9yKTtcbiAgICAgICAgdGhpcy5lcnJvclN1YmplY3QubmV4dChlIGFzIEVycm9yKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3Qgbm9ybWFsaXplZFNpZ25hbFN0cmVuZ3RoID1cbiAgICAgICAgcm9vdE1lYW5TcXVhcmUoZnJlcXVlbmN5QmlucykgLyBNQVhfRlJFUVVFTkNZX0FNUExJVFVERTtcbiAgICAgIHRoaXMuYW1wbGl0dWRlc1N1YmplY3QubmV4dChbXG4gICAgICAgIC4uLnRoaXMuYW1wbGl0dWRlc1N1YmplY3QudmFsdWUsXG4gICAgICAgIG5vcm1hbGl6ZWRTaWduYWxTdHJlbmd0aCxcbiAgICAgIF0pO1xuICAgIH0sIHRoaXMuY29uZmlnLnNhbXBsaW5nRnJlcXVlbmN5TXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3AgdGhlIGFtcGxpdHVkZSByZWNvcmRpbmcgYW5kIGZyZWVzIHVwIHVzZWQgcmVzb3VyY2VzXG4gICAqL1xuICBzdG9wKCkge1xuICAgIGlmICghdGhpcy5zdHJlYW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zdHJlYW0gPSB1bmRlZmluZWQ7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLmFtcGxpdHVkZVNhbXBsaW5nSW50ZXJ2YWwpO1xuICAgIHRoaXMuYW1wbGl0dWRlU2FtcGxpbmdJbnRlcnZhbCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmFtcGxpdHVkZXNTdWJqZWN0Lm5leHQoW10pO1xuICAgIHRoaXMuZXJyb3JTdWJqZWN0Lm5leHQodW5kZWZpbmVkKTtcbiAgICB0aGlzLm1pY3JvcGhvbmU/LmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLmFuYWx5c2VyTm9kZT8uZGlzY29ubmVjdCgpO1xuICAgIGlmICh0aGlzLmF1ZGlvQ29udGV4dD8uc3RhdGUgIT09ICdjbG9zZWQnKSB7XG4gICAgICB2b2lkIHRoaXMuYXVkaW9Db250ZXh0Py5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuc3RyZWFtKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5hdWRpb0NvbnRleHQgPSBuZXcgQXVkaW9Db250ZXh0KCk7XG4gICAgdGhpcy5hbmFseXNlck5vZGUgPSB0aGlzLmF1ZGlvQ29udGV4dC5jcmVhdGVBbmFseXNlcigpO1xuICAgIGNvbnN0IHsgYW5hbHlzZXJDb25maWcgfSA9IHRoaXMuY29uZmlnO1xuICAgIHRoaXMuYW5hbHlzZXJOb2RlLmZmdFNpemUgPSBhbmFseXNlckNvbmZpZy5mZnRTaXplO1xuICAgIHRoaXMuYW5hbHlzZXJOb2RlLm1heERlY2liZWxzID0gYW5hbHlzZXJDb25maWcubWF4RGVjaWJlbHM7XG4gICAgdGhpcy5hbmFseXNlck5vZGUubWluRGVjaWJlbHMgPSBhbmFseXNlckNvbmZpZy5taW5EZWNpYmVscztcblxuICAgIHRoaXMubWljcm9waG9uZSA9IHRoaXMuYXVkaW9Db250ZXh0LmNyZWF0ZU1lZGlhU3RyZWFtU291cmNlKHRoaXMuc3RyZWFtKTtcbiAgICB0aGlzLm1pY3JvcGhvbmUuY29ubmVjdCh0aGlzLmFuYWx5c2VyTm9kZSk7XG4gIH1cblxuICBwcml2YXRlIGxvZ0Vycm9yKGVycm9yOiBFcnJvcikge1xuICAgIHRoaXMuY2hhdFNlcnZpY2UuY2hhdENsaWVudD8ubG9nZ2VyKCdlcnJvcicsIGVycm9yLm1lc3NhZ2UsIHtcbiAgICAgIGVycm9yOiBlcnJvcixcbiAgICAgIHRhZzogWydBbXBsaXR1ZGVSZWNvcmRlclNlcnZpY2UnXSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -69,11 +69,11 @@ export class AudioRecorderService extends MultimediaRecorder {
|
|
|
69
69
|
this.amplitudeRecorder.stop();
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0", ngImport: i0, type: AudioRecorderService, deps: [{ token: i1.NotificationService }, { token: i2.ChatClientService }, { token: i3.TranscoderService }, { token: i4.AmplitudeRecorderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
73
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0", ngImport: i0, type: AudioRecorderService, providedIn: NgModule }); }
|
|
74
72
|
}
|
|
75
|
-
i0.ɵɵ
|
|
73
|
+
AudioRecorderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AudioRecorderService, deps: [{ token: i1.NotificationService }, { token: i2.ChatClientService }, { token: i3.TranscoderService }, { token: i4.AmplitudeRecorderService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
74
|
+
AudioRecorderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AudioRecorderService, providedIn: NgModule });
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AudioRecorderService, decorators: [{
|
|
76
76
|
type: Injectable,
|
|
77
77
|
args: [{ providedIn: NgModule }]
|
|
78
|
-
}], ctorParameters: ()
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
}], ctorParameters: function () { return [{ type: i1.NotificationService }, { type: i2.ChatClientService }, { type: i3.TranscoderService }, { type: i4.AmplitudeRecorderService }]; } });
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8tcmVjb3JkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi92b2ljZS1yZWNvcmRlci9hdWRpby1yZWNvcmRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBdUIsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUkzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBR3hEOztHQUVHO0FBRUgsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGtCQUV6QztJQVlDLFlBQ0UsbUJBQXdDLEVBQ3hDLFdBQThCLEVBQzlCLFVBQTZCLEVBQ3JCLGlCQUEyQztRQUVuRCxLQUFLLENBQUMsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRjVDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBMEI7UUFmckQ7Ozs7V0FJRztRQUNILFdBQU0sR0FBd0I7WUFDNUIsUUFBUSxFQUFFLGFBQWEsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDO2dCQUNuRCxDQUFDLENBQUMsWUFBWTtnQkFDZCxDQUFDLENBQUMsNEJBQTRCLEVBQUUsc0JBQXNCO1NBQ3pELENBQUM7SUFTRixDQUFDO0lBRVMsbUJBQW1CO1FBQzNCLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUNuQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUNqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FDMUMsQ0FBQztRQUVGLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLEtBQUs7UUFDVCxNQUFNLE1BQU0sR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVuQyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFO1lBQzlCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUMxRDtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUs7UUFDSCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFN0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBRS9CLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDSixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFOUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRWhDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBNkI7UUFDdEMsSUFBSTtZQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUV6QyxPQUFPLE1BQU0sQ0FBQztTQUNmO2dCQUFTO1lBQ1IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO1NBQy9CO0lBQ0gsQ0FBQzs7aUhBakZVLG9CQUFvQjtxSEFBcEIsb0JBQW9CLGNBRFAsUUFBUTsyRkFDckIsb0JBQW9CO2tCQURoQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbXBsaXR1ZGVSZWNvcmRlclNlcnZpY2UgfSBmcm9tICcuL2FtcGxpdHVkZS1yZWNvcmRlci5zZXJ2aWNlJztcbmltcG9ydCB7IE1lZGlhUmVjb3JkZXJDb25maWcsIE11bHRpbWVkaWFSZWNvcmRlciB9IGZyb20gJy4vbWVkaWEtcmVjb3JkZXInO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENoYXRDbGllbnRTZXJ2aWNlIH0gZnJvbSAnLi4vY2hhdC1jbGllbnQuc2VydmljZSc7XG5pbXBvcnQgeyBUcmFuc2NvZGVyU2VydmljZSB9IGZyb20gJy4vdHJhbnNjb2Rlci5zZXJ2aWNlJztcbmltcG9ydCB7IHJlc2FtcGxlV2F2ZUZvcm0gfSBmcm9tICcuLi93YXZlLWZvcm0tc2FtcGxlcic7XG5pbXBvcnQgeyBBdWRpb1JlY29yZGluZywgTWVkaWFSZWNvcmRpbmcgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8qKlxuICogVGhlIGBBdWRpb1JlY29yZGVyU2VydmljZWAgY2FuIHJlY29yZCBhbiBhdWRpbyBmaWxlLCB0aGUgU0RLIHVzZXMgdGhpcyB0byByZWNvcmQgYSB2b2ljZSBtZXNzYWdlXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogTmdNb2R1bGUgfSlcbmV4cG9ydCBjbGFzcyBBdWRpb1JlY29yZGVyU2VydmljZSBleHRlbmRzIE11bHRpbWVkaWFSZWNvcmRlcjxcbiAgT21pdDxBdWRpb1JlY29yZGluZywga2V5b2YgTWVkaWFSZWNvcmRpbmc+XG4+IHtcbiAgLyoqXG4gICAqIER1ZSB0byBicm93c2VyIHJlc3RyaWN0aW9ucyB0aGUgZm9sbG93aW5nIGNvbmZpZyBpcyB1c2VkOlxuICAgKiAtIEluIFNhZmFyaSB3ZSByZWNvcmQgaW4gYXVkaW8vbXA0XG4gICAqIC0gRm9yIGFsbCBvdGhlciBicm93c2VycyB3ZSB1c2UgYXVkaW8vd2VibSAod2hpY2ggaXMgdGhlbiB0cmFuc2NvZGVkIHRvIHdhdilcbiAgICovXG4gIGNvbmZpZzogTWVkaWFSZWNvcmRlckNvbmZpZyA9IHtcbiAgICBtaW1lVHlwZTogTWVkaWFSZWNvcmRlci5pc1R5cGVTdXBwb3J0ZWQoJ2F1ZGlvL3dlYm0nKVxuICAgICAgPyAnYXVkaW8vd2VibSdcbiAgICAgIDogJ2F1ZGlvL21wNDtjb2RlY3M9bXA0YS40MC4yJywgLy8gZmFsbGJhY2sgZm9yIFNhZmFyaVxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgY2hhdFNlcnZpY2U6IENoYXRDbGllbnRTZXJ2aWNlLFxuICAgIHRyYW5zY29kZXI6IFRyYW5zY29kZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgYW1wbGl0dWRlUmVjb3JkZXI6IEFtcGxpdHVkZVJlY29yZGVyU2VydmljZVxuICApIHtcbiAgICBzdXBlcihub3RpZmljYXRpb25TZXJ2aWNlLCBjaGF0U2VydmljZSwgdHJhbnNjb2Rlcik7XG4gIH1cblxuICBwcm90ZWN0ZWQgZW5yaWNoV2l0aEV4dHJhRGF0YSgpIHtcbiAgICBjb25zdCB3YXZlZm9ybURhdGEgPSByZXNhbXBsZVdhdmVGb3JtKFxuICAgICAgdGhpcy5hbXBsaXR1ZGVSZWNvcmRlci5hbXBsaXR1ZGVzLFxuICAgICAgdGhpcy5hbXBsaXR1ZGVSZWNvcmRlci5jb25maWcuc2FtcGxlQ291bnRcbiAgICApO1xuXG4gICAgcmV0dXJuIHsgd2F2ZWZvcm1fZGF0YTogd2F2ZWZvcm1EYXRhIH07XG4gIH1cblxuICAvKipcbiAgICogU3RhcnQgYXVkaW8gcmVjb3JkaW5nXG4gICAqL1xuICBhc3luYyBzdGFydCgpIHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBzdXBlci5zdGFydCgpO1xuXG4gICAgaWYgKHRoaXMubWVkaWFSZWNvcmRlcj8uc3RyZWFtKSB7XG4gICAgICB0aGlzLmFtcGxpdHVkZVJlY29yZGVyLnN0YXJ0KHRoaXMubWVkaWFSZWNvcmRlcj8uc3RyZWFtKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIFBhdXNlIGF1ZGlvIHJlY29yZGluZywgaXQgY2FuIGJlIHJlc3RhcnRlZCB1c2luZyBgcmVzdW1lYFxuICAgKi9cbiAgcGF1c2UoKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gc3VwZXIucGF1c2UoKTtcblxuICAgIHRoaXMuYW1wbGl0dWRlUmVjb3JkZXIucGF1c2UoKTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogUmVzdW1lIGEgcHJldmlvdXNseSBwYXVzZWQgcmVjb3JkaW5nXG4gICAqL1xuICByZXN1bWUoKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gc3VwZXIucmVzdW1lKCk7XG5cbiAgICB0aGlzLmFtcGxpdHVkZVJlY29yZGVyLnJlc3VtZSgpO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9wIHRoZSByZWNvcmRpbmcgYW5kIGZyZWUgdXAgdXNlZCByZXNvdXJjZXNcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHBhcmFtIG9wdGlvbnMuY2FuY2VsIGlmIHRoaXMgaXMgYHRydWVgIG5vIHJlY29yZGluZyB3aWxsIGJlIGNyZWF0ZWQsIGJ1dCByZXNvdXJjZXMgd2lsbCBiZSBmcmVlZFxuICAgKiBAcmV0dXJucyB0aGUgcmVjb3JkaW5nXG4gICAqL1xuICBhc3luYyBzdG9wKG9wdGlvbnM/OiB7IGNhbmNlbDogYm9vbGVhbiB9KSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHN1cGVyLnN0b3Aob3B0aW9ucyk7XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuYW1wbGl0dWRlUmVjb3JkZXIuc3RvcCgpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -187,4 +187,4 @@ export class MultimediaRecorder {
|
|
|
187
187
|
});
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtcmVjb3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdHJlYW0tY2hhdC1hbmd1bGFyL3NyYy9saWIvdm9pY2UtcmVjb3JkZXIvbWVkaWEtcmVjb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQix3QkFBd0IsR0FDekIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxlQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFPaEQsTUFBTSxDQUFOLElBQVksbUJBS1g7QUFMRCxXQUFZLG1CQUFtQjtJQUM3Qix3Q0FBaUIsQ0FBQTtJQUNqQiw4Q0FBdUIsQ0FBQTtJQUN2QiwwQ0FBbUIsQ0FBQTtJQUNuQixzQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFMVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBSzlCO0FBTUQsTUFBTSxPQUFnQixrQkFBa0I7SUFtQnRDLFlBQ1ksbUJBQXdDLEVBQ3hDLFdBQThCLEVBQ2hDLFVBQTZCO1FBRjNCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQ2hDLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBZDdCLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUU5QyxTQUFTLENBQUMsQ0FBQztRQUlILDJCQUFzQixHQUFhLEVBQUUsQ0FBQztRQUN4QywwQkFBcUIsR0FBRyxJQUFJLGVBQWUsQ0FDakQsbUJBQW1CLENBQUMsT0FBTyxDQUM1QixDQUFDO1FBNkJGLDJCQUFzQixHQUFHLENBQUMsUUFBZ0IsRUFBRSxFQUFFO1lBQzVDLElBQUksSUFBSSxDQUFDLDRCQUE0QixFQUFFO2dCQUNyQyxPQUFPLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7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LEVBQ2YsSUFBSSxDQUFDLHdCQUF3QixDQUM5QixDQUFDO1lBQ0YsSUFBSSxDQUFDLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDeEUsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUU7Z0JBQ3RDLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUN4RCxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ2IsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNqRCxDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQzthQUNoQztZQUVELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDOUQ7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBSVMsUUFBUSxDQUFDLEtBQVk7UUFDN0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQzFELEtBQUssRUFBRSxLQUFLO1lBQ1osR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO1NBQ3ZCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgY3JlYXRlRmlsZUZyb21CbG9icyxcbiAgY3JlYXRlVXJpRnJvbUJsb2IsXG4gIGdldEV4dGVuc2lvbkZyb21NaW1lVHlwZSxcbn0gZnJvbSAnLi4vZmlsZS11dGlscyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhdENsaWVudFNlcnZpY2UgfSBmcm9tICcuLi9jaGF0LWNsaWVudC5zZXJ2aWNlJztcbmltcG9ydCBmaXhXZWJtRHVyYXRpb24gZnJvbSAnZml4LXdlYm0tZHVyYXRpb24nO1xuaW1wb3J0IHsgVHJhbnNjb2RlclNlcnZpY2UgfSBmcm9tICcuL3RyYW5zY29kZXIuc2VydmljZSc7XG5pbXBvcnQgeyBNZWRpYVJlY29yZGluZyB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IHR5cGUgTWVkaWFSZWNvcmRlckNvbmZpZyA9IE9taXQ8TWVkaWFSZWNvcmRlck9wdGlvbnMsICdtaW1lVHlwZSc+ICZcbiAgUmVxdWlyZWQ8UGljazxNZWRpYVJlY29yZGVyT3B0aW9ucywgJ21pbWVUeXBlJz4+O1xuXG5leHBvcnQgZW51bSBNZWRpYVJlY29yZGluZ1N0YXRlIHtcbiAgUEFVU0VEID0gJ3BhdXNlZCcsXG4gIFJFQ09SRElORyA9ICdyZWNvcmRpbmcnLFxuICBTVE9QUEVEID0gJ3N0b3BwZWQnLFxuICBFUlJPUiA9ICdlcnJvcicsXG59XG5cbmV4cG9ydCB0eXBlIE1lZGlhUmVjb3JkaW5nVGl0bGVPcHRpb25zID0ge1xuICBtaW1lVHlwZTogc3RyaW5nO1xufTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE11bHRpbWVkaWFSZWNvcmRlcjxUID0gbnVsbD4ge1xuICBhYnN0cmFjdCBjb25maWc6IE1lZGlhUmVjb3JkZXJDb25maWc7XG4gIGN1c3RvbUdlbmVyYXRlUmVjb3JkaW5nVGl0bGU6XG4gICAgfCAoKG9wdGlvbnM6IE1lZGlhUmVjb3JkaW5nVGl0bGVPcHRpb25zKSA9PiBzdHJpbmcpXG4gICAgfCB1bmRlZmluZWQ7XG4gIHJlY29yZGluZ1N0YXRlJDogT2JzZXJ2YWJsZTxNZWRpYVJlY29yZGluZ1N0YXRlPjtcbiAgcmVjb3JkaW5nJDogT2JzZXJ2YWJsZTwoTWVkaWFSZWNvcmRpbmcgJiBUKSB8IHVuZGVmaW5lZD47XG5cbiAgcHJvdGVjdGVkIHJlY29yZGluZ1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFxuICAgIChNZWRpYVJlY29yZGluZyAmIFQpIHwgdW5kZWZpbmVkXG4gID4odW5kZWZpbmVkKTtcblxuICBwcm90ZWN0ZWQgbWVkaWFSZWNvcmRlcjogTWVkaWFSZWNvcmRlciB8IHVuZGVmaW5lZDtcbiAgcHJvdGVjdGVkIHN0YXJ0VGltZTogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBwcm90ZWN0ZWQgcmVjb3JkZWRDaHVua0R1cmF0aW9uczogbnVtYmVyW10gPSBbXTtcbiAgcHJpdmF0ZSByZWNvcmRpbmdTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1lZGlhUmVjb3JkaW5nU3RhdGU+KFxuICAgIE1lZGlhUmVjb3JkaW5nU3RhdGUuU1RPUFBFRCxcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgY2hhdFNlcnZpY2U6IENoYXRDbGllbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNjb2RlcjogVHJhbnNjb2RlclNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMucmVjb3JkaW5nJCA9IHRoaXMucmVjb3JkaW5nU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLnJlY29yZGluZ1N0YXRlJCA9IHRoaXMucmVjb3JkaW5nU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGR1cmF0aW9uTXMoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMucmVjb3JkZWRDaHVua0R1cmF0aW9ucy5yZWR1Y2UoKGFjYywgdmFsKSA9PiBhY2MgKyB2YWwsIDApICtcbiAgICAgICh0aGlzLnN0YXJ0VGltZSA/IERhdGUubm93KCkgLSB0aGlzLnN0YXJ0VGltZSA6IDApXG4gICAgKTtcbiAgfVxuXG4gIGdldCBtZWRpYVR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLm1pbWVUeXBlLnNwbGl0KCcvJyk/LlswXSB8fCAndW5rbm93bic7XG4gIH1cblxuICBnZXQgaXNSZWNvcmRpbmcoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMucmVjb3JkaW5nU3RhdGVTdWJqZWN0LnZhbHVlID09PSBNZWRpYVJlY29yZGluZ1N0YXRlLlJFQ09SRElORyB8fFxuICAgICAgdGhpcy5yZWNvcmRpbmdTdGF0ZVN1YmplY3QudmFsdWUgPT09IE1lZGlhUmVjb3JkaW5nU3RhdGUuUEFVU0VEXG4gICAgKTtcbiAgfVxuXG4gIGdlbmVyYXRlUmVjb3JkaW5nVGl0bGUgPSAobWltZVR5cGU6IHN0cmluZykgPT4ge1xuICAgIGlmICh0aGlzLmN1c3RvbUdlbmVyYXRlUmVjb3JkaW5nVGl0bGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmN1c3RvbUdlbmVyYXRlUmVjb3JkaW5nVGl0bGUoeyBtaW1lVHlwZSB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGAke1xuICAgICAgICB0aGlzLm1lZGlhVHlwZVxuICAgICAgfV9yZWNvcmRpbmdfJHtuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9LiR7Z2V0RXh0ZW5zaW9uRnJvbU1pbWVUeXBlKFxuICAgICAgICBtaW1lVHlwZSxcbiAgICAgICl9YDsgLy8gZXh0ZW5zaW9uIG5lZWRlZCBzbyB0aGF0IGRlc2t0b3AgU2FmYXJpIGNhbiBwbGF5IHRoZSBhc3NldFxuICAgIH1cbiAgfTtcblxuICBhc3luYyBtYWtlUmVjb3JkaW5nKGJsb2I6IEJsb2IpIHtcbiAgICBjb25zdCB7IG1pbWVUeXBlIH0gPSB0aGlzLmNvbmZpZztcbiAgICB0cnkge1xuICAgICAgaWYgKG1pbWVUeXBlLmluY2x1ZGVzKCd3ZWJtJykpIHtcbiAgICAgICAgLy8gVGhlIGJyb3dzZXIgZG9lcyBub3QgaW5jbHVkZSBkdXJhdGlvbiBtZXRhZGF0YSB3aXRoIHRoZSByZWNvcmRlZCBibG9iXG4gICAgICAgIGJsb2IgPSBhd2FpdCBmaXhXZWJtRHVyYXRpb24oYmxvYiwgdGhpcy5kdXJhdGlvbk1zLCB7XG4gICAgICAgICAgbG9nZ2VyOiAoKSA9PiBudWxsLCAvLyBwcmV2ZW50cyBwb2xsdXRpbmcgdGhlIGJyb3dzZXIgY29uc29sZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGJsb2IgPSBhd2FpdCB0aGlzLnRyYW5zY29kZXIudHJhbnNjb2RlKGJsb2IpO1xuXG4gICAgICBpZiAoIWJsb2IpIHJldHVybjtcblxuICAgICAgY29uc3QgZmlsZSA9IGNyZWF0ZUZpbGVGcm9tQmxvYnMoe1xuICAgICAgICBibG9ic0FycmF5OiBbYmxvYl0sXG4gICAgICAgIGZpbGVOYW1lOiB0aGlzLmdlbmVyYXRlUmVjb3JkaW5nVGl0bGUoYmxvYi50eXBlKSxcbiAgICAgICAgbWltZVR5cGU6IGJsb2IudHlwZSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgcHJldmlld1VybCA9IGF3YWl0IGNyZWF0ZVVyaUZyb21CbG9iKGZpbGUpO1xuXG4gICAgICBjb25zdCBleHRyYURhdGEgPSB0aGlzLmVucmljaFdpdGhFeHRyYURhdGEoKTtcbiAgICAgIHRoaXMucmVjb3JkaW5nU3ViamVjdC5uZXh0KHtcbiAgICAgICAgcmVjb3JkaW5nOiBmaWxlLFxuICAgICAgICBkdXJhdGlvbjogdGhpcy5kdXJhdGlvbk1zIC8gMTAwMCxcbiAgICAgICAgYXNzZXRfdXJsOiBwcmV2aWV3VXJsLFxuICAgICAgICBtaW1lX3R5cGU6IG1pbWVUeXBlLFxuICAgICAgICAuLi5leHRyYURhdGEsXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBmaWxlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmxvZ0Vycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICAgIHRoaXMucmVjb3JkaW5nU3RhdGVTdWJqZWN0Lm5leHQoTWVkaWFSZWNvcmRpbmdTdGF0ZS5FUlJPUik7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUVycm9yRXZlbnQgPSAoZTogRXZlbnQpID0+IHtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hcmd1bWVudCAqL1xuICAgIHRoaXMubG9nRXJyb3IoKGUgYXMgRXJyb3JFdmVudCkuZXJyb3IpO1xuICAgIHRoaXMucmVjb3JkaW5nU3RhdGVTdWJqZWN0Lm5leHQoTWVkaWFSZWNvcmRpbmdTdGF0ZS5FUlJPUik7XG4gICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmFkZFRlbXBvcmFyeU5vdGlmaWNhdGlvbihcbiAgICAgICdzdHJlYW1DaGF0LkFuIGVycm9yIGhhcyBvY2N1cnJlZCBkdXJpbmcgcmVjb3JkaW5nJyxcbiAgICApO1xuICAgIHZvaWQgdGhpcy5zdG9wKHsgY2FuY2VsOiB0cnVlIH0pO1xuICB9O1xuXG4gIGhhbmRsZURhdGFhdmFpbGFibGVFdmVudCA9IChlOiBCbG9iRXZlbnQpID0+IHtcbiAgICBpZiAoIWUuZGF0YS5zaXplKSByZXR1cm47XG4gICAgdm9pZCB0aGlzLm1ha2VSZWNvcmRpbmcoZS5kYXRhKTtcbiAgfTtcblxuICBnZXQgcmVjb3JkaW5nU3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVjb3JkaW5nU3RhdGVTdWJqZWN0LnZhbHVlO1xuICB9XG5cbiAgYXN5bmMgc3RhcnQoKSB7XG4gICAgaWYgKFxuICAgICAgW01lZGlhUmVjb3JkaW5nU3RhdGUuUkVDT1JESU5HLCBNZWRpYVJlY29yZGluZ1N0YXRlLlBBVVNFRF0uaW5jbHVkZXMoXG4gICAgICAgIHRoaXMucmVjb3JkaW5nU3RhdGVTdWJqZWN0LnZhbHVlLFxuICAgICAgKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVjb3JkaW5nU3ViamVjdC5uZXh0KHVuZGVmaW5lZCk7XG5cbiAgICAvLyBhY2NvdW50IGZvciByZXF1aXJlbWVudCBvbiBpT1MgYXMgcGVyIHRoaXMgYnVnIHJlcG9ydDogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1MjMwM1xuICAgIGlmICghbmF2aWdhdG9yLm1lZGlhRGV2aWNlcykge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgW1N0cmVhbSBDaGF0XSBNZWRpYSBkZXZpY2VzIEFQSSBtaXNzaW5nLCBpdCdzIHBvc3NpYmxlIHlvdXIgYXBwIGlzIG5vdCBzZXJ2ZWQgZnJvbSBhIHNlY3VyZSBjb250ZXh0IChodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9TZWN1cml0eS9TZWN1cmVfQ29udGV4dHMpYCxcbiAgICAgICk7XG4gICAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcignTWVkaWEgcmVjb3JkaW5nIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICAgIHRoaXMubG9nRXJyb3IoZXJyb3IpO1xuICAgICAgdGhpcy5yZWNvcmRpbmdTdGF0ZVN1YmplY3QubmV4dChNZWRpYVJlY29yZGluZ1N0YXRlLkVSUk9SKTtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5hZGRUZW1wb3JhcnlOb3RpZmljYXRpb24oXG4gICAgICAgIGBzdHJlYW1DaGF0Lk1lZGlhIHJlY29yZGluZyBub3Qgc3VwcG9ydGVkYCxcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHsgYXVkaW86IHRydWUgfSk7XG4gICAgICB0aGlzLm1lZGlhUmVjb3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRlcihzdHJlYW0sIHRoaXMuY29uZmlnKTtcblxuICAgICAgdGhpcy5tZWRpYVJlY29yZGVyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdkYXRhYXZhaWxhYmxlJyxcbiAgICAgICAgdGhpcy5oYW5kbGVEYXRhYXZhaWxhYmxlRXZlbnQsXG4gICAgICApO1xuICAgICAgdGhpcy5tZWRpYVJlY29yZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgdGhpcy5oYW5kbGVFcnJvckV2ZW50KTtcblxuICAgICAgdGhpcy5zdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgIHRoaXMubWVkaWFSZWNvcmRlci5zdGFydCgpO1xuXG4gICAgICB0aGlzLnJlY29yZGluZ1N0YXRlU3ViamVjdC5uZXh0KE1lZGlhUmVjb3JkaW5nU3RhdGUuUkVDT1JESU5HKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5sb2dFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgICB2b2lkIHRoaXMuc3RvcCh7IGNhbmNlbDogdHJ1ZSB9KTtcbiAgICAgIHRoaXMucmVjb3JkaW5nU3RhdGVTdWJqZWN0Lm5leHQoTWVkaWFSZWNvcmRpbmdTdGF0ZS5FUlJPUik7XG4gICAgICBjb25zdCBpc05vdEFsbG93ZWQgPSAoZXJyb3IgYXMgRXJyb3IpLm5hbWU/LmluY2x1ZGVzKCdOb3RBbGxvd2VkRXJyb3InKTtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5hZGRUZW1wb3JhcnlOb3RpZmljYXRpb24oXG4gICAgICAgIGlzTm90QWxsb3dlZFxuICAgICAgICAgID8gYHN0cmVhbUNoYXQuUGxlYXNlIGdyYW50IHBlcm1pc3Npb24gdG8gdXNlIG1pY3JvaHBvbmVgXG4gICAgICAgICAgOiBgc3RyZWFtQ2hhdC5FcnJvciBzdGFydGluZyByZWNvcmRpbmdgLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwYXVzZSgpIHtcbiAgICBpZiAodGhpcy5yZWNvcmRpbmdTdGF0ZVN1YmplY3QudmFsdWUgIT09IE1lZGlhUmVjb3JkaW5nU3RhdGUuUkVDT1JESU5HKVxuICAgICAgcmV0dXJuO1xuICAgIGlmICh0aGlzLnN0YXJ0VGltZSkge1xuICAgICAgdGhpcy5yZWNvcmRlZENodW5rRHVyYXRpb25zLnB1c2gobmV3IERhdGUoKS5nZXRUaW1lKCkgLSB0aGlzLnN0YXJ0VGltZSk7XG4gICAgICB0aGlzLnN0YXJ0VGltZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy5tZWRpYVJlY29yZGVyPy5wYXVzZSgpO1xuICAgIHRoaXMucmVjb3JkaW5nU3RhdGVTdWJqZWN0Lm5leHQoTWVkaWFSZWNvcmRpbmdTdGF0ZS5QQVVTRUQpO1xuICB9XG5cbiAgcmVzdW1lKCkge1xuICAgIGlmICh0aGlzLnJlY29yZGluZ1N0YXRlU3ViamVjdC52YWx1ZSAhPT0gTWVkaWFSZWNvcmRpbmdTdGF0ZS5QQVVTRUQpIHJldHVybjtcbiAgICB0aGlzLnN0YXJ0VGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgIHRoaXMubWVkaWFSZWNvcmRlcj8ucmVzdW1lKCk7XG4gICAgdGhpcy5yZWNvcmRpbmdTdGF0ZVN1YmplY3QubmV4dChNZWRpYVJlY29yZGluZ1N0YXRlLlJFQ09SRElORyk7XG4gIH1cblxuICBhc3luYyBzdG9wKG9wdGlvbnM6IHsgY2FuY2VsOiBib29sZWFuIH0gPSB7IGNhbmNlbDogZmFsc2UgfSkge1xuICAgIGlmICh0aGlzLnN0YXJ0VGltZSkge1xuICAgICAgdGhpcy5yZWNvcmRlZENodW5rRHVyYXRpb25zLnB1c2gobmV3IERhdGUoKS5nZXRUaW1lKCkgLSB0aGlzLnN0YXJ0VGltZSk7XG4gICAgICB0aGlzLnN0YXJ0VGltZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgbGV0IHJlY29yZGluZyE6IE1lZGlhUmVjb3JkaW5nICYgVDtcbiAgICB0aGlzLm1lZGlhUmVjb3JkZXI/LnN0b3AoKTtcbiAgICB0cnkge1xuICAgICAgaWYgKFxuICAgICAgICAhb3B0aW9ucy5jYW5jZWwgJiZcbiAgICAgICAgdGhpcy5yZWNvcmRpbmdTdGF0ZVN1YmplY3QudmFsdWUgIT09IE1lZGlhUmVjb3JkaW5nU3RhdGUuRVJST1JcbiAgICAgICkge1xuICAgICAgICByZWNvcmRpbmcgPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgdGhpcy5yZWNvcmRpbmckLnN1YnNjcmliZSgocikgPT4ge1xuICAgICAgICAgICAgaWYgKHIpIHtcbiAgICAgICAgICAgICAgcmVzb2x2ZShyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLnJlY29yZGluZ1N0YXRlJC5zdWJzY3JpYmUoKHMpID0+IHtcbiAgICAgICAgICAgIGlmIChzID09PSBNZWRpYVJlY29yZGluZ1N0YXRlLkVSUk9SKSB7XG4gICAgICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IoYFJlY29yZGluZyBjb3VsZG4ndCBiZSBjcmVhdGVkYCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIHtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5hZGRUZW1wb3JhcnlOb3RpZmljYXRpb24oXG4gICAgICAgICdzdHJlYW1DaGF0LkFuIGVycm9yIGhhcyBvY2N1cnJlZCBkdXJpbmcgcmVjb3JkaW5nJyxcbiAgICAgICk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMucmVjb3JkZWRDaHVua0R1cmF0aW9ucyA9IFtdO1xuICAgICAgdGhpcy5zdGFydFRpbWUgPSB1bmRlZmluZWQ7XG5cbiAgICAgIHRoaXMubWVkaWFSZWNvcmRlcj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgJ2RhdGFhdmFpbGFibGUnLFxuICAgICAgICB0aGlzLmhhbmRsZURhdGFhdmFpbGFibGVFdmVudCxcbiAgICAgICk7XG4gICAgICB0aGlzLm1lZGlhUmVjb3JkZXI/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgdGhpcy5oYW5kbGVFcnJvckV2ZW50KTtcbiAgICAgIGlmICh0aGlzLm1lZGlhUmVjb3JkZXI/LnN0cmVhbT8uYWN0aXZlKSB7XG4gICAgICAgIHRoaXMubWVkaWFSZWNvcmRlcj8uc3RyZWFtPy5nZXRUcmFja3MoKS5mb3JFYWNoKCh0cmFjaykgPT4ge1xuICAgICAgICAgIHRyYWNrLnN0b3AoKTtcbiAgICAgICAgICB0aGlzLm1lZGlhUmVjb3JkZXI/LnN0cmVhbT8ucmVtb3ZlVHJhY2sodHJhY2spO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5tZWRpYVJlY29yZGVyID0gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnJlY29yZGluZ1N0YXRlU3ViamVjdC5uZXh0KE1lZGlhUmVjb3JkaW5nU3RhdGUuU1RPUFBFRCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlY29yZGluZztcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBlbnJpY2hXaXRoRXh0cmFEYXRhKCk6IFQ7XG5cbiAgcHJvdGVjdGVkIGxvZ0Vycm9yKGVycm9yOiBFcnJvcikge1xuICAgIHRoaXMuY2hhdFNlcnZpY2UuY2hhdENsaWVudD8ubG9nZ2VyKCdlcnJvcicsIGVycm9yLm1lc3NhZ2UsIHtcbiAgICAgIGVycm9yOiBlcnJvcixcbiAgICAgIHRhZzogWydNZWRpYVJlY29yZGVyJ10sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtcmVjb3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdHJlYW0tY2hhdC1hbmd1bGFyL3NyYy9saWIvdm9pY2UtcmVjb3JkZXIvbWVkaWEtcmVjb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQix3QkFBd0IsR0FDekIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxlQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFPaEQsTUFBTSxDQUFOLElBQVksbUJBS1g7QUFMRCxXQUFZLG1CQUFtQjtJQUM3Qix3Q0FBaUIsQ0FBQTtJQUNqQiw4Q0FBdUIsQ0FBQTtJQUN2QiwwQ0FBbUIsQ0FBQTtJQUNuQixzQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFMVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBSzlCO0FBTUQsTUFBTSxPQUFnQixrQkFBa0I7SUFtQnRDLFlBQ1ksbUJBQXdDLEVBQ3hDLFdBQThCLEVBQ2hDLFVBQTZCO1FBRjNCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQ2hDLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBZDdCLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUU5QyxTQUFTLENBQUMsQ0FBQztRQUlILDJCQUFzQixHQUFhLEVBQUUsQ0FBQztRQUN4QywwQkFBcUIsR0FBRyxJQUFJLGVBQWUsQ0FDakQsbUJBQW1CLENBQUMsT0FBTyxDQUM1QixDQUFDO1FBNkJGLDJCQUFzQixHQUFHLENBQUMsUUFBZ0IsRUFBRSxFQUFFO1lBQzVDLElBQUksSUFBSSxDQUFDLDRCQUE0QixFQUFFO2dCQUNyQyxPQUFPLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7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LEVBQ2YsSUFBSSxDQUFDLHdCQUF3QixDQUM5QixDQUFDO1lBQ0YsSUFBSSxDQUFDLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDeEUsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUU7Z0JBQ3RDLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUN4RCxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ2IsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNqRCxDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQzthQUNoQztZQUVELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDOUQ7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBSVMsUUFBUSxDQUFDLEtBQVk7UUFDN0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQzFELEtBQUssRUFBRSxLQUFLO1lBQ1osR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO1NBQ3ZCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgY3JlYXRlRmlsZUZyb21CbG9icyxcbiAgY3JlYXRlVXJpRnJvbUJsb2IsXG4gIGdldEV4dGVuc2lvbkZyb21NaW1lVHlwZSxcbn0gZnJvbSAnLi4vZmlsZS11dGlscyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhdENsaWVudFNlcnZpY2UgfSBmcm9tICcuLi9jaGF0LWNsaWVudC5zZXJ2aWNlJztcbmltcG9ydCBmaXhXZWJtRHVyYXRpb24gZnJvbSAnZml4LXdlYm0tZHVyYXRpb24nO1xuaW1wb3J0IHsgVHJhbnNjb2RlclNlcnZpY2UgfSBmcm9tICcuL3RyYW5zY29kZXIuc2VydmljZSc7XG5pbXBvcnQgeyBNZWRpYVJlY29yZGluZyB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IHR5cGUgTWVkaWFSZWNvcmRlckNvbmZpZyA9IE9taXQ8TWVkaWFSZWNvcmRlck9wdGlvbnMsICdtaW1lVHlwZSc+ICZcbiAgUmVxdWlyZWQ8UGljazxNZWRpYVJlY29yZGVyT3B0aW9ucywgJ21pbWVUeXBlJz4+O1xuXG5leHBvcnQgZW51bSBNZWRpYVJlY29yZGluZ1N0YXRlIHtcbiAgUEFVU0VEID0gJ3BhdXNlZCcsXG4gIFJFQ09SRElORyA9ICdyZWNvcmRpbmcnLFxuICBTVE9QUEVEID0gJ3N0b3BwZWQnLFxuICBFUlJPUiA9ICdlcnJvcicsXG59XG5cbmV4cG9ydCB0eXBlIE1lZGlhUmVjb3JkaW5nVGl0bGVPcHRpb25zID0ge1xuICBtaW1lVHlwZTogc3RyaW5nO1xufTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE11bHRpbWVkaWFSZWNvcmRlcjxUID0gbnVsbD4ge1xuICBhYnN0cmFjdCBjb25maWc6IE1lZGlhUmVjb3JkZXJDb25maWc7XG4gIGN1c3RvbUdlbmVyYXRlUmVjb3JkaW5nVGl0bGU6XG4gICAgfCAoKG9wdGlvbnM6IE1lZGlhUmVjb3JkaW5nVGl0bGVPcHRpb25zKSA9PiBzdHJpbmcpXG4gICAgfCB1bmRlZmluZWQ7XG4gIHJlY29yZGluZ1N0YXRlJDogT2JzZXJ2YWJsZTxNZWRpYVJlY29yZGluZ1N0YXRlPjtcbiAgcmVjb3JkaW5nJDogT2JzZXJ2YWJsZTwoTWVkaWFSZWNvcmRpbmcgJiBUKSB8IHVuZGVmaW5lZD47XG5cbiAgcHJvdGVjdGVkIHJlY29yZGluZ1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFxuICAgIChNZWRpYVJlY29yZGluZyAmIFQpIHwgdW5kZWZpbmVkXG4gID4odW5kZWZpbmVkKTtcblxuICBwcm90ZWN0ZWQgbWVkaWFSZWNvcmRlcjogTWVkaWFSZWNvcmRlciB8IHVuZGVmaW5lZDtcbiAgcHJvdGVjdGVkIHN0YXJ0VGltZTogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBwcm90ZWN0ZWQgcmVjb3JkZWRDaHVua0R1cmF0aW9uczogbnVtYmVyW10gPSBbXTtcbiAgcHJpdmF0ZSByZWNvcmRpbmdTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1lZGlhUmVjb3JkaW5nU3RhdGU+KFxuICAgIE1lZGlhUmVjb3JkaW5nU3RhdGUuU1RPUFBFRFxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBjaGF0U2VydmljZTogQ2hhdENsaWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2NvZGVyOiBUcmFuc2NvZGVyU2VydmljZVxuICApIHtcbiAgICB0aGlzLnJlY29yZGluZyQgPSB0aGlzLnJlY29yZGluZ1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5yZWNvcmRpbmdTdGF0ZSQgPSB0aGlzLnJlY29yZGluZ1N0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBkdXJhdGlvbk1zKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnJlY29yZGVkQ2h1bmtEdXJhdGlvbnMucmVkdWNlKChhY2MsIHZhbCkgPT4gYWNjICsgdmFsLCAwKSArXG4gICAgICAodGhpcy5zdGFydFRpbWUgPyBEYXRlLm5vdygpIC0gdGhpcy5zdGFydFRpbWUgOiAwKVxuICAgICk7XG4gIH1cblxuICBnZXQgbWVkaWFUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5taW1lVHlwZS5zcGxpdCgnLycpPy5bMF0gfHwgJ3Vua25vd24nO1xuICB9XG5cbiAgZ2V0IGlzUmVjb3JkaW5nKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnJlY29yZGluZ1N0YXRlU3ViamVjdC52YWx1ZSA9PT0gTWVkaWFSZWNvcmRpbmdTdGF0ZS5SRUNPUkRJTkcgfHxcbiAgICAgIHRoaXMucmVjb3JkaW5nU3RhdGVTdWJqZWN0LnZhbHVlID09PSBNZWRpYVJlY29yZGluZ1N0YXRlLlBBVVNFRFxuICAgICk7XG4gIH1cblxuICBnZW5lcmF0ZVJlY29yZGluZ1RpdGxlID0gKG1pbWVUeXBlOiBzdHJpbmcpID0+IHtcbiAgICBpZiAodGhpcy5jdXN0b21HZW5lcmF0ZVJlY29yZGluZ1RpdGxlKSB7XG4gICAgICByZXR1cm4gdGhpcy5jdXN0b21HZW5lcmF0ZVJlY29yZGluZ1RpdGxlKHsgbWltZVR5cGUgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBgJHtcbiAgICAgICAgdGhpcy5tZWRpYVR5cGVcbiAgICAgIH1fcmVjb3JkaW5nXyR7bmV3IERhdGUoKS50b0lTT1N0cmluZygpfS4ke2dldEV4dGVuc2lvbkZyb21NaW1lVHlwZShcbiAgICAgICAgbWltZVR5cGVcbiAgICAgICl9YDsgLy8gZXh0ZW5zaW9uIG5lZWRlZCBzbyB0aGF0IGRlc2t0b3AgU2FmYXJpIGNhbiBwbGF5IHRoZSBhc3NldFxuICAgIH1cbiAgfTtcblxuICBhc3luYyBtYWtlUmVjb3JkaW5nKGJsb2I6IEJsb2IpIHtcbiAgICBjb25zdCB7IG1pbWVUeXBlIH0gPSB0aGlzLmNvbmZpZztcbiAgICB0cnkge1xuICAgICAgaWYgKG1pbWVUeXBlLmluY2x1ZGVzKCd3ZWJtJykpIHtcbiAgICAgICAgLy8gVGhlIGJyb3dzZXIgZG9lcyBub3QgaW5jbHVkZSBkdXJhdGlvbiBtZXRhZGF0YSB3aXRoIHRoZSByZWNvcmRlZCBibG9iXG4gICAgICAgIGJsb2IgPSBhd2FpdCBmaXhXZWJtRHVyYXRpb24oYmxvYiwgdGhpcy5kdXJhdGlvbk1zLCB7XG4gICAgICAgICAgbG9nZ2VyOiAoKSA9PiBudWxsLCAvLyBwcmV2ZW50cyBwb2xsdXRpbmcgdGhlIGJyb3dzZXIgY29uc29sZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGJsb2IgPSBhd2FpdCB0aGlzLnRyYW5zY29kZXIudHJhbnNjb2RlKGJsb2IpO1xuXG4gICAgICBpZiAoIWJsb2IpIHJldHVybjtcblxuICAgICAgY29uc3QgZmlsZSA9IGNyZWF0ZUZpbGVGcm9tQmxvYnMoe1xuICAgICAgICBibG9ic0FycmF5OiBbYmxvYl0sXG4gICAgICAgIGZpbGVOYW1lOiB0aGlzLmdlbmVyYXRlUmVjb3JkaW5nVGl0bGUoYmxvYi50eXBlKSxcbiAgICAgICAgbWltZVR5cGU6IGJsb2IudHlwZSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgcHJldmlld1VybCA9IGF3YWl0IGNyZWF0ZVVyaUZyb21CbG9iKGZpbGUpO1xuXG4gICAgICBjb25zdCBleHRyYURhdGEgPSB0aGlzLmVucmljaFdpdGhFeHRyYURhdGEoKTtcbiAgICAgIHRoaXMucmVjb3JkaW5nU3ViamVjdC5uZXh0KHtcbiAgICAgICAgcmVjb3JkaW5nOiBmaWxlLFxuICAgICAgICBkdXJhdGlvbjogdGhpcy5kdXJhdGlvbk1zIC8gMTAwMCxcbiAgICAgICAgYXNzZXRfdXJsOiBwcmV2aWV3VXJsLFxuICAgICAgICBtaW1lX3R5cGU6IG1pbWVUeXBlLFxuICAgICAgICAuLi5leHRyYURhdGEsXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBmaWxlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmxvZ0Vycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICAgIHRoaXMucmVjb3JkaW5nU3RhdGVTdWJqZWN0Lm5leHQoTWVkaWFSZWNvcmRpbmdTdGF0ZS5FUlJPUik7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUVycm9yRXZlbnQgPSAoZTogRXZlbnQpID0+IHtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hcmd1bWVudCAqL1xuICAgIHRoaXMubG9nRXJyb3IoKGUgYXMgRXJyb3JFdmVudCkuZXJyb3IpO1xuICAgIHRoaXMucmVjb3JkaW5nU3RhdGVTdWJqZWN0Lm5leHQoTWVkaWFSZWNvcmRpbmdTdGF0ZS5FUlJPUik7XG4gICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmFkZFRlbXBvcmFyeU5vdGlmaWNhdGlvbihcbiAgICAgICdzdHJlYW1DaGF0LkFuIGVycm9yIGhhcyBvY2N1cnJlZCBkdXJpbmcgcmVjb3JkaW5nJ1xuICAgICk7XG4gICAgdm9pZCB0aGlzLnN0b3AoeyBjYW5jZWw6IHRydWUgfSk7XG4gIH07XG5cbiAgaGFuZGxlRGF0YWF2YWlsYWJsZUV2ZW50ID0gKGU6IEJsb2JFdmVudCkgPT4ge1xuICAgIGlmICghZS5kYXRhLnNpemUpIHJldHVybjtcbiAgICB2b2lkIHRoaXMubWFrZVJlY29yZGluZyhlLmRhdGEpO1xuICB9O1xuXG4gIGdldCByZWNvcmRpbmdTdGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWNvcmRpbmdTdGF0ZVN1YmplY3QudmFsdWU7XG4gIH1cblxuICBhc3luYyBzdGFydCgpIHtcbiAgICBpZiAoXG4gICAgICBbTWVkaWFSZWNvcmRpbmdTdGF0ZS5SRUNPUkRJTkcsIE1lZGlhUmVjb3JkaW5nU3RhdGUuUEFVU0VEXS5pbmNsdWRlcyhcbiAgICAgICAgdGhpcy5yZWNvcmRpbmdTdGF0ZVN1YmplY3QudmFsdWVcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnJlY29yZGluZ1N1YmplY3QubmV4dCh1bmRlZmluZWQpO1xuXG4gICAgLy8gYWNjb3VudCBmb3IgcmVxdWlyZW1lbnQgb24gaU9TIGFzIHBlciB0aGlzIGJ1ZyByZXBvcnQ6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTIzMDNcbiAgICBpZiAoIW5hdmlnYXRvci5tZWRpYURldmljZXMpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYFtTdHJlYW0gQ2hhdF0gTWVkaWEgZGV2aWNlcyBBUEkgbWlzc2luZywgaXQncyBwb3NzaWJsZSB5b3VyIGFwcCBpcyBub3Qgc2VydmVkIGZyb20gYSBzZWN1cmUgY29udGV4dCAoaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvU2VjdXJpdHkvU2VjdXJlX0NvbnRleHRzKWBcbiAgICAgICk7XG4gICAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcignTWVkaWEgcmVjb3JkaW5nIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICAgIHRoaXMubG9nRXJyb3IoZXJyb3IpO1xuICAgICAgdGhpcy5yZWNvcmRpbmdTdGF0ZVN1YmplY3QubmV4dChNZWRpYVJlY29yZGluZ1N0YXRlLkVSUk9SKTtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5hZGRUZW1wb3JhcnlOb3RpZmljYXRpb24oXG4gICAgICAgIGBzdHJlYW1DaGF0Lk1lZGlhIHJlY29yZGluZyBub3Qgc3VwcG9ydGVkYFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoeyBhdWRpbzogdHJ1ZSB9KTtcbiAgICAgIHRoaXMubWVkaWFSZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKHN0cmVhbSwgdGhpcy5jb25maWcpO1xuXG4gICAgICB0aGlzLm1lZGlhUmVjb3JkZXIuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgJ2RhdGFhdmFpbGFibGUnLFxuICAgICAgICB0aGlzLmhhbmRsZURhdGFhdmFpbGFibGVFdmVudFxuICAgICAgKTtcbiAgICAgIHRoaXMubWVkaWFSZWNvcmRlci5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIHRoaXMuaGFuZGxlRXJyb3JFdmVudCk7XG5cbiAgICAgIHRoaXMuc3RhcnRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICB0aGlzLm1lZGlhUmVjb3JkZXIuc3RhcnQoKTtcblxuICAgICAgdGhpcy5yZWNvcmRpbmdTdGF0ZVN1YmplY3QubmV4dChNZWRpYVJlY29yZGluZ1N0YXRlLlJFQ09SRElORyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMubG9nRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgICAgdm9pZCB0aGlzLnN0b3AoeyBjYW5jZWw6IHRydWUgfSk7XG4gICAgICB0aGlzLnJlY29yZGluZ1N0YXRlU3ViamVjdC5uZXh0KE1lZGlhUmVjb3JkaW5nU3RhdGUuRVJST1IpO1xuICAgICAgY29uc3QgaXNOb3RBbGxvd2VkID0gKGVycm9yIGFzIEVycm9yKS5uYW1lPy5pbmNsdWRlcygnTm90QWxsb3dlZEVycm9yJyk7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuYWRkVGVtcG9yYXJ5Tm90aWZpY2F0aW9uKFxuICAgICAgICBpc05vdEFsbG93ZWRcbiAgICAgICAgICA/IGBzdHJlYW1DaGF0LlBsZWFzZSBncmFudCBwZXJtaXNzaW9uIHRvIHVzZSBtaWNyb2hwb25lYFxuICAgICAgICAgIDogYHN0cmVhbUNoYXQuRXJyb3Igc3RhcnRpbmcgcmVjb3JkaW5nYFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwYXVzZSgpIHtcbiAgICBpZiAodGhpcy5yZWNvcmRpbmdTdGF0ZVN1YmplY3QudmFsdWUgIT09IE1lZGlhUmVjb3JkaW5nU3RhdGUuUkVDT1JESU5HKVxuICAgICAgcmV0dXJuO1xuICAgIGlmICh0aGlzLnN0YXJ0VGltZSkge1xuICAgICAgdGhpcy5yZWNvcmRlZENodW5rRHVyYXRpb25zLnB1c2gobmV3IERhdGUoKS5nZXRUaW1lKCkgLSB0aGlzLnN0YXJ0VGltZSk7XG4gICAgICB0aGlzLnN0YXJ0VGltZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy5tZWRpYVJlY29yZGVyPy5wYXVzZSgpO1xuICAgIHRoaXMucmVjb3JkaW5nU3RhdGVTdWJqZWN0Lm5leHQoTWVkaWFSZWNvcmRpbmdTdGF0ZS5QQVVTRUQpO1xuICB9XG5cbiAgcmVzdW1lKCkge1xuICAgIGlmICh0aGlzLnJlY29yZGluZ1N0YXRlU3ViamVjdC52YWx1ZSAhPT0gTWVkaWFSZWNvcmRpbmdTdGF0ZS5QQVVTRUQpIHJldHVybjtcbiAgICB0aGlzLnN0YXJ0VGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgIHRoaXMubWVkaWFSZWNvcmRlcj8ucmVzdW1lKCk7XG4gICAgdGhpcy5yZWNvcmRpbmdTdGF0ZVN1YmplY3QubmV4dChNZWRpYVJlY29yZGluZ1N0YXRlLlJFQ09SRElORyk7XG4gIH1cblxuICBhc3luYyBzdG9wKG9wdGlvbnM6IHsgY2FuY2VsOiBib29sZWFuIH0gPSB7IGNhbmNlbDogZmFsc2UgfSkge1xuICAgIGlmICh0aGlzLnN0YXJ0VGltZSkge1xuICAgICAgdGhpcy5yZWNvcmRlZENodW5rRHVyYXRpb25zLnB1c2gobmV3IERhdGUoKS5nZXRUaW1lKCkgLSB0aGlzLnN0YXJ0VGltZSk7XG4gICAgICB0aGlzLnN0YXJ0VGltZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgbGV0IHJlY29yZGluZyE6IE1lZGlhUmVjb3JkaW5nICYgVDtcbiAgICB0aGlzLm1lZGlhUmVjb3JkZXI/LnN0b3AoKTtcbiAgICB0cnkge1xuICAgICAgaWYgKFxuICAgICAgICAhb3B0aW9ucy5jYW5jZWwgJiZcbiAgICAgICAgdGhpcy5yZWNvcmRpbmdTdGF0ZVN1YmplY3QudmFsdWUgIT09IE1lZGlhUmVjb3JkaW5nU3RhdGUuRVJST1JcbiAgICAgICkge1xuICAgICAgICByZWNvcmRpbmcgPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgdGhpcy5yZWNvcmRpbmckLnN1YnNjcmliZSgocikgPT4ge1xuICAgICAgICAgICAgaWYgKHIpIHtcbiAgICAgICAgICAgICAgcmVzb2x2ZShyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLnJlY29yZGluZ1N0YXRlJC5zdWJzY3JpYmUoKHMpID0+IHtcbiAgICAgICAgICAgIGlmIChzID09PSBNZWRpYVJlY29yZGluZ1N0YXRlLkVSUk9SKSB7XG4gICAgICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IoYFJlY29yZGluZyBjb3VsZG4ndCBiZSBjcmVhdGVkYCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIHtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5hZGRUZW1wb3JhcnlOb3RpZmljYXRpb24oXG4gICAgICAgICdzdHJlYW1DaGF0LkFuIGVycm9yIGhhcyBvY2N1cnJlZCBkdXJpbmcgcmVjb3JkaW5nJ1xuICAgICAgKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5yZWNvcmRlZENodW5rRHVyYXRpb25zID0gW107XG4gICAgICB0aGlzLnN0YXJ0VGltZSA9IHVuZGVmaW5lZDtcblxuICAgICAgdGhpcy5tZWRpYVJlY29yZGVyPy5yZW1vdmVFdmVudExpc3RlbmVyKFxuICAgICAgICAnZGF0YWF2YWlsYWJsZScsXG4gICAgICAgIHRoaXMuaGFuZGxlRGF0YWF2YWlsYWJsZUV2ZW50XG4gICAgICApO1xuICAgICAgdGhpcy5tZWRpYVJlY29yZGVyPy5yZW1vdmVFdmVudExpc3RlbmVyKCdlcnJvcicsIHRoaXMuaGFuZGxlRXJyb3JFdmVudCk7XG4gICAgICBpZiAodGhpcy5tZWRpYVJlY29yZGVyPy5zdHJlYW0/LmFjdGl2ZSkge1xuICAgICAgICB0aGlzLm1lZGlhUmVjb3JkZXI/LnN0cmVhbT8uZ2V0VHJhY2tzKCkuZm9yRWFjaCgodHJhY2spID0+IHtcbiAgICAgICAgICB0cmFjay5zdG9wKCk7XG4gICAgICAgICAgdGhpcy5tZWRpYVJlY29yZGVyPy5zdHJlYW0/LnJlbW92ZVRyYWNrKHRyYWNrKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubWVkaWFSZWNvcmRlciA9IHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgdGhpcy5yZWNvcmRpbmdTdGF0ZVN1YmplY3QubmV4dChNZWRpYVJlY29yZGluZ1N0YXRlLlNUT1BQRUQpO1xuICAgIH1cblxuICAgIHJldHVybiByZWNvcmRpbmc7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZW5yaWNoV2l0aEV4dHJhRGF0YSgpOiBUO1xuXG4gIHByb3RlY3RlZCBsb2dFcnJvcihlcnJvcjogRXJyb3IpIHtcbiAgICB0aGlzLmNoYXRTZXJ2aWNlLmNoYXRDbGllbnQ/LmxvZ2dlcignZXJyb3InLCBlcnJvci5tZXNzYWdlLCB7XG4gICAgICBlcnJvcjogZXJyb3IsXG4gICAgICB0YWc6IFsnTWVkaWFSZWNvcmRlciddLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|