@copilotkitnext/angular 0.0.19-alpha.0 → 0.0.20
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/esm2022/lib/agent-context.mjs +25 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-user-message-branch-navigation.mjs +26 -6
- package/dist/esm2022/lib/components/chat/copilot-chat-user-message.mjs +34 -36
- package/dist/esm2022/lib/components/chat/copilot-chat-user-message.types.mjs +1 -1
- package/dist/esm2022/lib/copilotkit.mjs +7 -16
- package/dist/esm2022/lib/render-tool-calls.mjs +24 -6
- package/dist/esm2022/lib/tools.mjs +1 -1
- package/dist/esm2022/public-api.mjs +2 -1
- package/dist/fesm2022/copilotkitnext-angular.mjs +110 -60
- package/dist/fesm2022/copilotkitnext-angular.mjs.map +1 -1
- package/dist/lib/agent-context.d.ts +12 -0
- package/dist/lib/agent.d.ts +1 -16
- package/dist/lib/components/chat/copilot-chat-assistant-message.d.ts +2 -32
- package/dist/lib/components/chat/copilot-chat-message-view.d.ts +7 -112
- package/dist/lib/components/chat/copilot-chat-tool-calls-view.d.ts +1 -16
- package/dist/lib/components/chat/copilot-chat-user-message-branch-navigation.d.ts +2 -17
- package/dist/lib/components/chat/copilot-chat-user-message.d.ts +2 -18
- package/dist/lib/components/chat/copilot-chat-user-message.types.d.ts +7 -1
- package/dist/lib/components/chat/copilot-chat-view-scroll-view.d.ts +1 -16
- package/dist/lib/components/chat/copilot-chat-view.d.ts +3 -48
- package/dist/lib/components/chat/copilot-chat.d.ts +1 -16
- package/dist/lib/render-tool-calls.d.ts +1 -16
- package/dist/lib/tools.d.ts +5 -3
- package/dist/public-api.d.ts +1 -0
- package/package.json +5 -5
- package/vitest.config.mts.timestamp-1760727629337-603c9e5c1f334.mjs +49 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { effect, inject, Injector, runInInjectionContext } from "@angular/core";
|
|
2
|
+
import { CopilotKit } from "./copilotkit";
|
|
3
|
+
/**
|
|
4
|
+
* Connects context to the agent.
|
|
5
|
+
*
|
|
6
|
+
* @param context - The context (or a signal of context) to connect to the agent.
|
|
7
|
+
* @param config - Optional configuration for connecting the context.
|
|
8
|
+
*/
|
|
9
|
+
export function connectAgentContext(context, config) {
|
|
10
|
+
const injector = inject(Injector, { optional: true }) ?? config?.injector;
|
|
11
|
+
if (!injector) {
|
|
12
|
+
throw new Error("Injector not found. You must call connectAgentContext in an injector context or pass an injector in the config");
|
|
13
|
+
}
|
|
14
|
+
runInInjectionContext(injector, () => {
|
|
15
|
+
const copilotkit = inject(CopilotKit);
|
|
16
|
+
effect((teardown) => {
|
|
17
|
+
const contextValue = typeof context === "function" ? context() : context;
|
|
18
|
+
const id = copilotkit.core.addContext(contextValue);
|
|
19
|
+
teardown(() => {
|
|
20
|
+
copilotkit.core.removeContext(id);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQtY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvYWdlbnQtY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFeEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQU0xQzs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxPQUFrQyxFQUFFLE1BQWtDO0lBQ3hHLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsSUFBSSxNQUFNLEVBQUUsUUFBUSxDQUFDO0lBRTFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE1BQU0sSUFBSSxLQUFLLENBQ2IsZ0hBQWdILENBQ2pILENBQUM7SUFDSixDQUFDO0lBRUQscUJBQXFCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtRQUNuQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFdEMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDbEIsTUFBTSxZQUFZLEdBQUcsT0FBTyxPQUFPLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ3pFLE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRXBELFFBQVEsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVmZmVjdCwgaW5qZWN0LCBJbmplY3RvciwgcnVuSW5JbmplY3Rpb25Db250ZXh0LCBTaWduYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAYWctdWkvY2xpZW50XCI7XG5pbXBvcnQgeyBDb3BpbG90S2l0IH0gZnJvbSBcIi4vY29waWxvdGtpdFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbm5lY3RBZ2VudENvbnRleHRDb25maWcge1xuICBpbmplY3Rvcj86IEluamVjdG9yO1xufVxuXG4vKipcbiAqIENvbm5lY3RzIGNvbnRleHQgdG8gdGhlIGFnZW50LlxuICpcbiAqIEBwYXJhbSBjb250ZXh0IC0gVGhlIGNvbnRleHQgKG9yIGEgc2lnbmFsIG9mIGNvbnRleHQpIHRvIGNvbm5lY3QgdG8gdGhlIGFnZW50LlxuICogQHBhcmFtIGNvbmZpZyAtIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIGNvbm5lY3RpbmcgdGhlIGNvbnRleHQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25uZWN0QWdlbnRDb250ZXh0KGNvbnRleHQ6IENvbnRleHQgfCBTaWduYWw8Q29udGV4dD4sIGNvbmZpZz86IENvbm5lY3RBZ2VudENvbnRleHRDb25maWcpIHtcbiAgY29uc3QgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IsIHsgb3B0aW9uYWw6IHRydWUgfSkgPz8gY29uZmlnPy5pbmplY3RvcjtcblxuICBpZiAoIWluamVjdG9yKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgXCJJbmplY3RvciBub3QgZm91bmQuIFlvdSBtdXN0IGNhbGwgY29ubmVjdEFnZW50Q29udGV4dCBpbiBhbiBpbmplY3RvciBjb250ZXh0IG9yIHBhc3MgYW4gaW5qZWN0b3IgaW4gdGhlIGNvbmZpZ1wiLFxuICAgICk7XG4gIH1cblxuICBydW5JbkluamVjdGlvbkNvbnRleHQoaW5qZWN0b3IsICgpID0+IHtcbiAgICBjb25zdCBjb3BpbG90a2l0ID0gaW5qZWN0KENvcGlsb3RLaXQpO1xuXG4gICAgZWZmZWN0KCh0ZWFyZG93bikgPT4ge1xuICAgICAgY29uc3QgY29udGV4dFZhbHVlID0gdHlwZW9mIGNvbnRleHQgPT09IFwiZnVuY3Rpb25cIiA/IGNvbnRleHQoKSA6IGNvbnRleHQ7XG4gICAgICBjb25zdCBpZCA9IGNvcGlsb3RraXQuY29yZS5hZGRDb250ZXh0KGNvbnRleHRWYWx1ZSk7XG5cbiAgICAgIHRlYXJkb3duKCgpID0+IHtcbiAgICAgICAgY29waWxvdGtpdC5jb3JlLnJlbW92ZUNvbnRleHQoaWQpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, input, output, ChangeDetectionStrategy, ViewEncapsulation, computed } from "@angular/core";
|
|
1
|
+
import { Component, input, output, ChangeDetectionStrategy, ViewEncapsulation, computed, } from "@angular/core";
|
|
2
2
|
import { CommonModule } from "@angular/common";
|
|
3
3
|
import { LucideAngularModule, ChevronLeft, ChevronRight } from "lucide-angular";
|
|
4
4
|
import { cn } from "../../utils";
|
|
@@ -57,13 +57,23 @@ export class CopilotChatUserMessageBranchNavigation {
|
|
|
57
57
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CopilotChatUserMessageBranchNavigation, isStandalone: true, selector: "copilot-chat-user-message-branch-navigation", inputs: { currentBranch: { classPropertyName: "currentBranch", publicName: "currentBranch", isSignal: true, isRequired: false, transformFunction: null }, numberOfBranches: { classPropertyName: "numberOfBranches", publicName: "numberOfBranches", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { switchToBranch: "switchToBranch" }, ngImport: i0, template: `
|
|
58
58
|
@if (showNavigation()) {
|
|
59
59
|
<div [class]="computedClass()">
|
|
60
|
-
<button
|
|
60
|
+
<button
|
|
61
|
+
type="button"
|
|
62
|
+
[class]="buttonClass"
|
|
63
|
+
[disabled]="!canGoPrev()"
|
|
64
|
+
(click)="handlePrevious()"
|
|
65
|
+
>
|
|
61
66
|
<lucide-angular [img]="ChevronLeftIcon" [size]="20"></lucide-angular>
|
|
62
67
|
</button>
|
|
63
68
|
<span class="text-sm text-muted-foreground px-0 font-medium">
|
|
64
69
|
{{ currentBranch() + 1 }}/{{ numberOfBranches() }}
|
|
65
70
|
</span>
|
|
66
|
-
<button
|
|
71
|
+
<button
|
|
72
|
+
type="button"
|
|
73
|
+
[class]="buttonClass"
|
|
74
|
+
[disabled]="!canGoNext()"
|
|
75
|
+
(click)="handleNext()"
|
|
76
|
+
>
|
|
67
77
|
<lucide-angular [img]="ChevronRightIcon" [size]="20"></lucide-angular>
|
|
68
78
|
</button>
|
|
69
79
|
</div>
|
|
@@ -81,13 +91,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
81
91
|
template: `
|
|
82
92
|
@if (showNavigation()) {
|
|
83
93
|
<div [class]="computedClass()">
|
|
84
|
-
<button
|
|
94
|
+
<button
|
|
95
|
+
type="button"
|
|
96
|
+
[class]="buttonClass"
|
|
97
|
+
[disabled]="!canGoPrev()"
|
|
98
|
+
(click)="handlePrevious()"
|
|
99
|
+
>
|
|
85
100
|
<lucide-angular [img]="ChevronLeftIcon" [size]="20"></lucide-angular>
|
|
86
101
|
</button>
|
|
87
102
|
<span class="text-sm text-muted-foreground px-0 font-medium">
|
|
88
103
|
{{ currentBranch() + 1 }}/{{ numberOfBranches() }}
|
|
89
104
|
</span>
|
|
90
|
-
<button
|
|
105
|
+
<button
|
|
106
|
+
type="button"
|
|
107
|
+
[class]="buttonClass"
|
|
108
|
+
[disabled]="!canGoNext()"
|
|
109
|
+
(click)="handleNext()"
|
|
110
|
+
>
|
|
91
111
|
<lucide-angular [img]="ChevronRightIcon" [size]="20"></lucide-angular>
|
|
92
112
|
</button>
|
|
93
113
|
</div>
|
|
@@ -95,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
95
115
|
`,
|
|
96
116
|
}]
|
|
97
117
|
}] });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1icmFuY2gtbmF2aWdhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jaGF0L2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UtYnJhbmNoLW5hdmlnYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS2hGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQWtDakMsTUFBTSxPQUFPLHNDQUFzQztJQUNqRCxhQUFhLEdBQUcsS0FBSyxDQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLGdCQUFnQixHQUFHLEtBQUssQ0FBUyxDQUFDLENBQUMsQ0FBQztJQUNwQyxPQUFPLEdBQUcsS0FBSyxFQUFlLENBQUM7SUFDL0IsVUFBVSxHQUFHLEtBQUssRUFBc0IsQ0FBQztJQUN6QyxjQUFjLEdBQUcsTUFBTSxFQUErQyxDQUFDO0lBRTlELGVBQWUsR0FBRyxXQUFXLENBQUM7SUFDOUIsZ0JBQWdCLEdBQUcsWUFBWSxDQUFDO0lBRWhDLFdBQVcsR0FBRyxFQUFFO0lBQ3ZCLGlCQUFpQjtJQUNqQix5Q0FBeUM7SUFDekMsU0FBUztJQUNULGdCQUFnQjtJQUNoQixzQkFBc0I7SUFDdEIsNkNBQTZDO0lBQzdDLFlBQVk7SUFDWixzREFBc0Q7SUFDdEQsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUNqQixpREFBaUQsQ0FDbEQsQ0FBQztJQUVGLGNBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFN0QsU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFckQsU0FBUyxHQUFHLFFBQVEsQ0FDbEIsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsQ0FDekQsQ0FBQztJQUVGLGFBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQzVCLE9BQU8sRUFBRSxDQUFDLHlCQUF5QixFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzFELENBQUMsQ0FBQyxDQUFDO0lBRUgsY0FBYztRQUNaLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDckIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztnQkFDdkIsV0FBVyxFQUFFLFFBQVE7Z0JBQ3JCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDekMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUc7YUFDekIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUNyQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO2dCQUN2QixXQUFXLEVBQUUsUUFBUTtnQkFDckIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUN6QyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRzthQUN6QixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzt3R0EzRFUsc0NBQXNDOzRGQUF0QyxzQ0FBc0MsZ3RCQTFCdkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCVCwyREEzQlMsWUFBWSw4QkFBRSxtQkFBbUI7OzRGQTZCaEMsc0NBQXNDO2tCQWhDbEQsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLDZDQUE2QztvQkFDdkQsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDO29CQUM1QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JUO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGNvbXB1dGVkLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgTHVjaWRlQW5ndWxhck1vZHVsZSwgQ2hldnJvbkxlZnQsIENoZXZyb25SaWdodCB9IGZyb20gXCJsdWNpZGUtYW5ndWxhclwiO1xuaW1wb3J0IHtcbiAgdHlwZSBVc2VyTWVzc2FnZSxcbiAgdHlwZSBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25Td2l0Y2hUb0JyYW5jaFByb3BzLFxufSBmcm9tIFwiLi9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLnR5cGVzXCI7XG5pbXBvcnQgeyBjbiB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6IFwiY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1icmFuY2gtbmF2aWdhdGlvblwiLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBMdWNpZGVBbmd1bGFyTW9kdWxlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmIChzaG93TmF2aWdhdGlvbigpKSB7XG4gICAgICA8ZGl2IFtjbGFzc109XCJjb21wdXRlZENsYXNzKClcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFtjbGFzc109XCJidXR0b25DbGFzc1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5Hb1ByZXYoKVwiXG4gICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVByZXZpb3VzKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGx1Y2lkZS1hbmd1bGFyIFtpbWddPVwiQ2hldnJvbkxlZnRJY29uXCIgW3NpemVdPVwiMjBcIj48L2x1Y2lkZS1hbmd1bGFyPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCBweC0wIGZvbnQtbWVkaXVtXCI+XG4gICAgICAgICAge3sgY3VycmVudEJyYW5jaCgpICsgMSB9fS97eyBudW1iZXJPZkJyYW5jaGVzKCkgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW2NsYXNzXT1cImJ1dHRvbkNsYXNzXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWNhbkdvTmV4dCgpXCJcbiAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlTmV4dCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxsdWNpZGUtYW5ndWxhciBbaW1nXT1cIkNoZXZyb25SaWdodEljb25cIiBbc2l6ZV09XCIyMFwiPjwvbHVjaWRlLWFuZ3VsYXI+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQnJhbmNoTmF2aWdhdGlvbiB7XG4gIGN1cnJlbnRCcmFuY2ggPSBpbnB1dDxudW1iZXI+KDApO1xuICBudW1iZXJPZkJyYW5jaGVzID0gaW5wdXQ8bnVtYmVyPigxKTtcbiAgbWVzc2FnZSA9IGlucHV0PFVzZXJNZXNzYWdlPigpO1xuICBpbnB1dENsYXNzID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICBzd2l0Y2hUb0JyYW5jaCA9IG91dHB1dDxDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25Td2l0Y2hUb0JyYW5jaFByb3BzPigpO1xuXG4gIHJlYWRvbmx5IENoZXZyb25MZWZ0SWNvbiA9IENoZXZyb25MZWZ0O1xuICByZWFkb25seSBDaGV2cm9uUmlnaHRJY29uID0gQ2hldnJvblJpZ2h0O1xuXG4gIHJlYWRvbmx5IGJ1dHRvbkNsYXNzID0gY24oXG4gICAgLy8gRmxleCBjZW50ZXJpbmdcbiAgICBcImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiLFxuICAgIC8vIEN1cnNvclxuICAgIFwiY3Vyc29yLXBvaW50ZXJcIixcbiAgICAvLyBCYWNrZ3JvdW5kIGFuZCB0ZXh0XG4gICAgXCJwLTAgdGV4dC1bcmdiKDkzLDkzLDkzKV0gaG92ZXI6YmctWyNFOEU4RThdXCIsXG4gICAgLy8gRGFyayBtb2RlXG4gICAgXCJkYXJrOnRleHQtW3JnYigyNDMsMjQzLDI0MyldIGRhcms6aG92ZXI6YmctWyMzMDMwMzBdXCIsXG4gICAgLy8gU2hhcGUgYW5kIHNpemluZ1xuICAgIFwiaC02IHctNiByb3VuZGVkLW1kXCIsXG4gICAgLy8gSW50ZXJhY3Rpb25zXG4gICAgXCJ0cmFuc2l0aW9uLWNvbG9yc1wiLFxuICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgXCJkaXNhYmxlZDpvcGFjaXR5LTUwIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZFwiXG4gICk7XG5cbiAgc2hvd05hdmlnYXRpb24gPSBjb21wdXRlZCgoKSA9PiB0aGlzLm51bWJlck9mQnJhbmNoZXMoKSA+IDEpO1xuXG4gIGNhbkdvUHJldiA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY3VycmVudEJyYW5jaCgpID4gMCk7XG5cbiAgY2FuR29OZXh0ID0gY29tcHV0ZWQoXG4gICAgKCkgPT4gdGhpcy5jdXJyZW50QnJhbmNoKCkgPCB0aGlzLm51bWJlck9mQnJhbmNoZXMoKSAtIDFcbiAgKTtcblxuICBjb21wdXRlZENsYXNzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiBjbihcImZsZXggaXRlbXMtY2VudGVyIGdhcC0xXCIsIHRoaXMuaW5wdXRDbGFzcygpKTtcbiAgfSk7XG5cbiAgaGFuZGxlUHJldmlvdXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FuR29QcmV2KCkpIHtcbiAgICAgIGNvbnN0IG5ld0luZGV4ID0gdGhpcy5jdXJyZW50QnJhbmNoKCkgLSAxO1xuICAgICAgdGhpcy5zd2l0Y2hUb0JyYW5jaC5lbWl0KHtcbiAgICAgICAgYnJhbmNoSW5kZXg6IG5ld0luZGV4LFxuICAgICAgICBudW1iZXJPZkJyYW5jaGVzOiB0aGlzLm51bWJlck9mQnJhbmNoZXMoKSxcbiAgICAgICAgbWVzc2FnZTogdGhpcy5tZXNzYWdlKCkhLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlTmV4dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYW5Hb05leHQoKSkge1xuICAgICAgY29uc3QgbmV3SW5kZXggPSB0aGlzLmN1cnJlbnRCcmFuY2goKSArIDE7XG4gICAgICB0aGlzLnN3aXRjaFRvQnJhbmNoLmVtaXQoe1xuICAgICAgICBicmFuY2hJbmRleDogbmV3SW5kZXgsXG4gICAgICAgIG51bWJlck9mQnJhbmNoZXM6IHRoaXMubnVtYmVyT2ZCcmFuY2hlcygpLFxuICAgICAgICBtZXNzYWdlOiB0aGlzLm1lc3NhZ2UoKSEsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -8,27 +8,6 @@ import { CopilotChatUserMessageBranchNavigation } from "./copilot-chat-user-mess
|
|
|
8
8
|
import { cn } from "../../utils";
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "@angular/common";
|
|
11
|
-
function flattenUserMessageContent(content) {
|
|
12
|
-
if (!content) {
|
|
13
|
-
return "";
|
|
14
|
-
}
|
|
15
|
-
if (typeof content === "string") {
|
|
16
|
-
return content;
|
|
17
|
-
}
|
|
18
|
-
return content
|
|
19
|
-
.map((part) => {
|
|
20
|
-
if (part &&
|
|
21
|
-
typeof part === "object" &&
|
|
22
|
-
"type" in part &&
|
|
23
|
-
part.type === "text" &&
|
|
24
|
-
typeof part.text === "string") {
|
|
25
|
-
return part.text;
|
|
26
|
-
}
|
|
27
|
-
return "";
|
|
28
|
-
})
|
|
29
|
-
.filter((text) => text.length > 0)
|
|
30
|
-
.join("\n");
|
|
31
|
-
}
|
|
32
11
|
export class CopilotChatUserMessage {
|
|
33
12
|
// Capture templates from content projection
|
|
34
13
|
messageRendererTemplate;
|
|
@@ -70,9 +49,8 @@ export class CopilotChatUserMessage {
|
|
|
70
49
|
showBranchNavigation = computed(() => (this.numberOfBranches() ?? 1) > 1);
|
|
71
50
|
computedClass = computed(() => cn("flex flex-col items-end group pt-10", this.inputClass()));
|
|
72
51
|
// Context for slots (reactive via signals)
|
|
73
|
-
flattenedContent = computed(() => flattenUserMessageContent(this.message()?.content));
|
|
74
52
|
messageRendererContext = computed(() => ({
|
|
75
|
-
content: this.
|
|
53
|
+
content: this.message()?.content || "",
|
|
76
54
|
}));
|
|
77
55
|
// Output maps for slots
|
|
78
56
|
copyButtonOutputs = { clicked: () => this.handleCopy() };
|
|
@@ -109,7 +87,10 @@ export class CopilotChatUserMessage {
|
|
|
109
87
|
>
|
|
110
88
|
</copilot-slot>
|
|
111
89
|
} @else {
|
|
112
|
-
<copilot-chat-user-message-renderer
|
|
90
|
+
<copilot-chat-user-message-renderer
|
|
91
|
+
[content]="message()?.content || ''"
|
|
92
|
+
[inputClass]="messageRendererClass()"
|
|
93
|
+
>
|
|
113
94
|
</copilot-chat-user-message-renderer>
|
|
114
95
|
}
|
|
115
96
|
|
|
@@ -126,21 +107,23 @@ export class CopilotChatUserMessage {
|
|
|
126
107
|
<div class="flex items-center gap-1 justify-end">
|
|
127
108
|
<!-- Additional toolbar items -->
|
|
128
109
|
@if (additionalToolbarItems()) {
|
|
129
|
-
<ng-container
|
|
110
|
+
<ng-container
|
|
111
|
+
[ngTemplateOutlet]="additionalToolbarItems() || null"
|
|
112
|
+
></ng-container>
|
|
130
113
|
}
|
|
131
114
|
|
|
132
115
|
<!-- Copy button -->
|
|
133
116
|
@if (copyButtonTemplate || copyButtonComponent()) {
|
|
134
117
|
<copilot-slot
|
|
135
118
|
[slot]="copyButtonTemplate || copyButtonComponent()"
|
|
136
|
-
[context]="{ content:
|
|
119
|
+
[context]="{ content: message()?.content || '' }"
|
|
137
120
|
[outputs]="copyButtonOutputs"
|
|
138
121
|
[defaultComponent]="CopilotChatUserMessageCopyButton"
|
|
139
122
|
>
|
|
140
123
|
</copilot-slot>
|
|
141
124
|
} @else {
|
|
142
125
|
<copilot-chat-user-message-copy-button
|
|
143
|
-
[content]="
|
|
126
|
+
[content]="message()?.content"
|
|
144
127
|
[inputClass]="copyButtonClass()"
|
|
145
128
|
(clicked)="handleCopy()"
|
|
146
129
|
>
|
|
@@ -158,7 +141,10 @@ export class CopilotChatUserMessage {
|
|
|
158
141
|
>
|
|
159
142
|
</copilot-slot>
|
|
160
143
|
} @else {
|
|
161
|
-
<copilot-chat-user-message-edit-button
|
|
144
|
+
<copilot-chat-user-message-edit-button
|
|
145
|
+
[inputClass]="editButtonClass()"
|
|
146
|
+
(clicked)="handleEdit()"
|
|
147
|
+
>
|
|
162
148
|
</copilot-chat-user-message-edit-button>
|
|
163
149
|
}
|
|
164
150
|
}
|
|
@@ -167,7 +153,9 @@ export class CopilotChatUserMessage {
|
|
|
167
153
|
@if (showBranchNavigation()) {
|
|
168
154
|
@if (branchNavigationTemplate || branchNavigationComponent()) {
|
|
169
155
|
<copilot-slot
|
|
170
|
-
[slot]="
|
|
156
|
+
[slot]="
|
|
157
|
+
branchNavigationTemplate || branchNavigationComponent()
|
|
158
|
+
"
|
|
171
159
|
[context]="branchNavigationContext()"
|
|
172
160
|
[defaultComponent]="CopilotChatUserMessageBranchNavigation"
|
|
173
161
|
>
|
|
@@ -210,7 +198,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
210
198
|
>
|
|
211
199
|
</copilot-slot>
|
|
212
200
|
} @else {
|
|
213
|
-
<copilot-chat-user-message-renderer
|
|
201
|
+
<copilot-chat-user-message-renderer
|
|
202
|
+
[content]="message()?.content || ''"
|
|
203
|
+
[inputClass]="messageRendererClass()"
|
|
204
|
+
>
|
|
214
205
|
</copilot-chat-user-message-renderer>
|
|
215
206
|
}
|
|
216
207
|
|
|
@@ -227,21 +218,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
227
218
|
<div class="flex items-center gap-1 justify-end">
|
|
228
219
|
<!-- Additional toolbar items -->
|
|
229
220
|
@if (additionalToolbarItems()) {
|
|
230
|
-
<ng-container
|
|
221
|
+
<ng-container
|
|
222
|
+
[ngTemplateOutlet]="additionalToolbarItems() || null"
|
|
223
|
+
></ng-container>
|
|
231
224
|
}
|
|
232
225
|
|
|
233
226
|
<!-- Copy button -->
|
|
234
227
|
@if (copyButtonTemplate || copyButtonComponent()) {
|
|
235
228
|
<copilot-slot
|
|
236
229
|
[slot]="copyButtonTemplate || copyButtonComponent()"
|
|
237
|
-
[context]="{ content:
|
|
230
|
+
[context]="{ content: message()?.content || '' }"
|
|
238
231
|
[outputs]="copyButtonOutputs"
|
|
239
232
|
[defaultComponent]="CopilotChatUserMessageCopyButton"
|
|
240
233
|
>
|
|
241
234
|
</copilot-slot>
|
|
242
235
|
} @else {
|
|
243
236
|
<copilot-chat-user-message-copy-button
|
|
244
|
-
[content]="
|
|
237
|
+
[content]="message()?.content"
|
|
245
238
|
[inputClass]="copyButtonClass()"
|
|
246
239
|
(clicked)="handleCopy()"
|
|
247
240
|
>
|
|
@@ -259,7 +252,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
259
252
|
>
|
|
260
253
|
</copilot-slot>
|
|
261
254
|
} @else {
|
|
262
|
-
<copilot-chat-user-message-edit-button
|
|
255
|
+
<copilot-chat-user-message-edit-button
|
|
256
|
+
[inputClass]="editButtonClass()"
|
|
257
|
+
(clicked)="handleEdit()"
|
|
258
|
+
>
|
|
263
259
|
</copilot-chat-user-message-edit-button>
|
|
264
260
|
}
|
|
265
261
|
}
|
|
@@ -268,7 +264,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
268
264
|
@if (showBranchNavigation()) {
|
|
269
265
|
@if (branchNavigationTemplate || branchNavigationComponent()) {
|
|
270
266
|
<copilot-slot
|
|
271
|
-
[slot]="
|
|
267
|
+
[slot]="
|
|
268
|
+
branchNavigationTemplate || branchNavigationComponent()
|
|
269
|
+
"
|
|
272
270
|
[context]="branchNavigationContext()"
|
|
273
271
|
[defaultComponent]="CopilotChatUserMessageBranchNavigation"
|
|
274
272
|
>
|
|
@@ -305,4 +303,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
305
303
|
type: ContentChild,
|
|
306
304
|
args: ["branchNavigation", { read: TemplateRef }]
|
|
307
305
|
}] } });
|
|
308
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jaGF0L2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxZQUFZLEVBQ1osUUFBUSxFQUVSLHVCQUF1QixFQUN2QixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQVV2RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RixPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLGdDQUFnQyxHQUNqQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUdqQyxTQUFTLHlCQUF5QixDQUFDLE9BQWdDO0lBQ2pFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDaEMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELE9BQU8sT0FBTztTQUNYLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ1osSUFDRSxJQUFJO1lBQ0osT0FBTyxJQUFJLEtBQUssUUFBUTtZQUN4QixNQUFNLElBQUksSUFBSTtZQUNiLElBQTJCLENBQUMs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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5RlQsMEdBbkdDLFlBQVksc01BQ1osV0FBVyxxSEFDWCw4QkFBOEIsa0hBQzlCLGdDQUFnQyxnS0FDaEMsZ0NBQWdDLHFKQUNoQyw2QkFBNkIsdUdBQzdCLHNDQUFzQzs7NEZBdUc3QixzQkFBc0I7a0JBakhsQyxTQUFTO2lDQUNJLElBQUksWUFDTiwyQkFBMkIsV0FDNUI7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLDhCQUE4Qjt3QkFDOUIsZ0NBQWdDO3dCQUNoQyxnQ0FBZ0M7d0JBQ2hDLDZCQUE2Qjt3QkFDN0Isc0NBQXNDO3FCQUN2QyxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxZQUMzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5RlQ7d0RBYUQsdUJBQXVCO3NCQUR0QixZQUFZO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFHdEQsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBRzlDLGtCQUFrQjtzQkFEakIsWUFBWTt1QkFBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUdqRCxrQkFBa0I7c0JBRGpCLFlBQVk7dUJBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFHakQsd0JBQXdCO3NCQUR2QixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgY29tcHV0ZWQsXG4gIFR5cGUsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IENvcGlsb3RTbG90IH0gZnJvbSBcIi4uLy4uL3Nsb3RzL2NvcGlsb3Qtc2xvdFwiO1xuaW1wb3J0IHtcbiAgdHlwZSBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25FZGl0TWVzc2FnZVByb3BzLFxuICB0eXBlIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VPblN3aXRjaFRvQnJhbmNoUHJvcHMsXG4gIHR5cGUgTWVzc2FnZVJlbmRlcmVyQ29udGV4dCxcbiAgdHlwZSBDb3B5QnV0dG9uQ29udGV4dCxcbiAgdHlwZSBFZGl0QnV0dG9uQ29udGV4dCxcbiAgdHlwZSBCcmFuY2hOYXZpZ2F0aW9uQ29udGV4dCxcbiAgdHlwZSBVc2VyTWVzc2FnZVRvb2xiYXJDb250ZXh0LFxufSBmcm9tIFwiLi9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLnR5cGVzXCI7XG5pbXBvcnQgeyBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlUmVuZGVyZXIgfSBmcm9tIFwiLi9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLXJlbmRlcmVyXCI7XG5pbXBvcnQge1xuICBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQ29weUJ1dHRvbixcbiAgQ29waWxvdENoYXRVc2VyTWVzc2FnZUVkaXRCdXR0b24sXG59IGZyb20gXCIuL2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UtYnV0dG9uc1wiO1xuaW1wb3J0IHsgQ29waWxvdENoYXRVc2VyTWVzc2FnZVRvb2xiYXIgfSBmcm9tIFwiLi9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLXRvb2xiYXJcIjtcbmltcG9ydCB7IENvcGlsb3RDaGF0VXNlck1lc3NhZ2VCcmFuY2hOYXZpZ2F0aW9uIH0gZnJvbSBcIi4vY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1icmFuY2gtbmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgY24gfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcbmltcG9ydCB7IFVzZXJNZXNzYWdlIH0gZnJvbSBcIkBhZy11aS9jb3JlXCI7XG5cbmZ1bmN0aW9uIGZsYXR0ZW5Vc2VyTWVzc2FnZUNvbnRlbnQoY29udGVudD86IFVzZXJNZXNzYWdlW1wiY29udGVudFwiXSk6IHN0cmluZyB7XG4gIGlmICghY29udGVudCkge1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBjb250ZW50ID09PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cblxuICByZXR1cm4gY29udGVudFxuICAgIC5tYXAoKHBhcnQpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgcGFydCAmJlxuICAgICAgICB0eXBlb2YgcGFydCA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgICBcInR5cGVcIiBpbiBwYXJ0ICYmXG4gICAgICAgIChwYXJ0IGFzIHsgdHlwZT86IHVua25vd24gfSkudHlwZSA9PT0gXCJ0ZXh0XCIgJiZcbiAgICAgICAgdHlwZW9mIChwYXJ0IGFzIHsgdGV4dD86IHVua25vd24gfSkudGV4dCA9PT0gXCJzdHJpbmdcIlxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiAocGFydCBhcyB7IHRleHQ6IHN0cmluZyB9KS50ZXh0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfSlcbiAgICAuZmlsdGVyKCh0ZXh0KSA9PiB0ZXh0Lmxlbmd0aCA+IDApXG4gICAgLmpvaW4oXCJcXG5cIik7XG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogXCJjb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlXCIsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ29waWxvdFNsb3QsXG4gICAgQ29waWxvdENoYXRVc2VyTWVzc2FnZVJlbmRlcmVyLFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VDb3B5QnV0dG9uLFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VFZGl0QnV0dG9uLFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VUb29sYmFyLFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VCcmFuY2hOYXZpZ2F0aW9uLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IFtjbGFzc109XCJjb21wdXRlZENsYXNzKClcIiBbYXR0ci5kYXRhLW1lc3NhZ2UtaWRdPVwibWVzc2FnZSgpPy5pZFwiPlxuICAgICAgPCEtLSBNZXNzYWdlIFJlbmRlcmVyIC0tPlxuICAgICAgQGlmIChtZXNzYWdlUmVuZGVyZXJUZW1wbGF0ZSB8fCBtZXNzYWdlUmVuZGVyZXJDb21wb25lbnQoKSkge1xuICAgICAgICA8Y29waWxvdC1zbG90XG4gICAgICAgICAgW3Nsb3RdPVwibWVzc2FnZVJlbmRlcmVyVGVtcGxhdGUgfHwgbWVzc2FnZVJlbmRlcmVyQ29tcG9uZW50KClcIlxuICAgICAgICAgIFtjb250ZXh0XT1cIm1lc3NhZ2VSZW5kZXJlckNvbnRleHQoKVwiXG4gICAgICAgICAgW2RlZmF1bHRDb21wb25lbnRdPVwiQ29waWxvdENoYXRVc2VyTWVzc2FnZVJlbmRlcmVyXCJcbiAgICAgICAgPlxuICAgICAgICA8L2NvcGlsb3Qtc2xvdD5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8Y29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1yZW5kZXJlciBbY29udGVudF09XCJmbGF0dGVuZWRDb250ZW50KClcIiBbaW5wdXRDbGFzc109XCJtZXNzYWdlUmVuZGVyZXJDbGFzcygpXCI+XG4gICAgICAgIDwvY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1yZW5kZXJlcj5cbiAgICAgIH1cblxuICAgICAgPCEtLSBUb29sYmFyIC0tPlxuICAgICAgQGlmICh0b29sYmFyVGVtcGxhdGUgfHwgdG9vbGJhckNvbXBvbmVudCgpKSB7XG4gICAgICAgIDxjb3BpbG90LXNsb3RcbiAgICAgICAgICBbc2xvdF09XCJ0b29sYmFyVGVtcGxhdGUgfHwgdG9vbGJhckNvbXBvbmVudCgpXCJcbiAgICAgICAgICBbY29udGV4dF09XCJ0b29sYmFyQ29udGV4dCgpXCJcbiAgICAgICAgICBbZGVmYXVsdENvbXBvbmVudF09XCJDb3BpbG90Q2hhdFVzZXJNZXNzYWdlVG9vbGJhclwiXG4gICAgICAgID5cbiAgICAgICAgPC9jb3BpbG90LXNsb3Q+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGRpdiBjb3BpbG90Q2hhdFVzZXJNZXNzYWdlVG9vbGJhciBbaW5wdXRDbGFzc109XCJ0b29sYmFyQ2xhc3MoKVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMSBqdXN0aWZ5LWVuZFwiPlxuICAgICAgICAgICAgPCEtLSBBZGRpdGlvbmFsIHRvb2xiYXIgaXRlbXMgLS0+XG4gICAgICAgICAgICBAaWYgKGFkZGl0aW9uYWxUb29sYmFySXRlbXMoKSkge1xuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFkZGl0aW9uYWxUb29sYmFySXRlbXMoKSB8fCBudWxsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDwhLS0gQ29weSBidXR0b24gLS0+XG4gICAgICAgICAgICBAaWYgKGNvcHlCdXR0b25UZW1wbGF0ZSB8fCBjb3B5QnV0dG9uQ29tcG9uZW50KCkpIHtcbiAgICAgICAgICAgICAgPGNvcGlsb3Qtc2xvdFxuICAgICAgICAgICAgICAgIFtzbG90XT1cImNvcHlCdXR0b25UZW1wbGF0ZSB8fCBjb3B5QnV0dG9uQ29tcG9uZW50KClcIlxuICAgICAgICAgICAgICAgIFtjb250ZXh0XT1cInsgY29udGVudDogZmxhdHRlbmVkQ29udGVudCgpIH1cIlxuICAgICAgICAgICAgICAgIFtvdXRwdXRzXT1cImNvcHlCdXR0b25PdXRwdXRzXCJcbiAgICAgICAgICAgICAgICBbZGVmYXVsdENvbXBvbmVudF09XCJDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQ29weUJ1dHRvblwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9jb3BpbG90LXNsb3Q+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgPGNvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UtY29weS1idXR0b25cbiAgICAgICAgICAgICAgICBbY29udGVudF09XCJmbGF0dGVuZWRDb250ZW50KClcIlxuICAgICAgICAgICAgICAgIFtpbnB1dENsYXNzXT1cImNvcHlCdXR0b25DbGFzcygpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJoYW5kbGVDb3B5KClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1jb3B5LWJ1dHRvbj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPCEtLSBFZGl0IGJ1dHRvbiAtLT5cbiAgICAgICAgICAgIEBpZiAodHJ1ZSkge1xuICAgICAgICAgICAgICBAaWYgKGVkaXRCdXR0b25UZW1wbGF0ZSB8fCBlZGl0QnV0dG9uQ29tcG9uZW50KCkpIHtcbiAgICAgICAgICAgICAgICA8Y29waWxvdC1zbG90XG4gICAgICAgICAgICAgICAgICBbc2xvdF09XCJlZGl0QnV0dG9uVGVtcGxhdGUgfHwgZWRpdEJ1dHRvbkNvbXBvbmVudCgpXCJcbiAgICAgICAgICAgICAgICAgIFtjb250ZXh0XT1cInt9XCJcbiAgICAgICAgICAgICAgICAgIFtvdXRwdXRzXT1cImVkaXRCdXR0b25PdXRwdXRzXCJcbiAgICAgICAgICAgICAgICAgIFtkZWZhdWx0Q29tcG9uZW50XT1cIkNvcGlsb3RDaGF0VXNlck1lc3NhZ2VFZGl0QnV0dG9uXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9jb3BpbG90LXNsb3Q+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxjb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLWVkaXQtYnV0dG9uIFtpbnB1dENsYXNzXT1cImVkaXRCdXR0b25DbGFzcygpXCIgKGNsaWNrZWQpPVwiaGFuZGxlRWRpdCgpXCI+XG4gICAgICAgICAgICAgICAgPC9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLWVkaXQtYnV0dG9uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDwhLS0gQnJhbmNoIG5hdmlnYXRpb24gLS0+XG4gICAgICAgICAgICBAaWYgKHNob3dCcmFuY2hOYXZpZ2F0aW9uKCkpIHtcbiAgICAgICAgICAgICAgQGlmIChicmFuY2hOYXZpZ2F0aW9uVGVtcGxhdGUgfHwgYnJhbmNoTmF2aWdhdGlvbkNvbXBvbmVudCgpKSB7XG4gICAgICAgICAgICAgICAgPGNvcGlsb3Qtc2xvdFxuICAgICAgICAgICAgICAgICAgW3Nsb3RdPVwiYnJhbmNoTmF2aWdhdGlvblRlbXBsYXRlIHx8IGJyYW5jaE5hdmlnYXRpb25Db21wb25lbnQoKVwiXG4gICAgICAgICAgICAgICAgICBbY29udGV4dF09XCJicmFuY2hOYXZpZ2F0aW9uQ29udGV4dCgpXCJcbiAgICAgICAgICAgICAgICAgIFtkZWZhdWx0Q29tcG9uZW50XT1cIkNvcGlsb3RDaGF0VXNlck1lc3NhZ2VCcmFuY2hOYXZpZ2F0aW9uXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9jb3BpbG90LXNsb3Q+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxjb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLWJyYW5jaC1uYXZpZ2F0aW9uXG4gICAgICAgICAgICAgICAgICBbY3VycmVudEJyYW5jaF09XCJicmFuY2hJbmRleFZhbHVlKClcIlxuICAgICAgICAgICAgICAgICAgW251bWJlck9mQnJhbmNoZXNdPVwibnVtYmVyT2ZCcmFuY2hlc1ZhbHVlKClcIlxuICAgICAgICAgICAgICAgICAgW21lc3NhZ2VdPVwibWVzc2FnZSgpIVwiXG4gICAgICAgICAgICAgICAgICBbaW5wdXRDbGFzc109XCJicmFuY2hOYXZpZ2F0aW9uQ2xhc3MoKVwiXG4gICAgICAgICAgICAgICAgICAoc3dpdGNoVG9CcmFuY2gpPVwiaGFuZGxlU3dpdGNoVG9CcmFuY2goJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1icmFuY2gtbmF2aWdhdGlvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29waWxvdENoYXRVc2VyTWVzc2FnZSB7XG4gIC8vIENhcHR1cmUgdGVtcGxhdGVzIGZyb20gY29udGVudCBwcm9qZWN0aW9uXG4gIEBDb250ZW50Q2hpbGQoXCJtZXNzYWdlUmVuZGVyZXJcIiwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBtZXNzYWdlUmVuZGVyZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPE1lc3NhZ2VSZW5kZXJlckNvbnRleHQ+O1xuICBAQ29udGVudENoaWxkKFwidG9vbGJhclwiLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIHRvb2xiYXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPFVzZXJNZXNzYWdlVG9vbGJhckNvbnRleHQ+O1xuICBAQ29udGVudENoaWxkKFwiY29weUJ1dHRvblwiLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIGNvcHlCdXR0b25UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPENvcHlCdXR0b25Db250ZXh0PjtcbiAgQENvbnRlbnRDaGlsZChcImVkaXRCdXR0b25cIiwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBlZGl0QnV0dG9uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxFZGl0QnV0dG9uQ29udGV4dD47XG4gIEBDb250ZW50Q2hpbGQoXCJicmFuY2hOYXZpZ2F0aW9uXCIsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgYnJhbmNoTmF2aWdhdGlvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8QnJhbmNoTmF2aWdhdGlvbkNvbnRleHQ+O1xuXG4gIC8vIFByb3BzIGZvciB0d2Vha2luZyBkZWZhdWx0IGNvbXBvbmVudHNcbiAgbWVzc2FnZVJlbmRlcmVyQ2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIHRvb2xiYXJDbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgY29weUJ1dHRvbkNsYXNzID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICBlZGl0QnV0dG9uQ2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIGJyYW5jaE5hdmlnYXRpb25DbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcblxuICAvLyBDb21wb25lbnQgaW5wdXRzIGZvciBvdmVycmlkZXNcbiAgbWVzc2FnZVJlbmRlcmVyQ29tcG9uZW50ID0gaW5wdXQ8VHlwZTxhbnk+IHwgdW5kZWZpbmVkPigpO1xuICB0b29sYmFyQ29tcG9uZW50ID0gaW5wdXQ8VHlwZTxhbnk+IHwgdW5kZWZpbmVkPigpO1xuICBjb3B5QnV0dG9uQ29tcG9uZW50ID0gaW5wdXQ8VHlwZTxhbnk+IHwgdW5kZWZpbmVkPigpO1xuICBlZGl0QnV0dG9uQ29tcG9uZW50ID0gaW5wdXQ8VHlwZTxhbnk+IHwgdW5kZWZpbmVkPigpO1xuICBicmFuY2hOYXZpZ2F0aW9uQ29tcG9uZW50ID0gaW5wdXQ8VHlwZTxhbnk+IHwgdW5kZWZpbmVkPigpO1xuXG4gIC8vIFJlZ3VsYXIgaW5wdXRzXG4gIG1lc3NhZ2UgPSBpbnB1dDxVc2VyTWVzc2FnZT4oKTtcbiAgYnJhbmNoSW5kZXggPSBpbnB1dDxudW1iZXIgfCB1bmRlZmluZWQ+KCk7XG4gIG51bWJlck9mQnJhbmNoZXMgPSBpbnB1dDxudW1iZXIgfCB1bmRlZmluZWQ+KCk7XG4gIGFkZGl0aW9uYWxUb29sYmFySXRlbXMgPSBpbnB1dDxUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkPigpO1xuICBpbnB1dENsYXNzID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gIC8vIE91dHB1dCBldmVudHNcbiAgZWRpdE1lc3NhZ2UgPSBvdXRwdXQ8Q29waWxvdENoYXRVc2VyTWVzc2FnZU9uRWRpdE1lc3NhZ2VQcm9wcz4oKTtcbiAgc3dpdGNoVG9CcmFuY2ggPSBvdXRwdXQ8Q29waWxvdENoYXRVc2VyTWVzc2FnZU9uU3dpdGNoVG9CcmFuY2hQcm9wcz4oKTtcblxuICAvLyBEZXJpdmVkIHZhbHVlc1xuICBicmFuY2hJbmRleFZhbHVlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5icmFuY2hJbmRleCgpID8/IDApO1xuICBudW1iZXJPZkJyYW5jaGVzVmFsdWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm51bWJlck9mQnJhbmNoZXMoKSA/PyAxKTtcblxuICAvLyBEZWZhdWx0IGNvbXBvbmVudHNcbiAgQ29waWxvdENoYXRVc2VyTWVzc2FnZVJlbmRlcmVyID0gQ29waWxvdENoYXRVc2VyTWVzc2FnZVJlbmRlcmVyO1xuICBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlVG9vbGJhciA9IENvcGlsb3RDaGF0VXNlck1lc3NhZ2VUb29sYmFyO1xuICBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQ29weUJ1dHRvbiA9IENvcGlsb3RDaGF0VXNlck1lc3NhZ2VDb3B5QnV0dG9uO1xuICBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlRWRpdEJ1dHRvbiA9IENvcGlsb3RDaGF0VXNlck1lc3NhZ2VFZGl0QnV0dG9uO1xuICBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQnJhbmNoTmF2aWdhdGlvbiA9IENvcGlsb3RDaGF0VXNlck1lc3NhZ2VCcmFuY2hOYXZpZ2F0aW9uO1xuXG4gIC8vIENvbXB1dGVkIHZhbHVlc1xuICBzaG93QnJhbmNoTmF2aWdhdGlvbiA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLm51bWJlck9mQnJhbmNoZXMoKSA/PyAxKSA+IDEpO1xuXG4gIGNvbXB1dGVkQ2xhc3MgPSBjb21wdXRlZCgoKSA9PiBjbihcImZsZXggZmxleC1jb2wgaXRlbXMtZW5kIGdyb3VwIHB0LTEwXCIsIHRoaXMuaW5wdXRDbGFzcygpKSk7XG5cbiAgLy8gQ29udGV4dCBmb3Igc2xvdHMgKHJlYWN0aXZlIHZpYSBzaWduYWxzKVxuICBmbGF0dGVuZWRDb250ZW50ID0gY29tcHV0ZWQoKCkgPT4gZmxhdHRlblVzZXJNZXNzYWdlQ29udGVudCh0aGlzLm1lc3NhZ2UoKT8uY29udGVudCkpO1xuXG4gIG1lc3NhZ2VSZW5kZXJlckNvbnRleHQgPSBjb21wdXRlZDxNZXNzYWdlUmVuZGVyZXJDb250ZXh0PigoKSA9PiAoe1xuICAgIGNvbnRlbnQ6IHRoaXMuZmxhdHRlbmVkQ29udGVudCgpLFxuICB9KSk7XG5cbiAgLy8gT3V0cHV0IG1hcHMgZm9yIHNsb3RzXG4gIGNvcHlCdXR0b25PdXRwdXRzID0geyBjbGlja2VkOiAoKSA9PiB0aGlzLmhhbmRsZUNvcHkoKSB9O1xuICBlZGl0QnV0dG9uT3V0cHV0cyA9IHsgY2xpY2tlZDogKCkgPT4gdGhpcy5oYW5kbGVFZGl0KCkgfTtcblxuICBicmFuY2hOYXZpZ2F0aW9uQ29udGV4dCA9IGNvbXB1dGVkPEJyYW5jaE5hdmlnYXRpb25Db250ZXh0PigoKSA9PiAoe1xuICAgIGN1cnJlbnRCcmFuY2g6IHRoaXMuYnJhbmNoSW5kZXhWYWx1ZSgpLFxuICAgIG51bWJlck9mQnJhbmNoZXM6IHRoaXMubnVtYmVyT2ZCcmFuY2hlc1ZhbHVlKCksXG4gICAgb25Td2l0Y2hUb0JyYW5jaDogKHByb3BzKSA9PiB0aGlzLmhhbmRsZVN3aXRjaFRvQnJhbmNoKHByb3BzKSxcbiAgICBtZXNzYWdlOiB0aGlzLm1lc3NhZ2UoKSEsXG4gIH0pKTtcblxuICB0b29sYmFyQ29udGV4dCA9IGNvbXB1dGVkPFVzZXJNZXNzYWdlVG9vbGJhckNvbnRleHQ+KCgpID0+ICh7XG4gICAgY2hpbGRyZW46IG51bGwsIC8vIFdpbGwgYmUgcG9wdWxhdGVkIGJ5IHRoZSB0b29sYmFyIGNvbnRlbnRcbiAgfSkpO1xuXG4gIGhhbmRsZUNvcHkoKTogdm9pZCB7XG4gICAgLy8gQ29weSBpcyBoYW5kbGVkIGJ5IHRoZSBidXR0b24gY29tcG9uZW50IGl0c2VsZlxuICAgIC8vIFRoaXMgaXMganVzdCBmb3IgYW55IGFkZGl0aW9uYWwgbG9naWMgaWYgbmVlZGVkXG4gIH1cblxuICBoYW5kbGVFZGl0KCk6IHZvaWQge1xuICAgIHRoaXMuZWRpdE1lc3NhZ2UuZW1pdCh7IG1lc3NhZ2U6IHRoaXMubWVzc2FnZSgpISB9KTtcbiAgfVxuXG4gIGhhbmRsZVN3aXRjaFRvQnJhbmNoKHByb3BzOiBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25Td2l0Y2hUb0JyYW5jaFByb3BzKTogdm9pZCB7XG4gICAgdGhpcy5zd2l0Y2hUb0JyYW5jaC5lbWl0KHByb3BzKTtcbiAgfVxuICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iXX0=
|
|
306
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jaGF0L2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxZQUFZLEVBQ1osUUFBUSxFQUVSLHVCQUF1QixFQUN2QixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQVd2RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RixPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLGdDQUFnQyxHQUNqQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQTZIakMsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyw0Q0FBNEM7SUFFNUMsdUJBQXVCLENBQXVDO0lBRTlELGVBQWUsQ0FBMEM7SUFFekQsa0JBQWtCLENBQWtDO0lBRXBELGtCQUFrQixDQUFrQztJQUVwRCx3QkFBd0IsQ0FBd0M7SUFFaEUsd0NBQXdDO0lBQ3hDLG9CQUFvQixHQUFHLEtBQUssRUFBc0IsQ0FBQztJQUNuRCxZQUFZLEdBQUcsS0FBSyxFQUFzQixDQUFDO0lBQzNDLGVBQWUsR0FBRyxLQUFLLEVBQXNCLENBQUM7SUFDOUMsZUFBZSxHQUFHLEtBQUssRUFBc0IsQ0FBQztJQUM5QyxxQkFBcUIsR0FB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QUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFHakQsa0JBQWtCO3NCQURqQixZQUFZO3VCQUFDLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBR2pELHdCQUF3QjtzQkFEdkIsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBDb250ZW50Q2hpbGQsXG4gIGNvbXB1dGVkLFxuICBUeXBlLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBDb3BpbG90U2xvdCB9IGZyb20gXCIuLi8uLi9zbG90cy9jb3BpbG90LXNsb3RcIjtcbmltcG9ydCB7XG4gIHR5cGUgVXNlck1lc3NhZ2UsXG4gIHR5cGUgQ29waWxvdENoYXRVc2VyTWVzc2FnZU9uRWRpdE1lc3NhZ2VQcm9wcyxcbiAgdHlwZSBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25Td2l0Y2hUb0JyYW5jaFByb3BzLFxuICB0eXBlIE1lc3NhZ2VSZW5kZXJlckNvbnRleHQsXG4gIHR5cGUgQ29weUJ1dHRvbkNvbnRleHQsXG4gIHR5cGUgRWRpdEJ1dHRvbkNvbnRleHQsXG4gIHR5cGUgQnJhbmNoTmF2aWdhdGlvbkNvbnRleHQsXG4gIHR5cGUgVXNlck1lc3NhZ2VUb29sYmFyQ29udGV4dCxcbn0gZnJvbSBcIi4vY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS50eXBlc1wiO1xuaW1wb3J0IHsgQ29waWxvdENoYXRVc2VyTWVzc2FnZVJlbmRlcmVyIH0gZnJvbSBcIi4vY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1yZW5kZXJlclwiO1xuaW1wb3J0IHtcbiAgQ29waWxvdENoYXRVc2VyTWVzc2FnZUNvcHlCdXR0b24sXG4gIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VFZGl0QnV0dG9uLFxufSBmcm9tIFwiLi9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLWJ1dHRvbnNcIjtcbmltcG9ydCB7IENvcGlsb3RDaGF0VXNlck1lc3NhZ2VUb29sYmFyIH0gZnJvbSBcIi4vY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS10b29sYmFyXCI7XG5pbXBvcnQgeyBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQnJhbmNoTmF2aWdhdGlvbiB9IGZyb20gXCIuL2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UtYnJhbmNoLW5hdmlnYXRpb25cIjtcbmltcG9ydCB7IGNuIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogXCJjb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlXCIsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ29waWxvdFNsb3QsXG4gICAgQ29waWxvdENoYXRVc2VyTWVzc2FnZVJlbmRlcmVyLFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VDb3B5QnV0dG9uLFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VFZGl0QnV0dG9uLFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VUb29sYmFyLFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VCcmFuY2hOYXZpZ2F0aW9uLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IFtjbGFzc109XCJjb21wdXRlZENsYXNzKClcIiBbYXR0ci5kYXRhLW1lc3NhZ2UtaWRdPVwibWVzc2FnZSgpPy5pZFwiPlxuICAgICAgPCEtLSBNZXNzYWdlIFJlbmRlcmVyIC0tPlxuICAgICAgQGlmIChtZXNzYWdlUmVuZGVyZXJUZW1wbGF0ZSB8fCBtZXNzYWdlUmVuZGVyZXJDb21wb25lbnQoKSkge1xuICAgICAgICA8Y29waWxvdC1zbG90XG4gICAgICAgICAgW3Nsb3RdPVwibWVzc2FnZVJlbmRlcmVyVGVtcGxhdGUgfHwgbWVzc2FnZVJlbmRlcmVyQ29tcG9uZW50KClcIlxuICAgICAgICAgIFtjb250ZXh0XT1cIm1lc3NhZ2VSZW5kZXJlckNvbnRleHQoKVwiXG4gICAgICAgICAgW2RlZmF1bHRDb21wb25lbnRdPVwiQ29waWxvdENoYXRVc2VyTWVzc2FnZVJlbmRlcmVyXCJcbiAgICAgICAgPlxuICAgICAgICA8L2NvcGlsb3Qtc2xvdD5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8Y29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1yZW5kZXJlclxuICAgICAgICAgIFtjb250ZW50XT1cIm1lc3NhZ2UoKT8uY29udGVudCB8fCAnJ1wiXG4gICAgICAgICAgW2lucHV0Q2xhc3NdPVwibWVzc2FnZVJlbmRlcmVyQ2xhc3MoKVwiXG4gICAgICAgID5cbiAgICAgICAgPC9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLXJlbmRlcmVyPlxuICAgICAgfVxuXG4gICAgICA8IS0tIFRvb2xiYXIgLS0+XG4gICAgICBAaWYgKHRvb2xiYXJUZW1wbGF0ZSB8fCB0b29sYmFyQ29tcG9uZW50KCkpIHtcbiAgICAgICAgPGNvcGlsb3Qtc2xvdFxuICAgICAgICAgIFtzbG90XT1cInRvb2xiYXJUZW1wbGF0ZSB8fCB0b29sYmFyQ29tcG9uZW50KClcIlxuICAgICAgICAgIFtjb250ZXh0XT1cInRvb2xiYXJDb250ZXh0KClcIlxuICAgICAgICAgIFtkZWZhdWx0Q29tcG9uZW50XT1cIkNvcGlsb3RDaGF0VXNlck1lc3NhZ2VUb29sYmFyXCJcbiAgICAgICAgPlxuICAgICAgICA8L2NvcGlsb3Qtc2xvdD5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8ZGl2IGNvcGlsb3RDaGF0VXNlck1lc3NhZ2VUb29sYmFyIFtpbnB1dENsYXNzXT1cInRvb2xiYXJDbGFzcygpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xIGp1c3RpZnktZW5kXCI+XG4gICAgICAgICAgICA8IS0tIEFkZGl0aW9uYWwgdG9vbGJhciBpdGVtcyAtLT5cbiAgICAgICAgICAgIEBpZiAoYWRkaXRpb25hbFRvb2xiYXJJdGVtcygpKSB7XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJhZGRpdGlvbmFsVG9vbGJhckl0ZW1zKCkgfHwgbnVsbFwiXG4gICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPCEtLSBDb3B5IGJ1dHRvbiAtLT5cbiAgICAgICAgICAgIEBpZiAoY29weUJ1dHRvblRlbXBsYXRlIHx8IGNvcHlCdXR0b25Db21wb25lbnQoKSkge1xuICAgICAgICAgICAgICA8Y29waWxvdC1zbG90XG4gICAgICAgICAgICAgICAgW3Nsb3RdPVwiY29weUJ1dHRvblRlbXBsYXRlIHx8IGNvcHlCdXR0b25Db21wb25lbnQoKVwiXG4gICAgICAgICAgICAgICAgW2NvbnRleHRdPVwieyBjb250ZW50OiBtZXNzYWdlKCk/LmNvbnRlbnQgfHwgJycgfVwiXG4gICAgICAgICAgICAgICAgW291dHB1dHNdPVwiY29weUJ1dHRvbk91dHB1dHNcIlxuICAgICAgICAgICAgICAgIFtkZWZhdWx0Q29tcG9uZW50XT1cIkNvcGlsb3RDaGF0VXNlck1lc3NhZ2VDb3B5QnV0dG9uXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L2NvcGlsb3Qtc2xvdD5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICA8Y29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1jb3B5LWJ1dHRvblxuICAgICAgICAgICAgICAgIFtjb250ZW50XT1cIm1lc3NhZ2UoKT8uY29udGVudFwiXG4gICAgICAgICAgICAgICAgW2lucHV0Q2xhc3NdPVwiY29weUJ1dHRvbkNsYXNzKClcIlxuICAgICAgICAgICAgICAgIChjbGlja2VkKT1cImhhbmRsZUNvcHkoKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLWNvcHktYnV0dG9uPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA8IS0tIEVkaXQgYnV0dG9uIC0tPlxuICAgICAgICAgICAgQGlmICh0cnVlKSB7XG4gICAgICAgICAgICAgIEBpZiAoZWRpdEJ1dHRvblRlbXBsYXRlIHx8IGVkaXRCdXR0b25Db21wb25lbnQoKSkge1xuICAgICAgICAgICAgICAgIDxjb3BpbG90LXNsb3RcbiAgICAgICAgICAgICAgICAgIFtzbG90XT1cImVkaXRCdXR0b25UZW1wbGF0ZSB8fCBlZGl0QnV0dG9uQ29tcG9uZW50KClcIlxuICAgICAgICAgICAgICAgICAgW2NvbnRleHRdPVwie31cIlxuICAgICAgICAgICAgICAgICAgW291dHB1dHNdPVwiZWRpdEJ1dHRvbk91dHB1dHNcIlxuICAgICAgICAgICAgICAgICAgW2RlZmF1bHRDb21wb25lbnRdPVwiQ29waWxvdENoYXRVc2VyTWVzc2FnZUVkaXRCdXR0b25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L2NvcGlsb3Qtc2xvdD5cbiAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGNvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UtZWRpdC1idXR0b25cbiAgICAgICAgICAgICAgICAgIFtpbnB1dENsYXNzXT1cImVkaXRCdXR0b25DbGFzcygpXCJcbiAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cImhhbmRsZUVkaXQoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1lZGl0LWJ1dHRvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA8IS0tIEJyYW5jaCBuYXZpZ2F0aW9uIC0tPlxuICAgICAgICAgICAgQGlmIChzaG93QnJhbmNoTmF2aWdhdGlvbigpKSB7XG4gICAgICAgICAgICAgIEBpZiAoYnJhbmNoTmF2aWdhdGlvblRlbXBsYXRlIHx8IGJyYW5jaE5hdmlnYXRpb25Db21wb25lbnQoKSkge1xuICAgICAgICAgICAgICAgIDxjb3BpbG90LXNsb3RcbiAgICAgICAgICAgICAgICAgIFtzbG90XT1cIlxuICAgICAgICAgICAgICAgICAgICBicmFuY2hOYXZpZ2F0aW9uVGVtcGxhdGUgfHwgYnJhbmNoTmF2aWdhdGlvbkNvbXBvbmVudCgpXG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgW2NvbnRleHRdPVwiYnJhbmNoTmF2aWdhdGlvbkNvbnRleHQoKVwiXG4gICAgICAgICAgICAgICAgICBbZGVmYXVsdENvbXBvbmVudF09XCJDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQnJhbmNoTmF2aWdhdGlvblwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvY29waWxvdC1zbG90PlxuICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8Y29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1icmFuY2gtbmF2aWdhdGlvblxuICAgICAgICAgICAgICAgICAgW2N1cnJlbnRCcmFuY2hdPVwiYnJhbmNoSW5kZXhWYWx1ZSgpXCJcbiAgICAgICAgICAgICAgICAgIFtudW1iZXJPZkJyYW5jaGVzXT1cIm51bWJlck9mQnJhbmNoZXNWYWx1ZSgpXCJcbiAgICAgICAgICAgICAgICAgIFttZXNzYWdlXT1cIm1lc3NhZ2UoKSFcIlxuICAgICAgICAgICAgICAgICAgW2lucHV0Q2xhc3NdPVwiYnJhbmNoTmF2aWdhdGlvbkNsYXNzKClcIlxuICAgICAgICAgICAgICAgICAgKHN3aXRjaFRvQnJhbmNoKT1cImhhbmRsZVN3aXRjaFRvQnJhbmNoKCRldmVudClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UtYnJhbmNoLW5hdmlnYXRpb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENvcGlsb3RDaGF0VXNlck1lc3NhZ2Uge1xuICAvLyBDYXB0dXJlIHRlbXBsYXRlcyBmcm9tIGNvbnRlbnQgcHJvamVjdGlvblxuICBAQ29udGVudENoaWxkKFwibWVzc2FnZVJlbmRlcmVyXCIsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgbWVzc2FnZVJlbmRlcmVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxNZXNzYWdlUmVuZGVyZXJDb250ZXh0PjtcbiAgQENvbnRlbnRDaGlsZChcInRvb2xiYXJcIiwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICB0b29sYmFyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxVc2VyTWVzc2FnZVRvb2xiYXJDb250ZXh0PjtcbiAgQENvbnRlbnRDaGlsZChcImNvcHlCdXR0b25cIiwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBjb3B5QnV0dG9uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxDb3B5QnV0dG9uQ29udGV4dD47XG4gIEBDb250ZW50Q2hpbGQoXCJlZGl0QnV0dG9uXCIsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgZWRpdEJ1dHRvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8RWRpdEJ1dHRvbkNvbnRleHQ+O1xuICBAQ29udGVudENoaWxkKFwiYnJhbmNoTmF2aWdhdGlvblwiLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIGJyYW5jaE5hdmlnYXRpb25UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPEJyYW5jaE5hdmlnYXRpb25Db250ZXh0PjtcblxuICAvLyBQcm9wcyBmb3IgdHdlYWtpbmcgZGVmYXVsdCBjb21wb25lbnRzXG4gIG1lc3NhZ2VSZW5kZXJlckNsYXNzID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICB0b29sYmFyQ2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIGNvcHlCdXR0b25DbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgZWRpdEJ1dHRvbkNsYXNzID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICBicmFuY2hOYXZpZ2F0aW9uQ2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG5cbiAgLy8gQ29tcG9uZW50IGlucHV0cyBmb3Igb3ZlcnJpZGVzXG4gIG1lc3NhZ2VSZW5kZXJlckNvbXBvbmVudCA9IGlucHV0PFR5cGU8YW55PiB8IHVuZGVmaW5lZD4oKTtcbiAgdG9vbGJhckNvbXBvbmVudCA9IGlucHV0PFR5cGU8YW55PiB8IHVuZGVmaW5lZD4oKTtcbiAgY29weUJ1dHRvbkNvbXBvbmVudCA9IGlucHV0PFR5cGU8YW55PiB8IHVuZGVmaW5lZD4oKTtcbiAgZWRpdEJ1dHRvbkNvbXBvbmVudCA9IGlucHV0PFR5cGU8YW55PiB8IHVuZGVmaW5lZD4oKTtcbiAgYnJhbmNoTmF2aWdhdGlvbkNvbXBvbmVudCA9IGlucHV0PFR5cGU8YW55PiB8IHVuZGVmaW5lZD4oKTtcblxuICAvLyBSZWd1bGFyIGlucHV0c1xuICBtZXNzYWdlID0gaW5wdXQ8VXNlck1lc3NhZ2U+KCk7XG4gIGJyYW5jaEluZGV4ID0gaW5wdXQ8bnVtYmVyIHwgdW5kZWZpbmVkPigpO1xuICBudW1iZXJPZkJyYW5jaGVzID0gaW5wdXQ8bnVtYmVyIHwgdW5kZWZpbmVkPigpO1xuICBhZGRpdGlvbmFsVG9vbGJhckl0ZW1zID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZD4oKTtcbiAgaW5wdXRDbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcblxuICAvLyBPdXRwdXQgZXZlbnRzXG4gIGVkaXRNZXNzYWdlID0gb3V0cHV0PENvcGlsb3RDaGF0VXNlck1lc3NhZ2VPbkVkaXRNZXNzYWdlUHJvcHM+KCk7XG4gIHN3aXRjaFRvQnJhbmNoID0gb3V0cHV0PENvcGlsb3RDaGF0VXNlck1lc3NhZ2VPblN3aXRjaFRvQnJhbmNoUHJvcHM+KCk7XG5cbiAgLy8gRGVyaXZlZCB2YWx1ZXNcbiAgYnJhbmNoSW5kZXhWYWx1ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYnJhbmNoSW5kZXgoKSA/PyAwKTtcbiAgbnVtYmVyT2ZCcmFuY2hlc1ZhbHVlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5udW1iZXJPZkJyYW5jaGVzKCkgPz8gMSk7XG5cbiAgLy8gRGVmYXVsdCBjb21wb25lbnRzXG4gIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VSZW5kZXJlciA9IENvcGlsb3RDaGF0VXNlck1lc3NhZ2VSZW5kZXJlcjtcbiAgQ29waWxvdENoYXRVc2VyTWVzc2FnZVRvb2xiYXIgPSBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlVG9vbGJhcjtcbiAgQ29waWxvdENoYXRVc2VyTWVzc2FnZUNvcHlCdXR0b24gPSBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQ29weUJ1dHRvbjtcbiAgQ29waWxvdENoYXRVc2VyTWVzc2FnZUVkaXRCdXR0b24gPSBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlRWRpdEJ1dHRvbjtcbiAgQ29waWxvdENoYXRVc2VyTWVzc2FnZUJyYW5jaE5hdmlnYXRpb24gPVxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VCcmFuY2hOYXZpZ2F0aW9uO1xuXG4gIC8vIENvbXB1dGVkIHZhbHVlc1xuICBzaG93QnJhbmNoTmF2aWdhdGlvbiA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLm51bWJlck9mQnJhbmNoZXMoKSA/PyAxKSA+IDEpO1xuXG4gIGNvbXB1dGVkQ2xhc3MgPSBjb21wdXRlZCgoKSA9PlxuICAgIGNuKFwiZmxleCBmbGV4LWNvbCBpdGVtcy1lbmQgZ3JvdXAgcHQtMTBcIiwgdGhpcy5pbnB1dENsYXNzKCkpXG4gICk7XG5cbiAgLy8gQ29udGV4dCBmb3Igc2xvdHMgKHJlYWN0aXZlIHZpYSBzaWduYWxzKVxuICBtZXNzYWdlUmVuZGVyZXJDb250ZXh0ID0gY29tcHV0ZWQ8TWVzc2FnZVJlbmRlcmVyQ29udGV4dD4oKCkgPT4gKHtcbiAgICBjb250ZW50OiB0aGlzLm1lc3NhZ2UoKT8uY29udGVudCB8fCBcIlwiLFxuICB9KSk7XG5cbiAgLy8gT3V0cHV0IG1hcHMgZm9yIHNsb3RzXG4gIGNvcHlCdXR0b25PdXRwdXRzID0geyBjbGlja2VkOiAoKSA9PiB0aGlzLmhhbmRsZUNvcHkoKSB9O1xuICBlZGl0QnV0dG9uT3V0cHV0cyA9IHsgY2xpY2tlZDogKCkgPT4gdGhpcy5oYW5kbGVFZGl0KCkgfTtcblxuICBicmFuY2hOYXZpZ2F0aW9uQ29udGV4dCA9IGNvbXB1dGVkPEJyYW5jaE5hdmlnYXRpb25Db250ZXh0PigoKSA9PiAoe1xuICAgIGN1cnJlbnRCcmFuY2g6IHRoaXMuYnJhbmNoSW5kZXhWYWx1ZSgpLFxuICAgIG51bWJlck9mQnJhbmNoZXM6IHRoaXMubnVtYmVyT2ZCcmFuY2hlc1ZhbHVlKCksXG4gICAgb25Td2l0Y2hUb0JyYW5jaDogKHByb3BzKSA9PiB0aGlzLmhhbmRsZVN3aXRjaFRvQnJhbmNoKHByb3BzKSxcbiAgICBtZXNzYWdlOiB0aGlzLm1lc3NhZ2UoKSEsXG4gIH0pKTtcblxuICB0b29sYmFyQ29udGV4dCA9IGNvbXB1dGVkPFVzZXJNZXNzYWdlVG9vbGJhckNvbnRleHQ+KCgpID0+ICh7XG4gICAgY2hpbGRyZW46IG51bGwsIC8vIFdpbGwgYmUgcG9wdWxhdGVkIGJ5IHRoZSB0b29sYmFyIGNvbnRlbnRcbiAgfSkpO1xuXG4gIGhhbmRsZUNvcHkoKTogdm9pZCB7XG4gICAgLy8gQ29weSBpcyBoYW5kbGVkIGJ5IHRoZSBidXR0b24gY29tcG9uZW50IGl0c2VsZlxuICAgIC8vIFRoaXMgaXMganVzdCBmb3IgYW55IGFkZGl0aW9uYWwgbG9naWMgaWYgbmVlZGVkXG4gIH1cblxuICBoYW5kbGVFZGl0KCk6IHZvaWQge1xuICAgIHRoaXMuZWRpdE1lc3NhZ2UuZW1pdCh7IG1lc3NhZ2U6IHRoaXMubWVzc2FnZSgpISB9KTtcbiAgfVxuXG4gIGhhbmRsZVN3aXRjaFRvQnJhbmNoKFxuICAgIHByb3BzOiBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25Td2l0Y2hUb0JyYW5jaFByb3BzXG4gICk6IHZvaWQge1xuICAgIHRoaXMuc3dpdGNoVG9CcmFuY2guZW1pdChwcm9wcyk7XG4gIH1cbiAgY29uc3RydWN0b3IoKSB7fVxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jaGF0L2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZSAqL1xuZXhwb3J0IGludGVyZmFjZSBVc2VyTWVzc2FnZSB7XG4gIGlkOiBzdHJpbmc7XG4gIGNvbnRlbnQ/OiBzdHJpbmc7XG4gIHJvbGU6IFwidXNlclwiO1xuICB0aW1lc3RhbXA/OiBEYXRlO1xuICBba2V5OiBzdHJpbmddOiBhbnk7IC8vIEFsbG93IGFkZGl0aW9uYWwgcHJvcGVydGllc1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VPbkVkaXRNZXNzYWdlUHJvcHMge1xuICBtZXNzYWdlOiBVc2VyTWVzc2FnZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25Td2l0Y2hUb0JyYW5jaFByb3BzIHtcbiAgbWVzc2FnZTogVXNlck1lc3NhZ2U7XG4gIGJyYW5jaEluZGV4OiBudW1iZXI7XG4gIG51bWJlck9mQnJhbmNoZXM6IG51bWJlcjtcbn1cblxuLy8gQ29udGV4dCBpbnRlcmZhY2VzIGZvciBzbG90c1xuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlUmVuZGVyZXJDb250ZXh0IHtcbiAgY29udGVudDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvcHlCdXR0b25Db250ZXh0IHtcbiAgY29udGVudD86IHN0cmluZztcbiAgY29waWVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFZGl0QnV0dG9uQ29udGV4dCB7XG4gIC8vIEVtcHR5IGNvbnRleHQgLSBjbGljayBoYW5kbGVkIHZpYSBvdXRwdXRzIG1hcFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJyYW5jaE5hdmlnYXRpb25Db250ZXh0IHtcbiAgY3VycmVudEJyYW5jaDogbnVtYmVyO1xuICBudW1iZXJPZkJyYW5jaGVzOiBudW1iZXI7XG4gIG9uU3dpdGNoVG9CcmFuY2g/OiAoXG4gICAgcHJvcHM6IENvcGlsb3RDaGF0VXNlck1lc3NhZ2VPblN3aXRjaFRvQnJhbmNoUHJvcHNcbiAgKSA9PiB2b2lkO1xuICBtZXNzYWdlOiBVc2VyTWVzc2FnZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyTWVzc2FnZVRvb2xiYXJDb250ZXh0IHtcbiAgY2hpbGRyZW4/OiBhbnk7XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CopilotKitCore } from "@copilotkitnext/core";
|
|
2
|
-
import { Injectable, Injector, runInInjectionContext, signal, inject
|
|
2
|
+
import { Injectable, Injector, runInInjectionContext, signal, inject } from "@angular/core";
|
|
3
3
|
import { injectCopilotKitConfig } from "./config";
|
|
4
4
|
import { HumanInTheLoop } from "./human-in-the-loop";
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
@@ -58,10 +58,7 @@ export class CopilotKit {
|
|
|
58
58
|
addFrontendTool(clientToolWithInjector) {
|
|
59
59
|
const tool = this.#bindClientTool(clientToolWithInjector);
|
|
60
60
|
this.core.addTool(tool);
|
|
61
|
-
this.#clientToolCallRenderConfigs.update((current) => [
|
|
62
|
-
...current,
|
|
63
|
-
clientToolWithInjector,
|
|
64
|
-
]);
|
|
61
|
+
this.#clientToolCallRenderConfigs.update((current) => [...current, clientToolWithInjector]);
|
|
65
62
|
}
|
|
66
63
|
addRenderToolCall(renderConfig) {
|
|
67
64
|
this.#toolCallRenderConfigs.update((current) => [...current, renderConfig]);
|
|
@@ -75,10 +72,7 @@ export class CopilotKit {
|
|
|
75
72
|
};
|
|
76
73
|
}
|
|
77
74
|
addHumanInTheLoop(humanInTheLoopTool) {
|
|
78
|
-
this.#humanInTheLoopToolRenderConfigs.update((current) => [
|
|
79
|
-
...current,
|
|
80
|
-
humanInTheLoopTool,
|
|
81
|
-
]);
|
|
75
|
+
this.#humanInTheLoopToolRenderConfigs.update((current) => [...current, humanInTheLoopTool]);
|
|
82
76
|
const tool = this.#bindHumanInTheLoopTool(humanInTheLoopTool);
|
|
83
77
|
this.core.addTool(tool);
|
|
84
78
|
}
|
|
@@ -90,12 +84,9 @@ export class CopilotKit {
|
|
|
90
84
|
}
|
|
91
85
|
removeTool(toolName, agentId) {
|
|
92
86
|
this.core.removeTool(toolName);
|
|
93
|
-
this.#clientToolCallRenderConfigs.update((current) => current.filter((renderConfig) => renderConfig.name !== toolName &&
|
|
94
|
-
|
|
95
|
-
this.#
|
|
96
|
-
this.#isSameAgentId(renderConfig, agentId)));
|
|
97
|
-
this.#toolCallRenderConfigs.update((current) => current.filter((renderConfig) => renderConfig.name !== toolName &&
|
|
98
|
-
this.#isSameAgentId(renderConfig, agentId)));
|
|
87
|
+
this.#clientToolCallRenderConfigs.update((current) => current.filter((renderConfig) => renderConfig.name !== toolName && this.#isSameAgentId(renderConfig, agentId)));
|
|
88
|
+
this.#humanInTheLoopToolRenderConfigs.update((current) => current.filter((renderConfig) => renderConfig.name !== toolName && this.#isSameAgentId(renderConfig, agentId)));
|
|
89
|
+
this.#toolCallRenderConfigs.update((current) => current.filter((renderConfig) => renderConfig.name !== toolName && this.#isSameAgentId(renderConfig, agentId)));
|
|
99
90
|
}
|
|
100
91
|
getAgent(agentId) {
|
|
101
92
|
return this.core.getAgent(agentId);
|
|
@@ -121,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
121
112
|
type: Injectable,
|
|
122
113
|
args: [{ providedIn: "root" }]
|
|
123
114
|
}], ctorParameters: () => [] });
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdGtpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY29waWxvdGtpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWdCLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFDTCxVQUFVLEVBQ1YsUUFBUSxFQUdSLHFCQUFxQixFQUNyQixNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBR3JELE1BQU0sT0FBTyxVQUFVO0lBQ1osT0FBTyxHQUFHLHNCQUFzQixFQUFFLENBQUM7SUFDbkMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMvQixhQUFhLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLE9BQU8sR0FBRyxNQUFNLENBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FDMUIsQ0FBQztJQUNPLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBRW5DLElBQUksR0FBRyxJQUFJLGNBQWMsQ0FBQztRQUNqQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVO1FBQ25DLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU87UUFDN0IsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVTtRQUNuQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07UUFDNUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSztLQUMxQixDQUFDLENBQUM7SUFFTSxzQkFBc0IsR0FDN0IsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ0osNEJBQTRC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SSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7d0dBL0tVLFVBQVU7NEdBQVYsVUFBVSxjQURHLE1BQU07OzRGQUNuQixVQUFVO2tCQUR0QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0QWdlbnQgfSBmcm9tIFwiQGFnLXVpL2NsaWVudFwiO1xuaW1wb3J0IHsgRnJvbnRlbmRUb29sLCBDb3BpbG90S2l0Q29yZSB9IGZyb20gXCJAY29waWxvdGtpdG5leHQvY29yZVwiO1xuaW1wb3J0IHtcbiAgSW5qZWN0YWJsZSxcbiAgSW5qZWN0b3IsXG4gIFNpZ25hbCxcbiAgV3JpdGFibGVTaWduYWwsXG4gIHJ1bkluSW5qZWN0aW9uQ29udGV4dCxcbiAgc2lnbmFsLFxuICBpbmplY3QsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBGcm9udGVuZFRvb2xDb25maWcsXG4gIEh1bWFuSW5UaGVMb29wQ29uZmlnLFxuICBSZW5kZXJUb29sQ2FsbENvbmZpZyxcbn0gZnJvbSBcIi4vdG9vbHNcIjtcbmltcG9ydCB7IGluamVjdENvcGlsb3RLaXRDb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCB7IEh1bWFuSW5UaGVMb29wIH0gZnJvbSBcIi4vaHVtYW4taW4tdGhlLWxvb3BcIjtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiBcInJvb3RcIiB9KVxuZXhwb3J0IGNsYXNzIENvcGlsb3RLaXQge1xuICByZWFkb25seSAjY29uZmlnID0gaW5qZWN0Q29waWxvdEtpdENvbmZpZygpO1xuICByZWFkb25seSAjaGl0bCA9IGluamVjdChIdW1hbkluVGhlTG9vcCk7XG4gIHJlYWRvbmx5ICNyb290SW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICByZWFkb25seSAjYWdlbnRzID0gc2lnbmFsPFJlY29yZDxzdHJpbmcsIEFic3RyYWN0QWdlbnQ+PihcbiAgICB0aGlzLiNjb25maWcuYWdlbnRzID8/IHt9XG4gICk7XG4gIHJlYWRvbmx5IGFnZW50cyA9IHRoaXMuI2FnZW50cy5hc1JlYWRvbmx5KCk7XG5cbiAgcmVhZG9ubHkgY29yZSA9IG5ldyBDb3BpbG90S2l0Q29yZSh7XG4gICAgcnVudGltZVVybDogdGhpcy4jY29uZmlnLnJ1bnRpbWVVcmwsXG4gICAgaGVhZGVyczogdGhpcy4jY29uZmlnLmhlYWRlcnMsXG4gICAgcHJvcGVydGllczogdGhpcy4jY29uZmlnLnByb3BlcnRpZXMsXG4gICAgYWdlbnRzX191bnNhZmVfZGV2X29ubHk6IHRoaXMuI2NvbmZpZy5hZ2VudHMsXG4gICAgdG9vbHM6IHRoaXMuI2NvbmZpZy50b29scyxcbiAgfSk7XG5cbiAgcmVhZG9ubHkgI3Rvb2xDYWxsUmVuZGVyQ29uZmlnczogV3JpdGFibGVTaWduYWw8UmVuZGVyVG9vbENhbGxDb25maWdbXT4gPVxuICAgIHNpZ25hbChbXSk7XG4gIHJlYWRvbmx5ICNjbGllbnRUb29sQ2FsbFJlbmRlckNvbmZpZ3M6IFdyaXRhYmxlU2lnbmFsPEZyb250ZW5kVG9vbENvbmZpZ1tdPiA9XG4gICAgc2lnbmFsKFtdKTtcbiAgcmVhZG9ubHkgI2h1bWFuSW5UaGVMb29wVG9vbFJlbmRlckNvbmZpZ3M6IFdyaXRhYmxlU2lnbmFsPFxuICAgIEh1bWFuSW5UaGVMb29wQ29uZmlnW11cbiAgPiA9IHNpZ25hbChbXSk7XG5cbiAgcmVhZG9ubHkgdG9vbENhbGxSZW5kZXJDb25maWdzOiBTaWduYWw8UmVuZGVyVG9vbENhbGxDb25maWdbXT4gPVxuICAgIHRoaXMuI3Rvb2xDYWxsUmVuZGVyQ29uZmlncy5hc1JlYWRvbmx5KCk7XG4gIHJlYWRvbmx5IGNsaWVudFRvb2xDYWxsUmVuZGVyQ29uZmlnczogU2lnbmFsPEZyb250ZW5kVG9vbENvbmZpZ1tdPiA9XG4gICAgdGhpcy4jY2xpZW50VG9vbENhbGxSZW5kZXJDb25maWdzLmFzUmVhZG9ubHkoKTtcbiAgcmVhZG9ubHkgaHVtYW5JblRoZUxvb3BUb29sUmVuZGVyQ29uZmlnczogU2lnbmFsPEh1bWFuSW5UaGVMb29wQ29uZmlnW10+ID1cbiAgICB0aGlzLiNodW1hbkluVGhlTG9vcFRvb2xSZW5kZXJDb25maWdzLmFzUmVhZG9ubHkoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLiNjb25maWcucmVuZGVyVG9vbENhbGxzPy5mb3JFYWNoKChyZW5kZXJDb25maWcpID0+IHtcbiAgICAgIHRoaXMuYWRkUmVuZGVyVG9vbENhbGwocmVuZGVyQ29uZmlnKTtcbiAgICB9KTtcblxuICAgIHRoaXMuI2NvbmZpZy50b29scz8uZm9yRWFjaCgodG9vbCkgPT4ge1xuICAgICAgaWYgKHRvb2wucmVuZGVyZXIgJiYgdG9vbC5wYXJhbWV0ZXJzKSB7XG4gICAgICAgIHRoaXMuYWRkUmVuZGVyVG9vbENhbGwoe1xuICAgICAgICAgIG5hbWU6IHRvb2wubmFtZSxcbiAgICAgICAgICBhcmdzOiB0b29sLnBhcmFtZXRlcnMsXG4gICAgICAgICAgY29tcG9uZW50OiB0b29sLnJlbmRlcmVyLFxuICAgICAgICAgIGFnZW50SWQ6IHRvb2wuYWdlbnRJZCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLiNjb25maWcuZnJvbnRlbmRUb29scz8uZm9yRWFjaCgoY2xpZW50VG9vbCkgPT4ge1xuICAgICAgdGhpcy5hZGRGcm9udGVuZFRvb2woeyAuLi5jbGllbnRUb29sLCBpbmplY3RvcjogdGhpcy4jcm9vdEluamVjdG9yIH0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy4jY29uZmlnLmh1bWFuSW5UaGVMb29wPy5mb3JFYWNoKChodW1hbkluVGhlTG9vcFRvb2wpID0+IHtcbiAgICAgIHRoaXMuYWRkSHVtYW5JblRoZUxvb3AoaHVtYW5JblRoZUxvb3BUb29sKTtcbiAgICB9KTtcblxuICAgIHRoaXMuY29yZS5zdWJzY3JpYmUoe1xuICAgICAgb25BZ2VudHNDaGFuZ2VkOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuI2FnZW50cy5zZXQodGhpcy5jb3JlLmFnZW50cyk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgI2JpbmRDbGllbnRUb29sKFxuICAgIGNsaWVudFRvb2xXaXRoSW5qZWN0b3I6IEZyb250ZW5kVG9vbENvbmZpZyAmIHtcbiAgICAgIGluamVjdG9yOiBJbmplY3RvcjtcbiAgICB9XG4gICk6IEZyb250ZW5kVG9vbCB7XG4gICAgY29uc3QgeyBpbmplY3RvciwgaGFuZGxlciwgLi4uZnJvbnRlbmRDYW5kaWRhdGUgfSA9IGNsaWVudFRvb2xXaXRoSW5qZWN0b3I7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uZnJvbnRlbmRDYW5kaWRhdGUsXG4gICAgICBoYW5kbGVyOiAoYXJncykgPT4gcnVuSW5JbmplY3Rpb25Db250ZXh0KGluamVjdG9yLCAoKSA9PiBoYW5kbGVyKGFyZ3MpKSxcbiAgICB9O1xuICB9XG5cbiAgYWRkRnJvbnRlbmRUb29sKFxuICAgIGNsaWVudFRvb2xXaXRoSW5qZWN0b3I6IEZyb250ZW5kVG9vbENvbmZpZyAmIHtcbiAgICAgIGluamVjdG9yOiBJbmplY3RvcjtcbiAgICB9XG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHRvb2wgPSB0aGlzLiNiaW5kQ2xpZW50VG9vbChjbGllbnRUb29sV2l0aEluamVjdG9yKTtcblxuICAgIHRoaXMuY29yZS5hZGRUb29sKHRvb2wpO1xuXG4gICAgdGhpcy4jY2xpZW50VG9vbENhbGxSZW5kZXJDb25maWdzLnVwZGF0ZSgoY3VycmVudCkgPT4gW1xuICAgICAgLi4uY3VycmVudCxcbiAgICAgIGNsaWVudFRvb2xXaXRoSW5qZWN0b3IsXG4gICAgXSk7XG4gIH1cblxuICBhZGRSZW5kZXJUb29sQ2FsbChyZW5kZXJDb25maWc6IFJlbmRlclRvb2xDYWxsQ29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy4jdG9vbENhbGxSZW5kZXJDb25maWdzLnVwZGF0ZSgoY3VycmVudCkgPT4gWy4uLmN1cnJlbnQsIHJlbmRlckNvbmZpZ10pO1xuICB9XG5cbiAgI2JpbmRIdW1hbkluVGhlTG9vcFRvb2woXG4gICAgaHVtYW5JblRoZUxvb3BUb29sOiBIdW1hbkluVGhlTG9vcENvbmZpZ1xuICApOiBGcm9udGVuZFRvb2wge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5odW1hbkluVGhlTG9vcFRvb2wsXG4gICAgICBoYW5kbGVyOiAoYXJncywgdG9vbENhbGwpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI2hpdGwub25SZXN1bHQodG9vbENhbGwuaWQsIGh1bWFuSW5UaGVMb29wVG9vbC5uYW1lKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGFkZEh1bWFuSW5UaGVMb29wKGh1bWFuSW5UaGVMb29wVG9vbDogSHVtYW5JblRoZUxvb3BDb25maWcpOiB2b2lkIHtcbiAgICB0aGlzLiNodW1hbkluVGhlTG9vcFRvb2xSZW5kZXJDb25maWdzLnVwZGF0ZSgoY3VycmVudCkgPT4gW1xuICAgICAgLi4uY3VycmVudCxcbiAgICAgIGh1bWFuSW5UaGVMb29wVG9vbCxcbiAgICBdKTtcblxuICAgIGNvbnN0IHRvb2wgPSB0aGlzLiNiaW5kSHVtYW5JblRoZUxvb3BUb29sKGh1bWFuSW5UaGVMb29wVG9vbCk7XG5cbiAgICB0aGlzLmNvcmUuYWRkVG9vbCh0b29sKTtcbiAgfVxuXG4gICNpc1NhbWVBZ2VudElkPFQgZXh0ZW5kcyB7IGFnZW50SWQ/OiBzdHJpbmcgfT4oXG4gICAgdGFyZ2V0OiBULFxuICAgIGFnZW50SWQ/OiBzdHJpbmdcbiAgKTogYm9vbGVhbiB7XG4gICAgaWYgKGFnZW50SWQpIHtcbiAgICAgIHJldHVybiB0YXJnZXQuYWdlbnRJZCA9PT0gYWdlbnRJZDtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJlbW92ZVRvb2wodG9vbE5hbWU6IHN0cmluZywgYWdlbnRJZD86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY29yZS5yZW1vdmVUb29sKHRvb2xOYW1lKTtcbiAgICB0aGlzLiNjbGllbnRUb29sQ2FsbFJlbmRlckNvbmZpZ3MudXBkYXRlKChjdXJyZW50KSA9PlxuICAgICAgY3VycmVudC5maWx0ZXIoXG4gICAgICAgIChyZW5kZXJDb25maWcpID0+XG4gICAgICAgICAgcmVuZGVyQ29uZmlnLm5hbWUgIT09IHRvb2xOYW1lICYmXG4gICAgICAgICAgdGhpcy4jaXNTYW1lQWdlbnRJZChyZW5kZXJDb25maWcsIGFnZW50SWQpXG4gICAgICApXG4gICAgKTtcbiAgICB0aGlzLiNodW1hbkluVGhlTG9vcFRvb2xSZW5kZXJDb25maWdzLnVwZGF0ZSgoY3VycmVudCkgPT5cbiAgICAgIGN1cnJlbnQuZmlsdGVyKFxuICAgICAgICAocmVuZGVyQ29uZmlnKSA9PlxuICAgICAgICAgIHJlbmRlckNvbmZpZy5uYW1lICE9PSB0b29sTmFtZSAmJlxuICAgICAgICAgIHRoaXMuI2lzU2FtZUFnZW50SWQocmVuZGVyQ29uZmlnLCBhZ2VudElkKVxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy4jdG9vbENhbGxSZW5kZXJDb25maWdzLnVwZGF0ZSgoY3VycmVudCkgPT5cbiAgICAgIGN1cnJlbnQuZmlsdGVyKFxuICAgICAgICAocmVuZGVyQ29uZmlnKSA9PlxuICAgICAgICAgIHJlbmRlckNvbmZpZy5uYW1lICE9PSB0b29sTmFtZSAmJlxuICAgICAgICAgIHRoaXMuI2lzU2FtZUFnZW50SWQocmVuZGVyQ29uZmlnLCBhZ2VudElkKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBnZXRBZ2VudChhZ2VudElkOiBzdHJpbmcpOiBBYnN0cmFjdEFnZW50IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jb3JlLmdldEFnZW50KGFnZW50SWQpO1xuICB9XG5cbiAgdXBkYXRlUnVudGltZShvcHRpb25zOiB7XG4gICAgcnVudGltZVVybD86IHN0cmluZztcbiAgICBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICBwcm9wZXJ0aWVzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgYWdlbnRzPzogUmVjb3JkPHN0cmluZywgQWJzdHJhY3RBZ2VudD47XG4gIH0pOiB2b2lkIHtcbiAgICBpZiAob3B0aW9ucy5ydW50aW1lVXJsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY29yZS5zZXRSdW50aW1lVXJsKG9wdGlvbnMucnVudGltZVVybCk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLmhlYWRlcnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jb3JlLnNldEhlYWRlcnMob3B0aW9ucy5oZWFkZXJzKTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMucHJvcGVydGllcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNvcmUuc2V0UHJvcGVydGllcyhvcHRpb25zLnByb3BlcnRpZXMpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5hZ2VudHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jb3JlLnNldEFnZW50c19fdW5zYWZlX2Rldl9vbmx5KG9wdGlvbnMuYWdlbnRzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdGtpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY29waWxvdGtpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWdCLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUEwQixxQkFBcUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBR3JELE1BQU0sT0FBTyxVQUFVO0lBQ1osT0FBTyxHQUFHLHNCQUFzQixFQUFFLENBQUM7SUFDbkMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMvQixhQUFhLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLE9BQU8sR0FBRyxNQUFNLENBQWdDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzNFLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBRW5DLElBQUksR0FBRyxJQUFJLGNBQWMsQ0FBQztRQUNqQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVO1FBQ25DLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU87UUFDN0IsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVTtRQUNuQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07UUFDNUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSztLQUMxQixDQUFDLENBQUM7SUFFTSxzQkFBc0IsR0FBMkMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLDRCQUE0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Q0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZELENBQUM7SUFDSCxDQUFDO3dHQWhKVSxVQUFVOzRHQUFWLFVBQVUsY0FERyxNQUFNOzs0RkFDbkIsVUFBVTtrQkFEdEIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdEFnZW50IH0gZnJvbSBcIkBhZy11aS9jbGllbnRcIjtcbmltcG9ydCB7IEZyb250ZW5kVG9vbCwgQ29waWxvdEtpdENvcmUgfSBmcm9tIFwiQGNvcGlsb3RraXRuZXh0L2NvcmVcIjtcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBTaWduYWwsIFdyaXRhYmxlU2lnbmFsLCBydW5JbkluamVjdGlvbkNvbnRleHQsIHNpZ25hbCwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZyb250ZW5kVG9vbENvbmZpZywgSHVtYW5JblRoZUxvb3BDb25maWcsIFJlbmRlclRvb2xDYWxsQ29uZmlnIH0gZnJvbSBcIi4vdG9vbHNcIjtcbmltcG9ydCB7IGluamVjdENvcGlsb3RLaXRDb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCB7IEh1bWFuSW5UaGVMb29wIH0gZnJvbSBcIi4vaHVtYW4taW4tdGhlLWxvb3BcIjtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiBcInJvb3RcIiB9KVxuZXhwb3J0IGNsYXNzIENvcGlsb3RLaXQge1xuICByZWFkb25seSAjY29uZmlnID0gaW5qZWN0Q29waWxvdEtpdENvbmZpZygpO1xuICByZWFkb25seSAjaGl0bCA9IGluamVjdChIdW1hbkluVGhlTG9vcCk7XG4gIHJlYWRvbmx5ICNyb290SW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICByZWFkb25seSAjYWdlbnRzID0gc2lnbmFsPFJlY29yZDxzdHJpbmcsIEFic3RyYWN0QWdlbnQ+Pih0aGlzLiNjb25maWcuYWdlbnRzID8/IHt9KTtcbiAgcmVhZG9ubHkgYWdlbnRzID0gdGhpcy4jYWdlbnRzLmFzUmVhZG9ubHkoKTtcblxuICByZWFkb25seSBjb3JlID0gbmV3IENvcGlsb3RLaXRDb3JlKHtcbiAgICBydW50aW1lVXJsOiB0aGlzLiNjb25maWcucnVudGltZVVybCxcbiAgICBoZWFkZXJzOiB0aGlzLiNjb25maWcuaGVhZGVycyxcbiAgICBwcm9wZXJ0aWVzOiB0aGlzLiNjb25maWcucHJvcGVydGllcyxcbiAgICBhZ2VudHNfX3Vuc2FmZV9kZXZfb25seTogdGhpcy4jY29uZmlnLmFnZW50cyxcbiAgICB0b29sczogdGhpcy4jY29uZmlnLnRvb2xzLFxuICB9KTtcblxuICByZWFkb25seSAjdG9vbENhbGxSZW5kZXJDb25maWdzOiBXcml0YWJsZVNpZ25hbDxSZW5kZXJUb29sQ2FsbENvbmZpZ1tdPiA9IHNpZ25hbChbXSk7XG4gIHJlYWRvbmx5ICNjbGllbnRUb29sQ2FsbFJlbmRlckNvbmZpZ3M6IFdyaXRhYmxlU2lnbmFsPEZyb250ZW5kVG9vbENvbmZpZ1tdPiA9IHNpZ25hbChbXSk7XG4gIHJlYWRvbmx5ICNodW1hbkluVGhlTG9vcFRvb2xSZW5kZXJDb25maWdzOiBXcml0YWJsZVNpZ25hbDxIdW1hbkluVGhlTG9vcENvbmZpZ1tdPiA9IHNpZ25hbChbXSk7XG5cbiAgcmVhZG9ubHkgdG9vbENhbGxSZW5kZXJDb25maWdzOiBTaWduYWw8UmVuZGVyVG9vbENhbGxDb25maWdbXT4gPSB0aGlzLiN0b29sQ2FsbFJlbmRlckNvbmZpZ3MuYXNSZWFkb25seSgpO1xuICByZWFkb25seSBjbGllbnRUb29sQ2FsbFJlbmRlckNvbmZpZ3M6IFNpZ25hbDxGcm9udGVuZFRvb2xDb25maWdbXT4gPSB0aGlzLiNjbGllbnRUb29sQ2FsbFJlbmRlckNvbmZpZ3MuYXNSZWFkb25seSgpO1xuICByZWFkb25seSBodW1hbkluVGhlTG9vcFRvb2xSZW5kZXJDb25maWdzOiBTaWduYWw8SHVtYW5JblRoZUxvb3BDb25maWdbXT4gPVxuICAgIHRoaXMuI2h1bWFuSW5UaGVMb29wVG9vbFJlbmRlckNvbmZpZ3MuYXNSZWFkb25seSgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuI2NvbmZpZy5yZW5kZXJUb29sQ2FsbHM/LmZvckVhY2goKHJlbmRlckNvbmZpZykgPT4ge1xuICAgICAgdGhpcy5hZGRSZW5kZXJUb29sQ2FsbChyZW5kZXJDb25maWcpO1xuICAgIH0pO1xuXG4gICAgdGhpcy4jY29uZmlnLnRvb2xzPy5mb3JFYWNoKCh0b29sKSA9PiB7XG4gICAgICBpZiAodG9vbC5yZW5kZXJlciAmJiB0b29sLnBhcmFtZXRlcnMpIHtcbiAgICAgICAgdGhpcy5hZGRSZW5kZXJUb29sQ2FsbCh7XG4gICAgICAgICAgbmFtZTogdG9vbC5uYW1lLFxuICAgICAgICAgIGFyZ3M6IHRvb2wucGFyYW1ldGVycyxcbiAgICAgICAgICBjb21wb25lbnQ6IHRvb2wucmVuZGVyZXIsXG4gICAgICAgICAgYWdlbnRJZDogdG9vbC5hZ2VudElkLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuI2NvbmZpZy5mcm9udGVuZFRvb2xzPy5mb3JFYWNoKChjbGllbnRUb29sKSA9PiB7XG4gICAgICB0aGlzLmFkZEZyb250ZW5kVG9vbCh7IC4uLmNsaWVudFRvb2wsIGluamVjdG9yOiB0aGlzLiNyb290SW5qZWN0b3IgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLiNjb25maWcuaHVtYW5JblRoZUxvb3A/LmZvckVhY2goKGh1bWFuSW5UaGVMb29wVG9vbCkgPT4ge1xuICAgICAgdGhpcy5hZGRIdW1hbkluVGhlTG9vcChodW1hbkluVGhlTG9vcFRvb2wpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jb3JlLnN1YnNjcmliZSh7XG4gICAgICBvbkFnZW50c0NoYW5nZWQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy4jYWdlbnRzLnNldCh0aGlzLmNvcmUuYWdlbnRzKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAjYmluZENsaWVudFRvb2woXG4gICAgY2xpZW50VG9vbFdpdGhJbmplY3RvcjogRnJvbnRlbmRUb29sQ29uZmlnICYge1xuICAgICAgaW5qZWN0b3I6IEluamVjdG9yO1xuICAgIH0sXG4gICk6IEZyb250ZW5kVG9vbCB7XG4gICAgY29uc3QgeyBpbmplY3RvciwgaGFuZGxlciwgLi4uZnJvbnRlbmRDYW5kaWRhdGUgfSA9IGNsaWVudFRvb2xXaXRoSW5qZWN0b3I7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uZnJvbnRlbmRDYW5kaWRhdGUsXG4gICAgICBoYW5kbGVyOiAoYXJncykgPT4gcnVuSW5JbmplY3Rpb25Db250ZXh0KGluamVjdG9yLCAoKSA9PiBoYW5kbGVyKGFyZ3MpKSxcbiAgICB9O1xuICB9XG5cbiAgYWRkRnJvbnRlbmRUb29sKFxuICAgIGNsaWVudFRvb2xXaXRoSW5qZWN0b3I6IEZyb250ZW5kVG9vbENvbmZpZyAmIHtcbiAgICAgIGluamVjdG9yOiBJbmplY3RvcjtcbiAgICB9LFxuICApOiB2b2lkIHtcbiAgICBjb25zdCB0b29sID0gdGhpcy4jYmluZENsaWVudFRvb2woY2xpZW50VG9vbFdpdGhJbmplY3Rvcik7XG5cbiAgICB0aGlzLmNvcmUuYWRkVG9vbCh0b29sKTtcblxuICAgIHRoaXMuI2NsaWVudFRvb2xDYWxsUmVuZGVyQ29uZmlncy51cGRhdGUoKGN1cnJlbnQpID0+IFsuLi5jdXJyZW50LCBjbGllbnRUb29sV2l0aEluamVjdG9yXSk7XG4gIH1cblxuICBhZGRSZW5kZXJUb29sQ2FsbChyZW5kZXJDb25maWc6IFJlbmRlclRvb2xDYWxsQ29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy4jdG9vbENhbGxSZW5kZXJDb25maWdzLnVwZGF0ZSgoY3VycmVudCkgPT4gWy4uLmN1cnJlbnQsIHJlbmRlckNvbmZpZ10pO1xuICB9XG5cbiAgI2JpbmRIdW1hbkluVGhlTG9vcFRvb2woaHVtYW5JblRoZUxvb3BUb29sOiBIdW1hbkluVGhlTG9vcENvbmZpZyk6IEZyb250ZW5kVG9vbCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmh1bWFuSW5UaGVMb29wVG9vbCxcbiAgICAgIGhhbmRsZXI6IChhcmdzLCB0b29sQ2FsbCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy4jaGl0bC5vblJlc3VsdCh0b29sQ2FsbC5pZCwgaHVtYW5JblRoZUxvb3BUb29sLm5hbWUpO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgYWRkSHVtYW5JblRoZUxvb3AoaHVtYW5JblRoZUxvb3BUb29sOiBIdW1hbkluVGhlTG9vcENvbmZpZyk6IHZvaWQge1xuICAgIHRoaXMuI2h1bWFuSW5UaGVMb29wVG9vbFJlbmRlckNvbmZpZ3MudXBkYXRlKChjdXJyZW50KSA9PiBbLi4uY3VycmVudCwgaHVtYW5JblRoZUxvb3BUb29sXSk7XG5cbiAgICBjb25zdCB0b29sID0gdGhpcy4jYmluZEh1bWFuSW5UaGVMb29wVG9vbChodW1hbkluVGhlTG9vcFRvb2wpO1xuXG4gICAgdGhpcy5jb3JlLmFkZFRvb2wodG9vbCk7XG4gIH1cblxuICAjaXNTYW1lQWdlbnRJZDxUIGV4dGVuZHMgeyBhZ2VudElkPzogc3RyaW5nIH0+KHRhcmdldDogVCwgYWdlbnRJZD86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmIChhZ2VudElkKSB7XG4gICAgICByZXR1cm4gdGFyZ2V0LmFnZW50SWQgPT09IGFnZW50SWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICByZW1vdmVUb29sKHRvb2xOYW1lOiBzdHJpbmcsIGFnZW50SWQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNvcmUucmVtb3ZlVG9vbCh0b29sTmFtZSk7XG4gICAgdGhpcy4jY2xpZW50VG9vbENhbGxSZW5kZXJDb25maWdzLnVwZGF0ZSgoY3VycmVudCkgPT5cbiAgICAgIGN1cnJlbnQuZmlsdGVyKChyZW5kZXJDb25maWcpID0+IHJlbmRlckNvbmZpZy5uYW1lICE9PSB0b29sTmFtZSAmJiB0aGlzLiNpc1NhbWVBZ2VudElkKHJlbmRlckNvbmZpZywgYWdlbnRJZCkpLFxuICAgICk7XG4gICAgdGhpcy4jaHVtYW5JblRoZUxvb3BUb29sUmVuZGVyQ29uZmlncy51cGRhdGUoKGN1cnJlbnQpID0+XG4gICAgICBjdXJyZW50LmZpbHRlcigocmVuZGVyQ29uZmlnKSA9PiByZW5kZXJDb25maWcubmFtZSAhPT0gdG9vbE5hbWUgJiYgdGhpcy4jaXNTYW1lQWdlbnRJZChyZW5kZXJDb25maWcsIGFnZW50SWQpKSxcbiAgICApO1xuICAgIHRoaXMuI3Rvb2xDYWxsUmVuZGVyQ29uZmlncy51cGRhdGUoKGN1cnJlbnQpID0+XG4gICAgICBjdXJyZW50LmZpbHRlcigocmVuZGVyQ29uZmlnKSA9PiByZW5kZXJDb25maWcubmFtZSAhPT0gdG9vbE5hbWUgJiYgdGhpcy4jaXNTYW1lQWdlbnRJZChyZW5kZXJDb25maWcsIGFnZW50SWQpKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0QWdlbnQoYWdlbnRJZDogc3RyaW5nKTogQWJzdHJhY3RBZ2VudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuY29yZS5nZXRBZ2VudChhZ2VudElkKTtcbiAgfVxuXG4gIHVwZGF0ZVJ1bnRpbWUob3B0aW9uczoge1xuICAgIHJ1bnRpbWVVcmw/OiBzdHJpbmc7XG4gICAgaGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgcHJvcGVydGllcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIGFnZW50cz86IFJlY29yZDxzdHJpbmcsIEFic3RyYWN0QWdlbnQ+O1xuICB9KTogdm9pZCB7XG4gICAgaWYgKG9wdGlvbnMucnVudGltZVVybCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNvcmUuc2V0UnVudGltZVVybChvcHRpb25zLnJ1bnRpbWVVcmwpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5oZWFkZXJzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY29yZS5zZXRIZWFkZXJzKG9wdGlvbnMuaGVhZGVycyk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLnByb3BlcnRpZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jb3JlLnNldFByb3BlcnRpZXMob3B0aW9ucy5wcm9wZXJ0aWVzKTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuYWdlbnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY29yZS5zZXRBZ2VudHNfX3Vuc2FmZV9kZXZfb25seShvcHRpb25zLmFnZW50cyk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -57,11 +57,15 @@ export class RenderToolCalls {
|
|
|
57
57
|
buildHumanInTheLoopToolCall(toolCall) {
|
|
58
58
|
const args = partialJSONParse(toolCall.function.arguments);
|
|
59
59
|
const message = this.#getToolMessage(toolCall.id);
|
|
60
|
+
const respond = (result) => {
|
|
61
|
+
this.#hitl.addResult(toolCall.id, toolCall.function.name, result);
|
|
62
|
+
};
|
|
60
63
|
if (message) {
|
|
61
64
|
return {
|
|
62
65
|
args,
|
|
63
66
|
status: "complete",
|
|
64
67
|
result: message.content,
|
|
68
|
+
respond,
|
|
65
69
|
};
|
|
66
70
|
}
|
|
67
71
|
else if (this.isLoading()) {
|
|
@@ -69,6 +73,7 @@ export class RenderToolCalls {
|
|
|
69
73
|
args,
|
|
70
74
|
status: "in-progress",
|
|
71
75
|
result: undefined,
|
|
76
|
+
respond,
|
|
72
77
|
};
|
|
73
78
|
}
|
|
74
79
|
else {
|
|
@@ -76,15 +81,12 @@ export class RenderToolCalls {
|
|
|
76
81
|
args,
|
|
77
82
|
status: "executing",
|
|
78
83
|
result: undefined,
|
|
79
|
-
respond
|
|
80
|
-
this.#hitl.addResult(toolCall.id, toolCall.function.name, result);
|
|
81
|
-
},
|
|
84
|
+
respond,
|
|
82
85
|
};
|
|
83
86
|
}
|
|
84
87
|
}
|
|
85
88
|
#getToolMessage(toolCallId) {
|
|
86
|
-
|
|
87
|
-
return message;
|
|
89
|
+
return this.messages().find((m) => m.role === "tool" && m.toolCallId === toolCallId);
|
|
88
90
|
}
|
|
89
91
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RenderToolCalls, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
90
92
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RenderToolCalls, isStandalone: true, selector: "copilot-render-tool-calls", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: true, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
@@ -95,6 +97,14 @@ export class RenderToolCalls {
|
|
|
95
97
|
*ngComponentOutlet="renderConfig.config.component; inputs: { toolCall: buildToolCall(toolCall) }"
|
|
96
98
|
/>
|
|
97
99
|
}
|
|
100
|
+
@if (renderConfig && renderConfig.type === "humanInTheLoopTool" && renderConfig.config.component) {
|
|
101
|
+
<ng-container
|
|
102
|
+
*ngComponentOutlet="
|
|
103
|
+
renderConfig.config.component;
|
|
104
|
+
inputs: { toolCall: buildHumanInTheLoopToolCall(toolCall) }
|
|
105
|
+
"
|
|
106
|
+
/>
|
|
107
|
+
}
|
|
98
108
|
}
|
|
99
109
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }] });
|
|
100
110
|
}
|
|
@@ -112,8 +122,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
112
122
|
*ngComponentOutlet="renderConfig.config.component; inputs: { toolCall: buildToolCall(toolCall) }"
|
|
113
123
|
/>
|
|
114
124
|
}
|
|
125
|
+
@if (renderConfig && renderConfig.type === "humanInTheLoopTool" && renderConfig.config.component) {
|
|
126
|
+
<ng-container
|
|
127
|
+
*ngComponentOutlet="
|
|
128
|
+
renderConfig.config.component;
|
|
129
|
+
inputs: { toolCall: buildHumanInTheLoopToolCall(toolCall) }
|
|
130
|
+
"
|
|
131
|
+
/>
|
|
132
|
+
}
|
|
115
133
|
}
|
|
116
134
|
`,
|
|
117
135
|
}]
|
|
118
136
|
}] });
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLXRvb2wtY2FsbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3JlbmRlci10b29sLWNhbGxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBUTFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFnQ3JELE1BQU0sT0FBTyxlQUFlO0lBQ2pCLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMvQixPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBb0IsQ0FBQztJQUM3QyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBYSxDQUFDO0lBQ3ZDLFNBQVMsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFakMsWUFBWSxDQUFDLElBQVk7UUFJakMsTUFBTSxjQUFjLEdBQUksSUFBSSxDQUFDLE9BQU8sRUFBZ0MsQ0FBQyxPQUFPLENBQUM7UUFDN0UsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzNELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUNuRSxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsK0JBQStCLEVBQUUsQ0FBQztRQUUvRSxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUM3QixDQUFDLFNB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LFNBQVM7YUFDbEIsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTztnQkFDTCxJQUFJO2dCQUNKLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixNQUFNLEVBQUUsU0FBUztnQkFDakIsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ3BFLENBQUM7YUFDRixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsVUFBa0I7UUFDaEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBb0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxJQUFJLENBQUMsQ0FBQyxVQUFVLEtBQUssVUFBVSxDQUFDLENBQUM7UUFFaEgsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzt3R0FwR1UsZUFBZTs0RkFBZixlQUFlLGtlQVhoQjs7Ozs7Ozs7O0dBU1QsNERBVlMsaUJBQWlCOzs0RkFZaEIsZUFBZTtrQkFmM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7b0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7O0dBU1Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NvbXBvbmVudE91dGxldCB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBc3Npc3RhbnRNZXNzYWdlLCBNZXNzYWdlLCBUb29sQ2FsbCwgVG9vbE1lc3NhZ2UgfSBmcm9tIFwiQGFnLXVpL2NsaWVudFwiO1xuaW1wb3J0IHsgQ29waWxvdEtpdCB9IGZyb20gXCIuL2NvcGlsb3RraXRcIjtcbmltcG9ydCB7XG4gIEZyb250ZW5kVG9vbENvbmZpZyxcbiAgSHVtYW5JblRoZUxvb3BUb29sQ2FsbCxcbiAgSHVtYW5JblRoZUxvb3BDb25maWcsXG4gIEFuZ3VsYXJUb29sQ2FsbCxcbiAgUmVuZGVyVG9vbENhbGxDb25maWcsXG59IGZyb20gXCIuL3Rvb2xzXCI7XG5pbXBvcnQgeyBwYXJ0aWFsSlNPTlBhcnNlIH0gZnJvbSBcIkBjb3BpbG90a2l0bmV4dC9zaGFyZWRcIjtcbmltcG9ydCB7IEh1bWFuSW5UaGVMb29wIH0gZnJvbSBcIi4vaHVtYW4taW4tdGhlLWxvb3BcIjtcblxudHlwZSBSZW5kZXJlclRvb2xDYWxsSGFuZGxlciA9IHtcbiAgdHlwZTogXCJyZW5kZXJlclwiO1xuICBjb25maWc6IFJlbmRlclRvb2xDYWxsQ29uZmlnO1xufTtcbnR5cGUgQ2xpZW50VG9vbENhbGxIYW5kbGVyID0ge1xuICB0eXBlOiBcImNsaWVudFRvb2xcIjtcbiAgY29uZmlnOiBGcm9udGVuZFRvb2xDb25maWc7XG59O1xudHlwZSBIdW1hbkluVGhlTG9vcFRvb2xDYWxsSGFuZGxlciA9IHtcbiAgdHlwZTogXCJodW1hbkluVGhlTG9vcFRvb2xcIjtcbiAgY29uZmlnOiBIdW1hbkluVGhlTG9vcENvbmZpZztcbn07XG5cbnR5cGUgVG9vbENhbGxIYW5kbGVyID0gUmVuZGVyZXJUb29sQ2FsbEhhbmRsZXIgfCBDbGllbnRUb29sQ2FsbEhhbmRsZXIgfCBIdW1hbkluVGhlTG9vcFRvb2xDYWxsSGFuZGxlcjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImNvcGlsb3QtcmVuZGVyLXRvb2wtY2FsbHNcIixcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ29tcG9uZW50T3V0bGV0XSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAZm9yICh0b29sQ2FsbCBvZiBtZXNzYWdlKCkudG9vbENhbGxzID8/IFtdOyB0cmFjayB0b29sQ2FsbC5pZCkge1xuICAgICAgQGxldCByZW5kZXJDb25maWcgPSBwaWNrUmVuZGVyZXIodG9vbENhbGwuZnVuY3Rpb24ubmFtZSk7XG4gICAgICBAaWYgKHJlbmRlckNvbmZpZyAmJiByZW5kZXJDb25maWcudHlwZSAhPT0gXCJodW1hbkluVGhlTG9vcFRvb2xcIiAmJiByZW5kZXJDb25maWcuY29uZmlnLmNvbXBvbmVudCkge1xuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nQ29tcG9uZW50T3V0bGV0PVwicmVuZGVyQ29uZmlnLmNvbmZpZy5jb21wb25lbnQ7IGlucHV0czogeyB0b29sQ2FsbDogYnVpbGRUb29sQ2FsbCh0b29sQ2FsbCkgfVwiXG4gICAgICAgIC8+XG4gICAgICB9XG4gICAgfVxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBSZW5kZXJUb29sQ2FsbHMge1xuICByZWFkb25seSAjY29waWxvdEtpdCA9IGluamVjdChDb3BpbG90S2l0KTtcbiAgcmVhZG9ubHkgI2hpdGwgPSBpbmplY3QoSHVtYW5JblRoZUxvb3ApO1xuICByZWFkb25seSBtZXNzYWdlID0gaW5wdXQucmVxdWlyZWQ8QXNzaXN0YW50TWVzc2FnZT4oKTtcbiAgcmVhZG9ubHkgbWVzc2FnZXMgPSBpbnB1dC5yZXF1aXJlZDxNZXNzYWdlW10+KCk7XG4gIHJlYWRvbmx5IGlzTG9hZGluZyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgcGlja1JlbmRlcmVyKG5hbWU6IHN0cmluZyk6IFRvb2xDYWxsSGFuZGxlciB8IHVuZGVmaW5lZCB7XG4gICAgdHlwZSBBc3Npc3RhbnRNZXNzYWdlV2l0aEFnZW50ID0gQXNzaXN0YW50TWVzc2FnZSAmIHtcbiAgICAgIGFnZW50SWQ/OiBzdHJpbmc7XG4gICAgfTtcbiAgICBjb25zdCBtZXNzYWdlQWdlbnRJZCA9ICh0aGlzLm1lc3NhZ2UoKSBhcyBBc3Npc3RhbnRNZXNzYWdlV2l0aEFnZW50KS5hZ2VudElkO1xuICAgIGNvbnN0IHJlbmRlcmVycyA9IHRoaXMuI2NvcGlsb3RLaXQudG9vbENhbGxSZW5kZXJDb25maWdzKCk7XG4gICAgY29uc3QgY2xpZW50VG9vbHMgPSB0aGlzLiNjb3BpbG90S2l0LmNsaWVudFRvb2xDYWxsUmVuZGVyQ29uZmlncygpO1xuICAgIGNvbnN0IGh1bWFuSW5UaGVMb29wVG9vbHMgPSB0aGlzLiNjb3BpbG90S2l0Lmh1bWFuSW5UaGVMb29wVG9vbFJlbmRlckNvbmZpZ3MoKTtcblxuICAgIGNvbnN0IHJlbmRlcmVyID0gcmVuZGVyZXJzLmZpbmQoXG4gICAgICAoY2FuZGlkYXRlKSA9PlxuICAgICAgICBjYW5kaWRhdGUubmFtZSA9PT0gbmFtZSAmJiAoY2FuZGlkYXRlLmFnZW50SWQgPT09IHVuZGVmaW5lZCB8fCBjYW5kaWRhdGUuYWdlbnRJZCA9PT0gbWVzc2FnZUFnZW50SWQpLFxuICAgICk7XG5cbiAgICBpZiAocmVuZGVyZXIpIHJldHVybiB7IHR5cGU6IFwicmVuZGVyZXJcIiwgY29uZmlnOiByZW5kZXJlciB9O1xuXG4gICAgY29uc3QgY2xpZW50VG9vbCA9IGNsaWVudFRvb2xzLmZpbmQoXG4gICAgICAoY2FuZGlkYXRlKSA9PlxuICAgICAgICBjYW5kaWRhdGUubmFtZSA9PT0gbmFtZSAmJiAoY2FuZGlkYXRlLmFnZW50SWQgPT09IHVuZGVmaW5lZCB8fCBjYW5kaWRhdGUuYWdlbnRJZCA9PT0gbWVzc2FnZUFnZW50SWQpLFxuICAgICk7XG4gICAgaWYgKGNsaWVudFRvb2wpIHJldHVybiB7IHR5cGU6IFwiY2xpZW50VG9vbFwiLCBjb25maWc6IGNsaWVudFRvb2wgfTtcblxuICAgIGNvbnN0IGh1bWFuSW5UaGVMb29wVG9vbCA9IGh1bWFuSW5UaGVMb29wVG9vbHMuZmluZChcbiAgICAgIChjYW5kaWRhdGUpID0+XG4gICAgICAgIGNhbmRpZGF0ZS5uYW1lID09PSBuYW1lICYmIChjYW5kaWRhdGUuYWdlbnRJZCA9PT0gdW5kZWZpbmVkIHx8IGNhbmRpZGF0ZS5hZ2VudElkID09PSBtZXNzYWdlQWdlbnRJZCksXG4gICAgKTtcbiAgICBpZiAoaHVtYW5JblRoZUxvb3BUb29sKSByZXR1cm4geyB0eXBlOiBcImh1bWFuSW5UaGVMb29wVG9vbFwiLCBjb25maWc6IGh1bWFuSW5UaGVMb29wVG9vbCB9O1xuXG4gICAgY29uc3Qgc3RhclJlbmRlcmVyID0gcmVuZGVyZXJzLmZpbmQoKGNhbmRpZGF0ZSkgPT4gY2FuZGlkYXRlLm5hbWUgPT09IFwiKlwiKTtcbiAgICBpZiAoc3RhclJlbmRlcmVyKSByZXR1cm4geyB0eXBlOiBcInJlbmRlcmVyXCIsIGNvbmZpZzogc3RhclJlbmRlcmVyIH07XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkVG9vbENhbGw8QXJncyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+Pih0b29sQ2FsbDogVG9vbENhbGwpOiBBbmd1bGFyVG9vbENhbGw8QXJncz4ge1xuICAgIGNvbnN0IGFyZ3MgPSBwYXJ0aWFsSlNPTlBhcnNlKHRvb2xDYWxsLmZ1bmN0aW9uLmFyZ3VtZW50cyk7XG4gICAgY29uc3QgbWVzc2FnZSA9IHRoaXMuI2dldFRvb2xNZXNzYWdlKHRvb2xDYWxsLmlkKTtcblxuICAgIGlmIChtZXNzYWdlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhcmdzLFxuICAgICAgICBzdGF0dXM6IFwiY29tcGxldGVcIixcbiAgICAgICAgcmVzdWx0OiBtZXNzYWdlLmNvbnRlbnQsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc0xvYWRpbmcoKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYXJncyxcbiAgICAgICAgc3RhdHVzOiBcImluLXByb2dyZXNzXCIsXG4gICAgICAgIHJlc3VsdDogdW5kZWZpbmVkLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYXJncyxcbiAgICAgICAgc3RhdHVzOiBcImV4ZWN1dGluZ1wiLFxuICAgICAgICByZXN1bHQ6IHVuZGVmaW5lZCxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkSHVtYW5JblRoZUxvb3BUb29sQ2FsbDxBcmdzIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KFxuICAgIHRvb2xDYWxsOiBUb29sQ2FsbCxcbiAgKTogSHVtYW5JblRoZUxvb3BUb29sQ2FsbDxBcmdzPiB7XG4gICAgY29uc3QgYXJncyA9IHBhcnRpYWxKU09OUGFyc2UodG9vbENhbGwuZnVuY3Rpb24uYXJndW1lbnRzKTtcbiAgICBjb25zdCBtZXNzYWdlID0gdGhpcy4jZ2V0VG9vbE1lc3NhZ2UodG9vbENhbGwuaWQpO1xuXG4gICAgaWYgKG1lc3NhZ2UpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFyZ3MsXG4gICAgICAgIHN0YXR1czogXCJjb21wbGV0ZVwiLFxuICAgICAgICByZXN1bHQ6IG1lc3NhZ2UuY29udGVudCxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzTG9hZGluZygpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhcmdzLFxuICAgICAgICBzdGF0dXM6IFwiaW4tcHJvZ3Jlc3NcIixcbiAgICAgICAgcmVzdWx0OiB1bmRlZmluZWQsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhcmdzLFxuICAgICAgICBzdGF0dXM6IFwiZXhlY3V0aW5nXCIsXG4gICAgICAgIHJlc3VsdDogdW5kZWZpbmVkLFxuICAgICAgICByZXNwb25kOiAocmVzdWx0KSA9PiB7XG4gICAgICAgICAgdGhpcy4jaGl0bC5hZGRSZXN1bHQodG9vbENhbGwuaWQsIHRvb2xDYWxsLmZ1bmN0aW9uLm5hbWUsIHJlc3VsdCk7XG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gICNnZXRUb29sTWVzc2FnZSh0b29sQ2FsbElkOiBzdHJpbmcpOiBUb29sTWVzc2FnZSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgbWVzc2FnZSA9IHRoaXMubWVzc2FnZXMoKS5maW5kKChtKTogbSBpcyBUb29sTWVzc2FnZSA9PiBtLnJvbGUgPT09IFwidG9vbFwiICYmIG0udG9vbENhbGxJZCA9PT0gdG9vbENhbGxJZCk7XG5cbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfVxufVxuIl19
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLXRvb2wtY2FsbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3JlbmRlci10b29sLWNhbGxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBUTFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUF3Q3JELE1BQU0sT0FBTyxlQUFlO0lBQ2pCLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMvQixPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBb0IsQ0FBQztJQUM3QyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBYSxDQUFDO0lBQ3ZDLFNBQVMsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFakMsWUFBWSxDQUFDLElBQVk7UUFJakMsTUFBTSxjQUFjLEdBQUksSUFBSSxDQUFDLE9BQU8sRUFBZ0MsQ0FBQyxPQUFPLENBQUM7UUFDN0UsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzNELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUNuRSxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsK0JBQStCLEVBQUUsQ0FBQztRQUUvRSxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUM3QixDQUFDLFNB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VUFBVTtnQkFDbEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFRO2dCQUN4QixPQUFPO2FBQ1IsQ0FBQztRQUNKLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQzVCLE9BQU87Z0JBQ0wsSUFBSTtnQkFDSixNQUFNLEVBQUUsYUFBYTtnQkFDckIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLE9BQU87YUFDUixDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPO2dCQUNMLElBQUk7Z0JBQ0osTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixPQUFPO2FBQ1IsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLFVBQWtCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLElBQUksQ0FBQyxDQUFDLFVBQVUsS0FBSyxVQUFVLENBQUMsQ0FBQztJQUN2RixDQUFDO3dHQXJHVSxlQUFlOzRGQUFmLGVBQWUsa2VBbkJoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQlQsNERBbEJTLGlCQUFpQjs7NEZBb0JoQixlQUFlO2tCQXZCM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7b0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQlQ7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NvbXBvbmVudE91dGxldCB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBc3Npc3RhbnRNZXNzYWdlLCBNZXNzYWdlLCBUb29sQ2FsbCB9IGZyb20gXCJAYWctdWkvY2xpZW50XCI7XG5pbXBvcnQgeyBDb3BpbG90S2l0IH0gZnJvbSBcIi4vY29waWxvdGtpdFwiO1xuaW1wb3J0IHtcbiAgRnJvbnRlbmRUb29sQ29uZmlnLFxuICBIdW1hbkluVGhlTG9vcFRvb2xDYWxsLFxuICBIdW1hbkluVGhlTG9vcENvbmZpZyxcbiAgQW5ndWxhclRvb2xDYWxsLFxuICBSZW5kZXJUb29sQ2FsbENvbmZpZyxcbn0gZnJvbSBcIi4vdG9vbHNcIjtcbmltcG9ydCB7IHBhcnRpYWxKU09OUGFyc2UgfSBmcm9tIFwiQGNvcGlsb3RraXRuZXh0L3NoYXJlZFwiO1xuaW1wb3J0IHsgSHVtYW5JblRoZUxvb3AgfSBmcm9tIFwiLi9odW1hbi1pbi10aGUtbG9vcFwiO1xuXG50eXBlIFJlbmRlcmVyVG9vbENhbGxIYW5kbGVyID0ge1xuICB0eXBlOiBcInJlbmRlcmVyXCI7XG4gIGNvbmZpZzogUmVuZGVyVG9vbENhbGxDb25maWc7XG59O1xudHlwZSBDbGllbnRUb29sQ2FsbEhhbmRsZXIgPSB7XG4gIHR5cGU6IFwiY2xpZW50VG9vbFwiO1xuICBjb25maWc6IEZyb250ZW5kVG9vbENvbmZpZztcbn07XG50eXBlIEh1bWFuSW5UaGVMb29wVG9vbENhbGxIYW5kbGVyID0ge1xuICB0eXBlOiBcImh1bWFuSW5UaGVMb29wVG9vbFwiO1xuICBjb25maWc6IEh1bWFuSW5UaGVMb29wQ29uZmlnO1xufTtcblxudHlwZSBUb29sQ2FsbEhhbmRsZXIgPSBSZW5kZXJlclRvb2xDYWxsSGFuZGxlciB8IENsaWVudFRvb2xDYWxsSGFuZGxlciB8IEh1bWFuSW5UaGVMb29wVG9vbENhbGxIYW5kbGVyO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiY29waWxvdC1yZW5kZXItdG9vbC1jYWxsc1wiLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdDb21wb25lbnRPdXRsZXRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBmb3IgKHRvb2xDYWxsIG9mIG1lc3NhZ2UoKS50b29sQ2FsbHMgPz8gW107IHRyYWNrIHRvb2xDYWxsLmlkKSB7XG4gICAgICBAbGV0IHJlbmRlckNvbmZpZyA9IHBpY2tSZW5kZXJlcih0b29sQ2FsbC5mdW5jdGlvbi5uYW1lKTtcbiAgICAgIEBpZiAocmVuZGVyQ29uZmlnICYmIHJlbmRlckNvbmZpZy50eXBlICE9PSBcImh1bWFuSW5UaGVMb29wVG9vbFwiICYmIHJlbmRlckNvbmZpZy5jb25maWcuY29tcG9uZW50KSB7XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJyZW5kZXJDb25maWcuY29uZmlnLmNvbXBvbmVudDsgaW5wdXRzOiB7IHRvb2xDYWxsOiBidWlsZFRvb2xDYWxsKHRvb2xDYWxsKSB9XCJcbiAgICAgICAgLz5cbiAgICAgIH1cbiAgICAgIEBpZiAocmVuZGVyQ29uZmlnICYmIHJlbmRlckNvbmZpZy50eXBlID09PSBcImh1bWFuSW5UaGVMb29wVG9vbFwiICYmIHJlbmRlckNvbmZpZy5jb25maWcuY29tcG9uZW50KSB7XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJcbiAgICAgICAgICAgIHJlbmRlckNvbmZpZy5jb25maWcuY29tcG9uZW50O1xuICAgICAgICAgICAgaW5wdXRzOiB7IHRvb2xDYWxsOiBidWlsZEh1bWFuSW5UaGVMb29wVG9vbENhbGwodG9vbENhbGwpIH1cbiAgICAgICAgICBcIlxuICAgICAgICAvPlxuICAgICAgfVxuICAgIH1cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgUmVuZGVyVG9vbENhbGxzIHtcbiAgcmVhZG9ubHkgI2NvcGlsb3RLaXQgPSBpbmplY3QoQ29waWxvdEtpdCk7XG4gIHJlYWRvbmx5ICNoaXRsID0gaW5qZWN0KEh1bWFuSW5UaGVMb29wKTtcbiAgcmVhZG9ubHkgbWVzc2FnZSA9IGlucHV0LnJlcXVpcmVkPEFzc2lzdGFudE1lc3NhZ2U+KCk7XG4gIHJlYWRvbmx5IG1lc3NhZ2VzID0gaW5wdXQucmVxdWlyZWQ8TWVzc2FnZVtdPigpO1xuICByZWFkb25seSBpc0xvYWRpbmcgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHJvdGVjdGVkIHBpY2tSZW5kZXJlcihuYW1lOiBzdHJpbmcpOiBUb29sQ2FsbEhhbmRsZXIgfCB1bmRlZmluZWQge1xuICAgIHR5cGUgQXNzaXN0YW50TWVzc2FnZVdpdGhBZ2VudCA9IEFzc2lzdGFudE1lc3NhZ2UgJiB7XG4gICAgICBhZ2VudElkPzogc3RyaW5nO1xuICAgIH07XG4gICAgY29uc3QgbWVzc2FnZUFnZW50SWQgPSAodGhpcy5tZXNzYWdlKCkgYXMgQXNzaXN0YW50TWVzc2FnZVdpdGhBZ2VudCkuYWdlbnRJZDtcbiAgICBjb25zdCByZW5kZXJlcnMgPSB0aGlzLiNjb3BpbG90S2l0LnRvb2xDYWxsUmVuZGVyQ29uZmlncygpO1xuICAgIGNvbnN0IGNsaWVudFRvb2xzID0gdGhpcy4jY29waWxvdEtpdC5jbGllbnRUb29sQ2FsbFJlbmRlckNvbmZpZ3MoKTtcbiAgICBjb25zdCBodW1hbkluVGhlTG9vcFRvb2xzID0gdGhpcy4jY29waWxvdEtpdC5odW1hbkluVGhlTG9vcFRvb2xSZW5kZXJDb25maWdzKCk7XG5cbiAgICBjb25zdCByZW5kZXJlciA9IHJlbmRlcmVycy5maW5kKFxuICAgICAgKGNhbmRpZGF0ZSkgPT5cbiAgICAgICAgY2FuZGlkYXRlLm5hbWUgPT09IG5hbWUgJiYgKGNhbmRpZGF0ZS5hZ2VudElkID09PSB1bmRlZmluZWQgfHwgY2FuZGlkYXRlLmFnZW50SWQgPT09IG1lc3NhZ2VBZ2VudElkKSxcbiAgICApO1xuXG4gICAgaWYgKHJlbmRlcmVyKSByZXR1cm4geyB0eXBlOiBcInJlbmRlcmVyXCIsIGNvbmZpZzogcmVuZGVyZXIgfTtcblxuICAgIGNvbnN0IGNsaWVudFRvb2wgPSBjbGllbnRUb29scy5maW5kKFxuICAgICAgKGNhbmRpZGF0ZSkgPT5cbiAgICAgICAgY2FuZGlkYXRlLm5hbWUgPT09IG5hbWUgJiYgKGNhbmRpZGF0ZS5hZ2VudElkID09PSB1bmRlZmluZWQgfHwgY2FuZGlkYXRlLmFnZW50SWQgPT09IG1lc3NhZ2VBZ2VudElkKSxcbiAgICApO1xuICAgIGlmIChjbGllbnRUb29sKSByZXR1cm4geyB0eXBlOiBcImNsaWVudFRvb2xcIiwgY29uZmlnOiBjbGllbnRUb29sIH07XG5cbiAgICBjb25zdCBodW1hbkluVGhlTG9vcFRvb2wgPSBodW1hbkluVGhlTG9vcFRvb2xzLmZpbmQoXG4gICAgICAoY2FuZGlkYXRlKSA9PlxuICAgICAgICBjYW5kaWRhdGUubmFtZSA9PT0gbmFtZSAmJiAoY2FuZGlkYXRlLmFnZW50SWQgPT09IHVuZGVmaW5lZCB8fCBjYW5kaWRhdGUuYWdlbnRJZCA9PT0gbWVzc2FnZUFnZW50SWQpLFxuICAgICk7XG4gICAgaWYgKGh1bWFuSW5UaGVMb29wVG9vbCkgcmV0dXJuIHsgdHlwZTogXCJodW1hbkluVGhlTG9vcFRvb2xcIiwgY29uZmlnOiBodW1hbkluVGhlTG9vcFRvb2wgfTtcblxuICAgIGNvbnN0IHN0YXJSZW5kZXJlciA9IHJlbmRlcmVycy5maW5kKChjYW5kaWRhdGUpID0+IGNhbmRpZGF0ZS5uYW1lID09PSBcIipcIik7XG4gICAgaWYgKHN0YXJSZW5kZXJlcikgcmV0dXJuIHsgdHlwZTogXCJyZW5kZXJlclwiLCBjb25maWc6IHN0YXJSZW5kZXJlciB9O1xuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZFRvb2xDYWxsPEFyZ3MgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4odG9vbENhbGw6IFRvb2xDYWxsKTogQW5ndWxhclRvb2xDYWxsPEFyZ3M+IHtcbiAgICBjb25zdCBhcmdzID0gcGFydGlhbEpTT05QYXJzZSh0b29sQ2FsbC5mdW5jdGlvbi5hcmd1bWVudHMpO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLiNnZXRUb29sTWVzc2FnZSh0b29sQ2FsbC5pZCk7XG5cbiAgICBpZiAobWVzc2FnZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYXJncyxcbiAgICAgICAgc3RhdHVzOiBcImNvbXBsZXRlXCIsXG4gICAgICAgIHJlc3VsdDogbWVzc2FnZS5jb250ZW50ISxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzTG9hZGluZygpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhcmdzLFxuICAgICAgICBzdGF0dXM6IFwiaW4tcHJvZ3Jlc3NcIixcbiAgICAgICAgcmVzdWx0OiB1bmRlZmluZWQsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhcmdzLFxuICAgICAgICBzdGF0dXM6IFwiZXhlY3V0aW5nXCIsXG4gICAgICAgIHJlc3VsdDogdW5kZWZpbmVkLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRIdW1hbkluVGhlTG9vcFRvb2xDYWxsPEFyZ3MgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oXG4gICAgdG9vbENhbGw6IFRvb2xDYWxsLFxuICApOiBIdW1hbkluVGhlTG9vcFRvb2xDYWxsPEFyZ3M+IHtcbiAgICBjb25zdCBhcmdzID0gcGFydGlhbEpTT05QYXJzZSh0b29sQ2FsbC5mdW5jdGlvbi5hcmd1bWVudHMpO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLiNnZXRUb29sTWVzc2FnZSh0b29sQ2FsbC5pZCk7XG4gICAgY29uc3QgcmVzcG9uZCA9IChyZXN1bHQ6IHVua25vd24pID0+IHtcbiAgICAgIHRoaXMuI2hpdGwuYWRkUmVzdWx0KHRvb2xDYWxsLmlkLCB0b29sQ2FsbC5mdW5jdGlvbi5uYW1lLCByZXN1bHQpO1xuICAgIH07XG5cbiAgICBpZiAobWVzc2FnZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYXJncyxcbiAgICAgICAgc3RhdHVzOiBcImNvbXBsZXRlXCIsXG4gICAgICAgIHJlc3VsdDogbWVzc2FnZS5jb250ZW50ISxcbiAgICAgICAgcmVzcG9uZCxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzTG9hZGluZygpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhcmdzLFxuICAgICAgICBzdGF0dXM6IFwiaW4tcHJvZ3Jlc3NcIixcbiAgICAgICAgcmVzdWx0OiB1bmRlZmluZWQsXG4gICAgICAgIHJlc3BvbmQsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhcmdzLFxuICAgICAgICBzdGF0dXM6IFwiZXhlY3V0aW5nXCIsXG4gICAgICAgIHJlc3VsdDogdW5kZWZpbmVkLFxuICAgICAgICByZXNwb25kLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICAjZ2V0VG9vbE1lc3NhZ2UodG9vbENhbGxJZDogc3RyaW5nKTogTWVzc2FnZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMubWVzc2FnZXMoKS5maW5kKChtKSA9PiBtLnJvbGUgPT09IFwidG9vbFwiICYmIG0udG9vbENhbGxJZCA9PT0gdG9vbENhbGxJZCk7XG4gIH1cbn1cbiJdfQ==
|