@sinequa/assistant 3.1.1 → 3.2.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/chat/chat-message/chat-message.component.d.ts +2 -0
- package/chat/chat-settings-v3/chat-settings-v3.component.d.ts +8 -3
- package/chat/chat.component.d.ts +164 -145
- package/chat/chat.service.d.ts +21 -914
- package/chat/prompt.component.d.ts +21 -0
- package/chat/public-api.d.ts +1 -0
- package/chat/rest-chat.service.d.ts +4 -2
- package/chat/saved-chats/saved-chats.component.d.ts +5 -3
- package/chat/styles/assistant.scss +21 -1
- package/chat/types.d.ts +284 -866
- package/chat/websocket-chat.service.d.ts +4 -2
- package/esm2020/chat/chat-message/chat-message.component.mjs +5 -3
- package/esm2020/chat/chat-reference/chat-reference.component.mjs +3 -3
- package/esm2020/chat/chat-settings-v3/chat-settings-v3.component.mjs +22 -24
- package/esm2020/chat/chat.component.mjs +88 -33
- package/esm2020/chat/chat.service.mjs +68 -24
- package/esm2020/chat/prompt.component.mjs +88 -0
- package/esm2020/chat/public-api.mjs +2 -1
- package/esm2020/chat/rest-chat.service.mjs +41 -18
- package/esm2020/chat/saved-chats/saved-chats.component.mjs +38 -7
- package/esm2020/chat/types.mjs +50 -54
- package/esm2020/chat/websocket-chat.service.mjs +46 -19
- package/fesm2015/sinequa-assistant-chat.mjs +428 -172
- package/fesm2015/sinequa-assistant-chat.mjs.map +1 -1
- package/fesm2020/sinequa-assistant-chat.mjs +429 -176
- package/fesm2020/sinequa-assistant-chat.mjs.map +1 -1
- package/package.json +4 -2
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output, inject } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { Validators } from '@angular/forms';
|
|
2
4
|
import { AuditWebService } from "@sinequa/core/web-services";
|
|
3
|
-
import { InstanceManagerService } from "../instance-manager.service";
|
|
4
5
|
import { Subscription, catchError, filter, switchMap, tap, throwError, BehaviorSubject } from "rxjs";
|
|
5
|
-
import { CommonModule } from "@angular/common";
|
|
6
6
|
import { LoginService } from "@sinequa/core/login";
|
|
7
|
-
import { ModalButton,
|
|
7
|
+
import { ModalButton, ModalService, ModalModule } from "@sinequa/core/modal";
|
|
8
8
|
import { NotificationsService } from "@sinequa/core/notification";
|
|
9
9
|
import { UtilsModule } from "@sinequa/components/utils";
|
|
10
10
|
import { format, parseISO, isToday, isYesterday, isThisWeek, isThisMonth, isThisQuarter, isThisYear, endOfYesterday, differenceInDays, differenceInMonths, differenceInYears } from 'date-fns';
|
|
11
|
+
import { InstanceManagerService } from "../instance-manager.service";
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
import * as i1 from "@angular/common";
|
|
13
14
|
import * as i2 from "@sinequa/components/utils";
|
|
@@ -36,12 +37,42 @@ export class SavedChatsComponent {
|
|
|
36
37
|
this.chatService = this.instanceManagerService.getInstance(this.instanceId);
|
|
37
38
|
}
|
|
38
39
|
onListSavedChat() {
|
|
39
|
-
this.subscription.add(this.chatService.savedChats$.subscribe((savedChats) =>
|
|
40
|
+
this.subscription.add(this.chatService.savedChats$.subscribe((savedChats) => {
|
|
41
|
+
this.currentChatId = undefined;
|
|
42
|
+
this.groupedSavedChats$.next(this._groupSavedChatsByDate(savedChats));
|
|
43
|
+
}));
|
|
40
44
|
}
|
|
41
45
|
onLoad(savedChat) {
|
|
46
|
+
this.currentChatId = savedChat.id;
|
|
42
47
|
this.chatService.loadSavedChat$.next(savedChat);
|
|
48
|
+
this.chatService.listSavedChat();
|
|
43
49
|
this.load.emit(savedChat);
|
|
44
50
|
}
|
|
51
|
+
onRename(savedChat) {
|
|
52
|
+
const model = {
|
|
53
|
+
title: 'Rename saved discussion',
|
|
54
|
+
message: `Please enter a new name for the discussion "${savedChat.title}".`,
|
|
55
|
+
buttons: [
|
|
56
|
+
new ModalButton({ result: -2 /* ModalResult.Cancel */ }),
|
|
57
|
+
new ModalButton({ result: -1 /* ModalResult.OK */, text: "Rename", primary: true })
|
|
58
|
+
],
|
|
59
|
+
output: savedChat.title,
|
|
60
|
+
validators: [Validators.required]
|
|
61
|
+
};
|
|
62
|
+
this.modalService.prompt(model).then(res => {
|
|
63
|
+
if (res === -1 /* ModalResult.OK */) {
|
|
64
|
+
this.subscription.add(this.chatService.updateSavedChat(savedChat.id, model.output)
|
|
65
|
+
.pipe(tap(() => {
|
|
66
|
+
this.notificationsService.success(`The saved discussion "${savedChat.title}" has been successfully renamed to "${model.output}".`);
|
|
67
|
+
this.chatService.listSavedChat();
|
|
68
|
+
}), catchError((error) => {
|
|
69
|
+
console.error('Error occurred while updating the saved chat:', error);
|
|
70
|
+
this.notificationsService.error(`Error occurred while updating the saved discussion "${savedChat.title}"`);
|
|
71
|
+
return throwError(() => error);
|
|
72
|
+
})).subscribe());
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
45
76
|
onDelete(savedChat) {
|
|
46
77
|
this.modalService
|
|
47
78
|
.confirm({
|
|
@@ -118,10 +149,10 @@ export class SavedChatsComponent {
|
|
|
118
149
|
}
|
|
119
150
|
}
|
|
120
151
|
SavedChatsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SavedChatsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
121
|
-
SavedChatsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: SavedChatsComponent, isStandalone: true, selector: "sq-saved-chats-v3", inputs: { instanceId: "instanceId" }, outputs: { load: "load", delete: "delete" }, ngImport: i0, template: "<div *ngFor=\"let group of (groupedSavedChats$ | async)\" class=\"saved-chats\">\n <div class=\"saved-chat-date\">{{group.key}}</div>\n <div *ngFor=\"let savedChat of group.value\" class=\"saved-chat p-2\"
|
|
152
|
+
SavedChatsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: SavedChatsComponent, isStandalone: true, selector: "sq-saved-chats-v3", inputs: { instanceId: "instanceId" }, outputs: { load: "load", delete: "delete" }, ngImport: i0, template: "<ng-container *ngIf=\"(chatService.chatConfig$ | async)?.savedChatSettings.display\">\n <div *ngFor=\"let group of (groupedSavedChats$ | async)\" class=\"saved-chats\">\n <div class=\"saved-chat-date\">{{group.key}}</div>\n <div *ngFor=\"let savedChat of group.value\" class=\"saved-chat p-2\" [class.active]=\"currentChatId === savedChat.id\"\n (click)=\"onLoad(savedChat)\">\n <span class=\"title me-1\">{{savedChat.title}}</span>\n <i class=\"saved-chat-actions fas fa-pen mx-1\" [sqTooltip]=\"'Rename'\"\n (click)=\"$event.stopPropagation(); onRename(savedChat)\"></i>\n <i class=\"saved-chat-actions fas fa-trash ms-1\" [sqTooltip]=\"'Delete'\"\n (click)=\"$event.stopPropagation(); onDelete(savedChat)\"></i>\n </div>\n </div>\n</ng-container>\n", styles: [".ast-primary{color:var(--ast-primary-color, #005DA7);background-color:var(--ast-primary-bg, #f2f8fe)}.ast-primary-hover{background-color:var(--ast-primary-bg, #f2f8fe)}.ast-primary-hover:hover{color:var(--ast-primary-color, #005DA7)}.ast-secondary{color:var(--ast-secondary-color, #FF732E);background-color:var(--ast-secondary-bg, #FFF8F1)}.ast-btn{border:0;text-align:left;padding-top:.5rem;padding-bottom:.5rem;display:flex;align-items:center}.dark{--ast-primary-bg: #0d0701;--ast-primary-color: #008cd1;--ast-secondary-bg: #00070e;--ast-secondary-color: #ffa258;--ast-input-bg: #070707;--ast-input-color: rgba(222, 218, 218, .75);--ast-muted-color: rgba(222, 218, 218, .75);--ast-saved-chat-hover-background: #262421;--ast-message-table-border-color: #333333;--ast-message-table-tr-bg: #070707;--ast-message-table-tr-border-color: #222222;--ast-reference-icon-color: white;--ast-reference-icon-active-color: black;--ast-reference-passages-color: white;--ast-reference-expanded-hover-bg: #262421;--ast-message-reference-color: black}.saved-chats .saved-chat-date{font-weight:500;color:#a9a9a9;margin-top:.5rem}.saved-chats .saved-chat{display:flex;align-items:center;cursor:pointer;margin-left:.25rem}.saved-chats .saved-chat span{flex-grow:1;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.saved-chats .saved-chat .saved-chat-actions{display:none}.saved-chats .saved-chat:hover,.saved-chats .saved-chat.active{color:var(--ast-secondary-color, #FF732E);background-color:var(--ast-saved-chat-hover-background, #FFF8F1)}.saved-chats .saved-chat:hover .saved-chat-actions{display:block}.saved-chats .title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ModalModule }, { kind: "ngmodule", type: UtilsModule }, { kind: "directive", type: i2.TooltipDirective, selector: "[sqTooltip]", inputs: ["sqTooltip", "sqTooltipData", "sqTooltipTemplate", "placement", "fallbackPlacements", "delay", "hoverableTooltip", "tooltipClass"] }] });
|
|
122
153
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SavedChatsComponent, decorators: [{
|
|
123
154
|
type: Component,
|
|
124
|
-
args: [{ selector: 'sq-saved-chats-v3', standalone: true, imports: [CommonModule, ModalModule, UtilsModule], template: "<div *ngFor=\"let group of (groupedSavedChats$ | async)\" class=\"saved-chats\">\n <div class=\"saved-chat-date\">{{group.key}}</div>\n <div *ngFor=\"let savedChat of group.value\" class=\"saved-chat p-2\"
|
|
155
|
+
args: [{ selector: 'sq-saved-chats-v3', standalone: true, imports: [CommonModule, ModalModule, UtilsModule], template: "<ng-container *ngIf=\"(chatService.chatConfig$ | async)?.savedChatSettings.display\">\n <div *ngFor=\"let group of (groupedSavedChats$ | async)\" class=\"saved-chats\">\n <div class=\"saved-chat-date\">{{group.key}}</div>\n <div *ngFor=\"let savedChat of group.value\" class=\"saved-chat p-2\" [class.active]=\"currentChatId === savedChat.id\"\n (click)=\"onLoad(savedChat)\">\n <span class=\"title me-1\">{{savedChat.title}}</span>\n <i class=\"saved-chat-actions fas fa-pen mx-1\" [sqTooltip]=\"'Rename'\"\n (click)=\"$event.stopPropagation(); onRename(savedChat)\"></i>\n <i class=\"saved-chat-actions fas fa-trash ms-1\" [sqTooltip]=\"'Delete'\"\n (click)=\"$event.stopPropagation(); onDelete(savedChat)\"></i>\n </div>\n </div>\n</ng-container>\n", styles: [".ast-primary{color:var(--ast-primary-color, #005DA7);background-color:var(--ast-primary-bg, #f2f8fe)}.ast-primary-hover{background-color:var(--ast-primary-bg, #f2f8fe)}.ast-primary-hover:hover{color:var(--ast-primary-color, #005DA7)}.ast-secondary{color:var(--ast-secondary-color, #FF732E);background-color:var(--ast-secondary-bg, #FFF8F1)}.ast-btn{border:0;text-align:left;padding-top:.5rem;padding-bottom:.5rem;display:flex;align-items:center}.dark{--ast-primary-bg: #0d0701;--ast-primary-color: #008cd1;--ast-secondary-bg: #00070e;--ast-secondary-color: #ffa258;--ast-input-bg: #070707;--ast-input-color: rgba(222, 218, 218, .75);--ast-muted-color: rgba(222, 218, 218, .75);--ast-saved-chat-hover-background: #262421;--ast-message-table-border-color: #333333;--ast-message-table-tr-bg: #070707;--ast-message-table-tr-border-color: #222222;--ast-reference-icon-color: white;--ast-reference-icon-active-color: black;--ast-reference-passages-color: white;--ast-reference-expanded-hover-bg: #262421;--ast-message-reference-color: black}.saved-chats .saved-chat-date{font-weight:500;color:#a9a9a9;margin-top:.5rem}.saved-chats .saved-chat{display:flex;align-items:center;cursor:pointer;margin-left:.25rem}.saved-chats .saved-chat span{flex-grow:1;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.saved-chats .saved-chat .saved-chat-actions{display:none}.saved-chats .saved-chat:hover,.saved-chats .saved-chat.active{color:var(--ast-secondary-color, #FF732E);background-color:var(--ast-saved-chat-hover-background, #FFF8F1)}.saved-chats .saved-chat:hover .saved-chat-actions{display:block}.saved-chats .title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
|
|
125
156
|
}], propDecorators: { instanceId: [{
|
|
126
157
|
type: Input
|
|
127
158
|
}], load: [{
|
|
@@ -129,4 +160,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
129
160
|
}], delete: [{
|
|
130
161
|
type: Output
|
|
131
162
|
}] } });
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZWQtY2hhdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNzaXN0YW50L2NoYXQvc2F2ZWQtY2hhdHMvc2F2ZWQtY2hhdHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNzaXN0YW50L2NoYXQvc2F2ZWQtY2hhdHMvc2F2ZWQtY2hhdHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUc3RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFlLFdBQVcsRUFBRSxXQUFXLEVBQWUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIs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QUFDLEVBQUU7WUFDNUIsT0FBTyxjQUFjLENBQUM7U0FDekI7YUFBTSxJQUFJLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN4RCxPQUFPLGNBQWMsQ0FBQztTQUN6QjthQUFNLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sV0FBVyxDQUFDO1NBQ3RCO2FBQU0sSUFBSSxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEQsT0FBTyxXQUFXLENBQUM7U0FDdEI7YUFBTTtZQUNILE9BQU8sTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztTQUMvQjtJQUNILENBQUM7O2dIQTlIVSxtQkFBbUI7b0dBQW5CLG1CQUFtQixnS0NwQmhDLDhiQU9BLG9tQkRXWSxZQUFZLGdOQUFFLFdBQVcsOEJBQUUsV0FBVzsyRkFFckMsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLG1CQUFtQixjQUdqQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQzs4QkFJeEMsVUFBVTtzQkFBbEIsS0FBSztnQkFFSSxJQUFJO3NCQUFiLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQXVkaXRXZWJTZXJ2aWNlIH0gZnJvbSBcIkBzaW5lcXVhL2NvcmUvd2ViLXNlcnZpY2VzXCI7XG5pbXBvcnQgeyBDaGF0U2VydmljZSB9IGZyb20gXCIuLi9jaGF0LnNlcnZpY2VcIjtcbmltcG9ydCB7IFNhdmVkQ2hhdCB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgSW5zdGFuY2VNYW5hZ2VyU2VydmljZSB9IGZyb20gXCIuLi9pbnN0YW5jZS1tYW5hZ2VyLnNlcnZpY2VcIjtcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgY2F0Y2hFcnJvciwgZmlsdGVyLCBzd2l0Y2hNYXAsIHRhcCwgdGhyb3dFcnJvciwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IExvZ2luU2VydmljZSB9IGZyb20gXCJAc2luZXF1YS9jb3JlL2xvZ2luXCI7XG5pbXBvcnQgeyBDb25maXJtVHlwZSwgTW9kYWxCdXR0b24sIE1vZGFsTW9kdWxlLCBNb2RhbFJlc3VsdCwgTW9kYWxTZXJ2aWNlIH0gZnJvbSBcIkBzaW5lcXVhL2NvcmUvbW9kYWxcIjtcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNTZXJ2aWNlIH0gZnJvbSBcIkBzaW5lcXVhL2NvcmUvbm90aWZpY2F0aW9uXCI7XG5pbXBvcnQgeyBVdGlsc01vZHVsZSB9IGZyb20gXCJAc2luZXF1YS9jb21wb25lbnRzL3V0aWxzXCI7XG5pbXBvcnQgeyBmb3JtYXQsIHBhcnNlSVNPLCBpc1RvZGF5LCBpc1llc3RlcmRheSwgaXNUaGlzV2VlaywgaXNUaGlzTW9udGgsIGlzVGhpc1F1YXJ0ZXIsIGlzVGhpc1llYXIsIGVuZE9mWWVzdGVyZGF5LCBkaWZmZXJlbmNlSW5EYXlzLCBkaWZmZXJlbmNlSW5Nb250aHMsIGRpZmZlcmVuY2VJblllYXJzIH0gZnJvbSAnZGF0ZS1mbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcS1zYXZlZC1jaGF0cy12MycsXG4gIHRlbXBsYXRlVXJsOiAnc2F2ZWQtY2hhdHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnc2F2ZWQtY2hhdHMuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTW9kYWxNb2R1bGUsIFV0aWxzTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBTYXZlZENoYXRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKiogRGVmaW5lIHRoZSBrZXkgYmFzZWQgb24gaXQsIHRoZSBhcHByb3ByaWF0ZSBjaGF0U2VydmljZSBpbnN0YW5jZSB3aWxsIGJlIHJldHVybmVkIGZyb20gaW5zdGFuY2VNYW5hZ2VyU2VydmljZSAqL1xuICBASW5wdXQoKSBpbnN0YW5jZUlkOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIGxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNhdmVkQ2hhdD4oKTtcbiAgQE91dHB1dCgpIGRlbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2F2ZWRDaGF0PigpO1xuXG4gIGNoYXRTZXJ2aWNlOiBDaGF0U2VydmljZTtcbiAgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICBncm91cGVkU2F2ZWRDaGF0cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHsga2V5OiBzdHJpbmc7IHZhbHVlOiBTYXZlZENoYXRbXX1bXT4oW10pO1xuXG4gIHB1YmxpYyBsb2dpblNlcnZpY2UgPSBpbmplY3QoTG9naW5TZXJ2aWNlKTtcbiAgcHVibGljIGluc3RhbmNlTWFuYWdlclNlcnZpY2UgPSBpbmplY3QoSW5zdGFuY2VNYW5hZ2VyU2VydmljZSk7XG4gIHB1YmxpYyBhdWRpdFNlcnZpY2UgPSBpbmplY3QoQXVkaXRXZWJTZXJ2aWNlKTtcbiAgcHVibGljIG1vZGFsU2VydmljZSA9IGluamVjdChNb2RhbFNlcnZpY2UpO1xuICBwdWJsaWMgbm90aWZpY2F0aW9uc1NlcnZpY2UgPSBpbmplY3QoTm90aWZpY2F0aW9uc1NlcnZpY2UpO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMubG9naW5TZXJ2aWNlLmV2ZW50cy5waXBlKFxuICAgICAgICBmaWx0ZXIoZSA9PiBlLnR5cGUgPT09ICdsb2dpbi1jb21wbGV0ZScpLFxuICAgICAgICB0YXAoXyA9PiB0aGlzLmluc3RhbnRpYXRlQ2hhdFNlcnZpY2UoKSksXG4gICAgICAgIHN3aXRjaE1hcChfID0+IHRoaXMuY2hhdFNlcnZpY2UuaW5pdFByb2Nlc3MkKSxcbiAgICAgICAgZmlsdGVyKHN1Y2Nlc3MgPT4gISFzdWNjZXNzKSxcbiAgICAgICAgdGFwKF8gPT4ge1xuICAgICAgICAgIHRoaXMub25MaXN0U2F2ZWRDaGF0KCk7XG4gICAgICAgICAgdGhpcy5jaGF0U2VydmljZS5saXN0U2F2ZWRDaGF0KCk7XG4gICAgICAgIH0pXG4gICAgICApLnN1YnNjcmliZSgpXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBpbnN0YW50aWF0ZUNoYXRTZXJ2aWNlKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhdFNlcnZpY2UgPSB0aGlzLmluc3RhbmNlTWFuYWdlclNlcnZpY2UuZ2V0SW5zdGFuY2UodGhpcy5pbnN0YW5jZUlkKTtcbiAgfVxuXG4gIG9uTGlzdFNhdmVkQ2hhdCgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICB0aGlzLmNoYXRTZXJ2aWNlLnNhdmVkQ2hhdHMkLnN1YnNjcmliZShcbiAgICAgICAgKHNhdmVkQ2hhdHM6IFNhdmVkQ2hhdFtdKSA9PiB0aGlzLmdyb3VwZWRTYXZlZENoYXRzJC5uZXh0KHRoaXMuX2dyb3VwU2F2ZWRDaGF0c0J5RGF0ZShzYXZlZENoYXRzKSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgb25Mb2FkKHNhdmVkQ2hhdDogU2F2ZWRDaGF0KSB7XG4gICAgdGhpcy5jaGF0U2VydmljZS5sb2FkU2F2ZWRDaGF0JC5uZXh0KHNhdmVkQ2hhdCk7XG4gICAgdGhpcy5sb2FkLmVtaXQoc2F2ZWRDaGF0KTtcbiAgfVxuXG4gIG9uRGVsZXRlKHNhdmVkQ2hhdDogU2F2ZWRDaGF0KSB7XG4gICAgdGhpcy5tb2RhbFNlcnZpY2VcbiAgICAgIC5jb25maXJtKHtcbiAgICAgICAgICB0aXRsZTogXCJEZWxldGUgc2F2ZWQgZGlzY3Vzc2lvblwiLFxuICAgICAgICAgIG1lc3NhZ2U6IGBZb3UgYXJlIGFib3V0IHRvIGRlbGV0ZSB0aGUgZGlzY3Vzc2lvbiBcIiR7c2F2ZWRDaGF0LnRpdGxlfVwiLiBEbyB5b3Ugd2FudCB0byBjb250aW51ZT9gLFxuICAgICAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAgICAgICAgbmV3IE1vZGFsQnV0dG9uKHtyZXN1bHQ6IE1vZGFsUmVzdWx0LkNhbmNlbH0pLFxuICAgICAgICAgICAgICBuZXcgTW9kYWxCdXR0b24oe3Jlc3VsdDogTW9kYWxSZXN1bHQuT0ssIHRleHQ6IFwiQ29uZmlybVwiLCBwcmltYXJ5OiB0cnVlfSlcbiAgICAgICAgICBdLFxuICAgICAgICAgIGNvbmZpcm1UeXBlOiBDb25maXJtVHlwZS5XYXJuaW5nXG4gICAgICB9KS50aGVuKHJlcyA9PiB7XG4gICAgICAgICAgaWYocmVzID09PSBNb2RhbFJlc3VsdC5PSykge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICAgICAgICB0aGlzLmNoYXRTZXJ2aWNlLmRlbGV0ZVNhdmVkQ2hhdChbc2F2ZWRDaGF0LmlkXSlcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2Uuc3VjY2VzcyhgVGhlIHNhdmVkIGRpc2N1c3Npb24gXCIke3NhdmVkQ2hhdC50aXRsZX1cIiBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgZGVsZXRlZC5gKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWxldGUuZW1pdChzYXZlZENoYXQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYXRTZXJ2aWNlLmxpc3RTYXZlZENoYXQoKTtcbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3Igb2NjdXJyZWQgd2hpbGUgZGVsZXRpbmcgdGhlIHNhdmVkIGNoYXQ6JywgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnNTZXJ2aWNlLmVycm9yKGBFcnJvciBvY2N1cnJlZCB3aGlsZSBkZWxldGluZyB0aGUgc2F2ZWQgZGlzY3Vzc2lvbiBcIiR7c2F2ZWRDaGF0LnRpdGxlfVwiYCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKS5zdWJzY3JpYmUoKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ3JvdXBTYXZlZENoYXRzQnlEYXRlKHNhdmVkQ2hhdHM6IFNhdmVkQ2hhdFtdKTogeyBrZXk6IHN0cmluZzsgdmFsdWU6IFNhdmVkQ2hhdFtdIH1bXSB7XG4gICAgY29uc3QgZ3JvdXBlZFNhdmVkQ2hhdHMgPSBuZXcgTWFwPHN0cmluZywgU2F2ZWRDaGF0W10+KCk7XG5cbiAgICBzYXZlZENoYXRzXG4gICAgICAuc29ydCgoYSwgYikgPT4gcGFyc2VJU08oYi5tb2RpZmllZFVUQykuZ2V0VGltZSgpIC0gcGFyc2VJU08oYS5tb2RpZmllZFVUQykuZ2V0VGltZSgpKVxuICAgICAgLmZvckVhY2goc2F2ZWRDaGF0ID0+IHtcbiAgICAgICAgICBjb25zdCBncm91cEtleSA9IHRoaXMuX2dldFRpbWVLZXkocGFyc2VJU08oc2F2ZWRDaGF0Lm1vZGlmaWVkVVRDKSk7XG5cbiAgICAgICAgICBpZiAoIWdyb3VwZWRTYXZlZENoYXRzLmhhcyhncm91cEtleSkpIHtcbiAgICAgICAgICAgIGdyb3VwZWRTYXZlZENoYXRzLnNldChncm91cEtleSwgW10pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGdyb3VwZWRTYXZlZENoYXRzLmdldChncm91cEtleSkhLnB1c2goc2F2ZWRDaGF0KTtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIEFycmF5LmZyb20oZ3JvdXBlZFNhdmVkQ2hhdHMsIChba2V5LCB2YWx1ZV0pID0+ICh7IGtleSwgdmFsdWUgfSkpOztcbiAgfVxuXG4gIHByaXZhdGUgX2dldFRpbWVLZXkoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgaWYgKGlzVG9kYXkoZGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuICdUb2RheSc7XG4gICAgfSBlbHNlIGlmIChpc1llc3RlcmRheShkYXRlKSkge1xuICAgICAgICByZXR1cm4gJ1llc3RlcmRheSc7XG4gICAgfSBlbHNlIGlmIChpc1RoaXNXZWVrKGRhdGUpKSB7XG4gICAgICAgIHJldHVybiAnVGhpcyB3ZWVrJztcbiAgICB9IGVsc2UgaWYgKGRpZmZlcmVuY2VJbkRheXMoZW5kT2ZZZXN0ZXJkYXkoKSwgZGF0ZSkgPD0gNykge1xuICAgICAgcmV0dXJuICdMYXN0IHdlZWsnO1xuICAgIH0gZWxzZSBpZiAoaXNUaGlzTW9udGgoZGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuICdUaGlzIG1vbnRoJztcbiAgICB9IGVsc2UgaWYgKGRpZmZlcmVuY2VJbk1vbnRocyhlbmRPZlllc3RlcmRheSgpLCBkYXRlKSA8PSAxKSB7XG4gICAgICByZXR1cm4gJ0xhc3QgbW9udGgnO1xuICAgIH0gZWxzZSBpZiAoaXNUaGlzUXVhcnRlcihkYXRlKSkge1xuICAgICAgICByZXR1cm4gJ1RoaXMgcXVhcnRlcic7XG4gICAgfSBlbHNlIGlmIChkaWZmZXJlbmNlSW5Nb250aHMoZW5kT2ZZZXN0ZXJkYXkoKSwgZGF0ZSkgPD0gMykge1xuICAgICAgICByZXR1cm4gJ0xhc3QgcXVhcnRlcic7XG4gICAgfSBlbHNlIGlmIChpc1RoaXNZZWFyKGRhdGUpKSB7XG4gICAgICAgIHJldHVybiAnVGhpcyB5ZWFyJztcbiAgICB9IGVsc2UgaWYgKGRpZmZlcmVuY2VJblllYXJzKGVuZE9mWWVzdGVyZGF5KCksIGRhdGUpID09PSAxKSB7XG4gICAgICAgIHJldHVybiAnTGFzdCB5ZWFyJztcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZm9ybWF0KGRhdGUsICd5eXl5Jyk7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxkaXYgKm5nRm9yPVwibGV0IGdyb3VwIG9mIChncm91cGVkU2F2ZWRDaGF0cyQgfCBhc3luYylcIiBjbGFzcz1cInNhdmVkLWNoYXRzXCI+XG4gICAgPGRpdiBjbGFzcz1cInNhdmVkLWNoYXQtZGF0ZVwiPnt7Z3JvdXAua2V5fX08L2Rpdj5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBzYXZlZENoYXQgb2YgZ3JvdXAudmFsdWVcIiBjbGFzcz1cInNhdmVkLWNoYXQgcC0yXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInRpdGxlIG1lLTFcIiAoY2xpY2spPVwib25Mb2FkKHNhdmVkQ2hhdClcIj57e3NhdmVkQ2hhdC50aXRsZX19PC9zcGFuPlxuICAgICAgPGkgY2xhc3M9XCJzYXZlZC1jaGF0LWFjdGlvbnMgZmFzIGZhLXRyYXNoIG1zLTFcIiBbc3FUb29sdGlwXT1cIidEZWxldGUnXCIgKGNsaWNrKT1cIm9uRGVsZXRlKHNhdmVkQ2hhdClcIj48L2k+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZWQtY2hhdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNzaXN0YW50L2NoYXQvc2F2ZWQtY2hhdHMvc2F2ZWQtY2hhdHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNzaXN0YW50L2NoYXQvc2F2ZWQtY2hhdHMvc2F2ZWQtY2hhdHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBZSxXQUFXLEVBQWUsWUFBWSxFQUFpQixXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0SCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixF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QU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBdWRpdFdlYlNlcnZpY2UgfSBmcm9tIFwiQHNpbmVxdWEvY29yZS93ZWItc2VydmljZXNcIjtcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgY2F0Y2hFcnJvciwgZmlsdGVyLCBzd2l0Y2hNYXAsIHRhcCwgdGhyb3dFcnJvciwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IExvZ2luU2VydmljZSB9IGZyb20gXCJAc2luZXF1YS9jb3JlL2xvZ2luXCI7XG5pbXBvcnQgeyBDb25maXJtVHlwZSwgTW9kYWxCdXR0b24sIE1vZGFsUmVzdWx0LCBNb2RhbFNlcnZpY2UsIFByb21wdE9wdGlvbnMsIE1vZGFsTW9kdWxlIH0gZnJvbSBcIkBzaW5lcXVhL2NvcmUvbW9kYWxcIjtcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNTZXJ2aWNlIH0gZnJvbSBcIkBzaW5lcXVhL2NvcmUvbm90aWZpY2F0aW9uXCI7XG5pbXBvcnQgeyBVdGlsc01vZHVsZSB9IGZyb20gXCJAc2luZXF1YS9jb21wb25lbnRzL3V0aWxzXCI7XG5pbXBvcnQgeyBmb3JtYXQsIHBhcnNlSVNPLCBpc1RvZGF5LCBpc1llc3RlcmRheSwgaXNUaGlzV2VlaywgaXNUaGlzTW9udGgsIGlzVGhpc1F1YXJ0ZXIsIGlzVGhpc1llYXIsIGVuZE9mWWVzdGVyZGF5LCBkaWZmZXJlbmNlSW5EYXlzLCBkaWZmZXJlbmNlSW5Nb250aHMsIGRpZmZlcmVuY2VJblllYXJzIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgQ2hhdFNlcnZpY2UgfSBmcm9tIFwiLi4vY2hhdC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBTYXZlZENoYXQgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IEluc3RhbmNlTWFuYWdlclNlcnZpY2UgfSBmcm9tIFwiLi4vaW5zdGFuY2UtbWFuYWdlci5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NxLXNhdmVkLWNoYXRzLXYzJyxcbiAgdGVtcGxhdGVVcmw6ICdzYXZlZC1jaGF0cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydzYXZlZC1jaGF0cy5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNb2RhbE1vZHVsZSwgVXRpbHNNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIFNhdmVkQ2hhdHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKiBEZWZpbmUgdGhlIGtleSBiYXNlZCBvbiBpdCwgdGhlIGFwcHJvcHJpYXRlIGNoYXRTZXJ2aWNlIGluc3RhbmNlIHdpbGwgYmUgcmV0dXJuZWQgZnJvbSBpbnN0YW5jZU1hbmFnZXJTZXJ2aWNlICovXG4gIEBJbnB1dCgpIGluc3RhbmNlSWQ6IHN0cmluZztcblxuICBAT3V0cHV0KCkgbG9hZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2F2ZWRDaGF0PigpO1xuICBAT3V0cHV0KCkgZGVsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxTYXZlZENoYXQ+KCk7XG5cbiAgY2hhdFNlcnZpY2U6IENoYXRTZXJ2aWNlO1xuICBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIGdyb3VwZWRTYXZlZENoYXRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8eyBrZXk6IHN0cmluZzsgdmFsdWU6IFNhdmVkQ2hhdFtdfVtdPihbXSk7XG5cbiAgcHVibGljIGxvZ2luU2VydmljZSA9IGluamVjdChMb2dpblNlcnZpY2UpO1xuICBwdWJsaWMgaW5zdGFuY2VNYW5hZ2VyU2VydmljZSA9IGluamVjdChJbnN0YW5jZU1hbmFnZXJTZXJ2aWNlKTtcbiAgcHVibGljIGF1ZGl0U2VydmljZSA9IGluamVjdChBdWRpdFdlYlNlcnZpY2UpO1xuICBwdWJsaWMgbW9kYWxTZXJ2aWNlID0gaW5qZWN0KE1vZGFsU2VydmljZSk7XG4gIHB1YmxpYyBub3RpZmljYXRpb25zU2VydmljZSA9IGluamVjdChOb3RpZmljYXRpb25zU2VydmljZSk7XG5cbiAgY3VycmVudENoYXRJZD86IHN0cmluZztcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICB0aGlzLmxvZ2luU2VydmljZS5ldmVudHMucGlwZShcbiAgICAgICAgZmlsdGVyKGUgPT4gZS50eXBlID09PSAnbG9naW4tY29tcGxldGUnKSxcbiAgICAgICAgdGFwKF8gPT4gdGhpcy5pbnN0YW50aWF0ZUNoYXRTZXJ2aWNlKCkpLFxuICAgICAgICBzd2l0Y2hNYXAoXyA9PiB0aGlzLmNoYXRTZXJ2aWNlLmluaXRQcm9jZXNzJCksXG4gICAgICAgIGZpbHRlcihzdWNjZXNzID0+ICEhc3VjY2VzcyksXG4gICAgICAgIHRhcChfID0+IHtcbiAgICAgICAgICB0aGlzLm9uTGlzdFNhdmVkQ2hhdCgpO1xuICAgICAgICAgIHRoaXMuY2hhdFNlcnZpY2UubGlzdFNhdmVkQ2hhdCgpO1xuICAgICAgICB9KVxuICAgICAgKS5zdWJzY3JpYmUoKVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgaW5zdGFudGlhdGVDaGF0U2VydmljZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNoYXRTZXJ2aWNlID0gdGhpcy5pbnN0YW5jZU1hbmFnZXJTZXJ2aWNlLmdldEluc3RhbmNlKHRoaXMuaW5zdGFuY2VJZCk7XG4gIH1cblxuICBvbkxpc3RTYXZlZENoYXQoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5jaGF0U2VydmljZS5zYXZlZENoYXRzJC5zdWJzY3JpYmUoXG4gICAgICAgIChzYXZlZENoYXRzOiBTYXZlZENoYXRbXSkgPT4ge1xuICAgICAgICAgIHRoaXMuY3VycmVudENoYXRJZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICB0aGlzLmdyb3VwZWRTYXZlZENoYXRzJC5uZXh0KHRoaXMuX2dyb3VwU2F2ZWRDaGF0c0J5RGF0ZShzYXZlZENoYXRzKSk7XG4gICAgICAgIH1cbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgb25Mb2FkKHNhdmVkQ2hhdDogU2F2ZWRDaGF0KSB7XG4gICAgdGhpcy5jdXJyZW50Q2hhdElkID0gc2F2ZWRDaGF0LmlkO1xuICAgIHRoaXMuY2hhdFNlcnZpY2UubG9hZFNhdmVkQ2hhdCQubmV4dChzYXZlZENoYXQpO1xuICAgIHRoaXMuY2hhdFNlcnZpY2UubGlzdFNhdmVkQ2hhdCgpO1xuICAgIHRoaXMubG9hZC5lbWl0KHNhdmVkQ2hhdCk7XG4gIH1cblxuICBvblJlbmFtZShzYXZlZENoYXQ6IFNhdmVkQ2hhdCkge1xuICAgIGNvbnN0IG1vZGVsOiBQcm9tcHRPcHRpb25zID0ge1xuICAgICAgdGl0bGU6ICdSZW5hbWUgc2F2ZWQgZGlzY3Vzc2lvbicsXG4gICAgICBtZXNzYWdlOiBgUGxlYXNlIGVudGVyIGEgbmV3IG5hbWUgZm9yIHRoZSBkaXNjdXNzaW9uIFwiJHtzYXZlZENoYXQudGl0bGV9XCIuYCxcbiAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAgICBuZXcgTW9kYWxCdXR0b24oe3Jlc3VsdDogTW9kYWxSZXN1bHQuQ2FuY2VsfSksXG4gICAgICAgICAgbmV3IE1vZGFsQnV0dG9uKHtyZXN1bHQ6IE1vZGFsUmVzdWx0Lk9LLCB0ZXh0OiBcIlJlbmFtZVwiLCBwcmltYXJ5OiB0cnVlfSlcbiAgICAgIF0sXG4gICAgICBvdXRwdXQ6IHNhdmVkQ2hhdC50aXRsZSxcbiAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgIH07XG5cbiAgICB0aGlzLm1vZGFsU2VydmljZS5wcm9tcHQobW9kZWwpLnRoZW4ocmVzID0+IHtcbiAgICAgIGlmKHJlcyA9PT0gTW9kYWxSZXN1bHQuT0spIHtcbiAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgICAgICB0aGlzLmNoYXRTZXJ2aWNlLnVwZGF0ZVNhdmVkQ2hhdChzYXZlZENoYXQuaWQsIG1vZGVsLm91dHB1dClcbiAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2Uuc3VjY2VzcyhgVGhlIHNhdmVkIGRpc2N1c3Npb24gXCIke3NhdmVkQ2hhdC50aXRsZX1cIiBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgcmVuYW1lZCB0byBcIiR7bW9kZWwub3V0cHV0fVwiLmApO1xuICAgICAgICAgICAgICAgICAgdGhpcy5jaGF0U2VydmljZS5saXN0U2F2ZWRDaGF0KCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIG9jY3VycmVkIHdoaWxlIHVwZGF0aW5nIHRoZSBzYXZlZCBjaGF0OicsIGVycm9yKTtcbiAgICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2UuZXJyb3IoYEVycm9yIG9jY3VycmVkIHdoaWxlIHVwZGF0aW5nIHRoZSBzYXZlZCBkaXNjdXNzaW9uIFwiJHtzYXZlZENoYXQudGl0bGV9XCJgKTtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApLnN1YnNjcmliZSgpXG4gICAgICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgb25EZWxldGUoc2F2ZWRDaGF0OiBTYXZlZENoYXQpIHtcbiAgICB0aGlzLm1vZGFsU2VydmljZVxuICAgICAgLmNvbmZpcm0oe1xuICAgICAgICAgIHRpdGxlOiBcIkRlbGV0ZSBzYXZlZCBkaXNjdXNzaW9uXCIsXG4gICAgICAgICAgbWVzc2FnZTogYFlvdSBhcmUgYWJvdXQgdG8gZGVsZXRlIHRoZSBkaXNjdXNzaW9uIFwiJHtzYXZlZENoYXQudGl0bGV9XCIuIERvIHlvdSB3YW50IHRvIGNvbnRpbnVlP2AsXG4gICAgICAgICAgYnV0dG9uczogW1xuICAgICAgICAgICAgICBuZXcgTW9kYWxCdXR0b24oe3Jlc3VsdDogTW9kYWxSZXN1bHQuQ2FuY2VsfSksXG4gICAgICAgICAgICAgIG5ldyBNb2RhbEJ1dHRvbih7cmVzdWx0OiBNb2RhbFJlc3VsdC5PSywgdGV4dDogXCJDb25maXJtXCIsIHByaW1hcnk6IHRydWV9KVxuICAgICAgICAgIF0sXG4gICAgICAgICAgY29uZmlybVR5cGU6IENvbmZpcm1UeXBlLldhcm5pbmdcbiAgICAgIH0pLnRoZW4ocmVzID0+IHtcbiAgICAgICAgICBpZihyZXMgPT09IE1vZGFsUmVzdWx0Lk9LKSB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgICAgICAgIHRoaXMuY2hhdFNlcnZpY2UuZGVsZXRlU2F2ZWRDaGF0KFtzYXZlZENoYXQuaWRdKVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zU2VydmljZS5zdWNjZXNzKGBUaGUgc2F2ZWQgZGlzY3Vzc2lvbiBcIiR7c2F2ZWRDaGF0LnRpdGxlfVwiIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBkZWxldGVkLmApO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlbGV0ZS5lbWl0KHNhdmVkQ2hhdCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhdFNlcnZpY2UubGlzdFNhdmVkQ2hhdCgpO1xuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBvY2N1cnJlZCB3aGlsZSBkZWxldGluZyB0aGUgc2F2ZWQgY2hhdDonLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2UuZXJyb3IoYEVycm9yIG9jY3VycmVkIHdoaWxlIGRlbGV0aW5nIHRoZSBzYXZlZCBkaXNjdXNzaW9uIFwiJHtzYXZlZENoYXQudGl0bGV9XCJgKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApLnN1YnNjcmliZSgpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9ncm91cFNhdmVkQ2hhdHNCeURhdGUoc2F2ZWRDaGF0czogU2F2ZWRDaGF0W10pOiB7IGtleTogc3RyaW5nOyB2YWx1ZTogU2F2ZWRDaGF0W10gfVtdIHtcbiAgICBjb25zdCBncm91cGVkU2F2ZWRDaGF0cyA9IG5ldyBNYXA8c3RyaW5nLCBTYXZlZENoYXRbXT4oKTtcblxuICAgIHNhdmVkQ2hhdHNcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBwYXJzZUlTTyhiLm1vZGlmaWVkVVRDKS5nZXRUaW1lKCkgLSBwYXJzZUlTTyhhLm1vZGlmaWVkVVRDKS5nZXRUaW1lKCkpXG4gICAgICAuZm9yRWFjaChzYXZlZENoYXQgPT4ge1xuICAgICAgICAgIGNvbnN0IGdyb3VwS2V5ID0gdGhpcy5fZ2V0VGltZUtleShwYXJzZUlTTyhzYXZlZENoYXQubW9kaWZpZWRVVEMpKTtcblxuICAgICAgICAgIGlmICghZ3JvdXBlZFNhdmVkQ2hhdHMuaGFzKGdyb3VwS2V5KSkge1xuICAgICAgICAgICAgZ3JvdXBlZFNhdmVkQ2hhdHMuc2V0KGdyb3VwS2V5LCBbXSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZ3JvdXBlZFNhdmVkQ2hhdHMuZ2V0KGdyb3VwS2V5KSEucHVzaChzYXZlZENoYXQpO1xuICAgICAgfSk7XG5cbiAgICByZXR1cm4gQXJyYXkuZnJvbShncm91cGVkU2F2ZWRDaGF0cywgKFtrZXksIHZhbHVlXSkgPT4gKHsga2V5LCB2YWx1ZSB9KSk7O1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0VGltZUtleShkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICBpZiAoaXNUb2RheShkYXRlKSkge1xuICAgICAgICByZXR1cm4gJ1RvZGF5JztcbiAgICB9IGVsc2UgaWYgKGlzWWVzdGVyZGF5KGRhdGUpKSB7XG4gICAgICAgIHJldHVybiAnWWVzdGVyZGF5JztcbiAgICB9IGVsc2UgaWYgKGlzVGhpc1dlZWsoZGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuICdUaGlzIHdlZWsnO1xuICAgIH0gZWxzZSBpZiAoZGlmZmVyZW5jZUluRGF5cyhlbmRPZlllc3RlcmRheSgpLCBkYXRlKSA8PSA3KSB7XG4gICAgICByZXR1cm4gJ0xhc3Qgd2Vlayc7XG4gICAgfSBlbHNlIGlmIChpc1RoaXNNb250aChkYXRlKSkge1xuICAgICAgICByZXR1cm4gJ1RoaXMgbW9udGgnO1xuICAgIH0gZWxzZSBpZiAoZGlmZmVyZW5jZUluTW9udGhzKGVuZE9mWWVzdGVyZGF5KCksIGRhdGUpIDw9IDEpIHtcbiAgICAgIHJldHVybiAnTGFzdCBtb250aCc7XG4gICAgfSBlbHNlIGlmIChpc1RoaXNRdWFydGVyKGRhdGUpKSB7XG4gICAgICAgIHJldHVybiAnVGhpcyBxdWFydGVyJztcbiAgICB9IGVsc2UgaWYgKGRpZmZlcmVuY2VJbk1vbnRocyhlbmRPZlllc3RlcmRheSgpLCBkYXRlKSA8PSAzKSB7XG4gICAgICAgIHJldHVybiAnTGFzdCBxdWFydGVyJztcbiAgICB9IGVsc2UgaWYgKGlzVGhpc1llYXIoZGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuICdUaGlzIHllYXInO1xuICAgIH0gZWxzZSBpZiAoZGlmZmVyZW5jZUluWWVhcnMoZW5kT2ZZZXN0ZXJkYXkoKSwgZGF0ZSkgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuICdMYXN0IHllYXInO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmb3JtYXQoZGF0ZSwgJ3l5eXknKTtcbiAgICB9XG4gIH1cblxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIihjaGF0U2VydmljZS5jaGF0Q29uZmlnJCB8IGFzeW5jKT8uc2F2ZWRDaGF0U2V0dGluZ3MuZGlzcGxheVwiPlxuICA8ZGl2ICpuZ0Zvcj1cImxldCBncm91cCBvZiAoZ3JvdXBlZFNhdmVkQ2hhdHMkIHwgYXN5bmMpXCIgY2xhc3M9XCJzYXZlZC1jaGF0c1wiPlxuICAgIDxkaXYgY2xhc3M9XCJzYXZlZC1jaGF0LWRhdGVcIj57e2dyb3VwLmtleX19PC9kaXY+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgc2F2ZWRDaGF0IG9mIGdyb3VwLnZhbHVlXCIgY2xhc3M9XCJzYXZlZC1jaGF0IHAtMlwiIFtjbGFzcy5hY3RpdmVdPVwiY3VycmVudENoYXRJZCA9PT0gc2F2ZWRDaGF0LmlkXCJcbiAgICAgIChjbGljayk9XCJvbkxvYWQoc2F2ZWRDaGF0KVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZSBtZS0xXCI+e3tzYXZlZENoYXQudGl0bGV9fTwvc3Bhbj5cbiAgICAgIDxpIGNsYXNzPVwic2F2ZWQtY2hhdC1hY3Rpb25zIGZhcyBmYS1wZW4gbXgtMVwiIFtzcVRvb2x0aXBdPVwiJ1JlbmFtZSdcIlxuICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBvblJlbmFtZShzYXZlZENoYXQpXCI+PC9pPlxuICAgICAgPGkgY2xhc3M9XCJzYXZlZC1jaGF0LWFjdGlvbnMgZmFzIGZhLXRyYXNoIG1zLTFcIiBbc3FUb29sdGlwXT1cIidEZWxldGUnXCJcbiAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgb25EZWxldGUoc2F2ZWRDaGF0KVwiPjwvaT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
package/esm2020/chat/types.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
// Define the Zod representation for the
|
|
3
|
-
export const
|
|
2
|
+
// Define the Zod representation for the connectionSettings object
|
|
3
|
+
export const connectionSettingsSchema = z.object({
|
|
4
4
|
restEndpoint: z.string().optional(),
|
|
5
5
|
websocketEndpoint: z.string().optional(),
|
|
6
6
|
signalRTransport: z.enum(["WebSockets", "ServerSentEvents", "LongPolling", "None"]),
|
|
@@ -14,50 +14,10 @@ const serviceSettingsSchema = z.object({
|
|
|
14
14
|
model_id: z.string(),
|
|
15
15
|
temperature: z.number(),
|
|
16
16
|
top_p: z.number(),
|
|
17
|
-
|
|
18
|
-
results_per_prompt: z.number(),
|
|
19
|
-
presence_penalty: z.number(),
|
|
20
|
-
frequency_penalty: z.number(),
|
|
21
|
-
});
|
|
22
|
-
// Define the Zod representation for the TextChunksOptions interface
|
|
23
|
-
const textChunksOptionsSchema = z.object({
|
|
24
|
-
extendMode: z.enum(['None', 'Sentence', 'Chars']).optional(),
|
|
25
|
-
extendScope: z.number().optional(),
|
|
26
|
-
});
|
|
27
|
-
// Define the Zod representation for the contextOptions object
|
|
28
|
-
const contextOptionsSchema = z.object({
|
|
29
|
-
docColumns: z.array(z.string()),
|
|
30
|
-
textChunkFillGaps: z.number(),
|
|
31
|
-
html: z.boolean(),
|
|
32
|
-
topPassagesOptions: z.object({
|
|
33
|
-
topPassages: z.number(),
|
|
34
|
-
topPassagesMinScore: z.number(),
|
|
35
|
-
textChunkOptions: textChunksOptionsSchema,
|
|
36
|
-
}),
|
|
37
|
-
matchingPassagesOptions: z.object({
|
|
38
|
-
matchingPassagesPerDoc: z.number(),
|
|
39
|
-
fromTopDocuments: z.number(),
|
|
40
|
-
matchingPassagesMinScore: z.number(),
|
|
41
|
-
textChunkOptions: textChunksOptionsSchema,
|
|
42
|
-
}),
|
|
43
|
-
relevantExtractsOptions: z.object({
|
|
44
|
-
topRelevantExtractsPerDoc: z.number(),
|
|
45
|
-
fromTopDocuments: z.number(),
|
|
46
|
-
textChunkOptions: textChunksOptionsSchema,
|
|
47
|
-
}),
|
|
48
|
-
htmlOptions: z.object({
|
|
49
|
-
images: z.boolean(),
|
|
50
|
-
links: z.boolean(),
|
|
51
|
-
tables: z.boolean(),
|
|
52
|
-
extendTables: z.boolean(),
|
|
53
|
-
}),
|
|
54
|
-
});
|
|
55
|
-
// Define the Zod representation for the contextSettings object
|
|
56
|
-
const contextSettingsSchema = z.object({
|
|
57
|
-
app: z.string().optional(),
|
|
58
|
-
query: z.object({}).optional(),
|
|
59
|
-
contextOptions: contextOptionsSchema,
|
|
17
|
+
max_tokens: z.number()
|
|
60
18
|
});
|
|
19
|
+
// Define the Zod representation for the additionalServiceSettings object
|
|
20
|
+
const additionalServiceSettingsSchema = z.object({});
|
|
61
21
|
// Define the Zod representation for the uiSettings object
|
|
62
22
|
const uiSettingsSchema = z.object({
|
|
63
23
|
display: z.boolean(),
|
|
@@ -65,21 +25,57 @@ const uiSettingsSchema = z.object({
|
|
|
65
25
|
functions: z.boolean(),
|
|
66
26
|
temperature: z.boolean(),
|
|
67
27
|
top_p: z.boolean(),
|
|
68
|
-
|
|
28
|
+
max_tokens: z.boolean(),
|
|
69
29
|
debug: z.boolean(),
|
|
70
30
|
displaySystemPrompt: z.boolean(),
|
|
31
|
+
displayUserPrompt: z.boolean()
|
|
32
|
+
});
|
|
33
|
+
// Define the Zod representation for the defaultValues object
|
|
34
|
+
const defaultValuesSchema = z.object({
|
|
35
|
+
service_id: z.string(),
|
|
36
|
+
model_id: z.string(),
|
|
37
|
+
functions: z.array(z.object({
|
|
38
|
+
name: z.string(),
|
|
39
|
+
enabled: z.boolean()
|
|
40
|
+
})),
|
|
41
|
+
temperature: z.number(),
|
|
42
|
+
top_p: z.number(),
|
|
43
|
+
max_tokens: z.number(),
|
|
44
|
+
debug: z.boolean(),
|
|
71
45
|
systemPrompt: z.string(),
|
|
46
|
+
userPrompt: z.string()
|
|
47
|
+
});
|
|
48
|
+
// Define the Zod representation for the modeSettings object
|
|
49
|
+
const initializationSchema = z.object({
|
|
50
|
+
event: z.enum(['Query', 'Prompt']),
|
|
51
|
+
forcedWorkflow: z.string().optional(),
|
|
52
|
+
displayUserQuery: z.boolean().optional(), // Optional for event 'Prompt'
|
|
53
|
+
}).refine(data => ((data.event === "Query") ? (!!data.forcedWorkflow && data.displayUserQuery !== undefined && data.displayUserQuery !== null) : true), {
|
|
54
|
+
message: "The 'forcedWorkflow' and 'displayUserQuery' properties must be provided when the initialization's event is 'Query'.",
|
|
55
|
+
});
|
|
56
|
+
const modeSettingsSchema = z.object({
|
|
57
|
+
enabledUserInput: z.boolean(),
|
|
72
58
|
displayUserPrompt: z.boolean(),
|
|
73
|
-
|
|
59
|
+
sendUserPrompt: z.boolean(),
|
|
60
|
+
initialization: initializationSchema
|
|
61
|
+
});
|
|
62
|
+
// Define the Zod representation for the savedChatSettings object
|
|
63
|
+
const savedChatSettingsSchema = z.object({
|
|
64
|
+
enabled: z.boolean(),
|
|
65
|
+
display: z.boolean()
|
|
66
|
+
});
|
|
67
|
+
// Define the Zod representation for the globalSettings object
|
|
68
|
+
const globalSettingsSchema = z.object({
|
|
69
|
+
disclaimer: z.string().optional(),
|
|
74
70
|
});
|
|
75
71
|
// Define the Zod representation for the entire ChatConfig object
|
|
76
72
|
export const chatConfigSchema = z.object({
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
73
|
+
connectionSettings: connectionSettingsSchema,
|
|
74
|
+
defaultValues: defaultValuesSchema,
|
|
75
|
+
modeSettings: modeSettingsSchema,
|
|
80
76
|
uiSettings: uiSettingsSchema,
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
77
|
+
additionalServiceSettings: additionalServiceSettingsSchema,
|
|
78
|
+
savedChatSettings: savedChatSettingsSchema,
|
|
79
|
+
globalSettings: globalSettingsSchema
|
|
84
80
|
});
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Npc3RhbnQvY2hhdC90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBcUl4Qiw4REFBOEQ7QUFDOUQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMzQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNuQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3hDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25GLGVBQWUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7Q0FDbkcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO0lBQ25FLE9BQU8sRUFBRSxtTkFBbU47Q0FDN04sQ0FBQyxDQUFDO0FBSUgsK0RBQStEO0FBQy9ELE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNyQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUN0QixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNwQixXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUN2QixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFB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LE9BQU8sRUFBRTtJQUNoQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUN4QixpQkFBaUIsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFO0lBQzlCLFVBQVUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0NBQ3ZCLENBQUMsQ0FBQztBQUlILGlFQUFpRTtBQUNqRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3ZDLGNBQWMsRUFBRSxvQkFBb0I7SUFDcEMsZUFBZSxFQUFFLHFCQUFxQjtJQUN0QyxlQUFlLEVBQUUscUJBQXFCO0lBQ3RDLFVBQVUsRUFBRSxnQkFBZ0I7SUFDNUIsU0FBUyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzlCLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFO0lBQ2xCLFNBQVMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFO0NBQ3ZCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuaW1wb3J0IHsgUmVjb3JkIH0gZnJvbSBcIkBzaW5lcXVhL2NvcmUvd2ViLXNlcnZpY2VzXCI7XG5cbi8qKlxuICogSW5kaXZpZHVhbCBtZXNzYWdlIHNlbnQgJiByZXR1cm5lZCBieSB0aGUgQ2hhdEdQVCBBUEkuXG4gKiBJZiB0aGlzIG1lc3NhZ2UgaXMgYW4gYXR0YWNobWVudCwgd2UgYXR0YWNoIHRoZSBtaW5pbWFsXG4gKiBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gcmVjb25zdHJ1Y3QgdGhpcyBhdHRhY2htZW50IChSYXdBdHRhY2htZW50KVxuICogYXMgd2VsbCBhcyB0aGUgcmVmZXJlbmNlIGlkIGNvbXB1dGVkIGF0IHRoZSBtb21lbnQgb2Ygc2VuZGluZ1xuICogdGhlIGF0dGFjaG1lbnQgdG8gdGhlIEFQSS5cbiAqL1xuLy8gRE9ORVxuZXhwb3J0IGludGVyZmFjZSBSYXdNZXNzYWdlIHtcbiAgcm9sZTogc3RyaW5nO1xuICBjb250ZW50OiBzdHJpbmc7XG4gIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiB7XG4gICAgW2tleTogc3RyaW5nXTogYW55XG4gIH07XG59XG5cbi8qKlxuICogQSBjaGF0IG1lc3NhZ2UgdGhhdCBoYXMgYmVlbiBwcm9jZXNzZWQgdG8gaW5jbHVkZSB0aGUgbWFya2Rvd24tZm9ybWF0dGVkXG4gKiBjb250ZW50IGZvciBkaXNwbGF5LCBhcyB3ZWxsIGFzIGRldGFpbGVkIGF0dGFjaG1lbnQgZGF0YSwgYW5kIG9wdGlvbmFsbHlcbiAqIGEgbGlzdCBvZiB0aGUgcmVmZXJlbmNlcyBleHRyYWN0ZWQgZnJvbSB0aGF0IG1lc3NhZ2VcbiAqL1xuLy8gRE9ORVxuZXhwb3J0IGludGVyZmFjZSBDaGF0TWVzc2FnZSBleHRlbmRzIFJhd01lc3NhZ2Uge1xuICBhZGRpdGlvbmFsUHJvcGVydGllczoge1xuICAgIGRpc3BsYXk/OiBib29sZWFuO1xuICAgICRwcm9ncmVzcz86IENoYXRQcm9ncmVzc1tdO1xuICAgICRhdHRhY2htZW50PzogQ2hhdENvbnRleHRBdHRhY2htZW50W107XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICB9O1xufVxuLy8gRE9ORVxuZXhwb3J0IGludGVyZmFjZSBDaGF0UHJvZ3Jlc3Mge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgY29udGVudD86IHN0cmluZztcbiAgICBkb25lPzogYm9vbGVhbjtcbiAgICB0aW1lPzogbnVtYmVyO1xufVxuXG4vLyBET05FXG5leHBvcnQgaW50ZXJmYWNlIFJhd0F0dGFjaG1lbnQge1xuICAvKiogVHlwZSBvZiB0aGUgYXR0YWNobWVudCAqL1xuICB0eXBlOiBzdHJpbmc7XG4gIC8qKiBSZWNvcmQgaWQgZnJvbSB3aGljaCB0aGlzIGF0dGFjaG1lbnQgaXMgdGFrZW4gKi9cbiAgcmVjb3JkSWQ6IHN0cmluZztcbiAgLyoqIFJlY29yZCBmcm9tIHdoaWNoIHRoaXMgdGhpcyBhdHRhY2htZW50IGlzIHRha2VuICovXG4gIHJlY29yZDogUmVjb3JkO1xufVxuXG4vLyBET05FXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50UGFydCB7XG4gIHBhcnRJZDogbnVtYmVyO1xuICBvZmZzZXQ6IG51bWJlcjtcbiAgbGVuZ3RoOiBudW1iZXI7XG4gIHRleHQ6IHN0cmluZztcbn1cblxuLy8gRE9ORVxuZXhwb3J0IGludGVyZmFjZSBDaGF0Q29udGV4dEF0dGFjaG1lbnQgZXh0ZW5kcyBSYXdBdHRhY2htZW50IHtcbiAgLyoqIFR5cGUgb2YgdGhlIGF0dGFjaG1lbnQgKi9cbiAgdHlwZTogXCJDb250ZXh0XCI7XG4gIC8qKiBSYW5rIG9mIHRoZSBhdHRhY2htZW50IGluIHRoZSBjb250ZXh0IG1lc3NhZ2UgKi9cbiAgY29udGV4dElkOiBudW1iZXI7XG4gIC8qKiBQYXJ0cyBvZiB0aGUgcmVjb3JkIHRoYXQgdGhlIGFzc2lzdGFudCB1c2VzIHRvIGFuc3dlciAqL1xuICBwYXJ0czogRG9jdW1lbnRQYXJ0W107XG4gIC8qKiBUaGUgc3BlY2lmaWMgaWQgb2YgdXNlZCB0aGUgcmVmZXJlbmNlZCBwYXJ0ICovXG4gICRwYXJ0SWQ/OiBudW1iZXI7XG59XG5cbi8qKlxuICogUmF3IHJlc3BvbnNlIG9mIHRoZSBBUElcbiAqL1xuLy8gRE9ORVxuZXhwb3J0IGludGVyZmFjZSBSYXdSZXNwb25zZSB7XG4gIGhpc3Rvcnk6IFJhd01lc3NhZ2VbXTtcbiAgZXhlY3V0aW9uVGltZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEVucmljaGVkIHJlc3BvbnNlIG9mIHRoZSBBUElcbiAqL1xuLy8gRE9ORVxuZXhwb3J0IGludGVyZmFjZSBDaGF0UmVzcG9uc2UgZXh0ZW5kcyBSYXdSZXNwb25zZXtcbiAgaGlzdG9yeTogQ2hhdE1lc3NhZ2VbXTtcbn1cblxuLy8gRE9ORVxuZXhwb3J0IGludGVyZmFjZSBHbGxtTW9kZWxEZXNjcmlwdGlvbiB7XG4gIHByb3ZpZGVyOiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIHNlcnZpY2VJZDogc3RyaW5nO1xuICBtb2RlbElkOiBzdHJpbmc7XG4gIHNpemU6IG51bWJlcjtcbiAgZW5hYmxlOiBib29sZWFuO1xuICBzdXBwb3J0U3RyZWFtaW5nOiBib29sZWFuO1xuICBzdXBwb3J0RnVuY3Rpb25zOiBib29sZWFuO1xufVxuXG4vLyBET05FXG5leHBvcnQgaW50ZXJmYWNlIEdsbG1GdW5jdGlvbiB7XG4gIGZ1bmN0aW9uTmFtZTogc3RyaW5nO1xuICBmdWxseVF1YWxpZmllZE5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgcGx1Z2luTmFtZTogc3RyaW5nO1xuICBwYXJhbWV0ZXJzOiBHbGxtRnVuY3Rpb25QYXJhbWV0ZXJbXTtcbn1cblxuLy8gRE9ORVxuZXhwb3J0IGludGVyZmFjZSBHbGxtRnVuY3Rpb25QYXJhbWV0ZXIge1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBpc1JlcXVpcmVkOiBib29sZWFuO1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBNaW5pbWFsIHJlcHJlc2VudGF0aW9uIG9mIGEgc2F2ZWQgY2hhdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhdmVkQ2hhdCB7XG4gIGlkOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIG1vZGlmaWVkVVRDOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGF0YSBzdHJ1Y3R1cmUgc2F2ZWQgdG8gcmVjb25zdHJ1Y3QgYSBjb252ZXJzYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYXZlZENoYXRIaXN0b3J5IGV4dGVuZHMgU2F2ZWRDaGF0e1xuICBIaXN0b3J5OiBDaGF0TWVzc2FnZVtdO1xufVxuXG4vLyBEZWZpbmUgdGhlIFpvZCByZXByZXNlbnRhdGlvbiBmb3IgdGhlIGdsb2JhbFNldHRpbmdzIG9iamVjdFxuZXhwb3J0IGNvbnN0IGdsb2JhbFNldHRpbmdzU2NoZW1hID0gei5vYmplY3Qoe1xuICByZXN0RW5kcG9pbnQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgd2Vic29ja2V0RW5kcG9pbnQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgc2lnbmFsUlRyYW5zcG9ydDogei5lbnVtKFtcIldlYlNvY2tldHNcIiwgXCJTZXJ2ZXJTZW50RXZlbnRzXCIsIFwiTG9uZ1BvbGxpbmdcIiwgXCJOb25lXCJdKSxcbiAgc2lnbmFsUkxvZ0xldmVsOiB6LmVudW0oW1wiQ3JpdGljYWxcIiwgXCJEZWJ1Z1wiLCBcIkVycm9yXCIsIFwiSW5mb3JtYXRpb25cIiwgXCJOb25lXCIsIFwiVHJhY2VcIiwgXCJXYXJuaW5nXCJdKVxufSkucmVmaW5lKGRhdGEgPT4gKCEhZGF0YS5yZXN0RW5kcG9pbnQgfHwgISFkYXRhLndlYnNvY2tldEVuZHBvaW50KSwge1xuICBtZXNzYWdlOiBcIkJhc2VkIG9uIHRoZSBwcm92aWRlZCBpbnB1dCgpIHByb3RvY29sICgnUkVTVCcgb3IgJ1dFQlNPQ0tFVCcpIHRvIHRoZSBDaGF0IENvbXBvbmVudCwgZWl0aGVyICdyZXN0RW5kcG9pbnQnIG9yICd3ZWJzb2NrZXRFbmRwb2ludCcgcHJvcGVydHkgc2hvdWxkIGJlIHByb3ZpZGVkIGluIHRoZSAnZ2xvYmFsU2V0dGluZ3MnIG9mIHRoZSBhc3Npc3RhbnQgaW5zdGFuY2UuXCIsXG59KTtcbi8vIERlZmluZSB0aGUgR2xvYmFsU2V0dGluZ3MgaW50ZXJmYWNlXG5leHBvcnQgdHlwZSBHbG9iYWxTZXR0aW5ncyA9IHouaW5mZXI8dHlwZW9mIGdsb2JhbFNldHRpbmdzU2NoZW1hPjtcblxuLy8gRGVmaW5lIHRoZSBab2QgcmVwcmVzZW50YXRpb24gZm9yIHRoZSBzZXJ2aWNlU2V0dGluZ3Mgb2JqZWN0XG5jb25zdCBzZXJ2aWNlU2V0dGluZ3NTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHNlcnZpY2VfaWQ6IHouc3RyaW5nKCksXG4gIG1vZGVsX2lkOiB6LnN0cmluZygpLFxuICB0ZW1wZXJhdHVyZTogei5udW1iZXIoKSxcbiAgdG9wX3A6IHoubnVtYmVyKCksXG4gIG1heFRva2Vuczogei5udW1iZXIoKSxcbiAgcmVzdWx0c19wZXJfcHJvbXB0OiB6Lm51bWJlcigpLFxuICBwcmVzZW5jZV9wZW5hbHR5OiB6Lm51bWJlcigpLFxuICBmcmVxdWVuY3lfcGVuYWx0eTogei5udW1iZXIoKSxcbn0pO1xuLy8gRGVmaW5lIHRoZSBTZXJ2aWNlU2V0dGluZ3MgaW50ZXJmYWNlXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VTZXR0aW5ncyBleHRlbmRzIHouaW5mZXI8dHlwZW9mIHNlcnZpY2VTZXR0aW5nc1NjaGVtYT4ge31cblxuLy8gRGVmaW5lIHRoZSBab2QgcmVwcmVzZW50YXRpb24gZm9yIHRoZSBUZXh0Q2h1bmtzT3B0aW9ucyBpbnRlcmZhY2VcbmNvbnN0IHRleHRDaHVua3NPcHRpb25zU2NoZW1hID0gei5vYmplY3Qoe1xuICBleHRlbmRNb2RlOiB6LmVudW0oWydOb25lJywgJ1NlbnRlbmNlJywgJ0NoYXJzJ10pLm9wdGlvbmFsKCksXG4gIGV4dGVuZFNjb3BlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG59KTtcbi8vIERlZmluZSB0aGUgVGV4dENodW5rc09wdGlvbnMgaW50ZXJmYWNlXG5leHBvcnQgaW50ZXJmYWNlIFRleHRDaHVua3NPcHRpb25zIGV4dGVuZHMgei5pbmZlcjx0eXBlb2YgdGV4dENodW5rc09wdGlvbnNTY2hlbWE+IHt9XG5cbi8vIERlZmluZSB0aGUgWm9kIHJlcHJlc2VudGF0aW9uIGZvciB0aGUgY29udGV4dE9wdGlvbnMgb2JqZWN0XG5jb25zdCBjb250ZXh0T3B0aW9uc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgZG9jQ29sdW1uczogei5hcnJheSh6LnN0cmluZygpKSxcbiAgdGV4dENodW5rRmlsbEdhcHM6IHoubnVtYmVyKCksXG4gIGh0bWw6IHouYm9vbGVhbigpLFxuICB0b3BQYXNzYWdlc09wdGlvbnM6IHoub2JqZWN0KHtcbiAgICB0b3BQYXNzYWdlczogei5udW1iZXIoKSxcbiAgICB0b3BQYXNzYWdlc01pblNjb3JlOiB6Lm51bWJlcigpLFxuICAgIHRleHRDaHVua09wdGlvbnM6IHRleHRDaHVua3NPcHRpb25zU2NoZW1hLFxuICB9KSxcbiAgbWF0Y2hpbmdQYXNzYWdlc09wdGlvbnM6IHoub2JqZWN0KHtcbiAgICBtYXRjaGluZ1Bhc3NhZ2VzUGVyRG9jOiB6Lm51bWJlcigpLFxuICAgIGZyb21Ub3BEb2N1bWVudHM6IHoubnVtYmVyKCksXG4gICAgbWF0Y2hpbmdQYXNzYWdlc01pblNjb3JlOiB6Lm51bWJlcigpLFxuICAgIHRleHRDaHVua09wdGlvbnM6IHRleHRDaHVua3NPcHRpb25zU2NoZW1hLFxuICB9KSxcbiAgcmVsZXZhbnRFeHRyYWN0c09wdGlvbnM6IHoub2JqZWN0KHtcbiAgICB0b3BSZWxldmFudEV4dHJhY3RzUGVyRG9jOiB6Lm51bWJlcigpLFxuICAgIGZyb21Ub3BEb2N1bWVudHM6IHoubnVtYmVyKCksXG4gICAgdGV4dENodW5rT3B0aW9uczogdGV4dENodW5rc09wdGlvbnNTY2hlbWEsXG4gIH0pLFxuICBodG1sT3B0aW9uczogei5vYmplY3Qoe1xuICAgIGltYWdlczogei5ib29sZWFuKCksXG4gICAgbGlua3M6IHouYm9vbGVhbigpLFxuICAgIHRhYmxlczogei5ib29sZWFuKCksXG4gICAgZXh0ZW5kVGFibGVzOiB6LmJvb2xlYW4oKSxcbiAgfSksXG59KTtcbi8vIERlZmluZSB0aGUgQ29udGV4dE9wdGlvbnMgaW50ZXJmYWNlXG5leHBvcnQgaW50ZXJmYWNlIENvbnRleHRPcHRpb25zIGV4dGVuZHMgei5pbmZlcjx0eXBlb2YgY29udGV4dE9wdGlvbnNTY2hlbWE+IHt9XG5cbi8vIERlZmluZSB0aGUgWm9kIHJlcHJlc2VudGF0aW9uIGZvciB0aGUgY29udGV4dFNldHRpbmdzIG9iamVjdFxuY29uc3QgY29udGV4dFNldHRpbmdzU2NoZW1hID0gei5vYmplY3Qoe1xuICBhcHA6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcXVlcnk6IHoub2JqZWN0KHt9KS5vcHRpb25hbCgpLFxuICBjb250ZXh0T3B0aW9uczogY29udGV4dE9wdGlvbnNTY2hlbWEsXG59KTtcbi8vIERlZmluZSB0aGUgQ29udGV4dFNldHRpbmdzIGludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBDb250ZXh0U2V0dGluZ3MgZXh0ZW5kcyB6LmluZmVyPHR5cGVvZiBjb250ZXh0U2V0dGluZ3NTY2hlbWE+IHt9XG5cbi8vIERlZmluZSB0aGUgWm9kIHJlcHJlc2VudGF0aW9uIGZvciB0aGUgdWlTZXR0aW5ncyBvYmplY3RcbmNvbnN0IHVpU2V0dGluZ3NTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGRpc3BsYXk6IHouYm9vbGVhbigpLFxuICBzZXJ2aWNlc01vZGVsczogei5ib29sZWFuKCksXG4gIGZ1bmN0aW9uczogei5ib29sZWFuKCksXG4gIHRlbXBlcmF0dXJlOiB6LmJvb2xlYW4oKSxcbiAgdG9wX3A6IHouYm9vbGVhbigpLFxuICBtYXhUb2tlbnM6IHouYm9vbGVhbigpLFxuICBkZWJ1Zzogei5ib29sZWFuKCksXG4gIGRpc3BsYXlTeXN0ZW1Qcm9tcHQ6IHouYm9vbGVhbigpLFxuICBzeXN0ZW1Qcm9tcHQ6IHouc3RyaW5nKCksXG4gIGRpc3BsYXlVc2VyUHJvbXB0OiB6LmJvb2xlYW4oKSxcbiAgdXNlclByb21wdDogei5zdHJpbmcoKSxcbn0pO1xuLy8gRGVmaW5lIHRoZSBVaVNldHRpbmdzIGludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBVaVNldHRpbmdzIGV4dGVuZHMgei5pbmZlcjx0eXBlb2YgdWlTZXR0aW5nc1NjaGVtYT4ge31cblxuLy8gRGVmaW5lIHRoZSBab2QgcmVwcmVzZW50YXRpb24gZm9yIHRoZSBlbnRpcmUgQ2hhdENvbmZpZyBvYmplY3RcbmV4cG9ydCBjb25zdCBjaGF0Q29uZmlnU2NoZW1hID0gei5vYmplY3Qoe1xuICBnbG9iYWxTZXR0aW5nczogZ2xvYmFsU2V0dGluZ3NTY2hlbWEsXG4gIHNlcnZpY2VTZXR0aW5nczogc2VydmljZVNldHRpbmdzU2NoZW1hLFxuICBjb250ZXh0U2V0dGluZ3M6IGNvbnRleHRTZXR0aW5nc1NjaGVtYSxcbiAgdWlTZXR0aW5nczogdWlTZXR0aW5nc1NjaGVtYSxcbiAgZnVuY3Rpb25zOiB6LmFycmF5KHouc3RyaW5nKCkpLFxuICBkZWJ1Zzogei5ib29sZWFuKCksXG4gIHNhdmVDaGF0czogei5ib29sZWFuKClcbn0pO1xuLy8gRGVmaW5lIHRoZSBVaVNldHRpbmdzIGludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBDaGF0Q29uZmlnIGV4dGVuZHMgei5pbmZlcjx0eXBlb2YgY2hhdENvbmZpZ1NjaGVtYT4ge31cblxuLy8gRE9ORVxuZXhwb3J0IGludGVyZmFjZSBDaGF0UGF5bG9hZCB7XG4gIGZ1bmN0aW9uczogc3RyaW5nW107XG4gIGRlYnVnOiBib29sZWFuO1xuICBzZXJ2aWNlU2V0dGluZ3M6IFNlcnZpY2VTZXR0aW5ncztcbiAgY29udGV4dFNldHRpbmdzOiBDb250ZXh0U2V0dGluZ3M7XG4gIGhpc3Rvcnk6IENoYXRNZXNzYWdlW107XG4gIGluc3RhbmNlSWQ/OiBzdHJpbmc7XG4gIHNhdmVkQ2hhdElkPzogc3RyaW5nO1xufVxuLy8gRE9ORVxuZXhwb3J0IHR5cGUgQWN0aW9uTWVzc2FnZSA9IHtcbiAgZ3VpZDogc3RyaW5nO1xuICBkaXNwbGF5TmFtZT86IHN0cmluZ1xuICBkaXNwbGF5VmFsdWU/OiBzdHJpbmc7XG4gIGV4ZWN1dGlvblRpbWU/OiBudW1iZXI7XG59XG4vLyBET05FXG5leHBvcnQgaW50ZXJmYWNlIFRleHRDaHVua3NPcHRpb25zIHtcbiAgZXh0ZW5kTW9kZT86ICdOb25lJyB8ICdTZW50ZW5jZScgfCAnQ2hhcnMnO1xuICBleHRlbmRTY29wZT86IG51bWJlcjtcbn1cbi8vIERPTkVcbmV4cG9ydCBpbnRlcmZhY2UgUXVvdGEge1xuICBsYXN0UmVxdWVzdDogc3RyaW5nO1xuICBwcm9tcHRUb2tlbkNvdW50OiBudW1iZXI7XG4gIGNvbXBsZXRpb25Ub2tlbkNvdW50OiBudW1iZXI7XG4gIHBlcmlvZFRva2VuczogbnVtYmVyO1xuICByZXNldEhvdXJzOiBudW1iZXI7XG4gIHRva2VuQ291bnQ6IG51bWJlcjtcbiAgbmV4dFJlc2V0OiBzdHJpbmc7XG4gIGxhc3RSZXNldFVUQzogc3RyaW5nO1xuICBuZXh0UmVzZXRVVEM6IHN0cmluZztcbiAgbWF4UXVvdGFSZWFjaGVkOiBib29sZWFuO1xufVxuXG4vKipcbiAqIExpc3Qgb2YgZXZlbnRzIGRhdGEgdGhhdCBjYW4gYmUgZW1pdHRlZCBieSB0aGUgd2Vic29ja2V0IGNoYXQgZW5kcG9pbnRcbiAqL1xuLy8gRE9ORVxuZXhwb3J0IHR5cGUgUXVvdGFFdmVudCA9IHsgcXVvdGE6IFF1b3RhIH07XG5leHBvcnQgdHlwZSBNZXNzYWdlRXZlbnQgPSBzdHJpbmc7XG5leHBvcnQgdHlwZSBDb250ZXh0TWVzc2FnZUV2ZW50ID0geyBjb250ZW50OiBzdHJpbmc7IG1ldGFkYXRhOiBDaGF0Q29udGV4dEF0dGFjaG1lbnQgfTtcbmV4cG9ydCB0eXBlIEVycm9yRXZlbnQgPSBzdHJpbmc7XG5leHBvcnQgdHlwZSBBY3Rpb25TdGFydEV2ZW50ID0geyBndWlkOiBzdHJpbmc7IGRpc3BsYXlOYW1lOiBzdHJpbmcgfTtcbmV4cG9ydCB0eXBlIEFjdGlvblJlc3VsdEV2ZW50ID0geyBndWlkOiBzdHJpbmc7IGRpc3BsYXlWYWx1ZTogc3RyaW5nIH07XG5leHBvcnQgdHlwZSBBY3Rpb25TdG9wRXZlbnQgPSB7IGd1aWQ6IHN0cmluZzsgZXhlY3V0aW9uVGltZTogbnVtYmVyIH07XG5leHBvcnQgdHlwZSBIaXN0b3J5RXZlbnQgPSB7IGhpc3Rvcnk6IFJhd01lc3NhZ2VbXTsgZXhlY3V0aW9uVGltZTogc3RyaW5nIH07XG5cbi8qKlxuICogRGF0YSBlbWl0dGVkIGJ5IHRoZSBodHRwIGNoYXQgZW5kcG9pbnRcbiAqL1xuLy8gRE9ORVxuZXhwb3J0IHR5cGUgSHR0cENoYXRSZXNwb25zZSA9IHtcbiAgcXVvdGE6IFF1b3RhO1xuICBkZWJ1ZzogYW55O1xuICBjb250ZXh0OiB7IGNvbnRlbnQ6IHN0cmluZzsgYWRkaXRpb25hbFByb3BlcnRpZXM6IENoYXRDb250ZXh0QXR0YWNobWVudCB9W107XG4gIGFjdGlvbnM6IEFjdGlvbk1lc3NhZ2VbXTtcbiAgaGlzdG9yeTogUmF3TWVzc2FnZVtdO1xuICBleGVjdXRpb25UaW1lOiBzdHJpbmc7XG59XG4vLyBET05FXG5leHBvcnQgdHlwZSBNZXNzYWdlSGFuZGxlcjxUPiA9IHtcbiAgaGFuZGxlcjogKGRhdGE6IFQpID0+IHZvaWQ7XG4gIGlzR2xvYmFsSGFuZGxlcjogYm9vbGVhbjtcbn07XG4iXX0=
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Npc3RhbnQvY2hhdC90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBaUl4QixrRUFBa0U7QUFDbEUsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMvQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNuQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3hDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25GLGVBQWUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7Q0FDbkcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO0lBQ25FLE9BQU8sRUFBRSxtTkFBbU47Q0FDN04sQ0FBQyxDQUFDO0FBSUgsK0RBQStEO0FBQy9ELE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNyQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUN0QixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNwQixXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUN2QixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFB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LENBQUMsT0FBTyxFQUFFO0lBQ3BCLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFO0NBQ3JCLENBQUMsQ0FBQTtBQUlGLDhEQUE4RDtBQUM5RCxNQUFNLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDcEMsVUFBVSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDbEMsQ0FBQyxDQUFBO0FBSUYsaUVBQWlFO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDdkMsa0JBQWtCLEVBQUUsd0JBQXdCO0lBQzVDLGFBQWEsRUFBRSxtQkFBbUI7SUFDbEMsWUFBWSxFQUFFLGtCQUFrQjtJQUNoQyxVQUFVLEVBQUUsZ0JBQWdCO0lBQzVCLHlCQUF5QixFQUFFLCtCQUErQjtJQUMxRCxpQkFBaUIsRUFBRSx1QkFBdUI7SUFDMUMsY0FBYyxFQUFFLG9CQUFvQjtDQUNyQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB6IH0gZnJvbSAnem9kJztcbmltcG9ydCB7IFJlY29yZCB9IGZyb20gXCJAc2luZXF1YS9jb3JlL3dlYi1zZXJ2aWNlc1wiO1xuaW1wb3J0IHsgUXVlcnkgfSBmcm9tICdAc2luZXF1YS9jb3JlL2FwcC11dGlscyc7XG5cbi8qKlxuICogSW5kaXZpZHVhbCBtZXNzYWdlIHNlbnQgJiByZXR1cm5lZCBieSB0aGUgQ2hhdEdQVCBBUEkuXG4gKiBJZiB0aGlzIG1lc3NhZ2UgaXMgYW4gYXR0YWNobWVudCwgd2UgYXR0YWNoIHRoZSBtaW5pbWFsXG4gKiBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gcmVjb25zdHJ1Y3QgdGhpcyBhdHRhY2htZW50IChSYXdBdHRhY2htZW50KVxuICogYXMgd2VsbCBhcyB0aGUgcmVmZXJlbmNlIGlkIGNvbXB1dGVkIGF0IHRoZSBtb21lbnQgb2Ygc2VuZGluZ1xuICogdGhlIGF0dGFjaG1lbnQgdG8gdGhlIEFQSS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSYXdNZXNzYWdlIHtcbiAgcm9sZTogc3RyaW5nO1xuICBjb250ZW50OiBzdHJpbmc7XG4gIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiB7XG4gICAgW2tleTogc3RyaW5nXTogYW55XG4gIH07XG59XG5cbi8qKlxuICogQSBjaGF0IG1lc3NhZ2UgdGhhdCBoYXMgYmVlbiBwcm9jZXNzZWQgdG8gaW5jbHVkZSB0aGUgbWFya2Rvd24tZm9ybWF0dGVkXG4gKiBjb250ZW50IGZvciBkaXNwbGF5LCBhcyB3ZWxsIGFzIGRldGFpbGVkIGF0dGFjaG1lbnQgZGF0YSwgYW5kIG9wdGlvbmFsbHlcbiAqIGEgbGlzdCBvZiB0aGUgcmVmZXJlbmNlcyBleHRyYWN0ZWQgZnJvbSB0aGF0IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGF0TWVzc2FnZSBleHRlbmRzIFJhd01lc3NhZ2Uge1xuICBhZGRpdGlvbmFsUHJvcGVydGllczoge1xuICAgIGRpc3BsYXk/OiBib29sZWFuO1xuICAgICRwcm9ncmVzcz86IENoYXRQcm9ncmVzc1tdO1xuICAgICRhdHRhY2htZW50PzogQ2hhdENvbnRleHRBdHRhY2htZW50W107XG4gICAgZm9yY2VkV29ya2Zsb3c/OiBzdHJpbmc7XG4gICAgcXVlcnk/OiBRdWVyeTtcbiAgICBpc1VzZXJJbnB1dD86IGJvb2xlYW47XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRQcm9ncmVzcyB7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBjb250ZW50Pzogc3RyaW5nO1xuICAgIGRvbmU/OiBib29sZWFuO1xuICAgIHRpbWU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmF3QXR0YWNobWVudCB7XG4gIC8qKiBUeXBlIG9mIHRoZSBhdHRhY2htZW50ICovXG4gIHR5cGU6IHN0cmluZztcbiAgLyoqIFJlY29yZCBpZCBmcm9tIHdoaWNoIHRoaXMgYXR0YWNobWVudCBpcyB0YWtlbiAqL1xuICByZWNvcmRJZDogc3RyaW5nO1xuICAvKiogUmVjb3JkIGZyb20gd2hpY2ggdGhpcyB0aGlzIGF0dGFjaG1lbnQgaXMgdGFrZW4gKi9cbiAgcmVjb3JkOiBSZWNvcmQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9jdW1lbnRQYXJ0IHtcbiAgcGFydElkOiBudW1iZXI7XG4gIG9mZnNldDogbnVtYmVyO1xuICBsZW5ndGg6IG51bWJlcjtcbiAgdGV4dDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRDb250ZXh0QXR0YWNobWVudCBleHRlbmRzIFJhd0F0dGFjaG1lbnQge1xuICAvKiogVHlwZSBvZiB0aGUgYXR0YWNobWVudCAqL1xuICB0eXBlOiBcIkNvbnRleHRcIjtcbiAgLyoqIFJhbmsgb2YgdGhlIGF0dGFjaG1lbnQgaW4gdGhlIGNvbnRleHQgbWVzc2FnZSAqL1xuICBjb250ZXh0SWQ6IG51bWJlcjtcbiAgLyoqIFBhcnRzIG9mIHRoZSByZWNvcmQgdGhhdCB0aGUgYXNzaXN0YW50IHVzZXMgdG8gYW5zd2VyICovXG4gIHBhcnRzOiBEb2N1bWVudFBhcnRbXTtcbiAgLyoqIFRoZSBzcGVjaWZpYyBpZCBvZiB1c2VkIHRoZSByZWZlcmVuY2VkIHBhcnQgKi9cbiAgJHBhcnRJZD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBSYXcgcmVzcG9uc2Ugb2YgdGhlIGNoYXQgQVBJXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmF3UmVzcG9uc2Uge1xuICBoaXN0b3J5OiBSYXdNZXNzYWdlW107XG4gIGV4ZWN1dGlvblRpbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBFbnJpY2hlZCByZXNwb25zZSBvZiB0aGUgY2hhdCBBUElcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGF0UmVzcG9uc2UgZXh0ZW5kcyBSYXdSZXNwb25zZXtcbiAgaGlzdG9yeTogQ2hhdE1lc3NhZ2VbXTtcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBvZiB0aGUgTGlzdE1vZGVscyBBUElcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHbGxtTW9kZWxEZXNjcmlwdGlvbiB7XG4gIHByb3ZpZGVyOiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIHNlcnZpY2VJZDogc3RyaW5nO1xuICBtb2RlbElkOiBzdHJpbmc7XG4gIGVuYWJsZTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBvZiB0aGUgTGlzdEZ1bmN0aW9ucyBBUElcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHbGxtRnVuY3Rpb24ge1xuICBmdW5jdGlvbk5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgcGFyYW1ldGVyczogR2xsbUZ1bmN0aW9uUGFyYW1ldGVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2xsbUZ1bmN0aW9uUGFyYW1ldGVyIHtcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgaXNSZXF1aXJlZDogYm9vbGVhbjtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogTWluaW1hbCByZXByZXNlbnRhdGlvbiBvZiBhIHNhdmVkIGNoYXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYXZlZENoYXQge1xuICBpZDogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBtb2RpZmllZFVUQzogc3RyaW5nO1xufVxuXG4vKipcbiAqIERhdGEgc3RydWN0dXJlIHNhdmVkIHRvIHJlY29uc3RydWN0IGEgc2F2ZWQgY2hhdCBjb252ZXJzYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYXZlZENoYXRIaXN0b3J5IGV4dGVuZHMgU2F2ZWRDaGF0e1xuICBoaXN0b3J5OiBDaGF0TWVzc2FnZVtdO1xufVxuXG4vLyBEZWZpbmUgdGhlIFpvZCByZXByZXNlbnRhdGlvbiBmb3IgdGhlIGNvbm5lY3Rpb25TZXR0aW5ncyBvYmplY3RcbmV4cG9ydCBjb25zdCBjb25uZWN0aW9uU2V0dGluZ3NTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHJlc3RFbmRwb2ludDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB3ZWJzb2NrZXRFbmRwb2ludDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBzaWduYWxSVHJhbnNwb3J0OiB6LmVudW0oW1wiV2ViU29ja2V0c1wiLCBcIlNlcnZlclNlbnRFdmVudHNcIiwgXCJMb25nUG9sbGluZ1wiLCBcIk5vbmVcIl0pLFxuICBzaWduYWxSTG9nTGV2ZWw6IHouZW51bShbXCJDcml0aWNhbFwiLCBcIkRlYnVnXCIsIFwiRXJyb3JcIiwgXCJJbmZvcm1hdGlvblwiLCBcIk5vbmVcIiwgXCJUcmFjZVwiLCBcIldhcm5pbmdcIl0pXG59KS5yZWZpbmUoZGF0YSA9PiAoISFkYXRhLnJlc3RFbmRwb2ludCB8fCAhIWRhdGEud2Vic29ja2V0RW5kcG9pbnQpLCB7XG4gIG1lc3NhZ2U6IFwiQmFzZWQgb24gdGhlIHByb3ZpZGVkIGlucHV0KCkgcHJvdG9jb2wgKCdSRVNUJyBvciAnV0VCU09DS0VUJykgdG8gdGhlIENoYXQgQ29tcG9uZW50LCBlaXRoZXIgJ3Jlc3RFbmRwb2ludCcgb3IgJ3dlYnNvY2tldEVuZHBvaW50JyBwcm9wZXJ0eSBzaG91bGQgYmUgcHJvdmlkZWQgaW4gdGhlICdnbG9iYWxTZXR0aW5ncycgb2YgdGhlIGFzc2lzdGFudCBpbnN0YW5jZS5cIixcbn0pO1xuLy8gRGVmaW5lIHRoZSBDb25uZWN0aW9uU2V0dGluZ3MgaW50ZXJmYWNlXG5leHBvcnQgdHlwZSBDb25uZWN0aW9uU2V0dGluZ3MgPSB6LmluZmVyPHR5cGVvZiBjb25uZWN0aW9uU2V0dGluZ3NTY2hlbWE+O1xuXG4vLyBEZWZpbmUgdGhlIFpvZCByZXByZXNlbnRhdGlvbiBmb3IgdGhlIHNlcnZpY2VTZXR0aW5ncyBvYmplY3RcbmNvbnN0IHNlcnZpY2VTZXR0aW5nc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgc2VydmljZV9pZDogei5zdHJpbmcoKSxcbiAgbW9kZWxfaWQ6IHouc3RyaW5nKCksXG4gIHRlbXBlcmF0dXJlOiB6Lm51bWJlcigpLFxuICB0b3BfcDogei5udW1iZXIoKSxcbiAgbWF4X3Rva2Vuczogei5udW1iZXIoKVxufSk7XG4vLyBEZWZpbmUgdGhlIFNlcnZpY2VTZXR0aW5ncyBpbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZVNldHRpbmdzIGV4dGVuZHMgei5pbmZlcjx0eXBlb2Ygc2VydmljZVNldHRpbmdzU2NoZW1hPiB7fVxuXG4vLyBEZWZpbmUgdGhlIFpvZCByZXByZXNlbnRhdGlvbiBmb3IgdGhlIGFkZGl0aW9uYWxTZXJ2aWNlU2V0dGluZ3Mgb2JqZWN0XG5jb25zdCBhZGRpdGlvbmFsU2VydmljZVNldHRpbmdzU2NoZW1hID0gei5vYmplY3Qoe30pO1xuLy8gRGVmaW5lIHRoZSBBZGRpdGlvbmFsU2VydmljZVNldHRpbmdzIGludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBBZGRpdGlvbmFsU2VydmljZVNldHRpbmdzIGV4dGVuZHMgei5pbmZlcjx0eXBlb2YgYWRkaXRpb25hbFNlcnZpY2VTZXR0aW5nc1NjaGVtYT4ge31cblxuLy8gRGVmaW5lIHRoZSBab2QgcmVwcmVzZW50YXRpb24gZm9yIHRoZSB1aVNldHRpbmdzIG9iamVjdFxuY29uc3QgdWlTZXR0aW5nc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgZGlzcGxheTogei5ib29sZWFuKCksXG4gIHNlcnZpY2VzTW9kZWxzOiB6LmJvb2xlYW4oKSxcbiAgZnVuY3Rpb25zOiB6LmJvb2xlYW4oKSxcbiAgdGVtcGVyYXR1cmU6IHouYm9vbGVhbigpLFxuICB0b3BfcDogei5ib29sZWFuKCksXG4gIG1heF90b2tlbnM6IHouYm9vbGVhbigpLFxuICBkZWJ1Zzogei5ib29sZWFuKCksXG4gIGRpc3BsYXlTeXN0ZW1Qcm9tcHQ6IHouYm9vbGVhbigpLFxuICBkaXNwbGF5VXNlclByb21wdDogei5ib29sZWFuKClcbn0pO1xuLy8gRGVmaW5lIHRoZSBVaVNldHRpbmdzIGludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBVaVNldHRpbmdzIGV4dGVuZHMgei5pbmZlcjx0eXBlb2YgdWlTZXR0aW5nc1NjaGVtYT4ge31cblxuLy8gRGVmaW5lIHRoZSBab2QgcmVwcmVzZW50YXRpb24gZm9yIHRoZSBkZWZhdWx0VmFsdWVzIG9iamVjdFxuY29uc3QgZGVmYXVsdFZhbHVlc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgc2VydmljZV9pZDogei5zdHJpbmcoKSxcbiAgbW9kZWxfaWQ6IHouc3RyaW5nKCksXG4gIGZ1bmN0aW9uczogei5hcnJheShcbiAgICB6Lm9iamVjdCh7XG4gICAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgICAgZW5hYmxlZDogei5ib29sZWFuKClcbiAgICB9KVxuICApLFxuICB0ZW1wZXJhdHVyZTogei5udW1iZXIoKSxcbiAgdG9wX3A6IHoubnVtYmVyKCksXG4gIG1heF90b2tlbnM6IHoubnVtYmVyKCksXG4gIGRlYnVnOiB6LmJvb2xlYW4oKSxcbiAgc3lzdGVtUHJvbXB0OiB6LnN0cmluZygpLFxuICB1c2VyUHJvbXB0OiB6LnN0cmluZygpXG59KTtcbi8vIERlZmluZSB0aGUgRGVmYXVsdFZhbHVlcyBpbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgRGVmYXVsdFZhbHVlcyBleHRlbmRzIHouaW5mZXI8dHlwZW9mIGRlZmF1bHRWYWx1ZXNTY2hlbWE+IHt9XG5cbi8vIERlZmluZSB0aGUgWm9kIHJlcHJlc2VudGF0aW9uIGZvciB0aGUgbW9kZVNldHRpbmdzIG9iamVjdFxuY29uc3QgaW5pdGlhbGl6YXRpb25TY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGV2ZW50OiB6LmVudW0oWydRdWVyeScsICdQcm9tcHQnXSksXG4gIGZvcmNlZFdvcmtmbG93OiB6LnN0cmluZygpLm9wdGlvbmFsKCksIC8vIE9wdGlvbmFsIGZvciBldmVudCAnUHJvbXB0J1xuICBkaXNwbGF5VXNlclF1ZXJ5OiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLCAvLyBPcHRpb25hbCBmb3IgZXZlbnQgJ1Byb21wdCdcbn0pLnJlZmluZShkYXRhID0+ICgoZGF0YS5ldmVudCA9PT0gXCJRdWVyeVwiKSA/ICghIWRhdGEuZm9yY2VkV29ya2Zsb3cgJiYgZGF0YS5kaXNwbGF5VXNlclF1ZXJ5ICE9PSB1bmRlZmluZWQgJiYgZGF0YS5kaXNwbGF5VXNlclF1ZXJ5ICE9PSBudWxsKSA6IHRydWUpLCB7XG4gIG1lc3NhZ2U6IFwiVGhlICdmb3JjZWRXb3JrZmxvdycgYW5kICdkaXNwbGF5VXNlclF1ZXJ5JyBwcm9wZXJ0aWVzIG11c3QgYmUgcHJvdmlkZWQgd2hlbiB0aGUgaW5pdGlhbGl6YXRpb24ncyBldmVudCBpcyAnUXVlcnknLlwiLFxufSk7XG5jb25zdCBtb2RlU2V0dGluZ3NTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGVuYWJsZWRVc2VySW5wdXQ6IHouYm9vbGVhbigpLFxuICBkaXNwbGF5VXNlclByb21wdDogei5ib29sZWFuKCksXG4gIHNlbmRVc2VyUHJvbXB0OiB6LmJvb2xlYW4oKSxcbiAgaW5pdGlhbGl6YXRpb246IGluaXRpYWxpemF0aW9uU2NoZW1hXG59KTtcbi8vIERlZmluZSB0aGUgTW9kZVNldHRpbmdzIGludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBNb2RlU2V0dGluZ3MgZXh0ZW5kcyB6LmluZmVyPHR5cGVvZiBtb2RlU2V0dGluZ3NTY2hlbWE+IHt9XG5cbi8vIERlZmluZSB0aGUgWm9kIHJlcHJlc2VudGF0aW9uIGZvciB0aGUgc2F2ZWRDaGF0U2V0dGluZ3Mgb2JqZWN0XG5jb25zdCBzYXZlZENoYXRTZXR0aW5nc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgZW5hYmxlZDogei5ib29sZWFuKCksXG4gIGRpc3BsYXk6IHouYm9vbGVhbigpXG59KVxuLy8gRGVmaW5lIHRoZSBTYXZlZENoYXRTZXR0aW5ncyBpbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgU2F2ZWRDaGF0U2V0dGluZ3MgZXh0ZW5kcyB6LmluZmVyPHR5cGVvZiBzYXZlZENoYXRTZXR0aW5nc1NjaGVtYT4ge31cblxuLy8gRGVmaW5lIHRoZSBab2QgcmVwcmVzZW50YXRpb24gZm9yIHRoZSBnbG9iYWxTZXR0aW5ncyBvYmplY3RcbmNvbnN0IGdsb2JhbFNldHRpbmdzU2NoZW1hID0gei5vYmplY3Qoe1xuICBkaXNjbGFpbWVyOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KVxuLy8gRGVmaW5lIHRoZSBTYXZlZENoYXRTZXR0aW5ncyBpbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgU2F2ZWRDaGF0U2V0dGluZ3MgZXh0ZW5kcyB6LmluZmVyPHR5cGVvZiBzYXZlZENoYXRTZXR0aW5nc1NjaGVtYT4ge31cblxuLy8gRGVmaW5lIHRoZSBab2QgcmVwcmVzZW50YXRpb24gZm9yIHRoZSBlbnRpcmUgQ2hhdENvbmZpZyBvYmplY3RcbmV4cG9ydCBjb25zdCBjaGF0Q29uZmlnU2NoZW1hID0gei5vYmplY3Qoe1xuICBjb25uZWN0aW9uU2V0dGluZ3M6IGNvbm5lY3Rpb25TZXR0aW5nc1NjaGVtYSxcbiAgZGVmYXVsdFZhbHVlczogZGVmYXVsdFZhbHVlc1NjaGVtYSxcbiAgbW9kZVNldHRpbmdzOiBtb2RlU2V0dGluZ3NTY2hlbWEsXG4gIHVpU2V0dGluZ3M6IHVpU2V0dGluZ3NTY2hlbWEsXG4gIGFkZGl0aW9uYWxTZXJ2aWNlU2V0dGluZ3M6IGFkZGl0aW9uYWxTZXJ2aWNlU2V0dGluZ3NTY2hlbWEsXG4gIHNhdmVkQ2hhdFNldHRpbmdzOiBzYXZlZENoYXRTZXR0aW5nc1NjaGVtYSxcbiAgZ2xvYmFsU2V0dGluZ3M6IGdsb2JhbFNldHRpbmdzU2NoZW1hXG59KTtcbi8vIERlZmluZSB0aGUgQ2hhdENvbmZpZyBpbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdENvbmZpZyBleHRlbmRzIHouaW5mZXI8dHlwZW9mIGNoYXRDb25maWdTY2hlbWE+IHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdFBheWxvYWQge1xuICBkZWJ1ZzogYm9vbGVhbjtcbiAgZnVuY3Rpb25zOiBzdHJpbmdbXTtcbiAgaGlzdG9yeTogQ2hhdE1lc3NhZ2VbXTtcbiAgc2VydmljZVNldHRpbmdzOiBTZXJ2aWNlU2V0dGluZ3M7XG4gIGFwcFF1ZXJ5OiB7XG4gICAgYXBwOiBzdHJpbmc7XG4gICAgcXVlcnk6IFF1ZXJ5IHwgdW5kZWZpbmVkO1xuICAgIHRhcmdldFVybD86IHN0cmluZztcbiAgICBhY2Nlc3NUb2tlbj86IHN0cmluZztcbiAgfTtcbiAgaW5zdGFuY2VJZD86IHN0cmluZztcbiAgc2F2ZWRDaGF0SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEFjdGlvbk1lc3NhZ2UgPSB7XG4gIGd1aWQ6IHN0cmluZztcbiAgZGlzcGxheU5hbWU/OiBzdHJpbmdcbiAgZGlzcGxheVZhbHVlPzogc3RyaW5nO1xuICBleGVjdXRpb25UaW1lPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRDaHVua3NPcHRpb25zIHtcbiAgZXh0ZW5kTW9kZT86ICdOb25lJyB8ICdTZW50ZW5jZScgfCAnQ2hhcnMnO1xuICBleHRlbmRTY29wZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdW90YSB7XG4gIGxhc3RSZXF1ZXN0OiBzdHJpbmc7XG4gIHByb21wdFRva2VuQ291bnQ6IG51bWJlcjtcbiAgY29tcGxldGlvblRva2VuQ291bnQ6IG51bWJlcjtcbiAgcGVyaW9kVG9rZW5zOiBudW1iZXI7XG4gIHJlc2V0SG91cnM6IG51bWJlcjtcbiAgdG9rZW5Db3VudDogbnVtYmVyO1xuICBuZXh0UmVzZXQ6IHN0cmluZztcbiAgbGFzdFJlc2V0VVRDOiBzdHJpbmc7XG4gIG5leHRSZXNldFVUQzogc3RyaW5nO1xuICBtYXhRdW90YVJlYWNoZWQ6IGJvb2xlYW47XG59XG5cbi8qKlxuICogTGlzdCBvZiBldmVudHMgZGF0YSB0aGF0IGNhbiBiZSBlbWl0dGVkIGJ5IHRoZSB3ZWJzb2NrZXQgY2hhdCBlbmRwb2ludFxuICovXG5leHBvcnQgdHlwZSBRdW90YUV2ZW50ID0geyBxdW90YTogUXVvdGEgfTtcbmV4cG9ydCB0eXBlIE1lc3NhZ2VFdmVudCA9IHN0cmluZztcbmV4cG9ydCB0eXBlIENvbnRleHRNZXNzYWdlRXZlbnQgPSB7IGNvbnRlbnQ6IHN0cmluZzsgbWV0YWRhdGE6IENoYXRDb250ZXh0QXR0YWNobWVudCB9O1xuZXhwb3J0IHR5cGUgRXJyb3JFdmVudCA9IHN0cmluZztcbmV4cG9ydCB0eXBlIEFjdGlvblN0YXJ0RXZlbnQgPSB7IGd1aWQ6IHN0cmluZzsgZGlzcGxheU5hbWU6IHN0cmluZyB9O1xuZXhwb3J0IHR5cGUgQWN0aW9uUmVzdWx0RXZlbnQgPSB7IGd1aWQ6IHN0cmluZzsgZGlzcGxheVZhbHVlOiBzdHJpbmcgfTtcbmV4cG9ydCB0eXBlIEFjdGlvblN0b3BFdmVudCA9IHsgZ3VpZDogc3RyaW5nOyBleGVjdXRpb25UaW1lOiBudW1iZXIgfTtcbmV4cG9ydCB0eXBlIEhpc3RvcnlFdmVudCA9IHsgaGlzdG9yeTogUmF3TWVzc2FnZVtdOyBleGVjdXRpb25UaW1lOiBzdHJpbmcgfTtcblxuLyoqXG4gKiBEYXRhIGVtaXR0ZWQgYnkgdGhlIGh0dHAgY2hhdCBlbmRwb2ludFxuICovXG5leHBvcnQgdHlwZSBIdHRwQ2hhdFJlc3BvbnNlID0ge1xuICBxdW90YTogUXVvdGE7XG4gIGRlYnVnOiBhbnk7XG4gIGNvbnRleHQ6IHsgY29udGVudDogc3RyaW5nOyBhZGRpdGlvbmFsUHJvcGVydGllczogQ2hhdENvbnRleHRBdHRhY2htZW50IH1bXTtcbiAgYWN0aW9uczogQWN0aW9uTWVzc2FnZVtdO1xuICBoaXN0b3J5OiBSYXdNZXNzYWdlW107XG4gIGV4ZWN1dGlvblRpbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgTWVzc2FnZUhhbmRsZXI8VD4gPSB7XG4gIGhhbmRsZXI6IChkYXRhOiBUKSA9PiB2b2lkO1xuICBpc0dsb2JhbEhhbmRsZXI6IGJvb2xlYW47XG59O1xuIl19
|