@dytesdk/angular-ui-kit 3.0.5 → 3.0.6
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/dist/esm2020/dytesdk-angular-ui-kit.mjs +5 -0
- package/dist/esm2020/lib/components.module.mjs +31 -0
- package/dist/esm2020/lib/stencil-generated/angular-component-lib/utils.mjs +59 -0
- package/dist/esm2020/lib/stencil-generated/components.mjs +3538 -0
- package/dist/esm2020/lib/stencil-generated/index.mjs +142 -0
- package/dist/esm2020/public-api.mjs +8 -0
- package/dist/{fesm2022 → fesm2015}/dytesdk-angular-ui-kit.mjs +567 -844
- package/dist/fesm2015/dytesdk-angular-ui-kit.mjs.map +1 -0
- package/dist/fesm2020/dytesdk-angular-ui-kit.mjs +3635 -0
- package/dist/fesm2020/dytesdk-angular-ui-kit.mjs.map +1 -0
- package/dist/lib/components.module.d.ts +1 -1
- package/dist/lib/stencil-generated/components.d.ts +138 -138
- package/package.json +4 -3
- package/dist/fesm2022/dytesdk-angular-ui-kit.mjs.map +0 -1
- /package/dist/{index.d.ts → dytesdk-angular-ui-kit.d.ts} +0 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHl0ZXNkay1hbmd1bGFyLXVpLWtpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9keXRlc2RrLWFuZ3VsYXItdWkta2l0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { APP_INITIALIZER, NgModule } from '@angular/core';
|
|
2
|
+
import { DIRECTIVES } from './stencil-generated';
|
|
3
|
+
import { defineCustomElements } from '@dytesdk/ui-kit/loader';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./stencil-generated/components";
|
|
6
|
+
export class DyteComponentsModule {
|
|
7
|
+
}
|
|
8
|
+
DyteComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DyteComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
DyteComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DyteComponentsModule, declarations: [i1.DyteAi, i1.DyteAiToggle, i1.DyteAiTranscriptions, i1.DyteAudioGrid, i1.DyteAudioTile, i1.DyteAudioVisualizer, i1.DyteAvatar, i1.DyteBreakoutRoomManager, i1.DyteBreakoutRoomParticipants, i1.DyteBreakoutRoomsManager, i1.DyteBreakoutRoomsToggle, i1.DyteBroadcastMessageModal, i1.DyteButton, i1.DyteCameraSelector, i1.DyteCameraToggle, i1.DyteCaptionToggle, i1.DyteChannelCreator, i1.DyteChannelDetails, i1.DyteChannelHeader, i1.DyteChannelSelectorUi, i1.DyteChannelSelectorView, i1.DyteChat, i1.DyteChatComposerUi, i1.DyteChatComposerView, i1.DyteChatMessage, i1.DyteChatMessagesUi, i1.DyteChatMessagesUiPaginated, i1.DyteChatSearchResults, i1.DyteChatSelectorUi, i1.DyteChatToggle, i1.DyteClock, i1.DyteConfirmationModal, i1.DyteControlbar, i1.DyteControlbarButton, i1.DyteCounter, i1.DyteDebugger, i1.DyteDebuggerAudio, i1.DyteDebuggerScreenshare, i1.DyteDebuggerSystem, i1.DyteDebuggerToggle, i1.DyteDebuggerVideo, i1.DyteDialog, i1.DyteDialogManager, i1.DyteDraftAttachmentView, i1.DyteEmojiPicker, i1.DyteEmojiPickerButton, i1.DyteEndedScreen, i1.DyteFileDropzone, i1.DyteFileMessage, i1.DyteFileMessageView, i1.DyteFilePickerButton, i1.DyteFullscreenToggle, i1.DyteGrid, i1.DyteGridPagination, i1.DyteHeader, i1.DyteIcon, i1.DyteIdleScreen, i1.DyteImageMessage, i1.DyteImageMessageView, i1.DyteImageViewer, i1.DyteInformationTooltip, i1.DyteJoinStage, i1.DyteLeaveButton, i1.DyteLeaveMeeting, i1.DyteLivestreamIndicator, i1.DyteLivestreamPlayer, i1.DyteLivestreamToggle, i1.DyteLogo, i1.DyteMarkdownView, i1.DyteMeeting, i1.DyteMeetingTitle, i1.DyteMenu, i1.DyteMenuItem, i1.DyteMenuList, i1.DyteMessageListView, i1.DyteMessageView, i1.DyteMicToggle, i1.DyteMicrophoneSelector, i1.DyteMixedGrid, i1.DyteMoreToggle, i1.DyteMuteAllButton, i1.DyteMuteAllConfirmation, i1.DyteNameTag, i1.DyteNetworkIndicator, i1.DyteNotification, i1.DyteNotifications, i1.DyteOverlayModal, i1.DytePaginatedList, i1.DyteParticipant, i1.DyteParticipantCount, i1.DyteParticipantSetup, i1.DyteParticipantTile, i1.DyteParticipants, i1.DyteParticipantsAudio, i1.DyteParticipantsStageList, i1.DyteParticipantsStageQueue, i1.DyteParticipantsToggle, i1.DyteParticipantsViewerList, i1.DyteParticipantsWaitingList, i1.DytePermissionsMessage, i1.DytePipToggle, i1.DytePluginMain, i1.DytePlugins, i1.DytePluginsToggle, i1.DytePoll, i1.DytePollForm, i1.DytePolls, i1.DytePollsToggle, i1.DyteRecordingIndicator, i1.DyteRecordingToggle, i1.DyteScreenShareToggle, i1.DyteScreenshareView, i1.DyteSettings, i1.DyteSettingsAudio, i1.DyteSettingsToggle, i1.DyteSettingsVideo, i1.DyteSetupScreen, i1.DyteSidebar, i1.DyteSidebarUi, i1.DyteSimpleGrid, i1.DyteSpeakerSelector, i1.DyteSpinner, i1.DyteSpotlightGrid, i1.DyteSpotlightIndicator, i1.DyteStage, i1.DyteStageToggle, i1.DyteSwitch, i1.DyteTabBar, i1.DyteTextComposerView, i1.DyteTextMessage, i1.DyteTextMessageView, i1.DyteTooltip, i1.DyteTranscript, i1.DyteTranscripts, i1.DyteUiProvider, i1.DyteViewerCount, i1.DyteVirtualizedParticipantList, i1.DyteWaitingScreen], exports: [i1.DyteAi, i1.DyteAiToggle, i1.DyteAiTranscriptions, i1.DyteAudioGrid, i1.DyteAudioTile, i1.DyteAudioVisualizer, i1.DyteAvatar, i1.DyteBreakoutRoomManager, i1.DyteBreakoutRoomParticipants, i1.DyteBreakoutRoomsManager, i1.DyteBreakoutRoomsToggle, i1.DyteBroadcastMessageModal, i1.DyteButton, i1.DyteCameraSelector, i1.DyteCameraToggle, i1.DyteCaptionToggle, i1.DyteChannelCreator, i1.DyteChannelDetails, i1.DyteChannelHeader, i1.DyteChannelSelectorUi, i1.DyteChannelSelectorView, i1.DyteChat, i1.DyteChatComposerUi, i1.DyteChatComposerView, i1.DyteChatMessage, i1.DyteChatMessagesUi, i1.DyteChatMessagesUiPaginated, i1.DyteChatSearchResults, i1.DyteChatSelectorUi, i1.DyteChatToggle, i1.DyteClock, i1.DyteConfirmationModal, i1.DyteControlbar, i1.DyteControlbarButton, i1.DyteCounter, i1.DyteDebugger, i1.DyteDebuggerAudio, i1.DyteDebuggerScreenshare, i1.DyteDebuggerSystem, i1.DyteDebuggerToggle, i1.DyteDebuggerVideo, i1.DyteDialog, i1.DyteDialogManager, i1.DyteDraftAttachmentView, i1.DyteEmojiPicker, i1.DyteEmojiPickerButton, i1.DyteEndedScreen, i1.DyteFileDropzone, i1.DyteFileMessage, i1.DyteFileMessageView, i1.DyteFilePickerButton, i1.DyteFullscreenToggle, i1.DyteGrid, i1.DyteGridPagination, i1.DyteHeader, i1.DyteIcon, i1.DyteIdleScreen, i1.DyteImageMessage, i1.DyteImageMessageView, i1.DyteImageViewer, i1.DyteInformationTooltip, i1.DyteJoinStage, i1.DyteLeaveButton, i1.DyteLeaveMeeting, i1.DyteLivestreamIndicator, i1.DyteLivestreamPlayer, i1.DyteLivestreamToggle, i1.DyteLogo, i1.DyteMarkdownView, i1.DyteMeeting, i1.DyteMeetingTitle, i1.DyteMenu, i1.DyteMenuItem, i1.DyteMenuList, i1.DyteMessageListView, i1.DyteMessageView, i1.DyteMicToggle, i1.DyteMicrophoneSelector, i1.DyteMixedGrid, i1.DyteMoreToggle, i1.DyteMuteAllButton, i1.DyteMuteAllConfirmation, i1.DyteNameTag, i1.DyteNetworkIndicator, i1.DyteNotification, i1.DyteNotifications, i1.DyteOverlayModal, i1.DytePaginatedList, i1.DyteParticipant, i1.DyteParticipantCount, i1.DyteParticipantSetup, i1.DyteParticipantTile, i1.DyteParticipants, i1.DyteParticipantsAudio, i1.DyteParticipantsStageList, i1.DyteParticipantsStageQueue, i1.DyteParticipantsToggle, i1.DyteParticipantsViewerList, i1.DyteParticipantsWaitingList, i1.DytePermissionsMessage, i1.DytePipToggle, i1.DytePluginMain, i1.DytePlugins, i1.DytePluginsToggle, i1.DytePoll, i1.DytePollForm, i1.DytePolls, i1.DytePollsToggle, i1.DyteRecordingIndicator, i1.DyteRecordingToggle, i1.DyteScreenShareToggle, i1.DyteScreenshareView, i1.DyteSettings, i1.DyteSettingsAudio, i1.DyteSettingsToggle, i1.DyteSettingsVideo, i1.DyteSetupScreen, i1.DyteSidebar, i1.DyteSidebarUi, i1.DyteSimpleGrid, i1.DyteSpeakerSelector, i1.DyteSpinner, i1.DyteSpotlightGrid, i1.DyteSpotlightIndicator, i1.DyteStage, i1.DyteStageToggle, i1.DyteSwitch, i1.DyteTabBar, i1.DyteTextComposerView, i1.DyteTextMessage, i1.DyteTextMessageView, i1.DyteTooltip, i1.DyteTranscript, i1.DyteTranscripts, i1.DyteUiProvider, i1.DyteViewerCount, i1.DyteVirtualizedParticipantList, i1.DyteWaitingScreen] });
|
|
10
|
+
DyteComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DyteComponentsModule, providers: [
|
|
11
|
+
{
|
|
12
|
+
provide: APP_INITIALIZER,
|
|
13
|
+
useFactory: () => defineCustomElements,
|
|
14
|
+
multi: true,
|
|
15
|
+
},
|
|
16
|
+
] });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DyteComponentsModule, decorators: [{
|
|
18
|
+
type: NgModule,
|
|
19
|
+
args: [{
|
|
20
|
+
declarations: [...DIRECTIVES],
|
|
21
|
+
exports: [...DIRECTIVES],
|
|
22
|
+
providers: [
|
|
23
|
+
{
|
|
24
|
+
provide: APP_INITIALIZER,
|
|
25
|
+
useFactory: () => defineCustomElements,
|
|
26
|
+
multi: true,
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
}]
|
|
30
|
+
}] });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBYTlELE1BQU0sT0FBTyxvQkFBb0I7O2tIQUFwQixvQkFBb0I7bUhBQXBCLG9CQUFvQjttSEFBcEIsb0JBQW9CLGFBUnBCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsZUFBZTtZQUN4QixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsb0JBQW9CO1lBQ3RDLEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRjs0RkFFVSxvQkFBb0I7a0JBWGhDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7b0JBQzdCLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO29CQUN4QixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxvQkFBb0I7NEJBQ3RDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRElSRUNUSVZFUyB9IGZyb20gJy4vc3RlbmNpbC1nZW5lcmF0ZWQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudHMgfSBmcm9tICdAZHl0ZXNkay91aS1raXQvbG9hZGVyJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbLi4uRElSRUNUSVZFU10sXG4gIGV4cG9ydHM6IFsuLi5ESVJFQ1RJVkVTXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgdXNlRmFjdG9yeTogKCkgPT4gZGVmaW5lQ3VzdG9tRWxlbWVudHMsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEeXRlQ29tcG9uZW50c01vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
import { fromEvent } from 'rxjs';
|
|
4
|
+
export const proxyInputs = (Cmp, inputs) => {
|
|
5
|
+
const Prototype = Cmp.prototype;
|
|
6
|
+
inputs.forEach((item) => {
|
|
7
|
+
Object.defineProperty(Prototype, item, {
|
|
8
|
+
get() {
|
|
9
|
+
return this.el[item];
|
|
10
|
+
},
|
|
11
|
+
set(val) {
|
|
12
|
+
this.z.runOutsideAngular(() => (this.el[item] = val));
|
|
13
|
+
},
|
|
14
|
+
/**
|
|
15
|
+
* In the event that proxyInputs is called
|
|
16
|
+
* multiple times re-defining these inputs
|
|
17
|
+
* will cause an error to be thrown. As a result
|
|
18
|
+
* we set configurable: true to indicate these
|
|
19
|
+
* properties can be changed.
|
|
20
|
+
*/
|
|
21
|
+
configurable: true,
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
export const proxyMethods = (Cmp, methods) => {
|
|
26
|
+
const Prototype = Cmp.prototype;
|
|
27
|
+
methods.forEach((methodName) => {
|
|
28
|
+
Prototype[methodName] = function () {
|
|
29
|
+
const args = arguments;
|
|
30
|
+
return this.z.runOutsideAngular(() => this.el[methodName].apply(this.el, args));
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
export const proxyOutputs = (instance, el, events) => {
|
|
35
|
+
events.forEach((eventName) => (instance[eventName] = fromEvent(el, eventName)));
|
|
36
|
+
};
|
|
37
|
+
export const defineCustomElement = (tagName, customElement) => {
|
|
38
|
+
if (customElement !== undefined && typeof customElements !== 'undefined' && !customElements.get(tagName)) {
|
|
39
|
+
customElements.define(tagName, customElement);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
// tslint:disable-next-line: only-arrow-functions
|
|
43
|
+
export function ProxyCmp(opts) {
|
|
44
|
+
const decorator = function (cls) {
|
|
45
|
+
const { defineCustomElementFn, inputs, methods } = opts;
|
|
46
|
+
if (defineCustomElementFn !== undefined) {
|
|
47
|
+
defineCustomElementFn();
|
|
48
|
+
}
|
|
49
|
+
if (inputs) {
|
|
50
|
+
proxyInputs(cls, inputs);
|
|
51
|
+
}
|
|
52
|
+
if (methods) {
|
|
53
|
+
proxyMethods(cls, methods);
|
|
54
|
+
}
|
|
55
|
+
return cls;
|
|
56
|
+
};
|
|
57
|
+
return decorator;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3N0ZW5jaWwtZ2VuZXJhdGVkL2FuZ3VsYXItY29tcG9uZW50LWxpYi91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBb0I7QUFDcEIsb0JBQW9CO0FBQ3BCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBUSxFQUFFLE1BQWdCLEVBQUUsRUFBRTtJQUN4RCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO0lBQ2hDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUN0QixNQUFNLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUU7WUFDckMsR0FBRztnQkFDRCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkIsQ0FBQztZQUNELEdBQUcsQ0FBQyxHQUFRO2dCQUNWLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDeEQsQ0FBQztZQUNEOzs7Ozs7ZUFNRztZQUNILFlBQVksRUFBRSxJQUFJO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBUSxFQUFFLE9BQWlCLEVBQUUsRUFBRTtJQUMxRCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO0lBQ2hDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUM3QixTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUc7WUFDdEIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEYsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxRQUFhLEVBQUUsRUFBTyxFQUFFLE1BQWdCLEVBQUUsRUFBRTtJQUN2RSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLE9BQWUsRUFBRSxhQUFrQixFQUFFLEVBQUU7SUFDekUsSUFBSSxhQUFhLEtBQUssU0FBUyxJQUFJLE9BQU8sY0FBYyxLQUFLLFdBQVcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDeEcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7S0FDL0M7QUFDSCxDQUFDLENBQUM7QUFFRixpREFBaUQ7QUFDakQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxJQUF5RTtJQUNoRyxNQUFNLFNBQVMsR0FBRyxVQUFVLEdBQVE7UUFDbEMsTUFBTSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFeEQsSUFBSSxxQkFBcUIsS0FBSyxTQUFTLEVBQUU7WUFDdkMscUJBQXFCLEVBQUUsQ0FBQztTQUN6QjtRQUVELElBQUksTUFBTSxFQUFFO1lBQ1YsV0FBVyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUMxQjtRQUNELElBQUksT0FBTyxFQUFFO1lBQ1gsWUFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUM1QjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxDQUFDO0lBQ0YsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICovXG4vKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBwcm94eUlucHV0cyA9IChDbXA6IGFueSwgaW5wdXRzOiBzdHJpbmdbXSkgPT4ge1xuICBjb25zdCBQcm90b3R5cGUgPSBDbXAucHJvdG90eXBlO1xuICBpbnB1dHMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShQcm90b3R5cGUsIGl0ZW0sIHtcbiAgICAgIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxbaXRlbV07XG4gICAgICB9LFxuICAgICAgc2V0KHZhbDogYW55KSB7XG4gICAgICAgIHRoaXMuei5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiAodGhpcy5lbFtpdGVtXSA9IHZhbCkpO1xuICAgICAgfSxcbiAgICAgIC8qKlxuICAgICAgICogSW4gdGhlIGV2ZW50IHRoYXQgcHJveHlJbnB1dHMgaXMgY2FsbGVkXG4gICAgICAgKiBtdWx0aXBsZSB0aW1lcyByZS1kZWZpbmluZyB0aGVzZSBpbnB1dHNcbiAgICAgICAqIHdpbGwgY2F1c2UgYW4gZXJyb3IgdG8gYmUgdGhyb3duLiBBcyBhIHJlc3VsdFxuICAgICAgICogd2Ugc2V0IGNvbmZpZ3VyYWJsZTogdHJ1ZSB0byBpbmRpY2F0ZSB0aGVzZVxuICAgICAgICogcHJvcGVydGllcyBjYW4gYmUgY2hhbmdlZC5cbiAgICAgICAqL1xuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIH0pO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBwcm94eU1ldGhvZHMgPSAoQ21wOiBhbnksIG1ldGhvZHM6IHN0cmluZ1tdKSA9PiB7XG4gIGNvbnN0IFByb3RvdHlwZSA9IENtcC5wcm90b3R5cGU7XG4gIG1ldGhvZHMuZm9yRWFjaCgobWV0aG9kTmFtZSkgPT4ge1xuICAgIFByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGFyZ3MgPSBhcmd1bWVudHM7XG4gICAgICByZXR1cm4gdGhpcy56LnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHRoaXMuZWxbbWV0aG9kTmFtZV0uYXBwbHkodGhpcy5lbCwgYXJncykpO1xuICAgIH07XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHByb3h5T3V0cHV0cyA9IChpbnN0YW5jZTogYW55LCBlbDogYW55LCBldmVudHM6IHN0cmluZ1tdKSA9PiB7XG4gIGV2ZW50cy5mb3JFYWNoKChldmVudE5hbWUpID0+IChpbnN0YW5jZVtldmVudE5hbWVdID0gZnJvbUV2ZW50KGVsLCBldmVudE5hbWUpKSk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQ3VzdG9tRWxlbWVudCA9ICh0YWdOYW1lOiBzdHJpbmcsIGN1c3RvbUVsZW1lbnQ6IGFueSkgPT4ge1xuICBpZiAoY3VzdG9tRWxlbWVudCAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiBjdXN0b21FbGVtZW50cyAhPT0gJ3VuZGVmaW5lZCcgJiYgIWN1c3RvbUVsZW1lbnRzLmdldCh0YWdOYW1lKSkge1xuICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSh0YWdOYW1lLCBjdXN0b21FbGVtZW50KTtcbiAgfVxufTtcblxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBvbmx5LWFycm93LWZ1bmN0aW9uc1xuZXhwb3J0IGZ1bmN0aW9uIFByb3h5Q21wKG9wdHM6IHsgZGVmaW5lQ3VzdG9tRWxlbWVudEZuPzogKCkgPT4gdm9pZDsgaW5wdXRzPzogYW55OyBtZXRob2RzPzogYW55IH0pIHtcbiAgY29uc3QgZGVjb3JhdG9yID0gZnVuY3Rpb24gKGNsczogYW55KSB7XG4gICAgY29uc3QgeyBkZWZpbmVDdXN0b21FbGVtZW50Rm4sIGlucHV0cywgbWV0aG9kcyB9ID0gb3B0cztcblxuICAgIGlmIChkZWZpbmVDdXN0b21FbGVtZW50Rm4gIT09IHVuZGVmaW5lZCkge1xuICAgICAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuKCk7XG4gICAgfVxuXG4gICAgaWYgKGlucHV0cykge1xuICAgICAgcHJveHlJbnB1dHMoY2xzLCBpbnB1dHMpO1xuICAgIH1cbiAgICBpZiAobWV0aG9kcykge1xuICAgICAgcHJveHlNZXRob2RzKGNscywgbWV0aG9kcyk7XG4gICAgfVxuICAgIHJldHVybiBjbHM7XG4gIH07XG4gIHJldHVybiBkZWNvcmF0b3I7XG59XG4iXX0=
|