@vendasta/conversation 0.108.0 → 0.110.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/_internal/conversation.api.service.mjs +12 -2
- package/esm2022/lib/_internal/enums/api.enum.mjs +9 -1
- package/esm2022/lib/_internal/enums/conversation-export.enum.mjs +14 -0
- package/esm2022/lib/_internal/enums/conversation.enum.mjs +2 -1
- package/esm2022/lib/_internal/enums/index.mjs +3 -2
- package/esm2022/lib/_internal/interfaces/api.interface.mjs +1 -1
- package/esm2022/lib/_internal/interfaces/conversation-export.interface.mjs +2 -0
- package/esm2022/lib/_internal/interfaces/index.mjs +1 -1
- package/esm2022/lib/_internal/objects/api.mjs +208 -27
- package/esm2022/lib/_internal/objects/conversation-export.mjs +108 -0
- package/esm2022/lib/_internal/objects/index.mjs +3 -2
- package/fesm2022/vendasta-conversation.mjs +381 -62
- package/fesm2022/vendasta-conversation.mjs.map +1 -1
- package/lib/_internal/conversation.api.service.d.ts +4 -2
- package/lib/_internal/enums/api.enum.d.ts +7 -0
- package/lib/_internal/enums/conversation-export.enum.d.ts +6 -0
- package/lib/_internal/enums/conversation.enum.d.ts +2 -1
- package/lib/_internal/enums/index.d.ts +2 -1
- package/lib/_internal/interfaces/api.interface.d.ts +32 -7
- package/lib/_internal/interfaces/conversation-export.interface.d.ts +17 -0
- package/lib/_internal/interfaces/index.d.ts +2 -1
- package/lib/_internal/objects/api.d.ts +57 -14
- package/lib/_internal/objects/conversation-export.d.ts +25 -0
- package/lib/_internal/objects/index.d.ts +2 -1
- package/package.json +1 -1
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// API Service.
|
|
6
6
|
// *********************************
|
|
7
7
|
import { Injectable } from '@angular/core';
|
|
8
|
-
import { AddConversationToConversationViewRequest, AddMultiParticipantsRequest, AddMultiParticipantsResponse, CreateConversationRequest, CreateConversationResponse, CreateMessageTemplateRequest, CreateMessageTemplateResponse, CreateMultiMessagesRequest, CreateWidgetConversationRequest, CreateWidgetConversationResponse, CreateWidgetRequest, CreateWidgetResponse, DeleteConversationRequest, DeleteMessageRequest, DeleteMessageTemplateRequest, DeleteWidgetRequest, EvaluateResponseRequest, GetAvailableChannelsForConversationRequest, GetAvailableChannelsForConversationResponse, GetConversationByKeyRequest, GetConversationByKeyResponse, GetConversationSummaryRequest, GetConversationSummaryResponse, GetConversationViewsRequest, GetConversationViewsResponse, GetMessageRequest, GetMessageTemplateRequest, GetMessageTemplateResponse, GetMultiConversationDetailsRequest, GetMultiConversationDetailsResponse, GetMultiConversationDetailsV2Request, GetMultiConversationDetailsV2Response, GetMultiConversationMessageCountRequest, GetMultiConversationMessageCountResponse, GetMultiEventsRequest, GetMultiEventsResponse, GetMultiMessagesRequest, GetMultiMessagesResponse, GetMultiParticipantsRequest, GetMultiParticipantsResponse, GetMultiWidgetMessagesRequest, GetMultiWidgetMessagesResponse, GetMultiWidgetRequest, GetMultiWidgetResponse, GetParticipantsByKeyRequest, GetParticipantsByKeyResponse, GetWidgetConfigRequest, GetWidgetConfigResponse, GetWidgetConversationResponse, GetWidgetRequest, GetWidgetResponse, InjectMessageRequest, ListMessageTemplateRequest, ListMessageTemplateResponse, ListMessagesRequest, ListMessagesResponse, ListResponseEvaluationsRequest, ListResponseEvaluationsResponse, ListWidgetsRequest, ListWidgetsResponse, LookupConversationsRequest, LookupConversationsResponse, MakeToolCallRequest, MakeToolCallResponse, Message, NewInboxLeadCapturedRequest, NewInboxLeadCapturedResponse, ReceiveMessageRequest, RemoveConversationFromConversationViewRequest, SearchConversationsRequest, SearchConversationsResponse, SendMessageRequest, SendMessageResponse, SendWidgetMessageRequest, SendWidgetMessageResponse, SetLastSeenRequest, SetLastSeenResponse, UpdateConversationRequest, UpdateConversationResponse, UpdateMessageStatusRequest, UpdateMessageTemplateRequest, UpdateMessageTemplateResponse, UpdateWidgetRequest, UpdateWidgetResponse, } from './objects/';
|
|
8
|
+
import { AddConversationToConversationViewRequest, AddMultiParticipantsRequest, AddMultiParticipantsResponse, CreateConversationRequest, CreateConversationResponse, CreateMessageTemplateRequest, CreateMessageTemplateResponse, CreateMultiMessagesRequest, CreateWidgetConversationRequest, CreateWidgetConversationResponse, CreateWidgetRequest, CreateWidgetResponse, DeleteConversationRequest, DeleteMessageRequest, DeleteMessageTemplateRequest, DeleteWidgetRequest, EvaluateResponseRequest, ExportConversationsRequest, ExportConversationsResponse, GetAvailableChannelsForConversationRequest, GetAvailableChannelsForConversationResponse, GetConversationByKeyRequest, GetConversationByKeyResponse, GetConversationSummaryRequest, GetConversationSummaryResponse, GetConversationViewsRequest, GetConversationViewsResponse, GetMessageRequest, GetMessageTemplateRequest, GetMessageTemplateResponse, GetMultiConversationDetailsRequest, GetMultiConversationDetailsResponse, GetMultiConversationDetailsV2Request, GetMultiConversationDetailsV2Response, GetMultiConversationMessageCountRequest, GetMultiConversationMessageCountResponse, GetMultiEventsRequest, GetMultiEventsResponse, GetMultiMessagesRequest, GetMultiMessagesResponse, GetMultiParticipantsRequest, GetMultiParticipantsResponse, GetMultiWidgetMessagesRequest, GetMultiWidgetMessagesResponse, GetMultiWidgetRequest, GetMultiWidgetResponse, GetParticipantsByKeyRequest, GetParticipantsByKeyResponse, GetWidgetConfigRequest, GetWidgetConfigResponse, GetWidgetConversationResponse, GetWidgetRequest, GetWidgetResponse, InjectMessageRequest, ListConversationExportsRequest, ListConversationExportsResponse, ListMessageTemplateRequest, ListMessageTemplateResponse, ListMessagesRequest, ListMessagesResponse, ListResponseEvaluationsRequest, ListResponseEvaluationsResponse, ListWidgetsRequest, ListWidgetsResponse, LookupConversationsRequest, LookupConversationsResponse, MakeToolCallRequest, MakeToolCallResponse, Message, NewInboxLeadCapturedRequest, NewInboxLeadCapturedResponse, ReceiveMessageRequest, RemoveConversationFromConversationViewRequest, SearchConversationsRequest, SearchConversationsResponse, SendMessageRequest, SendMessageResponse, SendWidgetMessageRequest, SendWidgetMessageResponse, SetLastSeenRequest, SetLastSeenResponse, UpdateConversationRequest, UpdateConversationResponse, UpdateMessageStatusRequest, UpdateMessageTemplateRequest, UpdateMessageTemplateResponse, UpdateWidgetRequest, UpdateWidgetResponse, } from './objects/';
|
|
9
9
|
import { HttpHeaders, HttpClient } from '@angular/common/http';
|
|
10
10
|
import { inject } from '@angular/core';
|
|
11
11
|
import { HostService } from '../_generated/host.service';
|
|
@@ -251,6 +251,16 @@ export class ConversationApiService {
|
|
|
251
251
|
return this.http.post(this._host + "/conversation.v1.ConversationService/MakeToolCall", request.toApiJson(), this.apiOptions())
|
|
252
252
|
.pipe(map(resp => MakeToolCallResponse.fromProto(resp)));
|
|
253
253
|
}
|
|
254
|
+
exportConversations(r) {
|
|
255
|
+
const request = (r.toApiJson) ? r : new ExportConversationsRequest(r);
|
|
256
|
+
return this.http.post(this._host + "/conversation.v1.ConversationService/ExportConversations", request.toApiJson(), this.apiOptions())
|
|
257
|
+
.pipe(map(resp => ExportConversationsResponse.fromProto(resp)));
|
|
258
|
+
}
|
|
259
|
+
listConversationExports(r) {
|
|
260
|
+
const request = (r.toApiJson) ? r : new ListConversationExportsRequest(r);
|
|
261
|
+
return this.http.post(this._host + "/conversation.v1.ConversationService/ListConversationExports", request.toApiJson(), this.apiOptions())
|
|
262
|
+
.pipe(map(resp => ListConversationExportsResponse.fromProto(resp)));
|
|
263
|
+
}
|
|
254
264
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConversationApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
255
265
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConversationApiService, providedIn: 'root' });
|
|
256
266
|
}
|
|
@@ -258,4 +268,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
258
268
|
type: Injectable,
|
|
259
269
|
args: [{ providedIn: 'root' }]
|
|
260
270
|
}] });
|
|
261
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLmFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29udmVyc2F0aW9uX3Nkay9zcmMvbGliL19pbnRlcm5hbC9jb252ZXJzYXRpb24uYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGVBQWU7QUFDZixvQ0FBb0M7QUFDcEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0Msd0NBQXdDLEVBQ3hDLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQiw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQiwrQkFBK0IsRUFDL0IsZ0NBQWdDLEVBQ2hDLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIseUJBQXlCLEVBQ3pCLG9CQUFvQixFQUNwQiw0QkFBNEIsRUFDNUIsbUJBQW1CLEVBQ25CLHVCQUF1QixFQUN2QiwwQ0FBMEMsRUFDMUMsMkNBQTJDLEVBQzNDLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLDhCQUE4QixFQUM5QiwyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLGlCQUFpQixFQUNqQix5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzFCLGtDQUFrQyxFQUNsQyxtQ0FBbUMsRUFDbkMsb0NBQW9DLEVBQ3BDLHFDQUFxQyxFQUNyQyx1Q0FBdUMsRUFDdkMsd0NBQXdDLEVBQ3hDLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QiwyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLDZCQUE2QixFQUM3Qiw4QkFBOEIsRUFDOUIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QiwyQkFBMkIsRUFDM0IsNEJBQTRC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RCxhQUFhLENBQUMsQ0FBdUQ7UUFDakUsTUFBTSxPQUFPLEdBQUcsQ0FBd0IsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBd0IsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU8sSUFBSSxDQUFDLEtBQUssR0FBRyxvREFBb0QsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztJQUNySyxDQUFDO0lBQ0QsWUFBWSxDQUFDLENBQXFEO1FBQzlELE1BQU0sT0FBTyxHQUFHLENBQXVCLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQXVCLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFnQyxJQUFJLENBQUMsS0FBSyxHQUFHLG1EQUFtRCxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDekosSUFBSSxDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNwRCxDQUFDO0lBQ1YsQ0FBQzt3R0EzVFEsc0JBQXNCOzRHQUF0QixzQkFBc0IsY0FEVixNQUFNOzs0RkFDbEIsc0JBQXNCO2tCQURsQyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gQVBJIFNlcnZpY2UuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgICAgICBBZGRDb252ZXJzYXRpb25Ub0NvbnZlcnNhdGlvblZpZXdSZXF1ZXN0LFxuICAgICAgICBBZGRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3QsXG4gICAgICAgIEFkZE11bHRpUGFydGljaXBhbnRzUmVzcG9uc2UsXG4gICAgICAgIENyZWF0ZUNvbnZlcnNhdGlvblJlcXVlc3QsXG4gICAgICAgIENyZWF0ZUNvbnZlcnNhdGlvblJlc3BvbnNlLFxuICAgICAgICBDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0LFxuICAgICAgICBDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZSxcbiAgICAgICAgQ3JlYXRlTXVsdGlNZXNzYWdlc1JlcXVlc3QsXG4gICAgICAgIENyZWF0ZVdpZGdldENvbnZlcnNhdGlvblJlcXVlc3QsXG4gICAgICAgIENyZWF0ZVdpZGdldENvbnZlcnNhdGlvblJlc3BvbnNlLFxuICAgICAgICBDcmVhdGVXaWRnZXRSZXF1ZXN0LFxuICAgICAgICBDcmVhdGVXaWRnZXRSZXNwb25zZSxcbiAgICAgICAgRGVsZXRlQ29udmVyc2F0aW9uUmVxdWVzdCxcbiAgICAgICAgRGVsZXRlTWVzc2FnZVJlcXVlc3QsXG4gICAgICAgIERlbGV0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3QsXG4gICAgICAgIERlbGV0ZVdpZGdldFJlcXVlc3QsXG4gICAgICAgIEV2YWx1YXRlUmVzcG9uc2VSZXF1ZXN0LFxuICAgICAgICBHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlcXVlc3QsXG4gICAgICAgIEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVzcG9uc2UsXG4gICAgICAgIEdldENvbnZlcnNhdGlvbkJ5S2V5UmVxdWVzdCxcbiAgICAgICAgR2V0Q29udmVyc2F0aW9uQnlLZXlSZXNwb25zZSxcbiAgICAgICAgR2V0Q29udmVyc2F0aW9uU3VtbWFyeVJlcXVlc3QsXG4gICAgICAgIEdldENvbnZlcnNhdGlvblN1bW1hcnlSZXNwb25zZSxcbiAgICAgICAgR2V0Q29udmVyc2F0aW9uVmlld3NSZXF1ZXN0LFxuICAgICAgICBHZXRDb252ZXJzYXRpb25WaWV3c1Jlc3BvbnNlLFxuICAgICAgICBHZXRNZXNzYWdlUmVxdWVzdCxcbiAgICAgICAgR2V0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdCxcbiAgICAgICAgR2V0TWVzc2FnZVRlbXBsYXRlUmVzcG9uc2UsXG4gICAgICAgIEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1JlcXVlc3QsXG4gICAgICAgIEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1Jlc3BvbnNlLFxuICAgICAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNWMlJlcXVlc3QsXG4gICAgICAgIEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1YyUmVzcG9uc2UsXG4gICAgICAgIEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVxdWVzdCxcbiAgICAgICAgR2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXNwb25zZSxcbiAgICAgICAgR2V0TXVsdGlFdmVudHNSZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aUV2ZW50c1Jlc3BvbnNlLFxuICAgICAgICBHZXRNdWx0aU1lc3NhZ2VzUmVxdWVzdCxcbiAgICAgICAgR2V0TXVsdGlNZXNzYWdlc1Jlc3BvbnNlLFxuICAgICAgICBHZXRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3QsXG4gICAgICAgIEdldE11bHRpUGFydGljaXBhbnRzUmVzcG9uc2UsXG4gICAgICAgIEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVzcG9uc2UsXG4gICAgICAgIEdldE11bHRpV2lkZ2V0UmVxdWVzdCxcbiAgICAgICAgR2V0TXVsdGlXaWRnZXRSZXNwb25zZSxcbiAgICAgICAgR2V0UGFydGljaXBhbnRzQnlLZXlSZXF1ZXN0LFxuICAgICAgICBHZXRQYXJ0aWNpcGFudHNCeUtleVJlc3BvbnNlLFxuICAgICAgICBHZXRXaWRnZXRDb25maWdSZXF1ZXN0LFxuICAgICAgICBHZXRXaWRnZXRDb25maWdSZXNwb25zZSxcbiAgICAgICAgR2V0V2lkZ2V0Q29udmVyc2F0aW9uUmVzcG9uc2UsXG4gICAgICAgIEdldFdpZGdldFJlcXVlc3QsXG4gICAgICAgIEdldFdpZGdldFJlc3BvbnNlLFxuICAgICAgICBJbmplY3RNZXNzYWdlUmVxdWVzdCxcbiAgICAgICAgTGlzdE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3QsXG4gICAgICAgIExpc3RNZXNzYWdlVGVtcGxhdGVSZXNwb25zZSxcbiAgICAgICAgTGlzdE1lc3NhZ2VzUmVxdWVzdCxcbiAgICAgICAgTGlzdE1lc3NhZ2VzUmVzcG9uc2UsXG4gICAgICAgIExpc3RSZXNwb25zZUV2YWx1YXRpb25zUmVxdWVzdCxcbiAgICAgICAgTGlzdFJlc3BvbnNlRXZhbHVhdGlvbnNSZXNwb25zZSxcbiAgICAgICAgTGlzdFdpZGdldHNSZXF1ZXN0LFxuICAgICAgICBMaXN0V2lkZ2V0c1Jlc3BvbnNlLFxuICAgICAgICBMb29rdXBDb252ZXJzYXRpb25zUmVxdWVzdCxcbiAgICAgICAgTG9va3VwQ29udmVyc2F0aW9uc1Jlc3BvbnNlLFxuICAgICAgICBNYWtlVG9vbENhbGxSZXF1ZXN0LFxuICAgICAgICBNYWtlVG9vbENhbGxSZXNwb25zZSxcbiAgICAgICAgTWVzc2FnZSxcbiAgICAgICAgTmV3SW5ib3hMZWFkQ2FwdHVyZWRSZXF1ZXN0LFxuICAgICAgICBOZXdJbmJveExlYWRDYXB0dXJlZFJlc3BvbnNlLFxuICAgICAgICBSZWNlaXZlTWVzc2FnZVJlcXVlc3QsXG4gICAgICAgIFJlbW92ZUNvbnZlcnNhdGlvbkZyb21Db252ZXJzYXRpb25WaWV3UmVxdWVzdCxcbiAgICAgICAgU2VhcmNoQ29udmVyc2F0aW9uc1JlcXVlc3QsXG4gICAgICAgIFNlYXJjaENvbnZlcnNhdGlvbnNSZXNwb25zZSxcbiAgICAgICAgU2VuZE1lc3NhZ2VSZXF1ZXN0LFxuICAgICAgICBTZW5kTWVzc2FnZVJlc3BvbnNlLFxuICAgICAgICBTZW5kV2lkZ2V0TWVzc2FnZVJlcXVlc3QsXG4gICAgICAgIFNlbmRXaWRnZXRNZXNzYWdlUmVzcG9uc2UsXG4gICAgICAgIFNldExhc3RTZWVuUmVxdWVzdCxcbiAgICAgICAgU2V0TGFzdFNlZW5SZXNwb25zZSxcbiAgICAgICAgVXBkYXRlQ29udmVyc2F0aW9uUmVxdWVzdCxcbiAgICAgICAgVXBkYXRlQ29udmVyc2F0aW9uUmVzcG9uc2UsXG4gICAgICAgIFVwZGF0ZU1lc3NhZ2VTdGF0dXNSZXF1ZXN0LFxuICAgICAgICBVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0LFxuICAgICAgICBVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZSxcbiAgICAgICAgVXBkYXRlV2lkZ2V0UmVxdWVzdCxcbiAgICAgICAgVXBkYXRlV2lkZ2V0UmVzcG9uc2UsXG59IGZyb20gJy4vb2JqZWN0cy8nO1xuaW1wb3J0IHtcbiAgICAgICAgQWRkQ29udmVyc2F0aW9uVG9Db252ZXJzYXRpb25WaWV3UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQWRkTXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBBZGRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVDb252ZXJzYXRpb25SZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZU11bHRpTWVzc2FnZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlV2lkZ2V0UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlV2lkZ2V0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIERlbGV0ZUNvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIERlbGV0ZU1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBEZWxldGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBEZWxldGVXaWRnZXRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBFdmFsdWF0ZVJlc3BvbnNlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRDb252ZXJzYXRpb25CeUtleVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldENvbnZlcnNhdGlvbkJ5S2V5UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldENvbnZlcnNhdGlvblN1bW1hcnlSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRDb252ZXJzYXRpb25TdW1tYXJ5UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldENvbnZlcnNhdGlvblZpZXdzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0Q29udmVyc2F0aW9uVmlld3NSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0TWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzVjJSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNWMlJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpRXZlbnRzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlFdmVudHNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlNZXNzYWdlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpTWVzc2FnZXNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlXaWRnZXRNZXNzYWdlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aVdpZGdldFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpV2lkZ2V0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldFBhcnRpY2lwYW50c0J5S2V5UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0UGFydGljaXBhbnRzQnlLZXlSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0V2lkZ2V0Q29uZmlnUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0V2lkZ2V0Q29uZmlnUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldFdpZGdldENvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRXaWRnZXRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRXaWRnZXRSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgSW5qZWN0TWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0TWVzc2FnZVRlbXBsYXRlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RNZXNzYWdlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RNZXNzYWdlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0UmVzcG9uc2VFdmFsdWF0aW9uc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RSZXNwb25zZUV2YWx1YXRpb25zUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RXaWRnZXRzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdFdpZGdldHNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTG9va3VwQ29udmVyc2F0aW9uc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExvb2t1cENvbnZlcnNhdGlvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTWFrZVRvb2xDYWxsUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTWFrZVRvb2xDYWxsUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIE1lc3NhZ2VJbnRlcmZhY2UsXG4gICAgICAgIE5ld0luYm94TGVhZENhcHR1cmVkUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTmV3SW5ib3hMZWFkQ2FwdHVyZWRSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgUmVjZWl2ZU1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBSZW1vdmVDb252ZXJzYXRpb25Gcm9tQ29udmVyc2F0aW9uVmlld1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFNlYXJjaENvbnZlcnNhdGlvbnNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBTZWFyY2hDb252ZXJzYXRpb25zUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIFNlbmRNZXNzYWdlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgU2VuZE1lc3NhZ2VSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgU2VuZFdpZGdldE1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBTZW5kV2lkZ2V0TWVzc2FnZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBTZXRMYXN0U2VlblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFNldExhc3RTZWVuUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZUNvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZUNvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVNZXNzYWdlU3RhdHVzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlTWVzc2FnZVRlbXBsYXRlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZVdpZGdldFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZVdpZGdldFJlc3BvbnNlSW50ZXJmYWNlLFxufSBmcm9tICcuL2ludGVyZmFjZXMvJztcbmltcG9ydCB7SHR0cEhlYWRlcnMsIEh0dHBDbGllbnQsIEh0dHBSZXNwb25zZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIb3N0U2VydmljZX0gZnJvbSAnLi4vX2dlbmVyYXRlZC9ob3N0LnNlcnZpY2UnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIENvbnZlcnNhdGlvbkFwaVNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdFNlcnZpY2UgPSBpbmplY3QoSG9zdFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgICBwcml2YXRlIF9ob3N0ID0gdGhpcy5ob3N0U2VydmljZS5ob3N0V2l0aFNjaGVtZTtcblxuICAgIHByaXZhdGUgYXBpT3B0aW9ucygpOiB7aGVhZGVyczogSHR0cEhlYWRlcnMsIHdpdGhDcmVkZW50aWFsczogYm9vbGVhbn0ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHNlbmRNZXNzYWdlKHI6IFNlbmRNZXNzYWdlUmVxdWVzdCB8IFNlbmRNZXNzYWdlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8U2VuZE1lc3NhZ2VSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8U2VuZE1lc3NhZ2VSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFNlbmRNZXNzYWdlUmVxdWVzdD5yKSA6IG5ldyBTZW5kTWVzc2FnZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxTZW5kTWVzc2FnZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvU2VuZE1lc3NhZ2VcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBTZW5kTWVzc2FnZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldE1lc3NhZ2UocjogR2V0TWVzc2FnZVJlcXVlc3QgfCBHZXRNZXNzYWdlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TWVzc2FnZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TWVzc2FnZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TWVzc2FnZVJlcXVlc3Q+cikgOiBuZXcgR2V0TWVzc2FnZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxNZXNzYWdlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0TWVzc2FnZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IE1lc3NhZ2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgbGlzdE1lc3NhZ2VzKHI6IExpc3RNZXNzYWdlc1JlcXVlc3QgfCBMaXN0TWVzc2FnZXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0TWVzc2FnZXNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdE1lc3NhZ2VzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0TWVzc2FnZXNSZXF1ZXN0PnIpIDogbmV3IExpc3RNZXNzYWdlc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0TWVzc2FnZXNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0xpc3RNZXNzYWdlc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RNZXNzYWdlc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGRlbGV0ZU1lc3NhZ2UocjogRGVsZXRlTWVzc2FnZVJlcXVlc3QgfCBEZWxldGVNZXNzYWdlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxEZWxldGVNZXNzYWdlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEZWxldGVNZXNzYWdlUmVxdWVzdD5yKSA6IG5ldyBEZWxldGVNZXNzYWdlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9EZWxldGVNZXNzYWdlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICB1cGRhdGVNZXNzYWdlU3RhdHVzKHI6IFVwZGF0ZU1lc3NhZ2VTdGF0dXNSZXF1ZXN0IHwgVXBkYXRlTWVzc2FnZVN0YXR1c1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlTWVzc2FnZVN0YXR1c1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBkYXRlTWVzc2FnZVN0YXR1c1JlcXVlc3Q+cikgOiBuZXcgVXBkYXRlTWVzc2FnZVN0YXR1c1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvVXBkYXRlTWVzc2FnZVN0YXR1c1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgbG9va3VwQ29udmVyc2F0aW9ucyhyOiBMb29rdXBDb252ZXJzYXRpb25zUmVxdWVzdCB8IExvb2t1cENvbnZlcnNhdGlvbnNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMb29rdXBDb252ZXJzYXRpb25zUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExvb2t1cENvbnZlcnNhdGlvbnNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExvb2t1cENvbnZlcnNhdGlvbnNSZXF1ZXN0PnIpIDogbmV3IExvb2t1cENvbnZlcnNhdGlvbnNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TG9va3VwQ29udmVyc2F0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvTG9va3VwQ29udmVyc2F0aW9uc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExvb2t1cENvbnZlcnNhdGlvbnNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRDb252ZXJzYXRpb25CeUtleShyOiBHZXRDb252ZXJzYXRpb25CeUtleVJlcXVlc3QgfCBHZXRDb252ZXJzYXRpb25CeUtleVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldENvbnZlcnNhdGlvbkJ5S2V5UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldENvbnZlcnNhdGlvbkJ5S2V5UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRDb252ZXJzYXRpb25CeUtleVJlcXVlc3Q+cikgOiBuZXcgR2V0Q29udmVyc2F0aW9uQnlLZXlSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0Q29udmVyc2F0aW9uQnlLZXlSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldENvbnZlcnNhdGlvbkJ5S2V5XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0Q29udmVyc2F0aW9uQnlLZXlSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBjcmVhdGVDb252ZXJzYXRpb24ocjogQ3JlYXRlQ29udmVyc2F0aW9uUmVxdWVzdCB8IENyZWF0ZUNvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZUNvbnZlcnNhdGlvblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVDb252ZXJzYXRpb25SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZUNvbnZlcnNhdGlvblJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlQ29udmVyc2F0aW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZUNvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvQ3JlYXRlQ29udmVyc2F0aW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQ3JlYXRlQ29udmVyc2F0aW9uUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgdXBkYXRlQ29udmVyc2F0aW9uKHI6IFVwZGF0ZUNvbnZlcnNhdGlvblJlcXVlc3QgfCBVcGRhdGVDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxVcGRhdGVDb252ZXJzYXRpb25SZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlQ29udmVyc2F0aW9uUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcGRhdGVDb252ZXJzYXRpb25SZXF1ZXN0PnIpIDogbmV3IFVwZGF0ZUNvbnZlcnNhdGlvblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxVcGRhdGVDb252ZXJzYXRpb25SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL1VwZGF0ZUNvbnZlcnNhdGlvblwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IFVwZGF0ZUNvbnZlcnNhdGlvblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGRlbGV0ZUNvbnZlcnNhdGlvbihyOiBEZWxldGVDb252ZXJzYXRpb25SZXF1ZXN0IHwgRGVsZXRlQ29udmVyc2F0aW9uUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxEZWxldGVDb252ZXJzYXRpb25SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPERlbGV0ZUNvbnZlcnNhdGlvblJlcXVlc3Q+cikgOiBuZXcgRGVsZXRlQ29udmVyc2F0aW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9EZWxldGVDb252ZXJzYXRpb25cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIHJlY2VpdmVNZXNzYWdlKHI6IFJlY2VpdmVNZXNzYWdlUmVxdWVzdCB8IFJlY2VpdmVNZXNzYWdlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxSZWNlaXZlTWVzc2FnZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8UmVjZWl2ZU1lc3NhZ2VSZXF1ZXN0PnIpIDogbmV3IFJlY2VpdmVNZXNzYWdlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9SZWNlaXZlTWVzc2FnZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgZ2V0TXVsdGlNZXNzYWdlcyhyOiBHZXRNdWx0aU1lc3NhZ2VzUmVxdWVzdCB8IEdldE11bHRpTWVzc2FnZXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRNdWx0aU1lc3NhZ2VzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldE11bHRpTWVzc2FnZXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE11bHRpTWVzc2FnZXNSZXF1ZXN0PnIpIDogbmV3IEdldE11bHRpTWVzc2FnZXNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0TXVsdGlNZXNzYWdlc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0TXVsdGlNZXNzYWdlc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE11bHRpTWVzc2FnZXNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBjcmVhdGVNdWx0aU1lc3NhZ2VzKHI6IENyZWF0ZU11bHRpTWVzc2FnZXNSZXF1ZXN0IHwgQ3JlYXRlTXVsdGlNZXNzYWdlc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlTXVsdGlNZXNzYWdlc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlTXVsdGlNZXNzYWdlc1JlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlTXVsdGlNZXNzYWdlc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvQ3JlYXRlTXVsdGlNZXNzYWdlc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgZ2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzKHI6IEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1JlcXVlc3QgfCBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXF1ZXN0PnIpIDogbmV3IEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1YyKHI6IEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1YyUmVxdWVzdCB8IEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1YyUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzVjJSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzVjJSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1YyUmVxdWVzdD5yKSA6IG5ldyBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNWMlJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNWMlJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzVjJcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNWMlJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldE11bHRpUGFydGljaXBhbnRzKHI6IEdldE11bHRpUGFydGljaXBhbnRzUmVxdWVzdCB8IEdldE11bHRpUGFydGljaXBhbnRzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TXVsdGlQYXJ0aWNpcGFudHNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE11bHRpUGFydGljaXBhbnRzUmVxdWVzdD5yKSA6IG5ldyBHZXRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0TXVsdGlQYXJ0aWNpcGFudHNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHNlYXJjaENvbnZlcnNhdGlvbnMocjogU2VhcmNoQ29udmVyc2F0aW9uc1JlcXVlc3QgfCBTZWFyY2hDb252ZXJzYXRpb25zUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8U2VhcmNoQ29udmVyc2F0aW9uc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxTZWFyY2hDb252ZXJzYXRpb25zUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxTZWFyY2hDb252ZXJzYXRpb25zUmVxdWVzdD5yKSA6IG5ldyBTZWFyY2hDb252ZXJzYXRpb25zUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFNlYXJjaENvbnZlcnNhdGlvbnNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL1NlYXJjaENvbnZlcnNhdGlvbnNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBTZWFyY2hDb252ZXJzYXRpb25zUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnQocjogR2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXF1ZXN0IHwgR2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXF1ZXN0PnIpIDogbmV3IEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgYWRkTXVsdGlQYXJ0aWNpcGFudHMocjogQWRkTXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0IHwgQWRkTXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxBZGRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxBZGRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8QWRkTXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0PnIpIDogbmV3IEFkZE11bHRpUGFydGljaXBhbnRzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFkZE11bHRpUGFydGljaXBhbnRzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9BZGRNdWx0aVBhcnRpY2lwYW50c1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEFkZE11bHRpUGFydGljaXBhbnRzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgc2V0TGFzdFNlZW4ocjogU2V0TGFzdFNlZW5SZXF1ZXN0IHwgU2V0TGFzdFNlZW5SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxTZXRMYXN0U2VlblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxTZXRMYXN0U2VlblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8U2V0TGFzdFNlZW5SZXF1ZXN0PnIpIDogbmV3IFNldExhc3RTZWVuUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFNldExhc3RTZWVuUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9TZXRMYXN0U2VlblwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IFNldExhc3RTZWVuUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0UGFydGljaXBhbnRzQnlLZXkocjogR2V0UGFydGljaXBhbnRzQnlLZXlSZXF1ZXN0IHwgR2V0UGFydGljaXBhbnRzQnlLZXlSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRQYXJ0aWNpcGFudHNCeUtleVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRQYXJ0aWNpcGFudHNCeUtleVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0UGFydGljaXBhbnRzQnlLZXlSZXF1ZXN0PnIpIDogbmV3IEdldFBhcnRpY2lwYW50c0J5S2V5UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldFBhcnRpY2lwYW50c0J5S2V5UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRQYXJ0aWNpcGFudHNCeUtleVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldFBhcnRpY2lwYW50c0J5S2V5UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0Q29udmVyc2F0aW9uVmlld3MocjogR2V0Q29udmVyc2F0aW9uVmlld3NSZXF1ZXN0IHwgR2V0Q29udmVyc2F0aW9uVmlld3NSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRDb252ZXJzYXRpb25WaWV3c1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRDb252ZXJzYXRpb25WaWV3c1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0Q29udmVyc2F0aW9uVmlld3NSZXF1ZXN0PnIpIDogbmV3IEdldENvbnZlcnNhdGlvblZpZXdzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldENvbnZlcnNhdGlvblZpZXdzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRDb252ZXJzYXRpb25WaWV3c1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldENvbnZlcnNhdGlvblZpZXdzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgYWRkQ29udmVyc2F0aW9uVG9Db252ZXJzYXRpb25WaWV3KHI6IEFkZENvbnZlcnNhdGlvblRvQ29udmVyc2F0aW9uVmlld1JlcXVlc3QgfCBBZGRDb252ZXJzYXRpb25Ub0NvbnZlcnNhdGlvblZpZXdSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEFkZENvbnZlcnNhdGlvblRvQ29udmVyc2F0aW9uVmlld1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8QWRkQ29udmVyc2F0aW9uVG9Db252ZXJzYXRpb25WaWV3UmVxdWVzdD5yKSA6IG5ldyBBZGRDb252ZXJzYXRpb25Ub0NvbnZlcnNhdGlvblZpZXdSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0FkZENvbnZlcnNhdGlvblRvQ29udmVyc2F0aW9uVmlld1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgcmVtb3ZlQ29udmVyc2F0aW9uRnJvbUNvbnZlcnNhdGlvblZpZXcocjogUmVtb3ZlQ29udmVyc2F0aW9uRnJvbUNvbnZlcnNhdGlvblZpZXdSZXF1ZXN0IHwgUmVtb3ZlQ29udmVyc2F0aW9uRnJvbUNvbnZlcnNhdGlvblZpZXdSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFJlbW92ZUNvbnZlcnNhdGlvbkZyb21Db252ZXJzYXRpb25WaWV3UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxSZW1vdmVDb252ZXJzYXRpb25Gcm9tQ29udmVyc2F0aW9uVmlld1JlcXVlc3Q+cikgOiBuZXcgUmVtb3ZlQ29udmVyc2F0aW9uRnJvbUNvbnZlcnNhdGlvblZpZXdSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL1JlbW92ZUNvbnZlcnNhdGlvbkZyb21Db252ZXJzYXRpb25WaWV3XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBjcmVhdGVXaWRnZXRDb252ZXJzYXRpb24ocjogQ3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uUmVxdWVzdCB8IENyZWF0ZVdpZGdldENvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZVdpZGdldENvbnZlcnNhdGlvblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZVdpZGdldENvbnZlcnNhdGlvblJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZVdpZGdldENvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvQ3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQ3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0TXVsdGlXaWRnZXRNZXNzYWdlcyhyOiBHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVxdWVzdCB8IEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXF1ZXN0PnIpIDogbmV3IEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0TXVsdGlXaWRnZXRNZXNzYWdlc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0TXVsdGlXaWRnZXRNZXNzYWdlc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBzZW5kV2lkZ2V0TWVzc2FnZShyOiBTZW5kV2lkZ2V0TWVzc2FnZVJlcXVlc3QgfCBTZW5kV2lkZ2V0TWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPFNlbmRXaWRnZXRNZXNzYWdlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFNlbmRXaWRnZXRNZXNzYWdlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxTZW5kV2lkZ2V0TWVzc2FnZVJlcXVlc3Q+cikgOiBuZXcgU2VuZFdpZGdldE1lc3NhZ2VSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8U2VuZFdpZGdldE1lc3NhZ2VSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL1NlbmRXaWRnZXRNZXNzYWdlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gU2VuZFdpZGdldE1lc3NhZ2VSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRXaWRnZXRDb252ZXJzYXRpb24oKTogT2JzZXJ2YWJsZTxHZXRXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0V2lkZ2V0Q29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRXaWRnZXRDb252ZXJzYXRpb25cIiwge30sIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0V2lkZ2V0Q29udmVyc2F0aW9uUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb24ocjogR2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXF1ZXN0IHwgR2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXF1ZXN0PnIpIDogbmV3IEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZXZhbHVhdGVSZXNwb25zZShyOiBFdmFsdWF0ZVJlc3BvbnNlUmVxdWVzdCB8IEV2YWx1YXRlUmVzcG9uc2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEV2YWx1YXRlUmVzcG9uc2VSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEV2YWx1YXRlUmVzcG9uc2VSZXF1ZXN0PnIpIDogbmV3IEV2YWx1YXRlUmVzcG9uc2VSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0V2YWx1YXRlUmVzcG9uc2VcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGxpc3RSZXNwb25zZUV2YWx1YXRpb25zKHI6IExpc3RSZXNwb25zZUV2YWx1YXRpb25zUmVxdWVzdCB8IExpc3RSZXNwb25zZUV2YWx1YXRpb25zUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdFJlc3BvbnNlRXZhbHVhdGlvbnNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdFJlc3BvbnNlRXZhbHVhdGlvbnNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RSZXNwb25zZUV2YWx1YXRpb25zUmVxdWVzdD5yKSA6IG5ldyBMaXN0UmVzcG9uc2VFdmFsdWF0aW9uc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0UmVzcG9uc2VFdmFsdWF0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvTGlzdFJlc3BvbnNlRXZhbHVhdGlvbnNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0UmVzcG9uc2VFdmFsdWF0aW9uc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNyZWF0ZVdpZGdldChyOiBDcmVhdGVXaWRnZXRSZXF1ZXN0IHwgQ3JlYXRlV2lkZ2V0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q3JlYXRlV2lkZ2V0UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZVdpZGdldFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlV2lkZ2V0UmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVXaWRnZXRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlV2lkZ2V0UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9DcmVhdGVXaWRnZXRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDcmVhdGVXaWRnZXRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRXaWRnZXQocjogR2V0V2lkZ2V0UmVxdWVzdCB8IEdldFdpZGdldFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldFdpZGdldFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRXaWRnZXRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldFdpZGdldFJlcXVlc3Q+cikgOiBuZXcgR2V0V2lkZ2V0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldFdpZGdldFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0V2lkZ2V0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0V2lkZ2V0UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0TXVsdGlXaWRnZXQocjogR2V0TXVsdGlXaWRnZXRSZXF1ZXN0IHwgR2V0TXVsdGlXaWRnZXRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRNdWx0aVdpZGdldFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNdWx0aVdpZGdldFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TXVsdGlXaWRnZXRSZXF1ZXN0PnIpIDogbmV3IEdldE11bHRpV2lkZ2V0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE11bHRpV2lkZ2V0UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRNdWx0aVdpZGdldFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE11bHRpV2lkZ2V0UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgdXBkYXRlV2lkZ2V0KHI6IFVwZGF0ZVdpZGdldFJlcXVlc3QgfCBVcGRhdGVXaWRnZXRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxVcGRhdGVXaWRnZXRSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlV2lkZ2V0UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcGRhdGVXaWRnZXRSZXF1ZXN0PnIpIDogbmV3IFVwZGF0ZVdpZGdldFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxVcGRhdGVXaWRnZXRSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL1VwZGF0ZVdpZGdldFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IFVwZGF0ZVdpZGdldFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGRlbGV0ZVdpZGdldChyOiBEZWxldGVXaWRnZXRSZXF1ZXN0IHwgRGVsZXRlV2lkZ2V0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxEZWxldGVXaWRnZXRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPERlbGV0ZVdpZGdldFJlcXVlc3Q+cikgOiBuZXcgRGVsZXRlV2lkZ2V0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9EZWxldGVXaWRnZXRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGxpc3RXaWRnZXRzKHI6IExpc3RXaWRnZXRzUmVxdWVzdCB8IExpc3RXaWRnZXRzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdFdpZGdldHNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdFdpZGdldHNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RXaWRnZXRzUmVxdWVzdD5yKSA6IG5ldyBMaXN0V2lkZ2V0c1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0V2lkZ2V0c1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvTGlzdFdpZGdldHNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0V2lkZ2V0c1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldFdpZGdldENvbmZpZyhyOiBHZXRXaWRnZXRDb25maWdSZXF1ZXN0IHwgR2V0V2lkZ2V0Q29uZmlnUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0V2lkZ2V0Q29uZmlnUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldFdpZGdldENvbmZpZ1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0V2lkZ2V0Q29uZmlnUmVxdWVzdD5yKSA6IG5ldyBHZXRXaWRnZXRDb25maWdSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0V2lkZ2V0Q29uZmlnUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRXaWRnZXRDb25maWdcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRXaWRnZXRDb25maWdSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0TWVzc2FnZVRlbXBsYXRlKHI6IExpc3RNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0IHwgTGlzdE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RNZXNzYWdlVGVtcGxhdGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Q+cikgOiBuZXcgTGlzdE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0TWVzc2FnZVRlbXBsYXRlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9MaXN0TWVzc2FnZVRlbXBsYXRlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdE1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGRlbGV0ZU1lc3NhZ2VUZW1wbGF0ZShyOiBEZWxldGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0IHwgRGVsZXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxEZWxldGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPERlbGV0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Q+cikgOiBuZXcgRGVsZXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9EZWxldGVNZXNzYWdlVGVtcGxhdGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGNyZWF0ZU1lc3NhZ2VUZW1wbGF0ZShyOiBDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0IHwgQ3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9DcmVhdGVNZXNzYWdlVGVtcGxhdGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGVNZXNzYWdlVGVtcGxhdGUocjogVXBkYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdCB8IFVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPFVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Q+cikgOiBuZXcgVXBkYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvVXBkYXRlTWVzc2FnZVRlbXBsYXRlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gVXBkYXRlTWVzc2FnZVRlbXBsYXRlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0TWVzc2FnZVRlbXBsYXRlKHI6IEdldE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3QgfCBHZXRNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRNZXNzYWdlVGVtcGxhdGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0PnIpIDogbmV3IEdldE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldE1lc3NhZ2VUZW1wbGF0ZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldENvbnZlcnNhdGlvblN1bW1hcnkocjogR2V0Q29udmVyc2F0aW9uU3VtbWFyeVJlcXVlc3QgfCBHZXRDb252ZXJzYXRpb25TdW1tYXJ5UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0Q29udmVyc2F0aW9uU3VtbWFyeVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRDb252ZXJzYXRpb25TdW1tYXJ5UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRDb252ZXJzYXRpb25TdW1tYXJ5UmVxdWVzdD5yKSA6IG5ldyBHZXRDb252ZXJzYXRpb25TdW1tYXJ5UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldENvbnZlcnNhdGlvblN1bW1hcnlSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldENvbnZlcnNhdGlvblN1bW1hcnlcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRDb252ZXJzYXRpb25TdW1tYXJ5UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgbmV3SW5ib3hMZWFkQ2FwdHVyZWQocjogTmV3SW5ib3hMZWFkQ2FwdHVyZWRSZXF1ZXN0IHwgTmV3SW5ib3hMZWFkQ2FwdHVyZWRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxOZXdJbmJveExlYWRDYXB0dXJlZFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxOZXdJbmJveExlYWRDYXB0dXJlZFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TmV3SW5ib3hMZWFkQ2FwdHVyZWRSZXF1ZXN0PnIpIDogbmV3IE5ld0luYm94TGVhZENhcHR1cmVkUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE5ld0luYm94TGVhZENhcHR1cmVkUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9OZXdJbmJveExlYWRDYXB0dXJlZFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IE5ld0luYm94TGVhZENhcHR1cmVkUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0TXVsdGlFdmVudHMocjogR2V0TXVsdGlFdmVudHNSZXF1ZXN0IHwgR2V0TXVsdGlFdmVudHNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRNdWx0aUV2ZW50c1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNdWx0aUV2ZW50c1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TXVsdGlFdmVudHNSZXF1ZXN0PnIpIDogbmV3IEdldE11bHRpRXZlbnRzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE11bHRpRXZlbnRzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRNdWx0aUV2ZW50c1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE11bHRpRXZlbnRzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgaW5qZWN0TWVzc2FnZShyOiBJbmplY3RNZXNzYWdlUmVxdWVzdCB8IEluamVjdE1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEluamVjdE1lc3NhZ2VSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEluamVjdE1lc3NhZ2VSZXF1ZXN0PnIpIDogbmV3IEluamVjdE1lc3NhZ2VSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0luamVjdE1lc3NhZ2VcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIG1ha2VUb29sQ2FsbChyOiBNYWtlVG9vbENhbGxSZXF1ZXN0IHwgTWFrZVRvb2xDYWxsUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TWFrZVRvb2xDYWxsUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPE1ha2VUb29sQ2FsbFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TWFrZVRvb2xDYWxsUmVxdWVzdD5yKSA6IG5ldyBNYWtlVG9vbENhbGxSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TWFrZVRvb2xDYWxsUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9NYWtlVG9vbENhbGxcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBNYWtlVG9vbENhbGxSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBcbn1cbiJdfQ==
|
|
271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLmFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29udmVyc2F0aW9uX3Nkay9zcmMvbGliL19pbnRlcm5hbC9jb252ZXJzYXRpb24uYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGVBQWU7QUFDZixvQ0FBb0M7QUFDcEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0Msd0NBQXdDLEVBQ3hDLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQiw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQiwrQkFBK0IsRUFDL0IsZ0NBQWdDLEVBQ2hDLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIseUJBQXlCLEVBQ3pCLG9CQUFvQixFQUNwQiw0QkFBNEIsRUFDNUIsbUJBQW1CLEVBQ25CLHVCQUF1QixFQUN2QiwwQkFBMEIsRUFDMUIsMkJBQTJCLEVBQzNCLDBDQUEwQyxFQUMxQywyQ0FBMkMsRUFDM0MsMkJBQTJCLEVBQzNCLDRCQUE0QixFQUM1Qiw2QkFBNkIsRUFDN0IsOEJBQThCLEVBQzlCLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIsaUJBQWlCLEVBQ2pCLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsa0NBQWtDLEVBQ2xDLG1DQUFtQyxFQUNuQyxvQ0FBb0MsRUFDcEMscUNBQXFDLEVBQ3JDLHVDQUF1QyxFQUN2Qyx3Q0FBd0MsRUFDeEMscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLDhCQUE4QixFQUM5QixxQkFBcUIsRUFDckIsc0JBQXNC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dUMsSUFBSSxDQUFDLEtBQUssR0FBRywwREFBMEQsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3ZLLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDM0QsQ0FBQztJQUNWLENBQUM7SUFDRCx1QkFBdUIsQ0FBQyxDQUEyRTtRQUMvRixNQUFNLE9BQU8sR0FBRyxDQUFrQyxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFrQyxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksOEJBQThCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBMkMsSUFBSSxDQUFDLEtBQUssR0FBRyw4REFBOEQsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQy9LLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDL0QsQ0FBQztJQUNWLENBQUM7d0dBelVRLHNCQUFzQjs0R0FBdEIsc0JBQXNCLGNBRFYsTUFBTTs7NEZBQ2xCLHNCQUFzQjtrQkFEbEMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEFQSSBTZXJ2aWNlLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICAgICAgQWRkQ29udmVyc2F0aW9uVG9Db252ZXJzYXRpb25WaWV3UmVxdWVzdCxcbiAgICAgICAgQWRkTXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0LFxuICAgICAgICBBZGRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlLFxuICAgICAgICBDcmVhdGVDb252ZXJzYXRpb25SZXF1ZXN0LFxuICAgICAgICBDcmVhdGVDb252ZXJzYXRpb25SZXNwb25zZSxcbiAgICAgICAgQ3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVzcG9uc2UsXG4gICAgICAgIENyZWF0ZU11bHRpTWVzc2FnZXNSZXF1ZXN0LFxuICAgICAgICBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXF1ZXN0LFxuICAgICAgICBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZSxcbiAgICAgICAgQ3JlYXRlV2lkZ2V0UmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlV2lkZ2V0UmVzcG9uc2UsXG4gICAgICAgIERlbGV0ZUNvbnZlcnNhdGlvblJlcXVlc3QsXG4gICAgICAgIERlbGV0ZU1lc3NhZ2VSZXF1ZXN0LFxuICAgICAgICBEZWxldGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0LFxuICAgICAgICBEZWxldGVXaWRnZXRSZXF1ZXN0LFxuICAgICAgICBFdmFsdWF0ZVJlc3BvbnNlUmVxdWVzdCxcbiAgICAgICAgRXhwb3J0Q29udmVyc2F0aW9uc1JlcXVlc3QsXG4gICAgICAgIEV4cG9ydENvbnZlcnNhdGlvbnNSZXNwb25zZSxcbiAgICAgICAgR2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXF1ZXN0LFxuICAgICAgICBHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlc3BvbnNlLFxuICAgICAgICBHZXRDb252ZXJzYXRpb25CeUtleVJlcXVlc3QsXG4gICAgICAgIEdldENvbnZlcnNhdGlvbkJ5S2V5UmVzcG9uc2UsXG4gICAgICAgIEdldENvbnZlcnNhdGlvblN1bW1hcnlSZXF1ZXN0LFxuICAgICAgICBHZXRDb252ZXJzYXRpb25TdW1tYXJ5UmVzcG9uc2UsXG4gICAgICAgIEdldENvbnZlcnNhdGlvblZpZXdzUmVxdWVzdCxcbiAgICAgICAgR2V0Q29udmVyc2F0aW9uVmlld3NSZXNwb25zZSxcbiAgICAgICAgR2V0TWVzc2FnZVJlcXVlc3QsXG4gICAgICAgIEdldE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3QsXG4gICAgICAgIEdldE1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlLFxuICAgICAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXNwb25zZSxcbiAgICAgICAgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzVjJSZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNWMlJlc3BvbnNlLFxuICAgICAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlcXVlc3QsXG4gICAgICAgIEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVzcG9uc2UsXG4gICAgICAgIEdldE11bHRpRXZlbnRzUmVxdWVzdCxcbiAgICAgICAgR2V0TXVsdGlFdmVudHNSZXNwb25zZSxcbiAgICAgICAgR2V0TXVsdGlNZXNzYWdlc1JlcXVlc3QsXG4gICAgICAgIEdldE11bHRpTWVzc2FnZXNSZXNwb25zZSxcbiAgICAgICAgR2V0TXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlLFxuICAgICAgICBHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVxdWVzdCxcbiAgICAgICAgR2V0TXVsdGlXaWRnZXRNZXNzYWdlc1Jlc3BvbnNlLFxuICAgICAgICBHZXRNdWx0aVdpZGdldFJlcXVlc3QsXG4gICAgICAgIEdldE11bHRpV2lkZ2V0UmVzcG9uc2UsXG4gICAgICAgIEdldFBhcnRpY2lwYW50c0J5S2V5UmVxdWVzdCxcbiAgICAgICAgR2V0UGFydGljaXBhbnRzQnlLZXlSZXNwb25zZSxcbiAgICAgICAgR2V0V2lkZ2V0Q29uZmlnUmVxdWVzdCxcbiAgICAgICAgR2V0V2lkZ2V0Q29uZmlnUmVzcG9uc2UsXG4gICAgICAgIEdldFdpZGdldENvbnZlcnNhdGlvblJlc3BvbnNlLFxuICAgICAgICBHZXRXaWRnZXRSZXF1ZXN0LFxuICAgICAgICBHZXRXaWRnZXRSZXNwb25zZSxcbiAgICAgICAgSW5qZWN0TWVzc2FnZVJlcXVlc3QsXG4gICAgICAgIExpc3RDb252ZXJzYXRpb25FeHBvcnRzUmVxdWVzdCxcbiAgICAgICAgTGlzdENvbnZlcnNhdGlvbkV4cG9ydHNSZXNwb25zZSxcbiAgICAgICAgTGlzdE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3QsXG4gICAgICAgIExpc3RNZXNzYWdlVGVtcGxhdGVSZXNwb25zZSxcbiAgICAgICAgTGlzdE1lc3NhZ2VzUmVxdWVzdCxcbiAgICAgICAgTGlzdE1lc3NhZ2VzUmVzcG9uc2UsXG4gICAgICAgIExpc3RSZXNwb25zZUV2YWx1YXRpb25zUmVxdWVzdCxcbiAgICAgICAgTGlzdFJlc3BvbnNlRXZhbHVhdGlvbnNSZXNwb25zZSxcbiAgICAgICAgTGlzdFdpZGdldHNSZXF1ZXN0LFxuICAgICAgICBMaXN0V2lkZ2V0c1Jlc3BvbnNlLFxuICAgICAgICBMb29rdXBDb252ZXJzYXRpb25zUmVxdWVzdCxcbiAgICAgICAgTG9va3VwQ29udmVyc2F0aW9uc1Jlc3BvbnNlLFxuICAgICAgICBNYWtlVG9vbENhbGxSZXF1ZXN0LFxuICAgICAgICBNYWtlVG9vbENhbGxSZXNwb25zZSxcbiAgICAgICAgTWVzc2FnZSxcbiAgICAgICAgTmV3SW5ib3hMZWFkQ2FwdHVyZWRSZXF1ZXN0LFxuICAgICAgICBOZXdJbmJveExlYWRDYXB0dXJlZFJlc3BvbnNlLFxuICAgICAgICBSZWNlaXZlTWVzc2FnZVJlcXVlc3QsXG4gICAgICAgIFJlbW92ZUNvbnZlcnNhdGlvbkZyb21Db252ZXJzYXRpb25WaWV3UmVxdWVzdCxcbiAgICAgICAgU2VhcmNoQ29udmVyc2F0aW9uc1JlcXVlc3QsXG4gICAgICAgIFNlYXJjaENvbnZlcnNhdGlvbnNSZXNwb25zZSxcbiAgICAgICAgU2VuZE1lc3NhZ2VSZXF1ZXN0LFxuICAgICAgICBTZW5kTWVzc2FnZVJlc3BvbnNlLFxuICAgICAgICBTZW5kV2lkZ2V0TWVzc2FnZVJlcXVlc3QsXG4gICAgICAgIFNlbmRXaWRnZXRNZXNzYWdlUmVzcG9uc2UsXG4gICAgICAgIFNldExhc3RTZWVuUmVxdWVzdCxcbiAgICAgICAgU2V0TGFzdFNlZW5SZXNwb25zZSxcbiAgICAgICAgVXBkYXRlQ29udmVyc2F0aW9uUmVxdWVzdCxcbiAgICAgICAgVXBkYXRlQ29udmVyc2F0aW9uUmVzcG9uc2UsXG4gICAgICAgIFVwZGF0ZU1lc3NhZ2VTdGF0dXNSZXF1ZXN0LFxuICAgICAgICBVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0LFxuICAgICAgICBVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZSxcbiAgICAgICAgVXBkYXRlV2lkZ2V0UmVxdWVzdCxcbiAgICAgICAgVXBkYXRlV2lkZ2V0UmVzcG9uc2UsXG59IGZyb20gJy4vb2JqZWN0cy8nO1xuaW1wb3J0IHtcbiAgICAgICAgQWRkQ29udmVyc2F0aW9uVG9Db252ZXJzYXRpb25WaWV3UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQWRkTXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBBZGRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVDb252ZXJzYXRpb25SZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZU11bHRpTWVzc2FnZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlV2lkZ2V0UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlV2lkZ2V0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIERlbGV0ZUNvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIERlbGV0ZU1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBEZWxldGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBEZWxldGVXaWRnZXRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBFdmFsdWF0ZVJlc3BvbnNlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgRXhwb3J0Q29udmVyc2F0aW9uc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEV4cG9ydENvbnZlcnNhdGlvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRDb252ZXJzYXRpb25CeUtleVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldENvbnZlcnNhdGlvbkJ5S2V5UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldENvbnZlcnNhdGlvblN1bW1hcnlSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRDb252ZXJzYXRpb25TdW1tYXJ5UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldENvbnZlcnNhdGlvblZpZXdzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0Q29udmVyc2F0aW9uVmlld3NSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0TWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzVjJSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNWMlJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpRXZlbnRzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlFdmVudHNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlNZXNzYWdlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpTWVzc2FnZXNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlXaWRnZXRNZXNzYWdlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aVdpZGdldFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpV2lkZ2V0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldFBhcnRpY2lwYW50c0J5S2V5UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0UGFydGljaXBhbnRzQnlLZXlSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0V2lkZ2V0Q29uZmlnUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0V2lkZ2V0Q29uZmlnUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldFdpZGdldENvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRXaWRnZXRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRXaWRnZXRSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgSW5qZWN0TWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RDb252ZXJzYXRpb25FeHBvcnRzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdENvbnZlcnNhdGlvbkV4cG9ydHNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdE1lc3NhZ2VzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdE1lc3NhZ2VzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RSZXNwb25zZUV2YWx1YXRpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdFJlc3BvbnNlRXZhbHVhdGlvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdFdpZGdldHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0V2lkZ2V0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMb29rdXBDb252ZXJzYXRpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTG9va3VwQ29udmVyc2F0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBNYWtlVG9vbENhbGxSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBNYWtlVG9vbENhbGxSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTWVzc2FnZUludGVyZmFjZSxcbiAgICAgICAgTmV3SW5ib3hMZWFkQ2FwdHVyZWRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBOZXdJbmJveExlYWRDYXB0dXJlZFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBSZWNlaXZlTWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFJlbW92ZUNvbnZlcnNhdGlvbkZyb21Db252ZXJzYXRpb25WaWV3UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgU2VhcmNoQ29udmVyc2F0aW9uc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFNlYXJjaENvbnZlcnNhdGlvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgU2VuZE1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBTZW5kTWVzc2FnZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBTZW5kV2lkZ2V0TWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFNlbmRXaWRnZXRNZXNzYWdlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIFNldExhc3RTZWVuUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgU2V0TGFzdFNlZW5SZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlQ29udmVyc2F0aW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlQ29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZU1lc3NhZ2VTdGF0dXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlV2lkZ2V0UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlV2lkZ2V0UmVzcG9uc2VJbnRlcmZhY2UsXG59IGZyb20gJy4vaW50ZXJmYWNlcy8nO1xuaW1wb3J0IHtIdHRwSGVhZGVycywgSHR0cENsaWVudCwgSHR0cFJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge2luamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0hvc3RTZXJ2aWNlfSBmcm9tICcuLi9fZ2VuZXJhdGVkL2hvc3Quc2VydmljZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgQ29udmVyc2F0aW9uQXBpU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0U2VydmljZSA9IGluamVjdChIb3N0U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICAgIHByaXZhdGUgX2hvc3QgPSB0aGlzLmhvc3RTZXJ2aWNlLmhvc3RXaXRoU2NoZW1lO1xuXG4gICAgcHJpdmF0ZSBhcGlPcHRpb25zKCk6IHtoZWFkZXJzOiBIdHRwSGVhZGVycywgd2l0aENyZWRlbnRpYWxzOiBib29sZWFufSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgc2VuZE1lc3NhZ2UocjogU2VuZE1lc3NhZ2VSZXF1ZXN0IHwgU2VuZE1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxTZW5kTWVzc2FnZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxTZW5kTWVzc2FnZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8U2VuZE1lc3NhZ2VSZXF1ZXN0PnIpIDogbmV3IFNlbmRNZXNzYWdlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFNlbmRNZXNzYWdlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9TZW5kTWVzc2FnZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IFNlbmRNZXNzYWdlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0TWVzc2FnZShyOiBHZXRNZXNzYWdlUmVxdWVzdCB8IEdldE1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxNZXNzYWdlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNZXNzYWdlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNZXNzYWdlUmVxdWVzdD5yKSA6IG5ldyBHZXRNZXNzYWdlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE1lc3NhZ2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRNZXNzYWdlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTWVzc2FnZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0TWVzc2FnZXMocjogTGlzdE1lc3NhZ2VzUmVxdWVzdCB8IExpc3RNZXNzYWdlc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RNZXNzYWdlc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0TWVzc2FnZXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RNZXNzYWdlc1JlcXVlc3Q+cikgOiBuZXcgTGlzdE1lc3NhZ2VzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RNZXNzYWdlc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvTGlzdE1lc3NhZ2VzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdE1lc3NhZ2VzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZGVsZXRlTWVzc2FnZShyOiBEZWxldGVNZXNzYWdlUmVxdWVzdCB8IERlbGV0ZU1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPERlbGV0ZU1lc3NhZ2VSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPERlbGV0ZU1lc3NhZ2VSZXF1ZXN0PnIpIDogbmV3IERlbGV0ZU1lc3NhZ2VSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0RlbGV0ZU1lc3NhZ2VcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIHVwZGF0ZU1lc3NhZ2VTdGF0dXMocjogVXBkYXRlTWVzc2FnZVN0YXR1c1JlcXVlc3QgfCBVcGRhdGVNZXNzYWdlU3RhdHVzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcGRhdGVNZXNzYWdlU3RhdHVzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcGRhdGVNZXNzYWdlU3RhdHVzUmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVNZXNzYWdlU3RhdHVzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9VcGRhdGVNZXNzYWdlU3RhdHVzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBsb29rdXBDb252ZXJzYXRpb25zKHI6IExvb2t1cENvbnZlcnNhdGlvbnNSZXF1ZXN0IHwgTG9va3VwQ29udmVyc2F0aW9uc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExvb2t1cENvbnZlcnNhdGlvbnNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TG9va3VwQ29udmVyc2F0aW9uc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TG9va3VwQ29udmVyc2F0aW9uc1JlcXVlc3Q+cikgOiBuZXcgTG9va3VwQ29udmVyc2F0aW9uc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMb29rdXBDb252ZXJzYXRpb25zUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9Mb29rdXBDb252ZXJzYXRpb25zXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTG9va3VwQ29udmVyc2F0aW9uc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldENvbnZlcnNhdGlvbkJ5S2V5KHI6IEdldENvbnZlcnNhdGlvbkJ5S2V5UmVxdWVzdCB8IEdldENvbnZlcnNhdGlvbkJ5S2V5UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0Q29udmVyc2F0aW9uQnlLZXlSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0Q29udmVyc2F0aW9uQnlLZXlSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldENvbnZlcnNhdGlvbkJ5S2V5UmVxdWVzdD5yKSA6IG5ldyBHZXRDb252ZXJzYXRpb25CeUtleVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRDb252ZXJzYXRpb25CeUtleVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0Q29udmVyc2F0aW9uQnlLZXlcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRDb252ZXJzYXRpb25CeUtleVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNyZWF0ZUNvbnZlcnNhdGlvbihyOiBDcmVhdGVDb252ZXJzYXRpb25SZXF1ZXN0IHwgQ3JlYXRlQ29udmVyc2F0aW9uUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q3JlYXRlQ29udmVyc2F0aW9uUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZUNvbnZlcnNhdGlvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlQ29udmVyc2F0aW9uUmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVDb252ZXJzYXRpb25SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlQ29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9DcmVhdGVDb252ZXJzYXRpb25cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDcmVhdGVDb252ZXJzYXRpb25SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGVDb252ZXJzYXRpb24ocjogVXBkYXRlQ29udmVyc2F0aW9uUmVxdWVzdCB8IFVwZGF0ZUNvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPFVwZGF0ZUNvbnZlcnNhdGlvblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcGRhdGVDb252ZXJzYXRpb25SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZUNvbnZlcnNhdGlvblJlcXVlc3Q+cikgOiBuZXcgVXBkYXRlQ29udmVyc2F0aW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFVwZGF0ZUNvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvVXBkYXRlQ29udmVyc2F0aW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gVXBkYXRlQ29udmVyc2F0aW9uUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZGVsZXRlQ29udmVyc2F0aW9uKHI6IERlbGV0ZUNvbnZlcnNhdGlvblJlcXVlc3QgfCBEZWxldGVDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPERlbGV0ZUNvbnZlcnNhdGlvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RGVsZXRlQ29udmVyc2F0aW9uUmVxdWVzdD5yKSA6IG5ldyBEZWxldGVDb252ZXJzYXRpb25SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0RlbGV0ZUNvbnZlcnNhdGlvblwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgcmVjZWl2ZU1lc3NhZ2UocjogUmVjZWl2ZU1lc3NhZ2VSZXF1ZXN0IHwgUmVjZWl2ZU1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFJlY2VpdmVNZXNzYWdlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxSZWNlaXZlTWVzc2FnZVJlcXVlc3Q+cikgOiBuZXcgUmVjZWl2ZU1lc3NhZ2VSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL1JlY2VpdmVNZXNzYWdlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBnZXRNdWx0aU1lc3NhZ2VzKHI6IEdldE11bHRpTWVzc2FnZXNSZXF1ZXN0IHwgR2V0TXVsdGlNZXNzYWdlc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE11bHRpTWVzc2FnZXNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlNZXNzYWdlc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TXVsdGlNZXNzYWdlc1JlcXVlc3Q+cikgOiBuZXcgR2V0TXVsdGlNZXNzYWdlc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aU1lc3NhZ2VzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRNdWx0aU1lc3NhZ2VzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TXVsdGlNZXNzYWdlc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNyZWF0ZU11bHRpTWVzc2FnZXMocjogQ3JlYXRlTXVsdGlNZXNzYWdlc1JlcXVlc3QgfCBDcmVhdGVNdWx0aU1lc3NhZ2VzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVNdWx0aU1lc3NhZ2VzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVNdWx0aU1lc3NhZ2VzUmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVNdWx0aU1lc3NhZ2VzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9DcmVhdGVNdWx0aU1lc3NhZ2VzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBnZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHMocjogR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVxdWVzdCB8IEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1JlcXVlc3Q+cikgOiBuZXcgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzVjIocjogR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzVjJSZXF1ZXN0IHwgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzVjJSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNWMlJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNWMlJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzVjJSZXF1ZXN0PnIpIDogbmV3IEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1YyUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1YyUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNWMlwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1YyUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0TXVsdGlQYXJ0aWNpcGFudHMocjogR2V0TXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0IHwgR2V0TXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0PnIpIDogbmV3IEdldE11bHRpUGFydGljaXBhbnRzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE11bHRpUGFydGljaXBhbnRzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRNdWx0aVBhcnRpY2lwYW50c1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE11bHRpUGFydGljaXBhbnRzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgc2VhcmNoQ29udmVyc2F0aW9ucyhyOiBTZWFyY2hDb252ZXJzYXRpb25zUmVxdWVzdCB8IFNlYXJjaENvbnZlcnNhdGlvbnNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxTZWFyY2hDb252ZXJzYXRpb25zUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFNlYXJjaENvbnZlcnNhdGlvbnNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFNlYXJjaENvbnZlcnNhdGlvbnNSZXF1ZXN0PnIpIDogbmV3IFNlYXJjaENvbnZlcnNhdGlvbnNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8U2VhcmNoQ29udmVyc2F0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvU2VhcmNoQ29udmVyc2F0aW9uc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IFNlYXJjaENvbnZlcnNhdGlvbnNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudChyOiBHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlcXVlc3QgfCBHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlcXVlc3Q+cikgOiBuZXcgR2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBhZGRNdWx0aVBhcnRpY2lwYW50cyhyOiBBZGRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3QgfCBBZGRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEFkZE11bHRpUGFydGljaXBhbnRzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEFkZE11bHRpUGFydGljaXBhbnRzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxBZGRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3Q+cikgOiBuZXcgQWRkTXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QWRkTXVsdGlQYXJ0aWNpcGFudHNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0FkZE11bHRpUGFydGljaXBhbnRzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQWRkTXVsdGlQYXJ0aWNpcGFudHNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBzZXRMYXN0U2VlbihyOiBTZXRMYXN0U2VlblJlcXVlc3QgfCBTZXRMYXN0U2VlblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPFNldExhc3RTZWVuUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFNldExhc3RTZWVuUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxTZXRMYXN0U2VlblJlcXVlc3Q+cikgOiBuZXcgU2V0TGFzdFNlZW5SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8U2V0TGFzdFNlZW5SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL1NldExhc3RTZWVuXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gU2V0TGFzdFNlZW5SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRQYXJ0aWNpcGFudHNCeUtleShyOiBHZXRQYXJ0aWNpcGFudHNCeUtleVJlcXVlc3QgfCBHZXRQYXJ0aWNpcGFudHNCeUtleVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldFBhcnRpY2lwYW50c0J5S2V5UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldFBhcnRpY2lwYW50c0J5S2V5UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRQYXJ0aWNpcGFudHNCeUtleVJlcXVlc3Q+cikgOiBuZXcgR2V0UGFydGljaXBhbnRzQnlLZXlSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0UGFydGljaXBhbnRzQnlLZXlSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldFBhcnRpY2lwYW50c0J5S2V5XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0UGFydGljaXBhbnRzQnlLZXlSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRDb252ZXJzYXRpb25WaWV3cyhyOiBHZXRDb252ZXJzYXRpb25WaWV3c1JlcXVlc3QgfCBHZXRDb252ZXJzYXRpb25WaWV3c1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldENvbnZlcnNhdGlvblZpZXdzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldENvbnZlcnNhdGlvblZpZXdzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRDb252ZXJzYXRpb25WaWV3c1JlcXVlc3Q+cikgOiBuZXcgR2V0Q29udmVyc2F0aW9uVmlld3NSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0Q29udmVyc2F0aW9uVmlld3NSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldENvbnZlcnNhdGlvblZpZXdzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0Q29udmVyc2F0aW9uVmlld3NSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBhZGRDb252ZXJzYXRpb25Ub0NvbnZlcnNhdGlvblZpZXcocjogQWRkQ29udmVyc2F0aW9uVG9Db252ZXJzYXRpb25WaWV3UmVxdWVzdCB8IEFkZENvbnZlcnNhdGlvblRvQ29udmVyc2F0aW9uVmlld1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8QWRkQ29udmVyc2F0aW9uVG9Db252ZXJzYXRpb25WaWV3UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxBZGRDb252ZXJzYXRpb25Ub0NvbnZlcnNhdGlvblZpZXdSZXF1ZXN0PnIpIDogbmV3IEFkZENvbnZlcnNhdGlvblRvQ29udmVyc2F0aW9uVmlld1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvQWRkQ29udmVyc2F0aW9uVG9Db252ZXJzYXRpb25WaWV3XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICByZW1vdmVDb252ZXJzYXRpb25Gcm9tQ29udmVyc2F0aW9uVmlldyhyOiBSZW1vdmVDb252ZXJzYXRpb25Gcm9tQ29udmVyc2F0aW9uVmlld1JlcXVlc3QgfCBSZW1vdmVDb252ZXJzYXRpb25Gcm9tQ29udmVyc2F0aW9uVmlld1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8UmVtb3ZlQ29udmVyc2F0aW9uRnJvbUNvbnZlcnNhdGlvblZpZXdSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFJlbW92ZUNvbnZlcnNhdGlvbkZyb21Db252ZXJzYXRpb25WaWV3UmVxdWVzdD5yKSA6IG5ldyBSZW1vdmVDb252ZXJzYXRpb25Gcm9tQ29udmVyc2F0aW9uVmlld1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvUmVtb3ZlQ29udmVyc2F0aW9uRnJvbUNvbnZlcnNhdGlvblZpZXdcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGNyZWF0ZVdpZGdldENvbnZlcnNhdGlvbihyOiBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXF1ZXN0IHwgQ3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZVdpZGdldENvbnZlcnNhdGlvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uUmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9DcmVhdGVXaWRnZXRDb252ZXJzYXRpb25cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRNdWx0aVdpZGdldE1lc3NhZ2VzKHI6IEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXF1ZXN0IHwgR2V0TXVsdGlXaWRnZXRNZXNzYWdlc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlXaWRnZXRNZXNzYWdlc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TXVsdGlXaWRnZXRNZXNzYWdlc1JlcXVlc3Q+cikgOiBuZXcgR2V0TXVsdGlXaWRnZXRNZXNzYWdlc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRNdWx0aVdpZGdldE1lc3NhZ2VzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TXVsdGlXaWRnZXRNZXNzYWdlc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHNlbmRXaWRnZXRNZXNzYWdlKHI6IFNlbmRXaWRnZXRNZXNzYWdlUmVxdWVzdCB8IFNlbmRXaWRnZXRNZXNzYWdlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8U2VuZFdpZGdldE1lc3NhZ2VSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8U2VuZFdpZGdldE1lc3NhZ2VSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFNlbmRXaWRnZXRNZXNzYWdlUmVxdWVzdD5yKSA6IG5ldyBTZW5kV2lkZ2V0TWVzc2FnZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxTZW5kV2lkZ2V0TWVzc2FnZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvU2VuZFdpZGdldE1lc3NhZ2VcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBTZW5kV2lkZ2V0TWVzc2FnZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldFdpZGdldENvbnZlcnNhdGlvbigpOiBPYnNlcnZhYmxlPEdldFdpZGdldENvbnZlcnNhdGlvblJlc3BvbnNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldFdpZGdldENvbnZlcnNhdGlvblwiLCB7fSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvbihyOiBHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlcXVlc3QgfCBHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlcXVlc3Q+cikgOiBuZXcgR2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBldmFsdWF0ZVJlc3BvbnNlKHI6IEV2YWx1YXRlUmVzcG9uc2VSZXF1ZXN0IHwgRXZhbHVhdGVSZXNwb25zZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RXZhbHVhdGVSZXNwb25zZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RXZhbHVhdGVSZXNwb25zZVJlcXVlc3Q+cikgOiBuZXcgRXZhbHVhdGVSZXNwb25zZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvRXZhbHVhdGVSZXNwb25zZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgbGlzdFJlc3BvbnNlRXZhbHVhdGlvbnMocjogTGlzdFJlc3BvbnNlRXZhbHVhdGlvbnNSZXF1ZXN0IHwgTGlzdFJlc3BvbnNlRXZhbHVhdGlvbnNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0UmVzcG9uc2VFdmFsdWF0aW9uc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0UmVzcG9uc2VFdmFsdWF0aW9uc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdFJlc3BvbnNlRXZhbHVhdGlvbnNSZXF1ZXN0PnIpIDogbmV3IExpc3RSZXNwb25zZUV2YWx1YXRpb25zUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RSZXNwb25zZUV2YWx1YXRpb25zUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9MaXN0UmVzcG9uc2VFdmFsdWF0aW9uc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RSZXNwb25zZUV2YWx1YXRpb25zUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY3JlYXRlV2lkZ2V0KHI6IENyZWF0ZVdpZGdldFJlcXVlc3QgfCBDcmVhdGVXaWRnZXRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxDcmVhdGVXaWRnZXRSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlV2lkZ2V0UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVXaWRnZXRSZXF1ZXN0PnIpIDogbmV3IENyZWF0ZVdpZGdldFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDcmVhdGVXaWRnZXRSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0NyZWF0ZVdpZGdldFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENyZWF0ZVdpZGdldFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldFdpZGdldChyOiBHZXRXaWRnZXRSZXF1ZXN0IHwgR2V0V2lkZ2V0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0V2lkZ2V0UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldFdpZGdldFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0V2lkZ2V0UmVxdWVzdD5yKSA6IG5ldyBHZXRXaWRnZXRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0V2lkZ2V0UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRXaWRnZXRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRXaWRnZXRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRNdWx0aVdpZGdldChyOiBHZXRNdWx0aVdpZGdldFJlcXVlc3QgfCBHZXRNdWx0aVdpZGdldFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE11bHRpV2lkZ2V0UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldE11bHRpV2lkZ2V0UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNdWx0aVdpZGdldFJlcXVlc3Q+cikgOiBuZXcgR2V0TXVsdGlXaWRnZXRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0TXVsdGlXaWRnZXRSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldE11bHRpV2lkZ2V0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TXVsdGlXaWRnZXRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGVXaWRnZXQocjogVXBkYXRlV2lkZ2V0UmVxdWVzdCB8IFVwZGF0ZVdpZGdldFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPFVwZGF0ZVdpZGdldFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcGRhdGVXaWRnZXRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZVdpZGdldFJlcXVlc3Q+cikgOiBuZXcgVXBkYXRlV2lkZ2V0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFVwZGF0ZVdpZGdldFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvVXBkYXRlV2lkZ2V0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gVXBkYXRlV2lkZ2V0UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZGVsZXRlV2lkZ2V0KHI6IERlbGV0ZVdpZGdldFJlcXVlc3QgfCBEZWxldGVXaWRnZXRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPERlbGV0ZVdpZGdldFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RGVsZXRlV2lkZ2V0UmVxdWVzdD5yKSA6IG5ldyBEZWxldGVXaWRnZXRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0RlbGV0ZVdpZGdldFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgbGlzdFdpZGdldHMocjogTGlzdFdpZGdldHNSZXF1ZXN0IHwgTGlzdFdpZGdldHNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0V2lkZ2V0c1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0V2lkZ2V0c1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdFdpZGdldHNSZXF1ZXN0PnIpIDogbmV3IExpc3RXaWRnZXRzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RXaWRnZXRzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9MaXN0V2lkZ2V0c1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RXaWRnZXRzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0V2lkZ2V0Q29uZmlnKHI6IEdldFdpZGdldENvbmZpZ1JlcXVlc3QgfCBHZXRXaWRnZXRDb25maWdSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRXaWRnZXRDb25maWdSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0V2lkZ2V0Q29uZmlnUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRXaWRnZXRDb25maWdSZXF1ZXN0PnIpIDogbmV3IEdldFdpZGdldENvbmZpZ1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRXaWRnZXRDb25maWdSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldFdpZGdldENvbmZpZ1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldFdpZGdldENvbmZpZ1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGxpc3RNZXNzYWdlVGVtcGxhdGUocjogTGlzdE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3QgfCBMaXN0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdE1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdD5yKSA6IG5ldyBMaXN0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0xpc3RNZXNzYWdlVGVtcGxhdGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0TWVzc2FnZVRlbXBsYXRlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZGVsZXRlTWVzc2FnZVRlbXBsYXRlKHI6IERlbGV0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3QgfCBEZWxldGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPERlbGV0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RGVsZXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdD5yKSA6IG5ldyBEZWxldGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0RlbGV0ZU1lc3NhZ2VUZW1wbGF0ZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgY3JlYXRlTWVzc2FnZVRlbXBsYXRlKHI6IENyZWF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3QgfCBDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0PnIpIDogbmV3IENyZWF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0NyZWF0ZU1lc3NhZ2VUZW1wbGF0ZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENyZWF0ZU1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZShyOiBVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0IHwgVXBkYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8VXBkYXRlTWVzc2FnZVRlbXBsYXRlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBkYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VXBkYXRlTWVzc2FnZVRlbXBsYXRlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9VcGRhdGVNZXNzYWdlVGVtcGxhdGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRNZXNzYWdlVGVtcGxhdGUocjogR2V0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdCB8IEdldE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Q+cikgOiBuZXcgR2V0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0TWVzc2FnZVRlbXBsYXRlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TWVzc2FnZVRlbXBsYXRlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0Q29udmVyc2F0aW9uU3VtbWFyeShyOiBHZXRDb252ZXJzYXRpb25TdW1tYXJ5UmVxdWVzdCB8IEdldENvbnZlcnNhdGlvblN1bW1hcnlSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRDb252ZXJzYXRpb25TdW1tYXJ5UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldENvbnZlcnNhdGlvblN1bW1hcnlSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldENvbnZlcnNhdGlvblN1bW1hcnlSZXF1ZXN0PnIpIDogbmV3IEdldENvbnZlcnNhdGlvblN1bW1hcnlSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0Q29udmVyc2F0aW9uU3VtbWFyeVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0Q29udmVyc2F0aW9uU3VtbWFyeVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldENvbnZlcnNhdGlvblN1bW1hcnlSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBuZXdJbmJveExlYWRDYXB0dXJlZChyOiBOZXdJbmJveExlYWRDYXB0dXJlZFJlcXVlc3QgfCBOZXdJbmJveExlYWRDYXB0dXJlZFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPE5ld0luYm94TGVhZENhcHR1cmVkUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPE5ld0luYm94TGVhZENhcHR1cmVkUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxOZXdJbmJveExlYWRDYXB0dXJlZFJlcXVlc3Q+cikgOiBuZXcgTmV3SW5ib3hMZWFkQ2FwdHVyZWRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TmV3SW5ib3hMZWFkQ2FwdHVyZWRSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL05ld0luYm94TGVhZENhcHR1cmVkXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTmV3SW5ib3hMZWFkQ2FwdHVyZWRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRNdWx0aUV2ZW50cyhyOiBHZXRNdWx0aUV2ZW50c1JlcXVlc3QgfCBHZXRNdWx0aUV2ZW50c1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE11bHRpRXZlbnRzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldE11bHRpRXZlbnRzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNdWx0aUV2ZW50c1JlcXVlc3Q+cikgOiBuZXcgR2V0TXVsdGlFdmVudHNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0TXVsdGlFdmVudHNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldE11bHRpRXZlbnRzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TXVsdGlFdmVudHNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBpbmplY3RNZXNzYWdlKHI6IEluamVjdE1lc3NhZ2VSZXF1ZXN0IHwgSW5qZWN0TWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8SW5qZWN0TWVzc2FnZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8SW5qZWN0TWVzc2FnZVJlcXVlc3Q+cikgOiBuZXcgSW5qZWN0TWVzc2FnZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvSW5qZWN0TWVzc2FnZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgbWFrZVRvb2xDYWxsKHI6IE1ha2VUb29sQ2FsbFJlcXVlc3QgfCBNYWtlVG9vbENhbGxSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxNYWtlVG9vbENhbGxSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TWFrZVRvb2xDYWxsUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxNYWtlVG9vbENhbGxSZXF1ZXN0PnIpIDogbmV3IE1ha2VUb29sQ2FsbFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxNYWtlVG9vbENhbGxSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL01ha2VUb29sQ2FsbFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IE1ha2VUb29sQ2FsbFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGV4cG9ydENvbnZlcnNhdGlvbnMocjogRXhwb3J0Q29udmVyc2F0aW9uc1JlcXVlc3QgfCBFeHBvcnRDb252ZXJzYXRpb25zUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8RXhwb3J0Q29udmVyc2F0aW9uc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxFeHBvcnRDb252ZXJzYXRpb25zUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxFeHBvcnRDb252ZXJzYXRpb25zUmVxdWVzdD5yKSA6IG5ldyBFeHBvcnRDb252ZXJzYXRpb25zUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEV4cG9ydENvbnZlcnNhdGlvbnNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0V4cG9ydENvbnZlcnNhdGlvbnNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBFeHBvcnRDb252ZXJzYXRpb25zUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgbGlzdENvbnZlcnNhdGlvbkV4cG9ydHMocjogTGlzdENvbnZlcnNhdGlvbkV4cG9ydHNSZXF1ZXN0IHwgTGlzdENvbnZlcnNhdGlvbkV4cG9ydHNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0Q29udmVyc2F0aW9uRXhwb3J0c1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0Q29udmVyc2F0aW9uRXhwb3J0c1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdENvbnZlcnNhdGlvbkV4cG9ydHNSZXF1ZXN0PnIpIDogbmV3IExpc3RDb252ZXJzYXRpb25FeHBvcnRzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RDb252ZXJzYXRpb25FeHBvcnRzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9MaXN0Q29udmVyc2F0aW9uRXhwb3J0c1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RDb252ZXJzYXRpb25FeHBvcnRzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgXG59XG4iXX0=
|
|
@@ -17,6 +17,14 @@ export var EvaluateResponseType;
|
|
|
17
17
|
EvaluateResponseType[EvaluateResponseType["EVALUATION_RESPONSE_TYPE_EVENT"] = 1] = "EVALUATION_RESPONSE_TYPE_EVENT";
|
|
18
18
|
EvaluateResponseType[EvaluateResponseType["EVALUATION_RESPONSE_TYPE_MESSAGE"] = 2] = "EVALUATION_RESPONSE_TYPE_MESSAGE";
|
|
19
19
|
})(EvaluateResponseType || (EvaluateResponseType = {}));
|
|
20
|
+
export var GetWidgetConfigResponseGreetingMessageType;
|
|
21
|
+
(function (GetWidgetConfigResponseGreetingMessageType) {
|
|
22
|
+
GetWidgetConfigResponseGreetingMessageType[GetWidgetConfigResponseGreetingMessageType["GREETING_MESSAGE_UNDEFINED"] = 0] = "GREETING_MESSAGE_UNDEFINED";
|
|
23
|
+
GetWidgetConfigResponseGreetingMessageType[GetWidgetConfigResponseGreetingMessageType["GREETING_MESSAGE_NONE"] = 1] = "GREETING_MESSAGE_NONE";
|
|
24
|
+
GetWidgetConfigResponseGreetingMessageType[GetWidgetConfigResponseGreetingMessageType["GREETING_MESSAGE_CUSTOM"] = 2] = "GREETING_MESSAGE_CUSTOM";
|
|
25
|
+
GetWidgetConfigResponseGreetingMessageType[GetWidgetConfigResponseGreetingMessageType["GREETING_MESSAGE_DEFAULT"] = 3] = "GREETING_MESSAGE_DEFAULT";
|
|
26
|
+
GetWidgetConfigResponseGreetingMessageType[GetWidgetConfigResponseGreetingMessageType["GREETING_MESSAGE_AI"] = 4] = "GREETING_MESSAGE_AI";
|
|
27
|
+
})(GetWidgetConfigResponseGreetingMessageType || (GetWidgetConfigResponseGreetingMessageType = {}));
|
|
20
28
|
export var MetadataIdentifier;
|
|
21
29
|
(function (MetadataIdentifier) {
|
|
22
30
|
MetadataIdentifier[MetadataIdentifier["METADATA_IDENTIFIER_UNDEFINED"] = 0] = "METADATA_IDENTIFIER_UNDEFINED";
|
|
@@ -37,4 +45,4 @@ export var Status;
|
|
|
37
45
|
Status[Status["INFO"] = 2] = "INFO";
|
|
38
46
|
Status[Status["RESTRICTED"] = 3] = "RESTRICTED";
|
|
39
47
|
})(Status || (Status = {}));
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9jb252ZXJzYXRpb25fc2RrL3NyYy9saWIvX2ludGVybmFsL2VudW1zL2FwaS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixTQUFTO0FBQ1Qsb0NBQW9DO0FBRXBDLE1BQU0sQ0FBTixJQUFZLGtFQUtYO0FBTEQsV0FBWSxrRUFBa0U7SUFDMUUsNkxBQXlCLENBQUE7SUFDekIseUxBQXVCLENBQUE7SUFDdkIscU1BQTZCLENBQUE7SUFDN0IseUxBQXVCLENBQUE7QUFDM0IsQ0FBQyxFQUxXLGtFQUFrRSxLQUFsRSxrRUFBa0UsUUFLN0U7QUFFRCxNQUFNLENBQU4sSUFBWSxvQkFJWDtBQUpELFdBQVksb0JBQW9CO0lBQzVCLCtIQUF3QyxDQUFBO0lBQ3hDLG1IQUFrQyxDQUFBO0lBQ2xDLHVIQUFvQyxDQUFBO0FBQ3hDLENBQUMsRUFKVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBSS9CO0FBRUQsTUFBTSxDQUFOLElBQVksMENBTVg7QUFORCxXQUFZLDBDQUEwQztJQUNsRCx1SkFBOEIsQ0FBQTtJQUM5Qiw2SUFBeUIsQ0FBQTtJQUN6QixpSkFBMkIsQ0FBQTtJQUMzQixtSkFBNEIsQ0FBQTtJQUM1Qix5SUFBdUIsQ0FBQTtBQUMzQixDQUFDLEVBTlcsMENBQTBDLEtBQTFDLDBDQUEwQyxRQU1yRDtBQUVELE1BQU0sQ0FBTixJQUFZLGtCQU1YO0FBTkQsV0FBWSxrQkFBa0I7SUFDMUIsNkdBQWlDLENBQUE7SUFDakMsNkdBQWlDLENBQUE7SUFDakMsdUdBQThCLENBQUE7SUFDOUIsbUhBQW9DLENBQUE7SUFDcEMsNkhBQXlDLENBQUE7QUFDN0MsQ0FBQyxFQU5XLGtCQUFrQixLQUFsQixrQkFBa0IsUUFNN0I7QUFFRCxNQUFNLENBQU4sSUFBWSx3QkFHWDtBQUhELFdBQVksd0JBQXdCO0lBQ2hDLGlJQUFxQyxDQUFBO0lBQ3JDLHFJQUF1QyxDQUFBO0FBQzNDLENBQUMsRUFIVyx3QkFBd0IsS0FBeEIsd0JBQXdCLFFBR25DO0FBRUQsTUFBTSxDQUFOLElBQVksTUFLWDtBQUxELFdBQVksTUFBTTtJQUNkLHFDQUFTLENBQUE7SUFDVCx5Q0FBVyxDQUFBO0lBQ1gsbUNBQVEsQ0FBQTtJQUNSLCtDQUFjLENBQUE7QUFDbEIsQ0FBQyxFQUxXLE1BQU0sS0FBTixNQUFNLFFBS2pCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBFbnVtcy5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5leHBvcnQgZW51bSBHZXRNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SHlkcmF0aW9uT3B0aW9uc0h5ZHJhdGlvbkVudGl0eUVudGl0eVR5cGUge1xuICAgIEVOVElUWV9UWVBFX1VOREVGSU5FRCA9IDAsXG4gICAgRU5USVRZX1RZUEVfUEFSVE5FUiA9IDEsXG4gICAgRU5USVRZX1RZUEVfQUNDT1VOVF9HUk9VUCA9IDIsXG4gICAgRU5USVRZX1RZUEVfQ09OVEFDVCA9IDMsXG59XG5cbmV4cG9ydCBlbnVtIEV2YWx1YXRlUmVzcG9uc2VUeXBlIHtcbiAgICBFVkFMVUFUSU9OX1JFU1BPTlNFX1RZUEVfVU5TUEVDSUZJRUQgPSAwLFxuICAgIEVWQUxVQVRJT05fUkVTUE9OU0VfVFlQRV9FVkVOVCA9IDEsXG4gICAgRVZBTFVBVElPTl9SRVNQT05TRV9UWVBFX01FU1NBR0UgPSAyLFxufVxuXG5leHBvcnQgZW51bSBHZXRXaWRnZXRDb25maWdSZXNwb25zZUdyZWV0aW5nTWVzc2FnZVR5cGUge1xuICAgIEdSRUVUSU5HX01FU1NBR0VfVU5ERUZJTkVEID0gMCxcbiAgICBHUkVFVElOR19NRVNTQUdFX05PTkUgPSAxLFxuICAgIEdSRUVUSU5HX01FU1NBR0VfQ1VTVE9NID0gMixcbiAgICBHUkVFVElOR19NRVNTQUdFX0RFRkFVTFQgPSAzLFxuICAgIEdSRUVUSU5HX01FU1NBR0VfQUkgPSA0LFxufVxuXG5leHBvcnQgZW51bSBNZXRhZGF0YUlkZW50aWZpZXIge1xuICAgIE1FVEFEQVRBX0lERU5USUZJRVJfVU5ERUZJTkVEID0gMCxcbiAgICBNRVRBREFUQV9JREVOVElGSUVSX1JFQ0lQSUVOVCA9IDEsXG4gICAgTUVUQURBVEFfSURFTlRJRklFUl9TRU5ERVIgPSAyLFxuICAgIE1FVEFEQVRBX0lERU5USUZJRVJfQ09OVkVSU0FUSU9OID0gMyxcbiAgICBNRVRBREFUQV9JREVOVElGSUVSX1dIQVRTQVBQX1RFTVBMQVRFID0gNCxcbn1cblxuZXhwb3J0IGVudW0gU2V0TGFzdFNlZW5SZXF1ZXN0U3RhdHVzIHtcbiAgICBTRVRfTEFTVF9TRUVOX1JFUVVFU1RfU1RBVFVTX1JFQUQgPSAwLFxuICAgIFNFVF9MQVNUX1NFRU5fUkVRVUVTVF9TVEFUVVNfVU5SRUFEID0gMSxcbn1cblxuZXhwb3J0IGVudW0gU3RhdHVzIHtcbiAgICBFUlJPUiA9IDAsXG4gICAgV0FSTklORyA9IDEsXG4gICAgSU5GTyA9IDIsXG4gICAgUkVTVFJJQ1RFRCA9IDMsXG59XG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// *********************************
|
|
2
|
+
// Code generated by sdkgen
|
|
3
|
+
// DO NOT EDIT!.
|
|
4
|
+
//
|
|
5
|
+
// Enums.
|
|
6
|
+
// *********************************
|
|
7
|
+
export var ExportStatus;
|
|
8
|
+
(function (ExportStatus) {
|
|
9
|
+
ExportStatus[ExportStatus["EXPORT_STATUS_UNDEFINED"] = 0] = "EXPORT_STATUS_UNDEFINED";
|
|
10
|
+
ExportStatus[ExportStatus["EXPORT_STATUS_IN_PROGRESS"] = 1] = "EXPORT_STATUS_IN_PROGRESS";
|
|
11
|
+
ExportStatus[ExportStatus["EXPORT_STATUS_COMPLETED"] = 2] = "EXPORT_STATUS_COMPLETED";
|
|
12
|
+
ExportStatus[ExportStatus["EXPORT_STATUS_FAILED"] = 3] = "EXPORT_STATUS_FAILED";
|
|
13
|
+
})(ExportStatus || (ExportStatus = {}));
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLWV4cG9ydC5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vY29udmVyc2F0aW9uX3Nkay9zcmMvbGliL19pbnRlcm5hbC9lbnVtcy9jb252ZXJzYXRpb24tZXhwb3J0LmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLFNBQVM7QUFDVCxvQ0FBb0M7QUFFcEMsTUFBTSxDQUFOLElBQVksWUFLWDtBQUxELFdBQVksWUFBWTtJQUNwQixxRkFBMkIsQ0FBQTtJQUMzQix5RkFBNkIsQ0FBQTtJQUM3QixxRkFBMkIsQ0FBQTtJQUMzQiwrRUFBd0IsQ0FBQTtBQUM1QixDQUFDLEVBTFcsWUFBWSxLQUFaLFlBQVksUUFLdkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEVudW1zLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbmV4cG9ydCBlbnVtIEV4cG9ydFN0YXR1cyB7XG4gICAgRVhQT1JUX1NUQVRVU19VTkRFRklORUQgPSAwLFxuICAgIEVYUE9SVF9TVEFUVVNfSU5fUFJPR1JFU1MgPSAxLFxuICAgIEVYUE9SVF9TVEFUVVNfQ09NUExFVEVEID0gMixcbiAgICBFWFBPUlRfU1RBVFVTX0ZBSUxFRCA9IDMsXG59XG4iXX0=
|
|
@@ -28,5 +28,6 @@ export var PlatformLocation;
|
|
|
28
28
|
PlatformLocation[PlatformLocation["PLATFORM_LOCATION_TASK_MANAGER"] = 4] = "PLATFORM_LOCATION_TASK_MANAGER";
|
|
29
29
|
PlatformLocation[PlatformLocation["PLATFORM_LOCATION_PROPOSAL_BUILDER"] = 5] = "PLATFORM_LOCATION_PROPOSAL_BUILDER";
|
|
30
30
|
PlatformLocation[PlatformLocation["PLATFORM_LOCATION_SALES_CENTER"] = 6] = "PLATFORM_LOCATION_SALES_CENTER";
|
|
31
|
+
PlatformLocation[PlatformLocation["PLATFORM_LOCATION_ADMIN_CENTER"] = 7] = "PLATFORM_LOCATION_ADMIN_CENTER";
|
|
31
32
|
})(PlatformLocation || (PlatformLocation = {}));
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9jb252ZXJzYXRpb25fc2RrL3NyYy9saWIvX2ludGVybmFsL2VudW1zL2NvbnZlcnNhdGlvbi5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixTQUFTO0FBQ1Qsb0NBQW9DO0FBRXBDLE1BQU0sQ0FBTixJQUFZLG1CQWFYO0FBYkQsV0FBWSxtQkFBbUI7SUFDM0IsaUhBQWtDLENBQUE7SUFDbEMsK0dBQWlDLENBQUE7SUFDakMscUdBQTRCLENBQUE7SUFDNUIsK0dBQWlDLENBQUE7SUFDakMsNkhBQXdDLENBQUE7SUFDeEMsMkdBQStCLENBQUE7SUFDL0IseUdBQThCLENBQUE7SUFDOUIsMkpBQXVELENBQUE7SUFDdkQsK0dBQWlDLENBQUE7SUFDakMsaUhBQWtDLENBQUE7SUFDbEMsZ0hBQWtDLENBQUE7SUFDbEMsd0hBQXNDLENBQUE7QUFDMUMsQ0FBQyxFQWJXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFhOUI7QUFFRCxNQUFNLENBQU4sSUFBWSxnQkFTWDtBQVRELFdBQVksZ0JBQWdCO0lBQ3hCLHFHQUErQixDQUFBO0lBQy9CLDJHQUFrQyxDQUFBO0lBQ2xDLCtHQUFvQyxDQUFBO0lBQ3BDLDZHQUFtQyxDQUFBO0lBQ25DLDJHQUFrQyxDQUFBO0lBQ2xDLG1IQUFzQyxDQUFBO0lBQ3RDLDJHQUFrQyxDQUFBO0lBQ2xDLDJHQUFrQyxDQUFBO0FBQ3RDLENBQUMsRUFUVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBUzNCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBFbnVtcy5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5leHBvcnQgZW51bSBDb252ZXJzYXRpb25DaGFubmVsIHtcbiAgICBDT05WRVJTQVRJT05fQ0hBTk5FTF9VTkRFRklORUQgPSAwLFxuICAgIENPTlZFUlNBVElPTl9DSEFOTkVMX0lOVEVSTkFMID0gMSxcbiAgICBDT05WRVJTQVRJT05fQ0hBTk5FTF9TTVMgPSAyLFxuICAgIENPTlZFUlNBVElPTl9DSEFOTkVMX0ZBQ0VCT09LID0gMyxcbiAgICBDT05WRVJTQVRJT05fQ0hBTk5FTF9HT09HTEVfTUVTU0FHRVMgPSA0LFxuICAgIENPTlZFUlNBVElPTl9DSEFOTkVMX09QRU5BSSA9IDUsXG4gICAgQ09OVkVSU0FUSU9OX0NIQU5ORUxfRU1BSUwgPSA2LFxuICAgIENPTlZFUlNBVElPTl9DSEFOTkVMX0dPT0dMRV9CVVNJTkVTU19DT01NVU5JQ0FUSU9OUyA9IDcsXG4gICAgQ09OVkVSU0FUSU9OX0NIQU5ORUxfV0VCX0NIQVQgPSA4LFxuICAgIENPTlZFUlNBVElPTl9DSEFOTkVMX0lOU1RBR1JBTSA9IDksXG4gICAgQ09OVkVSU0FUSU9OX0NIQU5ORUxfV0hBVFNBUFAgPSAxMCxcbiAgICBDT05WRVJTQVRJT05fQ0hBTk5FTF9BSV9BU1NJU1RBTlQgPSAxMSxcbn1cblxuZXhwb3J0IGVudW0gUGxhdGZvcm1Mb2NhdGlvbiB7XG4gICAgUExBVEZPUk1fTE9DQVRJT05fVU5ERUZJTkVEID0gMCxcbiAgICBQTEFURk9STV9MT0NBVElPTl9CVVNJTkVTU19BUFAgPSAxLFxuICAgIFBMQVRGT1JNX0xPQ0FUSU9OX1BBUlRORVJfQ0VOVEVSID0gMixcbiAgICBQTEFURk9STV9MT0NBVElPTl9WRU5ET1JfQ0VOVEVSID0gMyxcbiAgICBQTEFURk9STV9MT0NBVElPTl9UQVNLX01BTkFHRVIgPSA0LFxuICAgIFBMQVRGT1JNX0xPQ0FUSU9OX1BST1BPU0FMX0JVSUxERVIgPSA1LFxuICAgIFBMQVRGT1JNX0xPQ0FUSU9OX1NBTEVTX0NFTlRFUiA9IDYsXG4gICAgUExBVEZPUk1fTE9DQVRJT05fQURNSU5fQ0VOVEVSID0gNyxcbn1cbiJdfQ==
|
|
@@ -12,5 +12,6 @@ export { ViewType, } from './conversation-view.enum';
|
|
|
12
12
|
export { WidgetPosition, } from './widget.enum';
|
|
13
13
|
export { EvaluationSentiment, } from './evaluation.enum';
|
|
14
14
|
export { EventType, } from './event.enum';
|
|
15
|
-
export {
|
|
16
|
-
|
|
15
|
+
export { ExportStatus, } from './conversation-export.enum';
|
|
16
|
+
export { GetMessageTemplateRequestHydrationOptionsHydrationEntityEntityType, EvaluateResponseType, GetWidgetConfigResponseGreetingMessageType, MetadataIdentifier, SetLastSeenRequestStatus, Status, } from './api.enum';
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9jb252ZXJzYXRpb25fc2RrL3NyYy9saWIvX2ludGVybmFsL2VudW1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixlQUFlO0FBQ2Ysb0NBQW9DO0FBQ3BDLE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsYUFBYSxHQUNoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLGdCQUFnQixHQUNuQixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFDSCxhQUFhLEVBQ2IsV0FBVyxFQUNYLGVBQWUsR0FDbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0gsZUFBZSxHQUNsQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFDSCxRQUFRLEdBQ1gsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQ0gsY0FBYyxHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsbUJBQW1CLEdBQ3RCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUNILFNBQVMsR0FDWixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQ0gsWUFBWSxHQUNmLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUNILGtFQUFrRSxFQUNsRSxvQkFBb0IsRUFDcEIsMENBQTBDLEVBQzFDLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsTUFBTSxHQUNULE1BQU0sWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBFbnVtcyBJbmRleC5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuZXhwb3J0IHtcbiAgICBHbG9iYWxQYXJ0aWNpcGFudFR5cGUsXG4gICAgU29ydERpcmVjdGlvbixcbn0gZnJvbSAnLi9jb21tb24uZW51bSc7XG5leHBvcnQge1xuICAgIENvbnZlcnNhdGlvbkNoYW5uZWwsXG4gICAgUGxhdGZvcm1Mb2NhdGlvbixcbn0gZnJvbSAnLi9jb252ZXJzYXRpb24uZW51bSc7XG5leHBvcnQge1xuICAgIE1lc3NhZ2VTdGF0dXMsXG4gICAgTWVzc2FnZVR5cGUsXG4gICAgVUlDb21wb25lbnRUeXBlLFxufSBmcm9tICcuL21lc3NhZ2UuZW51bSc7XG5leHBvcnQge1xuICAgIFBhcnRpY2lwYW50VHlwZSxcbn0gZnJvbSAnLi9wYXJ0aWNpcGFudC5lbnVtJztcbmV4cG9ydCB7XG4gICAgVmlld1R5cGUsXG59IGZyb20gJy4vY29udmVyc2F0aW9uLXZpZXcuZW51bSc7XG5leHBvcnQge1xuICAgIFdpZGdldFBvc2l0aW9uLFxufSBmcm9tICcuL3dpZGdldC5lbnVtJztcbmV4cG9ydCB7XG4gICAgRXZhbHVhdGlvblNlbnRpbWVudCxcbn0gZnJvbSAnLi9ldmFsdWF0aW9uLmVudW0nO1xuZXhwb3J0IHtcbiAgICBFdmVudFR5cGUsXG59IGZyb20gJy4vZXZlbnQuZW51bSc7XG5leHBvcnQge1xuICAgIEV4cG9ydFN0YXR1cyxcbn0gZnJvbSAnLi9jb252ZXJzYXRpb24tZXhwb3J0LmVudW0nO1xuZXhwb3J0IHtcbiAgICBHZXRNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SHlkcmF0aW9uT3B0aW9uc0h5ZHJhdGlvbkVudGl0eUVudGl0eVR5cGUsXG4gICAgRXZhbHVhdGVSZXNwb25zZVR5cGUsXG4gICAgR2V0V2lkZ2V0Q29uZmlnUmVzcG9uc2VHcmVldGluZ01lc3NhZ2VUeXBlLFxuICAgIE1ldGFkYXRhSWRlbnRpZmllcixcbiAgICBTZXRMYXN0U2VlblJlcXVlc3RTdGF0dXMsXG4gICAgU3RhdHVzLFxufSBmcm9tICcuL2FwaS5lbnVtJztcbiJdfQ==
|