@cometchat/chat-uikit-angular 4.0.0-beta.1.4 → 4.0.0-beta.1.5
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/Calls/CallingExtension.d.ts +4 -3
- package/Calls/CallingExtensionDecorator.d.ts +0 -1
- package/Calls/CometChatCallButtons/cometchat-call-buttons/cometchat-call-buttons.component.d.ts +4 -3
- package/Calls/CometChatIncomingCall/cometchat-incoming-call/cometchat-incoming-call.component.d.ts +4 -3
- package/Calls/CometChatOngoingCall/cometchat-ongoing-call/cometchat-ongoing-call.component.d.ts +14 -6
- package/Calls/CometChatOutgoingCall/cometchat-outgoing-call/cometchat-outgoing-call.component.d.ts +0 -1
- package/CometChatAddMembers/cometchat-add-members/cometchat-add-members.component.d.ts +5 -5
- package/CometChatBannedMembers/cometchat-banned-members/cometchat-banned-members.component.d.ts +6 -5
- package/CometChatContacts/cometchat-contacts/cometchat-contacts.component.d.ts +65 -0
- package/CometChatContacts/cometchat-contacts.module.d.ts +12 -0
- package/CometChatConversations/cometchat-conversations/cometchat-conversations.component.d.ts +21 -15
- package/CometChatConversationsWithMessages/cometchat-conversations-with-messages/cometchat-conversations-with-messages.component.d.ts +13 -4
- package/CometChatConversationsWithMessages/cometchat-conversations-with-messages.module.d.ts +2 -1
- package/CometChatDetails/cometchat-details/cometchat-details.component.d.ts +7 -7
- package/CometChatGroupMembers/cometchat-group-members/cometchat-group-members.component.d.ts +14 -12
- package/CometChatGroups/cometchat-groups/cometchat-groups.component.d.ts +12 -6
- package/CometChatGroupsWithMessages/cometchat-groups-with-messages/cometchat-groups-with-messages.component.d.ts +6 -4
- package/CometChatList/cometchat-list.component.d.ts +2 -1
- package/CometChatMessageBubble/cometchat-message-bubble/cometchat-message-bubble.component.d.ts +2 -2
- package/CometChatMessageComposer/cometchat-message-composer/cometchat-message-composer.component.d.ts +23 -6
- package/CometChatMessageHeader/cometchat-message-header/cometchat-message-header.component.d.ts +1 -1
- package/CometChatMessageInformation/cometchat-message-information/cometchat-message-information.component.d.ts +95 -0
- package/CometChatMessageInformation/cometchat-message-information.module.d.ts +10 -0
- package/CometChatMessageList/cometchat-message-list/cometchat-message-list.component.d.ts +45 -26
- package/CometChatMessageList/cometchat-message-list.module.d.ts +3 -1
- package/CometChatMessages/cometchat-messages/cometchat-messages.component.d.ts +5 -3
- package/CometChatThreadedMessages/cometchat-threaded-messages/cometchat-threaded-messages.component.d.ts +0 -1
- package/CometChatTransferOwnership/cometchat-transfer-ownership/cometchat-transfer-ownership.component.d.ts +3 -3
- package/CometChatUsers/cometchat-users/cometchat-users.component.d.ts +11 -5
- package/CometChatUsersWithMessages/cometchat-users-with-messages/cometchat-users-with-messages.component.d.ts +2 -2
- package/Extensions/CollaborativeDocument/CollaborativeDocumentExtension.d.ts +4 -8
- package/Extensions/CollaborativeDocument/CollaborativeDocumentExtensionDecorator.d.ts +1 -4
- package/Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtension.d.ts +4 -8
- package/Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtensionDecorator.d.ts +1 -4
- package/Extensions/ImageModeration/ImageModerationExtension.d.ts +4 -4
- package/Extensions/LinkPreviewExtension/LinkPreviewExtension.d.ts +4 -4
- package/Extensions/MessageTranslation/MessageTranslationExtension.d.ts +4 -8
- package/Extensions/MessageTranslation/MessageTranslationExtensionDecorator.d.ts +1 -4
- package/Extensions/PollsExtension/PollsExtension.d.ts +4 -4
- package/Extensions/PollsExtension/PollsExtensionDecorator.d.ts +0 -1
- package/Extensions/Reactions/ReactionExtension.d.ts +4 -4
- package/Extensions/Reactions/ReactionExtensionDecorator.d.ts +0 -1
- package/Extensions/SmartReplies/SmartRepliesExtension.d.ts +4 -8
- package/Extensions/SmartReplies/SmartRepliesExtensionDecorator.d.ts +2 -2
- package/Extensions/Stickers/StickersExtension.d.ts +4 -8
- package/Extensions/Stickers/StickersExtensionDecorator.d.ts +2 -2
- package/Extensions/TextModerator/TextModeratorExtension.d.ts +4 -3
- package/Extensions/TextModerator/TextModeratorExtensionDecorator.d.ts +0 -1
- package/Extensions/ThumbnailGeneration/ThumbnailGenerationExtension.d.ts +4 -4
- package/Shared/CometChatUIkit/CometChatUIKit.d.ts +10 -6
- package/Shared/Framework/DataSource.d.ts +0 -1
- package/Shared/Framework/DataSourceDecorator.d.ts +0 -1
- package/Shared/Utils/ComeChatException.d.ts +1 -2
- package/Shared/Utils/MessageUtils.d.ts +2 -1
- package/Shared/Views/CometChatTabs/cometchat-tabs/cometchat-tabs.component.d.ts +38 -9
- package/Shared/Views/CometChatTabs/cometchat-tabs.module.d.ts +1 -5
- package/esm2020/Calls/CallingExtension.mjs +7 -4
- package/esm2020/Calls/CallingExtensionDecorator.mjs +4 -4
- package/esm2020/Calls/CometChatCallButtons/cometchat-call-buttons/cometchat-call-buttons.component.mjs +58 -21
- package/esm2020/Calls/CometChatIncomingCall/cometchat-incoming-call/cometchat-incoming-call.component.mjs +48 -17
- package/esm2020/Calls/CometChatOngoingCall/cometchat-ongoing-call/cometchat-ongoing-call.component.mjs +110 -9
- package/esm2020/Calls/CometChatOutgoingCall/cometchat-outgoing-call/cometchat-outgoing-call.component.mjs +9 -7
- package/esm2020/CometChatAddMembers/cometchat-add-members/cometchat-add-members.component.mjs +9 -6
- package/esm2020/CometChatBannedMembers/cometchat-banned-members/cometchat-banned-members.component.mjs +12 -7
- package/esm2020/CometChatContacts/cometchat-contacts/cometchat-contacts.component.mjs +273 -0
- package/esm2020/CometChatContacts/cometchat-contacts.module.mjs +23 -0
- package/esm2020/CometChatConversations/cometchat-conversations/cometchat-conversations.component.mjs +122 -65
- package/esm2020/CometChatConversationsWithMessages/cometchat-conversations-with-messages/cometchat-conversations-with-messages.component.mjs +105 -17
- package/esm2020/CometChatConversationsWithMessages/cometchat-conversations-with-messages.module.mjs +6 -2
- package/esm2020/CometChatDetails/cometchat-details/cometchat-details.component.mjs +13 -11
- package/esm2020/CometChatGroupMembers/cometchat-group-members/cometchat-group-members.component.mjs +45 -46
- package/esm2020/CometChatGroups/cometchat-groups/cometchat-groups.component.mjs +69 -28
- package/esm2020/CometChatGroupsWithMessages/cometchat-groups-with-messages/cometchat-groups-with-messages.component.mjs +60 -21
- package/esm2020/CometChatList/cometchat-list.component.mjs +8 -9
- package/esm2020/CometChatMessageBubble/cometchat-message-bubble/cometchat-message-bubble.component.mjs +4 -5
- package/esm2020/CometChatMessageComposer/cometchat-message-composer/cometchat-message-composer.component.mjs +200 -30
- package/esm2020/CometChatMessageHeader/cometchat-message-header/cometchat-message-header.component.mjs +4 -5
- package/esm2020/CometChatMessageInformation/cometchat-message-information/cometchat-message-information.component.mjs +288 -0
- package/esm2020/CometChatMessageInformation/cometchat-message-information.module.mjs +28 -0
- package/esm2020/CometChatMessageList/cometchat-message-list/cometchat-message-list.component.mjs +401 -185
- package/esm2020/CometChatMessageList/cometchat-message-list.module.mjs +12 -4
- package/esm2020/CometChatMessages/cometchat-messages/cometchat-messages.component.mjs +28 -15
- package/esm2020/CometChatThreadedMessages/cometchat-threaded-messages/cometchat-threaded-messages.component.mjs +3 -4
- package/esm2020/CometChatTransferOwnership/cometchat-transfer-ownership/cometchat-transfer-ownership.component.mjs +14 -15
- package/esm2020/CometChatUsers/cometchat-users/cometchat-users.component.mjs +72 -45
- package/esm2020/CometChatUsersWithMessages/cometchat-users-with-messages/cometchat-users-with-messages.component.mjs +21 -9
- package/esm2020/Extensions/CollaborativeDocument/CollaborativeDocumentExtension.mjs +7 -6
- package/esm2020/Extensions/CollaborativeDocument/CollaborativeDocumentExtensionDecorator.mjs +3 -4
- package/esm2020/Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtension.mjs +7 -6
- package/esm2020/Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtensionDecorator.mjs +3 -4
- package/esm2020/Extensions/ImageModeration/ImageModerationExtension.mjs +7 -5
- package/esm2020/Extensions/LinkPreviewExtension/LinkPreviewExtension.mjs +7 -5
- package/esm2020/Extensions/MessageTranslation/MessageTranslationExtension.mjs +7 -6
- package/esm2020/Extensions/MessageTranslation/MessageTranslationExtensionDecorator.mjs +2 -4
- package/esm2020/Extensions/PollsExtension/PollsExtension.mjs +7 -5
- package/esm2020/Extensions/PollsExtension/PollsExtensionDecorator.mjs +1 -1
- package/esm2020/Extensions/Reactions/ReactionExtension.mjs +7 -5
- package/esm2020/Extensions/Reactions/ReactionExtensionDecorator.mjs +3 -2
- package/esm2020/Extensions/SmartReplies/SmartRepliesExtension.mjs +7 -6
- package/esm2020/Extensions/SmartReplies/SmartRepliesExtensionDecorator.mjs +5 -7
- package/esm2020/Extensions/Stickers/StickersExtension.mjs +7 -10
- package/esm2020/Extensions/Stickers/StickersExtensionDecorator.mjs +5 -7
- package/esm2020/Extensions/TextModerator/TextModeratorExtension.mjs +16 -4
- package/esm2020/Extensions/TextModerator/TextModeratorExtensionDecorator.mjs +1 -1
- package/esm2020/Extensions/ThumbnailGeneration/ThumbnailGenerationExtension.mjs +7 -5
- package/esm2020/Shared/CometChatUIkit/CometChatUIKit.mjs +66 -32
- package/esm2020/Shared/Framework/DataSource.mjs +1 -1
- package/esm2020/Shared/Framework/DataSourceDecorator.mjs +1 -1
- package/esm2020/Shared/Utils/ComeChatException.mjs +2 -2
- package/esm2020/Shared/Utils/MessageUtils.mjs +36 -6
- package/esm2020/Shared/Views/CometChatTabs/cometchat-tabs/cometchat-tabs.component.mjs +61 -25
- package/esm2020/Shared/Views/CometChatTabs/cometchat-tabs.module.mjs +2 -18
- package/esm2020/public-api.mjs +8 -5
- package/fesm2015/cometchat-chat-uikit-angular.mjs +3658 -3185
- package/fesm2015/cometchat-chat-uikit-angular.mjs.map +1 -1
- package/fesm2020/cometchat-chat-uikit-angular.mjs +3639 -3164
- package/fesm2020/cometchat-chat-uikit-angular.mjs.map +1 -1
- package/package.json +5 -5
- package/public-api.d.ts +7 -4
- package/Calls/CometChatCallDetails/cometchat-call-details/cometchat-call-details.component.d.ts +0 -139
- package/Calls/CometChatCallDetails/cometchat-call-details.module.d.ts +0 -10
- package/Calls/CometChatCallHistory/cometchat-call-history/cometchat-call-history.component.d.ts +0 -125
- package/Calls/CometChatCallHistory/cometchat-call-history.module.d.ts +0 -10
- package/Calls/CometChatCallHistoryWithDetails/cometchat-call-history-with-details/cometchat-call-history-with-details.component.d.ts +0 -59
- package/Calls/CometChatCallHistoryWithDetails/cometchat-call-history-with-details.module.d.ts +0 -12
- package/esm2020/Calls/CometChatCallDetails/cometchat-call-details/cometchat-call-details.component.mjs +0 -452
- package/esm2020/Calls/CometChatCallDetails/cometchat-call-details.module.mjs +0 -31
- package/esm2020/Calls/CometChatCallHistory/cometchat-call-history/cometchat-call-history.component.mjs +0 -397
- package/esm2020/Calls/CometChatCallHistory/cometchat-call-history.module.mjs +0 -28
- package/esm2020/Calls/CometChatCallHistoryWithDetails/cometchat-call-history-with-details/cometchat-call-history-with-details.component.mjs +0 -143
- package/esm2020/Calls/CometChatCallHistoryWithDetails/cometchat-call-history-with-details.module.mjs +0 -39
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChangeDetectorRef, OnInit, TemplateRef } from '@angular/core';
|
|
2
|
-
import { CometChat } from '@cometchat
|
|
2
|
+
import { CometChat } from '@cometchat/chat-sdk-javascript';
|
|
3
3
|
import { AvatarStyle, BaseStyle, ListItemStyle } from '@cometchat/uikit-elements';
|
|
4
4
|
import { Subscription } from 'rxjs';
|
|
5
5
|
import { CometChatOption, SelectionMode, TitleAlignment, States } from '@cometchat/uikit-resources';
|
|
@@ -26,7 +26,7 @@ export declare class CometChatUsersComponent implements OnInit {
|
|
|
26
26
|
title: string;
|
|
27
27
|
onError: (error: CometChat.CometChatException) => void;
|
|
28
28
|
emptyStateView: TemplateRef<any>;
|
|
29
|
-
onSelect: (user: CometChat.User) => void;
|
|
29
|
+
onSelect: (user: CometChat.User, selected: boolean) => void;
|
|
30
30
|
errorStateView: TemplateRef<any>;
|
|
31
31
|
loadingIconURL: string;
|
|
32
32
|
showSectionHeader: boolean;
|
|
@@ -51,6 +51,9 @@ export declare class CometChatUsersComponent implements OnInit {
|
|
|
51
51
|
limit: number;
|
|
52
52
|
userListenerId: string;
|
|
53
53
|
loggedInUser: CometChat.User | null;
|
|
54
|
+
requestBuilder: CometChat.UsersRequest;
|
|
55
|
+
firstReload: boolean;
|
|
56
|
+
connectionListenerId: string;
|
|
54
57
|
/**
|
|
55
58
|
* Events
|
|
56
59
|
*/
|
|
@@ -59,6 +62,8 @@ export declare class CometChatUsersComponent implements OnInit {
|
|
|
59
62
|
onScrolledToBottom: any;
|
|
60
63
|
constructor(ref: ChangeDetectorRef, themeService: CometChatThemeService);
|
|
61
64
|
ngOnInit(): void;
|
|
65
|
+
onUserSelected(user: CometChat.User, event: any): void;
|
|
66
|
+
fetchNewUsers(): void;
|
|
62
67
|
subscribeToEvents(): void;
|
|
63
68
|
unsubscribeToEvents(): void;
|
|
64
69
|
ngOnDestroy(): void;
|
|
@@ -79,11 +84,12 @@ export declare class CometChatUsersComponent implements OnInit {
|
|
|
79
84
|
* @param {CometChat.User} user
|
|
80
85
|
*/
|
|
81
86
|
updateUser: (user: CometChat.User) => void;
|
|
87
|
+
attachConnectionListeners(): void;
|
|
82
88
|
attachListeners(): void;
|
|
83
89
|
removeListener(): void;
|
|
84
|
-
addMembersToList: (user: CometChat.User) => void;
|
|
85
|
-
fetchNextUsersList: () => void;
|
|
86
|
-
|
|
90
|
+
addMembersToList: (user: CometChat.User, event: any) => void;
|
|
91
|
+
fetchNextUsersList: (state?: States) => void;
|
|
92
|
+
setRequestBuilder(): void;
|
|
87
93
|
/**
|
|
88
94
|
* @param {string} key
|
|
89
95
|
*/
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { OnInit, OnChanges, SimpleChanges, ChangeDetectorRef, ElementRef } from "@angular/core";
|
|
2
|
-
import { CometChat } from "@cometchat-pro/chat";
|
|
3
2
|
import { CometChatMessagesComponent } from "../../CometChatMessages/cometchat-messages/cometchat-messages.component";
|
|
4
3
|
import { CometChatConversationsComponent } from "../../CometChatConversations/cometchat-conversations/cometchat-conversations.component";
|
|
5
4
|
import '@cometchat/uikit-elements';
|
|
@@ -41,6 +40,7 @@ export declare class CometChatUsersWithMessagesComponent implements OnInit, OnCh
|
|
|
41
40
|
*/
|
|
42
41
|
ccUserBlocked: Subscription;
|
|
43
42
|
ccUserUnBlocked: Subscription;
|
|
43
|
+
sideBarStyle: any;
|
|
44
44
|
constructor(elementRef: ElementRef, ref: ChangeDetectorRef, themeService: CometChatThemeService);
|
|
45
45
|
ngAfterViewInit(): void;
|
|
46
46
|
updateBackdropHeight(): void;
|
|
@@ -56,7 +56,7 @@ export declare class CometChatUsersWithMessagesComponent implements OnInit, OnCh
|
|
|
56
56
|
background: string | undefined;
|
|
57
57
|
height: string | undefined;
|
|
58
58
|
width: string;
|
|
59
|
-
border: string
|
|
59
|
+
border: string;
|
|
60
60
|
borderRadius: string | undefined;
|
|
61
61
|
};
|
|
62
62
|
usersWrapperStyles: () => {
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
constructor({ configuration }?: {
|
|
6
|
-
configuration?: CollaborativeDocumentConfiguration;
|
|
7
|
-
});
|
|
8
|
-
enable(): void;
|
|
1
|
+
import { ExtensionsDataSource } from "@cometchat/uikit-shared";
|
|
2
|
+
export declare class CollaborativeDocumentExtension extends ExtensionsDataSource {
|
|
3
|
+
addExtension(): void;
|
|
4
|
+
getExtensionId(): string;
|
|
9
5
|
}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import { CometChat } from "@cometchat-pro/chat";
|
|
2
1
|
import { CometChatTheme, CometChatMessageTemplate } from "@cometchat/uikit-resources";
|
|
3
|
-
import { CollaborativeDocumentConfiguration } from "@cometchat/uikit-shared";
|
|
4
2
|
import { DataSource } from "../../Shared/Framework/DataSource";
|
|
5
3
|
import { DataSourceDecorator } from "../../Shared/Framework/DataSourceDecorator";
|
|
6
4
|
export declare class CollaborativeDocumentExtensionDecorator extends DataSourceDecorator {
|
|
7
|
-
|
|
8
|
-
constructor(dataSource: DataSource, configuration?: CollaborativeDocumentConfiguration);
|
|
5
|
+
constructor(dataSource: DataSource);
|
|
9
6
|
getAllMessageTypes(): string[];
|
|
10
7
|
getId(): string;
|
|
11
8
|
getAllMessageCategories(): string[];
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
constructor({ configuration }?: {
|
|
6
|
-
configuration?: CollaborativeWhiteboardConfiguration;
|
|
7
|
-
});
|
|
8
|
-
enable(): void;
|
|
1
|
+
import { ExtensionsDataSource } from "@cometchat/uikit-shared";
|
|
2
|
+
export declare class CollaborativeWhiteBoardExtension extends ExtensionsDataSource {
|
|
3
|
+
addExtension(): void;
|
|
4
|
+
getExtensionId(): string;
|
|
9
5
|
}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import { CometChat } from "@cometchat-pro/chat";
|
|
2
1
|
import { CometChatTheme, CometChatMessageTemplate } from "@cometchat/uikit-resources";
|
|
3
|
-
import { CollaborativeWhiteboardConfiguration } from "@cometchat/uikit-shared";
|
|
4
2
|
import { DataSource } from "../../Shared/Framework/DataSource";
|
|
5
3
|
import { DataSourceDecorator } from "../../Shared/Framework/DataSourceDecorator";
|
|
6
4
|
export declare class CollaborativeWhiteBoardExtensionDecorator extends DataSourceDecorator {
|
|
7
|
-
|
|
8
|
-
constructor(dataSource: DataSource, configuration?: CollaborativeWhiteboardConfiguration);
|
|
5
|
+
constructor(dataSource: DataSource);
|
|
9
6
|
getAllMessageTypes(): string[];
|
|
10
7
|
getId(): string;
|
|
11
8
|
getAllMessageCategories(): string[];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ExtensionsDataSource } from "
|
|
2
|
-
export declare class ImageModerationExtension
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { ExtensionsDataSource } from "@cometchat/uikit-shared";
|
|
2
|
+
export declare class ImageModerationExtension extends ExtensionsDataSource {
|
|
3
|
+
addExtension(): void;
|
|
4
|
+
getExtensionId(): string;
|
|
5
5
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ExtensionsDataSource } from
|
|
2
|
-
export declare class LinkPreviewExtension
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { ExtensionsDataSource } from '@cometchat/uikit-shared';
|
|
2
|
+
export declare class LinkPreviewExtension extends ExtensionsDataSource {
|
|
3
|
+
addExtension(): void;
|
|
4
|
+
getExtensionId(): string;
|
|
5
5
|
}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import { ExtensionsDataSource } from "
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
constructor({ configuration }?: {
|
|
6
|
-
configuration?: MessageTranslationConfiguration;
|
|
7
|
-
});
|
|
8
|
-
enable(): void;
|
|
1
|
+
import { ExtensionsDataSource } from "@cometchat/uikit-shared";
|
|
2
|
+
export declare class MessageTranslationExtension extends ExtensionsDataSource {
|
|
3
|
+
addExtension(): void;
|
|
4
|
+
getExtensionId(): string;
|
|
9
5
|
}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import { CometChat } from "@cometchat-pro/chat";
|
|
2
1
|
import { CometChatTheme, CometChatMessageOption } from "@cometchat/uikit-resources";
|
|
3
2
|
import { DataSource } from "../../Shared/Framework/DataSource";
|
|
4
3
|
import { DataSourceDecorator } from "../../Shared/Framework/DataSourceDecorator";
|
|
5
|
-
import { MessageTranslationConfiguration } from "@cometchat/uikit-shared";
|
|
6
4
|
export declare class MessageTranslationExtensionDecorator extends DataSourceDecorator {
|
|
7
|
-
|
|
8
|
-
constructor(dataSource: DataSource, configuration?: MessageTranslationConfiguration);
|
|
5
|
+
constructor(dataSource: DataSource);
|
|
9
6
|
getTextMessageOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): CometChatMessageOption[];
|
|
10
7
|
checkIfOptionExist(template: CometChatMessageOption[], id: string): boolean;
|
|
11
8
|
getId(): string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ExtensionsDataSource } from
|
|
2
|
-
export declare class PollsExtension
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { ExtensionsDataSource } from '@cometchat/uikit-shared';
|
|
2
|
+
export declare class PollsExtension extends ExtensionsDataSource {
|
|
3
|
+
addExtension(): void;
|
|
4
|
+
getExtensionId(): string;
|
|
5
5
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { CometChat } from "@cometchat-pro/chat";
|
|
2
1
|
import { CometChatMessageTemplate, CometChatTheme } from "@cometchat/uikit-resources";
|
|
3
2
|
import { DataSource } from "../../Shared/Framework/DataSource";
|
|
4
3
|
import { DataSourceDecorator } from "../../Shared/Framework/DataSourceDecorator";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ExtensionsDataSource } from
|
|
2
|
-
export declare class ReactionExtension
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { ExtensionsDataSource } from '@cometchat/uikit-shared';
|
|
2
|
+
export declare class ReactionExtension extends ExtensionsDataSource {
|
|
3
|
+
addExtension(): void;
|
|
4
|
+
getExtensionId(): string;
|
|
5
5
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { CometChat } from "@cometchat-pro/chat";
|
|
2
1
|
import { CometChatTheme, CometChatMessageOption } from "@cometchat/uikit-resources";
|
|
3
2
|
import { DataSource } from "../../Shared/Framework/DataSource";
|
|
4
3
|
import { DataSourceDecorator } from "../../Shared/Framework/DataSourceDecorator";
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
constructor({ configuration }?: {
|
|
6
|
-
configuration?: SmartRepliesConfiguration;
|
|
7
|
-
});
|
|
8
|
-
enable(): void;
|
|
1
|
+
import { ExtensionsDataSource } from "@cometchat/uikit-shared";
|
|
2
|
+
export declare class SmartReplyExtension extends ExtensionsDataSource {
|
|
3
|
+
addExtension(): void;
|
|
4
|
+
getExtensionId(): string;
|
|
9
5
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CometChat } from "@cometchat
|
|
1
|
+
import { CometChat } from "@cometchat/chat-sdk-javascript";
|
|
2
2
|
import { SmartRepliesConfiguration } from "@cometchat/uikit-shared";
|
|
3
3
|
import { DataSource } from "../../Shared/Framework/DataSource";
|
|
4
4
|
import { DataSourceDecorator } from "../../Shared/Framework/DataSourceDecorator";
|
|
@@ -9,7 +9,7 @@ export declare class SmartReplyExtensionDecorator extends DataSourceDecorator {
|
|
|
9
9
|
private activeGroup;
|
|
10
10
|
currentMessage: CometChat.BaseMessage | null;
|
|
11
11
|
loggedInUser: CometChat.User | null;
|
|
12
|
-
constructor(dataSource: DataSource
|
|
12
|
+
constructor(dataSource: DataSource);
|
|
13
13
|
sendReply: (reply: string, message: CometChat.BaseMessage, onError: ((error: CometChat.CometChatException) => void) | null | undefined, customSoundForMessages?: string, disableSoundForMessages?: boolean) => void;
|
|
14
14
|
private addMessageListener;
|
|
15
15
|
getId(): string;
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import { ExtensionsDataSource } from '
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
constructor({ configuration }?: {
|
|
6
|
-
configuration?: StickersConfiguration;
|
|
7
|
-
});
|
|
8
|
-
enable(): void;
|
|
1
|
+
import { ExtensionsDataSource } from '@cometchat/uikit-shared';
|
|
2
|
+
export declare class StickersExtension extends ExtensionsDataSource {
|
|
3
|
+
addExtension(): void;
|
|
4
|
+
getExtensionId(): string;
|
|
9
5
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DataSourceDecorator } from "../../Shared/Framework/DataSourceDecorator";
|
|
2
2
|
import { CometChatMessageTemplate } from "@cometchat/uikit-resources";
|
|
3
|
-
import { CometChat } from '@cometchat
|
|
3
|
+
import { CometChat } from '@cometchat/chat-sdk-javascript';
|
|
4
4
|
import { StickersConfiguration } from '@cometchat/uikit-shared';
|
|
5
5
|
import { DataSource } from "../../Shared/Framework/DataSource";
|
|
6
6
|
import { ComposerId } from "../../Shared/Utils/MessageUtils";
|
|
@@ -8,7 +8,7 @@ import { CometChatException } from "../../Shared/Utils/ComeChatException";
|
|
|
8
8
|
export declare class StickersExtensionDecorator extends DataSourceDecorator {
|
|
9
9
|
configuration?: StickersConfiguration;
|
|
10
10
|
newDataScorce: DataSource;
|
|
11
|
-
constructor(dataSource: DataSource
|
|
11
|
+
constructor(dataSource: DataSource);
|
|
12
12
|
getDataScorce(): DataSource;
|
|
13
13
|
sendStickerMessage: (sticker: {
|
|
14
14
|
name: string;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { ExtensionsDataSource } from "
|
|
2
|
-
export declare class TextModeratorExtension
|
|
3
|
-
|
|
1
|
+
import { ExtensionsDataSource } from "@cometchat/uikit-shared";
|
|
2
|
+
export declare class TextModeratorExtension extends ExtensionsDataSource {
|
|
3
|
+
addExtension(): void;
|
|
4
|
+
getExtensionId(): string;
|
|
4
5
|
enable(): void;
|
|
5
6
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { CometChat } from "@cometchat-pro/chat";
|
|
2
1
|
import { DataSource } from "../../Shared/Framework/DataSource";
|
|
3
2
|
import { DataSourceDecorator } from "../../Shared/Framework/DataSourceDecorator";
|
|
4
3
|
export declare class TextModeratorExtensionDecorator extends DataSourceDecorator {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ExtensionsDataSource } from "
|
|
2
|
-
export declare class ThumbnailGenerationExtension
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { ExtensionsDataSource } from "@cometchat/uikit-shared";
|
|
2
|
+
export declare class ThumbnailGenerationExtension extends ExtensionsDataSource {
|
|
3
|
+
addExtension(): void;
|
|
4
|
+
getExtensionId(): string;
|
|
5
5
|
}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CometChatLocalize } from "@cometchat/uikit-resources";
|
|
2
2
|
import { UIKitSettings } from '@cometchat/uikit-shared';
|
|
3
3
|
import { ExtensionsDataSource } from "../Framework/ExtensionDataSource";
|
|
4
|
+
import { CometChatSoundManager } from '@cometchat/uikit-shared';
|
|
4
5
|
export declare class CometChatUIKit {
|
|
5
|
-
static uiKitSettings: UIKitSettings
|
|
6
|
-
static
|
|
6
|
+
static uiKitSettings: UIKitSettings;
|
|
7
|
+
static SoundManager: typeof CometChatSoundManager;
|
|
8
|
+
static Localize: typeof CometChatLocalize;
|
|
9
|
+
static getDataSource(): import("@cometchat/chat-uikit-angular").DataSource;
|
|
10
|
+
static init(uiKitSettings: UIKitSettings): Promise<Object> | undefined;
|
|
7
11
|
static getLoggedinUser(): Promise<CometChat.User> | undefined;
|
|
8
12
|
static defaultExtensions: ExtensionsDataSource[];
|
|
9
13
|
static enableCalling(): void;
|
|
@@ -16,7 +20,7 @@ export declare class CometChatUIKit {
|
|
|
16
20
|
static updateUser(user: CometChat.User): Promise<Object | undefined>;
|
|
17
21
|
static logout(): Promise<Object | undefined>;
|
|
18
22
|
static checkAuthSettings(): boolean;
|
|
19
|
-
static sendCustomMessage(message: CometChat.CustomMessage):
|
|
20
|
-
static sendTextMessage(message: CometChat.TextMessage):
|
|
21
|
-
static sendMediaMessage(message: CometChat.MediaMessage):
|
|
23
|
+
static sendCustomMessage(message: CometChat.CustomMessage): Promise<CometChat.BaseMessage>;
|
|
24
|
+
static sendTextMessage(message: CometChat.TextMessage): Promise<CometChat.BaseMessage>;
|
|
25
|
+
static sendMediaMessage(message: CometChat.MediaMessage): Promise<CometChat.BaseMessage>;
|
|
22
26
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { CometChatMessageOption, CometChatMessageTemplate, CometChatTheme } from "@cometchat/uikit-resources";
|
|
2
|
-
import { CometChat } from "@cometchat-pro/chat";
|
|
3
2
|
import { ComposerId } from "../Utils/MessageUtils";
|
|
4
3
|
export declare abstract class DataSource {
|
|
5
4
|
abstract getTextMessageOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): Array<CometChatMessageOption>;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { CometChatMessageOption, CometChatMessageTemplate, CometChatTheme } from "@cometchat/uikit-resources";
|
|
2
2
|
import { DataSource } from "./DataSource";
|
|
3
|
-
import { CometChat } from "@cometchat-pro/chat";
|
|
4
3
|
import { ComposerId } from "../Utils/MessageUtils";
|
|
5
4
|
export declare abstract class DataSourceDecorator implements DataSource {
|
|
6
5
|
dataSource: DataSource;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function CometChatException(error: any): CometChat.CometChatException;
|
|
1
|
+
export declare function CometChatException(error: any): import("@cometchat/chat-sdk-javascript").CometChatException;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { CometChatMessageOption, MessageBubbleAlignment, CometChatMessageTemplate, CometChatMessageComposerAction, CometChatTheme } from "@cometchat/uikit-resources";
|
|
2
|
-
import { CometChat } from "@cometchat-pro/chat";
|
|
3
2
|
import { DataSource } from "../Framework/DataSource";
|
|
4
3
|
export declare class MessageUtils implements DataSource {
|
|
5
4
|
getEditOption(theme: CometChatTheme): CometChatMessageOption;
|
|
5
|
+
getMessageInfoOption(theme: CometChatTheme): CometChatMessageOption;
|
|
6
|
+
getMessagePrivatelyOption(theme: CometChatTheme): CometChatMessageOption;
|
|
6
7
|
getDeleteOption(theme: CometChatTheme): CometChatMessageOption;
|
|
7
8
|
getReplyInThreadOption(theme: CometChatTheme): CometChatMessageOption;
|
|
8
9
|
getCopyOption(theme: CometChatTheme): CometChatMessageOption;
|
|
@@ -6,14 +6,22 @@ import * as i0 from "@angular/core";
|
|
|
6
6
|
export declare class CometChatTabsComponent implements OnInit {
|
|
7
7
|
private ref;
|
|
8
8
|
tabAlignment: TabAlignment;
|
|
9
|
+
disableDragging: boolean;
|
|
9
10
|
tabsStyle: BaseStyle;
|
|
10
11
|
tabs: CometChatTabItem[];
|
|
12
|
+
keepAlive: boolean;
|
|
11
13
|
activeTab: CometChatTabItem;
|
|
14
|
+
previousTab: CometChatTabItem;
|
|
12
15
|
childView: TemplateRef<any> | null;
|
|
13
16
|
constructor(ref: ChangeDetectorRef);
|
|
14
17
|
openViewOnCLick: (tabItem: CometChatTabItem) => void;
|
|
15
18
|
ngOnInit(): void;
|
|
19
|
+
ngOnChanges(): void;
|
|
16
20
|
getButtonStyle(tab: CometChatTabItem): {
|
|
21
|
+
display?: undefined;
|
|
22
|
+
justifyContent?: undefined;
|
|
23
|
+
alignItems?: undefined;
|
|
24
|
+
padding: string;
|
|
17
25
|
background: string | undefined;
|
|
18
26
|
buttonTextFont: string | undefined;
|
|
19
27
|
buttonTextColor: string | undefined;
|
|
@@ -23,31 +31,52 @@ export declare class CometChatTabsComponent implements OnInit {
|
|
|
23
31
|
border: string | undefined;
|
|
24
32
|
borderRadius: string | undefined;
|
|
25
33
|
gap: string;
|
|
34
|
+
cursor: string;
|
|
35
|
+
} | {
|
|
36
|
+
display: string;
|
|
37
|
+
justifyContent: string;
|
|
38
|
+
alignItems: string;
|
|
26
39
|
padding: string;
|
|
40
|
+
background: string | undefined;
|
|
41
|
+
buttonTextFont: string | undefined;
|
|
42
|
+
buttonTextColor: string | undefined;
|
|
43
|
+
buttonIconTint: string | undefined;
|
|
44
|
+
height: string | undefined;
|
|
45
|
+
width: string | undefined;
|
|
46
|
+
border: string | undefined;
|
|
47
|
+
borderRadius: string | undefined;
|
|
48
|
+
gap: string;
|
|
49
|
+
cursor: string;
|
|
50
|
+
};
|
|
51
|
+
showTabs(tab: CometChatTabItem): {
|
|
52
|
+
display: string;
|
|
27
53
|
};
|
|
28
54
|
getTabsStyle(): {
|
|
55
|
+
position: string;
|
|
29
56
|
top: string;
|
|
30
57
|
left: string;
|
|
31
58
|
bottom?: undefined;
|
|
32
|
-
right?: undefined;
|
|
33
59
|
background: string | undefined;
|
|
60
|
+
border: string | undefined;
|
|
61
|
+
borderRadius: string | undefined;
|
|
34
62
|
} | {
|
|
63
|
+
position: string;
|
|
35
64
|
bottom: string;
|
|
36
65
|
left: string;
|
|
37
66
|
top?: undefined;
|
|
38
|
-
right?: undefined;
|
|
39
|
-
background: string | undefined;
|
|
40
|
-
} | {
|
|
41
|
-
top: string;
|
|
42
|
-
right: string;
|
|
43
|
-
left?: undefined;
|
|
44
|
-
bottom?: undefined;
|
|
45
67
|
background: string | undefined;
|
|
68
|
+
border: string | undefined;
|
|
69
|
+
borderRadius: string | undefined;
|
|
70
|
+
};
|
|
71
|
+
getWrapperStyle(): {
|
|
72
|
+
display: string;
|
|
73
|
+
justifyContent: string;
|
|
74
|
+
flexDirection: string;
|
|
46
75
|
};
|
|
47
76
|
getTabsPlacement(): {
|
|
48
77
|
display: string;
|
|
49
78
|
flexDirection: string;
|
|
50
79
|
};
|
|
51
80
|
static ɵfac: i0.ɵɵFactoryDeclaration<CometChatTabsComponent, never>;
|
|
52
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<CometChatTabsComponent, "cometchat-tabs", never, { "tabAlignment": "tabAlignment"; "tabsStyle": "tabsStyle"; "tabs": "tabs"; }, {}, never, never>;
|
|
81
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CometChatTabsComponent, "cometchat-tabs", never, { "tabAlignment": "tabAlignment"; "disableDragging": "disableDragging"; "tabsStyle": "tabsStyle"; "tabs": "tabs"; "keepAlive": "keepAlive"; }, {}, never, never>;
|
|
53
82
|
}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import * as i1 from "./cometchat-tabs/cometchat-tabs.component";
|
|
3
3
|
import * as i2 from "@angular/common";
|
|
4
|
-
import * as i3 from "../../../CometChatConversationsWithMessages/cometchat-conversations-with-messages.module";
|
|
5
|
-
import * as i4 from "../../../CometChatUsersWithMessages/cometchat-users-with-messages.module";
|
|
6
|
-
import * as i5 from "../../../CometChatGroupsWithMessages/cometchat-groups-with-messages.module";
|
|
7
|
-
import * as i6 from "../../../Calls/CometChatCallHistoryWithDetails/cometchat-call-history-with-details.module";
|
|
8
4
|
export declare class CometChatTabs {
|
|
9
5
|
static ɵfac: i0.ɵɵFactoryDeclaration<CometChatTabs, never>;
|
|
10
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<CometChatTabs, [typeof i1.CometChatTabsComponent], [typeof i2.CommonModule
|
|
6
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CometChatTabs, [typeof i1.CometChatTabsComponent], [typeof i2.CommonModule], [typeof i1.CometChatTabsComponent]>;
|
|
11
7
|
static ɵinj: i0.ɵɵInjectorDeclaration<CometChatTabs>;
|
|
12
8
|
}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { ChatConfigurator } from '../Shared/Framework/ChatConfigurator';
|
|
2
|
+
import { ExtensionsDataSource } from '@cometchat/uikit-shared';
|
|
2
3
|
import { CallingExtensionDecorator } from './CallingExtensionDecorator';
|
|
3
|
-
export class CallingExtension {
|
|
4
|
-
|
|
4
|
+
export class CallingExtension extends ExtensionsDataSource {
|
|
5
|
+
getExtensionId() {
|
|
6
|
+
return '';
|
|
7
|
+
}
|
|
8
|
+
addExtension() {
|
|
5
9
|
}
|
|
6
|
-
// override enable method from ExtensionsDataSource interface
|
|
7
10
|
enable() {
|
|
8
11
|
ChatConfigurator.enable((dataSource) => new CallingExtensionDecorator(dataSource));
|
|
9
12
|
}
|
|
10
13
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FsbGluZ0V4dGVuc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYXQtdWlraXQtYW5ndWxhci9zcmMvQ2FsbHMvQ2FsbGluZ0V4dGVuc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUV4RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV4RSxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsb0JBQW9CO0lBRXZELGNBQWM7UUFDWCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDQSxZQUFZO0lBRWIsQ0FBQztJQUNRLE1BQU07UUFFYixnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFzQixFQUFFLEVBQUUsQ0FDakQsSUFBSSx5QkFBeUIsQ0FBQyxVQUFVLENBQUMsQ0FDMUMsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQ2hhdENvbmZpZ3VyYXRvciB9IGZyb20gJy4uL1NoYXJlZC9GcmFtZXdvcmsvQ2hhdENvbmZpZ3VyYXRvcic7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi4vU2hhcmVkL0ZyYW1ld29yay9EYXRhU291cmNlJztcbmltcG9ydCB7RXh0ZW5zaW9uc0RhdGFTb3VyY2V9IGZyb20gJ0Bjb21ldGNoYXQvdWlraXQtc2hhcmVkJ1xuaW1wb3J0IHsgQ2FsbGluZ0V4dGVuc2lvbkRlY29yYXRvciB9IGZyb20gJy4vQ2FsbGluZ0V4dGVuc2lvbkRlY29yYXRvcic7XG5cbmV4cG9ydCBjbGFzcyBDYWxsaW5nRXh0ZW5zaW9uIGV4dGVuZHMgRXh0ZW5zaW9uc0RhdGFTb3VyY2Uge1xuXG4gICBnZXRFeHRlbnNpb25JZCgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuICcnO1xuICB9XG4gICBhZGRFeHRlbnNpb24oKTogdm9pZCB7XG5cbiAgfVxuICBvdmVycmlkZSBlbmFibGUoKTogdm9pZCB7XG5cbiAgICBDaGF0Q29uZmlndXJhdG9yLmVuYWJsZSgoZGF0YVNvdXJjZTogRGF0YVNvdXJjZSkgPT5cbiAgICAgIG5ldyBDYWxsaW5nRXh0ZW5zaW9uRGVjb3JhdG9yKGRhdGFTb3VyY2UpXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CometChat } from "@cometchat
|
|
1
|
+
import { CometChat } from "@cometchat/chat-sdk-javascript";
|
|
2
2
|
import { CometChatUIKitConstants, CometChatMessageTemplate, localize } from "@cometchat/uikit-resources";
|
|
3
3
|
import { CallingDetailsUtils } from "@cometchat/uikit-shared";
|
|
4
4
|
import { ChatConfigurator } from "../Shared/Framework/ChatConfigurator";
|
|
@@ -96,9 +96,9 @@ export class CallingExtensionDecorator extends DataSourceDecorator {
|
|
|
96
96
|
let call = conversation.getLastMessage();
|
|
97
97
|
actionMessage = CallingDetailsUtils.getCallStatus(call, loggedInUser);
|
|
98
98
|
}
|
|
99
|
-
else if (conversation
|
|
99
|
+
else if (conversation?.getLastMessage() && conversation.getLastMessage().type == CometChatUIKitConstants.calls.meeting) {
|
|
100
100
|
let message = conversation.getLastMessage();
|
|
101
|
-
if (!message.getSender() || message
|
|
101
|
+
if (!message.getSender() || message?.getSender()?.getUid() == loggedInUser.getUid()) {
|
|
102
102
|
actionMessage = localize("YOU_INITIATED_GROUP_CALL");
|
|
103
103
|
}
|
|
104
104
|
else {
|
|
@@ -111,4 +111,4 @@ export class CallingExtensionDecorator extends DataSourceDecorator {
|
|
|
111
111
|
return actionMessage;
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FsbGluZ0V4dGVuc2lvbkRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYXQtdWlraXQtYW5ndWxhci9zcmMvQ2FsbHMvQ2FsbGluZ0V4dGVuc2lvbkRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHdCQUF3QixFQUFrRCxRQUFRLEVBQWMsTUFBTSw0QkFBNEIsQ0FBQztBQUNySyxPQUFPLEVBQUUsbUJBQW1CLEVBQXNFLE1BQU0seUJBQXlCLENBQUM7QUFDbEksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFHOUUsTUFBTSxPQUFPLHlCQUEwQixTQUFRLG1CQUFtQjtJQUM5RCxZQUFZLFVBQXNCO1FBQzlCLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDbEIsQ0FBQztJQUNELHFDQUFxQztJQUNyQyxRQUFRO1FBQ04sSUFBSSxVQUFVLEdBQVcsaUJBQWlCLENBQUM7UUFDM0MsU0FBUyxDQUFDLGdCQUFnQixDQUMxQixVQUFVLEVBQ1YsSUFBSSxTQUFTLENBQUMsYUFBYSxDQUFDO1lBQzFCLGFBQWEsRUFBRSxHQUFHLEVBQUU7Z0JBQ25CLElBQUksSUFBSSxHQUFtQixTQUFTLENBQUMsYUFBYSxFQUFFLENBQUE7Z0JBQ2pELElBQUcsSUFBSSxFQUFDO29CQUNOLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUE7aUJBRXZDO3FCQUNHO29CQUNGLE9BQU07aUJBQ1A7WUFDTCxDQUFDO1lBQ0QsYUFBYSxFQUFFLENBQUMsS0FBbUMsRUFBRSxFQUFFO2dCQUNuRCxPQUFPLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3pELENBQUM7U0FDSixDQUFDLENBQ0wsQ0FBQztJQUNFLENBQUM7SUFDUSxrQkFBa0I7UUFDdkIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUUsdUJBQXVCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3pELEtBQUssQ0FBQyxJQUFJLENBQUUsdUJBQXVCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3REO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzdELEtBQUssQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzFEO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzdELEtBQUssQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzFEO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUNRLEtBQUs7UUFDVixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ00sdUJBQXVCO1FBQzVCLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNwRSxVQUFVLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNqRTtRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN0RSxVQUFVLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNuRTtRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7SUFDRCx3QkFBd0IsQ0FBQyxRQUFtQyxFQUFFLElBQVc7UUFDckUsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQTtJQUNoRCxDQUFDO0lBQ0QsNEJBQTRCLENBQUMsUUFBbUMsRUFBRSxRQUFlO1FBQy9FLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUE7SUFDeEQsQ0FBQztJQUNNLHNCQUFzQjtRQUMzQixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNqRCxJQUFHLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsRUFBRSx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUM7WUFDL0UsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFBO1NBQzdDO1FBQ0QsSUFBRyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxTQUFTLEVBQUMsdUJBQXVCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFDO1lBQzdGLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFBO1NBQ2pEO1FBQ0UsT0FBTyxTQUFTLENBQUE7SUFFekIsQ0FBQztJQUNELHFCQUFxQjtRQUNyQixPQUFPLElBQUksd0JBQXdCLENBQUM7WUFDbEMsSUFBSSxFQUFFLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxPQUFPO1lBQzNDLFFBQVEsRUFBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsTUFBTTtZQUN2RCxPQUFPLEVBQUUsQ0FBQyxZQUE0QixFQUFFLGFBQW9DLEVBQUUsS0FBcUIsRUFBRSxLQUF1QixFQUFDLEVBQUU7Z0JBQzdILE9BQU8sZ0JBQWdCLENBQUMsYUFBYSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDcEcsQ0FBQztTQUNILENBQUMsQ0FBQTtJQUNGLENBQUM7SUFDRCxzQkFBc0I7UUFDcEIsSUFBSSxTQUFTLEdBQThCO1lBQ3pDLElBQUksd0JBQXdCLENBQUM7Z0JBQ3pCLElBQUksRUFBQyx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsS0FBSztnQkFDL0MsUUFBUSxFQUFDLHVCQUF1QixDQUFDLGVBQWUsQ0FBQyxJQUFJO2FBQ3RELENBQUM7WUFDRixJQUFJLHdCQUF3QixDQUFDO2dCQUMzQixJQUFJLEVBQUMsdUJBQXVCLENBQUMsWUFBWSxDQUFDLEtBQUs7Z0JBQy9DLFFBQVEsRUFBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsSUFBSTthQUN0RCxDQUFDO1NBRUwsQ0FBQTtRQUNELE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUM7SUFDYywwQkFBMEIsQ0FBQyxZQUFvQyxFQUFFLFlBQTRCO1FBQzNHLElBQUksYUFBYSxHQUFVLEVBQUUsQ0FBQztRQUUvQixJQUFHLFlBQVksQ0FBQyxjQUFjLEVBQUUsSUFBSSxZQUFZLENBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxJQUFJLHVCQUF1QixDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUM7WUFDekgsSUFBSSxJQUFJLEdBQWlCLFlBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUV2RCxhQUFhLEdBQUcsbUJBQW1CLENBQUMsYUFBYSxDQUFDLElBQUksRUFBQyxZQUFZLENBQUMsQ0FBQTtTQUNyRTthQUNJLElBQUksWUFBWSxDQUFDLGNBQWMsRUFBRSxJQUFJLFlBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJLElBQUssdUJBQXVCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBQztZQUNySCxJQUFJLE9BQU8sR0FBMkIsWUFBWSxDQUFDLGNBQWMsRUFBRSxDQUFBO1lBQ25FLElBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sRUFBRSxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUUsRUFBQztnQkFDL0UsYUFBYSxHQUFHLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO2FBQ3JEO2lCQUNJO2dCQUNILGFBQWEsR0FBRyxHQUFHLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxRQUFRLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFBO2FBQ3hGO1NBRUY7YUFDRztZQUNGLGFBQWEsR0FBRyxLQUFLLENBQUMsMEJBQTBCLENBQUMsWUFBWSxFQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzdFO1FBQ0QsT0FBTyxhQUFhLENBQUE7SUFFckIsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tZXRDaGF0IH0gZnJvbSBcIkBjb21ldGNoYXQtcHJvL2NoYXRcIjtcbmltcG9ydCB7IENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLCBDb21ldENoYXRNZXNzYWdlVGVtcGxhdGUsIENvbWV0Q2hhdFRoZW1lLCBDb21ldENoYXRNZXNzYWdlQ29tcG9zZXJBY3Rpb24sIGxvY2FsaXplLCBmb250SGVscGVyIH0gZnJvbSBcIkBjb21ldGNoYXQvdWlraXQtcmVzb3VyY2VzXCI7XG5pbXBvcnQgeyBDYWxsaW5nRGV0YWlsc1V0aWxzLCBDb2xsYWJvcmF0aXZlRG9jdW1lbnRDb25maWd1cmF0aW9uLCBDb2xsYWJvcmF0aXZlRG9jdW1lbnRDb25zdGFudHMgfSBmcm9tIFwiQGNvbWV0Y2hhdC91aWtpdC1zaGFyZWRcIjtcbmltcG9ydCB7IENoYXRDb25maWd1cmF0b3IgfSBmcm9tIFwiLi4vU2hhcmVkL0ZyYW1ld29yay9DaGF0Q29uZmlndXJhdG9yXCI7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSBcIi4uL1NoYXJlZC9GcmFtZXdvcmsvRGF0YVNvdXJjZVwiO1xuaW1wb3J0IHsgRGF0YVNvdXJjZURlY29yYXRvciB9IGZyb20gXCIuLi9TaGFyZWQvRnJhbWV3b3JrL0RhdGFTb3VyY2VEZWNvcmF0b3JcIjtcbmltcG9ydCB7ICB9IGZyb20gXCJAY29tZXRjaGF0L3Vpa2l0LXNoYXJlZFwiO1xuXG5leHBvcnQgY2xhc3MgQ2FsbGluZ0V4dGVuc2lvbkRlY29yYXRvciBleHRlbmRzIERhdGFTb3VyY2VEZWNvcmF0b3Ige1xuICAgIGNvbnN0cnVjdG9yKGRhdGFTb3VyY2U6IERhdGFTb3VyY2UpIHtcbiAgICAgICAgc3VwZXIoZGF0YVNvdXJjZSk7XG4gICAgICAgdGhpcy5vbkxvZ291dCgpXG4gICAgfVxuICAgIC8vIGVuZCBhY3RpdmUgY2FsbCB3aGVuIHVzZXIgbG9ncyBvdXRcbiAgICBvbkxvZ291dCgpe1xuICAgICAgdmFyIGxpc3RlbmVySUQ6IHN0cmluZyA9IFwibG9nb3V0X2xpc3RlbmVyXCI7XG4gICAgICBDb21ldENoYXQuYWRkTG9naW5MaXN0ZW5lcihcbiAgICAgIGxpc3RlbmVySUQsXG4gICAgICBuZXcgQ29tZXRDaGF0LkxvZ2luTGlzdGVuZXIoe1xuICAgICAgICBsb2dvdXRTdWNjZXNzOiAoKSA9PiB7XG4gICAgICAgICBsZXQgY2FsbDpDb21ldENoYXQuQ2FsbCA9ICBDb21ldENoYXQuZ2V0QWN0aXZlQ2FsbCgpXG4gICAgICAgICAgICBpZihjYWxsKXtcbiAgICAgICAgICAgICAgQ29tZXRDaGF0LmVuZENhbGwoY2FsbC5nZXRTZXNzaW9uSWQoKSlcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZXtcbiAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGxvZ291dEZhaWx1cmU6IChlcnJvcjogQ29tZXRDaGF0LkNvbWV0Q2hhdEV4Y2VwdGlvbikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJMb2dpbkxpc3RlbmVyIDo6IGxvZ291dEZhaWx1cmVcIiwgZXJyb3IpO1xuICAgICAgICB9XG4gICAgfSlcbik7XG4gICAgfVxuICAgIG92ZXJyaWRlIGdldEFsbE1lc3NhZ2VUeXBlcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIGNvbnN0IHR5cGVzID0gc3VwZXIuZ2V0QWxsTWVzc2FnZVR5cGVzKCk7XG4gICAgICAgIGlmICghdHlwZXMuaW5jbHVkZXMoIENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLmNhbGxzLm1lZXRpbmcpKSB7XG4gICAgICAgICAgICB0eXBlcy5wdXNoKCBDb21ldENoYXRVSUtpdENvbnN0YW50cy5jYWxscy5tZWV0aW5nKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXR5cGVzLmluY2x1ZGVzKENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLk1lc3NhZ2VUeXBlcy5hdWRpbykpIHtcbiAgICAgICAgICAgIHR5cGVzLnB1c2goQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuTWVzc2FnZVR5cGVzLmF1ZGlvKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXR5cGVzLmluY2x1ZGVzKENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLk1lc3NhZ2VUeXBlcy52aWRlbykpIHtcbiAgICAgICAgICAgIHR5cGVzLnB1c2goQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuTWVzc2FnZVR5cGVzLnZpZGVvKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHlwZXM7XG4gICAgfVxuICAgIG92ZXJyaWRlIGdldElkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBcImNhbGxpbmdcIjtcbiAgICAgIH1cbiAgICBvdmVycmlkZSBnZXRBbGxNZXNzYWdlQ2F0ZWdvcmllcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIGNvbnN0IGNhdGVnb3JpZXMgPSBzdXBlci5nZXRBbGxNZXNzYWdlQ2F0ZWdvcmllcygpO1xuICAgICAgICBpZiAoIWNhdGVnb3JpZXMuaW5jbHVkZXMoQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuTWVzc2FnZUNhdGVnb3J5LmNhbGwpKSB7XG4gICAgICAgICAgICBjYXRlZ29yaWVzLnB1c2goQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuTWVzc2FnZUNhdGVnb3J5LmNhbGwpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghY2F0ZWdvcmllcy5pbmNsdWRlcyhDb21ldENoYXRVSUtpdENvbnN0YW50cy5NZXNzYWdlQ2F0ZWdvcnkuY3VzdG9tKSkge1xuICAgICAgICAgICAgY2F0ZWdvcmllcy5wdXNoKENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLk1lc3NhZ2VDYXRlZ29yeS5jdXN0b20pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjYXRlZ29yaWVzO1xuICAgIH1cbiAgICBjaGVja0lmVGVtcGxhdGVUeXBlRXhpc3QodGVtcGxhdGU6Q29tZXRDaGF0TWVzc2FnZVRlbXBsYXRlW10sIHR5cGU6c3RyaW5nKTpib29sZWFue1xuICAgICAgICByZXR1cm4gdGVtcGxhdGUuc29tZShvYmogPT4gb2JqLnR5cGUgPT09IHR5cGUpXG4gICAgICB9XG4gICAgICBjaGVja0lmVGVtcGxhdGVDYXRlZ29yeUV4aXN0KHRlbXBsYXRlOkNvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZVtdLCBjYXRlZ29yeTpzdHJpbmcpOmJvb2xlYW57XG4gICAgICAgIHJldHVybiB0ZW1wbGF0ZS5zb21lKG9iaiA9PiBvYmouY2F0ZWdvcnkgPT09IGNhdGVnb3J5KVxuICAgICAgfVxuICAgIG92ZXJyaWRlIGdldEFsbE1lc3NhZ2VUZW1wbGF0ZXMoKTogQ29tZXRDaGF0TWVzc2FnZVRlbXBsYXRlW10ge1xuICAgICAgICBjb25zdCB0ZW1wbGF0ZXMgPSBzdXBlci5nZXRBbGxNZXNzYWdlVGVtcGxhdGVzKCk7XG4gICAgICAgIGlmKCF0aGlzLmNoZWNrSWZUZW1wbGF0ZVR5cGVFeGlzdCh0ZW1wbGF0ZXMsIENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLmNhbGxzLm1lZXRpbmcpKXtcbiAgICAgICAgICAgICB0ZW1wbGF0ZXMucHVzaCh0aGlzLmdldERpcmVjdENhbGxUZW1wbGF0ZSgpKVxuICAgICAgICAgICB9XG4gICAgICAgICAgIGlmKCF0aGlzLmNoZWNrSWZUZW1wbGF0ZUNhdGVnb3J5RXhpc3QodGVtcGxhdGVzLENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLk1lc3NhZ2VDYXRlZ29yeS5jYWxsKSl7XG4gICAgICAgICAgICB0ZW1wbGF0ZXMucHVzaCguLi50aGlzLmdldERlZmF1bHRDYWxsVGVtcGxhdGUoKSlcbiAgICAgICAgICB9XG4gICAgICAgICAgICAgcmV0dXJuIHRlbXBsYXRlc1xuXG4gICAgfVxuICAgIGdldERpcmVjdENhbGxUZW1wbGF0ZSgpOkNvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZXtcbiAgICByZXR1cm4gbmV3IENvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZSh7XG4gICAgICB0eXBlOiBDb21ldENoYXRVSUtpdENvbnN0YW50cy5jYWxscy5tZWV0aW5nLFxuICAgICAgY2F0ZWdvcnk6Q29tZXRDaGF0VUlLaXRDb25zdGFudHMuTWVzc2FnZUNhdGVnb3J5LmN1c3RvbSxcbiAgICAgIG9wdGlvbnM6IChsb2dnZWRJblVzZXI6IENvbWV0Q2hhdC5Vc2VyLCBtZXNzYWdlT2JqZWN0OiBDb21ldENoYXQuQmFzZU1lc3NhZ2UsIHRoZW1lOiBDb21ldENoYXRUaGVtZSwgZ3JvdXA/OiBDb21ldENoYXQuR3JvdXApPT57XG4gICAgICAgIHJldHVybiBDaGF0Q29uZmlndXJhdG9yLmdldERhdGFTb3VyY2UoKS5nZXRDb21tb25PcHRpb25zKGxvZ2dlZEluVXNlciwgbWVzc2FnZU9iamVjdCwgdGhlbWUsIGdyb3VwKVxuICAgICAgIH1cbiAgICB9KVxuICAgIH1cbiAgICBnZXREZWZhdWx0Q2FsbFRlbXBsYXRlKCk6Q29tZXRDaGF0TWVzc2FnZVRlbXBsYXRlW117XG4gICAgICBsZXQgdGVtcGxhdGVzOkNvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZVtdID0gW1xuICAgICAgICBuZXcgQ29tZXRDaGF0TWVzc2FnZVRlbXBsYXRlKHtcbiAgICAgICAgICAgIHR5cGU6Q29tZXRDaGF0VUlLaXRDb25zdGFudHMuTWVzc2FnZVR5cGVzLmF1ZGlvICxcbiAgICAgICAgICAgIGNhdGVnb3J5OkNvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLk1lc3NhZ2VDYXRlZ29yeS5jYWxsLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIG5ldyBDb21ldENoYXRNZXNzYWdlVGVtcGxhdGUoe1xuICAgICAgICAgICAgdHlwZTpDb21ldENoYXRVSUtpdENvbnN0YW50cy5NZXNzYWdlVHlwZXMudmlkZW8sXG4gICAgICAgICAgICBjYXRlZ29yeTpDb21ldENoYXRVSUtpdENvbnN0YW50cy5NZXNzYWdlQ2F0ZWdvcnkuY2FsbCxcbiAgICAgICAgICB9KVxuXG4gICAgICBdXG4gICAgICByZXR1cm4gdGVtcGxhdGVzXG4gICAgfVxuICAgcHVibGljIG92ZXJyaWRlIGdldExhc3RDb252ZXJzYXRpb25NZXNzYWdlKGNvbnZlcnNhdGlvbjogQ29tZXRDaGF0LkNvbnZlcnNhdGlvbiwgbG9nZ2VkSW5Vc2VyOiBDb21ldENoYXQuVXNlcik6IHN0cmluZyB7XG4gICAgIGxldCBhY3Rpb25NZXNzYWdlOnN0cmluZyA9IFwiXCI7XG5cbiAgICBpZihjb252ZXJzYXRpb24uZ2V0TGFzdE1lc3NhZ2UoKSAmJiBjb252ZXJzYXRpb24uZ2V0TGFzdE1lc3NhZ2UoKS5jYXRlZ29yeSA9PSBDb21ldENoYXRVSUtpdENvbnN0YW50cy5NZXNzYWdlQ2F0ZWdvcnkuY2FsbCl7XG4gICAgICBsZXQgY2FsbDpDb21ldENoYXQuQ2FsbCA9Y29udmVyc2F0aW9uLmdldExhc3RNZXNzYWdlKCk7XG5cbiAgICAgIGFjdGlvbk1lc3NhZ2UgPSBDYWxsaW5nRGV0YWlsc1V0aWxzLmdldENhbGxTdGF0dXMoY2FsbCxsb2dnZWRJblVzZXIpXG4gICAgfVxuICAgIGVsc2UgaWYgKGNvbnZlcnNhdGlvbi5nZXRMYXN0TWVzc2FnZSgpICYmIGNvbnZlcnNhdGlvbi5nZXRMYXN0TWVzc2FnZSgpLnR5cGUgPT0gIENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLmNhbGxzLm1lZXRpbmcpe1xuICAgICAgbGV0IG1lc3NhZ2U6Q29tZXRDaGF0LkN1c3RvbU1lc3NhZ2UgPSBjb252ZXJzYXRpb24uZ2V0TGFzdE1lc3NhZ2UoKVxuICAgICAgaWYoIW1lc3NhZ2UuZ2V0U2VuZGVyKCkgfHwgbWVzc2FnZS5nZXRTZW5kZXIoKS5nZXRVaWQoKSA9PSBsb2dnZWRJblVzZXIuZ2V0VWlkKCkpe1xuICAgICAgICBhY3Rpb25NZXNzYWdlID0gbG9jYWxpemUoXCJZT1VfSU5JVElBVEVEX0dST1VQX0NBTExcIilcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBhY3Rpb25NZXNzYWdlID0gYCR7bWVzc2FnZS5nZXRTZW5kZXIoKS5nZXROYW1lKCl9ICAke2xvY2FsaXplKFwiSU5JVElBVEVEX0dST1VQX0NBTExcIil9YFxuICAgICAgfVxuXG4gICAgfVxuICAgIGVsc2V7XG4gICAgICBhY3Rpb25NZXNzYWdlID0gc3VwZXIuZ2V0TGFzdENvbnZlcnNhdGlvbk1lc3NhZ2UoY29udmVyc2F0aW9uLGxvZ2dlZEluVXNlcik7XG4gICAgfVxuICAgIHJldHVybiBhY3Rpb25NZXNzYWdlXG5cbiAgIH1cbn0iXX0=
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FsbGluZ0V4dGVuc2lvbkRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYXQtdWlraXQtYW5ndWxhci9zcmMvQ2FsbHMvQ2FsbGluZ0V4dGVuc2lvbkRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHdCQUF3QixFQUFrRCxRQUFRLEVBQWMsTUFBTSw0QkFBNEIsQ0FBQztBQUNySyxPQUFPLEVBQUUsbUJBQW1CLEVBQXNFLE1BQU0seUJBQXlCLENBQUM7QUFDbEksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFHOUUsTUFBTSxPQUFPLHlCQUEwQixTQUFRLG1CQUFtQjtJQUM5RCxZQUFZLFVBQXNCO1FBQzlCLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDbEIsQ0FBQztJQUNELHFDQUFxQztJQUNyQyxRQUFRO1FBQ04sSUFBSSxVQUFVLEdBQVcsaUJBQWlCLENBQUM7UUFDM0MsU0FBUyxDQUFDLGdCQUFnQixDQUMxQixVQUFVLEVBQ1YsSUFBSSxTQUFTLENBQUMsYUFBYSxDQUFDO1lBQzFCLGFBQWEsRUFBRSxHQUFHLEVBQUU7Z0JBQ25CLElBQUksSUFBSSxHQUFtQixTQUFTLENBQUMsYUFBYSxFQUFFLENBQUE7Z0JBQ2pELElBQUcsSUFBSSxFQUFDO29CQUNOLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUE7aUJBRXZDO3FCQUNHO29CQUNGLE9BQU07aUJBQ1A7WUFDTCxDQUFDO1lBQ0QsYUFBYSxFQUFFLENBQUMsS0FBbUMsRUFBRSxFQUFF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LE9BQU8sRUFBQztZQUN0SCxJQUFJLE9BQU8sR0FBMkIsWUFBWSxDQUFDLGNBQWMsRUFBRSxDQUFBO1lBQ25FLElBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksT0FBTyxFQUFFLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUUsRUFBQztnQkFDakYsYUFBYSxHQUFHLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO2FBQ3JEO2lCQUNJO2dCQUNILGFBQWEsR0FBRyxHQUFHLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxRQUFRLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFBO2FBQ3hGO1NBRUY7YUFDRztZQUNGLGFBQWEsR0FBRyxLQUFLLENBQUMsMEJBQTBCLENBQUMsWUFBWSxFQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzdFO1FBQ0QsT0FBTyxhQUFhLENBQUE7SUFFckIsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tZXRDaGF0IH0gZnJvbSBcIkBjb21ldGNoYXQvY2hhdC1zZGstamF2YXNjcmlwdFwiO1xuaW1wb3J0IHsgQ29tZXRDaGF0VUlLaXRDb25zdGFudHMsIENvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZSwgQ29tZXRDaGF0VGhlbWUsIENvbWV0Q2hhdE1lc3NhZ2VDb21wb3NlckFjdGlvbiwgbG9jYWxpemUsIGZvbnRIZWxwZXIgfSBmcm9tIFwiQGNvbWV0Y2hhdC91aWtpdC1yZXNvdXJjZXNcIjtcbmltcG9ydCB7IENhbGxpbmdEZXRhaWxzVXRpbHMsIENvbGxhYm9yYXRpdmVEb2N1bWVudENvbmZpZ3VyYXRpb24sIENvbGxhYm9yYXRpdmVEb2N1bWVudENvbnN0YW50cyB9IGZyb20gXCJAY29tZXRjaGF0L3Vpa2l0LXNoYXJlZFwiO1xuaW1wb3J0IHsgQ2hhdENvbmZpZ3VyYXRvciB9IGZyb20gXCIuLi9TaGFyZWQvRnJhbWV3b3JrL0NoYXRDb25maWd1cmF0b3JcIjtcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tIFwiLi4vU2hhcmVkL0ZyYW1ld29yay9EYXRhU291cmNlXCI7XG5pbXBvcnQgeyBEYXRhU291cmNlRGVjb3JhdG9yIH0gZnJvbSBcIi4uL1NoYXJlZC9GcmFtZXdvcmsvRGF0YVNvdXJjZURlY29yYXRvclwiO1xuaW1wb3J0IHsgIH0gZnJvbSBcIkBjb21ldGNoYXQvdWlraXQtc2hhcmVkXCI7XG5cbmV4cG9ydCBjbGFzcyBDYWxsaW5nRXh0ZW5zaW9uRGVjb3JhdG9yIGV4dGVuZHMgRGF0YVNvdXJjZURlY29yYXRvciB7XG4gICAgY29uc3RydWN0b3IoZGF0YVNvdXJjZTogRGF0YVNvdXJjZSkge1xuICAgICAgICBzdXBlcihkYXRhU291cmNlKTtcbiAgICAgICB0aGlzLm9uTG9nb3V0KClcbiAgICB9XG4gICAgLy8gZW5kIGFjdGl2ZSBjYWxsIHdoZW4gdXNlciBsb2dzIG91dFxuICAgIG9uTG9nb3V0KCl7XG4gICAgICB2YXIgbGlzdGVuZXJJRDogc3RyaW5nID0gXCJsb2dvdXRfbGlzdGVuZXJcIjtcbiAgICAgIENvbWV0Q2hhdC5hZGRMb2dpbkxpc3RlbmVyKFxuICAgICAgbGlzdGVuZXJJRCxcbiAgICAgIG5ldyBDb21ldENoYXQuTG9naW5MaXN0ZW5lcih7XG4gICAgICAgIGxvZ291dFN1Y2Nlc3M6ICgpID0+IHtcbiAgICAgICAgIGxldCBjYWxsOkNvbWV0Q2hhdC5DYWxsID0gIENvbWV0Q2hhdC5nZXRBY3RpdmVDYWxsKClcbiAgICAgICAgICAgIGlmKGNhbGwpe1xuICAgICAgICAgICAgICBDb21ldENoYXQuZW5kQ2FsbChjYWxsLmdldFNlc3Npb25JZCgpKVxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNle1xuICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbG9nb3V0RmFpbHVyZTogKGVycm9yOiBDb21ldENoYXQuQ29tZXRDaGF0RXhjZXB0aW9uKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkxvZ2luTGlzdGVuZXIgOjogbG9nb3V0RmFpbHVyZVwiLCBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9KVxuKTtcbiAgICB9XG4gICAgb3ZlcnJpZGUgZ2V0QWxsTWVzc2FnZVR5cGVzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgdHlwZXMgPSBzdXBlci5nZXRBbGxNZXNzYWdlVHlwZXMoKTtcbiAgICAgICAgaWYgKCF0eXBlcy5pbmNsdWRlcyggQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuY2FsbHMubWVldGluZykpIHtcbiAgICAgICAgICAgIHR5cGVzLnB1c2goIENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLmNhbGxzLm1lZXRpbmcpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdHlwZXMuaW5jbHVkZXMoQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuTWVzc2FnZVR5cGVzLmF1ZGlvKSkge1xuICAgICAgICAgICAgdHlwZXMucHVzaChDb21ldENoYXRVSUtpdENvbnN0YW50cy5NZXNzYWdlVHlwZXMuYXVkaW8pO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdHlwZXMuaW5jbHVkZXMoQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuTWVzc2FnZVR5cGVzLnZpZGVvKSkge1xuICAgICAgICAgICAgdHlwZXMucHVzaChDb21ldENoYXRVSUtpdENvbnN0YW50cy5NZXNzYWdlVHlwZXMudmlkZW8pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0eXBlcztcbiAgICB9XG4gICAgb3ZlcnJpZGUgZ2V0SWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFwiY2FsbGluZ1wiO1xuICAgICAgfVxuICAgIG92ZXJyaWRlIGdldEFsbE1lc3NhZ2VDYXRlZ29yaWVzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgY2F0ZWdvcmllcyA9IHN1cGVyLmdldEFsbE1lc3NhZ2VDYXRlZ29yaWVzKCk7XG4gICAgICAgIGlmICghY2F0ZWdvcmllcy5pbmNsdWRlcyhDb21ldENoYXRVSUtpdENvbnN0YW50cy5NZXNzYWdlQ2F0ZWdvcnkuY2FsbCkpIHtcbiAgICAgICAgICAgIGNhdGVnb3JpZXMucHVzaChDb21ldENoYXRVSUtpdENvbnN0YW50cy5NZXNzYWdlQ2F0ZWdvcnkuY2FsbCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFjYXRlZ29yaWVzLmluY2x1ZGVzKENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLk1lc3NhZ2VDYXRlZ29yeS5jdXN0b20pKSB7XG4gICAgICAgICAgICBjYXRlZ29yaWVzLnB1c2goQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuTWVzc2FnZUNhdGVnb3J5LmN1c3RvbSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNhdGVnb3JpZXM7XG4gICAgfVxuICAgIGNoZWNrSWZUZW1wbGF0ZVR5cGVFeGlzdCh0ZW1wbGF0ZTpDb21ldENoYXRNZXNzYWdlVGVtcGxhdGVbXSwgdHlwZTpzdHJpbmcpOmJvb2xlYW57XG4gICAgICAgIHJldHVybiB0ZW1wbGF0ZS5zb21lKG9iaiA9PiBvYmoudHlwZSA9PT0gdHlwZSlcbiAgICAgIH1cbiAgICAgIGNoZWNrSWZUZW1wbGF0ZUNhdGVnb3J5RXhpc3QodGVtcGxhdGU6Q29tZXRDaGF0TWVzc2FnZVRlbXBsYXRlW10sIGNhdGVnb3J5OnN0cmluZyk6Ym9vbGVhbntcbiAgICAgICAgcmV0dXJuIHRlbXBsYXRlLnNvbWUob2JqID0+IG9iai5jYXRlZ29yeSA9PT0gY2F0ZWdvcnkpXG4gICAgICB9XG4gICAgb3ZlcnJpZGUgZ2V0QWxsTWVzc2FnZVRlbXBsYXRlcygpOiBDb21ldENoYXRNZXNzYWdlVGVtcGxhdGVbXSB7XG4gICAgICAgIGNvbnN0IHRlbXBsYXRlcyA9IHN1cGVyLmdldEFsbE1lc3NhZ2VUZW1wbGF0ZXMoKTtcbiAgICAgICAgaWYoIXRoaXMuY2hlY2tJZlRlbXBsYXRlVHlwZUV4aXN0KHRlbXBsYXRlcywgQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuY2FsbHMubWVldGluZykpe1xuICAgICAgICAgICAgIHRlbXBsYXRlcy5wdXNoKHRoaXMuZ2V0RGlyZWN0Q2FsbFRlbXBsYXRlKCkpXG4gICAgICAgICAgIH1cbiAgICAgICAgICAgaWYoIXRoaXMuY2hlY2tJZlRlbXBsYXRlQ2F0ZWdvcnlFeGlzdCh0ZW1wbGF0ZXMsQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuTWVzc2FnZUNhdGVnb3J5LmNhbGwpKXtcbiAgICAgICAgICAgIHRlbXBsYXRlcy5wdXNoKC4uLnRoaXMuZ2V0RGVmYXVsdENhbGxUZW1wbGF0ZSgpKVxuICAgICAgICAgIH1cbiAgICAgICAgICAgICByZXR1cm4gdGVtcGxhdGVzXG5cbiAgICB9XG4gICAgZ2V0RGlyZWN0Q2FsbFRlbXBsYXRlKCk6Q29tZXRDaGF0TWVzc2FnZVRlbXBsYXRle1xuICAgIHJldHVybiBuZXcgQ29tZXRDaGF0TWVzc2FnZVRlbXBsYXRlKHtcbiAgICAgIHR5cGU6IENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLmNhbGxzLm1lZXRpbmcsXG4gICAgICBjYXRlZ29yeTpDb21ldENoYXRVSUtpdENvbnN0YW50cy5NZXNzYWdlQ2F0ZWdvcnkuY3VzdG9tLFxuICAgICAgb3B0aW9uczogKGxvZ2dlZEluVXNlcjogQ29tZXRDaGF0LlVzZXIsIG1lc3NhZ2VPYmplY3Q6IENvbWV0Q2hhdC5CYXNlTWVzc2FnZSwgdGhlbWU6IENvbWV0Q2hhdFRoZW1lLCBncm91cD86IENvbWV0Q2hhdC5Hcm91cCk9PntcbiAgICAgICAgcmV0dXJuIENoYXRDb25maWd1cmF0b3IuZ2V0RGF0YVNvdXJjZSgpLmdldENvbW1vbk9wdGlvbnMobG9nZ2VkSW5Vc2VyLCBtZXNzYWdlT2JqZWN0LCB0aGVtZSwgZ3JvdXApXG4gICAgICAgfVxuICAgIH0pXG4gICAgfVxuICAgIGdldERlZmF1bHRDYWxsVGVtcGxhdGUoKTpDb21ldENoYXRNZXNzYWdlVGVtcGxhdGVbXXtcbiAgICAgIGxldCB0ZW1wbGF0ZXM6Q29tZXRDaGF0TWVzc2FnZVRlbXBsYXRlW10gPSBbXG4gICAgICAgIG5ldyBDb21ldENoYXRNZXNzYWdlVGVtcGxhdGUoe1xuICAgICAgICAgICAgdHlwZTpDb21ldENoYXRVSUtpdENvbnN0YW50cy5NZXNzYWdlVHlwZXMuYXVkaW8gLFxuICAgICAgICAgICAgY2F0ZWdvcnk6Q29tZXRDaGF0VUlLaXRDb25zdGFudHMuTWVzc2FnZUNhdGVnb3J5LmNhbGwsXG4gICAgICAgICAgfSksXG4gICAgICAgICAgbmV3IENvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZSh7XG4gICAgICAgICAgICB0eXBlOkNvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLk1lc3NhZ2VUeXBlcy52aWRlbyxcbiAgICAgICAgICAgIGNhdGVnb3J5OkNvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLk1lc3NhZ2VDYXRlZ29yeS5jYWxsLFxuICAgICAgICAgIH0pXG5cbiAgICAgIF1cbiAgICAgIHJldHVybiB0ZW1wbGF0ZXNcbiAgICB9XG4gICBwdWJsaWMgb3ZlcnJpZGUgZ2V0TGFzdENvbnZlcnNhdGlvbk1lc3NhZ2UoY29udmVyc2F0aW9uOiBDb21ldENoYXQuQ29udmVyc2F0aW9uLCBsb2dnZWRJblVzZXI6IENvbWV0Q2hhdC5Vc2VyKTogc3RyaW5nIHtcbiAgICAgbGV0IGFjdGlvbk1lc3NhZ2U6c3RyaW5nID0gXCJcIjtcblxuICAgIGlmKGNvbnZlcnNhdGlvbi5nZXRMYXN0TWVzc2FnZSgpICYmIGNvbnZlcnNhdGlvbi5nZXRMYXN0TWVzc2FnZSgpLmNhdGVnb3J5ID09IENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLk1lc3NhZ2VDYXRlZ29yeS5jYWxsKXtcbiAgICAgIGxldCBjYWxsOkNvbWV0Q2hhdC5DYWxsID1jb252ZXJzYXRpb24uZ2V0TGFzdE1lc3NhZ2UoKTtcblxuICAgICAgYWN0aW9uTWVzc2FnZSA9IENhbGxpbmdEZXRhaWxzVXRpbHMuZ2V0Q2FsbFN0YXR1cyhjYWxsLGxvZ2dlZEluVXNlcilcbiAgICB9XG4gICAgZWxzZSBpZiAoY29udmVyc2F0aW9uPy5nZXRMYXN0TWVzc2FnZSgpICYmIGNvbnZlcnNhdGlvbi5nZXRMYXN0TWVzc2FnZSgpLnR5cGUgPT0gIENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLmNhbGxzLm1lZXRpbmcpe1xuICAgICAgbGV0IG1lc3NhZ2U6Q29tZXRDaGF0LkN1c3RvbU1lc3NhZ2UgPSBjb252ZXJzYXRpb24uZ2V0TGFzdE1lc3NhZ2UoKVxuICAgICAgaWYoIW1lc3NhZ2UuZ2V0U2VuZGVyKCkgfHwgbWVzc2FnZT8uZ2V0U2VuZGVyKCk/LmdldFVpZCgpID09IGxvZ2dlZEluVXNlci5nZXRVaWQoKSl7XG4gICAgICAgIGFjdGlvbk1lc3NhZ2UgPSBsb2NhbGl6ZShcIllPVV9JTklUSUFURURfR1JPVVBfQ0FMTFwiKVxuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIGFjdGlvbk1lc3NhZ2UgPSBgJHttZXNzYWdlLmdldFNlbmRlcigpLmdldE5hbWUoKX0gICR7bG9jYWxpemUoXCJJTklUSUFURURfR1JPVVBfQ0FMTFwiKX1gXG4gICAgICB9XG5cbiAgICB9XG4gICAgZWxzZXtcbiAgICAgIGFjdGlvbk1lc3NhZ2UgPSBzdXBlci5nZXRMYXN0Q29udmVyc2F0aW9uTWVzc2FnZShjb252ZXJzYXRpb24sbG9nZ2VkSW5Vc2VyKTtcbiAgICB9XG4gICAgcmV0dXJuIGFjdGlvbk1lc3NhZ2VcblxuICAgfVxufSJdfQ==
|